Ignore:
Timestamp:
Dec 15, 2016, 5:16:42 PM (9 years ago)
Author:
Rob Schluntz <rschlunt@…>
Branches:
ADT, aaron-thesis, arm-eh, ast-experimental, cleanup-dtors, deferred_resn, demangler, enum, forall-pointer-decay, jacob/cs343-translation, jenkins-sandbox, master, new-ast, new-ast-unique-expr, new-env, no_list, persistent-indexer, pthread-emulation, qualifiedEnum, resolv-new, with_gc
Children:
43385ca, f7ff3fb
Parents:
5802a4f (diff), 596f987b (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 tuples

Conflicts:

src/ResolvExpr/CommonType.cc
src/tests/.expect/32/extension.txt
src/tests/.expect/32/gccExtensions.txt
src/tests/.expect/64/declarationSpecifier.txt
src/tests/.expect/64/extension.txt
src/tests/.expect/64/gccExtensions.txt
src/tests/.expect/castError.txt
src/tests/Makefile.am

File:
1 edited

Legend:

Unmodified
Added
Removed
  • src/Parser/parser.cc

    r5802a4f r66f8528  
    145145     SIGNED = 277,
    146146     UNSIGNED = 278,
    147      VALIST = 279,
    148      BOOL = 280,
    149      COMPLEX = 281,
    150      IMAGINARY = 282,
    151      TYPEOF = 283,
    152      LABEL = 284,
    153      ENUM = 285,
    154      STRUCT = 286,
    155      UNION = 287,
    156      OTYPE = 288,
    157      FTYPE = 289,
    158      DTYPE = 290,
    159      TRAIT = 291,
    160      SIZEOF = 292,
    161      OFFSETOF = 293,
    162      ATTRIBUTE = 294,
    163      EXTENSION = 295,
    164      IF = 296,
    165      ELSE = 297,
    166      SWITCH = 298,
    167      CASE = 299,
    168      DEFAULT = 300,
    169      DO = 301,
    170      WHILE = 302,
    171      FOR = 303,
    172      BREAK = 304,
    173      CONTINUE = 305,
    174      GOTO = 306,
    175      RETURN = 307,
    176      CHOOSE = 308,
    177      DISABLE = 309,
    178      ENABLE = 310,
    179      FALLTHRU = 311,
    180      TRY = 312,
    181      CATCH = 313,
    182      CATCHRESUME = 314,
    183      FINALLY = 315,
    184      THROW = 316,
    185      THROWRESUME = 317,
    186      AT = 318,
    187      ASM = 319,
    188      ALIGNAS = 320,
    189      ALIGNOF = 321,
    190      ATOMIC = 322,
    191      GENERIC = 323,
    192      NORETURN = 324,
    193      STATICASSERT = 325,
    194      THREADLOCAL = 326,
    195      IDENTIFIER = 327,
    196      QUOTED_IDENTIFIER = 328,
    197      TYPEDEFname = 329,
    198      TYPEGENname = 330,
    199      ATTR_IDENTIFIER = 331,
    200      ATTR_TYPEDEFname = 332,
    201      ATTR_TYPEGENname = 333,
    202      INTEGERconstant = 334,
    203      CHARACTERconstant = 335,
    204      STRINGliteral = 336,
    205      REALDECIMALconstant = 337,
    206      REALFRACTIONconstant = 338,
    207      FLOATINGconstant = 339,
    208      ZERO = 340,
    209      ONE = 341,
    210      ARROW = 342,
    211      ICR = 343,
    212      DECR = 344,
    213      LS = 345,
    214      RS = 346,
    215      LE = 347,
    216      GE = 348,
    217      EQ = 349,
    218      NE = 350,
    219      ANDAND = 351,
    220      OROR = 352,
    221      ELLIPSIS = 353,
    222      MULTassign = 354,
    223      DIVassign = 355,
    224      MODassign = 356,
    225      PLUSassign = 357,
    226      MINUSassign = 358,
    227      LSassign = 359,
    228      RSassign = 360,
    229      ANDassign = 361,
    230      ERassign = 362,
    231      ORassign = 363,
    232      ATassign = 364,
    233      THEN = 365
     147     ZERO_T = 279,
     148     ONE_T = 280,
     149     VALIST = 281,
     150     BOOL = 282,
     151     COMPLEX = 283,
     152     IMAGINARY = 284,
     153     TYPEOF = 285,
     154     LABEL = 286,
     155     ENUM = 287,
     156     STRUCT = 288,
     157     UNION = 289,
     158     OTYPE = 290,
     159     FTYPE = 291,
     160     DTYPE = 292,
     161     TRAIT = 293,
     162     SIZEOF = 294,
     163     OFFSETOF = 295,
     164     ATTRIBUTE = 296,
     165     EXTENSION = 297,
     166     IF = 298,
     167     ELSE = 299,
     168     SWITCH = 300,
     169     CASE = 301,
     170     DEFAULT = 302,
     171     DO = 303,
     172     WHILE = 304,
     173     FOR = 305,
     174     BREAK = 306,
     175     CONTINUE = 307,
     176     GOTO = 308,
     177     RETURN = 309,
     178     CHOOSE = 310,
     179     DISABLE = 311,
     180     ENABLE = 312,
     181     FALLTHRU = 313,
     182     TRY = 314,
     183     CATCH = 315,
     184     CATCHRESUME = 316,
     185     FINALLY = 317,
     186     THROW = 318,
     187     THROWRESUME = 319,
     188     AT = 320,
     189     ASM = 321,
     190     ALIGNAS = 322,
     191     ALIGNOF = 323,
     192     ATOMIC = 324,
     193     GENERIC = 325,
     194     NORETURN = 326,
     195     STATICASSERT = 327,
     196     THREADLOCAL = 328,
     197     IDENTIFIER = 329,
     198     QUOTED_IDENTIFIER = 330,
     199     TYPEDEFname = 331,
     200     TYPEGENname = 332,
     201     ATTR_IDENTIFIER = 333,
     202     ATTR_TYPEDEFname = 334,
     203     ATTR_TYPEGENname = 335,
     204     INTEGERconstant = 336,
     205     CHARACTERconstant = 337,
     206     STRINGliteral = 338,
     207     REALDECIMALconstant = 339,
     208     REALFRACTIONconstant = 340,
     209     FLOATINGconstant = 341,
     210     ZERO = 342,
     211     ONE = 343,
     212     ARROW = 344,
     213     ICR = 345,
     214     DECR = 346,
     215     LS = 347,
     216     RS = 348,
     217     LE = 349,
     218     GE = 350,
     219     EQ = 351,
     220     NE = 352,
     221     ANDAND = 353,
     222     OROR = 354,
     223     ELLIPSIS = 355,
     224     MULTassign = 356,
     225     DIVassign = 357,
     226     MODassign = 358,
     227     PLUSassign = 359,
     228     MINUSassign = 360,
     229     LSassign = 361,
     230     RSassign = 362,
     231     ANDassign = 363,
     232     ERassign = 364,
     233     ORassign = 365,
     234     ATassign = 366,
     235     THEN = 367
    234236   };
    235237#endif
     
    256258#define SIGNED 277
    257259#define UNSIGNED 278
    258 #define VALIST 279
    259 #define BOOL 280
    260 #define COMPLEX 281
    261 #define IMAGINARY 282
    262 #define TYPEOF 283
    263 #define LABEL 284
    264 #define ENUM 285
    265 #define STRUCT 286
    266 #define UNION 287
    267 #define OTYPE 288
    268 #define FTYPE 289
    269 #define DTYPE 290
    270 #define TRAIT 291
    271 #define SIZEOF 292
    272 #define OFFSETOF 293
    273 #define ATTRIBUTE 294
    274 #define EXTENSION 295
    275 #define IF 296
    276 #define ELSE 297
    277 #define SWITCH 298
    278 #define CASE 299
    279 #define DEFAULT 300
    280 #define DO 301
    281 #define WHILE 302
    282 #define FOR 303
    283 #define BREAK 304
    284 #define CONTINUE 305
    285 #define GOTO 306
    286 #define RETURN 307
    287 #define CHOOSE 308
    288 #define DISABLE 309
    289 #define ENABLE 310
    290 #define FALLTHRU 311
    291 #define TRY 312
    292 #define CATCH 313
    293 #define CATCHRESUME 314
    294 #define FINALLY 315
    295 #define THROW 316
    296 #define THROWRESUME 317
    297 #define AT 318
    298 #define ASM 319
    299 #define ALIGNAS 320
    300 #define ALIGNOF 321
    301 #define ATOMIC 322
    302 #define GENERIC 323
    303 #define NORETURN 324
    304 #define STATICASSERT 325
    305 #define THREADLOCAL 326
    306 #define IDENTIFIER 327
    307 #define QUOTED_IDENTIFIER 328
    308 #define TYPEDEFname 329
    309 #define TYPEGENname 330
    310 #define ATTR_IDENTIFIER 331
    311 #define ATTR_TYPEDEFname 332
    312 #define ATTR_TYPEGENname 333
    313 #define INTEGERconstant 334
    314 #define CHARACTERconstant 335
    315 #define STRINGliteral 336
    316 #define REALDECIMALconstant 337
    317 #define REALFRACTIONconstant 338
    318 #define FLOATINGconstant 339
    319 #define ZERO 340
    320 #define ONE 341
    321 #define ARROW 342
    322 #define ICR 343
    323 #define DECR 344
    324 #define LS 345
    325 #define RS 346
    326 #define LE 347
    327 #define GE 348
    328 #define EQ 349
    329 #define NE 350
    330 #define ANDAND 351
    331 #define OROR 352
    332 #define ELLIPSIS 353
    333 #define MULTassign 354
    334 #define DIVassign 355
    335 #define MODassign 356
    336 #define PLUSassign 357
    337 #define MINUSassign 358
    338 #define LSassign 359
    339 #define RSassign 360
    340 #define ANDassign 361
    341 #define ERassign 362
    342 #define ORassign 363
    343 #define ATassign 364
    344 #define THEN 365
     260#define ZERO_T 279
     261#define ONE_T 280
     262#define VALIST 281
     263#define BOOL 282
     264#define COMPLEX 283
     265#define IMAGINARY 284
     266#define TYPEOF 285
     267#define LABEL 286
     268#define ENUM 287
     269#define STRUCT 288
     270#define UNION 289
     271#define OTYPE 290
     272#define FTYPE 291
     273#define DTYPE 292
     274#define TRAIT 293
     275#define SIZEOF 294
     276#define OFFSETOF 295
     277#define ATTRIBUTE 296
     278#define EXTENSION 297
     279#define IF 298
     280#define ELSE 299
     281#define SWITCH 300
     282#define CASE 301
     283#define DEFAULT 302
     284#define DO 303
     285#define WHILE 304
     286#define FOR 305
     287#define BREAK 306
     288#define CONTINUE 307
     289#define GOTO 308
     290#define RETURN 309
     291#define CHOOSE 310
     292#define DISABLE 311
     293#define ENABLE 312
     294#define FALLTHRU 313
     295#define TRY 314
     296#define CATCH 315
     297#define CATCHRESUME 316
     298#define FINALLY 317
     299#define THROW 318
     300#define THROWRESUME 319
     301#define AT 320
     302#define ASM 321
     303#define ALIGNAS 322
     304#define ALIGNOF 323
     305#define ATOMIC 324
     306#define GENERIC 325
     307#define NORETURN 326
     308#define STATICASSERT 327
     309#define THREADLOCAL 328
     310#define IDENTIFIER 329
     311#define QUOTED_IDENTIFIER 330
     312#define TYPEDEFname 331
     313#define TYPEGENname 332
     314#define ATTR_IDENTIFIER 333
     315#define ATTR_TYPEDEFname 334
     316#define ATTR_TYPEGENname 335
     317#define INTEGERconstant 336
     318#define CHARACTERconstant 337
     319#define STRINGliteral 338
     320#define REALDECIMALconstant 339
     321#define REALFRACTIONconstant 340
     322#define FLOATINGconstant 341
     323#define ZERO 342
     324#define ONE 343
     325#define ARROW 344
     326#define ICR 345
     327#define DECR 346
     328#define LS 347
     329#define RS 348
     330#define LE 349
     331#define GE 350
     332#define EQ 351
     333#define NE 352
     334#define ANDAND 353
     335#define OROR 354
     336#define ELLIPSIS 355
     337#define MULTassign 356
     338#define DIVassign 357
     339#define MODassign 358
     340#define PLUSassign 359
     341#define MINUSassign 360
     342#define LSassign 361
     343#define RSassign 362
     344#define ANDassign 363
     345#define ERassign 364
     346#define ORassign 365
     347#define ATassign 366
     348#define THEN 367
    345349
    346350
     
    372376
    373377/* Line 293 of yacc.c  */
    374 #line 375 "Parser/parser.cc"
     378#line 379 "Parser/parser.cc"
    375379} YYSTYPE;
    376380# define YYSTYPE_IS_TRIVIAL 1
     
    384388
    385389/* Line 343 of yacc.c  */
    386 #line 387 "Parser/parser.cc"
     390#line 391 "Parser/parser.cc"
    387391
    388392#ifdef short
     
    601605
    602606/* YYFINAL -- State number of the termination state.  */
    603 #define YYFINAL  249
     607#define YYFINAL  251
    604608/* YYLAST -- Last index in YYTABLE.  */
    605 #define YYLAST   10266
     609#define YYLAST   10624
    606610
    607611/* YYNTOKENS -- Number of terminals.  */
    608 #define YYNTOKENS  135
     612#define YYNTOKENS  137
    609613/* YYNNTS -- Number of nonterminals.  */
    610614#define YYNNTS  243
    611615/* YYNRULES -- Number of rules.  */
    612 #define YYNRULES  755
     616#define YYNRULES  757
    613617/* YYNRULES -- Number of states.  */
    614 #define YYNSTATES  1538
     618#define YYNSTATES  1540
    615619
    616620/* YYTRANSLATE(YYLEX) -- Bison symbol number corresponding to YYLEX.  */
    617621#define YYUNDEFTOK  2
    618 #define YYMAXUTOK   365
     622#define YYMAXUTOK   367
    619623
    620624#define YYTRANSLATE(YYX)                                                \
     
    627631       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
    628632       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
    629        2,     2,     2,   123,     2,     2,     2,   126,   120,     2,
    630      111,   112,   119,   121,   118,   122,   115,   125,     2,     2,
    631        2,     2,     2,     2,     2,     2,     2,     2,   132,   134,
    632      127,   133,   128,   131,     2,     2,     2,     2,     2,     2,
     633       2,     2,     2,   125,     2,     2,     2,   128,   122,     2,
     634     113,   114,   121,   123,   120,   124,   117,   127,     2,     2,
     635       2,     2,     2,     2,     2,     2,     2,     2,   134,   136,
     636     129,   135,   130,   133,     2,     2,     2,     2,     2,     2,
    633637       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
    634638       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
    635        2,   113,     2,   114,   129,     2,     2,     2,     2,     2,
     639       2,   115,     2,   116,   131,     2,     2,     2,     2,     2,
    636640       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
    637641       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
    638        2,     2,     2,   116,   130,   117,   124,     2,     2,     2,
     642       2,     2,     2,   118,   132,   119,   126,     2,     2,     2,
    639643       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
    640644       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
     
    660664      85,    86,    87,    88,    89,    90,    91,    92,    93,    94,
    661665      95,    96,    97,    98,    99,   100,   101,   102,   103,   104,
    662      105,   106,   107,   108,   109,   110
     666     105,   106,   107,   108,   109,   110,   111,   112
    663667};
    664668
     
    701705    1119,  1125,  1127,  1130,  1134,  1136,  1139,  1141,  1143,  1145,
    702706    1147,  1149,  1151,  1153,  1155,  1157,  1159,  1161,  1163,  1165,
    703     1167,  1169,  1171,  1173,  1175,  1177,  1179,  1181,  1183,  1186,
    704     1189,  1193,  1197,  1199,  1203,  1205,  1208,  1211,  1214,  1219,
    705     1224,  1229,  1234,  1236,  1239,  1242,  1246,  1248,  1251,  1254,
    706     1256,  1259,  1262,  1266,  1268,  1271,  1274,  1276,  1278,  1283,
    707     1286,  1287,  1294,  1302,  1305,  1308,  1311,  1312,  1315,  1318,
    708     1322,  1325,  1329,  1331,  1334,  1338,  1341,  1344,  1349,  1350,
    709     1352,  1355,  1358,  1360,  1361,  1363,  1366,  1369,  1375,  1378,
    710     1379,  1387,  1390,  1395,  1396,  1399,  1400,  1402,  1404,  1406,
    711     1412,  1418,  1424,  1426,  1432,  1438,  1448,  1450,  1456,  1457,
    712     1459,  1461,  1467,  1469,  1471,  1477,  1483,  1485,  1489,  1493,
    713     1498,  1500,  1502,  1504,  1506,  1509,  1511,  1515,  1519,  1521,
    714     1524,  1526,  1530,  1532,  1534,  1536,  1538,  1540,  1542,  1544,
    715     1546,  1548,  1550,  1552,  1555,  1557,  1559,  1561,  1564,  1565,
    716     1568,  1571,  1573,  1578,  1579,  1581,  1584,  1588,  1593,  1596,
    717     1599,  1601,  1604,  1607,  1613,  1619,  1627,  1634,  1636,  1639,
    718     1642,  1646,  1648,  1651,  1654,  1659,  1662,  1667,  1668,  1673,
    719     1676,  1678,  1680,  1682,  1683,  1686,  1692,  1698,  1712,  1714,
    720     1716,  1720,  1724,  1727,  1731,  1735,  1738,  1743,  1745,  1752,
    721     1762,  1763,  1775,  1777,  1781,  1785,  1789,  1791,  1793,  1799,
    722     1802,  1808,  1809,  1811,  1813,  1817,  1818,  1820,  1822,  1824,
    723     1826,  1827,  1834,  1837,  1839,  1842,  1847,  1850,  1854,  1858,
    724     1862,  1867,  1873,  1879,  1885,  1892,  1894,  1896,  1898,  1902,
    725     1903,  1909,  1910,  1912,  1914,  1917,  1924,  1926,  1930,  1931,
    726     1933,  1938,  1940,  1942,  1944,  1946,  1949,  1951,  1954,  1957,
    727     1959,  1963,  1966,  1970,  1974,  1977,  1982,  1987,  1991,  2000,
    728     2004,  2007,  2009,  2012,  2019,  2028,  2032,  2035,  2039,  2043,
    729     2048,  2053,  2057,  2059,  2061,  2063,  2068,  2075,  2079,  2082,
    730     2086,  2090,  2095,  2100,  2104,  2107,  2109,  2112,  2115,  2117,
    731     2121,  2124,  2128,  2132,  2135,  2140,  2145,  2149,  2156,  2165,
    732     2169,  2172,  2174,  2177,  2180,  2183,  2187,  2191,  2194,  2199,
    733     2204,  2208,  2215,  2224,  2228,  2231,  2233,  2236,  2239,  2241,
    734     2243,  2246,  2250,  2254,  2257,  2262,  2269,  2278,  2280,  2283,
    735     2286,  2288,  2291,  2294,  2298,  2302,  2304,  2309,  2314,  2318,
    736     2324,  2333,  2337,  2340,  2344,  2346,  2352,  2358,  2365,  2372,
    737     2374,  2377,  2380,  2382,  2385,  2388,  2392,  2396,  2398,  2403,
    738     2408,  2412,  2418,  2427,  2431,  2433,  2436,  2438,  2441,  2448,
    739     2454,  2461,  2469,  2477,  2479,  2482,  2485,  2487,  2490,  2493,
    740     2497,  2501,  2503,  2508,  2513,  2517,  2526,  2530,  2532,  2534,
    741     2537,  2539,  2541,  2544,  2548,  2551,  2555,  2558,  2562,  2566,
    742     2569,  2574,  2578,  2581,  2585,  2588,  2593,  2597,  2600,  2607,
    743     2614,  2621,  2629,  2631,  2634,  2636,  2638,  2640,  2643,  2647,
    744     2650,  2654,  2657,  2661,  2665,  2670,  2673,  2677,  2682,  2685,
    745     2691,  2698,  2705,  2706,  2708,  2709
     707    1167,  1169,  1171,  1173,  1175,  1177,  1179,  1181,  1183,  1185,
     708    1187,  1190,  1193,  1197,  1201,  1203,  1207,  1209,  1212,  1215,
     709    1218,  1223,  1228,  1233,  1238,  1240,  1243,  1246,  1250,  1252,
     710    1255,  1258,  1260,  1263,  1266,  1270,  1272,  1275,  1278,  1280,
     711    1282,  1287,  1290,  1291,  1298,  1306,  1309,  1312,  1315,  1316,
     712    1319,  1322,  1326,  1329,  1333,  1335,  1338,  1342,  1345,  1348,
     713    1353,  1354,  1356,  1359,  1362,  1364,  1365,  1367,  1370,  1373,
     714    1379,  1382,  1383,  1391,  1394,  1399,  1400,  1403,  1404,  1406,
     715    1408,  1410,  1416,  1422,  1428,  1430,  1436,  1442,  1452,  1454,
     716    1460,  1461,  1463,  1465,  1471,  1473,  1475,  1481,  1487,  1489,
     717    1493,  1497,  1502,  1504,  1506,  1508,  1510,  1513,  1515,  1519,
     718    1523,  1525,  1528,  1530,  1534,  1536,  1538,  1540,  1542,  1544,
     719    1546,  1548,  1550,  1552,  1554,  1556,  1559,  1561,  1563,  1565,
     720    1568,  1569,  1572,  1575,  1577,  1582,  1583,  1585,  1588,  1592,
     721    1597,  1600,  1603,  1605,  1608,  1611,  1617,  1623,  1631,  1638,
     722    1640,  1643,  1646,  1650,  1652,  1655,  1658,  1663,  1666,  1671,
     723    1672,  1677,  1680,  1682,  1684,  1686,  1687,  1690,  1696,  1702,
     724    1716,  1718,  1720,  1724,  1728,  1731,  1735,  1739,  1742,  1747,
     725    1749,  1756,  1766,  1767,  1779,  1781,  1785,  1789,  1793,  1795,
     726    1797,  1803,  1806,  1812,  1813,  1815,  1817,  1821,  1822,  1824,
     727    1826,  1828,  1830,  1831,  1838,  1841,  1843,  1846,  1851,  1854,
     728    1858,  1862,  1866,  1871,  1877,  1883,  1889,  1896,  1898,  1900,
     729    1902,  1906,  1907,  1913,  1914,  1916,  1918,  1921,  1928,  1930,
     730    1934,  1935,  1937,  1942,  1944,  1946,  1948,  1950,  1953,  1955,
     731    1958,  1961,  1963,  1967,  1970,  1974,  1978,  1981,  1986,  1991,
     732    1995,  2004,  2008,  2011,  2013,  2016,  2023,  2032,  2036,  2039,
     733    2043,  2047,  2052,  2057,  2061,  2063,  2065,  2067,  2072,  2079,
     734    2083,  2086,  2090,  2094,  2099,  2104,  2108,  2111,  2113,  2116,
     735    2119,  2121,  2125,  2128,  2132,  2136,  2139,  2144,  2149,  2153,
     736    2160,  2169,  2173,  2176,  2178,  2181,  2184,  2187,  2191,  2195,
     737    2198,  2203,  2208,  2212,  2219,  2228,  2232,  2235,  2237,  2240,
     738    2243,  2245,  2247,  2250,  2254,  2258,  2261,  2266,  2273,  2282,
     739    2284,  2287,  2290,  2292,  2295,  2298,  2302,  2306,  2308,  2313,
     740    2318,  2322,  2328,  2337,  2341,  2344,  2348,  2350,  2356,  2362,
     741    2369,  2376,  2378,  2381,  2384,  2386,  2389,  2392,  2396,  2400,
     742    2402,  2407,  2412,  2416,  2422,  2431,  2435,  2437,  2440,  2442,
     743    2445,  2452,  2458,  2465,  2473,  2481,  2483,  2486,  2489,  2491,
     744    2494,  2497,  2501,  2505,  2507,  2512,  2517,  2521,  2530,  2534,
     745    2536,  2538,  2541,  2543,  2545,  2548,  2552,  2555,  2559,  2562,
     746    2566,  2570,  2573,  2578,  2582,  2585,  2589,  2592,  2597,  2601,
     747    2604,  2611,  2618,  2625,  2633,  2635,  2638,  2640,  2642,  2644,
     748    2647,  2651,  2654,  2658,  2661,  2665,  2669,  2674,  2677,  2681,
     749    2686,  2689,  2695,  2702,  2709,  2710,  2712,  2713
    746750};
    747751
     
    749753static const yytype_int16 yyrhs[] =
    750754{
    751      306,     0,    -1,    -1,    -1,    79,    -1,    82,    -1,    83,
    752       -1,    84,    -1,    80,    -1,    72,    -1,    76,    -1,   142,
    753       -1,    72,    -1,    76,    -1,    72,    -1,   142,    -1,    85,
    754       -1,    86,    -1,   144,    -1,    81,    -1,   144,    81,    -1,
    755       72,    -1,   142,    -1,   172,    -1,   111,   174,   112,    -1,
    756      111,   178,   112,    -1,   145,    -1,   146,   113,   136,   169,
    757      137,   114,    -1,   146,   111,   147,   112,    -1,   146,   115,
    758      141,    -1,   146,   115,   113,   136,   149,   137,   114,    -1,
    759      146,    83,    -1,   146,    87,   141,    -1,   146,    87,   113,
    760      136,   149,   137,   114,    -1,   146,    88,    -1,   146,    89,
    761       -1,   111,   279,   112,   116,   283,   376,   117,    -1,   146,
    762      116,   147,   117,    -1,   148,    -1,   147,   118,   148,    -1,
    763       -1,   169,    -1,   150,    -1,   149,   118,   150,    -1,   151,
    764       -1,    82,   150,    -1,    82,   113,   136,   149,   137,   114,
    765       -1,   151,   115,   150,    -1,   151,   115,   113,   136,   149,
    766      137,   114,    -1,   151,    87,   150,    -1,   151,    87,   113,
    767      136,   149,   137,   114,    -1,    79,   152,    -1,    84,   152,
    768       -1,   141,   152,    -1,    -1,   152,    83,    -1,   146,    -1,
    769      138,    -1,   143,    -1,    40,   156,    -1,   154,   156,    -1,
    770      155,   156,    -1,    88,   153,    -1,    89,   153,    -1,    37,
    771      153,    -1,    37,   111,   279,   112,    -1,    66,   153,    -1,
    772       66,   111,   279,   112,    -1,    38,   111,   279,   118,   141,
    773      112,    -1,    76,    -1,    76,   111,   148,   112,    -1,    76,
    774      111,   280,   112,    -1,   119,    -1,   120,    -1,   121,    -1,
    775      122,    -1,   123,    -1,   124,    -1,   153,    -1,   111,   279,
    776      112,   156,    -1,   156,    -1,   157,   119,   156,    -1,   157,
    777      125,   156,    -1,   157,   126,   156,    -1,   157,    -1,   158,
    778      121,   157,    -1,   158,   122,   157,    -1,   158,    -1,   159,
    779       90,   158,    -1,   159,    91,   158,    -1,   159,    -1,   160,
    780      127,   159,    -1,   160,   128,   159,    -1,   160,    92,   159,
    781       -1,   160,    93,   159,    -1,   160,    -1,   161,    94,   160,
    782       -1,   161,    95,   160,    -1,   161,    -1,   162,   120,   161,
    783       -1,   162,    -1,   163,   129,   162,    -1,   163,    -1,   164,
    784      130,   163,    -1,   164,    -1,   165,    96,   164,    -1,   165,
    785       -1,   166,    97,   165,    -1,   166,    -1,   166,   131,   174,
    786      132,   167,    -1,   166,   131,   132,   167,    -1,   167,    -1,
    787      167,    -1,   153,   171,   169,    -1,    -1,   169,    -1,   133,
    788       -1,   109,    -1,    99,    -1,   100,    -1,   101,    -1,   102,
    789       -1,   103,    -1,   104,    -1,   105,    -1,   106,    -1,   107,
    790       -1,   108,    -1,   113,   136,   118,   173,   137,   114,    -1,
    791      113,   136,   169,   118,   173,   137,   114,    -1,   170,    -1,
    792      173,   118,   170,    -1,   169,    -1,   174,   118,   169,    -1,
    793       -1,   174,    -1,   177,    -1,   178,    -1,   182,    -1,   183,
    794       -1,   195,    -1,   197,    -1,   198,    -1,   203,    -1,   129,
    795      146,   116,   147,   117,   134,    -1,    72,   132,   316,   176,
    796       -1,   116,   117,    -1,   116,   136,   136,   214,   179,   137,
    797      117,    -1,   180,    -1,   179,   136,   180,    -1,   217,    -1,
    798       40,   217,    -1,   312,    -1,   176,   137,    -1,   176,    -1,
    799      181,   176,    -1,   175,   134,    -1,    41,   111,   174,   112,
    800      176,    -1,    41,   111,   174,   112,   176,    42,   176,    -1,
    801       43,   111,   174,   112,   188,    -1,    43,   111,   174,   112,
    802      116,   136,   210,   189,   117,    -1,    53,   111,   174,   112,
    803      188,    -1,    53,   111,   174,   112,   116,   136,   210,   191,
    804      117,    -1,   168,    -1,   168,    98,   168,    -1,   314,    -1,
    805      184,    -1,   185,   118,   184,    -1,    44,   185,   132,    -1,
    806       45,   132,    -1,   186,    -1,   187,   186,    -1,   187,   176,
    807       -1,    -1,   190,    -1,   187,   181,    -1,   190,   187,   181,
    808       -1,    -1,   192,    -1,   187,   194,    -1,   187,   181,   193,
    809       -1,   192,   187,   194,    -1,   192,   187,   181,   193,    -1,
    810       -1,   194,    -1,    56,    -1,    56,   134,    -1,    47,   111,
    811      174,   112,   176,    -1,    46,   176,    47,   111,   174,   112,
    812      134,    -1,    48,   111,   136,   196,   112,   176,    -1,   175,
    813      137,   134,   175,   134,   175,    -1,   217,   175,   134,   175,
    814       -1,    51,    72,   134,    -1,    51,   119,   174,   134,    -1,
    815       50,   134,    -1,    50,    72,   134,    -1,    49,   134,    -1,
    816       49,    72,   134,    -1,    52,   175,   134,    -1,    61,   170,
    817      134,    -1,    62,   170,   134,    -1,    62,   170,    63,   169,
    818      134,    -1,    57,   178,   199,    -1,    57,   178,   201,    -1,
    819       57,   178,   199,   201,    -1,   200,    -1,    58,   111,    98,
    820      112,   178,    -1,   200,    58,   111,    98,   112,   178,    -1,
    821       59,   111,    98,   112,   178,    -1,   200,    59,   111,    98,
    822      112,   178,    -1,    58,   111,   136,   136,   202,   137,   112,
    823      178,   137,    -1,   200,    58,   111,   136,   136,   202,   137,
    824      112,   178,   137,    -1,    59,   111,   136,   136,   202,   137,
    825      112,   178,   137,    -1,   200,    59,   111,   136,   136,   202,
    826      137,   112,   178,   137,    -1,    60,   178,    -1,   230,    -1,
    827      230,   313,    -1,   230,   361,    -1,   370,   141,    -1,   370,
    828       -1,    64,   204,   111,   143,   112,   134,    -1,    64,   204,
    829      111,   143,   132,   205,   112,   134,    -1,    64,   204,   111,
    830      143,   132,   205,   132,   205,   112,   134,    -1,    64,   204,
    831      111,   143,   132,   205,   132,   205,   132,   208,   112,   134,
    832       -1,    64,   204,    51,   111,   143,   132,   132,   205,   132,
    833      208,   132,   209,   112,   134,    -1,    -1,    11,    -1,    -1,
    834      206,    -1,   207,    -1,   206,   118,   207,    -1,   143,   111,
    835      168,   112,    -1,   113,   168,   114,   143,   111,   168,   112,
    836       -1,    -1,   143,    -1,   208,   118,   143,    -1,   141,    -1,
    837      209,   118,   141,    -1,   137,    -1,   211,    -1,   217,    -1,
    838      211,   136,   217,    -1,   137,    -1,   213,    -1,   227,    -1,
    839      213,   136,   227,    -1,    -1,   215,    -1,    29,   216,   134,
    840       -1,   215,    29,   216,   134,    -1,   278,    -1,   216,   118,
    841      278,    -1,   218,    -1,   227,    -1,   219,   137,   134,    -1,
    842      224,   137,   134,    -1,   221,   137,   134,    -1,   297,   137,
    843      134,    -1,   300,   137,   134,    -1,   220,   281,    -1,   236,
    844      220,   281,    -1,   219,   137,   118,   136,   276,   281,    -1,
    845      371,   276,   315,    -1,   374,   276,   315,    -1,   232,   374,
    846      276,   315,    -1,   222,    -1,   232,   222,    -1,   236,   222,
    847       -1,   236,   232,   222,    -1,   221,   137,   118,   136,   276,
    848       -1,   374,   276,   111,   136,   264,   137,   112,    -1,   223,
    849      276,   111,   136,   264,   137,   112,    -1,   113,   136,   266,
    850      137,   114,    -1,   113,   136,   266,   137,   118,   136,   267,
    851      137,   114,    -1,     3,   220,    -1,     3,   222,    -1,   224,
    852      137,   118,   136,   141,    -1,     3,   230,   313,    -1,   225,
    853      137,   118,   136,   313,    -1,   232,     3,   230,   313,    -1,
    854      230,     3,   313,    -1,   230,     3,   232,   313,    -1,     3,
    855      141,   133,   169,    -1,   226,   137,   118,   136,   141,   133,
    856      169,    -1,   228,   137,   134,    -1,   225,   137,   134,    -1,
    857      226,   137,   134,    -1,   244,   137,   134,    -1,   229,   313,
    858      315,   281,    -1,   228,   118,   316,   313,   315,   281,    -1,
    859      240,    -1,   244,    -1,   246,    -1,   287,    -1,   241,    -1,
    860      245,    -1,   247,    -1,   288,    -1,    -1,   232,    -1,   233,
    861       -1,   232,   233,    -1,   234,    -1,   318,    -1,    10,    -1,
    862       12,    -1,    11,    -1,    14,    -1,    67,    -1,    -1,    13,
    863      111,   235,   290,   112,    -1,   237,    -1,   232,   237,    -1,
    864      236,   232,   237,    -1,   238,    -1,   237,   238,    -1,     5,
     755     308,     0,    -1,    -1,    -1,    81,    -1,    84,    -1,    85,
     756      -1,    86,    -1,    82,    -1,    74,    -1,    78,    -1,   144,
     757      -1,    74,    -1,    78,    -1,    74,    -1,   144,    -1,    87,
     758      -1,    88,    -1,   146,    -1,    83,    -1,   146,    83,    -1,
     759      74,    -1,   144,    -1,   174,    -1,   113,   176,   114,    -1,
     760     113,   180,   114,    -1,   147,    -1,   148,   115,   138,   171,
     761     139,   116,    -1,   148,   113,   149,   114,    -1,   148,   117,
     762     143,    -1,   148,   117,   115,   138,   151,   139,   116,    -1,
     763     148,    85,    -1,   148,    89,   143,    -1,   148,    89,   115,
     764     138,   151,   139,   116,    -1,   148,    90,    -1,   148,    91,
     765      -1,   113,   281,   114,   118,   285,   378,   119,    -1,   148,
     766     118,   149,   119,    -1,   150,    -1,   149,   120,   150,    -1,
     767      -1,   171,    -1,   152,    -1,   151,   120,   152,    -1,   153,
     768      -1,    84,   152,    -1,    84,   115,   138,   151,   139,   116,
     769      -1,   153,   117,   152,    -1,   153,   117,   115,   138,   151,
     770     139,   116,    -1,   153,    89,   152,    -1,   153,    89,   115,
     771     138,   151,   139,   116,    -1,    81,   154,    -1,    86,   154,
     772      -1,   143,   154,    -1,    -1,   154,    85,    -1,   148,    -1,
     773     140,    -1,   145,    -1,    42,   158,    -1,   156,   158,    -1,
     774     157,   158,    -1,    90,   155,    -1,    91,   155,    -1,    39,
     775     155,    -1,    39,   113,   281,   114,    -1,    68,   155,    -1,
     776      68,   113,   281,   114,    -1,    40,   113,   281,   120,   143,
     777     114,    -1,    78,    -1,    78,   113,   150,   114,    -1,    78,
     778     113,   282,   114,    -1,   121,    -1,   122,    -1,   123,    -1,
     779     124,    -1,   125,    -1,   126,    -1,   155,    -1,   113,   281,
     780     114,   158,    -1,   158,    -1,   159,   121,   158,    -1,   159,
     781     127,   158,    -1,   159,   128,   158,    -1,   159,    -1,   160,
     782     123,   159,    -1,   160,   124,   159,    -1,   160,    -1,   161,
     783      92,   160,    -1,   161,    93,   160,    -1,   161,    -1,   162,
     784     129,   161,    -1,   162,   130,   161,    -1,   162,    94,   161,
     785      -1,   162,    95,   161,    -1,   162,    -1,   163,    96,   162,
     786      -1,   163,    97,   162,    -1,   163,    -1,   164,   122,   163,
     787      -1,   164,    -1,   165,   131,   164,    -1,   165,    -1,   166,
     788     132,   165,    -1,   166,    -1,   167,    98,   166,    -1,   167,
     789      -1,   168,    99,   167,    -1,   168,    -1,   168,   133,   176,
     790     134,   169,    -1,   168,   133,   134,   169,    -1,   169,    -1,
     791     169,    -1,   155,   173,   171,    -1,    -1,   171,    -1,   135,
     792      -1,   111,    -1,   101,    -1,   102,    -1,   103,    -1,   104,
     793      -1,   105,    -1,   106,    -1,   107,    -1,   108,    -1,   109,
     794      -1,   110,    -1,   115,   138,   120,   175,   139,   116,    -1,
     795     115,   138,   171,   120,   175,   139,   116,    -1,   172,    -1,
     796     175,   120,   172,    -1,   171,    -1,   176,   120,   171,    -1,
     797      -1,   176,    -1,   179,    -1,   180,    -1,   184,    -1,   185,
     798      -1,   197,    -1,   199,    -1,   200,    -1,   205,    -1,   131,
     799     148,   118,   149,   119,   136,    -1,    74,   134,   318,   178,
     800      -1,   118,   119,    -1,   118,   138,   138,   216,   181,   139,
     801     119,    -1,   182,    -1,   181,   138,   182,    -1,   219,    -1,
     802      42,   219,    -1,   314,    -1,   178,   139,    -1,   178,    -1,
     803     183,   178,    -1,   177,   136,    -1,    43,   113,   176,   114,
     804     178,    -1,    43,   113,   176,   114,   178,    44,   178,    -1,
     805      45,   113,   176,   114,   190,    -1,    45,   113,   176,   114,
     806     118,   138,   212,   191,   119,    -1,    55,   113,   176,   114,
     807     190,    -1,    55,   113,   176,   114,   118,   138,   212,   193,
     808     119,    -1,   170,    -1,   170,   100,   170,    -1,   316,    -1,
     809     186,    -1,   187,   120,   186,    -1,    46,   187,   134,    -1,
     810      47,   134,    -1,   188,    -1,   189,   188,    -1,   189,   178,
     811      -1,    -1,   192,    -1,   189,   183,    -1,   192,   189,   183,
     812      -1,    -1,   194,    -1,   189,   196,    -1,   189,   183,   195,
     813      -1,   194,   189,   196,    -1,   194,   189,   183,   195,    -1,
     814      -1,   196,    -1,    58,    -1,    58,   136,    -1,    49,   113,
     815     176,   114,   178,    -1,    48,   178,    49,   113,   176,   114,
     816     136,    -1,    50,   113,   138,   198,   114,   178,    -1,   177,
     817     139,   136,   177,   136,   177,    -1,   219,   177,   136,   177,
     818      -1,    53,    74,   136,    -1,    53,   121,   176,   136,    -1,
     819      52,   136,    -1,    52,    74,   136,    -1,    51,   136,    -1,
     820      51,    74,   136,    -1,    54,   177,   136,    -1,    63,   172,
     821     136,    -1,    64,   172,   136,    -1,    64,   172,    65,   171,
     822     136,    -1,    59,   180,   201,    -1,    59,   180,   203,    -1,
     823      59,   180,   201,   203,    -1,   202,    -1,    60,   113,   100,
     824     114,   180,    -1,   202,    60,   113,   100,   114,   180,    -1,
     825      61,   113,   100,   114,   180,    -1,   202,    61,   113,   100,
     826     114,   180,    -1,    60,   113,   138,   138,   204,   139,   114,
     827     180,   139,    -1,   202,    60,   113,   138,   138,   204,   139,
     828     114,   180,   139,    -1,    61,   113,   138,   138,   204,   139,
     829     114,   180,   139,    -1,   202,    61,   113,   138,   138,   204,
     830     139,   114,   180,   139,    -1,    62,   180,    -1,   232,    -1,
     831     232,   315,    -1,   232,   363,    -1,   372,   143,    -1,   372,
     832      -1,    66,   206,   113,   145,   114,   136,    -1,    66,   206,
     833     113,   145,   134,   207,   114,   136,    -1,    66,   206,   113,
     834     145,   134,   207,   134,   207,   114,   136,    -1,    66,   206,
     835     113,   145,   134,   207,   134,   207,   134,   210,   114,   136,
     836      -1,    66,   206,    53,   113,   145,   134,   134,   207,   134,
     837     210,   134,   211,   114,   136,    -1,    -1,    11,    -1,    -1,
     838     208,    -1,   209,    -1,   208,   120,   209,    -1,   145,   113,
     839     170,   114,    -1,   115,   170,   116,   145,   113,   170,   114,
     840      -1,    -1,   145,    -1,   210,   120,   145,    -1,   143,    -1,
     841     211,   120,   143,    -1,   139,    -1,   213,    -1,   219,    -1,
     842     213,   138,   219,    -1,   139,    -1,   215,    -1,   229,    -1,
     843     215,   138,   229,    -1,    -1,   217,    -1,    31,   218,   136,
     844      -1,   217,    31,   218,   136,    -1,   280,    -1,   218,   120,
     845     280,    -1,   220,    -1,   229,    -1,   221,   139,   136,    -1,
     846     226,   139,   136,    -1,   223,   139,   136,    -1,   299,   139,
     847     136,    -1,   302,   139,   136,    -1,   222,   283,    -1,   238,
     848     222,   283,    -1,   221,   139,   120,   138,   278,   283,    -1,
     849     373,   278,   317,    -1,   376,   278,   317,    -1,   234,   376,
     850     278,   317,    -1,   224,    -1,   234,   224,    -1,   238,   224,
     851      -1,   238,   234,   224,    -1,   223,   139,   120,   138,   278,
     852      -1,   376,   278,   113,   138,   266,   139,   114,    -1,   225,
     853     278,   113,   138,   266,   139,   114,    -1,   115,   138,   268,
     854     139,   116,    -1,   115,   138,   268,   139,   120,   138,   269,
     855     139,   116,    -1,     3,   222,    -1,     3,   224,    -1,   226,
     856     139,   120,   138,   143,    -1,     3,   232,   315,    -1,   227,
     857     139,   120,   138,   315,    -1,   234,     3,   232,   315,    -1,
     858     232,     3,   315,    -1,   232,     3,   234,   315,    -1,     3,
     859     143,   135,   171,    -1,   228,   139,   120,   138,   143,   135,
     860     171,    -1,   230,   139,   136,    -1,   227,   139,   136,    -1,
     861     228,   139,   136,    -1,   246,   139,   136,    -1,   231,   315,
     862     317,   283,    -1,   230,   120,   318,   315,   317,   283,    -1,
     863     242,    -1,   246,    -1,   248,    -1,   289,    -1,   243,    -1,
     864     247,    -1,   249,    -1,   290,    -1,    -1,   234,    -1,   235,
     865      -1,   234,   235,    -1,   236,    -1,   320,    -1,    10,    -1,
     866      12,    -1,    11,    -1,    14,    -1,    69,    -1,    -1,    13,
     867     113,   237,   292,   114,    -1,   239,    -1,   234,   239,    -1,
     868     238,   234,   239,    -1,   240,    -1,   239,   240,    -1,     5,
    865869      -1,     7,    -1,     4,    -1,     6,    -1,     8,    -1,     9,
    866       -1,    69,    -1,    71,    -1,    16,    -1,    21,    -1,    20,
     870      -1,    71,    -1,    73,    -1,    16,    -1,    21,    -1,    20,
    867871      -1,    18,    -1,    19,    -1,    17,    -1,    22,    -1,    23,
    868       -1,    15,    -1,    25,    -1,    26,    -1,    27,    -1,    24,
    869       -1,   241,    -1,   236,   241,    -1,   240,   238,    -1,   240,
    870      238,   232,    -1,   240,   238,   241,    -1,   242,    -1,   231,
    871      243,   231,    -1,   239,    -1,   232,   239,    -1,   242,   233,
    872       -1,   242,   239,    -1,    28,   111,   280,   112,    -1,    28,
    873      111,   174,   112,    -1,    78,   111,   280,   112,    -1,    78,
    874      111,   174,   112,    -1,   245,    -1,   236,   245,    -1,   244,
    875      238,    -1,   244,   238,   232,    -1,   248,    -1,   232,   248,
    876       -1,   245,   233,    -1,   247,    -1,   236,   247,    -1,   246,
    877      238,    -1,   246,   238,   232,    -1,    74,    -1,   232,    74,
    878       -1,   247,   233,    -1,   249,    -1,   260,    -1,   251,   116,
    879      252,   117,    -1,   251,   278,    -1,    -1,   251,   278,   250,
    880      116,   252,   117,    -1,   251,   111,   296,   112,   116,   252,
    881      117,    -1,   251,   289,    -1,    31,   316,    -1,    32,   316,
    882       -1,    -1,   252,   253,    -1,   254,   134,    -1,    40,   254,
    883      134,    -1,   255,   134,    -1,    40,   255,   134,    -1,   370,
    884       -1,   370,   278,    -1,   254,   118,   278,    -1,   254,   118,
    885       -1,   230,   256,    -1,   255,   118,   316,   256,    -1,    -1,
    886      258,    -1,   322,   257,    -1,   335,   257,    -1,   361,    -1,
    887       -1,   258,    -1,   132,   168,    -1,    30,   316,    -1,   259,
    888      116,   262,   376,   117,    -1,   259,   278,    -1,    -1,   259,
    889      278,   261,   116,   262,   376,   117,    -1,   278,   263,    -1,
    890      262,   118,   278,   263,    -1,    -1,   133,   168,    -1,    -1,
    891      265,    -1,   267,    -1,   266,    -1,   266,   137,   118,   136,
    892      267,    -1,   267,   137,   118,   136,    98,    -1,   266,   137,
    893      118,   136,    98,    -1,   271,    -1,   267,   137,   118,   136,
    894      271,    -1,   266,   137,   118,   136,   271,    -1,   266,   137,
    895      118,   136,   267,   137,   118,   136,   271,    -1,   272,    -1,
    896      267,   137,   118,   136,   272,    -1,    -1,   269,    -1,   270,
    897       -1,   270,   137,   118,   136,    98,    -1,   274,    -1,   273,
    898       -1,   270,   137,   118,   136,   274,    -1,   270,   137,   118,
    899      136,   273,    -1,   273,    -1,   366,   276,   377,    -1,   374,
    900      276,   377,    -1,   232,   374,   276,   377,    -1,   222,    -1,
    901      274,    -1,   366,    -1,   374,    -1,   232,   374,    -1,   375,
    902       -1,   229,   340,   377,    -1,   229,   344,   377,    -1,   229,
    903       -1,   229,   355,    -1,   141,    -1,   275,   118,   141,    -1,
    904      139,    -1,    74,    -1,    75,    -1,   140,    -1,    74,    -1,
    905       75,    -1,   141,    -1,    74,    -1,    75,    -1,   370,    -1,
    906      230,    -1,   230,   361,    -1,   370,    -1,   375,    -1,   230,
    907       -1,   230,   349,    -1,    -1,   133,   282,    -1,   109,   282,
    908       -1,   169,    -1,   116,   283,   376,   117,    -1,    -1,   282,
    909       -1,   284,   282,    -1,   283,   118,   282,    -1,   283,   118,
    910      284,   282,    -1,   285,   132,    -1,   278,   132,    -1,   286,
    911       -1,   285,   286,    -1,   115,   278,    -1,   113,   136,   169,
    912      137,   114,    -1,   113,   136,   314,   137,   114,    -1,   113,
    913      136,   168,    98,   168,   137,   114,    -1,   115,   113,   136,
    914      149,   137,   114,    -1,   288,    -1,   236,   288,    -1,   287,
    915      238,    -1,   287,   238,   232,    -1,   289,    -1,   232,   289,
    916       -1,   288,   233,    -1,    75,   111,   296,   112,    -1,   291,
    917      377,    -1,   290,   118,   291,   377,    -1,    -1,   293,   278,
    918      292,   294,    -1,   230,   340,    -1,    33,    -1,    35,    -1,
    919       34,    -1,    -1,   294,   295,    -1,   130,   278,   111,   296,
    920      112,    -1,   130,   116,   136,   302,   117,    -1,   130,   111,
    921      136,   290,   137,   112,   116,   136,   302,   117,   111,   296,
    922      112,    -1,   280,    -1,   169,    -1,   296,   118,   280,    -1,
    923      296,   118,   169,    -1,    33,   298,    -1,   237,    33,   298,
    924       -1,   297,   118,   298,    -1,   299,   294,    -1,   299,   294,
    925      133,   280,    -1,   278,    -1,   277,   111,   136,   290,   137,
    926      112,    -1,    36,   278,   111,   136,   290,   137,   112,   116,
    927      117,    -1,    -1,    36,   278,   111,   136,   290,   137,   112,
    928      116,   301,   302,   117,    -1,   303,    -1,   302,   136,   303,
    929       -1,   304,   137,   134,    -1,   305,   137,   134,    -1,   220,
    930       -1,   222,    -1,   304,   137,   118,   136,   276,    -1,   230,
    931      313,    -1,   305,   137,   118,   136,   313,    -1,    -1,   307,
    932       -1,   309,    -1,   307,   136,   309,    -1,    -1,   307,    -1,
    933      217,    -1,   311,    -1,   203,    -1,    -1,     5,    81,   310,
    934      116,   308,   117,    -1,    40,   309,    -1,   312,    -1,   327,
    935      178,    -1,   331,   136,   212,   178,    -1,   221,   178,    -1,
    936      229,   327,   178,    -1,   232,   327,   178,    -1,   236,   327,
    937      178,    -1,   236,   232,   327,   178,    -1,   229,   331,   136,
    938      212,   178,    -1,   232,   331,   136,   212,   178,    -1,   236,
    939      331,   136,   212,   178,    -1,   236,   232,   331,   136,   212,
    940      178,    -1,   322,    -1,   335,    -1,   327,    -1,   168,   124,
    941      168,    -1,    -1,    64,   111,   144,   112,   316,    -1,    -1,
    942      317,    -1,   318,    -1,   317,   318,    -1,    39,   111,   111,
    943      319,   112,   112,    -1,   320,    -1,   319,   118,   320,    -1,
    944       -1,   321,    -1,   321,   111,   175,   112,    -1,   276,    -1,
    945      238,    -1,   239,    -1,   233,    -1,   323,   316,    -1,   324,
    946       -1,   325,   316,    -1,   326,   316,    -1,   139,    -1,   111,
    947      323,   112,    -1,   154,   322,    -1,   154,   232,   322,    -1,
    948      111,   324,   112,    -1,   323,   353,    -1,   111,   324,   112,
    949      353,    -1,   111,   325,   112,   354,    -1,   111,   325,   112,
    950       -1,   111,   324,   112,   111,   136,   268,   137,   112,    -1,
    951      111,   326,   112,    -1,   328,   316,    -1,   329,    -1,   330,
    952      316,    -1,   323,   111,   136,   268,   137,   112,    -1,   111,
    953      329,   112,   111,   136,   268,   137,   112,    -1,   111,   328,
    954      112,    -1,   154,   327,    -1,   154,   232,   327,    -1,   111,
    955      329,   112,    -1,   111,   329,   112,   353,    -1,   111,   330,
    956      112,   354,    -1,   111,   330,   112,    -1,   332,    -1,   333,
    957       -1,   334,    -1,   323,   111,   275,   112,    -1,   111,   333,
    958      112,   111,   275,   112,    -1,   111,   332,   112,    -1,   154,
    959      331,    -1,   154,   232,   331,    -1,   111,   333,   112,    -1,
    960      111,   333,   112,   353,    -1,   111,   334,   112,   354,    -1,
    961      111,   334,   112,    -1,   336,   316,    -1,   337,    -1,   338,
    962      316,    -1,   339,   316,    -1,   345,    -1,   111,   336,   112,
    963       -1,   154,   335,    -1,   154,   232,   335,    -1,   111,   337,
    964      112,    -1,   336,   353,    -1,   111,   337,   112,   353,    -1,
    965      111,   338,   112,   354,    -1,   111,   338,   112,    -1,   336,
    966      111,   136,   268,   137,   112,    -1,   111,   337,   112,   111,
    967      136,   268,   137,   112,    -1,   111,   339,   112,    -1,   323,
    968      316,    -1,   341,    -1,   342,   316,    -1,   343,   316,    -1,
    969      154,   340,    -1,   154,   232,   340,    -1,   111,   341,   112,
    970       -1,   323,   359,    -1,   111,   341,   112,   353,    -1,   111,
    971      342,   112,   354,    -1,   111,   342,   112,    -1,   323,   111,
    972      136,   268,   137,   112,    -1,   111,   341,   112,   111,   136,
    973      268,   137,   112,    -1,   111,   343,   112,    -1,   345,   316,
    974       -1,   346,    -1,   347,   316,    -1,   348,   316,    -1,    74,
    975       -1,    75,    -1,   154,   344,    -1,   154,   232,   344,    -1,
    976      111,   346,   112,    -1,   345,   359,    -1,   111,   346,   112,
    977      359,    -1,   345,   111,   136,   268,   137,   112,    -1,   111,
    978      346,   112,   111,   136,   268,   137,   112,    -1,   350,    -1,
    979      351,   316,    -1,   352,   316,    -1,   154,    -1,   154,   232,
    980       -1,   154,   349,    -1,   154,   232,   349,    -1,   111,   350,
    981      112,    -1,   353,    -1,   111,   350,   112,   353,    -1,   111,
    982      351,   112,   354,    -1,   111,   351,   112,    -1,   111,   136,
    983      268,   137,   112,    -1,   111,   350,   112,   111,   136,   268,
    984      137,   112,    -1,   111,   352,   112,    -1,   113,   114,    -1,
    985      113,   114,   354,    -1,   354,    -1,   113,   136,   169,   137,
    986      114,    -1,   113,   136,   119,   137,   114,    -1,   354,   113,
    987      136,   169,   137,   114,    -1,   354,   113,   136,   119,   137,
    988      114,    -1,   356,    -1,   357,   316,    -1,   358,   316,    -1,
    989      154,    -1,   154,   232,    -1,   154,   355,    -1,   154,   232,
    990      355,    -1,   111,   356,   112,    -1,   359,    -1,   111,   356,
    991      112,   359,    -1,   111,   357,   112,   354,    -1,   111,   357,
    992      112,    -1,   111,   136,   268,   137,   112,    -1,   111,   356,
    993      112,   111,   136,   268,   137,   112,    -1,   111,   358,   112,
    994       -1,   360,    -1,   360,   354,    -1,   354,    -1,   113,   114,
    995       -1,   113,   136,   232,   119,   137,   114,    -1,   113,   136,
    996      232,   137,   114,    -1,   113,   136,   232,   169,   137,   114,
    997       -1,   113,   136,     7,   231,   169,   137,   114,    -1,   113,
    998      136,   232,     7,   169,   137,   114,    -1,   362,    -1,   363,
    999      316,    -1,   364,   316,    -1,   154,    -1,   154,   232,    -1,
    1000      154,   361,    -1,   154,   232,   361,    -1,   111,   362,   112,
    1001       -1,   353,    -1,   111,   362,   112,   353,    -1,   111,   363,
    1002      112,   354,    -1,   111,   363,   112,    -1,   111,   362,   112,
    1003      111,   136,   268,   137,   112,    -1,   111,   364,   112,    -1,
    1004      366,    -1,   374,    -1,   232,   374,    -1,   367,    -1,   368,
    1005       -1,   154,   230,    -1,   232,   154,   230,    -1,   154,   375,
    1006       -1,   232,   154,   375,    -1,   154,   365,    -1,   232,   154,
    1007      365,    -1,   113,   114,   230,    -1,   369,   230,    -1,   113,
    1008      114,   354,   230,    -1,   369,   354,   230,    -1,   354,   230,
    1009       -1,   113,   114,   367,    -1,   369,   367,    -1,   113,   114,
    1010      354,   367,    -1,   369,   354,   367,    -1,   354,   367,    -1,
    1011      113,   136,   232,   119,   137,   114,    -1,   113,   136,   232,
    1012      169,   137,   114,    -1,   113,   136,   236,   169,   137,   114,
    1013       -1,   113,   136,   236,   232,   169,   137,   114,    -1,   374,
    1014       -1,   232,   374,    -1,   371,    -1,   372,    -1,   373,    -1,
    1015      154,   230,    -1,   232,   154,   230,    -1,   154,   375,    -1,
    1016      232,   154,   375,    -1,   154,   370,    -1,   232,   154,   370,
    1017       -1,   113,   114,   230,    -1,   113,   114,   354,   230,    -1,
    1018      354,   230,    -1,   113,   114,   372,    -1,   113,   114,   354,
    1019      372,    -1,   354,   372,    -1,   113,   136,   267,   137,   114,
    1020       -1,   374,   111,   136,   264,   137,   112,    -1,   223,   111,
    1021      136,   264,   137,   112,    -1,    -1,   118,    -1,    -1,   133,
    1022      169,    -1
     872      -1,    15,    -1,    27,    -1,    28,    -1,    29,    -1,    26,
     873      -1,    24,    -1,    25,    -1,   243,    -1,   238,   243,    -1,
     874     242,   240,    -1,   242,   240,   234,    -1,   242,   240,   243,
     875      -1,   244,    -1,   233,   245,   233,    -1,   241,    -1,   234,
     876     241,    -1,   244,   235,    -1,   244,   241,    -1,    30,   113,
     877     282,   114,    -1,    30,   113,   176,   114,    -1,    80,   113,
     878     282,   114,    -1,    80,   113,   176,   114,    -1,   247,    -1,
     879     238,   247,    -1,   246,   240,    -1,   246,   240,   234,    -1,
     880     250,    -1,   234,   250,    -1,   247,   235,    -1,   249,    -1,
     881     238,   249,    -1,   248,   240,    -1,   248,   240,   234,    -1,
     882      76,    -1,   234,    76,    -1,   249,   235,    -1,   251,    -1,
     883     262,    -1,   253,   118,   254,   119,    -1,   253,   280,    -1,
     884      -1,   253,   280,   252,   118,   254,   119,    -1,   253,   113,
     885     298,   114,   118,   254,   119,    -1,   253,   291,    -1,    33,
     886     318,    -1,    34,   318,    -1,    -1,   254,   255,    -1,   256,
     887     136,    -1,    42,   256,   136,    -1,   257,   136,    -1,    42,
     888     257,   136,    -1,   372,    -1,   372,   280,    -1,   256,   120,
     889     280,    -1,   256,   120,    -1,   232,   258,    -1,   257,   120,
     890     318,   258,    -1,    -1,   260,    -1,   324,   259,    -1,   337,
     891     259,    -1,   363,    -1,    -1,   260,    -1,   134,   170,    -1,
     892      32,   318,    -1,   261,   118,   264,   378,   119,    -1,   261,
     893     280,    -1,    -1,   261,   280,   263,   118,   264,   378,   119,
     894      -1,   280,   265,    -1,   264,   120,   280,   265,    -1,    -1,
     895     135,   170,    -1,    -1,   267,    -1,   269,    -1,   268,    -1,
     896     268,   139,   120,   138,   269,    -1,   269,   139,   120,   138,
     897     100,    -1,   268,   139,   120,   138,   100,    -1,   273,    -1,
     898     269,   139,   120,   138,   273,    -1,   268,   139,   120,   138,
     899     273,    -1,   268,   139,   120,   138,   269,   139,   120,   138,
     900     273,    -1,   274,    -1,   269,   139,   120,   138,   274,    -1,
     901      -1,   271,    -1,   272,    -1,   272,   139,   120,   138,   100,
     902      -1,   276,    -1,   275,    -1,   272,   139,   120,   138,   276,
     903      -1,   272,   139,   120,   138,   275,    -1,   275,    -1,   368,
     904     278,   379,    -1,   376,   278,   379,    -1,   234,   376,   278,
     905     379,    -1,   224,    -1,   276,    -1,   368,    -1,   376,    -1,
     906     234,   376,    -1,   377,    -1,   231,   342,   379,    -1,   231,
     907     346,   379,    -1,   231,    -1,   231,   357,    -1,   143,    -1,
     908     277,   120,   143,    -1,   141,    -1,    76,    -1,    77,    -1,
     909     142,    -1,    76,    -1,    77,    -1,   143,    -1,    76,    -1,
     910      77,    -1,   372,    -1,   232,    -1,   232,   363,    -1,   372,
     911      -1,   377,    -1,   232,    -1,   232,   351,    -1,    -1,   135,
     912     284,    -1,   111,   284,    -1,   171,    -1,   118,   285,   378,
     913     119,    -1,    -1,   284,    -1,   286,   284,    -1,   285,   120,
     914     284,    -1,   285,   120,   286,   284,    -1,   287,   134,    -1,
     915     280,   134,    -1,   288,    -1,   287,   288,    -1,   117,   280,
     916      -1,   115,   138,   171,   139,   116,    -1,   115,   138,   316,
     917     139,   116,    -1,   115,   138,   170,   100,   170,   139,   116,
     918      -1,   117,   115,   138,   151,   139,   116,    -1,   290,    -1,
     919     238,   290,    -1,   289,   240,    -1,   289,   240,   234,    -1,
     920     291,    -1,   234,   291,    -1,   290,   235,    -1,    77,   113,
     921     298,   114,    -1,   293,   379,    -1,   292,   120,   293,   379,
     922      -1,    -1,   295,   280,   294,   296,    -1,   232,   342,    -1,
     923      35,    -1,    37,    -1,    36,    -1,    -1,   296,   297,    -1,
     924     132,   280,   113,   298,   114,    -1,   132,   118,   138,   304,
     925     119,    -1,   132,   113,   138,   292,   139,   114,   118,   138,
     926     304,   119,   113,   298,   114,    -1,   282,    -1,   171,    -1,
     927     298,   120,   282,    -1,   298,   120,   171,    -1,    35,   300,
     928      -1,   239,    35,   300,    -1,   299,   120,   300,    -1,   301,
     929     296,    -1,   301,   296,   135,   282,    -1,   280,    -1,   279,
     930     113,   138,   292,   139,   114,    -1,    38,   280,   113,   138,
     931     292,   139,   114,   118,   119,    -1,    -1,    38,   280,   113,
     932     138,   292,   139,   114,   118,   303,   304,   119,    -1,   305,
     933      -1,   304,   138,   305,    -1,   306,   139,   136,    -1,   307,
     934     139,   136,    -1,   222,    -1,   224,    -1,   306,   139,   120,
     935     138,   278,    -1,   232,   315,    -1,   307,   139,   120,   138,
     936     315,    -1,    -1,   309,    -1,   311,    -1,   309,   138,   311,
     937      -1,    -1,   309,    -1,   219,    -1,   313,    -1,   205,    -1,
     938      -1,     5,    83,   312,   118,   310,   119,    -1,    42,   311,
     939      -1,   314,    -1,   329,   180,    -1,   333,   138,   214,   180,
     940      -1,   223,   180,    -1,   231,   329,   180,    -1,   234,   329,
     941     180,    -1,   238,   329,   180,    -1,   238,   234,   329,   180,
     942      -1,   231,   333,   138,   214,   180,    -1,   234,   333,   138,
     943     214,   180,    -1,   238,   333,   138,   214,   180,    -1,   238,
     944     234,   333,   138,   214,   180,    -1,   324,    -1,   337,    -1,
     945     329,    -1,   170,   126,   170,    -1,    -1,    66,   113,   145,
     946     114,   318,    -1,    -1,   319,    -1,   320,    -1,   319,   320,
     947      -1,    41,   113,   113,   321,   114,   114,    -1,   322,    -1,
     948     321,   120,   322,    -1,    -1,   323,    -1,   323,   113,   177,
     949     114,    -1,   278,    -1,   240,    -1,   241,    -1,   235,    -1,
     950     325,   318,    -1,   326,    -1,   327,   318,    -1,   328,   318,
     951      -1,   141,    -1,   113,   325,   114,    -1,   156,   324,    -1,
     952     156,   234,   324,    -1,   113,   326,   114,    -1,   325,   355,
     953      -1,   113,   326,   114,   355,    -1,   113,   327,   114,   356,
     954      -1,   113,   327,   114,    -1,   113,   326,   114,   113,   138,
     955     270,   139,   114,    -1,   113,   328,   114,    -1,   330,   318,
     956      -1,   331,    -1,   332,   318,    -1,   325,   113,   138,   270,
     957     139,   114,    -1,   113,   331,   114,   113,   138,   270,   139,
     958     114,    -1,   113,   330,   114,    -1,   156,   329,    -1,   156,
     959     234,   329,    -1,   113,   331,   114,    -1,   113,   331,   114,
     960     355,    -1,   113,   332,   114,   356,    -1,   113,   332,   114,
     961      -1,   334,    -1,   335,    -1,   336,    -1,   325,   113,   277,
     962     114,    -1,   113,   335,   114,   113,   277,   114,    -1,   113,
     963     334,   114,    -1,   156,   333,    -1,   156,   234,   333,    -1,
     964     113,   335,   114,    -1,   113,   335,   114,   355,    -1,   113,
     965     336,   114,   356,    -1,   113,   336,   114,    -1,   338,   318,
     966      -1,   339,    -1,   340,   318,    -1,   341,   318,    -1,   347,
     967      -1,   113,   338,   114,    -1,   156,   337,    -1,   156,   234,
     968     337,    -1,   113,   339,   114,    -1,   338,   355,    -1,   113,
     969     339,   114,   355,    -1,   113,   340,   114,   356,    -1,   113,
     970     340,   114,    -1,   338,   113,   138,   270,   139,   114,    -1,
     971     113,   339,   114,   113,   138,   270,   139,   114,    -1,   113,
     972     341,   114,    -1,   325,   318,    -1,   343,    -1,   344,   318,
     973      -1,   345,   318,    -1,   156,   342,    -1,   156,   234,   342,
     974      -1,   113,   343,   114,    -1,   325,   361,    -1,   113,   343,
     975     114,   355,    -1,   113,   344,   114,   356,    -1,   113,   344,
     976     114,    -1,   325,   113,   138,   270,   139,   114,    -1,   113,
     977     343,   114,   113,   138,   270,   139,   114,    -1,   113,   345,
     978     114,    -1,   347,   318,    -1,   348,    -1,   349,   318,    -1,
     979     350,   318,    -1,    76,    -1,    77,    -1,   156,   346,    -1,
     980     156,   234,   346,    -1,   113,   348,   114,    -1,   347,   361,
     981      -1,   113,   348,   114,   361,    -1,   347,   113,   138,   270,
     982     139,   114,    -1,   113,   348,   114,   113,   138,   270,   139,
     983     114,    -1,   352,    -1,   353,   318,    -1,   354,   318,    -1,
     984     156,    -1,   156,   234,    -1,   156,   351,    -1,   156,   234,
     985     351,    -1,   113,   352,   114,    -1,   355,    -1,   113,   352,
     986     114,   355,    -1,   113,   353,   114,   356,    -1,   113,   353,
     987     114,    -1,   113,   138,   270,   139,   114,    -1,   113,   352,
     988     114,   113,   138,   270,   139,   114,    -1,   113,   354,   114,
     989      -1,   115,   116,    -1,   115,   116,   356,    -1,   356,    -1,
     990     115,   138,   171,   139,   116,    -1,   115,   138,   121,   139,
     991     116,    -1,   356,   115,   138,   171,   139,   116,    -1,   356,
     992     115,   138,   121,   139,   116,    -1,   358,    -1,   359,   318,
     993      -1,   360,   318,    -1,   156,    -1,   156,   234,    -1,   156,
     994     357,    -1,   156,   234,   357,    -1,   113,   358,   114,    -1,
     995     361,    -1,   113,   358,   114,   361,    -1,   113,   359,   114,
     996     356,    -1,   113,   359,   114,    -1,   113,   138,   270,   139,
     997     114,    -1,   113,   358,   114,   113,   138,   270,   139,   114,
     998      -1,   113,   360,   114,    -1,   362,    -1,   362,   356,    -1,
     999     356,    -1,   115,   116,    -1,   115,   138,   234,   121,   139,
     1000     116,    -1,   115,   138,   234,   139,   116,    -1,   115,   138,
     1001     234,   171,   139,   116,    -1,   115,   138,     7,   233,   171,
     1002     139,   116,    -1,   115,   138,   234,     7,   171,   139,   116,
     1003      -1,   364,    -1,   365,   318,    -1,   366,   318,    -1,   156,
     1004      -1,   156,   234,    -1,   156,   363,    -1,   156,   234,   363,
     1005      -1,   113,   364,   114,    -1,   355,    -1,   113,   364,   114,
     1006     355,    -1,   113,   365,   114,   356,    -1,   113,   365,   114,
     1007      -1,   113,   364,   114,   113,   138,   270,   139,   114,    -1,
     1008     113,   366,   114,    -1,   368,    -1,   376,    -1,   234,   376,
     1009      -1,   369,    -1,   370,    -1,   156,   232,    -1,   234,   156,
     1010     232,    -1,   156,   377,    -1,   234,   156,   377,    -1,   156,
     1011     367,    -1,   234,   156,   367,    -1,   115,   116,   232,    -1,
     1012     371,   232,    -1,   115,   116,   356,   232,    -1,   371,   356,
     1013     232,    -1,   356,   232,    -1,   115,   116,   369,    -1,   371,
     1014     369,    -1,   115,   116,   356,   369,    -1,   371,   356,   369,
     1015      -1,   356,   369,    -1,   115,   138,   234,   121,   139,   116,
     1016      -1,   115,   138,   234,   171,   139,   116,    -1,   115,   138,
     1017     238,   171,   139,   116,    -1,   115,   138,   238,   234,   171,
     1018     139,   116,    -1,   376,    -1,   234,   376,    -1,   373,    -1,
     1019     374,    -1,   375,    -1,   156,   232,    -1,   234,   156,   232,
     1020      -1,   156,   377,    -1,   234,   156,   377,    -1,   156,   372,
     1021      -1,   234,   156,   372,    -1,   115,   116,   232,    -1,   115,
     1022     116,   356,   232,    -1,   356,   232,    -1,   115,   116,   374,
     1023      -1,   115,   116,   356,   374,    -1,   356,   374,    -1,   115,
     1024     138,   269,   139,   116,    -1,   376,   113,   138,   266,   139,
     1025     114,    -1,   225,   113,   138,   266,   139,   114,    -1,    -1,
     1026     120,    -1,    -1,   135,   171,    -1
    10231027};
    10241028
     
    10261030static const yytype_uint16 yyrline[] =
    10271031{
    1028        0,   305,   305,   309,   316,   317,   318,   319,   320,   324,
    1029      325,   326,   330,   331,   335,   336,   340,   341,   345,   349,
    1030      350,   361,   363,   365,   366,   368,   373,   374,   380,   382,
    1031      384,   386,   388,   390,   392,   394,   396,   398,   407,   408,
    1032      414,   415,   419,   420,   424,   425,   427,   429,   431,   433,
    1033      435,   440,   442,   444,   450,   451,   459,   462,   464,   466,
    1034      471,   484,   486,   488,   490,   492,   494,   496,   498,   500,
    1035      502,   504,   511,   512,   518,   519,   520,   521,   525,   526,
    1036      533,   534,   536,   538,   543,   544,   546,   551,   552,   554,
    1037      559,   560,   562,   564,   566,   571,   572,   574,   579,   580,
    1038      585,   586,   591,   592,   597,   598,   603,   604,   609,   610,
    1039      613,   620,   625,   626,   634,   635,   639,   640,   641,   642,
    1040      643,   644,   645,   646,   647,   648,   649,   650,   660,   662,
    1041      667,   668,   673,   674,   680,   681,   687,   688,   689,   690,
    1042      691,   692,   693,   694,   695,   705,   712,   714,   724,   725,
    1043      730,   732,   738,   740,   744,   745,   750,   755,   758,   760,
    1044      762,   772,   774,   785,   786,   788,   792,   794,   798,   799,
    1045      804,   805,   809,   814,   815,   819,   821,   827,   828,   832,
    1046      834,   836,   838,   844,   845,   849,   851,   856,   858,   860,
    1047      865,   867,   872,   874,   878,   881,   885,   888,   892,   894,
    1048      896,   898,   903,   905,   907,   912,   914,   916,   918,   920,
    1049      925,   927,   929,   931,   936,   948,   949,   954,   956,   961,
    1050      965,   967,   969,   971,   973,   979,   980,   986,   987,   991,
    1051      992,   997,   999,  1005,  1006,  1008,  1013,  1018,  1028,  1030,
    1052     1034,  1035,  1040,  1042,  1046,  1047,  1051,  1053,  1057,  1058,
    1053     1062,  1063,  1067,  1068,  1083,  1084,  1085,  1086,  1087,  1091,
    1054     1096,  1103,  1113,  1118,  1123,  1131,  1136,  1141,  1146,  1151,
    1055     1181,  1186,  1193,  1195,  1202,  1207,  1212,  1223,  1228,  1233,
    1056     1238,  1243,  1252,  1257,  1265,  1266,  1267,  1268,  1274,  1279,
    1057     1287,  1288,  1289,  1290,  1294,  1295,  1296,  1297,  1302,  1303,
    1058     1312,  1313,  1318,  1319,  1324,  1326,  1328,  1330,  1332,  1335,
    1059     1334,  1346,  1347,  1349,  1359,  1360,  1365,  1367,  1369,  1371,
    1060     1373,  1376,  1378,  1381,  1386,  1388,  1390,  1392,  1394,  1396,
    1061     1398,  1400,  1402,  1404,  1406,  1408,  1410,  1416,  1417,  1419,
    1062     1421,  1423,  1428,  1429,  1435,  1436,  1438,  1440,  1445,  1447,
    1063     1449,  1451,  1456,  1457,  1459,  1461,  1466,  1467,  1469,  1474,
    1064     1475,  1477,  1479,  1484,  1486,  1488,  1493,  1494,  1498,  1500,
    1065     1506,  1505,  1509,  1511,  1516,  1518,  1524,  1525,  1530,  1531,
    1066     1533,  1534,  1543,  1544,  1546,  1548,  1553,  1555,  1561,  1562,
    1067     1564,  1567,  1570,  1575,  1576,  1581,  1586,  1590,  1592,  1598,
    1068     1597,  1604,  1606,  1612,  1613,  1621,  1622,  1626,  1627,  1628,
    1069     1630,  1632,  1639,  1640,  1642,  1644,  1649,  1650,  1656,  1657,
    1070     1661,  1662,  1667,  1668,  1669,  1671,  1679,  1680,  1682,  1685,
    1071     1687,  1691,  1692,  1693,  1695,  1697,  1701,  1706,  1714,  1715,
    1072     1724,  1726,  1731,  1732,  1733,  1737,  1738,  1739,  1743,  1744,
    1073     1745,  1749,  1750,  1751,  1756,  1757,  1758,  1759,  1765,  1766,
    1074     1768,  1773,  1774,  1779,  1780,  1781,  1782,  1783,  1798,  1799,
    1075     1804,  1805,  1811,  1813,  1816,  1818,  1820,  1843,  1844,  1846,
    1076     1848,  1853,  1854,  1856,  1861,  1866,  1867,  1873,  1872,  1876,
    1077     1880,  1882,  1884,  1890,  1891,  1896,  1901,  1903,  1908,  1910,
    1078     1911,  1913,  1918,  1920,  1922,  1927,  1929,  1934,  1939,  1947,
    1079     1953,  1952,  1966,  1967,  1972,  1973,  1977,  1982,  1987,  1995,
    1080     2000,  2011,  2012,  2017,  2018,  2024,  2025,  2029,  2030,  2031,
    1081     2034,  2033,  2044,  2053,  2059,  2065,  2074,  2080,  2086,  2092,
    1082     2098,  2106,  2112,  2120,  2126,  2135,  2136,  2137,  2141,  2145,
    1083     2147,  2152,  2153,  2157,  2158,  2163,  2169,  2170,  2173,  2175,
    1084     2176,  2180,  2181,  2182,  2183,  2217,  2219,  2220,  2222,  2227,
    1085     2232,  2237,  2239,  2241,  2246,  2248,  2250,  2252,  2257,  2259,
    1086     2268,  2270,  2271,  2276,  2278,  2280,  2285,  2287,  2289,  2294,
    1087     2296,  2298,  2307,  2308,  2309,  2313,  2315,  2317,  2322,  2324,
    1088     2326,  2331,  2333,  2335,  2350,  2352,  2353,  2355,  2360,  2361,
    1089     2366,  2368,  2370,  2375,  2377,  2379,  2381,  2386,  2388,  2390,
    1090     2400,  2402,  2403,  2405,  2410,  2412,  2414,  2419,  2421,  2423,
    1091     2425,  2430,  2432,  2434,  2465,  2467,  2468,  2470,  2475,  2480,
    1092     2488,  2490,  2492,  2497,  2499,  2504,  2506,  2520,  2521,  2523,
    1093     2528,  2530,  2532,  2534,  2536,  2541,  2542,  2544,  2546,  2551,
    1094     2553,  2555,  2561,  2563,  2565,  2569,  2571,  2573,  2575,  2589,
    1095     2590,  2592,  2597,  2599,  2601,  2603,  2605,  2610,  2611,  2613,
    1096     2615,  2620,  2622,  2624,  2630,  2631,  2633,  2642,  2645,  2647,
    1097     2650,  2652,  2654,  2667,  2668,  2670,  2675,  2677,  2679,  2681,
    1098     2683,  2688,  2689,  2691,  2693,  2698,  2700,  2708,  2709,  2710,
    1099     2715,  2716,  2720,  2722,  2724,  2726,  2728,  2730,  2737,  2739,
    1100     2741,  2743,  2745,  2748,  2750,  2752,  2754,  2756,  2761,  2763,
    1101     2765,  2770,  2796,  2797,  2799,  2803,  2804,  2808,  2810,  2812,
    1102     2814,  2816,  2818,  2825,  2827,  2829,  2831,  2833,  2835,  2840,
    1103     2847,  2849,  2867,  2869,  2874,  2875
     1032       0,   306,   306,   310,   317,   318,   319,   320,   321,   325,
     1033     326,   327,   331,   332,   336,   337,   341,   342,   346,   350,
     1034     351,   362,   364,   366,   367,   369,   374,   375,   381,   383,
     1035     385,   387,   389,   391,   393,   395,   397,   399,   408,   409,
     1036     415,   416,   420,   421,   425,   426,   428,   430,   432,   434,
     1037     436,   441,   443,   445,   457,   458,   466,   469,   471,   473,
     1038     478,   491,   493,   495,   497,   499,   501,   503,   505,   507,
     1039     509,   511,   518,   519,   525,   526,   527,   528,   532,   533,
     1040     540,   541,   543,   545,   550,   551,   553,   558,   559,   561,
     1041     566,   567,   569,   571,   573,   578,   579,   581,   586,   587,
     1042     592,   593,   598,   599,   604,   605,   610,   611,   616,   617,
     1043     620,   627,   632,   633,   641,   642,   646,   647,   648,   649,
     1044     650,   651,   652,   653,   654,   655,   656,   657,   667,   669,
     1045     674,   675,   680,   681,   687,   688,   694,   695,   696,   697,
     1046     698,   699,   700,   701,   702,   712,   719,   721,   731,   732,
     1047     737,   739,   745,   747,   751,   752,   757,   762,   765,   767,
     1048     769,   779,   781,   792,   793,   795,   799,   801,   805,   806,
     1049     811,   812,   816,   821,   822,   826,   828,   834,   835,   839,
     1050     841,   843,   845,   851,   852,   856,   858,   863,   865,   867,
     1051     872,   874,   879,   881,   885,   888,   892,   895,   899,   901,
     1052     903,   905,   910,   912,   914,   919,   921,   923,   925,   927,
     1053     932,   934,   936,   938,   943,   955,   956,   961,   963,   968,
     1054     972,   974,   976,   978,   980,   986,   987,   993,   994,   998,
     1055     999,  1004,  1006,  1012,  1013,  1015,  1021,  1026,  1036,  1038,
     1056    1042,  1043,  1048,  1050,  1054,  1055,  1059,  1061,  1065,  1066,
     1057    1070,  1071,  1075,  1076,  1091,  1092,  1093,  1094,  1095,  1099,
     1058    1104,  1111,  1121,  1126,  1131,  1139,  1144,  1149,  1154,  1159,
     1059    1189,  1194,  1201,  1203,  1210,  1215,  1220,  1231,  1236,  1241,
     1060    1246,  1251,  1260,  1265,  1273,  1274,  1275,  1276,  1282,  1287,
     1061    1295,  1296,  1297,  1298,  1302,  1303,  1304,  1305,  1310,  1311,
     1062    1320,  1321,  1326,  1327,  1332,  1334,  1336,  1338,  1340,  1343,
     1063    1342,  1354,  1355,  1357,  1367,  1368,  1373,  1375,  1377,  1379,
     1064    1381,  1384,  1386,  1389,  1394,  1396,  1398,  1400,  1402,  1404,
     1065    1406,  1408,  1410,  1412,  1414,  1416,  1418,  1420,  1422,  1428,
     1066    1429,  1431,  1433,  1435,  1440,  1441,  1447,  1448,  1450,  1452,
     1067    1457,  1459,  1461,  1463,  1468,  1469,  1471,  1473,  1478,  1479,
     1068    1481,  1486,  1487,  1489,  1491,  1496,  1498,  1500,  1505,  1506,
     1069    1510,  1512,  1518,  1517,  1521,  1523,  1528,  1530,  1536,  1537,
     1070    1542,  1543,  1545,  1546,  1555,  1556,  1558,  1560,  1565,  1567,
     1071    1573,  1574,  1576,  1579,  1582,  1587,  1588,  1593,  1598,  1602,
     1072    1604,  1610,  1609,  1616,  1618,  1624,  1625,  1633,  1634,  1638,
     1073    1639,  1640,  1642,  1644,  1651,  1652,  1654,  1656,  1661,  1662,
     1074    1668,  1669,  1673,  1674,  1679,  1680,  1681,  1683,  1691,  1692,
     1075    1694,  1697,  1699,  1703,  1704,  1705,  1707,  1709,  1713,  1718,
     1076    1726,  1727,  1736,  1738,  1743,  1744,  1745,  1749,  1750,  1751,
     1077    1755,  1756,  1757,  1761,  1762,  1763,  1768,  1769,  1770,  1771,
     1078    1777,  1778,  1780,  1785,  1786,  1791,  1792,  1793,  1794,  1795,
     1079    1810,  1811,  1816,  1817,  1823,  1825,  1828,  1830,  1832,  1855,
     1080    1856,  1858,  1860,  1865,  1866,  1868,  1873,  1878,  1879,  1885,
     1081    1884,  1888,  1892,  1894,  1896,  1902,  1903,  1908,  1913,  1915,
     1082    1920,  1922,  1923,  1925,  1930,  1932,  1934,  1939,  1941,  1946,
     1083    1951,  1959,  1965,  1964,  1978,  1979,  1984,  1985,  1989,  1994,
     1084    1999,  2007,  2012,  2023,  2024,  2029,  2030,  2036,  2037,  2041,
     1085    2042,  2043,  2046,  2045,  2056,  2065,  2071,  2077,  2086,  2092,
     1086    2098,  2104,  2110,  2118,  2124,  2132,  2138,  2147,  2148,  2149,
     1087    2153,  2159,  2160,  2166,  2167,  2171,  2172,  2177,  2183,  2184,
     1088    2187,  2189,  2190,  2194,  2195,  2196,  2197,  2231,  2233,  2234,
     1089    2236,  2241,  2246,  2251,  2253,  2255,  2260,  2262,  2264,  2266,
     1090    2271,  2273,  2282,  2284,  2285,  2290,  2292,  2294,  2299,  2301,
     1091    2303,  2308,  2310,  2312,  2321,  2322,  2323,  2327,  2329,  2331,
     1092    2336,  2338,  2340,  2345,  2347,  2349,  2364,  2366,  2367,  2369,
     1093    2374,  2375,  2380,  2382,  2384,  2389,  2391,  2393,  2395,  2400,
     1094    2402,  2404,  2414,  2416,  2417,  2419,  2424,  2426,  2428,  2433,
     1095    2435,  2437,  2439,  2444,  2446,  2448,  2479,  2481,  2482,  2484,
     1096    2489,  2494,  2502,  2504,  2506,  2511,  2513,  2518,  2520,  2534,
     1097    2535,  2537,  2542,  2544,  2546,  2548,  2550,  2555,  2556,  2558,
     1098    2560,  2565,  2567,  2569,  2575,  2577,  2579,  2583,  2585,  2587,
     1099    2589,  2603,  2604,  2606,  2611,  2613,  2615,  2617,  2619,  2624,
     1100    2625,  2627,  2629,  2634,  2636,  2638,  2644,  2645,  2647,  2656,
     1101    2659,  2661,  2664,  2666,  2668,  2681,  2682,  2684,  2689,  2691,
     1102    2693,  2695,  2697,  2702,  2703,  2705,  2707,  2712,  2714,  2722,
     1103    2723,  2724,  2729,  2730,  2734,  2736,  2738,  2740,  2742,  2744,
     1104    2751,  2753,  2755,  2757,  2759,  2762,  2764,  2766,  2768,  2770,
     1105    2775,  2777,  2779,  2784,  2810,  2811,  2813,  2817,  2818,  2822,
     1106    2824,  2826,  2828,  2830,  2832,  2839,  2841,  2843,  2845,  2847,
     1107    2849,  2854,  2861,  2863,  2881,  2883,  2888,  2889
    11041108};
    11051109#endif
     
    11131117  "STATIC", "INLINE", "FORTRAN", "CONST", "VOLATILE", "RESTRICT", "FORALL",
    11141118  "LVALUE", "VOID", "CHAR", "SHORT", "INT", "LONG", "FLOAT", "DOUBLE",
    1115   "SIGNED", "UNSIGNED", "VALIST", "BOOL", "COMPLEX", "IMAGINARY", "TYPEOF",
    1116   "LABEL", "ENUM", "STRUCT", "UNION", "OTYPE", "FTYPE", "DTYPE", "TRAIT",
    1117   "SIZEOF", "OFFSETOF", "ATTRIBUTE", "EXTENSION", "IF", "ELSE", "SWITCH",
    1118   "CASE", "DEFAULT", "DO", "WHILE", "FOR", "BREAK", "CONTINUE", "GOTO",
    1119   "RETURN", "CHOOSE", "DISABLE", "ENABLE", "FALLTHRU", "TRY", "CATCH",
    1120   "CATCHRESUME", "FINALLY", "THROW", "THROWRESUME", "AT", "ASM", "ALIGNAS",
    1121   "ALIGNOF", "ATOMIC", "GENERIC", "NORETURN", "STATICASSERT",
    1122   "THREADLOCAL", "IDENTIFIER", "QUOTED_IDENTIFIER", "TYPEDEFname",
    1123   "TYPEGENname", "ATTR_IDENTIFIER", "ATTR_TYPEDEFname", "ATTR_TYPEGENname",
    1124   "INTEGERconstant", "CHARACTERconstant", "STRINGliteral",
    1125   "REALDECIMALconstant", "REALFRACTIONconstant", "FLOATINGconstant",
    1126   "ZERO", "ONE", "ARROW", "ICR", "DECR", "LS", "RS", "LE", "GE", "EQ",
    1127   "NE", "ANDAND", "OROR", "ELLIPSIS", "MULTassign", "DIVassign",
    1128   "MODassign", "PLUSassign", "MINUSassign", "LSassign", "RSassign",
    1129   "ANDassign", "ERassign", "ORassign", "ATassign", "THEN", "'('", "')'",
    1130   "'['", "']'", "'.'", "'{'", "'}'", "','", "'*'", "'&'", "'+'", "'-'",
    1131   "'!'", "'~'", "'/'", "'%'", "'<'", "'>'", "'^'", "'|'", "'?'", "':'",
    1132   "'='", "';'", "$accept", "push", "pop", "constant", "identifier",
    1133   "no_01_identifier", "no_attr_identifier", "zero_one", "string_literal",
     1119  "SIGNED", "UNSIGNED", "ZERO_T", "ONE_T", "VALIST", "BOOL", "COMPLEX",
     1120  "IMAGINARY", "TYPEOF", "LABEL", "ENUM", "STRUCT", "UNION", "OTYPE",
     1121  "FTYPE", "DTYPE", "TRAIT", "SIZEOF", "OFFSETOF", "ATTRIBUTE",
     1122  "EXTENSION", "IF", "ELSE", "SWITCH", "CASE", "DEFAULT", "DO", "WHILE",
     1123  "FOR", "BREAK", "CONTINUE", "GOTO", "RETURN", "CHOOSE", "DISABLE",
     1124  "ENABLE", "FALLTHRU", "TRY", "CATCH", "CATCHRESUME", "FINALLY", "THROW",
     1125  "THROWRESUME", "AT", "ASM", "ALIGNAS", "ALIGNOF", "ATOMIC", "GENERIC",
     1126  "NORETURN", "STATICASSERT", "THREADLOCAL", "IDENTIFIER",
     1127  "QUOTED_IDENTIFIER", "TYPEDEFname", "TYPEGENname", "ATTR_IDENTIFIER",
     1128  "ATTR_TYPEDEFname", "ATTR_TYPEGENname", "INTEGERconstant",
     1129  "CHARACTERconstant", "STRINGliteral", "REALDECIMALconstant",
     1130  "REALFRACTIONconstant", "FLOATINGconstant", "ZERO", "ONE", "ARROW",
     1131  "ICR", "DECR", "LS", "RS", "LE", "GE", "EQ", "NE", "ANDAND", "OROR",
     1132  "ELLIPSIS", "MULTassign", "DIVassign", "MODassign", "PLUSassign",
     1133  "MINUSassign", "LSassign", "RSassign", "ANDassign", "ERassign",
     1134  "ORassign", "ATassign", "THEN", "'('", "')'", "'['", "']'", "'.'", "'{'",
     1135  "'}'", "','", "'*'", "'&'", "'+'", "'-'", "'!'", "'~'", "'/'", "'%'",
     1136  "'<'", "'>'", "'^'", "'|'", "'?'", "':'", "'='", "';'", "$accept",
     1137  "push", "pop", "constant", "identifier", "no_01_identifier",
     1138  "no_attr_identifier", "zero_one", "string_literal",
    11341139  "string_literal_list", "primary_expression", "postfix_expression",
    11351140  "argument_expression_list", "argument_expression", "field_list", "field",
     
    12351240     345,   346,   347,   348,   349,   350,   351,   352,   353,   354,
    12361241     355,   356,   357,   358,   359,   360,   361,   362,   363,   364,
    1237      365,    40,    41,    91,    93,    46,   123,   125,    44,    42,
    1238       38,    43,    45,    33,   126,    47,    37,    60,    62,    94,
    1239      124,    63,    58,    61,    59
     1242     365,   366,   367,    40,    41,    91,    93,    46,   123,   125,
     1243      44,    42,    38,    43,    45,    33,   126,    47,    37,    60,
     1244      62,    94,   124,    63,    58,    61,    59
    12401245};
    12411246# endif
     
    12441249static const yytype_uint16 yyr1[] =
    12451250{
    1246        0,   135,   136,   137,   138,   138,   138,   138,   138,   139,
    1247      139,   139,   140,   140,   141,   141,   142,   142,   143,   144,
    1248      144,   145,   145,   145,   145,   145,   146,   146,   146,   146,
    1249      146,   146,   146,   146,   146,   146,   146,   146,   147,   147,
    1250      148,   148,   149,   149,   150,   150,   150,   150,   150,   150,
    1251      150,   151,   151,   151,   152,   152,   153,   153,   153,   153,
    1252      153,   153,   153,   153,   153,   153,   153,   153,   153,   153,
    1253      153,   153,   154,   154,   155,   155,   155,   155,   156,   156,
    1254      157,   157,   157,   157,   158,   158,   158,   159,   159,   159,
    1255      160,   160,   160,   160,   160,   161,   161,   161,   162,   162,
    1256      163,   163,   164,   164,   165,   165,   166,   166,   167,   167,
    1257      167,   168,   169,   169,   170,   170,   171,   171,   171,   171,
    1258      171,   171,   171,   171,   171,   171,   171,   171,   172,   172,
    1259      173,   173,   174,   174,   175,   175,   176,   176,   176,   176,
    1260      176,   176,   176,   176,   176,   177,   178,   178,   179,   179,
    1261      180,   180,   180,   180,   181,   181,   182,   183,   183,   183,
    1262      183,   183,   183,   184,   184,   184,   185,   185,   186,   186,
    1263      187,   187,   188,   189,   189,   190,   190,   191,   191,   192,
    1264      192,   192,   192,   193,   193,   194,   194,   195,   195,   195,
    1265      196,   196,   197,   197,   197,   197,   197,   197,   197,   197,
    1266      197,   197,   198,   198,   198,   199,   199,   199,   199,   199,
    1267      200,   200,   200,   200,   201,   202,   202,   202,   202,   202,
    1268      203,   203,   203,   203,   203,   204,   204,   205,   205,   206,
    1269      206,   207,   207,   208,   208,   208,   209,   209,   210,   210,
    1270      211,   211,   212,   212,   213,   213,   214,   214,   215,   215,
    1271      216,   216,   217,   217,   218,   218,   218,   218,   218,   219,
    1272      219,   219,   220,   220,   220,   221,   221,   221,   221,   221,
    1273      222,   222,   223,   223,   224,   224,   224,   225,   225,   225,
    1274      225,   225,   226,   226,   227,   227,   227,   227,   228,   228,
    1275      229,   229,   229,   229,   230,   230,   230,   230,   231,   231,
    1276      232,   232,   233,   233,   234,   234,   234,   234,   234,   235,
    1277      234,   236,   236,   236,   237,   237,   238,   238,   238,   238,
    1278      238,   238,   238,   238,   239,   239,   239,   239,   239,   239,
    1279      239,   239,   239,   239,   239,   239,   239,   240,   240,   240,
    1280      240,   240,   241,   241,   242,   242,   242,   242,   243,   243,
    1281      243,   243,   244,   244,   244,   244,   245,   245,   245,   246,
    1282      246,   246,   246,   247,   247,   247,   248,   248,   249,   249,
    1283      250,   249,   249,   249,   251,   251,   252,   252,   253,   253,
    1284      253,   253,   254,   254,   254,   254,   255,   255,   256,   256,
    1285      256,   256,   256,   257,   257,   258,   259,   260,   260,   261,
    1286      260,   262,   262,   263,   263,   264,   264,   265,   265,   265,
    1287      265,   265,   266,   266,   266,   266,   267,   267,   268,   268,
    1288      269,   269,   270,   270,   270,   270,   271,   271,   271,   271,
    1289      271,   272,   272,   272,   272,   272,   273,   273,   274,   274,
    1290      275,   275,   276,   276,   276,   277,   277,   277,   278,   278,
    1291      278,   279,   279,   279,   280,   280,   280,   280,   281,   281,
    1292      281,   282,   282,   283,   283,   283,   283,   283,   284,   284,
    1293      285,   285,   286,   286,   286,   286,   286,   287,   287,   287,
    1294      287,   288,   288,   288,   289,   290,   290,   292,   291,   291,
    1295      293,   293,   293,   294,   294,   295,   295,   295,   296,   296,
    1296      296,   296,   297,   297,   297,   298,   298,   299,   299,   300,
    1297      301,   300,   302,   302,   303,   303,   304,   304,   304,   305,
    1298      305,   306,   306,   307,   307,   308,   308,   309,   309,   309,
    1299      310,   309,   309,   311,   311,   311,   312,   312,   312,   312,
    1300      312,   312,   312,   312,   312,   313,   313,   313,   314,   315,
    1301      315,   316,   316,   317,   317,   318,   319,   319,   320,   320,
    1302      320,   321,   321,   321,   321,   322,   322,   322,   322,   323,
    1303      323,   324,   324,   324,   325,   325,   325,   325,   326,   326,
    1304      327,   327,   327,   328,   328,   328,   329,   329,   329,   330,
    1305      330,   330,   331,   331,   331,   332,   332,   332,   333,   333,
    1306      333,   334,   334,   334,   335,   335,   335,   335,   336,   336,
    1307      337,   337,   337,   338,   338,   338,   338,   339,   339,   339,
    1308      340,   340,   340,   340,   341,   341,   341,   342,   342,   342,
    1309      342,   343,   343,   343,   344,   344,   344,   344,   345,   345,
    1310      346,   346,   346,   347,   347,   348,   348,   349,   349,   349,
    1311      350,   350,   350,   350,   350,   351,   351,   351,   351,   352,
    1312      352,   352,   353,   353,   353,   354,   354,   354,   354,   355,
    1313      355,   355,   356,   356,   356,   356,   356,   357,   357,   357,
    1314      357,   358,   358,   358,   359,   359,   359,   360,   360,   360,
    1315      360,   360,   360,   361,   361,   361,   362,   362,   362,   362,
    1316      362,   363,   363,   363,   363,   364,   364,   365,   365,   365,
    1317      366,   366,   367,   367,   367,   367,   367,   367,   368,   368,
    1318      368,   368,   368,   368,   368,   368,   368,   368,   369,   369,
    1319      369,   369,   370,   370,   370,   371,   371,   372,   372,   372,
    1320      372,   372,   372,   373,   373,   373,   373,   373,   373,   374,
    1321      375,   375,   376,   376,   377,   377
     1251       0,   137,   138,   139,   140,   140,   140,   140,   140,   141,
     1252     141,   141,   142,   142,   143,   143,   144,   144,   145,   146,
     1253     146,   147,   147,   147,   147,   147,   148,   148,   148,   148,
     1254     148,   148,   148,   148,   148,   148,   148,   148,   149,   149,
     1255     150,   150,   151,   151,   152,   152,   152,   152,   152,   152,
     1256     152,   153,   153,   153,   154,   154,   155,   155,   155,   155,
     1257     155,   155,   155,   155,   155,   155,   155,   155,   155,   155,
     1258     155,   155,   156,   156,   157,   157,   157,   157,   158,   158,
     1259     159,   159,   159,   159,   160,   160,   160,   161,   161,   161,
     1260     162,   162,   162,   162,   162,   163,   163,   163,   164,   164,
     1261     165,   165,   166,   166,   167,   167,   168,   168,   169,   169,
     1262     169,   170,   171,   171,   172,   172,   173,   173,   173,   173,
     1263     173,   173,   173,   173,   173,   173,   173,   173,   174,   174,
     1264     175,   175,   176,   176,   177,   177,   178,   178,   178,   178,
     1265     178,   178,   178,   178,   178,   179,   180,   180,   181,   181,
     1266     182,   182,   182,   182,   183,   183,   184,   185,   185,   185,
     1267     185,   185,   185,   186,   186,   186,   187,   187,   188,   188,
     1268     189,   189,   190,   191,   191,   192,   192,   193,   193,   194,
     1269     194,   194,   194,   195,   195,   196,   196,   197,   197,   197,
     1270     198,   198,   199,   199,   199,   199,   199,   199,   199,   199,
     1271     199,   199,   200,   200,   200,   201,   201,   201,   201,   201,
     1272     202,   202,   202,   202,   203,   204,   204,   204,   204,   204,
     1273     205,   205,   205,   205,   205,   206,   206,   207,   207,   208,
     1274     208,   209,   209,   210,   210,   210,   211,   211,   212,   212,
     1275     213,   213,   214,   214,   215,   215,   216,   216,   217,   217,
     1276     218,   218,   219,   219,   220,   220,   220,   220,   220,   221,
     1277     221,   221,   222,   222,   222,   223,   223,   223,   223,   223,
     1278     224,   224,   225,   225,   226,   226,   226,   227,   227,   227,
     1279     227,   227,   228,   228,   229,   229,   229,   229,   230,   230,
     1280     231,   231,   231,   231,   232,   232,   232,   232,   233,   233,
     1281     234,   234,   235,   235,   236,   236,   236,   236,   236,   237,
     1282     236,   238,   238,   238,   239,   239,   240,   240,   240,   240,
     1283     240,   240,   240,   240,   241,   241,   241,   241,   241,   241,
     1284     241,   241,   241,   241,   241,   241,   241,   241,   241,   242,
     1285     242,   242,   242,   242,   243,   243,   244,   244,   244,   244,
     1286     245,   245,   245,   245,   246,   246,   246,   246,   247,   247,
     1287     247,   248,   248,   248,   248,   249,   249,   249,   250,   250,
     1288     251,   251,   252,   251,   251,   251,   253,   253,   254,   254,
     1289     255,   255,   255,   255,   256,   256,   256,   256,   257,   257,
     1290     258,   258,   258,   258,   258,   259,   259,   260,   261,   262,
     1291     262,   263,   262,   264,   264,   265,   265,   266,   266,   267,
     1292     267,   267,   267,   267,   268,   268,   268,   268,   269,   269,
     1293     270,   270,   271,   271,   272,   272,   272,   272,   273,   273,
     1294     273,   273,   273,   274,   274,   274,   274,   274,   275,   275,
     1295     276,   276,   277,   277,   278,   278,   278,   279,   279,   279,
     1296     280,   280,   280,   281,   281,   281,   282,   282,   282,   282,
     1297     283,   283,   283,   284,   284,   285,   285,   285,   285,   285,
     1298     286,   286,   287,   287,   288,   288,   288,   288,   288,   289,
     1299     289,   289,   289,   290,   290,   290,   291,   292,   292,   294,
     1300     293,   293,   295,   295,   295,   296,   296,   297,   297,   297,
     1301     298,   298,   298,   298,   299,   299,   299,   300,   300,   301,
     1302     301,   302,   303,   302,   304,   304,   305,   305,   306,   306,
     1303     306,   307,   307,   308,   308,   309,   309,   310,   310,   311,
     1304     311,   311,   312,   311,   311,   313,   313,   313,   314,   314,
     1305     314,   314,   314,   314,   314,   314,   314,   315,   315,   315,
     1306     316,   317,   317,   318,   318,   319,   319,   320,   321,   321,
     1307     322,   322,   322,   323,   323,   323,   323,   324,   324,   324,
     1308     324,   325,   325,   326,   326,   326,   327,   327,   327,   327,
     1309     328,   328,   329,   329,   329,   330,   330,   330,   331,   331,
     1310     331,   332,   332,   332,   333,   333,   333,   334,   334,   334,
     1311     335,   335,   335,   336,   336,   336,   337,   337,   337,   337,
     1312     338,   338,   339,   339,   339,   340,   340,   340,   340,   341,
     1313     341,   341,   342,   342,   342,   342,   343,   343,   343,   344,
     1314     344,   344,   344,   345,   345,   345,   346,   346,   346,   346,
     1315     347,   347,   348,   348,   348,   349,   349,   350,   350,   351,
     1316     351,   351,   352,   352,   352,   352,   352,   353,   353,   353,
     1317     353,   354,   354,   354,   355,   355,   355,   356,   356,   356,
     1318     356,   357,   357,   357,   358,   358,   358,   358,   358,   359,
     1319     359,   359,   359,   360,   360,   360,   361,   361,   361,   362,
     1320     362,   362,   362,   362,   362,   363,   363,   363,   364,   364,
     1321     364,   364,   364,   365,   365,   365,   365,   366,   366,   367,
     1322     367,   367,   368,   368,   369,   369,   369,   369,   369,   369,
     1323     370,   370,   370,   370,   370,   370,   370,   370,   370,   370,
     1324     371,   371,   371,   371,   372,   372,   372,   373,   373,   374,
     1325     374,   374,   374,   374,   374,   375,   375,   375,   375,   375,
     1326     375,   376,   377,   377,   378,   378,   379,   379
    13221327};
    13231328
     
    13581363       5,     1,     2,     3,     1,     2,     1,     1,     1,     1,
    13591364       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
    1360        1,     1,     1,     1,     1,     1,     1,     1,     2,     2,
    1361        3,     3,     1,     3,     1,     2,     2,     2,     4,     4,
    1362        4,     4,     1,     2,     2,     3,     1,     2,     2,     1,
    1363        2,     2,     3,     1,     2,     2,     1,     1,     4,     2,
    1364        0,     6,     7,     2,     2,     2,     0,     2,     2,     3,
    1365        2,     3,     1,     2,     3,     2,     2,     4,     0,     1,
    1366        2,     2,     1,     0,     1,     2,     2,     5,     2,     0,
    1367        7,     2,     4,     0,     2,     0,     1,     1,     1,     5,
    1368        5,     5,     1,     5,     5,     9,     1,     5,     0,     1,
    1369        1,     5,     1,     1,     5,     5,     1,     3,     3,     4,
    1370        1,     1,     1,     1,     2,     1,     3,     3,     1,     2,
    1371        1,     3,     1,     1,     1,     1,     1,     1,     1,     1,
    1372        1,     1,     1,     2,     1,     1,     1,     2,     0,     2,
    1373        2,     1,     4,     0,     1,     2,     3,     4,     2,     2,
    1374        1,     2,     2,     5,     5,     7,     6,     1,     2,     2,
    1375        3,     1,     2,     2,     4,     2,     4,     0,     4,     2,
    1376        1,     1,     1,     0,     2,     5,     5,    13,     1,     1,
    1377        3,     3,     2,     3,     3,     2,     4,     1,     6,     9,
    1378        0,    11,     1,     3,     3,     3,     1,     1,     5,     2,
    1379        5,     0,     1,     1,     3,     0,     1,     1,     1,     1,
    1380        0,     6,     2,     1,     2,     4,     2,     3,     3,     3,
    1381        4,     5,     5,     5,     6,     1,     1,     1,     3,     0,
    1382        5,     0,     1,     1,     2,     6,     1,     3,     0,     1,
    1383        4,     1,     1,     1,     1,     2,     1,     2,     2,     1,
    1384        3,     2,     3,     3,     2,     4,     4,     3,     8,     3,
    1385        2,     1,     2,     6,     8,     3,     2,     3,     3,     4,
    1386        4,     3,     1,     1,     1,     4,     6,     3,     2,     3,
    1387        3,     4,     4,     3,     2,     1,     2,     2,     1,     3,
    1388        2,     3,     3,     2,     4,     4,     3,     6,     8,     3,
    1389        2,     1,     2,     2,     2,     3,     3,     2,     4,     4,
    1390        3,     6,     8,     3,     2,     1,     2,     2,     1,     1,
    1391        2,     3,     3,     2,     4,     6,     8,     1,     2,     2,
    1392        1,     2,     2,     3,     3,     1,     4,     4,     3,     5,
    1393        8,     3,     2,     3,     1,     5,     5,     6,     6,     1,
     1365       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
     1366       2,     2,     3,     3,     1,     3,     1,     2,     2,     2,
     1367       4,     4,     4,     4,     1,     2,     2,     3,     1,     2,
     1368       2,     1,     2,     2,     3,     1,     2,     2,     1,     1,
     1369       4,     2,     0,     6,     7,     2,     2,     2,     0,     2,
     1370       2,     3,     2,     3,     1,     2,     3,     2,     2,     4,
     1371       0,     1,     2,     2,     1,     0,     1,     2,     2,     5,
     1372       2,     0,     7,     2,     4,     0,     2,     0,     1,     1,
     1373       1,     5,     5,     5,     1,     5,     5,     9,     1,     5,
     1374       0,     1,     1,     5,     1,     1,     5,     5,     1,     3,
     1375       3,     4,     1,     1,     1,     1,     2,     1,     3,     3,
     1376       1,     2,     1,     3,     1,     1,     1,     1,     1,     1,
     1377       1,     1,     1,     1,     1,     2,     1,     1,     1,     2,
     1378       0,     2,     2,     1,     4,     0,     1,     2,     3,     4,
     1379       2,     2,     1,     2,     2,     5,     5,     7,     6,     1,
     1380       2,     2,     3,     1,     2,     2,     4,     2,     4,     0,
     1381       4,     2,     1,     1,     1,     0,     2,     5,     5,    13,
     1382       1,     1,     3,     3,     2,     3,     3,     2,     4,     1,
     1383       6,     9,     0,    11,     1,     3,     3,     3,     1,     1,
     1384       5,     2,     5,     0,     1,     1,     3,     0,     1,     1,
     1385       1,     1,     0,     6,     2,     1,     2,     4,     2,     3,
     1386       3,     3,     4,     5,     5,     5,     6,     1,     1,     1,
     1387       3,     0,     5,     0,     1,     1,     2,     6,     1,     3,
     1388       0,     1,     4,     1,     1,     1,     1,     2,     1,     2,
     1389       2,     1,     3,     2,     3,     3,     2,     4,     4,     3,
     1390       8,     3,     2,     1,     2,     6,     8,     3,     2,     3,
     1391       3,     4,     4,     3,     1,     1,     1,     4,     6,     3,
     1392       2,     3,     3,     4,     4,     3,     2,     1,     2,     2,
     1393       1,     3,     2,     3,     3,     2,     4,     4,     3,     6,
     1394       8,     3,     2,     1,     2,     2,     2,     3,     3,     2,
     1395       4,     4,     3,     6,     8,     3,     2,     1,     2,     2,
     1396       1,     1,     2,     3,     3,     2,     4,     6,     8,     1,
    13941397       2,     2,     1,     2,     2,     3,     3,     1,     4,     4,
    1395        3,     5,     8,     3,     1,     2,     1,     2,     6,     5,
    1396        6,     7,     7,     1,     2,     2,     1,     2,     2,     3,
    1397        3,     1,     4,     4,     3,     8,     3,     1,     1,     2,
    1398        1,     1,     2,     3,     2,     3,     2,     3,     3,     2,
    1399        4,     3,     2,     3,     2,     4,     3,     2,     6,     6,
    1400        6,     7,     1,     2,     1,     1,     1,     2,     3,     2,
    1401        3,     2,     3,     3,     4,     2,     3,     4,     2,     5,
    1402        6,     6,     0,     1,     0,     2
     1398       3,     5,     8,     3,     2,     3,     1,     5,     5,     6,
     1399       6,     1,     2,     2,     1,     2,     2,     3,     3,     1,
     1400       4,     4,     3,     5,     8,     3,     1,     2,     1,     2,
     1401       6,     5,     6,     7,     7,     1,     2,     2,     1,     2,
     1402       2,     3,     3,     1,     4,     4,     3,     8,     3,     1,
     1403       1,     2,     1,     1,     2,     3,     2,     3,     2,     3,
     1404       3,     2,     4,     3,     2,     3,     2,     4,     3,     2,
     1405       6,     6,     6,     7,     1,     2,     1,     1,     1,     2,
     1406       3,     2,     3,     2,     3,     3,     4,     2,     3,     4,
     1407       2,     5,     6,     6,     0,     1,     0,     2
    14031408};
    14041409
     
    14101415     298,   298,   318,   316,   319,   317,   320,   321,   304,   306,
    14111416     305,     0,   307,   332,   324,   329,   327,   328,   326,   325,
    1412      330,   331,   336,   333,   334,   335,   551,   551,   551,     0,
    1413        0,     0,   298,   225,   308,   322,   323,     9,   363,     0,
    1414       10,    16,    17,     0,     2,    72,    73,   569,    11,   298,
    1415      529,   527,   252,     3,   458,     3,   265,     0,     3,     3,
    1416        3,   253,     3,     0,     0,     0,   299,   300,   302,   298,
    1417      311,   314,   344,   290,   337,   342,   291,   352,   292,   359,
    1418      356,   366,     0,     0,   367,   293,   477,   481,     3,     3,
    1419        0,     2,   523,   528,   533,   303,     0,     0,   551,   581,
    1420      551,     2,   592,   593,   594,   298,     0,   735,   736,     0,
    1421       14,     0,    15,   298,   274,   275,     0,   299,   294,   295,
    1422      296,   297,   530,   309,   396,   552,   553,   374,   375,    14,
    1423      449,   450,    13,   445,   448,     0,   507,   502,   493,   449,
    1424      450,     0,     0,   532,   226,     0,   298,     0,     0,     0,
    1425        0,     0,     0,     0,     0,   298,   298,     0,   737,   299,
    1426      586,   598,   741,   734,   732,   739,     0,     0,     0,   259,
    1427        2,     0,   536,   443,   444,   442,     0,     0,     0,     0,
    1428      551,     0,   638,   639,     0,     0,   549,   545,   551,   566,
    1429      551,   551,   547,     2,   546,   551,   605,   551,   551,   608,
    1430        0,     0,     0,   298,   298,   316,   364,     2,   298,   266,
    1431      301,   312,   345,   357,   482,     0,     2,     0,   458,   267,
    1432      299,   338,   353,   360,   478,     0,     2,     0,   315,   339,
    1433      346,   347,     0,   354,   358,   361,   365,   450,   298,   376,
    1434      369,   373,     0,   398,   479,   483,     0,     0,     0,     1,
    1435      298,     2,   534,   580,   582,   298,     2,   745,   299,   748,
    1436      549,   549,     0,   299,     0,     0,   277,   551,   547,     2,
    1437      298,     0,     0,   298,   554,     2,   505,     2,   558,     0,
    1438        0,     0,     0,     0,     0,    21,    69,     4,     8,    19,
    1439        5,     6,     7,     0,     0,   298,     2,    74,    75,    76,
    1440       77,    57,    22,    58,    18,    26,    56,    78,   298,     0,
    1441       80,    84,    87,    90,    95,    98,   100,   102,   104,   106,
    1442      108,   112,   499,    23,   456,   498,     0,   454,   455,     0,
    1443      570,   585,   588,   591,   597,   600,   603,     2,   743,   298,
    1444      746,     2,    72,   298,     3,   430,     0,   438,   299,   298,
    1445      311,   337,   291,   352,   359,     3,     3,   412,   416,   426,
    1446      431,   477,   298,   432,   710,   711,   298,   433,   435,     2,
    1447      587,   599,   733,     2,     2,   254,     2,   463,     0,   461,
    1448      460,   459,   146,     2,     2,   256,     2,     2,   255,     2,
    1449      285,     2,   286,     0,   284,     0,     0,     0,     0,     0,
    1450        0,     0,     0,     0,   571,   610,     0,   458,     2,   565,
    1451      574,   664,   567,   568,   537,   298,     2,   604,   613,   606,
    1452      607,     0,   280,   298,   298,   343,   299,     0,   299,   298,
    1453      738,   742,   740,   538,   298,   549,   260,   268,   313,     0,
    1454        2,   539,   298,   503,   340,   341,   287,   355,   362,     0,
    1455      298,     0,   752,   403,     0,   480,   504,   257,   258,   524,
    1456      298,   440,     0,   298,   242,     0,     2,   244,     0,   299,
    1457        0,   262,     2,   263,   282,     0,     0,     2,   298,   549,
    1458      298,   490,   492,   491,     0,     0,   754,     0,   298,     0,
    1459      298,   494,   298,   564,   562,   563,   561,     0,   556,   559,
    1460        0,     0,   298,    64,   298,    78,    59,   298,    66,   298,
    1461      298,    62,    63,     2,   132,     0,     0,   452,     0,   451,
    1462      732,   298,    20,    31,     0,    34,    35,    40,     2,     0,
    1463       40,   118,   119,   120,   121,   122,   123,   124,   125,   126,
    1464      127,   117,   116,     0,    60,    61,     0,     0,     0,     0,
     1417     330,   331,   337,   338,   336,   333,   334,   335,   553,   553,
     1418     553,     0,     0,     0,   298,   225,   308,   322,   323,     9,
     1419     365,     0,    10,    16,    17,     0,     2,    72,    73,   571,
     1420      11,   298,   531,   529,   252,     3,   460,     3,   265,     0,
     1421       3,     3,     3,   253,     3,     0,     0,     0,   299,   300,
     1422     302,   298,   311,   314,   346,   290,   339,   344,   291,   354,
     1423     292,   361,   358,   368,     0,     0,   369,   293,   479,   483,
     1424       3,     3,     0,     2,   525,   530,   535,   303,     0,     0,
     1425     553,   583,   553,     2,   594,   595,   596,   298,     0,   737,
     1426     738,     0,    14,     0,    15,   298,   274,   275,     0,   299,
     1427     294,   295,   296,   297,   532,   309,   398,   554,   555,   376,
     1428     377,    14,   451,   452,    13,   447,   450,     0,   509,   504,
     1429     495,   451,   452,     0,     0,   534,   226,     0,   298,     0,
     1430       0,     0,     0,     0,     0,     0,     0,   298,   298,     0,
     1431     739,   299,   588,   600,   743,   736,   734,   741,     0,     0,
     1432       0,   259,     2,     0,   538,   445,   446,   444,     0,     0,
     1433       0,     0,   553,     0,   640,   641,     0,     0,   551,   547,
     1434     553,   568,   553,   553,   549,     2,   548,   553,   607,   553,
     1435     553,   610,     0,     0,     0,   298,   298,   316,   366,     2,
     1436     298,   266,   301,   312,   347,   359,   484,     0,     2,     0,
     1437     460,   267,   299,   340,   355,   362,   480,     0,     2,     0,
     1438     315,   341,   348,   349,     0,   356,   360,   363,   367,   452,
     1439     298,   378,   371,   375,     0,   400,   481,   485,     0,     0,
     1440       0,     1,   298,     2,   536,   582,   584,   298,     2,   747,
     1441     299,   750,   551,   551,     0,   299,     0,     0,   277,   553,
     1442     549,     2,   298,     0,     0,   298,   556,     2,   507,     2,
     1443     560,     0,     0,     0,     0,     0,     0,    21,    69,     4,
     1444       8,    19,     5,     6,     7,     0,     0,   298,     2,    74,
     1445      75,    76,    77,    57,    22,    58,    18,    26,    56,    78,
     1446     298,     0,    80,    84,    87,    90,    95,    98,   100,   102,
     1447     104,   106,   108,   112,   501,    23,   458,   500,     0,   456,
     1448     457,     0,   572,   587,   590,   593,   599,   602,   605,     2,
     1449     745,   298,   748,     2,    72,   298,     3,   432,     0,   440,
     1450     299,   298,   311,   339,   291,   354,   361,     3,     3,   414,
     1451     418,   428,   433,   479,   298,   434,   712,   713,   298,   435,
     1452     437,     2,   589,   601,   735,     2,     2,   254,     2,   465,
     1453       0,   463,   462,   461,   146,     2,     2,   256,     2,     2,
     1454     255,     2,   285,     2,   286,     0,   284,     0,     0,     0,
     1455       0,     0,     0,     0,     0,     0,   573,   612,     0,   460,
     1456       2,   567,   576,   666,   569,   570,   539,   298,     2,   606,
     1457     615,   608,   609,     0,   280,   298,   298,   345,   299,     0,
     1458     299,   298,   740,   744,   742,   540,   298,   551,   260,   268,
     1459     313,     0,     2,   541,   298,   505,   342,   343,   287,   357,
     1460     364,     0,   298,     0,   754,   405,     0,   482,   506,   257,
     1461     258,   526,   298,   442,     0,   298,   242,     0,     2,   244,
     1462       0,   299,     0,   262,     2,   263,   282,     0,     0,     2,
     1463     298,   551,   298,   492,   494,   493,     0,     0,   756,     0,
     1464     298,     0,   298,   496,   298,   566,   564,   565,   563,     0,
     1465     558,   561,     0,     0,   298,    64,   298,    78,    59,   298,
     1466      66,   298,   298,    62,    63,     2,   132,     0,     0,   454,
     1467       0,   453,   734,   298,    20,    31,     0,    34,    35,    40,
     1468       2,     0,    40,   118,   119,   120,   121,   122,   123,   124,
     1469     125,   126,   127,   117,   116,     0,    60,    61,     0,     0,
    14651470       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    1466        0,     0,     0,     0,     0,     2,   650,   457,   647,   551,
    1467      551,   655,   484,   298,     2,   589,   590,     0,   601,   602,
    1468        0,   744,   747,   298,   298,     0,   712,   299,   716,   707,
    1469      708,   714,     0,     2,     2,   672,   551,   754,   621,   551,
    1470      551,   754,   551,   635,   551,   551,   686,   439,   669,   551,
    1471      551,   677,   684,   298,   434,   299,     0,     0,   298,   722,
    1472      299,   727,   754,   719,   298,   724,   754,   298,   298,     0,
    1473        0,    21,     2,     0,    22,     0,   464,   752,     0,     0,
    1474      470,   246,     0,   298,     0,     0,     0,   549,   573,   577,
    1475      579,   609,   612,   616,   619,   572,   611,     0,   288,   662,
    1476        0,   298,   281,     0,     0,     0,     0,   279,     2,     0,
    1477      264,   540,   298,     0,     0,   298,     2,   368,   388,   377,
    1478        0,     0,   382,   376,   753,     0,     0,   401,     0,   299,
    1479        3,   419,     3,   423,   422,   595,     0,   535,   298,    72,
    1480        3,   298,   438,   299,     3,   432,   433,     2,     0,     0,
    1481        0,   489,   310,   298,     0,   485,   487,     3,     2,     2,
    1482        0,   506,     3,     0,   558,   134,     0,     0,   227,     0,
    1483        0,     0,     0,    41,     0,     0,   298,    24,     0,    25,
    1484        0,   696,   701,   453,   693,   551,   551,     0,   114,     3,
    1485        2,    32,     0,    38,     0,     2,    29,     0,   113,    81,
    1486       82,    83,    85,    86,    88,    89,    93,    94,    91,    92,
    1487       96,    97,    99,   101,   103,   105,   107,     0,     0,   298,
    1488        0,     0,     0,   651,   652,   648,   649,   501,   500,   298,
    1489        0,   718,   298,   723,   299,   298,   666,   709,   665,     2,
    1490      298,     0,     0,     0,     0,     0,     0,     0,     0,   687,
    1491        0,   673,   624,   640,   674,     2,   620,   627,   436,   622,
    1492      623,   437,     2,   634,   643,   636,   637,   670,   671,   685,
    1493      713,   717,   715,   754,   272,     2,   749,     2,   427,   721,
    1494      726,   428,     3,   406,     3,     3,     3,   458,     0,     0,
    1495        2,   472,   469,   753,     0,   465,     2,   468,   471,     0,
    1496      298,   247,   269,     3,   276,   278,     0,   458,     2,   575,
    1497      576,     2,   614,   615,     0,   663,   541,     3,   349,   348,
    1498      351,   350,   298,   542,     0,   543,   376,     0,     0,   298,
    1499        0,     0,   696,   386,   389,   393,   551,   393,   392,   385,
    1500      378,   551,   380,   383,   298,   403,   397,   111,   404,   752,
    1501        0,     0,   441,   245,     0,     0,     3,     2,   672,   434,
    1502        0,   531,     0,   754,   755,   493,     0,   298,   298,   298,
    1503        0,   555,   557,   135,     0,     0,   220,     0,     0,     0,
    1504      228,   229,    65,     0,    67,    70,    71,     0,   133,     0,
    1505        0,     0,   697,   698,   694,   695,   463,    79,   115,   130,
    1506        3,   114,     0,    28,    40,     3,     0,    37,   110,     0,
    1507        3,   654,   658,   661,   653,     3,   596,   720,   725,     2,
    1508       72,   298,     3,     3,   299,     0,     3,   626,   630,   633,
    1509      642,   676,   680,   683,   298,     3,   625,   641,   675,   298,
    1510      298,   429,   298,   298,     0,     0,     0,     0,   261,   111,
    1511        0,     3,     3,     0,   466,     0,   462,     0,     0,   250,
    1512      298,     0,     0,   134,     0,     0,     0,     0,     0,   134,
    1513        0,     0,   114,   114,    21,     0,     0,     3,   136,   137,
    1514        2,   148,   138,   139,   140,   141,   142,   143,   150,   152,
    1515        0,     0,     0,   289,   298,   298,   551,     0,   544,   298,
    1516      379,   381,     0,   395,   697,   390,   394,   391,   384,   388,
    1517      371,   402,     0,   583,     2,   668,   667,     0,   673,     2,
    1518      486,   488,   508,     3,   516,   517,     0,     2,   512,     3,
    1519        3,     0,     0,   560,   227,     0,     0,     0,   227,     0,
    1520        0,   700,   704,   706,   699,   752,   114,     0,     3,    54,
    1521        0,    54,    54,     3,    42,    44,    39,     0,     3,   109,
    1522        0,     2,   656,   657,     0,   298,     0,     0,     0,     3,
    1523      642,     0,     2,   628,   629,     2,   644,     2,   678,   679,
    1524        0,     0,    72,     0,     3,     3,     3,     3,   414,   413,
    1525      417,   751,     2,     2,   750,     0,     0,     0,     0,     3,
    1526      467,     3,     0,   248,   151,     3,   299,   298,     0,     0,
    1527        0,     0,     2,     0,   196,     0,   194,     0,     0,     0,
    1528        0,     0,     0,     0,   551,     0,   156,   153,   298,     0,
    1529        0,   271,   283,     3,     3,   550,   617,   372,   387,   400,
    1530      298,   270,   298,     0,   519,   496,   298,     0,     0,   495,
    1531      510,     0,     0,     0,   221,     0,   230,    68,     2,   702,
    1532      703,     0,   131,   128,     0,    51,     2,    45,    52,    53,
    1533        0,     0,     0,     0,    27,     0,   659,   298,   584,   728,
    1534      729,   730,     0,   681,   298,   298,   298,     3,     3,     0,
    1535      689,     0,     0,     0,     0,   298,   298,     3,   548,   473,
    1536      474,     0,   251,   299,     0,     0,     0,     0,   298,   197,
    1537      195,   192,     0,   198,     0,     0,     0,     0,   202,   205,
    1538      203,   199,     0,   200,   134,    40,   149,   147,   249,     0,
    1539        0,   421,   425,   424,     0,   513,     2,   514,     2,   515,
    1540      509,   298,   233,     0,   231,     0,   233,   298,    36,   129,
    1541       55,     0,    43,    33,     2,    49,     2,    47,    30,     3,
    1542      731,     3,     3,     3,     0,     0,   688,   690,   631,   645,
    1543      273,     2,   411,     3,   410,     0,   476,   134,     0,     0,
    1544      134,     3,     0,   134,   193,     0,     2,     2,   214,   204,
    1545        0,     0,     0,   145,     0,   578,   618,     2,     0,     0,
    1546        2,   234,     0,     0,   222,     0,     3,     3,     0,     0,
    1547        0,     0,     0,     0,   691,   692,   298,     0,   475,   157,
    1548        0,     0,     2,   170,   134,   159,     0,   187,     0,   134,
    1549        0,     2,   161,     0,     2,     0,     2,     2,     2,   201,
    1550       37,   298,   518,   520,   511,     0,     0,     0,     0,     0,
    1551        0,     3,     3,   660,   632,   646,   682,   415,   134,   163,
    1552      166,     0,   165,   169,     3,   172,   171,     0,   134,   189,
    1553      134,     3,     0,   298,     0,   298,     0,     2,     0,     2,
    1554      144,     2,   235,   236,     0,   232,   223,   705,    46,     0,
    1555        0,   158,     0,     0,   168,   238,   173,     2,   240,   188,
    1556        0,   191,   177,   206,     3,   215,   219,   208,     3,     0,
    1557      298,     0,   298,     0,     0,     0,    50,    48,   164,   167,
    1558      134,     0,   174,   298,   134,   134,     0,   178,     0,     0,
    1559      696,   216,   217,   218,     0,   207,     3,   209,     3,   298,
    1560      224,   237,   154,   175,   160,   134,   241,   190,   185,   183,
    1561      179,   162,   134,     0,   697,     0,     0,     0,     0,   155,
    1562      176,   186,   180,   184,   183,   181,     3,     3,     0,     0,
    1563      497,   182,   210,   212,     3,     3,   211,   213
     1471       0,     0,     0,     0,     0,     0,     0,     2,   652,   459,
     1472     649,   553,   553,   657,   486,   298,     2,   591,   592,     0,
     1473     603,   604,     0,   746,   749,   298,   298,     0,   714,   299,
     1474     718,   709,   710,   716,     0,     2,     2,   674,   553,   756,
     1475     623,   553,   553,   756,   553,   637,   553,   553,   688,   441,
     1476     671,   553,   553,   679,   686,   298,   436,   299,     0,     0,
     1477     298,   724,   299,   729,   756,   721,   298,   726,   756,   298,
     1478     298,     0,     0,    21,     2,     0,    22,     0,   466,   754,
     1479       0,     0,   472,   246,     0,   298,     0,     0,     0,   551,
     1480     575,   579,   581,   611,   614,   618,   621,   574,   613,     0,
     1481     288,   664,     0,   298,   281,     0,     0,     0,     0,   279,
     1482       2,     0,   264,   542,   298,     0,     0,   298,     2,   370,
     1483     390,   379,     0,     0,   384,   378,   755,     0,     0,   403,
     1484       0,   299,     3,   421,     3,   425,   424,   597,     0,   537,
     1485     298,    72,     3,   298,   440,   299,     3,   434,   435,     2,
     1486       0,     0,     0,   491,   310,   298,     0,   487,   489,     3,
     1487       2,     2,     0,   508,     3,     0,   560,   134,     0,     0,
     1488     227,     0,     0,     0,     0,    41,     0,     0,   298,    24,
     1489       0,    25,     0,   698,   703,   455,   695,   553,   553,     0,
     1490     114,     3,     2,    32,     0,    38,     0,     2,    29,     0,
     1491     113,    81,    82,    83,    85,    86,    88,    89,    93,    94,
     1492      91,    92,    96,    97,    99,   101,   103,   105,   107,     0,
     1493       0,   298,     0,     0,     0,   653,   654,   650,   651,   503,
     1494     502,   298,     0,   720,   298,   725,   299,   298,   668,   711,
     1495     667,     2,   298,     0,     0,     0,     0,     0,     0,     0,
     1496       0,   689,     0,   675,   626,   642,   676,     2,   622,   629,
     1497     438,   624,   625,   439,     2,   636,   645,   638,   639,   672,
     1498     673,   687,   715,   719,   717,   756,   272,     2,   751,     2,
     1499     429,   723,   728,   430,     3,   408,     3,     3,     3,   460,
     1500       0,     0,     2,   474,   471,   755,     0,   467,     2,   470,
     1501     473,     0,   298,   247,   269,     3,   276,   278,     0,   460,
     1502       2,   577,   578,     2,   616,   617,     0,   665,   543,     3,
     1503     351,   350,   353,   352,   298,   544,     0,   545,   378,     0,
     1504       0,   298,     0,     0,   698,   388,   391,   395,   553,   395,
     1505     394,   387,   380,   553,   382,   385,   298,   405,   399,   111,
     1506     406,   754,     0,     0,   443,   245,     0,     0,     3,     2,
     1507     674,   436,     0,   533,     0,   756,   757,   495,     0,   298,
     1508     298,   298,     0,   557,   559,   135,     0,     0,   220,     0,
     1509       0,     0,   228,   229,    65,     0,    67,    70,    71,     0,
     1510     133,     0,     0,     0,   699,   700,   696,   697,   465,    79,
     1511     115,   130,     3,   114,     0,    28,    40,     3,     0,    37,
     1512     110,     0,     3,   656,   660,   663,   655,     3,   598,   722,
     1513     727,     2,    72,   298,     3,     3,   299,     0,     3,   628,
     1514     632,   635,   644,   678,   682,   685,   298,     3,   627,   643,
     1515     677,   298,   298,   431,   298,   298,     0,     0,     0,     0,
     1516     261,   111,     0,     3,     3,     0,   468,     0,   464,     0,
     1517       0,   250,   298,     0,     0,   134,     0,     0,     0,     0,
     1518       0,   134,     0,     0,   114,   114,    21,     0,     0,     3,
     1519     136,   137,     2,   148,   138,   139,   140,   141,   142,   143,
     1520     150,   152,     0,     0,     0,   289,   298,   298,   553,     0,
     1521     546,   298,   381,   383,     0,   397,   699,   392,   396,   393,
     1522     386,   390,   373,   404,     0,   585,     2,   670,   669,     0,
     1523     675,     2,   488,   490,   510,     3,   518,   519,     0,     2,
     1524     514,     3,     3,     0,     0,   562,   227,     0,     0,     0,
     1525     227,     0,     0,   702,   706,   708,   701,   754,   114,     0,
     1526       3,    54,     0,    54,    54,     3,    42,    44,    39,     0,
     1527       3,   109,     0,     2,   658,   659,     0,   298,     0,     0,
     1528       0,     3,   644,     0,     2,   630,   631,     2,   646,     2,
     1529     680,   681,     0,     0,    72,     0,     3,     3,     3,     3,
     1530     416,   415,   419,   753,     2,     2,   752,     0,     0,     0,
     1531       0,     3,   469,     3,     0,   248,   151,     3,   299,   298,
     1532       0,     0,     0,     0,     2,     0,   196,     0,   194,     0,
     1533       0,     0,     0,     0,     0,     0,   553,     0,   156,   153,
     1534     298,     0,     0,   271,   283,     3,     3,   552,   619,   374,
     1535     389,   402,   298,   270,   298,     0,   521,   498,   298,     0,
     1536       0,   497,   512,     0,     0,     0,   221,     0,   230,    68,
     1537       2,   704,   705,     0,   131,   128,     0,    51,     2,    45,
     1538      52,    53,     0,     0,     0,     0,    27,     0,   661,   298,
     1539     586,   730,   731,   732,     0,   683,   298,   298,   298,     3,
     1540       3,     0,   691,     0,     0,     0,     0,   298,   298,     3,
     1541     550,   475,   476,     0,   251,   299,     0,     0,     0,     0,
     1542     298,   197,   195,   192,     0,   198,     0,     0,     0,     0,
     1543     202,   205,   203,   199,     0,   200,   134,    40,   149,   147,
     1544     249,     0,     0,   423,   427,   426,     0,   515,     2,   516,
     1545       2,   517,   511,   298,   233,     0,   231,     0,   233,   298,
     1546      36,   129,    55,     0,    43,    33,     2,    49,     2,    47,
     1547      30,     3,   733,     3,     3,     3,     0,     0,   690,   692,
     1548     633,   647,   273,     2,   413,     3,   412,     0,   478,   134,
     1549       0,     0,   134,     3,     0,   134,   193,     0,     2,     2,
     1550     214,   204,     0,     0,     0,   145,     0,   580,   620,     2,
     1551       0,     0,     2,   234,     0,     0,   222,     0,     3,     3,
     1552       0,     0,     0,     0,     0,     0,   693,   694,   298,     0,
     1553     477,   157,     0,     0,     2,   170,   134,   159,     0,   187,
     1554       0,   134,     0,     2,   161,     0,     2,     0,     2,     2,
     1555       2,   201,    37,   298,   520,   522,   513,     0,     0,     0,
     1556       0,     0,     0,     3,     3,   662,   634,   648,   684,   417,
     1557     134,   163,   166,     0,   165,   169,     3,   172,   171,     0,
     1558     134,   189,   134,     3,     0,   298,     0,   298,     0,     2,
     1559       0,     2,   144,     2,   235,   236,     0,   232,   223,   707,
     1560      46,     0,     0,   158,     0,     0,   168,   238,   173,     2,
     1561     240,   188,     0,   191,   177,   206,     3,   215,   219,   208,
     1562       3,     0,   298,     0,   298,     0,     0,     0,    50,    48,
     1563     164,   167,   134,     0,   174,   298,   134,   134,     0,   178,
     1564       0,     0,   698,   216,   217,   218,     0,   207,     3,   209,
     1565       3,   298,   224,   237,   154,   175,   160,   134,   241,   190,
     1566     185,   183,   179,   162,   134,     0,   699,     0,     0,     0,
     1567       0,   155,   176,   186,   180,   184,   183,   181,     3,     3,
     1568       0,     0,   499,   182,   210,   212,     3,     3,   211,   213
    15641569};
    15651570
     
    15671572static const yytype_int16 yydefgoto[] =
    15681573{
    1569       -1,   800,   464,   301,    47,   133,   134,   302,   303,   304,
    1570      305,   306,   752,   753,  1113,  1114,  1115,  1225,   307,   378,
    1571      309,   310,   311,   312,   313,   314,   315,   316,   317,   318,
    1572      319,   320,   321,  1010,   514,   959,   543,   323,   960,   933,
    1573     1036,  1502,  1038,  1039,  1040,  1041,  1503,  1042,  1043,  1420,
    1574     1421,  1383,  1384,  1385,  1481,  1482,  1486,  1487,  1522,  1523,
    1575     1044,  1342,  1045,  1046,  1278,  1279,  1280,  1464,  1047,   145,
    1576      939,   940,   941,  1362,  1444,  1456,  1457,   465,   466,   860,
    1577      861,  1018,    51,    52,    53,    54,    55,   345,   157,    58,
    1578       59,    60,    61,    62,   347,    64,    65,   263,    67,    68,
    1579      273,   349,   350,    71,    72,    73,   118,    75,   203,   352,
    1580      119,    78,   120,    80,    81,   451,    82,   450,   679,   680,
    1581      681,   893,  1065,   894,    83,    84,   454,   452,   687,   842,
    1582      843,   355,   356,   690,   691,   692,   357,   358,   359,   360,
    1583      462,   176,   135,   136,   518,   325,   169,   636,   637,   638,
    1584      639,   640,    85,   121,    87,   485,   486,   925,   487,   276,
    1585      491,   326,    88,   137,   138,    89,  1301,  1087,  1088,  1089,
    1586     1090,    90,    91,   708,    92,   272,    93,    94,   186,  1012,
    1587      670,   409,   125,    95,   497,   498,   499,   187,   267,   189,
    1588      190,   191,   268,    98,    99,   100,   101,   102,   103,   104,
    1589      194,   195,   196,   197,   198,   812,   598,   599,   600,   601,
    1590      199,   603,   604,   605,   567,   568,   569,   570,   742,   105,
    1591      607,   608,   609,   610,   611,   612,   953,   744,   745,   746,
    1592      588,   363,   364,   365,   366,   327,   163,   107,   108,   109,
    1593      368,   685,   715
     1574      -1,   802,   466,   303,    49,   135,   136,   304,   305,   306,
     1575     307,   308,   754,   755,  1115,  1116,  1117,  1227,   309,   380,
     1576     311,   312,   313,   314,   315,   316,   317,   318,   319,   320,
     1577     321,   322,   323,  1012,   516,   961,   545,   325,   962,   935,
     1578    1038,  1504,  1040,  1041,  1042,  1043,  1505,  1044,  1045,  1422,
     1579    1423,  1385,  1386,  1387,  1483,  1484,  1488,  1489,  1524,  1525,
     1580    1046,  1344,  1047,  1048,  1280,  1281,  1282,  1466,  1049,   147,
     1581     941,   942,   943,  1364,  1446,  1458,  1459,   467,   468,   862,
     1582     863,  1020,    53,    54,    55,    56,    57,   347,   159,    60,
     1583      61,    62,    63,    64,   349,    66,    67,   265,    69,    70,
     1584     275,   351,   352,    73,    74,    75,   120,    77,   205,   354,
     1585     121,    80,   122,    82,    83,   453,    84,   452,   681,   682,
     1586     683,   895,  1067,   896,    85,    86,   456,   454,   689,   844,
     1587     845,   357,   358,   692,   693,   694,   359,   360,   361,   362,
     1588     464,   178,   137,   138,   520,   327,   171,   638,   639,   640,
     1589     641,   642,    87,   123,    89,   487,   488,   927,   489,   278,
     1590     493,   328,    90,   139,   140,    91,  1303,  1089,  1090,  1091,
     1591    1092,    92,    93,   710,    94,   274,    95,    96,   188,  1014,
     1592     672,   411,   127,    97,   499,   500,   501,   189,   269,   191,
     1593     192,   193,   270,   100,   101,   102,   103,   104,   105,   106,
     1594     196,   197,   198,   199,   200,   814,   600,   601,   602,   603,
     1595     201,   605,   606,   607,   569,   570,   571,   572,   744,   107,
     1596     609,   610,   611,   612,   613,   614,   955,   746,   747,   748,
     1597     590,   365,   366,   367,   368,   329,   165,   109,   110,   111,
     1598     370,   687,   717
    15941599};
    15951600
    15961601/* YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing
    15971602   STATE-NUM.  */
    1598 #define YYPACT_NINF -1333
     1603#define YYPACT_NINF -1267
    15991604static const yytype_int16 yypact[] =
    16001605{
    1601     6694,  7975, -1333,   -14, -1333, -1333, -1333, -1333, -1333, -1333,
    1602    -1333,    26, -1333, -1333, -1333, -1333, -1333, -1333, -1333, -1333,
    1603    -1333, -1333, -1333, -1333, -1333, -1333,   109,   109,   109,   759,
    1604      860,    66,  6930,   241, -1333, -1333, -1333, -1333, -1333,   199,
    1605    -1333, -1333, -1333,  1264,   207, -1333, -1333, -1333, -1333,  8320,
    1606    -1333, -1333, -1333, -1333,     3,   216, -1333,  1096, -1333, -1333,
    1607    -1333, -1333,   265,  1996,   389,    54,  5394, -1333, -1333,  8320,
    1608      780, -1333, -1333,   554,   416,  3688,   749,   995,   554,  1130,
    1609    -1333, -1333,   768,   826, -1333,   554,  1144, -1333,   313, -1333,
    1610      443,   462, -1333, -1333, -1333, -1333,   358,   216,   109, -1333,
    1611      109, -1333, -1333, -1333, -1333,  8461,  1096, -1333, -1333,  1096,
    1612    -1333,   414, -1333,  8545, -1333, -1333,  2376,  8575, -1333,  1138,
    1613     1138,  1138, -1333, -1333, -1333,   109, -1333, -1333, -1333,   370,
    1614      444,   488, -1333, -1333, -1333,   518, -1333, -1333, -1333, -1333,
    1615    -1333,   525,   576, -1333, -1333,    50,  8059,  1902,   238,   538,
    1616      578,   604,   613,   618,   635,  8659,  6327,   649, -1333,  8431,
    1617    -1333, -1333, -1333, -1333,   661, -1333,   -10,  9338,  9338, -1333,
    1618      662,   181, -1333, -1333, -1333, -1333,   680,   348,   393,   400,
    1619      109,   685, -1333, -1333,  1996,  2098,   801, -1333,    51, -1333,
    1620      109,   109,   216, -1333, -1333,   180, -1333,   109,   109, -1333,
    1621     2242,   712,   751,  1138,  6116, -1333, -1333, -1333,  8320, -1333,
    1622    -1333,   554, -1333, -1333, -1333,   216, -1333,  1096,     3, -1333,
    1623     7196, -1333,  1138,  1138,  1138,   216, -1333,   759, -1333,  4572,
    1624    -1333, -1333,   739,  1138, -1333,  1138, -1333,   199,  8059, -1333,
    1625      775, -1333,   860,   777,  1138, -1333,   759,   771,   804, -1333,
    1626     6930,   594, -1333, -1333, -1333,  4461, -1333, -1333,  5315, -1333,
    1627      801,   101,  9515,  8575,  2376,  2242, -1333,   187, -1333, -1333,
    1628     8545,  1096,   786, 10191, -1333, -1333,   434, -1333,  9931,   803,
    1629      866,  9574,   842,  9515,  9633, -1333,   845, -1333, -1333, -1333,
    1630    -1333, -1333, -1333,  9692,  9692,  7829,   207, -1333, -1333, -1333,
    1631    -1333, -1333, -1333, -1333,   885, -1333,  1691,  2462,  8059,  9515,
    1632    -1333,   558,   367,   614,   669,   742,   852,   846,   858,   883,
    1633      -13, -1333, -1333, -1333,   737, -1333,   269, -1333, -1333,  1902,
    1634    -1333, -1333,   465,   880, -1333,   586,   880, -1333, -1333,  8461,
    1635    -1333,   890,   897,  8174, -1333, -1333,  1514,  1088,  7619,  6116,
    1636      554, -1333,   554,  1138,  1138, -1333, -1333, -1333, -1333, -1333,
    1637    -1333,  1138,  8461,  1096, -1333, -1333,  8659,  1872, -1333, -1333,
    1638    -1333, -1333, -1333, -1333, -1333, -1333, -1333,  9279,  9515, -1333,
    1639    -1333, -1333, -1333, -1333, -1333, -1333, -1333, -1333, -1333, -1333,
    1640    -1333, -1333, -1333,  2376, -1333,   105,   903,   926,   928,   796,
    1641      931,   941,   943,  2098, -1333, -1333,   952,     3,   954, -1333,
    1642    -1333,   961, -1333, -1333, -1333,  4461, -1333, -1333, -1333, -1333,
    1643    -1333,  2242, -1333,  8059,  8059, -1333,  1138,  2376,  6237,  7691,
    1644    -1333, -1333, -1333, -1333,  4461,   101, -1333, -1333,   554,   216,
    1645    -1333, -1333,  4461, -1333,  5995, -1333, -1333,  1138,  1138,   394,
    1646     7535,   966,   959,   955,   974,  1138, -1333, -1333, -1333, -1333,
    1647     5606, -1333,   424,  5852, -1333,   216,   977, -1333,  2376, 10015,
    1648     9751, -1333, -1333, -1333, -1333,   884,  2242, -1333,  7691,   801,
    1649     6812, -1333, -1333, -1333,  1296,   456,   986,   860, 10191,  1468,
    1650     8545, -1333, 10191, -1333, -1333, -1333, -1333,   473, -1333,   988,
    1651      866,   242,  7829, -1333,  8689, -1333, -1333,  7829, -1333,  7944,
    1652     7829, -1333, -1333,   207, -1333,   485,  1009,   881,  1014, -1333,
    1653    -1333,  6085, -1333, -1333,   360, -1333, -1333,  9515, -1333,   362,
    1654     9515, -1333, -1333, -1333, -1333, -1333, -1333, -1333, -1333, -1333,
    1655    -1333, -1333, -1333,  9515, -1333, -1333,  9515,  9515,  9515,  9515,
    1656     9515,  9515,  9515,  9515,  9515,  9515,  9515,  9515,  9515,  9515,
    1657     9515,  9515,  9515,  9515,  3091,   737,  1207, -1333, -1333,   109,
    1658      109, -1333, -1333,  8059, -1333, -1333,   961,   594, -1333,   961,
    1659     9810, -1333, -1333,  8659,  6085,   993, -1333,  8575, -1333, -1333,
    1660      661, -1333,  1039,   587,  1045,  2359,   209,   986, -1333,   109,
    1661      109,   986,   212, -1333,   109,   109,   961, -1333, -1333,   109,
    1662      109, -1333,   880,  8773,  1096, 10160,   415,   496,  8773, -1333,
    1663     5315, -1333,   986, -1333,  8461, -1333,   126,  7313,  7313,  1096,
    1664     9397,  1029, -1333,  1354,  1033,  1043, -1333,  1060,  9338,   407,
    1665    -1333,  1151,  1096,  7313,   594,  2376,   594,   801,   631,   880,
    1666    -1333, -1333,   692,   880, -1333, -1333, -1333,   866, -1333,   880,
    1667      216,  5606, -1333,   494,  1073,   520,  1074, -1333,   890,   216,
    1668    -1333, -1333,  4461,   216,  1071,  8689,   207, -1333,   972, -1333,
    1669      401,   438,   860, -1333,   860,  1075,  9515, -1333,   860, 10160,
    1670    -1333, -1333,  1079, -1333, -1333, -1333,   594, -1333, 10088,   897,
    1671    -1333,  7313,   960,  7619, -1333, -1333,   661,  1076,  1081,  1296,
    1672     2130, -1333, -1333, 10191,  9515, -1333, -1333,  1085, -1333, -1333,
    1673     1093, -1333,  1085,  1098,  9931,  9515,  1097,  1094,    38,  1119,
    1674     1115,  1124,  1125, -1333,  1126,  1127,  6085, -1333,  9515, -1333,
    1675      881,  1631, -1333, -1333, -1333,   109,   109,  9456,  9515,  1132,
    1676    -1333, -1333,   577, -1333,  9515, -1333, -1333,   843, -1333, -1333,
    1677    -1333, -1333,   558,   558,   367,   367,   614,   614,   614,   614,
    1678      669,   669,   742,   852,   846,   858,   883,  9515,   296,  5606,
    1679     1131,  1133,  1136,  1207, -1333, -1333, -1333, -1333, -1333,  5606,
    1680      616, -1333,  8461, -1333,  6448,  8289, -1333, -1333, -1333,   587,
    1681     5606,   990,  1140,  1141,  1142,  1145,  1146,  1147,  1149, -1333,
    1682     2845,  2359, -1333, -1333, -1333, -1333, -1333, -1333, -1333, -1333,
    1683    -1333, -1333, -1333, -1333, -1333, -1333, -1333, -1333, -1333,   961,
    1684    -1333, -1333, -1333,   986, -1333, -1333, -1333, -1333, -1333, -1333,
    1685    -1333, -1333, -1333, -1333,  1150,  1152, -1333,     3,  1132,  9397,
    1686    -1333, -1333, -1333,  9279,  1154, -1333, -1333, -1333, -1333,   860,
    1687     5689,  1243, -1333, -1333, -1333, -1333,  1143,     3, -1333, -1333,
    1688      961, -1333, -1333,   961,    14,   961, -1333, -1333, -1333, -1333,
    1689    -1333, -1333,  6327, -1333,   216, -1333, -1333,   452,   487,  6327,
    1690     1790,  9515,  2983, -1333, -1333,  1153,    20,  1153, -1333,   860,
    1691    -1333,   109, -1333, -1333,  8090,   955, -1333, -1333, -1333,   959,
    1692     1161,  1157, -1333, -1333,  1163,  1164, -1333,   960,  1700, -1333,
    1693      539, -1333,  2130,   986, -1333, -1333,  1167, 10191,  8545,  8059,
    1694     1169, -1333, -1333,  1165,  1170,  1171, -1333,  9515,  1173,   310,
    1695     1177, -1333,  1180,   594,  1180, -1333, -1333,  1180, -1333,  1195,
    1696     1197,  1201,  1631, -1333, -1333, -1333,  9279, -1333, -1333, -1333,
    1697     1196,  9515,   730, -1333,  9515, -1333,   730, -1333, -1333,  9515,
    1698    -1333,   748,   880, -1333, -1333, -1333, -1333, -1333, -1333, -1333,
    1699      897,  8174, -1333, -1333,  6569,  1203, -1333,   758,   880, -1333,
    1700      763,   830,   880, -1333,  1138,  4995, -1333, -1333, -1333,  5606,
    1701     5606, -1333,  7691,  7691,  1205,  1210,  1223,  1209, -1333,   551,
    1702      162,  1132, -1333,   730, -1333,  9338, -1333,  9515,   513, -1333,
    1703     5964,  1214,  1227,  9220,  1234,  1235,    42,   160,   163,  9515,
    1704     1237,   216,  9515,  9515,  1226,   304,  1229, -1333, -1333, -1333,
    1705     1244, -1333, -1333, -1333, -1333, -1333, -1333, -1333, -1333, -1333,
    1706      860,  1248,  9515, -1333,  5606,  5606,   109,  1254, -1333,  8205,
    1707    -1333, -1333,   773, -1333,  2983, -1333, -1333, -1333, -1333,   972,
    1708    -1333, -1333,  1250, -1333, -1333, -1333, -1333,  1257,  1700, -1333,
    1709    -1333,  1241, -1333,  1085, -1333, -1333,  2376,  1256, -1333, -1333,
    1710    -1333,   617,  1258, -1333,    38,  1266,  9515,  1245,    38,    38,
    1711     1274,   878,   880, -1333, -1333,  1060,  9515,  1276,  1196, -1333,
    1712      841, -1333, -1333,  1270, -1333,   215, -1333,  1279,  1270, -1333,
    1713     1282, -1333, -1333,   961,  1283,  6206,  1284,  1285,  1286, -1333,
    1714    -1333,  1290, -1333, -1333,   961, -1333, -1333, -1333, -1333,   961,
    1715     9515,  9515,   897,  1291, -1333, -1333, -1333, -1333, -1333, -1333,
    1716    -1333, -1333, -1333, -1333, -1333,  9515,  9515,  1295,  1297,  1270,
    1717    -1333, -1333,   860, -1333, -1333, -1333,  7124,  8545,  9515,  9515,
    1718     1350,  9515, -1333,  1278, -1333,  1280, -1333,  1288,  9515,  1293,
    1719     9515,  1056,  1298,    72,   109,  2402, -1333, -1333,  5689,  1287,
    1720      521, -1333, -1333, -1333, -1333, -1333, -1333, -1333, -1333, -1333,
    1721     9036, -1333,  7691,  1305, -1333, -1333,  8545,   522,   524, -1333,
    1722     1308,  1302,   866,  1318, -1333,   325, -1333, -1333, -1333, -1333,
    1723      961,  1324, -1333, -1333,  1328,  1363, -1333, -1333,  1363,  1363,
    1724      730,  1333,  1026,  1220, -1333,  1339, -1333,  5606, -1333, -1333,
    1725    -1333, -1333,  1340, -1333,  5606,  5606,  5606, -1333, -1333,  1341,
    1726    -1333,  1342,  1345,  1347,   600,  7385,  7502, -1333, -1333, -1333,
    1727    -1333,  1352, -1333,  7763,   633,   634,  1353,   658,  5821, -1333,
    1728    -1333, -1333,   528, -1333,   659,  1362,  1364,   216,  1401,   965,
    1729    -1333, -1333,  9515, -1333,  9220,  9515, -1333, -1333, -1333,  1365,
    1730     1367, -1333, -1333, -1333,  1358, -1333, -1333, -1333, -1333, -1333,
    1731    -1333,  8545,   866,  1373, -1333,  1368,   866,  5606, -1333, -1333,
    1732    -1333,   730, -1333, -1333, -1333, -1333, -1333, -1333, -1333, -1333,
    1733    -1333, -1333, -1333, -1333,  1384,  1391, -1333, -1333, -1333, -1333,
    1734    -1333, -1333, -1333,  1404, -1333,  1408, -1333,  9220,   198,  9515,
    1735     9220, -1333,  1406,  9515, -1333,   323,  1378,  1427, -1333, -1333,
    1736     1416,  1417,  1395, -1333,   910, -1333, -1333, -1333,  1096,  2376,
    1737     1413, -1333,   326,  9515, -1333,   663, -1333,  1270,   730,   730,
    1738     1420,  1424,  1425,  1434, -1333, -1333,  7691,  1429, -1333,  1489,
    1739     9515,  1426, -1333, -1333,  9130, -1333,   689, -1333,  1414,  9220,
    1740     1418, -1333, -1333,  1445, -1333,  1449, -1333,  1467,  1469, -1333,
    1741     1435,  8545, -1333, -1333, -1333,   866,   594,  1456,  1436,  1460,
    1742     1466,  1270,  1270, -1333, -1333, -1333, -1333, -1333,  9220,   194,
    1743    -1333,   376, -1333, -1333,  7048, -1333, -1333,  1447,  9515, -1333,
    1744     9515,  7048,   216,  8689,   216,  8689,  1470, -1333,  1471, -1333,
    1745    -1333,  1477, -1333, -1333,   720, -1333, -1333, -1333, -1333,  1473,
    1746     1481, -1333,  9515,  9515, -1333, -1333,   991,    94, -1333, -1333,
    1747     1462, -1333,   991, -1333, -1333,  2158,   594, -1333, -1333,   216,
    1748     8689,   216,  8689,  1487,  1463,   594, -1333, -1333, -1333, -1333,
    1749     9130,  1484,   991,  5522,  9515,  9040,  1485,   991,  1493,  2158,
    1750     3005, -1333, -1333, -1333,  1494, -1333, -1333, -1333, -1333,  8059,
    1751    -1333, -1333, -1333,  8905, -1333,  9130, -1333, -1333,  1474,  8815,
    1752    -1333, -1333,  9040,   216,  3005,   216,  1498,  1500,   729, -1333,
    1753     8905, -1333, -1333, -1333,  8815, -1333, -1333, -1333,   216,   216,
    1754    -1333, -1333, -1333, -1333, -1333, -1333, -1333, -1333
     1606    5235,  8510, -1267,   -14, -1267, -1267, -1267, -1267, -1267, -1267,
     1607   -1267,   -27, -1267, -1267, -1267, -1267, -1267, -1267, -1267, -1267,
     1608   -1267, -1267, -1267, -1267, -1267, -1267, -1267, -1267,    84,    84,
     1609      84,  1541,   905,   123,  6677,   163, -1267, -1267, -1267, -1267,
     1610   -1267,   157, -1267, -1267, -1267,  1043,    81, -1267, -1267, -1267,
     1611   -1267,  4048, -1267, -1267, -1267, -1267,   225,   198, -1267,  1956,
     1612   -1267, -1267, -1267, -1267,   217,  1716,   371,    37,  6797, -1267,
     1613   -1267,  4048,   829, -1267, -1267,  1101,   380,  3172,   661,   839,
     1614    1101,   977, -1267, -1267,  1289,   340, -1267,  1101,  1140, -1267,
     1615     273, -1267,   439,   447, -1267, -1267, -1267, -1267,   337,   198,
     1616      84, -1267,    84, -1267, -1267, -1267, -1267,  7269,  1956, -1267,
     1617   -1267,  1956, -1267,   325, -1267,  7582, -1267, -1267,  2178,  8744,
     1618   -1267,   675,   675,   675, -1267, -1267, -1267,    84, -1267, -1267,
     1619   -1267,   360,   395,   436, -1267, -1267, -1267,   466, -1267, -1267,
     1620   -1267, -1267, -1267,   503,   515, -1267, -1267,   272,  8119,  1675,
     1621     307,   370,   377,   524,   565,   568,   580,  8828,  6307,   594,
     1622   -1267,  4677, -1267, -1267, -1267, -1267,   613, -1267,   271,  9583,
     1623    9583, -1267,   610,   339, -1267, -1267, -1267, -1267,   618,   379,
     1624     421,   468,    84,   603, -1267, -1267,  1716,  2591,   687, -1267,
     1625      90, -1267,    84,    84,   198, -1267, -1267,    91, -1267,    84,
     1626      84, -1267,  2973,   652,   657,   675,  6831, -1267, -1267, -1267,
     1627    4048, -1267, -1267,  1101, -1267, -1267, -1267,   198, -1267,  1956,
     1628     225, -1267,  7235, -1267,   675,   675,   675,   198, -1267,  1541,
     1629   -1267,  3826, -1267, -1267,   642,   675, -1267,   675, -1267,   157,
     1630    8119, -1267,   665, -1267,   905,   685,   675, -1267,  1541,   689,
     1631     710, -1267,  6677,   291, -1267, -1267, -1267,  8477, -1267, -1267,
     1632    4354, -1267,   687,     8,  9760,  8744,  2178,  2973, -1267,   101,
     1633   -1267, -1267,  7582,  1956,   740, 10515, -1267, -1267,   378, -1267,
     1634   10178,   730,   705,  9819,   773,  9760,  9878, -1267,   794, -1267,
     1635   -1267, -1267, -1267, -1267, -1267,  9937,  9937,  7885,    81, -1267,
     1636   -1267, -1267, -1267, -1267, -1267, -1267,   834, -1267,  1184,  2546,
     1637    8119,  9760, -1267,   525,   415,   844,   338,   853,   823,   831,
     1638     841,   886,    56, -1267, -1267, -1267,   518, -1267,   528, -1267,
     1639   -1267,  1675, -1267, -1267,   456,   900, -1267,   490,   900, -1267,
     1640   -1267,  7269, -1267,   940,   946,  8236, -1267, -1267,   536,  1525,
     1641    7667,  6831,  1101, -1267,  1101,   675,   675, -1267, -1267, -1267,
     1642   -1267, -1267, -1267,   675,  7269,  1956, -1267, -1267,  8828,  1786,
     1643   -1267, -1267, -1267, -1267, -1267, -1267, -1267, -1267, -1267,  9524,
     1644    9760, -1267, -1267, -1267, -1267, -1267, -1267, -1267, -1267, -1267,
     1645   -1267, -1267, -1267, -1267, -1267,  2178, -1267,   446,   945,   961,
     1646     968,   800,   973,   976,   981,  2591, -1267, -1267,   939,   225,
     1647     982, -1267, -1267,   987, -1267, -1267, -1267,  8477, -1267, -1267,
     1648   -1267, -1267, -1267,  2973, -1267,  8119,  8119, -1267,   675,  2178,
     1649   10547,  7742, -1267, -1267, -1267, -1267,  8477,     8, -1267, -1267,
     1650    1101,   198, -1267, -1267,  8477, -1267,  5404, -1267, -1267,   675,
     1651     675,   579,  8594,   994,   993,   983,   998,   675, -1267, -1267,
     1652   -1267, -1267,  9019, -1267,   616, 10212, -1267,   198,  1004, -1267,
     1653    2178, 10298,  9996, -1267, -1267, -1267, -1267,   843,  2973, -1267,
     1654    7742,   687,  5806, -1267, -1267, -1267,  1900,   626,   990,   905,
     1655   10515,  1647,  7582, -1267, 10515, -1267, -1267, -1267, -1267,   627,
     1656   -1267,  1013,   705,   154,  7885, -1267,  8860, -1267, -1267,  7885,
     1657   -1267,  8002,  7885, -1267, -1267,    81, -1267,   640,  1015,   658,
     1658    1021, -1267, -1267,  6061, -1267, -1267,   315, -1267, -1267,  9760,
     1659   -1267,   368,  9760, -1267, -1267, -1267, -1267, -1267, -1267, -1267,
     1660   -1267, -1267, -1267, -1267, -1267,  9760, -1267, -1267,  9760,  9760,
     1661    9760,  9760,  9760,  9760,  9760,  9760,  9760,  9760,  9760,  9760,
     1662    9760,  9760,  9760,  9760,  9760,  9760,  3432,   518,  1212, -1267,
     1663   -1267,    84,    84, -1267, -1267,  8119, -1267, -1267,   987,   291,
     1664   -1267,   987, 10055, -1267, -1267,  8828,  6061,  1020, -1267,  8744,
     1665   -1267, -1267,   613, -1267,  1023,  1793,  1025,  1950,   136,   990,
     1666   -1267,    84,    84,   990,   407, -1267,    84,    84,   987, -1267,
     1667   -1267,    84,    84, -1267,   900,  8944,  1956, 10447,   356,   541,
     1668    8944, -1267,  4354, -1267,   990, -1267,  7269, -1267,   126,  7354,
     1669    7354,  1956,  9642,  1003, -1267,   789,  1008,  1010, -1267,  1026,
     1670    9583,   449, -1267,  1114,  1956,  7354,   291,  2178,   291,   687,
     1671     707,   900, -1267, -1267,   766,   900, -1267, -1267, -1267,   705,
     1672   -1267,   900,   198,  9019, -1267,   643,  1041,   647,  1045, -1267,
     1673     940,   198, -1267, -1267,  8477,   198,  1042,  8860,    81, -1267,
     1674    1307, -1267,   471,   481,   905, -1267,   905,  1047,  9760, -1267,
     1675     905, 10447, -1267, -1267,  1056, -1267, -1267, -1267,   291, -1267,
     1676   10373,   946, -1267,  7354,   694,  7667, -1267, -1267,   613,  1052,
     1677    1057,  1900,  2267, -1267, -1267, 10515,  9760, -1267, -1267,  1055,
     1678   -1267, -1267,  1048, -1267,  1055,  1063, 10178,  9760,  1046,  1051,
     1679     117,  1065,  1062,  1070,  1074, -1267,  1081,  1082,  6061, -1267,
     1680    9760, -1267,   658,  1520, -1267, -1267, -1267,    84,    84,  9701,
     1681    9760,  1077, -1267, -1267,   679, -1267,  9760, -1267, -1267,   821,
     1682   -1267, -1267, -1267, -1267,   525,   525,   415,   415,   844,   844,
     1683     844,   844,   338,   338,   853,   823,   831,   841,   886,  9760,
     1684     397,  9019,  1085,  1086,  1087,  1212, -1267, -1267, -1267, -1267,
     1685   -1267,  9019,   691, -1267,  7269, -1267,  6430,  8353, -1267, -1267,
     1686   -1267,  1793,  9019,   856,  1089,  1091,  1092,  1093,  1096,  1098,
     1687    1104, -1267,  3291,  1950, -1267, -1267, -1267, -1267, -1267, -1267,
     1688   -1267, -1267, -1267, -1267, -1267, -1267, -1267, -1267, -1267, -1267,
     1689   -1267,   987, -1267, -1267, -1267,   990, -1267, -1267, -1267, -1267,
     1690   -1267, -1267, -1267, -1267, -1267, -1267,  1105,  1106, -1267,   225,
     1691    1077,  9642, -1267, -1267, -1267,  9524,  1108, -1267, -1267, -1267,
     1692   -1267,   905,  5524,  1197, -1267, -1267, -1267, -1267,  1095,   225,
     1693   -1267, -1267,   987, -1267, -1267,   987,  1117,   987, -1267, -1267,
     1694   -1267, -1267, -1267, -1267,  6307, -1267,   198, -1267, -1267,   505,
     1695     507,  6307,  1549,  9760,  2098, -1267, -1267,  1099,    38,  1099,
     1696   -1267,   905, -1267,    84, -1267, -1267,  8627,   983, -1267, -1267,
     1697   -1267,   993,  1120,  1115, -1267, -1267,  1122,  1123, -1267,   694,
     1698    1698, -1267,   576, -1267,  2267,   990, -1267, -1267,  1126, 10515,
     1699    7582,  8119,  1129, -1267, -1267,  1125,  1135,  1118, -1267,  9760,
     1700    1141,   190,  1136, -1267,  1142,   291,  1142, -1267, -1267,  1142,
     1701   -1267,  1147,  1152,  1154,  1520, -1267, -1267, -1267,  9524, -1267,
     1702   -1267, -1267,  1163,  9760,   986, -1267,  9760, -1267,   986, -1267,
     1703   -1267,  9760, -1267,   894,   900, -1267, -1267, -1267, -1267, -1267,
     1704   -1267, -1267,   946,  8236, -1267, -1267,  6553,  1171, -1267,   898,
     1705     900, -1267,   920,   936,   900, -1267,   675,  7112, -1267, -1267,
     1706   -1267,  9019,  9019, -1267,  7742,  7742,  1172,  1167,  1168,  1175,
     1707   -1267,   670,   111,  1077, -1267,   986, -1267,  9583, -1267,  9760,
     1708     540, -1267,  5932,  1180,  1181,  9465,  1182,  1185,    -8,    40,
     1709      86,  9760,  1191,   198,  9760,  9760,  1177,   585,  1169, -1267,
     1710   -1267, -1267,  1187, -1267, -1267, -1267, -1267, -1267, -1267, -1267,
     1711   -1267, -1267,   905,  1195,  9760, -1267,  9019,  9019,    84,  1201,
     1712   -1267,  8711, -1267, -1267,   862, -1267,  2098, -1267, -1267, -1267,
     1713   -1267,  1307, -1267, -1267,  1198, -1267, -1267, -1267, -1267,  1202,
     1714    1698, -1267, -1267,  1196, -1267,  1055, -1267, -1267,  2178,  1210,
     1715   -1267, -1267, -1267,   704,  1217, -1267,   117,  1214,  9760,  1200,
     1716     117,   117,  1224,   950,   900, -1267, -1267,  1026,  9760,  1230,
     1717    1163, -1267,   943, -1267, -1267,  1220, -1267,    78, -1267,  1231,
     1718    1220, -1267,  1234, -1267, -1267,   987,  1236,  6184,  1235,  1239,
     1719    1241, -1267, -1267,  1238, -1267, -1267,   987, -1267, -1267, -1267,
     1720   -1267,   987,  9760,  9760,   946,  1243, -1267, -1267, -1267, -1267,
     1721   -1267, -1267, -1267, -1267, -1267, -1267, -1267,  9760,  9760,  1244,
     1722    1248,  1220, -1267, -1267,   905, -1267, -1267, -1267,  7070,  7582,
     1723    9760,  9760,  1318,  9760, -1267,  1233, -1267,  1246, -1267,  1250,
     1724    9760,  1254,  9760,   938,  1255,    47,    84,  1805, -1267, -1267,
     1725    5524,  1256,   554, -1267, -1267, -1267, -1267, -1267, -1267, -1267,
     1726   -1267, -1267,  9281, -1267,  7742,  1260, -1267, -1267,  7582,   555,
     1727     561, -1267,  1273,  1262,   705,  1283, -1267,   256, -1267, -1267,
     1728   -1267, -1267,   987,  1282, -1267, -1267,  1288,  1321, -1267, -1267,
     1729    1321,  1321,   986,  1292,  1699,  1866, -1267,  1295, -1267,  9019,
     1730   -1267, -1267, -1267, -1267,  1298, -1267,  9019,  9019,  9019, -1267,
     1731   -1267,  1300, -1267,  1301,  1310,  1311,   725,  7429,  7548, -1267,
     1732   -1267, -1267, -1267,  1305, -1267,  7817,   709,   755,  1317,   758,
     1733    5667, -1267, -1267, -1267,   582, -1267,   768,  1319,  1323,   198,
     1734    1369,   935, -1267, -1267,  9760, -1267,  9465,  9760, -1267, -1267,
     1735   -1267,  1320,  1326, -1267, -1267, -1267,  1324, -1267, -1267, -1267,
     1736   -1267, -1267, -1267,  7582,   705,  1330, -1267,  1313,   705,  9019,
     1737   -1267, -1267, -1267,   986, -1267, -1267, -1267, -1267, -1267, -1267,
     1738   -1267, -1267, -1267, -1267, -1267, -1267,  1337,  1340, -1267, -1267,
     1739   -1267, -1267, -1267, -1267, -1267,  1343, -1267,  1342, -1267,  9465,
     1740     276,  9760,  9465, -1267,  1346,  9760, -1267,   281,  1361,  1363,
     1741   -1267, -1267,  1355,  1356,  1339, -1267,   901, -1267, -1267, -1267,
     1742    1956,  2178,  1347, -1267,   401,  9760, -1267,   783, -1267,  1220,
     1743     986,   986,  1362,  1364,  1365,  1367, -1267, -1267,  7742,  1357,
     1744   -1267,  1438,  9760,  1352, -1267, -1267,  9375, -1267,   791, -1267,
     1745    1360,  9465,  1368, -1267, -1267,  1386, -1267,  1389, -1267,  1407,
     1746    1409, -1267,  1376,  7582, -1267, -1267, -1267,   705,   291,  1403,
     1747    1382,  1405,  1404,  1220,  1220, -1267, -1267, -1267, -1267, -1267,
     1748    9465,   240, -1267,   474, -1267, -1267,  6917, -1267, -1267,  1385,
     1749    9760, -1267,  9760,  6917,   198,  8860,   198,  8860,  1410, -1267,
     1750    1411, -1267, -1267,  1408, -1267, -1267,   802, -1267, -1267, -1267,
     1751   -1267,  1422,  1423, -1267,  9760,  9760, -1267, -1267,   979,    59,
     1752   -1267, -1267,  1390, -1267,   979, -1267, -1267,  2042,   291, -1267,
     1753   -1267,   198,  8860,   198,  8860,  1427,  1412,   291, -1267, -1267,
     1754   -1267, -1267,  9375,  1425,   979,  6995,  9760,  9285,  1426,   979,
     1755    1435,  2042,  2360, -1267, -1267, -1267,  1436, -1267, -1267, -1267,
     1756   -1267,  8119, -1267, -1267, -1267,  9148, -1267,  9375, -1267, -1267,
     1757    1416,  9058, -1267, -1267,  9285,   198,  2360,   198,  1441,  1445,
     1758     814, -1267,  9148, -1267, -1267, -1267,  9058, -1267, -1267, -1267,
     1759     198,   198, -1267, -1267, -1267, -1267, -1267, -1267, -1267, -1267
    17551760};
    17561761
     
    17581763static const yytype_int16 yypgoto[] =
    17591764{
    1760    -1333,  3826,  2645, -1333,   849, -1333,   762,   867,  -112,   956,
    1761    -1333,   580,  -517,  -490,  -904,  -999, -1333,   -62,  4003,     0,
    1762    -1333,   676,   547,   572,   581,   571,  1057,  1058,  1059,  1055,
    1763     1061, -1333,   963,  -485,  4467,  -910, -1333, -1333,   665,   184,
    1764     -691,   319, -1333,   356, -1333,   440, -1283, -1333, -1333,   176,
    1765    -1333, -1072, -1062,   285, -1333, -1333, -1333, -1333,   107, -1332,
    1766    -1333, -1333, -1333, -1333, -1333, -1333,   359, -1109,    16, -1333,
    1767     -288, -1333,   535,   330, -1333,   208, -1333,  -237, -1333, -1333,
    1768    -1333,   596,  -693, -1333, -1333,     9,  -933,   372,  2238, -1333,
    1769    -1333, -1333,   -57, -1333,   110,    36,  -194,  1419,  3198, -1333,
    1770    -1333,    12,    61,  1486,  1572, -1333,  1265, -1333, -1333,    21,
    1771     1950, -1333,  2034,  1735, -1333, -1333, -1333,  -611, -1333,   975,
    1772      976,   584,   761,   136, -1333, -1333, -1333,   967,   755,  -456,
    1773    -1333,  -528,  -433,   832, -1333, -1333,  -922,  -915,  -420,  1560,
    1774     1084,    19, -1333,   388,   467,  -359,  -203,  -145,   706,   811,
    1775    -1333,  1028, -1333,  2348,   798,  -442,   958, -1333, -1333,   740,
    1776    -1333,  -233, -1333,   118, -1333, -1333, -1333, -1243,   466, -1333,
    1777    -1333, -1333,  1188, -1333,    -1, -1333, -1333,  -832,  -108, -1152,
    1778     -131,  3669, -1333,  4255, -1333,   951, -1333,  -125,   120,  -178,
    1779     -173,  -170,     7,   -41,   -40,   -39,   619,    -5,    25,    46,
    1780       -4,  -167,  -166,  -158,  -157,  -296,  -519,  -516,  -510,  -538,
    1781     -311,  -552, -1333, -1333,  -514,  1111,  1112,  1114,  1610,  4174,
    1782     -565,  -560,  -546,  -522,  -389, -1333,  -475,  -720,  -716,  -715,
    1783     -584,  -222,  -287, -1333, -1333,    47,   102,   -51, -1333,  3453,
    1784      108,  -602,  -196
     1765   -1267,  4051,  2784, -1267,   133, -1267,  1353,   867,  -240, -1267,
     1766   -1267,   504,  -528,  -489,  -834, -1001, -1267,   -77,  4776,     0,
     1767   -1267,   793,   489,   531,   722,   534,   999,  1001,  1005,  1007,
     1768    1002, -1267,   711,  -584,  4023,  -739, -1267, -1267,   606,  -227,
     1769    -674,  -263, -1267,   335, -1267,   382,  -963, -1267, -1267,   119,
     1770   -1267,  -732, -1049,   228, -1267, -1267, -1267, -1267,    54, -1266,
     1771   -1267, -1267, -1267, -1267, -1267, -1267,   302, -1050,    23, -1267,
     1772    -171, -1267,   482,   277, -1267,   153, -1267,  -355, -1267, -1267,
     1773   -1267,   538,  -612, -1267, -1267,     9,  -990,   219,  2319, -1267,
     1774   -1267, -1267,  -124, -1267,   110,    36,  -188,  1213,  3869, -1267,
     1775   -1267,    12,    61,   970,  1623, -1267,  1495, -1267, -1267,    21,
     1776    1827, -1267,  2153,  1937, -1267, -1267, -1267,  -641, -1267,   911,
     1777     914,   521,   695,   -93, -1267, -1267, -1267,   906,   690,  -521,
     1778   -1267,  -507,  -417,  -420, -1267, -1267,  -914,  -941,  -147,   -54,
     1779    1019,    19, -1267,  2311,   381,  -366,  -185,  -122,   649,   745,
     1780   -1267,   964, -1267,  2435,  1823,  -463,   895, -1267, -1267,   693,
     1781   -1267,  -225, -1267,   103, -1267, -1267, -1267, -1263,   408, -1267,
     1782   -1267, -1267,  1139, -1267,    42, -1267, -1267,  -832,   -94, -1230,
     1783    -162,  2364, -1267,  3117, -1267,   908, -1267,  -103,   120,  -184,
     1784    -183,  -178,     7,   -40,   -39,   -36,  1505,     4,    32,    71,
     1785      92,  -173,  -172,  -170,  -168,  -306,  -510,  -503,  -496,  -559,
     1786    -313,  -498, -1267, -1267,  -514,  1064,  1072,  1076,  1925,  4399,
     1787    -524,  -566,  -556,  -543,  -548, -1267,  -508,  -723,  -722,  -717,
     1788    -582,  -166,  -229, -1267, -1267,   283,   102,     6, -1267,  3380,
     1789     108,  -611,  -462
    17851790};
    17861791
     
    17881793   positive, shift that token.  If negative, reduce the rule which
    17891794   number is the opposite.  If YYTABLE_NINF, syntax error.  */
    1790 #define YYTABLE_NINF -527
     1795#define YYTABLE_NINF -529
    17911796static const yytype_int16 yytable[] =
    17921797{
    1793       49,   113,   149,   150,   151,   449,   396,    97,   266,   425,
    1794      114,   397,    69,   757,   398,   436,    50,   399,   400,   732,
    1795      949,    76,   380,   381,   950,   951,   401,   402,  1049,   831,
    1796      814,   143,    49,   806,   934,   854,   602,   116,   152,    97,
    1797      693,   805,   743,   147,    69,   704,   717,   807,    50,    49,
    1798      722,   597,   784,    76,   259,   407,   160,   813,  1360,    31,
    1799      404,    70,  1118,   185,   664,   666,   208,   122,   153,    49,
    1800      192,   808,   904,   215,   802,   621,   225,   803,   218,   625,
    1801     1148,  1149,   201,   804,   563,   158,   396,  1165,  1150,   154,
    1802       31,   397,   422,    70,   398,   522,   162,   399,   400,   844,
    1803      844,   279,   106,   106,   340,   113,   401,   402,   374,  1159,
    1804       63,  1227,   167,   113,  1173,   844,   265,   270,   564,   289,
    1805       96,   589,  1182,  1183,   375,   260,  1056,   211,   261,   471,
    1806      473,   721,   202,   408,   106,  1282,   168,   123,  -239,  -239,
    1807      404,   257,    63,   149,   150,   151,   308,   147,    31,   158,
    1808      734,   937,    96,  1510,   160,   113,   343,   165,  1441,   208,
    1809      162,   280,   251,   148,   408,   406,   370,  1048,   501,    96,
    1810      949,   106,   846,   844,   950,   951,  1174,   142,   660,   152,
    1811     1525,   405,   324,   188,   185,   185,    96,   863,   711,    96,
    1812      802,   338,   160,   803,   845,   845,  1222,   669,   467,   804,
    1813      265,   908,  1509,   898,   658,   673,  1283,   817,    49,   153,
    1814      845,  -239,   472,   824,   788,   160,   251,   330,   408,    31,
    1815      208,   165,  1520,   149,   150,   151,    31,   439,  1422,  1524,
    1816      154,  1312,  1175,  1315,  1317,  1177,   435,   472,   308,   806,
    1817      427,   693,  1380,  1381,   430,   916,   998,   985,    31,   459,
    1818       49,    31,   144,   807,   328,   431,   705,    97,   270,   714,
    1819     1155,   405,    69,   270,   265,   265,    50,    96,   845,   974,
    1820      113,    76,   160,   997,   324,  1059,    76,   808,   655,    96,
    1821      802,   438,  1178,   803,   602,   647,  1156,  1150,   582,   804,
    1822      479,   416,  1452,   408,  1176,   308,   793,   496,   477,   384,
    1823      408,  1422,  1232,   704,   395,   188,   430,  1072,   308,   484,
    1824      146,    70,  1426,   662,  1382,   385,   432,   431,  1156,   667,
    1825      815,   155,   594,   822,   566,   594,  1468,  1164,    96,   147,
    1826     1233,   517,   170,  1148,  1149,  1165,   370,   840,  1179,   113,
    1827       96,  1150,   519,   343,   158,   443,   328,   595,   613,   251,
    1828      330,   655,   106,   814,   727,   162,  1049,   806,   467,   693,
    1829       63,  1496,   618,  1498,   456,   468,   618,  1380,  1381,   693,
    1830       96,   807,    56,   115,   728,   581,   285,   467,   432,   586,
    1831      693,   572,   622,   180,   475,   467,   626,   573,   726,    41,
    1832       42,   589,   200,   265,  1480,   808,   589,   831,   619,   656,
    1833     1485,   818,   623,   185,    56,   821,  1063,  1367,  1426,   211,
    1834      370,   172,   817,  1426,   738,   510,   165,   376,   141,  -294,
    1835     1505,   265,  1097,   308,   308,  1512,   838,   265,   969,   618,
    1836      841,   246,   110,  1426,   110,   884,    76,  1305,   209,  1391,
    1837     1426,   219,  1098,   249,  1405,    41,    42,    41,    42,    96,
    1838      113,   591,  1095,   252,  1417,    76,   704,  1306,  1406,   324,
    1839      324,  1150,  -522,    76,  1411,  1412,   387,   596,   265,   251,
    1840      240,   243,   656,   750,  1116,   755,   265,  1104,   618,   515,
    1841       49,   -12,   388,   370,   710,  1083,   678,    97,   549,   550,
    1842      113,  1165,    69,   855,  1453,  1048,    50,   682,  1165,   116,
    1843      602,    76,   308,  1221,   113,   978,   674,   308,  1454,   308,
    1844      308,   389,   573,   998,   705,   996,   867,   741,   391,   899,
    1845      856,   343,   633,   188,   484,   468,   324,   390,   484,   834,
    1846      211,   328,   328,   835,   392,   900,   695,   865,   517,   857,
    1847      517,    70,   696,   517,   468,   324,   517,   262,   414,   519,
    1848     1165,   519,   468,   895,   519,  -446,   901,   519,     2,   205,
    1849        4,     5,     6,     7,   489,   566,   566,   490,   712,  1147,
    1850      899,   433,   902,   308,   713,  1343,   574,  1341,   408,   693,
    1851      693,   441,   106,   618,   343,   723,  1060,   613,   702,  1104,
    1852       63,   724,   437,   595,   898,   595,   795,   737,   328,  -447,
    1853       96,  1136,  1138,   738,   596,   901,   878,   663,   665,   324,
    1854      836,  1213,   738,   618,   837,   467,   938,   328,   618,   791,
    1855      613,  1061,    56,    35,   618,    36,   996,   618,   618,   275,
    1856      453,  1162,   880,   833,   693,   693,   277,  1001,   738,  1162,
    1857     1296,   913,  1298,   618,  1008,   265,   738,  1163,   847,   830,
    1858      331,   516,  1390,   836,   586,  1288,  1297,  1079,  1299,    37,
    1859      839,   862,  1344,    40,  1053,  -112,   110,   705,   161,  -112,
    1860     1257,  1258,    41,    42,   897,   113,   438,   546,   892,    41,
    1861       42,   328,   193,   547,   548,   216,   515,   278,   226,   963,
    1862      332,   515,   704,    76,   515,   964,  1091,   577,   799,   408,
    1863      594,   618,   918,   613,   551,   552,    45,    46,  1014,   710,
    1864      710,   678,   396,   801,  1330,   596,   333,   397,  1331,    76,
    1865      398,   832,   682,   399,   400,   334,   591,  1080,   976,  1209,
    1866      335,  1458,   401,   402,   696,   573,   343,  1460,  1458,  1461,
    1867      741,   741,   868,   496,   408,  1337,  1338,   336,   778,   484,
    1868      211,   738,   738,     2,   205,     4,     5,     6,     7,   589,
    1869      369,   553,   554,   111,   211,   635,   161,   404,  1354,   949,
    1870     1340,  1345,   373,   950,   951,  1408,   738,   738,   371,   382,
    1871     1292,  1405,   468,   566,     2,   205,     4,     5,     6,     7,
    1872     1506,   386,   618,  1507,   981,   671,   555,   556,   896,   595,
    1873     1140,  1427,   110,   871,   161,   408,  1211,   738,   468,  1109,
    1874     1215,   595,  1110,   227,  1111,    41,    42,   693,    35,   394,
    1875       36,   697,  1333,   423,   693,   693,   693,   161,   977,   801,
    1876      596,   129,  1474,   130,   131,   132,   557,   558,  1475,   440,
    1877      110,  1530,   139,   237,    41,    42,   702,   573,   565,    35,
    1878      408,    36,    56,    41,    42,   211,    45,    46,   516,  1121,
    1879      308,   408,   424,   516,   214,   406,   516,    48,   112,  1132,
    1880     1160,   408,    69,   446,  1135,   716,   594,   720,  1407,   238,
    1881      241,    76,   343,    -3,   239,   330,   408,   693,   405,   343,
    1882      892,  -370,   892,  -399,   795,  1419,   112,   112,   110,    48,
    1883      139,   140,   480,   705,   113,   457,   175,   416,   651,   408,
    1884       48,    41,    42,   110,   500,   214,    48,   918,   918,   801,
    1885     1109,    70,   710,  1110,    48,  1111,    41,    42,   113,   308,
    1886       48,   596,   110,    48,   139,   140,    48,  1084,   458,   655,
    1887      678,  1137,   242,   594,   895,    41,    42,   289,   371,   112,
    1888      112,   682,   741,   504,  1226,   175,   509,   214,   175,   506,
    1889      967,   964,   106,   484,  1086,   324,   522,  1478,  1419,   729,
    1890       63,   730,   559,    48,   731,   560,    48,   735,  1204,   562,
    1891      705,   343,   938,    48,   544,   545,   938,   938,   561,  1218,
    1892     1492,   408,   740,   337,   408,   477,   330,   408,  -295,   702,
    1893       45,    46,   618,   618,   583,     8,     9,    10,    11,    12,
    1894     1062,    -3,   896,   461,    48,   648,   876,   830,   214,   544,
    1895      308,   851,   371,  1350,  1351,   883,    48,  1400,   964,   885,
    1896      106,  1066,  1167,  1066,    31,  1380,  1381,   328,   649,  1104,
    1897      650,    76,   596,   652,    37,   438,   182,   183,    40,  1228,
    1898     1229,    48,    48,   653,   544,   654,   214,    41,    42,   113,
    1899      656,   214,    34,   657,   892,   897,   175,    48,   659,   892,
    1900      903,   917,   905,   594,   256,    48,   453,   684,   918,    45,
    1901       46,    70,   683,   890,    48,   408,   265,    48,   686,   832,
    1902      688,    45,    46,  -243,   112,   678,   762,   763,   110,   725,
    1903     1303,   815,   330,   594,   891,  1109,   682,   796,  1110,   112,
    1904     1111,    41,    42,   112,  1275,  1276,  1277,    48,   112,   714,
    1905      175,   739,   106,   764,   765,   343,   747,   175,   770,   771,
    1906      468,    48,    48,  -296,   766,   767,   768,   769,    48,  1314,
    1907        8,     9,    10,    11,    12,    48,   214,  -297,     8,     9,
    1908       10,    11,    12,   798,     8,     9,    10,    11,    12,   809,
    1909       37,   -14,   182,   183,    40,   -15,   270,   113,    37,    31,
    1910      173,   174,    40,    41,    42,   852,   218,    31,   853,  1037,
    1911      859,    41,    42,    31,   896,   879,   881,   886,   308,   896,
    1912     1361,  -420,   906,  -526,  1361,   175,    48,    34,   921,   593,
    1913       69,   594,   618,   713,   929,    34,   113,    45,    46,    76,
    1914      931,    34,   175,    48,    48,  1084,   175,     8,     9,    10,
    1915       11,    12,   759,   760,   761,   111,   214,   211,   936,   935,
    1916       48,   942,    56,   943,    48,   702,   944,   945,   946,   947,
    1917     1058,   635,  1086,   971,   634,   972,    31,  1019,   973,    70,
    1918      961,  1403,   987,   988,   989,   618,   618,   990,   991,   992,
    1919       48,   993,  -408,   270,  -407,    74,  1518,   214,   308,   106,
    1920       48,  1016,  1050,  1073,    34,  1074,  1052,  1075,  1076,  1082,
    1921     1167,  1092,  1093,   738,  1096,   891,   751,  1068,    48,    76,
    1922      106,   756,   110,  1442,    48,  1099,   956,    74,    63,  1109,
    1923     1085,   113,  1110,  1094,  1111,    41,    42,  1101,   106,  1102,
    1924     1084,   396,   702,  1103,  1106,  1130,   397,  1151,   565,   398,
    1925      408,  1154,   399,   400,   438,  1168,    45,    46,  1152,    70,
    1926      112,   401,   402,  1316,   221,    48,    37,  1086,  1169,   461,
    1927       40,  1153,  1170,    48,   635,  1171,  1172,    48,  1180,    41,
    1928       42,    48,  1264,  1265,   112,  1267,   112,  1491,  1184,   265,
    1929     1191,    -3,  1272,  1186,  1274,   404,  1196,  1199,    37,  1201,
    1930      106,   489,    40,  1205,  1210,    43,   618,  1402,   468,  1214,
    1931     1212,    41,    42,    45,    46,   214,  1217,  1181,  1230,   655,
    1932     1223,   112,    56,  1234,  1236,  1238,   112,  1266,  1239,  1240,
    1933     1241,   113,  1243,   106,  1287,  1250,   864,   709,   866,  1259,
    1934     1084,  1260,  1269,   214,  1270,    45,    46,  1294,   214,    66,
    1935      117,   351,  1271,   957,   113,  1300,   110,  1273,   139,   140,
    1936     1304,   113,  1281,   113,  1302,   113,  1167,  1086,  1019,    41,
    1937       42,  1308,  1309,  1167,   112,    76,  1310,  1313,   149,   150,
    1938      151,    66,    76,  1318,  1320,  1326,  1327,  1328,   912,  1329,
    1939       48,  1277,    48,   175,  1339,  1490,  1336,   850,   159,  1465,
    1940      113,  1465,   113,  1346,  1357,  1347,  1393,  1355,   175,  1356,
    1941     1466,    48,  1466,   113,  1363,    70,   405,   214,   220,  1490,
    1942     1490,   175,    70,   877,   445,  1167,    48,   160,  1374,   308,
    1943      112,   214,  1364,   106,    76,  1375,  1465,  1037,  1465,    48,
    1944      656,   112,    48,   112,  1490,    74,  -409,  1466,  1389,  1466,
    1945       74,   370,  1378,  1386,   258,  1395,   106,  1397,  1398,  1399,
    1946     1404,  1418,  1413,   106,   468,   324,  1414,  1415,   209,   219,
    1947      110,   468,   139,   140,    70,    48,  1416,  1331,  1428,   112,
    1948     1262,   112,  1430,    41,    42,   112,   228,  1432,  1423,   229,
    1949       56,  1434,   233,   112,   235,  1436,   329,  1438,  1445,  1440,
    1950     1446,   244,  1447,   175,   258,   348,    48,    48,  1085,   718,
    1951     1448,  1459,  1469,  1471,   719,   106,    37,  1476,   173,   174,
    1952       40,    48,   214,   468,  1473,  1477,  1484,  1500,  1499,    41,
    1953       42,  1504,  1511,  1353,   403,  1513,  1515,   328,  1521,   475,
    1954     1528,   970,  1529,   874,   221,  1185,   772,   775,   773,   421,
    1955      774,   975,   426,   428,   776,   369,  1108,   159,  1286,  1479,
    1956     1392,  1531,   986,  1348,  1216,   437,  1365,  1349,   212,  1462,
    1957       56,     8,     9,    10,    11,    12,  1190,   231,   444,   907,
    1958      887,   888,   447,  1198,   448,   909,  1379,   544,  1067,  1387,
    1959     1071,   790,  1105,   455,  1015,  1081,    48,   858,   707,    66,
    1960       31,   923,  1295,  1085,   469,   932,   780,   781,    48,   782,
    1961       74,     0,     0,     0,   476,     0,     0,     0,     0,   212,
    1962        0,     0,   428,     0,   351,     0,   506,   228,    34,    74,
    1963        0,     0,     0,  1425,     0,  1100,     0,    74,  1429,     0,
     1798      51,   115,   398,   399,   759,   151,   152,    99,   400,   153,
     1799     116,   745,    71,   401,   402,   451,   403,   427,   404,   951,
     1800     952,    78,   734,    52,   268,   953,   409,   719,   856,   808,
     1801    1051,   724,  1167,   833,    51,   438,   604,   118,   815,   809,
     1802    1362,    99,   503,   599,   906,   149,    71,   382,   383,   154,
     1803     819,    51,   810,   936,   786,    78,   826,    52,   162,   666,
     1804     668,    72,   662,   706,  1152,   187,  1175,   203,   210,   124,
     1805     517,    51,   194,   816,   408,   217,   145,   155,   227,    33,
     1806     220,   671,   398,   399,   406,   804,   125,   160,   400,   675,
     1807    1150,  1151,   805,   401,   402,    72,   403,   807,   404,   806,
     1808     473,   475,   108,   108,   910,  -239,  -239,   115,   424,   848,
     1809      65,  1229,  1284,   261,  1177,   115,   156,   204,   267,   272,
     1810      98,   474,   846,   846,   865,    33,   723,   262,  1176,   213,
     1811     263,    33,    33,   469,  1120,   623,   108,   820,   846,   627,
     1812    1443,   823,    33,   259,    65,   736,   151,   152,   310,   149,
     1813     153,   160,  1424,   410,    98,   565,   162,   115,   345,   167,
     1814    1179,   210,   840,   342,   406,   150,   843,  1234,   372,   951,
     1815     952,    98,   900,   108,   146,   953,  1178,    33,  -239,   591,
     1816     713,  1161,   918,  1285,   326,   190,   187,   187,    98,   566,
     1817     154,    98,   177,   340,   162,  1235,   846,   157,   665,   667,
     1818     291,   804,   267,   253,   418,   410,   410,  1180,   805,   790,
     1819      51,  1157,   847,   847,   479,   806,   410,   162,   155,    58,
     1820     117,  1512,   210,   167,   660,  1424,   151,   152,   847,   441,
     1821     153,  1314,   939,  1317,  1319,   808,   144,  1158,   437,   474,
     1822     310,   177,   429,   879,   177,   809,   432,  1061,  1527,   817,
     1823    1050,   596,    51,    58,   999,   819,   330,   156,   810,    99,
     1824     272,   716,   728,  1152,    71,   272,   267,   267,   729,    98,
     1825     148,   976,   115,    78,   162,    52,   326,   517,    78,   407,
     1826    1167,    98,   517,   440,   604,   517,   847,   211,   730,  1000,
     1827     221,   804,   481,   469,   461,  1184,  1185,   310,   805,   498,
     1828    1074,   649,   657,   987,  1099,   806,   397,   190,   432,  1065,
     1829     310,   486,   469,    72,   707,   695,   172,  1152,   434,   886,
     1830     469,   706,  1382,  1383,  1100,   281,   568,  1382,  1383,   664,
     1831      98,   149,   445,   519,   164,   669,   169,   182,   372,   780,
     1832    1454,   115,    98,  1150,  1151,   345,   160,   584,   330,   597,
     1833     615,   458,   177,   808,   108,  1097,   795,  1181,  1051,   407,
     1834     170,   972,    65,   809,   620,   112,  1158,   470,   620,  1224,
     1835    1307,   977,    98,  1003,   202,   657,   810,   583,    43,    44,
     1836     434,   588,   988,  -294,   624,   282,   477,  1470,   628,   112,
     1837    1308,   376,   174,   248,  1384,   267,   816,   842,   164,  1393,
     1838     621,   833,    43,    44,   625,   187,   177,   377,   696,  1482,
     1839    1166,   213,   372,   177,   112,  1487,   141,   142,   167,   876,
     1840     253,   332,  1498,   267,  1500,   310,   310,    43,    44,   267,
     1841     752,   620,   555,   556,   254,  1507,  1167,  1152,    78,   251,
     1842    1514,   439,   112,  1167,  1138,  1140,  1106,  -524,    33,   591,
     1843     253,    98,   115,   593,   591,    43,    44,    78,   244,   386,
     1844     264,   326,   326,  1082,  1419,    78,  1085,   557,   558,   598,
     1845     267,    58,   836,   -12,   706,   387,   837,  1118,   267,  1369,
     1846     620,   177,    51,   757,   333,   372,   712,   869,   680,    99,
     1847     940,   334,   115,   433,    71,  1167,  1223,   658,   177,   389,
     1848     604,   118,   177,    78,   310,    52,   115,   998,  -448,   310,
     1849     491,   310,   310,   492,  1215,   390,   695,   740,   857,   743,
     1850     824,  1407,   596,   345,  1511,   190,   486,   470,   326,   416,
     1851     486,   971,   213,   330,   330,  1408,  1413,  1414,   551,   552,
     1852     519,   391,   519,    72,  1522,   519,   470,   326,   519,  -449,
     1853     469,  1526,   435,   867,   470,   433,  1000,   392,  1106,   253,
     1854     332,   410,   443,   900,   858,   980,   635,   568,   568,   576,
     1855     658,   410,   707,  1259,  1260,   310,   915,   897,  1050,   277,
     1856     521,  1147,  1148,   859,   108,   620,   345,  1149,   393,   615,
     1857     704,   901,    65,   164,  1455,   597,  1343,   597,   797,  1039,
     1858     330,   903,    98,   579,   394,   410,   598,   902,  1456,   696,
     1859      39,   326,   175,   176,    42,   620,   279,   904,   998,   330,
     1860     620,   793,   615,    43,    44,   901,   620,   903,   280,   620,
     1861     620,   567,   518,   410,   695,   835,  1195,  1196,   335,    47,
     1862      48,  1062,   574,  1063,   695,   620,   548,   267,   575,   371,
     1863     849,   832,   549,   550,  1428,   695,   588,   838,  1345,   287,
     1864    1164,   839,   841,   864,  1010,     2,   207,     4,     5,     6,
     1865       7,  1392,    43,    44,  1164,  1298,  1165,   115,   440,   336,
     1866     894,  1300,   337,   330,  1055,     8,     9,    10,    11,    12,
     1867    1290,  1299,   838,   676,   338,    78,  1081,  1301,   512,   575,
     1868     378,    58,   740,   620,   920,   615,  1093,   371,   398,   399,
     1869     706,   712,   712,   680,   400,   803,    33,   598,  1346,   401,
     1870     402,    78,   403,   834,   404,   707,   375,   696,   593,   384,
     1871     697,   388,    37,  1016,    38,   684,   698,   696,   345,   396,
     1872     714,   725,   743,   743,    36,   498,   715,   726,   696,   177,
     1873    1428,   486,   213,   408,   739,  1428,  1462,   880,  1463,  1356,
     1874     740,   882,  1172,   740,   177,   425,   213,   740,   951,   952,
     1875     426,   742,   899,   410,   953,  1428,   673,   177,   448,    47,
     1876      48,  1409,  1428,  -372,   470,   568,  -112,   521,   291,   521,
     1877    -112,   406,   521,   965,   620,   521,   983,    -3,  1421,   966,
     1878     898,   597,   699,  -401,  1068,   978,  1068,   919,  1142,   596,
     1879     470,   698,  1509,   597,  1460,    47,    48,   591,  1211,  1321,
     1880     870,  1460,   410,  1339,   575,   459,  1323,  1324,  1325,   740,
     1881     979,   803,   598,     2,   207,     4,     5,     6,     7,   518,
     1882    1335,  1332,  -295,   502,   518,  1333,   460,   518,   704,     8,
     1883       9,    10,    11,    12,   695,   695,   940,   213,   482,   177,
     1884     940,   940,   310,   112,   229,   141,   142,    50,   114,  1340,
     1885    1480,  1421,  1342,  1508,    71,   740,    43,    44,   740,   873,
     1886      33,   410,  1347,    78,   345,   731,   506,   732,   740,  1368,
     1887     733,   345,   894,   737,   894,  1162,   797,  1410,   114,   114,
     1888      37,    50,    38,  1407,   852,  1429,   115,   511,    36,   695,
     1889     695,   740,    50,   418,   653,   410,  1476,   524,    50,   920,
     1890     920,   803,  1477,    72,   712,  1213,    50,  1039,  1532,  1217,
     1891     115,   310,    50,   598,   575,    50,   553,   554,    50,  1086,
     1892     969,   966,   680,  1266,  1267,   561,  1269,   696,   696,   559,
     1893     560,   114,   114,  1274,   743,  1276,   479,   332,   410,  1494,
     1894     684,   707,   562,   657,   108,   486,  1088,   326,   897,   817,
     1895     332,   596,    65,   563,  1305,    50,   332,   410,    50,   112,
     1896    -296,   141,   142,   345,   564,    50,   407,     8,     9,    10,
     1897      11,    12,    43,    44,  1206,  1352,  1353,   878,  1277,  1278,
     1898    1279,   704,   696,   696,   620,   620,   885,  1123,  1106,   410,
     1899     887,  1134,  1064,   410,   898,   339,    50,   112,    33,   832,
     1900    1402,   966,   310,  1355,  1111,  1382,  1383,  1112,    50,  1113,
     1901      43,    44,   108,  1137,  1169,   596,  1230,  1231,   707,   330,
     1902     764,   765,   230,    78,   598,   231,    36,   440,   235,  1139,
     1903     237,   596,   659,    50,    50,  1294,   585,   246,  1228,   650,
     1904     112,   115,    -3,  1220,  1363,   410,   894,  1111,  1363,    50,
     1905    1112,   894,  1113,    43,    44,   651,  1381,    50,   508,  1389,
     1906     920,    58,   652,    72,   766,   767,    50,   654,   267,    50,
     1907     655,   834,   695,   772,   773,   656,   114,   680,   661,   695,
     1908     695,   695,   258,   546,   547,     2,   207,     4,     5,     6,
     1909       7,   114,   685,   686,  1388,   114,   690,    39,   688,    50,
     1910     114,    42,  -243,  1427,   108,   716,   727,   345,  1431,   741,
     1911      43,    44,   470,    50,    50,   749,   798,   -14,   546,   800,
     1912      50,   811,   -15,  -297,   854,   861,   855,    50,  1295,  1087,
     1913       8,     9,    10,    11,    12,   881,    45,  1453,   658,   883,
     1914     888,   931,   695,   899,    47,    48,   908,  1444,   272,   115,
     1915    -422,  -528,    37,   546,    38,   715,   923,   933,   220,   944,
     1916     937,    33,   945,   230,   946,   696,   898,   938,   947,   684,
     1917     310,   898,   696,   696,   696,   948,   949,   963,    50,   973,
     1918     974,   975,    71,   989,   620,   990,   991,   992,   115,    36,
     1919     993,    78,   994,    68,   119,    50,    50,  1086,   995,  -410,
     1920    -409,  1060,     8,     9,    10,    11,    12,  1018,  1052,   213,
     1921    1054,  1058,    50,   893,  1075,  1076,    50,   704,  1077,  1078,
     1922    1084,    58,  1521,  1094,  1088,   740,   636,    68,  1521,  1095,
     1923     496,    72,  1096,    33,  1098,   696,  1101,   620,   620,  1521,
     1924     958,  1103,    50,  1521,   161,   272,  1104,  1405,  1105,   525,
     1925     310,   108,    50,   526,   527,   528,  1520,   768,   769,   770,
     1926     771,    36,  1169,  1108,   222,  1132,  1153,  1154,  1155,  1156,
     1927      50,    78,   108,  1170,  1171,  1173,    50,   529,  1174,   530,
     1928      65,   531,   532,   115,  1182,  1188,    -3,   398,   399,  1193,
     1929     108,  1186,  1086,   400,   704,  1198,  1203,  1201,   401,   402,
     1930     260,   403,   230,   404,   235,   567,   440,   410,   491,  1207,
     1931    1214,    72,   114,    47,    48,  1212,  1216,    50,  1219,  1088,
     1932    1232,   761,   762,   763,   684,    50,  1225,  1236,  1238,    50,
     1933    1240,  1241,  1245,    50,   113,  1242,   114,  1243,   114,  1252,
     1934    1261,   267,   331,   112,  1262,   141,   239,  1268,  1183,  1271,
     1935     260,   350,   108,  1493,  1296,  1289,    43,    44,   620,  1404,
     1936     470,    39,  1272,   184,   185,    42,  1273,   211,   221,   406,
     1937    1275,  1283,  1302,   114,    43,    44,  1304,  1306,   114,   909,
     1938     405,  1310,   240,   115,  1311,   108,  1312,   241,  1315,    58,
     1939     230,  1320,  1086,   657,  1322,   423,  1328,  1329,   428,   430,
     1940     892,  1338,   410,   161,  1330,  1331,   115,  1087,    47,    48,
     1941    1341,  1279,  1348,   115,  1357,   115,  1349,   115,  1169,  1088,
     1942    1358,   893,  1359,  1365,   446,  1169,   114,    78,   449,  1366,
     1943     450,   151,   152,  1376,    78,   153,  1377,  -411,  1380,   457,
     1944    1391,  1395,    50,  1397,    50,    68,  1406,  1492,  1399,  1400,
     1945     471,  1467,   115,  1467,   115,  1401,  1415,  1333,  1416,  1417,
     1946     478,  1418,  1420,    50,   439,   115,  1425,    72,   430,    58,
     1947     970,  1492,  1492,   177,    72,    76,  1430,  1169,    50,   162,
     1948    1434,   310,   114,  1436,  1432,   108,    78,  1438,  1467,  1440,
     1949    1467,    50,  1442,   114,    50,   114,  1492,  1447,  1448,  1449,
     1950    1450,  1461,  1087,   372,  1471,  1473,  1486,  1475,   108,    76,
     1951       8,     9,    10,    11,    12,   108,   470,   326,  1478,  1479,
     1952    1501,  1187,   959,   470,  1506,  1513,    72,    50,  1502,  1515,
     1953    1517,   114,  1523,   114,   260,  1530,   163,   114,   589,  1531,
     1954     774,    33,  1011,   775,   617,   114,   223,   778,   776,  1110,
     1955     195,   777,  1288,   218,  1481,  1394,   228,   622,    50,    50,
     1956    1533,   622,  1351,  1218,   407,  1367,  1464,   108,   889,    36,
     1957    1192,   890,  1200,    50,  1069,   470,   911,  1073,   792,    39,
     1958    1017,   184,   185,    42,   909,   860,   463,  1107,   658,   330,
     1959     925,   477,    43,    44,  1350,   131,  1297,   132,   133,   134,
     1960    1083,   709,  1087,    39,     0,   184,   185,    42,    43,    44,
     1961     471,   782,     0,   742,   934,   410,    43,    44,   595,   783,
     1962     596,    47,    48,   784,   350,    58,    47,    48,     0,   471,
     1963     909,     0,    58,   353,   163,     0,     0,   471,     0,     0,
     1964       0,     0,   892,     0,   410,     0,   373,     0,    50,     0,
     1965      47,    48,     0,     0,     0,   691,     0,     0,   430,     0,
     1966      50,     0,  1121,     0,     0,     8,     9,    10,    11,    12,
     1967       0,   214,   163,   705,     0,    68,   496,     0,     0,     0,
     1968     233,     0,     0,   430,    58,     0,     0,   430,     8,     9,
     1969      10,    11,    12,     0,     0,   163,    33,     0,  1468,     0,
     1970    1468,   112,   636,   141,   142,     0,   447,   442,   114,     0,
     1971    1011,     0,     0,     0,    43,    44,   350,     0,     0,    33,
     1972       0,     0,   214,     0,    36,     0,     0,    76,     0,    39,
     1973       0,     0,    76,    42,     0,  1468,     0,  1468,     0,    50,
     1974     720,    50,    43,    44,     0,   721,     0,    36,   114,  1465,
     1975       0,  1469,     0,   112,     0,     0,   546,     0,     0,     0,
     1976    1111,   785,     0,  1112,   214,  1113,    43,    44,    45,     0,
     1977      39,    50,   184,   185,    42,     0,    47,    48,   622,   796,
     1978       0,     0,     0,    43,    44,     0,  1497,     0,  1499,   909,
     1979     813,   919,   114,   596,  1316,   508,     0,     0,   113,    47,
     1980      48,     0,     0,     0,     0,   636,     0,    79,   589,   186,
     1981       0,   114,     0,   589,     0,   114,   373,    47,    48,   622,
     1982       0,     0,   350,   350,     0,   214,   223,     0,     0,     0,
     1983    1528,     0,  1529,     0,     0,     0,     0,     0,   350,     0,
     1984      39,    79,   175,   176,    42,  1536,  1537,    39,   909,   909,
     1985       0,    42,     0,    43,    44,     0,   691,     0,     0,   753,
     1986      43,    44,   114,   214,   758,     0,     0,   471,   214,     0,
     1987     525,   216,     0,     0,   526,   527,   528,     0,   224,   375,
     1988       0,     0,     0,   497,     0,     0,   801,   243,   596,     0,
     1989     373,     0,    76,   471,    47,    48,   350,     0,   529,   114,
     1990     530,     0,   531,  1287,     0,   924,   353,     0,   430,     0,
     1991       0,    76,   463,    50,     0,     0,     0,     0,    50,    76,
     1992     112,     0,   216,     0,     0,     0,     0,  1111,     0,     0,
     1993    1112,   705,  1113,    43,    44,    50,   954,   353,     0,     0,
    19641994       8,     9,    10,    11,    12,     0,     0,     0,     0,     0,
    1965      634,     0,     0,     0,  1112,   351,   112,     0,  1112,     0,
    1966        0,   212,     0,     0,     0,     0,     0,  1451,     0,    31,
    1967      968,     0,   740,   351,   408,    74,     0,     0,     0,     0,
    1968       45,    46,     0,     0,     0,     0,     0,    48,   258,    48,
    1969        0,     0,   587,     0,   494,     0,   112,    34,   615,     0,
    1970        0,     0,     0,  1085,   523,  1112,     0,     0,   524,   525,
    1971      526,   620,   214,     0,     0,   620,   351,     0,  1463,    48,
    1972     1467,     0,   212,     0,     0,     0,    56,     0,   410,     0,
    1973        0,   213,   527,    56,   528,   418,   529,   530,     0,     0,
    1974      112,   917,  1009,   594,     0,     0,     0,     0,     0,    45,
    1975       46,     0,  1519,   634,     0,  1495,     0,  1497,  1519,   112,
    1976      212,  1145,  1146,   112,   469,   212,   228,     0,   233,  1519,
    1977        0,     0,     0,  1519,     0,     0,     0,     0,   348,   351,
    1978      495,     0,   213,   469,   907,    56,     0,     0,     0,     0,
    1979        0,   469,    37,     0,   182,   183,    40,     0,     0,  1526,
    1980        0,  1527,  1112,     0,     0,    41,    42,   410,     0,   689,
    1981      112,     0,   428,     0,  1534,  1535,  1193,  1194,     0,     0,
    1982        0,     0,   351,   351,   213,     0,     0,   703,     0,    66,
    1983      907,   890,     0,   408,     0,     0,     0,   428,   351,    45,
    1984       46,   428,     8,     9,    10,    11,    12,   112,     0,     0,
    1985      212,     0,     0,     0,   228,     0,   351,     0,     0,     0,
    1986        0,    48,  1119,     0,   571,     0,    48,    74,     0,     0,
    1987      348,    31,   575,     0,    37,   578,   173,   174,    40,     0,
    1988       77,     0,     0,    48,     0,   213,     0,    41,    42,     0,
    1989        0,     0,     0,    74,   214,     0,   351,     0,     0,    34,
    1990        0,     0,     0,     0,    37,     0,     0,   112,    40,     0,
    1991     1009,     0,    77,   373,     0,   783,     0,    41,    42,     0,
    1992        0,     0,  1112,   213,  1112,  1112,     0,     0,   213,     0,
    1993      212,   351,   620,   794,     0,   410,     0,     0,     0,   418,
    1994        0,     0,     0,    43,   811,     0,   212,     0,     0,   222,
    1995      694,    45,    46,     0,     0,     0,     0,     0,     0,   112,
    1996        0,     0,   587,     0,    79,     0,     0,   587,     0,     0,
    1997        0,   212,     0,   620,   351,     0,   348,   348,     0,     0,
    1998        0,     0,     0,     0,   351,     0,     0,     0,     0,   907,
    1999      221,   214,   348,     0,     0,   351,    79,     0,    37,  1319,
    2000      182,   183,    40,  1112,     0,     0,  1321,  1322,  1323,     0,
    2001      689,    41,    42,   213,     0,   410,     0,     0,     0,     0,
    2002        0,   469,     0,     0,     0,     0,     0,   112,     0,   112,
    2003      112,     0,     0,   223,     0,     0,   353,   184,     8,     9,
    2004       10,    11,    12,     0,     0,    45,    46,   469,   907,   907,
    2005      348,     0,     0,     0,     0,    74,     0,     0,     0,   922,
    2006     1112,  1112,   428,     0,     0,     0,     0,    31,     0,  1366,
    2007        8,     9,    10,    11,    12,     0,     0,   351,     0,     0,
    2008        0,     0,     0,     0,   351,   703,     0,     0,     0,   212,
    2009      952,     0,     0,   213,     0,    34,     0,     0,  1443,    31,
    2010       37,     0,   182,   183,    40,   571,   571,     0,   112,     0,
    2011        0,     0,     0,    41,    42,     0,     0,   212,     0,     0,
    2012      354,     0,   212,     0,     0,     0,     0,    34,   689,     0,
    2013       77,     0,    37,     0,   213,    77,    40,   175,   689,   184,
    2014      494,   620,     0,     0,   984,    41,    42,    45,    46,   689,
    2015        0,   694,     0,     0,     0,    48,    48,     0,  1493,   995,
    2016       37,     0,   182,   183,    40,   112,   112,  1501,    57,    57,
    2017        0,   709,     0,    41,    42,     0,     0,     0,     0,    45,
    2018       46,     0,     8,     9,    10,    11,    12,     0,   869,     0,
    2019        0,   212,   872,     0,   351,   351,     0,   351,   351,  1489,
    2020       57,   408,     0,   112,     0,   212,     0,    45,    46,    66,
    2021        0,    31,     0,     0,    79,    74,     0,     0,     0,    79,
    2022        0,     0,     0,     0,     0,     0,   495,     0,     0,   222,
    2023        0,   794,     0,     0,    57,     0,     0,    57,   703,    34,
    2024        0,  1064,     0,     0,    37,     0,   182,   183,    40,   351,
    2025      351,     0,   213,     0,     0,     0,   907,    41,    42,     0,
    2026        0,     0,    48,   112,     0,     0,     0,  1078,     0,   694,
    2027        0,     0,   112,   907,     0,     0,   428,   117,    86,   694,
    2028      213,     0,     0,   264,     0,   213,    48,    48,     0,     0,
    2029      694,    45,    46,     0,     0,    77,   212,     0,     0,     8,
    2030        9,    10,    11,    12,     0,     0,     0,     0,     0,   353,
    2031       86,    48,     0,   223,    77,     0,     0,     0,     0,     0,
    2032      351,     0,    77,   571,   346,     0,     0,     0,    31,     0,
    2033      587,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2034      353,     0,     0,   426,     0,   907,   907,   224,   689,   689,
    2035        0,   348,   348,     0,   213,     0,    34,     0,   353,     0,
    2036       77,    37,   221,   182,   183,    40,     0,     0,   213,  1166,
    2037        0,     0,     0,     0,    41,    42,     0,     0,    37,    79,
    2038      182,   183,    40,    74,     0,     0,     0,     0,    57,     0,
    2039        0,    41,    42,   354,     0,   351,     0,   351,    79,     0,
    2040      593,   353,   594,   689,   689,     0,    79,     0,    45,    46,
    2041        0,     0,     0,     0,     0,   523,     0,   264,    57,   524,
    2042      525,   526,     0,     0,   354,    45,    46,     0,     0,     0,
    2043        0,     0,   351,     0,   361,     0,   410,     0,     0,   351,
    2044      351,   351,   354,   527,    79,   528,     0,   529,  1285,     0,
    2045      351,   351,     0,     0,     0,     0,     0,     0,     0,   213,
    2046        0,     0,     0,    74,   353,     0,     0,     0,     0,     0,
    2047        0,     0,     0,     0,   703,     0,     0,     0,     0,     0,
    2048        0,     0,     0,     0,     0,   354,   212,     0,     0,   694,
    2049      694,   531,   532,   533,   534,   535,   536,   537,   538,   539,
    2050      540,   541,   351,     0,     0,     0,     0,   353,   353,     0,
    2051        0,  1122,     0,     0,     0,     0,  1263,     0,     0,     0,
    2052        0,     0,     0,   353,     0,   542,     0,  1133,    86,     0,
    2053        0,     0,     0,    86,     0,     0,     0,    66,     0,     0,
    2054        0,   353,     0,     0,   694,   694,     0,     0,   354,   689,
    2055        0,   703,    77,     0,     0,   117,     0,     0,     0,     0,
     1995       0,     0,     0,   214,    39,   353,     0,    76,    42,   114,
     1996       0,  1318,     0,     0,   216,   355,     0,    43,    44,     0,
     1997       0,    33,     0,     0,   691,     0,     0,     0,     0,   866,
     1998       0,   868,     0,     0,   691,   215,     0,   622,     0,     0,
     1999     986,     0,     0,   711,     0,   691,     0,     0,   353,    36,
     2000       0,    47,    48,     0,    39,   997,   184,   185,    42,     0,
     2001      39,   114,   175,   176,    42,     0,     0,    43,    44,     0,
     2002       0,     0,     0,    43,    44,   216,     0,     0,     0,     0,
     2003       0,   914,     0,   214,     0,     0,   215,     0,     0,     0,
     2004       0,     0,     0,   595,     0,   596,     0,     0,     0,   214,
     2005       0,    47,    48,     0,     0,    68,   909,     0,     0,    79,
     2006       0,   353,     0,   216,    79,     0,     0,     0,   216,     0,
     2007       0,     0,     0,   909,   214,     0,     0,   796,   215,   114,
     2008       0,   114,   114,     0,   705,     0,     0,  1066,     8,     9,
     2009      10,    11,    12,     0,     0,   412,    39,     0,   184,   185,
     2010      42,     0,   420,     0,   353,   353,     0,     0,     0,    43,
     2011      44,     0,     0,  1080,     0,     0,     0,     0,     0,    33,
     2012     353,     0,   430,   119,     0,     0,     0,     0,     0,     0,
     2013       0,     0,     0,    81,     0,  1491,     0,   410,   353,   215,
     2014       0,     0,     0,    47,    48,   909,   909,    36,     0,    76,
     2015       0,     0,    39,   216,   184,   185,    42,     0,   224,     0,
     2016     114,     0,     0,     0,     0,    43,    44,    81,     0,     0,
     2017       0,     0,     0,     0,   412,    76,   589,   215,   353,     0,
     2018       0,     0,   215,     0,     0,     0,     0,     0,     0,   428,
     2019       0,   892,   214,   410,   691,   691,     0,   350,   350,    47,
     2020      48,     0,     0,     0,   225,     0,     0,    50,    50,     0,
     2021       0,     0,     0,   353,     0,  1168,     0,   114,   114,     0,
     2022     214,     0,     0,     0,    79,   214,     0,     0,     0,     0,
     2023       0,   573,    39,   216,   184,   185,    42,     0,   355,   577,
     2024       0,     0,   580,    79,     0,    43,    44,     0,     0,   691,
     2025     691,    79,     0,     0,     0,   114,   353,     8,     9,    10,
     2026      11,    12,     0,     0,     0,     0,   353,   215,     0,   355,
     2027       0,   266,   223,     0,   216,     0,     0,   353,  1102,    47,
     2028      48,     0,     0,     0,     0,     0,     0,   355,    33,    79,
     2029       0,   356,     0,     0,   214,     0,     0,  1114,     0,    59,
     2030      59,  1114,   412,     0,     0,     0,   420,     0,   214,     0,
     2031       0,     0,     0,     0,    50,   114,    36,     0,     0,     0,
     2032     705,    39,     0,   143,   114,    42,     0,     0,     0,   497,
     2033     355,     0,     0,    59,    43,    44,     0,    76,    50,    50,
     2034       0,     0,     0,     0,     0,     0,     0,   215,  1114,     0,
     2035       8,     9,    10,    11,    12,     0,     0,     0,     0,   353,
     2036     711,     0,  1265,    50,     0,     0,   353,    59,    47,    48,
     2037      59,     0,   126,   129,   130,   242,   245,     0,     0,     0,
     2038       0,    33,   412,    68,     0,    81,     0,     0,   215,     0,
     2039      81,     0,   216,   355,     0,   691,     0,   705,     0,   214,
     2040       0,   119,     0,     0,     0,     0,     0,     0,     0,    36,
     2041       0,     0,     0,     0,    39,    88,   184,   185,    42,     0,
     2042     216,     0,     0,     0,     0,   216,     0,    43,    44,     0,
     2043       0,     0,   691,     0,     0,     0,   355,   355,     0,   691,
     2044     691,   691,     0,     0,   255,  1114,   256,     0,     0,    88,
     2045     350,   350,   355,  1491,     0,   410,     0,   348,     0,     0,
     2046       0,    47,    48,  1168,     0,     0,     0,     0,     0,     0,
     2047     355,     0,   573,   573,     0,     0,   353,   353,     0,   353,
     2048     353,    79,     0,     0,   225,     0,   226,     0,     0,     0,
     2049       0,     0,     0,     0,   216,     0,   119,    76,     0,     0,
     2050       0,     0,   691,     0,     0,     0,   215,    79,   216,     0,
     2051     355,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2052       0,    59,     0,     0,     0,     0,   395,     0,     0,     0,
     2053       0,   353,   353,     0,   215,   455,   414,   415,     0,   215,
     2054       0,   419,     0,   421,   422,   355,     0,     0,     0,     0,
     2055      81,    59,     0,     0,     0,   871,     0,     0,     0,   874,
     2056       0,     0,     0,     0,   356,  1114,     0,  1114,  1114,    81,
     2057       0,   350,     0,   363,     0,     0,     0,    81,     0,     0,
     2058       0,     8,     9,    10,    11,    12,     0,     0,   355,   214,
     2059       0,     0,     0,     0,     0,   356,   119,     0,   355,   216,
     2060       0,     0,   353,     0,   224,     0,     0,     0,   215,   355,
     2061       0,     0,    33,   356,     0,    81,     0,     0,     0,  1168,
     2062       0,     0,   215,     0,     0,     0,  1168,   533,   534,   535,
     2063     536,   537,   538,   539,   540,   541,   542,   543,     0,     0,
     2064      36,     0,     0,     0,   223,    39,  1114,   184,   185,    42,
     2065       0,     0,     0,     0,     0,     0,   356,     0,    43,    44,
     2066       0,   544,     0,     0,     0,    76,     0,    88,     0,    79,
     2067     637,     0,    88,     0,     0,     0,     0,   353,  1168,   353,
     2068       0,     0,     0,     0,   186,  1516,     0,     0,     0,     0,
     2069     573,   355,    47,    48,     0,     0,     0,     0,   355,     0,
     2070       0,     0,     0,  1114,  1114,     0,     0,     0,     0,     0,
     2071       0,     0,     0,   215,   353,     0,     0,     0,     0,   356,
     2072       0,   353,   353,   353,     0,     0,     0,     0,     0,     0,
     2073     348,     0,   353,   353,     0,     0,     0,     0,     0,     0,
     2074       0,  1445,     0,     0,     0,    76,     0,     0,     0,     0,
    20562075       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2057        0,   351,     0,     0,     0,     0,     0,     0,    77,     0,
    2058        0,   353,     0,     0,     0,     0,   689,     0,     0,     0,
    2059        0,   354,   354,   689,   689,   689,     0,   346,     0,     0,
    2060        0,     0,   410,     0,   348,   348,     0,   354,     0,     0,
    2061        0,     0,     0,     0,     0,     0,   353,  1166,     0,    74,
    2062        0,     0,     0,     0,     0,   354,    74,   224,   166,     0,
    2063      171,     0,     0,   177,   178,   179,    79,   181,     0,     0,
    2064        0,  1219,     0,     0,     0,     0,     0,     0,    57,   213,
    2065      117,   232,     0,     0,     0,     0,   689,     0,     0,   353,
    2066        0,     0,    79,   247,   248,   354,     0,     0,   212,   353,
    2067        0,     0,     0,     0,     0,   222,     0,     0,    74,     0,
    2068      353,     0,     0,     0,     0,     0,     0,     0,     0,   346,
    2069     1293,     0,     0,    86,     0,     0,     0,     0,     0,     0,
    2070      354,     0,     0,     0,     0,     0,     0,   361,     0,     0,
    2071        0,     0,    86,     0,     0,     0,     0,     0,     0,     0,
    2072       86,     0,     0,     0,     0,   348,     0,   694,     0,     0,
    2073        0,     0,     0,     0,   694,   694,   694,     0,   361,     0,
    2074       77,     0,     0,   354,     0,     0,     0,     0,     0,     0,
    2075      117,     0,   346,   354,     0,     0,   361,     0,    86,   223,
    2076        0,     0,   353,     0,   354,   212,     0,     0,     0,   353,
    2077        0,     0,     0,  1166,     0,     0,     0,     0,     0,     0,
    2078     1166,     0,   994,     0,     0,     8,     9,    10,    11,    12,
    2079        0,     0,     0,     0,     0,   346,   346,   694,     0,   361,
     2076       0,     0,   356,   356,     0,     0,   226,     0,     0,     0,
     2077       0,   214,     0,     0,     0,     0,     0,     0,   356,     0,
     2078     718,    59,   722,     0,   353,     0,     0,     0,     0,   216,
     2079       0,     0,     0,     0,     0,     0,   356,     0,     0,     0,
     2080       0,  1495,     0,   412,     0,     0,     0,    81,   355,   355,
     2081    1503,   355,   355,     0,     0,     0,     0,     0,     0,   168,
     2082       0,   173,   348,     0,   179,   180,   181,     0,   183,    79,
     2083       0,     0,    88,    81,     0,     0,   356,     0,     0,     0,
     2084       0,     0,   234,     0,     0,     0,   363,     0,     0,     0,
     2085       0,    88,     0,   353,   249,   250,     0,     0,     0,    88,
     2086       0,     0,     0,   355,   355,     0,     0,     0,   214,     0,
     2087       0,   356,     0,     0,     0,     0,     0,   363,  1124,     0,
     2088       0,     0,     0,     0,     0,   348,     0,     0,     0,     0,
     2089       0,     0,     0,     0,  1135,   363,     0,    88,     0,     0,
     2090       0,    76,     0,   215,     0,     0,     0,     0,    76,     0,
     2091       0,     0,     0,     0,   356,   787,   788,     0,     0,     0,
     2092       0,     0,     0,     0,   356,     0,   853,     0,   348,   348,
     2093     225,     0,     0,     0,   355,   356,     0,     0,   363,     0,
     2094       0,     0,   818,     0,   348,   821,   822,     0,   825,     0,
     2095     827,   828,     0,     0,     0,   829,   830,     0,     0,     0,
     2096      76,     0,     0,     8,     9,    10,    11,    12,     0,   412,
     2097       0,   216,     0,     0,     0,   905,   224,   907,     0,     0,
     2098       0,   455,     0,     0,     0,     0,     0,     0,     0,     0,
     2099       0,     0,     0,     0,    33,    81,     0,    79,     0,     0,
     2100       0,   363,   348,     0,     0,     0,     0,     0,  1221,   355,
     2101       0,   355,     0,     0,     0,     0,     0,   356,     0,     0,
     2102       0,     0,    36,     0,   356,     0,     0,    39,     0,   184,
     2103     185,    42,     0,     0,     0,     0,     0,     0,     0,     0,
     2104      43,    44,     0,     0,   363,   363,   355,     0,     0,     0,
     2105       0,     0,     0,   355,   355,   355,     0,     0,     0,     0,
     2106     363,     0,     0,     0,   355,   355,   266,     0,   216,     0,
     2107       0,     0,     0,     0,    47,    48,     0,    79,   363,     0,
     2108       0,     0,     0,     0,     0,   215,     0,     0,     0,    88,
     2109       0,   956,   957,     0,     0,     0,     0,     0,     0,     0,
     2110       0,     0,     0,     0,     0,     0,     0,     0,   587,     0,
     2111     594,     0,     0,     0,     0,    88,   355,     0,   363,     0,
     2112       0,   618,   619,     0,     0,   128,   128,   128,     0,     0,
     2113       0,     0,     0,     0,   356,   356,     0,   356,   356,     0,
     2114       0,     0,     0,     0,     0,     0,   637,     0,     0,     0,
     2115       0,     0,  1021,   363,     0,    81,     0,     0,     0,     0,
     2116       0,    59,     8,     9,    10,    11,    12,    13,    14,    15,
     2117      16,    17,    18,    19,    20,    21,    22,    23,    24,    25,
     2118      26,    27,   215,   348,     0,   355,     0,     0,     0,   356,
     2119     356,     0,  1070,    33,     0,     0,   363,   128,     0,   128,
     2120       0,     0,     0,     0,     0,     0,   363,     0,     0,     0,
     2121       0,     0,   226,     0,     0,     0,     0,   363,     0,     0,
     2122       0,    36,     0,     0,   276,     0,     0,     0,     0,    59,
     2123       0,     0,     0,    79,     0,     0,     0,     0,     0,     0,
     2124      79,     0,     0,     0,     0,     0,     0,  1071,     0,   637,
    20802125       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2081        0,   346,   281,   282,    31,   283,     0,     0,     0,     0,
    2082        0,     0,     0,     0,    79,     0,     0,     0,     0,     0,
    2083        0,   213,  1166,     0,     0,     0,     0,     0,     0,  1514,
    2084        0,   284,    34,     0,     0,     0,   354,   285,     0,     0,
    2085        0,   286,     0,   354,   287,   288,   289,   290,   291,   292,
    2086       41,    42,   361,   293,   294,     0,     0,     0,     0,   346,
    2087        0,     0,     0,     0,     0,     0,     0,     0,     0,   353,
    2088      353,     0,   353,   353,     0,     0,   295,     0,   376,     0,
    2089        0,     0,     0,     0,   342,    46,   297,   298,   299,   300,
    2090       77,     0,     0,     0,     0,   361,   361,     0,     0,     0,
    2091        0,     0,     0,     0,     0,     0,     0,   585,     0,   592,
    2092        0,   361,     0,     8,     9,    10,    11,    12,   213,     0,
    2093      616,   617,     0,     0,   353,   353,     0,     0,     0,   361,
    2094        0,     0,     0,     0,     0,     8,     9,    10,    11,    12,
    2095       86,     0,    31,     0,     0,     0,     0,     0,     0,     0,
    2096        0,     0,     0,   354,   354,     0,   354,   354,     0,     0,
    2097        0,     0,     0,     0,    31,     0,    86,     0,     0,   361,
    2098       34,     0,     0,     0,    79,    37,     0,   182,   183,    40,
    2099        0,     0,     0,     0,     0,     0,     0,     0,    41,    42,
    2100        0,     0,    34,     0,     0,   353,     0,    37,     0,   182,
    2101      183,    40,     0,     0,   361,     0,     0,     0,   354,   354,
    2102       41,    42,     0,     0,   890,     0,   408,     0,    57,     0,
    2103        0,     0,    45,    46,     0,     0,     0,     0,     0,     0,
    2104        0,     0,     0,     0,     0,     0,  1489,   222,   408,     0,
    2105      346,     0,     0,     0,    45,    46,     0,   361,   281,   282,
    2106        0,   283,     0,     0,     0,     0,     0,   361,    77,     0,
    2107        0,     0,     0,   224,     0,     0,     0,     0,   361,     0,
    2108      353,     0,   353,     0,     0,     0,     0,   284,     0,   354,
    2109        0,     0,     0,   285,     0,     0,    57,   286,     0,     0,
    2110      287,   288,   289,   290,   291,   292,    41,    42,     0,   293,
    2111      294,     0,     0,     0,     0,     0,     0,   353,     0,     0,
    2112        0,     0,     0,     0,   353,   353,   353,     0,     0,     0,
    2113        0,   223,   295,     0,   376,   353,   353,     0,    86,     0,
    2114       45,    46,   297,   298,   299,   300,     0,     0,    77,     0,
    2115        0,     0,    79,   777,     0,     0,     0,     0,     0,     0,
    2116      361,     0,     0,     0,   354,     0,   354,   361,     0,     0,
    2117      346,   346,     0,     0,     0,     0,     0,     0,     0,     0,
    2118        0,     0,     0,     0,     0,     0,     0,   353,    57,     0,
    2119        0,     0,     0,     0,   210,     0,     0,     0,     0,     0,
    2120        0,   354,     0,   230,     0,   234,     0,   236,   354,   354,
    2121      354,     0,     0,     0,   245,     0,     0,     0,     0,   354,
    2122      354,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2123        0,     0,    79,     0,     0,     0,     0,     0,     0,     0,
    2124        0,     0,     0,     0,     0,   210,     0,   234,   236,   245,
    2125        0,     0,     0,     0,     0,     0,   353,     0,     0,     0,
    2126        0,     0,     0,     0,     0,   910,     0,   911,     0,     0,
    2127        0,   354,     0,     0,   914,   915,     0,   361,   361,   920,
    2128      361,   361,     0,     0,     0,     0,     0,   210,     0,     0,
    2129        0,     0,   926,     0,     0,     0,     0,   930,    86,     0,
    2130        0,     0,     0,     0,    77,     0,     0,     0,     0,     0,
    2131        0,    77,     0,     0,     0,     0,     0,     0,     0,     0,
    2132        0,     0,     0,     0,   592,     0,     0,     0,     0,     0,
    2133        0,     0,   361,   361,    57,    57,     0,     0,     0,     0,
    2134      354,     0,     0,     0,     0,     0,     0,     0,   210,     0,
    2135      234,   236,   245,     0,     0,     0,    57,     0,     0,     0,
    2136        0,     0,     0,    77,     0,     0,     0,     0,     0,     0,
    2137        0,     0,     0,     0,    57,     0,     0,     0,     0,     0,
    2138        0,     0,     0,     0,     0,     0,   210,     0,    79,     0,
    2139        0,   210,     0,     0,     0,    79,     0,     0,     0,     0,
    2140        0,     0,     0,   361,     0,     0,   493,     0,     0,     0,
    2141        0,     0,     0,     0,     0,     0,     0,  1004,     0,  1005,
    2142     1006,  1007,     0,   346,   346,     0,     0,     0,     0,     0,
    2143        0,    57,   164,     0,     0,     0,    57,     0,  1051,     0,
    2144        0,     0,     0,     0,     0,   224,     0,    79,     0,   217,
    2145        0,     0,  1057,     0,     0,     0,     0,   210,     0,     0,
    2146        0,     0,     0,     0,     0,     0,    86,     0,     0,    57,
    2147        0,     0,     0,     0,     0,     0,   210,     0,   361,     0,
    2148      361,   234,   236,     0,     0,     0,     0,     0,     0,   245,
    2149        0,  1077,     0,     0,     0,     0,   164,     0,     0,     0,
    2150      271,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2151        0,     0,     0,     0,     0,   361,     0,     0,     0,     0,
    2152        0,     0,   361,   361,   361,     0,     0,     0,     0,   164,
    2153        0,   210,     0,   361,   361,  1107,     0,     0,     0,   367,
    2154     1117,     0,   372,     0,   346,  1120,    86,     0,     0,   210,
    2155     1124,     0,     0,     0,   210,  1126,   210,  1127,  1128,     0,
    2156        0,  1131,     0,     0,     0,     0,     0,     0,     0,    57,
    2157     1143,     0,   210,     0,     0,   210,   210,     0,     0,     0,
    2158        0,     0,     0,   210,     0,   361,  1157,  1158,     0,     0,
    2159        0,   164,    57,     0,     0,     0,     0,   210,     0,    57,
    2160        0,     0,     0,   217,   210,     0,     0,     0,     0,     0,
    2161        0,     0,  1187,     0,     0,  1189,     0,     0,     0,     0,
    2162        0,   164,     0,     0,     0,   124,   127,   128,     8,     9,
     2126     356,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2127       0,     0,     0,     0,     0,     0,     0,    88,   996,   128,
     2128       0,     8,     9,    10,    11,    12,     0,   128,     0,   128,
     2129     128,     0,    79,     0,   128,     0,   128,   128,     0,   363,
     2130       0,     0,   225,   348,   348,     0,   363,     0,     0,     0,
     2131     283,   284,    33,   285,     0,     0,     0,     0,     0,     0,
     2132       0,    59,     0,    81,     0,     0,     0,     0,     0,     0,
     2133       0,     0,     0,     0,     0,   356,     0,   356,     0,   286,
     2134      36,     0,     0,  1021,     0,   287,     0,     0,     0,   288,
     2135       0,     0,   289,   290,   291,   292,   293,   294,    43,    44,
     2136       0,   295,   296,     0,     0,     0,   128,     0,     0,     0,
     2137       0,     0,   356,     0,     0,     0,     0,     0,     0,   356,
     2138     356,   356,     0,     0,   297,     0,   378,     0,     0,     0,
     2139     356,   356,   344,    48,   299,   300,   301,   302,     0,     0,
     2140       0,     0,  1197,    81,     0,     0,     0,     0,     0,     0,
     2141       0,   166,     0,     0,     0,     0,   363,   363,     0,   363,
     2142     363,     0,     0,     0,     0,     0,     0,     0,   219,     0,
     2143       0,     0,     0,     0,     0,     0,     0,    88,     0,     0,
     2144       0,     0,   356,     0,     0,     0,     0,     0,     0,     0,
     2145       0,   283,   284,     0,   285,  1264,   912,     0,   913,     0,
     2146       0,     0,     0,     0,     0,   916,   917,    59,    59,     0,
     2147     922,   363,   363,     0,     0,   166,     0,     0,     0,   273,
     2148     286,     0,     0,   928,     0,     0,   287,     0,   932,    59,
     2149     288,     0,     0,   289,   290,   291,   292,   293,   294,    43,
     2150      44,     0,   295,   296,     0,     0,     0,    59,   166,     0,
     2151       0,   356,     0,     0,     0,   594,     0,     0,   369,     0,
     2152       0,   374,     0,     0,     0,   297,     0,   378,     0,     0,
     2153    1286,     0,     0,    47,    48,   299,   300,   301,   302,     0,
     2154       0,     0,   363,     0,     0,     0,   779,     0,     0,     0,
     2155       0,     0,     0,     0,     0,     0,   348,   348,     0,    81,
     2156       0,     0,     0,     0,    59,     0,    81,     0,     0,    59,
     2157     166,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2158       0,     0,   219,     0,   226,     0,     0,     0,     0,     0,
     2159       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2160     166,     0,    59,     0,     0,    88,     0,     0,  1006,     0,
     2161    1007,  1008,  1009,     0,     0,     0,     0,   363,    81,   363,
     2162       0,     0,     0,     0,     0,   374,     0,     0,     0,  1053,
     2163       0,     0,   166,     0,     0,     0,     0,     0,     0,     0,
     2164       0,     0,     0,  1059,     0,     0,     0,     0,     0,     0,
     2165       0,     0,     0,     0,   363,     0,     0,   522,     0,     0,
     2166       0,   363,   363,   363,     0,     0,     0,     0,   128,   128,
     2167     166,     0,   363,   363,     0,     0,     0,   348,     0,     0,
     2168       0,     0,  1079,     0,     0,    88,     0,     0,     0,     0,
     2169       0,     0,     0,     0,     0,   128,     0,     0,   128,   128,
     2170       0,   128,    59,   128,   128,   592,     0,     0,   128,   128,
     2171     616,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2172       0,     0,     0,     0,   363,    59,  1109,     0,     0,     0,
     2173       0,  1119,    59,     0,     0,     0,  1122,     0,     0,     0,
     2174       0,  1126,     0,     0,     0,     0,  1128,     0,  1129,  1130,
     2175       0,     0,  1133,     0,     0,     0,     0,     0,     0,     0,
     2176       0,  1145,     0,     0,     0,     0,     0,     0,     0,     0,
     2177       0,     0,     0,     0,     0,     0,     0,  1159,  1160,     0,
     2178       0,     0,     0,     0,    59,   166,   166,     0,     0,     0,
     2179       0,   369,     0,   363,     0,     0,     0,     0,     0,     0,
     2180       0,     0,     0,  1189,     0,     0,  1191,     0,     0,     0,
     2181       0,     0,   522,     0,     0,     0,     8,     9,    10,    11,
     2182      12,    13,    14,    15,    16,    17,    18,    19,    20,    21,
     2183      22,    23,    24,    25,    26,    27,  -298,     0,     0,     0,
     2184     708,    88,     0,     0,   128,   128,     0,    33,    88,  1205,
     2185       0,     0,   166,     0,     0,  1209,  1210,     0,     0,     0,
     2186       0,     0,     0,     0,   522,     0,   522,     0,     0,   522,
     2187       0,   166,   522,     0,  1226,    36,     0,     0,     0,  1233,
     2188       0,     0,     0,   369,  1237,     0,  -298,     0,     0,     0,
     2189       0,     0,     0,     0,     0,  1244,     0,     0,     0,     0,
     2190      88,     0,     0,     0,     0,     0,     0,     0,  1251,     0,
     2191    1253,  1254,  1255,  1256,     0,     0,     0,   212,     0,     0,
     2192       0,     0,     0,     0,     0,  1263,   232,  1159,   236,     0,
     2193     238,   173,     0,     0,     0,   166,     0,   247,     0,     0,
     2194       0,     0,     0,     0,     0,     0,   369,     0,     0,   799,
     2195       0,     0,     0,     0,     0,     0,     0,     0,     0,  1291,
     2196    1292,     0,     0,     0,     0,     0,     0,     0,   212,     0,
     2197     236,   238,   247,     0,     0,   592,     0,     0,     0,     0,
     2198     592,     0,     0,     0,     0,     0,     0,     0,     0,   369,
     2199     369,     0,     0,     0,     0,   128,     0,     0,     0,     0,
     2200     128,     0,     0,     0,     0,   369,     0,     0,     0,     0,
     2201     212,     0,     0,  1326,  1327,     0,     0,     0,     0,     0,
     2202       0,     0,     0,  1337,     0,     0,     0,     0,     0,     0,
     2203       0,     0,     0,     0,     0,     0,     0,   522,     8,     9,
    21632204      10,    11,    12,    13,    14,    15,    16,    17,    18,    19,
    2164       20,    21,    22,    23,    24,    25,   372,     0,     0,     0,
    2165        0,    57,     0,   164,   361,     0,     0,    31,  1203,     0,
    2166        0,     0,     0,     0,  1207,  1208,     0,     0,     0,     0,
    2167        0,     0,     0,     0,     0,     0,     0,     0,   520,     0,
    2168        0,     0,     0,  1224,     0,    34,     0,     0,  1231,     0,
    2169        0,   164,     0,  1235,     0,     0,     0,   253,     0,   254,
    2170        0,     0,    86,     0,  1242,     0,     0,     0,     0,    86,
    2171        0,     0,     0,     0,     0,   210,     0,  1249,     0,  1251,
    2172     1252,  1253,  1254,     0,     0,     0,   590,     0,     0,     0,
    2173        0,   614,     0,     0,  1261,     0,  1157,     0,     0,     0,
    2174      171,     0,     0,   210,     0,     0,     0,     0,   210,     0,
     2205      20,    21,    22,    23,    24,    25,    26,    27,     0,     0,
     2206      28,    29,    30,   369,     0,   921,     0,     0,     0,    33,
     2207       0,   212,     0,   236,   238,   247,     0,   158,     0,     0,
     2208       0,     0,     0,     0,     0,  1372,     0,  1373,  1374,  1375,
     2209       0,     0,     0,     0,     0,     0,     0,    36,   708,  1379,
     2210       0,     0,    39,     0,    40,    41,    42,  1390,     0,   212,
     2211       0,     0,     0,     0,   212,    43,    44,     0,     0,     0,
     2212       0,     0,     0,     0,   252,     0,     0,     0,     0,   495,
     2213       0,     0,  1411,  1412,   257,     0,     0,     0,     0,     0,
     2214       0,    45,     0,    46,     0,     0,     0,     0,     0,    47,
     2215      48,   324,     0,     0,     0,   128,   616,     0,     0,     0,
     2216       0,   346,     0,     0,     0,     0,     0,     0,     0,     0,
     2217       0,     0,   381,   381,     0,     0,     0,  1451,  1452,     0,
     2218     212,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2219    1457,     0,     0,     0,     0,     0,     0,  1457,     0,   212,
     2220       0,     0,     0,   385,   236,   238,     0,     0,     0,     0,
     2221       0,     0,   247,     0,     0,     0,     0,     0,     0,     0,
     2222       0,     0,     0,     0,     0,     0,   417,     0,     0,     0,
     2223    1490,     0,     0,     0,  1496,     0,     0,     0,     0,     0,
     2224     431,     0,     0,   324,   369,     0,     0,     0,     0,   436,
     2225       0,   708,     0,     0,   212,     0,     0,     0,     0,   444,
     2226       0,     0,  1518,     0,  1519,     0,   522,   476,     0,     0,
     2227       0,     0,   212,     0,     0,     0,     0,   212,     0,   212,
     2228       0,     0,     0,   128,   462,     0,     0,     0,     0,   472,
     2229       0,   166,  1534,  1535,     0,   212,     0,     0,   212,   212,
     2230    1538,  1539,   480,     0,     0,     0,   212,     0,   490,     0,
     2231     494,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2232     212,     0,     0,     0,     0,     0,     0,   212,     0,   523,
    21752233       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2176        0,    86,     0,     0,     0,     0,     0,     0,  1289,  1290,
    2177        0,     0,     0,     0,     0,     0,     0,     0,     0,   393,
    2178        0,     0,     0,     0,     0,     0,     0,     0,     0,   412,
    2179      413,     0,     0,     0,   417,     0,   419,   420,     0,     0,
    2180      156,     0,     0,     0,     0,     0,   164,   164,     0,     0,
    2181        0,     0,   367,     0,     0,     0,     0,   210,     0,     0,
    2182        0,     0,  1324,  1325,     0,     0,     0,     0,     0,     0,
    2183        0,   210,  1335,   520,     0,     0,     0,     0,     0,     0,
    2184        0,     0,     0,     0,     0,     0,     0,   250,     0,     0,
    2185        0,     0,   493,     0,     0,     0,     0,   255,     0,     0,
    2186        0,   706,     0,     0,     0,     0,     0,     0,     0,     0,
    2187        0,     0,     0,   164,     0,     0,     0,     0,     0,     0,
    2188        0,     0,     0,     0,     0,   520,     0,   520,     0,     0,
    2189      520,     0,   164,   520,  1370,     0,  1371,  1372,  1373,     0,
    2190        0,     0,     0,     0,   367,     0,     0,     0,  1377,     0,
    2191        0,   210,     0,     0,     0,     0,  1388,     0,     0,     0,
    2192        0,     0,   210,     0,     0,     0,   383,     0,     0,     0,
    2193        0,     0,     0,     0,     0,     0,     0,     0,     0,   210,
    2194        0,  1409,  1410,     0,     0,     0,     0,     0,     0,   415,
    2195        0,     0,     0,     0,     0,     0,   164,     0,     0,     0,
    2196        0,     0,     0,   429,     0,     0,     0,   367,     0,     0,
    2197      797,     0,   434,     0,     0,     0,     0,     0,     0,     0,
    2198        0,     0,   442,     0,     0,     0,  1449,  1450,     0,     0,
    2199        0,     0,     0,     0,     0,     0,   590,     0,     0,  1455,
    2200        0,   590,     0,     0,     0,     0,  1455,   460,     0,     0,
    2201      367,   367,   470,     0,     0,     0,     0,     0,     0,     0,
    2202        0,     0,     0,     0,     0,   478,   367,     0,     0,     0,
    2203        0,   488,     0,   492,     0,     0,     0,     0,     0,  1488,
    2204        0,     0,     0,  1494,     0,     0,     0,     0,     0,     0,
    2205      210,     0,   521,     0,     0,     0,     0,     0,   520,     0,
     2234       0,     0,     0,   592,     8,     9,    10,    11,    12,    13,
     2235      14,    15,    16,    17,    18,    19,    20,    21,    22,    23,
     2236      24,    25,    26,    27,   369,   369,    28,    29,    30,     0,
     2237     582,     0,     0,     0,   586,    33,     0,     0,     0,     0,
     2238       0,     0,   381,     0,     0,     0,     0,     0,     0,     0,
    22062239       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2207        0,  1516,     0,  1517,     0,     0,     0,     0,     0,     0,
    2208      210,     0,     0,     0,   367,     0,   919,     0,     0,     0,
    2209        0,     0,     0,   580,     0,     0,     0,   584,     0,     0,
    2210        0,  1532,  1533,     0,     0,     0,     0,     0,     0,  1536,
    2211     1537,     0,   210,     0,     0,     0,     0,     0,     0,   706,
    2212        0,     0,     0,   210,     0,   627,     0,     0,     0,   628,
    2213      629,     0,   630,     0,     0,     0,     0,     0,     0,   641,
    2214      642,     0,   643,   644,     0,   645,     0,   646,     0,     0,
     2240       0,     0,   629,    36,     0,     0,   630,   631,     0,   632,
     2241     208,    41,     0,     0,     0,     0,   643,   644,     0,   645,
     2242     646,   522,   647,     0,   648,     0,     0,     0,     0,     0,
     2243       0,     0,     0,     0,     0,     0,     0,     0,   212,     0,
     2244       0,   582,     0,     0,     0,     0,     0,     0,     0,   663,
     2245       0,     0,     0,     0,     0,    47,    48,     0,     0,     0,
     2246       0,     0,     0,     0,     0,     0,   212,     0,     0,     0,
     2247       0,   212,     0,   674,     0,   702,     0,     0,     0,     0,
     2248       0,     0,     0,     0,     0,     0,     0,   708,     0,     0,
     2249       0,     0,     0,     0,     0,     0,     0,     0,     0,   700,
     2250       0,     0,     0,     0,     0,   703,     0,     0,     0,     0,
     2251     462,     0,     0,     0,   735,     0,     0,     0,     0,     0,
     2252       0,     0,     0,     0,     0,     0,   751,     0,   219,     0,
     2253       0,     0,   735,     0,     0,   735,   341,   364,     0,     0,
     2254     212,     0,     0,     0,     0,     0,   738,     0,   760,     0,
     2255       0,     0,     0,     0,   212,     0,     0,     0,     0,     0,
     2256       0,   756,     0,     0,   708,     0,     0,     0,     0,   413,
     2257       0,     0,     0,     0,     0,   495,   413,     0,   789,     0,
     2258       0,     0,     0,     0,     0,   346,     0,     0,     0,   751,
     2259       0,     0,     0,     0,     0,     0,     0,     0,   781,     0,
     2260       0,     0,     0,     0,     0,     0,     0,   791,     0,     0,
     2261       0,     0,     0,     0,     0,     0,     0,   369,   369,     0,
     2262       0,     0,     0,     0,     0,   219,     0,   812,     0,     0,
     2263       0,     0,     0,     0,   212,   850,     0,     0,     0,     0,
     2264       0,     0,     0,   381,     0,   212,     0,     0,   413,     0,
    22152265       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2216        0,     0,     0,     0,   580,     0,     0,     0,   785,   786,
    2217        0,     0,   661,     0,     0,     0,     0,   614,     0,     0,
     2266       0,     0,   212,     0,     0,   851,     0,     8,     9,    10,
     2267      11,    12,    13,    14,    15,    16,    17,    18,    19,    20,
     2268      21,    22,    23,    24,    25,    26,    27,     0,     0,    28,
     2269      29,    30,     0,     0,     0,     0,     0,     0,    33,     0,
     2270       0,   884,     0,     0,     0,   413,     0,     0,     0,   891,
     2271       0,     0,     0,   413,   578,     0,   413,   581,     0,   926,
     2272       0,     0,     0,     0,   364,     0,    36,     0,   608,     0,
     2273       0,    39,     0,   208,    41,    42,     0,     0,   369,     0,
     2274     252,   751,     0,   950,    43,    44,     0,   626,     0,     0,
     2275       0,   929,   930,   960,     0,     0,     0,     0,     0,   967,
    22182276       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2219        0,     0,   210,     0,     0,   816,   672,     0,   819,   820,
    2220        0,   823,     0,   825,   826,     0,   210,     0,   827,   828,
    2221        0,   126,   126,   126,   503,     0,   505,   508,     0,     0,
    2222        0,     0,   698,     0,     0,     0,   511,   512,   701,     0,
    2223        0,     0,     0,   460,     0,     0,     0,     0,     0,     0,
    2224        0,   505,   505,     0,     0,     0,     0,     0,     0,     0,
    2225        0,     0,     0,     0,     0,     0,     0,     0,     0,   339,
    2226      362,     0,     0,     0,     0,   367,     0,     0,     0,   736,
    2227        0,     0,   706,     0,     0,     0,   505,     0,     0,     0,
    2228        0,     0,     0,   126,   754,   126,     0,   520,     0,     0,
    2229        0,     0,   411,     0,   210,     0,     0,     0,     0,   411,
     2277      45,     0,   271,   212,     0,     0,   413,     0,    47,    48,
     2278     413,     0,     0,   964,     0,     0,     0,     0,   968,     0,
     2279       0,     0,     0,     0,     0,   522,     0,   522,     0,   984,
     2280     985,     0,     0,   212,     0,     0,     0,     0,     0,     0,
     2281     364,     0,     0,     0,     0,   346,     0,     0,     0,     0,
    22302282       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2231      274,   505,   164,     0,     0,     0,     0,     0,     0,     0,
    2232        0,   779,     0,     0,     0,     0,     0,     0,     0,     0,
    2233      789,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2234        0,     0,     0,     0,   954,   955,     0,     0,     0,     0,
    2235      810,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2236        0,     0,     0,     0,   590,   126,     0,     0,     0,     0,
    2237        0,   411,     0,   126,     0,   126,   126,     0,     0,     0,
    2238      126,     0,   126,   126,     0,   367,   367,     0,   849,     0,
    2239        0,   210,     0,     0,   463,     2,   205,     4,     5,     6,
    2240        7,     8,     9,    10,    11,    12,    13,    14,    15,    16,
    2241       17,    18,    19,    20,    21,    22,    23,    24,    25,     0,
    2242        0,    26,    27,    28,   882,     0,     0,     0,   411,     0,
    2243       31,     0,   889,     0,     0,     0,   411,   576,     0,   411,
    2244      579,     0,   520,     0,     0,     0,     0,   362,     0,     0,
    2245        0,   606,   126,     0,     0,     0,     0,     0,    34,     0,
    2246       35,     0,    36,   250,     0,    38,    39,     0,     0,     0,
    2247      624,     0,     0,     0,   927,   928,     0,     0,     0,   505,
    2248      505,   505,   505,   505,   505,   505,   505,   505,   505,   505,
    2249      505,   505,   505,   505,   505,   505,   505,     0,     0,   411,
    2250     1069,     0,     0,   411,     0,     0,   962,    -3,   706,     0,
    2251        0,   966,     8,     9,    10,    11,    12,    13,    14,    15,
    2252       16,    17,    18,    19,    20,    21,    22,    23,    24,    25,
    2253     -298,     0,     0,   362,     0,     0,     0,     0,     0,     0,
    2254        0,    31,     0,   322,     0,     0,     0,     0,     0,   217,
    2255        0,     0,     0,   344,     0,     0,     0,     0,     0,     0,
    2256        0,     0,     0,     0,   379,   379,     0,     0,     0,    34,
    2257        0,   999,     0,     0,     0,     0,     0,     0,  1000,   411,
    2258     -298,     0,   362,     0,     0,   706,     0,     0,     0,     0,
    2259        0,  1002,     0,  1003,     0,     0,     0,     0,     0,     0,
    2260        0,     0,     0,     0,     0,     0,  1013,     0,     0,     0,
    2261        0,     0,  1017,     0,     0,     0,     0,     0,     0,   505,
    2262        0,   411,     0,     0,  1054,   362,     0,  1055,     0,     0,
    2263        0,     0,     0,     0,     0,   322,     0,     0,   367,   367,
    2264        0,     0,   210,     0,     0,     0,   217,     0,     0,     0,
    2265        0,     0,     0,     0,     0,  1195,     0,     0,     0,   474,
    2266        0,     0,     0,     0,     0,     0,     0,     0,     0,   411,
    2267      411,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2268      505,     0,     0,     0,     0,     0,     0,   792,   362,     0,
    2269        0,     0,     0,     0,     0,     0,     0,   606,     0,   606,
    2270      606,     0,     0,     0,     0,     0,   606,     0,     0,     0,
    2271      505,     0,     0,     0,     0,     0,   829,   362,     0,     0,
    2272        0,     0,   362,     0,     0,     0,     0,     0,     0,     0,
    2273        0,   362,   362,     0,     0,  1125,     0,     0,     0,     0,
    2274        0,     0,     0,     0,     0,     0,     0,   362,     0,     0,
    2275        0,     0,   411,   870,   126,   126,   411,   873,     0,   367,
    2276        0,     0,     0,   875,     0,     0,     0,     0,     0,     0,
    2277        0,     0,     0,     0,   379,     0,     0,     0,     0,     0,
    2278        0,   126,   411,  1284,   126,   126,     0,   126,     0,   126,
    2279      126,     0,     0,     0,   126,   126,  1188,     0,     0,     0,
    2280        0,     0,     0,     0,     0,   362,   606,     0,     0,     0,
    2281        0,     0,     0,     0,     0,     0,   520,     0,   520,     0,
    2282        0,     0,     0,     0,   505,     0,     0,     0,     0,     0,
    2283     1200,     0,     0,     0,     0,  1202,     0,     0,     0,     0,
    2284      362,     0,     0,  1206,   411,   411,     0,     0,     0,     0,
    2285        0,     0,     0,   520,     0,   520,     0,     0,     0,     0,
    2286        0,     0,     0,     0,     0,     0,     0,   700,     0,     0,
    2287      505,     0,     0,     0,     0,     0,     0,  1237,     0,     0,
    2288        0,     0,   164,     0,     0,     0,     0,   411,  1244,     0,
    2289        0,  1245,     0,  1246,     0,     0,     0,     0,     0,     0,
    2290        0,     0,   505,   606,     0,   606,   733,     0,  1255,  1256,
    2291        0,     0,     0,     0,   505,   606,     0,     0,   749,     0,
    2292        0,     0,     0,     0,   733,     0,     0,   733,  1268,     0,
    2293      126,   126,  1141,     0,     0,     8,     9,    10,    11,    12,
    2294      758,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2295        0,     0,     0,   505,     0,     0,     0,     0,     0,     0,
    2296        0,     0,   281,   282,    31,   283,     0,     0,     0,     0,
    2297      787,     0,     0,     0,  1307,     0,     0,   344,     0,     0,
    2298        0,   749,  1311,     0,     0,     0,   362,     0,     0,     0,
    2299        0,   284,    34,   362,   411,     0,   411,   285,     0,     0,
    2300      411,   286,     0,     0,   287,   288,   289,   290,   291,   292,
    2301       41,    42,     0,   293,   294,     0,     0,     0,     0,     0,
    2302        0,   606,   606,     0,     0,     0,     0,   848,     0,   505,
    2303        0,     0,     0,     0,     0,   379,   295,     0,   376,     0,
    2304        0,     0,     0,     0,  1142,    46,   297,   298,   299,   300,
    2305        0,     0,  1358,     0,  1359,     0,   411,     0,     0,     0,
     2283       0,     0,   522,     0,   522,   212,     0,     0,     0,     0,
     2284       0,     0,     0,     0,     0,     0,   212,     0,  1001,     0,
     2285       0,     0,     0,     0,  1013,  1002,   413,     0,   381,   364,
     2286       0,   166,     0,     0,     0,     0,     0,     0,  1004,     0,
     2287    1005,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2288       0,     0,     0,  1015,     0,     0,     0,   346,     0,  1019,
     2289       0,     0,     0,     0,   346,     0,     0,     0,   413,     0,
     2290       0,  1056,   364,     0,  1057,     0,     0,     0,     0,     0,
     2291       0,     0,     0,     0,     0,   212,     0,     0,     0,     0,
     2292       0,     0,     0,     0,     0,     0,     0,     0,     0,   212,
     2293       0,     0,     0,     0,   324,     0,     0,     0,     0,     0,
     2294       0,     0,     0,     0,     0,     0,   413,   413,     0,     0,
    23062295       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2307     1368,     0,  1369,     0,     0,   411,  1123,     0,     0,     0,
    2308        0,   126,     0,     0,     0,   362,   126,  1376,   505,   505,
    2309        0,   411,  1134,     0,   606,   606,  1139,     0,     0,     0,
    2310        0,     0,  1394,  1396,     0,     0,   362,   362,     0,     0,
    2311        0,   924,     0,  1401,     0,     0,  1206,     0,     0,     0,
     2296       0,   381,     0,     0,   794,   364,   960,     0,     0,   735,
     2297       0,     0,     0,     0,   608,     0,   608,   608,     0,     0,
     2298       0,     0,     0,   608,     0,     0,     0,     0,     0,  1131,
     2299       0,     0,     0,   831,   364,     0,     0,     0,     0,   364,
     2300    1146,     0,     0,     0,     0,     0,     0,     0,   364,   364,
     2301       0,     0,  1127,     0,     0,     0,     0,   212,     0,     0,
     2302     381,     0,  1163,     0,   364,     0,     0,     0,     0,   413,
     2303     872,     0,     0,   413,   875,     0,     0,   960,   960,   505,
     2304     877,   507,   510,     0,     0,     0,     0,     0,     0,     0,
     2305       0,   513,   514,     0,     0,     0,     0,  1194,     0,   413,
     2306       0,     0,     0,     0,     0,     0,   507,   507,     0,     0,
     2307       0,     0,     0,  1190,     0,     0,     0,     0,     0,     0,
     2308       0,     0,   364,   608,     0,     0,     0,     0,     0,     0,
    23122309       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2313        0,     0,     0,   749,     0,   948,     0,     0,  1424,     0,
    2314        0,     0,     0,     0,     0,   958,     0,  1431,     0,     0,
    2315     1433,   965,  1435,  1437,  1439,     0,     0,     0,     0,     0,
    2316        0,     0,     0,     0,     0,     0,   411,     0,   411,     0,
    2317        0,     0,     0,   411,     0,     0,     0,     0,     0,     0,
    2318        0,     0,   606,     0,     0,     0,     0,     0,     0,     0,
    2319        0,   982,   983,  1470,     0,  1472,     0,  1206,     0,     0,
    2320        0,     0,     0,     0,     0,   411,  1220,   344,     0,     0,
    2321        0,     0,     0,  1483,     0,     0,     0,     0,     0,     0,
    2322        0,     0,     0,     0,     0,     0,     0,     0,     0,   362,
    2323        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2324        0,   126,     0,     0,     0,     0,  1011,     0,     0,     0,
    2325      379,     0,     0,     0,     0,     8,     9,    10,    11,    12,
     2310       0,   507,     0,     0,     0,     0,     0,  1202,     0,     0,
     2311       0,   960,  1204,     0,   212,     0,     0,   364,     0,     0,
     2312    1208,   413,   413,     0,     0,     0,     0,     0,     0,     0,
     2313     850,     0,     0,     0,     0,     0,   507,     0,     0,     0,
     2314       0,     0,     0,     0,     0,  1249,  1250,     0,     0,     0,
     2315       0,     0,     0,     0,  1239,     0,     0,     0,     0,     0,
     2316       0,     0,     0,     0,   413,  1246,     0,     0,  1247,     0,
     2317    1248,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2318     608,     0,   608,     0,     0,  1257,  1258,     0,     0,     0,
     2319       0,     0,   608,     0,     0,     0,     0,     0,     0,     0,
     2320       0,     0,     0,     0,     0,  1270,     0,     0,     0,     0,
     2321       0,     0,     0,     0,     0,  -523,     0,     0,     1,     2,
     2322       3,     4,     5,     6,     7,     8,     9,    10,    11,    12,
    23262323      13,    14,    15,    16,    17,    18,    19,    20,    21,    22,
    2327       23,    24,    25,     0,     0,    26,    27,    28,     0,   344,
    2328        0,     0,     0,     0,    31,     0,   344,     0,     0,     0,
    2329        0,     0,     0,     0,     0,     0,   505,     0,     0,     0,
    2330        0,     0,     0,     0,     0,     0,   362,     0,     0,     0,
    2331        0,     0,    34,   505,     0,     0,     0,     0,     0,   206,
    2332       39,     0,     0,     0,     0,     0,   322,   204,     2,   205,
     2324      23,    24,    25,    26,    27,     0,     0,    28,    29,    30,
     2325      31,  1309,     0,    32,     0,     0,    33,    34,     0,  1313,
     2326       0,     0,     0,   364,     0,     0,     0,     0,     0,     0,
     2327     364,   413,     0,   413,     0,     0,     0,   413,     0,     0,
     2328       0,    35,     0,     0,    36,     0,    37,  1354,    38,    39,
     2329     735,    40,    41,    42,     0,     0,     0,     0,   608,   608,
     2330       0,     0,    43,    44,   507,   507,   507,   507,   507,   507,
     2331     507,   507,   507,   507,   507,   507,   507,   507,   507,   507,
     2332     507,   507,     0,     0,     0,     0,     0,     0,    45,  1360,
     2333      46,  1361,     0,   413,     0,     0,    47,    48,     0,     0,
     2334       0,     0,     0,     0,     0,     0,     0,  1370,     0,  1371,
     2335       0,     0,   413,  1125,     0,     0,     0,     0,     0,     0,
     2336       0,     0,   364,     0,  1378,   212,     0,     0,   413,  1136,
     2337       0,   608,   608,  1141,     0,     0,     0,     0,     0,  1396,
     2338    1398,     0,     0,   364,   364,     0,     0,     0,     0,     0,
     2339    1403,     0,     0,  1208,     8,     9,    10,    11,    12,    13,
     2340      14,    15,    16,    17,    18,    19,    20,    21,    22,    23,
     2341      24,    25,    26,    27,  -299,  1426,     0,     0,     0,     0,
     2342       0,     0,     0,     0,  1433,    33,     0,  1435,     0,  1437,
     2343    1439,  1441,     0,     0,     0,     0,     0,     0,     0,     0,
     2344       0,     0,     0,   413,   507,   413,     0,     0,     0,     0,
     2345     413,     0,     0,    36,     0,     0,     0,     0,     0,   608,
     2346       0,     0,     0,     0,  -299,     0,     0,     0,     0,     0,
     2347    1472,     0,  1474,     0,  1208,     0,     0,     0,     0,     0,
     2348       0,     0,   413,  1222,     0,     0,     0,     0,     0,     0,
     2349    1485,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2350       0,     0,     0,     0,   324,   507,   364,     1,     2,   207,
    23332351       4,     5,     6,     7,     8,     9,    10,    11,    12,    13,
    23342352      14,    15,    16,    17,    18,    19,    20,    21,    22,    23,
    2335       24,    25,     0,   379,    26,    27,    28,     0,   958,   362,
    2336      362,   733,     0,    31,    45,    46,     0,     0,     0,   126,
     2353      24,    25,    26,    27,     0,   507,    28,    29,    30,    31,
     2354       0,     0,    32,   283,   284,    33,  1022,  1023,     0,  1024,
     2355       0,     0,  1025,  1026,  1027,  1028,  1029,  1030,  1031,  1032,
     2356       0,     0,     0,  1033,     0,     0,     0,  1034,  1035,     0,
     2357      35,     0,   286,    36,     0,    37,     0,    38,  1036,     0,
     2358      40,    41,   288,   364,     0,   289,   290,   291,   292,   293,
     2359     294,    43,    44,     0,   295,   296,     0,     0,     0,     0,
    23372360       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2338        0,  1129,     0,     0,     0,   505,   505,     0,     0,     0,
    2339        0,    34,  1144,    35,     0,    36,    37,     0,   206,    39,
    2340       40,     0,     0,     0,     0,     0,     0,     0,     0,    41,
    2341       42,     0,   379,     0,  1161,     0,     0,     0,     0,     0,
    2342        0,     0,     0,     0,     0,     0,     0,     0,     0,   958,
    2343      958,     0,     0,     0,     0,    43,     0,   207,     0,     0,
    2344        0,     0,     0,    45,    46,     0,     0,     0,     0,  1192,
    2345        0,     0,     0,     0,     0,     1,     2,   205,     4,     5,
     2361       0,     0,     0,     0,     0,     0,     0,   297,     0,   298,
     2362       0,     0,   172,     0,     0,    47,    48,   299,   300,   301,
     2363     302,     0,     0,     0,     0,  1037,   364,   364,     0,     0,
     2364    -134,     0,     0,     0,     0,     0,     0,     0,     0,   507,
     2365       1,     2,   207,     4,     5,     6,     7,     8,     9,    10,
     2366      11,    12,    13,    14,    15,    16,    17,    18,    19,    20,
     2367      21,    22,    23,    24,    25,    26,    27,     0,     0,    28,
     2368      29,    30,    31,     0,     0,    32,   283,   284,    33,   285,
     2369       0,     0,     0,     0,     0,   507,     0,     0,     0,     0,
     2370       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2371       0,     0,     0,     0,     0,   286,    36,     0,    37,     0,
     2372      38,   287,     0,    40,    41,   288,     0,   507,   289,   290,
     2373     291,   292,   293,   294,    43,    44,     0,   295,   296,   507,
     2374       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2375       0,     0,     0,     0,     0,     0,     0,   364,     0,     0,
     2376     297,     0,   298,     0,     0,     0,     0,     0,    47,    48,
     2377     299,   300,   301,   302,     0,     0,     0,     0,   507,     0,
     2378       0,     0,     0,  -134,     0,     0,     0,     0,     0,     1,
     2379       2,     3,     4,     5,     6,     7,     8,     9,    10,    11,
     2380      12,    13,    14,    15,    16,    17,    18,    19,    20,    21,
     2381      22,    23,    24,    25,    26,    27,     0,     0,    28,    29,
     2382      30,    31,     0,     0,    32,     0,     0,    33,    34,     0,
     2383       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2384       0,     0,     0,     0,     0,     0,   413,     0,     0,     0,
     2385       0,     0,    35,     0,   507,    36,     0,    37,     0,    38,
     2386      39,     0,    40,    41,    42,     0,     0,     0,     0,     0,
     2387     413,   413,     0,    43,    44,     0,     0,     0,     0,     0,
     2388       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2389       0,     0,     0,     0,     0,   413,     0,     0,     0,    45,
     2390       0,    46,     0,     0,     0,  -527,     0,    47,    48,     0,
     2391       0,     0,     0,   507,   507,     1,     2,   207,     4,     5,
    23462392       6,     7,     8,     9,    10,    11,    12,    13,    14,    15,
    23472393      16,    17,    18,    19,    20,    21,    22,    23,    24,    25,
    2348      362,     0,    26,    27,    28,    29,     0,     0,    30,     0,
    2349        0,    31,     0,     0,     0,     0,     0,     0,     0,     0,
    2350        0,     0,     0,   958,     0,     0,     0,     0,     0,     0,
    2351        0,     0,     0,     0,     0,     0,     0,     0,     0,    34,
    2352        0,    35,   848,    36,     0,     0,    38,    39,     0,     0,
    2353        0,     0,     0,     0,     0,     0,     0,  1247,  1248,     0,
    2354        2,   205,     4,     5,     6,     7,     8,     9,    10,    11,
    2355       12,    13,    14,    15,    16,    17,    18,    19,    20,    21,
    2356       22,    23,    24,    25,     0,    44,    26,    27,    28,   411,
    2357        0,    45,    46,     0,     0,    31,     0,     0,     0,     0,
    2358        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2359        0,     0,     0,   411,   411,     0,     0,     0,     0,     0,
    2360        0,     0,     0,    34,     0,    35,     0,    36,     0,     0,
    2361       38,    39,     0,     0,     0,     0,     0,     0,   411,     0,
    2362        0,     0,     1,     2,   205,     4,     5,     6,     7,     8,
    2363        9,    10,    11,    12,    13,    14,    15,    16,    17,    18,
    2364       19,    20,    21,    22,    23,    24,    25,     0,  -418,    26,
    2365       27,    28,    29,     0,     0,    30,   281,   282,    31,  1020,
    2366     1021,     0,  1022,     0,     0,  1023,  1024,  1025,  1026,  1027,
    2367     1028,  1029,  1030,     0,     0,     0,  1031,     0,     0,  1352,
    2368     1032,  1033,   733,    33,     0,   284,    34,     0,    35,     0,
    2369       36,  1034,     0,    38,    39,   286,     0,     0,   287,   288,
    2370      289,   290,   291,   292,    41,    42,     0,   293,   294,     0,
     2394      26,    27,     0,     0,    28,    29,    30,    31,     0,     0,
     2395      32,   283,   284,    33,   285,     0,     0,     0,     0,     0,
    23712396       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    23722397       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2373      295,     0,   296,     0,     0,   170,     0,     0,    45,    46,
    2374      297,   298,   299,   300,     0,     0,     0,     0,  1035,     0,
    2375        0,     0,     0,  -134,     1,     2,   205,     4,     5,     6,
     2398     286,    36,     0,    37,     0,    38,   287,     0,    40,    41,
     2399     288,     0,     0,   289,   290,   291,   292,   293,   294,    43,
     2400      44,     0,   295,   296,     0,     0,     0,     0,     0,     0,
     2401       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2402       0,     0,     0,     0,     0,   297,     0,   298,     0,     0,
     2403       0,     0,     0,    47,    48,   299,   300,   301,   302,     0,
     2404       0,     0,     0,     0,     0,     2,   207,     4,     5,     6,
    23762405       7,     8,     9,    10,    11,    12,    13,    14,    15,    16,
    2377       17,    18,    19,    20,    21,    22,    23,    24,    25,     0,
    2378        0,    26,    27,    28,    29,     0,     0,    30,   281,   282,
    2379       31,   283,     8,     9,    10,    11,    12,    13,    14,    15,
    2380       16,    17,    18,    19,    20,    21,    22,    23,    24,    25,
    2381        0,     0,    26,    27,    28,     0,     0,   284,    34,     0,
    2382       35,    31,    36,   285,     0,    38,    39,   286,     0,     0,
    2383      287,   288,   289,   290,   291,   292,    41,    42,     0,   293,
    2384      294,     0,     0,     0,     0,     0,     0,     0,     0,    34,
    2385        0,     0,     0,     0,   110,     0,    38,    39,     0,     0,
    2386        0,     0,   295,     0,   296,     0,     0,    41,    42,     0,
    2387       45,    46,   297,   298,   299,   300,     0,     0,     0,     0,
    2388        0,     0,     0,     0,     0,  -134,     0,     0,     0,     0,
    2389        0,     0,     0,     0,     0,     0,   322,     1,     2,   205,
     2406      17,    18,    19,    20,    21,    22,    23,    24,    25,    26,
     2407      27,     0,     0,    28,    29,    30,     0,     0,     0,     0,
     2408     283,   284,    33,   285,     0,     0,     0,     0,     0,     0,
     2409       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2410       0,     0,     0,     0,     0,     0,     0,     0,     0,   286,
     2411      36,     0,    37,     0,    38,   287,     0,    40,    41,   288,
     2412       0,   507,   289,   290,   291,   292,   293,   294,    43,    44,
     2413       0,   295,   296,     0,     0,     0,     0,     0,   507,     0,
     2414       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2415       0,     0,     0,     0,   297,     0,   343,     0,     0,     0,
     2416       0,   750,   344,    48,   299,   300,   301,   302,     2,   207,
    23902417       4,     5,     6,     7,     8,     9,    10,    11,    12,    13,
    23912418      14,    15,    16,    17,    18,    19,    20,    21,    22,    23,
    2392       24,    25,     0,     0,    26,    27,    28,    29,     0,     0,
    2393       30,   281,   282,    31,   283,     8,     9,    10,    11,    12,
    2394       13,    14,    15,    16,    17,    18,    19,    20,    21,    22,
    2395       23,    24,    25,  -299,     0,     0,     0,     0,     0,     0,
    2396      284,    34,     0,    35,    31,    36,   285,     0,    38,    39,
    2397      286,     0,     0,   287,   288,   289,   290,   291,   292,    41,
    2398       42,     0,   293,   294,     0,     0,     0,     0,     0,     0,
    2399        0,     0,    34,     0,     0,     0,     0,     0,     0,     0,
    2400        0,     0,     0,  -299,     0,   295,     0,   296,     0,     0,
    2401        0,     0,     0,    45,    46,   297,   298,   299,   300,     2,
    2402      205,     4,     5,     6,     7,     8,     9,    10,    11,    12,
    2403       13,    14,    15,    16,    17,    18,    19,    20,    21,    22,
    2404       23,    24,    25,     0,     0,    26,    27,    28,     0,     0,
    2405        0,     0,   281,   282,    31,   283,     8,     9,    10,    11,
    2406       12,    13,    14,    15,    16,    17,    18,    19,    20,    21,
    2407       22,    23,    24,    25,     0,     0,    26,    27,    28,     0,
    2408        0,   284,    34,     0,    35,    31,    36,   285,     0,    38,
    2409       39,   286,     0,     0,   287,   288,   289,   290,   291,   292,
    2410       41,    42,     0,   293,   294,     0,     0,     0,     0,     0,
    2411        0,     0,     0,    34,     0,     0,     0,     0,     0,     0,
    2412       38,    39,     0,     0,     0,     0,   295,     0,   341,     0,
    2413        0,     0,     0,   748,   342,    46,   297,   298,   299,   300,
    2414        2,   205,     4,     5,     6,     7,     8,     9,    10,    11,
    2415       12,    13,    14,    15,    16,    17,    18,    19,    20,    21,
    2416       22,    23,    24,    25,     0,     0,    26,    27,    28,     0,
    2417        0,     0,     0,   281,   282,    31,   283,     8,     9,    10,
     2419      24,    25,    26,    27,     0,     0,    28,    29,    30,     0,
     2420       0,     0,     0,   283,   284,    33,   285,     0,     0,     0,
     2421     507,   507,     0,     0,     0,     0,     0,     0,     0,     0,
     2422       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2423       0,     0,   286,    36,     0,    37,     0,    38,   287,     0,
     2424      40,    41,   288,     0,     0,   289,   290,   291,   292,   293,
     2425     294,    43,    44,     0,   295,   296,     0,     0,     0,     0,
     2426       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2427       0,     0,     0,     0,     0,     0,     0,   297,     0,   343,
     2428       0,     0,     0,     0,   750,    47,    48,   299,   300,   301,
     2429     302,     2,   207,     4,     5,     6,     7,     8,     9,    10,
    24182430      11,    12,    13,    14,    15,    16,    17,    18,    19,    20,
    2419       21,    22,    23,    24,    25,     0,     0,    26,    27,    28,
    2420        0,     0,   284,    34,     0,    35,    31,    36,   285,     0,
    2421       38,    39,   286,     0,     0,   287,   288,   289,   290,   291,
    2422      292,    41,    42,     0,   293,   294,     0,     0,     0,     0,
    2423        0,     0,     0,     0,    34,     0,     0,     0,     0,     0,
    2424        0,   206,    39,     0,     0,     0,     0,   295,     0,   341,
    2425        0,     0,     0,     0,   748,    45,    46,   297,   298,   299,
    2426      300,     2,   205,     4,     5,     6,     7,     8,     9,    10,
    2427       11,    12,    13,    14,    15,    16,    17,    18,    19,    20,
    2428       21,    22,    23,    24,    25,     0,     0,    26,    27,    28,
    2429        0,     0,     0,     0,   281,   282,    31,   283,     0,     0,
     2431      21,    22,    23,    24,    25,    26,    27,     0,     0,    28,
     2432      29,    30,     0,     0,     0,     0,   283,   284,    33,   285,
    24302433       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    24312434       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2432        0,     0,     0,   284,    34,     0,    35,     0,    36,   285,
    2433        0,    38,    39,   286,     0,     0,   287,   288,   289,   290,
    2434      291,   292,    41,    42,     0,   293,   294,     0,     0,     0,
    2435        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2436        0,     0,     0,     0,     0,     0,     0,     0,   295,     0,
    2437      341,     0,     0,     0,     0,     0,   342,    46,   297,   298,
    2438      299,   300,     2,   205,     4,     5,     6,     7,     8,     9,
    2439       10,    11,    12,    13,    14,    15,    16,    17,    18,    19,
    2440       20,    21,    22,    23,    24,    25,     0,     0,    26,    27,
    2441       28,     0,     0,     0,     0,   281,   282,    31,   283,     0,
     2435       0,     0,     0,     0,     0,   286,    36,     0,    37,     0,
     2436      38,   287,     0,    40,    41,   288,     0,     0,   289,   290,
     2437     291,   292,   293,   294,    43,    44,     0,   295,   296,     0,
    24422438       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    24432439       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2444        0,     0,     0,     0,   284,    34,     0,    35,     0,    36,
    2445      285,     0,   206,    39,   286,     0,     0,   287,   288,   289,
    2446      290,   291,   292,    41,    42,     0,   293,   294,     0,     0,
     2440     297,     0,   343,     0,     0,     0,     0,     0,   344,    48,
     2441     299,   300,   301,   302,     2,   207,     4,     5,     6,     7,
     2442       8,     9,    10,    11,    12,    13,    14,    15,    16,    17,
     2443      18,    19,    20,    21,    22,    23,    24,    25,    26,    27,
     2444       0,     0,    28,    29,    30,     0,     0,     0,     0,   283,
     2445     284,    33,   285,     0,     0,     0,     0,     0,     0,     0,
    24472446       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2448        0,     0,     0,     0,     0,     0,     0,     0,     0,   295,
    2449        0,   979,     0,     0,     0,     0,     0,   980,    46,   297,
    2450      298,   299,   300,     2,   205,     4,     5,     6,     7,     8,
    2451        9,    10,    11,    12,    13,    14,    15,    16,    17,    18,
    2452       19,    20,    21,    22,    23,    24,    25,     0,     0,    26,
    2453       27,    28,     0,     0,     0,     0,   281,   282,    31,   283,
     2447       0,     0,     0,     0,     0,     0,     0,     0,   286,    36,
     2448       0,    37,     0,    38,   287,     0,   208,    41,   288,     0,
     2449       0,   289,   290,   291,   292,   293,   294,    43,    44,     0,
     2450     295,   296,     0,     0,     0,     0,     0,     0,     0,     0,
     2451       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2452       0,     0,     0,   297,     0,   981,     0,     0,     0,     0,
     2453       0,   982,    48,   299,   300,   301,   302,     2,   207,     4,
     2454       5,     6,     7,     8,     9,    10,    11,    12,    13,    14,
     2455      15,    16,    17,    18,    19,    20,    21,    22,    23,    24,
     2456      25,    26,    27,     0,     0,    28,    29,    30,     0,     0,
     2457       0,     0,   283,   284,    33,   285,     0,     0,     0,     0,
    24542458       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    24552459       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2456        0,     0,     0,     0,     0,   284,    34,     0,    35,     0,
    2457       36,   285,     0,   206,    39,   286,     0,     0,   287,   288,
    2458      289,   290,   291,   292,    41,    42,     0,   293,   294,     0,
     2460       0,   286,    36,     0,    37,     0,    38,   287,     0,   208,
     2461      41,   288,     0,     0,   289,   290,   291,   292,   293,   294,
     2462      43,    44,     0,   295,   296,     0,     0,     0,     0,     0,
     2463       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2464       0,     0,     0,     0,     0,     0,   297,     0,   378,     0,
     2465       0,     0,     0,     0,    47,    48,   299,   300,   301,   302,
     2466       1,     2,     3,     4,     5,     6,     7,     8,     9,    10,
     2467      11,    12,    13,    14,    15,    16,    17,    18,    19,    20,
     2468      21,    22,    23,    24,    25,    26,    27,     0,     0,    28,
     2469      29,    30,    31,     0,     0,    32,     0,     0,    33,    34,
    24592470       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    24602471       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2461      295,     0,   376,     0,     0,     0,     0,     0,    45,    46,
    2462      297,   298,   299,   300,  -521,     0,     0,     1,     2,     3,
     2472       0,     0,     0,    35,     0,     0,    36,     0,    37,     0,
     2473      38,    39,     0,    40,    41,    42,     0,     0,     0,     0,
     2474       0,     0,     0,     0,    43,    44,     0,     0,     0,     0,
     2475       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2476       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2477      45,     0,    46,     0,     0,     0,     0,     0,    47,    48,
     2478     206,     2,   207,     4,     5,     6,     7,     8,     9,    10,
     2479      11,    12,    13,    14,    15,    16,    17,    18,    19,    20,
     2480      21,    22,    23,    24,    25,    26,    27,     0,     0,    28,
     2481      29,    30,     0,     0,     0,     0,     0,     0,    33,     0,
     2482       0,     8,     9,    10,    11,    12,    13,    14,    15,    16,
     2483      17,    18,    19,    20,    21,    22,    23,    24,    25,    26,
     2484      27,     0,     0,    28,    29,    30,    36,     0,    37,     0,
     2485      38,    39,    33,   208,    41,    42,     0,     0,     0,     0,
     2486       0,     0,     0,     0,    43,    44,     0,     0,     0,     0,
     2487       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2488      36,     0,     0,     0,     0,     0,     0,    40,    41,     0,
     2489      45,     0,   209,     0,     0,     0,     0,     0,    47,    48,
     2490       1,     2,   207,     4,     5,     6,     7,     8,     9,    10,
     2491      11,    12,    13,    14,    15,    16,    17,    18,    19,    20,
     2492      21,    22,    23,    24,    25,    26,    27,  -298,     0,    28,
     2493      29,    30,    31,     0,     0,    32,     0,     0,    33,     0,
     2494       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2495       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2496       0,     0,     0,     0,     0,     0,    36,     0,    37,     0,
     2497      38,     0,     0,    40,    41,     0,     0,  -298,     1,     2,
     2498     207,     4,     5,     6,     7,     8,     9,    10,    11,    12,
     2499      13,    14,    15,    16,    17,    18,    19,    20,    21,    22,
     2500      23,    24,    25,    26,    27,     0,     0,    28,    29,    30,
     2501      31,     0,    46,    32,     0,     0,    33,     0,    47,    48,
     2502       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2503       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2504       0,     0,     0,     0,    36,     0,    37,     0,    38,     0,
     2505       0,    40,    41,   206,     2,   207,     4,     5,     6,     7,
     2506       8,     9,    10,    11,    12,    13,    14,    15,    16,    17,
     2507      18,    19,    20,    21,    22,    23,    24,    25,    26,    27,
     2508       0,     0,    28,    29,    30,     0,     0,     0,     0,     0,
     2509      46,    33,     0,     0,     0,     0,    47,    48,     0,  1143,
     2510       0,     0,     8,     9,    10,    11,    12,     0,     0,     0,
     2511       0,     0,     0,     0,     0,     0,     0,     0,     0,    36,
     2512       0,    37,     0,    38,     0,     0,   208,    41,     0,     0,
     2513       0,   283,   284,    33,   285,     0,     0,     0,     0,     0,
     2514       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2515       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2516     286,    36,     0,     0,     0,   209,   287,     0,     0,     0,
     2517     288,    47,    48,   289,   290,   291,   292,   293,   294,    43,
     2518      44,     0,   295,   296,     0,     0,     0,     0,     0,     0,
     2519       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2520       0,     0,     0,     0,     0,   297,     0,   378,     0,     0,
     2521       0,     0,     0,  1144,    48,   299,   300,   301,   302,     2,
     2522     207,     4,     5,     6,     7,     8,     9,    10,    11,    12,
     2523      13,    14,    15,    16,    17,    18,    19,    20,    21,    22,
     2524      23,    24,    25,    26,    27,     0,     0,    28,    29,    30,
     2525       0,     0,     0,     0,     0,     0,    33,     0,     0,     8,
     2526       9,    10,    11,    12,    13,    14,    15,    16,    17,    18,
     2527      19,    20,    21,    22,    23,    24,    25,    26,    27,     0,
     2528       0,    28,    29,    30,    36,     0,    37,     0,    38,    39,
     2529      33,   208,    41,    42,     0,     0,     0,     0,     0,     0,
     2530       0,     0,    43,    44,     0,     0,     0,     0,     0,     0,
     2531       0,     0,     0,     0,     0,     0,     0,     0,    36,     0,
     2532       0,     0,     0,     0,     0,    40,    41,     0,    45,     0,
     2533     209,     0,     0,     0,     0,     0,    47,    48,     2,   207,
    24632534       4,     5,     6,     7,     8,     9,    10,    11,    12,    13,
    24642535      14,    15,    16,    17,    18,    19,    20,    21,    22,    23,
    2465       24,    25,     0,     0,    26,    27,    28,    29,     0,     0,
    2466       30,     0,     0,    31,    32,     0,     0,     0,     0,     0,
     2536      24,    25,    26,    27,   258,     0,    28,    29,    30,     0,
     2537      47,    48,     0,     0,     0,    33,     0,     0,     0,     0,
    24672538       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2468        0,     0,     0,     0,     0,     0,     0,     0,    33,     0,
    2469        0,    34,     0,    35,     0,    36,    37,     0,    38,    39,
    2470       40,     0,     0,     0,     0,     0,     0,     0,     0,    41,
    2471       42,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    24722539       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2473        0,     0,     0,     0,     0,    43,     0,    44,     0,     0,
    2474        0,     0,     0,    45,    46,     1,     2,     3,     4,     5,
     2540       0,     0,     0,    36,     0,    37,     0,    38,     0,     0,
     2541      40,    41,     0,     2,   207,     4,     5,     6,     7,     8,
     2542       9,    10,    11,    12,    13,    14,    15,    16,    17,    18,
     2543      19,    20,    21,    22,    23,    24,    25,    26,    27,     0,
     2544       0,    28,    29,    30,     0,     0,     0,     0,  -407,   670,
     2545      33,     0,     0,     0,     0,    47,    48,     0,     0,     0,
     2546       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2547       0,     0,     0,     0,     0,     0,     0,     0,    36,     0,
     2548      37,     0,    38,     0,     0,    40,    41,     0,     0,     0,
     2549       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2550       0,     0,     0,     0,     0,     0,     0,     0,     0,  1334,
     2551       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2552       0,     0,     0,     0,   670,     0,     0,     0,     0,     0,
     2553      47,    48,     2,   207,     4,     5,     6,     7,     8,     9,
     2554      10,    11,    12,    13,    14,    15,    16,    17,    18,    19,
     2555      20,    21,    22,    23,    24,    25,    26,    27,     0,     0,
     2556      28,    29,    30,     0,     0,     0,     0,     0,     0,    33,
     2557       0,     0,     8,     9,    10,    11,    12,    13,    14,    15,
     2558      16,    17,    18,    19,    20,    21,    22,    23,    24,    25,
     2559      26,    27,     0,     0,    28,    29,    30,    36,     0,    37,
     2560       0,    38,     0,    33,    40,    41,     0,     0,     0,     0,
     2561       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2562       0,     0,     0,     0,     0,     0,     0,     0,  1336,     0,
     2563       0,    36,     0,     0,     0,     0,     0,     0,    40,    41,
     2564       0,     0,     0,   670,     0,     0,     0,     0,     0,    47,
     2565      48,     2,   207,     4,     5,     6,     7,     8,     9,    10,
     2566      11,    12,    13,    14,    15,    16,    17,    18,    19,    20,
     2567      21,    22,    23,    24,    25,    26,    27,    46,     0,    28,
     2568      29,    30,     0,    47,    48,     0,     0,     0,    33,     0,
     2569       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2570       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2571       0,     0,     0,     0,     0,     0,    36,     0,    37,     0,
     2572      38,     0,     0,   208,    41,     0,     2,   207,     4,     5,
    24752573       6,     7,     8,     9,    10,    11,    12,    13,    14,    15,
    24762574      16,    17,    18,    19,    20,    21,    22,    23,    24,    25,
    2477        0,     0,    26,    27,    28,    29,     0,     0,    30,     0,
    2478        0,    31,    32,     0,     0,     0,     0,     0,     0,     0,
    2479        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2480        0,     0,     0,     0,     0,     0,    33,     0,     0,    34,
    2481        0,    35,     0,    36,    37,     0,    38,    39,    40,     0,
    2482        0,     0,     0,     0,     0,     0,     0,    41,    42,     0,
     2575      26,    27,     0,     0,    28,    29,    30,     0,     0,     0,
     2576       0,     0,   271,    33,     0,     0,     0,     0,    47,    48,
    24832577       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    24842578       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2485        0,     0,     0,    43,     0,    44,     0,     0,     0,  -525,
    2486        0,    45,    46,     1,     2,     3,     4,     5,     6,     7,
    2487        8,     9,    10,    11,    12,    13,    14,    15,    16,    17,
    2488       18,    19,    20,    21,    22,    23,    24,    25,     0,     0,
    2489       26,    27,    28,    29,     0,     0,    30,     0,     0,    31,
    2490       32,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2579       0,    36,     0,    37,     0,    38,     0,     0,    40,    41,
     2580       0,     2,   207,     4,     5,     6,     7,     8,     9,    10,
     2581      11,    12,    13,    14,    15,    16,    17,    18,    19,    20,
     2582      21,    22,    23,    24,    25,    26,    27,     0,     0,    28,
     2583      29,    30,     0,     0,     0,     0,     0,   670,    33,     0,
     2584       0,     0,     0,    47,    48,     0,     0,     0,     0,     0,
    24912585       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2492        0,     0,     0,     0,    33,     0,     0,    34,     0,    35,
    2493        0,    36,    37,     0,    38,    39,    40,     0,     0,     0,
    2494        0,     0,     0,     0,     0,    41,    42,     0,     0,     0,
     2586       0,     0,     0,     0,     0,     0,    36,     0,    37,     0,
     2587      38,     0,     0,   208,    41,     8,     9,    10,    11,    12,
     2588      13,    14,    15,    16,    17,    18,    19,    20,    21,    22,
     2589      23,    24,    25,    26,    27,     0,     0,    28,    29,    30,
     2590       0,     0,     0,     0,   283,   284,    33,   285,     0,     0,
     2591       0,     0,   209,     0,     0,     0,     0,     0,    47,    48,
     2592       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2593       0,     0,     0,   286,    36,     0,     0,     0,     0,   287,
     2594       0,    40,    41,   288,     0,     0,   289,   290,   291,   292,
     2595     293,   294,    43,    44,     0,   295,   296,     0,     0,     0,
     2596       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2597       0,     0,     0,     0,     0,     0,     0,     0,   297,     0,
     2598     515,     0,     0,   172,     0,     0,    47,    48,   299,   300,
     2599     301,   302,     8,     9,    10,    11,    12,    13,    14,    15,
     2600      16,    17,    18,    19,    20,    21,    22,    23,    24,    25,
     2601      26,    27,     0,     0,    28,    29,    30,     0,     0,     0,
     2602       0,   283,   284,    33,   285,     0,     0,     0,     0,     0,
    24952603       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    24962604       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2497        0,    43,     0,    44,     0,     0,     0,     0,     0,    45,
    2498       46,     1,     2,   205,     4,     5,     6,     7,     8,     9,
    2499       10,    11,    12,    13,    14,    15,    16,    17,    18,    19,
    2500       20,    21,    22,    23,    24,    25,  -298,     0,    26,    27,
    2501       28,    29,     0,     0,    30,     0,     0,    31,     0,     0,
     2605     286,    36,     0,     0,     0,     0,   287,     0,    40,    41,
     2606     288,     0,     0,   289,   290,   291,   292,   293,   294,    43,
     2607      44,     0,   295,   296,     0,     0,     0,     0,     0,     0,
     2608       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2609       0,     0,     0,     0,     0,   297,   -40,   298,     0,     0,
     2610       0,     0,     0,    47,    48,   299,   300,   301,   302,     8,
     2611       9,    10,    11,    12,    13,    14,    15,    16,    17,    18,
     2612      19,    20,    21,    22,    23,    24,    25,    26,    27,     0,
     2613       0,    28,    29,    30,     0,     0,     0,     0,   283,   284,
     2614      33,   285,     0,     0,     0,     0,     0,     0,     0,     0,
     2615       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2616       0,     0,     0,     0,     0,     0,     0,   286,    36,     0,
     2617       0,     0,     0,   287,     0,    40,    41,   288,     0,     0,
     2618     289,   290,   291,   292,   293,   294,    43,    44,     0,   295,
     2619     296,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2620       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2621       0,     0,   297,     0,   298,     0,     0,     0,     0,     0,
     2622      47,    48,   299,   300,   301,   302,     8,     9,    10,    11,
     2623      12,    13,    14,    15,    16,    17,    18,    19,    20,    21,
     2624      22,    23,    24,    25,    26,    27,     0,     0,    28,    29,
     2625      30,     0,     0,     0,     0,   283,   284,    33,   285,     0,
    25022626       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    25032627       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2504        0,     0,     0,     0,     0,    34,     0,    35,     0,    36,
    2505        0,     0,    38,    39,     0,     0,  -298,   204,     2,   205,
     2628       0,     0,     0,     0,   286,    36,     0,     0,     0,     0,
     2629     287,     0,    40,    41,   288,     0,     0,   289,   290,   291,
     2630     292,   293,   294,    43,    44,     0,   295,   296,     0,     0,
     2631       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2632       0,     0,     0,     0,     0,     0,     0,     0,     0,   297,
     2633       0,   343,     0,     0,     0,     0,     0,    47,    48,   299,
     2634     300,   301,   302,     8,     9,    10,    11,    12,    13,    14,
     2635      15,    16,    17,    18,    19,    20,    21,    22,    23,    24,
     2636      25,    26,    27,     0,     0,    28,    29,    30,     0,     0,
     2637       0,     0,   283,   284,    33,   285,     0,     0,     0,     0,
     2638       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2639       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2640       0,   286,    36,     0,     0,     0,     0,   287,     0,    40,
     2641      41,   288,     0,     0,   289,   290,   291,   292,   293,   294,
     2642      43,    44,     0,   295,   296,     0,     0,     0,     0,     0,
     2643       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2644       0,     0,     0,     0,     0,     0,   297,     0,   378,     0,
     2645       0,     0,     0,     0,    47,    48,   299,   300,   301,   302,
     2646     465,     2,   207,     4,     5,     6,     7,     8,     9,    10,
     2647      11,    12,    13,    14,    15,    16,    17,    18,    19,    20,
     2648      21,    22,    23,    24,    25,    26,    27,     0,     0,    28,
     2649      29,    30,     0,     0,     0,     0,     0,     0,    33,     0,
     2650       8,     9,    10,    11,    12,    13,    14,    15,    16,    17,
     2651      18,    19,    20,    21,    22,    23,    24,    25,    26,    27,
     2652       0,     0,    28,    29,    30,     0,    36,     0,    37,     0,
     2653      38,    33,     0,    40,    41,     0,     0,     0,     0,     0,
     2654       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2655       0,     0,     0,     0,     0,     0,     0,     0,     0,    36,
     2656       0,     0,     0,     0,   112,     0,    40,    41,     0,     0,
     2657       0,     0,     0,     0,     0,    -3,     0,    43,    44,     0,
     2658       0,     0,     0,     0,     8,     9,    10,    11,    12,    13,
     2659      14,    15,    16,    17,    18,    19,    20,    21,    22,    23,
     2660      24,    25,    26,    27,     0,    46,    28,    29,    30,     0,
     2661       0,    47,    48,     0,     0,    33,   677,     8,     9,    10,
     2662      11,    12,    13,    14,    15,    16,    17,    18,    19,    20,
     2663      21,    22,    23,    24,    25,    26,    27,     0,     0,    28,
     2664      29,    30,     0,    36,     0,     0,     0,     0,    33,   677,
     2665      40,    41,     0,     0,     0,     0,     0,     0,     0,     0,
     2666       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2667       0,     0,     0,     0,     0,     0,    36,     0,     0,     0,
     2668       0,     0,     0,    40,    41,     0,     0,     0,     0,   678,
     2669       0,     0,     0,   679,     0,    47,    48,     0,     0,     0,
     2670       0,     8,     9,    10,    11,    12,    13,    14,    15,    16,
     2671      17,    18,    19,    20,    21,    22,    23,    24,    25,    26,
     2672      27,     0,   678,    28,    29,    30,  1072,     0,    47,    48,
     2673       0,     0,    33,   677,     8,     9,    10,    11,    12,    13,
     2674      14,    15,    16,    17,    18,    19,    20,    21,    22,    23,
     2675      24,    25,    26,    27,     0,     0,    28,    29,    30,     0,
     2676      36,     0,     0,     0,     0,    33,     0,    40,    41,     0,
     2677       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2678       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2679       0,     0,     0,    36,     0,     0,     0,     0,     0,     0,
     2680     208,    41,     0,     0,     0,     0,   678,     0,     0,     0,
     2681    1199,     0,    47,    48,     0,     0,     0,     0,     8,     9,
     2682      10,    11,    12,    13,    14,    15,    16,    17,    18,    19,
     2683      20,    21,    22,    23,    24,    25,    26,    27,     0,   271,
     2684      28,    29,    30,     0,     0,    47,    48,     0,     0,    33,
     2685       8,     9,    10,    11,    12,    13,    14,    15,    16,    17,
     2686      18,    19,    20,    21,    22,    23,    24,    25,    26,    27,
     2687       0,     0,    28,    29,    30,     0,     0,    36,     0,     0,
     2688       0,    33,     0,     0,    40,    41,     0,     0,     0,     0,
     2689       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2690       0,     0,     0,     0,     0,     0,     0,     0,     0,    36,
     2691       0,     0,     0,     0,     0,     0,    40,    41,     0,     0,
     2692       0,     0,     0,   339,     0,     0,     0,     0,     0,    47,
     2693      48,     0,     0,     0,     8,     9,    10,    11,    12,    13,
     2694      14,    15,    16,    17,    18,    19,    20,    21,    22,    23,
     2695      24,    25,    26,    27,     0,   678,    28,    29,    30,     0,
     2696       0,    47,    48,     0,     0,    33,     0,     0,     0,     0,
     2697       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2698       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2699       0,     0,     0,    36,     0,     0,     0,     0,     0,     0,
     2700      40,    41,     0,     2,   207,     4,     5,     6,     7,     8,
     2701       9,    10,    11,    12,    13,    14,    15,    16,    17,    18,
     2702      19,    20,    21,    22,    23,    24,    25,    26,    27,     0,
     2703       0,    28,    29,    30,     0,     0,     0,     0,     0,   670,
     2704      33,     0,     0,     0,     0,    47,    48,     0,     0,     0,
     2705       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2706       0,     0,     0,     0,     0,     0,     0,     0,    36,     0,
     2707      37,     0,    38,     0,     0,    40,    41,   283,   284,     0,
     2708     285,  1023,     0,  1024,     0,     0,  1025,  1026,  1027,  1028,
     2709    1029,  1030,  1031,  1032,     0,     0,  1510,  1033,     0,     0,
     2710       0,  1034,  1035,     0,    35,     0,   286,     0,     0,     0,
     2711       0,     0,  1036,  -420,     0,     0,   288,     0,     0,   289,
     2712     290,   291,   292,   293,   294,    43,    44,     0,   295,   296,
     2713       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2714       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2715       0,   297,     0,   378,     0,     0,   172,     0,     0,    47,
     2716      48,   299,   300,   301,   302,     0,     0,   283,   284,  1037,
     2717     285,  1023,     0,  1024,  -134,     0,  1025,  1026,  1027,  1028,
     2718    1029,  1030,  1031,  1032,     0,     0,     0,  1033,     0,     0,
     2719       0,  1034,  1035,     0,    35,     0,   286,     0,     0,     0,
     2720       0,     0,  1036,     0,     0,     0,   288,     0,     0,   289,
     2721     290,   291,   292,   293,   294,    43,    44,     0,   295,   296,
     2722       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2723       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2724       0,   297,     0,   378,     0,     0,   172,     0,     0,    47,
     2725      48,   299,   300,   301,   302,     0,     0,     0,     0,  1037,
     2726       0,     0,     0,     0,  -134,     2,   207,     4,     5,     6,
     2727       7,     8,     9,    10,    11,    12,    13,    14,    15,    16,
     2728      17,    18,    19,    20,    21,    22,    23,    24,    25,    26,
     2729      27,     0,     0,    28,    29,    30,     0,     0,     0,     0,
     2730       0,     0,    33,     0,   283,   284,     0,   285,  1023,     0,
     2731    1024,  1382,  1383,  1025,  1026,  1027,  1028,  1029,  1030,  1031,
     2732    1032,     0,     0,  1510,  1033,     0,     0,     0,  1034,  1035,
     2733      36,    35,    37,   286,    38,     0,     0,    40,    41,  1036,
     2734       0,     0,     0,   288,     0,     0,   289,   290,   291,   292,
     2735     293,   294,    43,    44,     0,   295,   296,     0,     0,     0,
     2736       0,  1293,     0,     0,     0,     0,     0,     0,     0,     0,
     2737       0,     0,     0,     0,     0,     0,     0,     0,   297,     0,
     2738     378,     0,     0,   172,     0,     0,    47,    48,   299,   300,
     2739     301,   302,     0,     0,   283,   284,  1037,   285,  1023,     0,
     2740    1024,  1382,  1383,  1025,  1026,  1027,  1028,  1029,  1030,  1031,
     2741    1032,     0,     0,     0,  1033,     0,     0,     0,  1034,  1035,
     2742       0,    35,     0,   286,     0,     0,     0,     0,     0,  1036,
     2743       0,     0,     0,   288,     0,     0,   289,   290,   291,   292,
     2744     293,   294,    43,    44,     0,   295,   296,     0,     0,     0,
     2745       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2746       0,     0,     0,     0,     0,     0,     0,     0,   297,     0,
     2747     378,     0,     0,   172,     0,     0,    47,    48,   299,   300,
     2748     301,   302,     0,     0,   283,   284,  1037,   285,  1023,     0,
     2749    1024,     0,     0,  1025,  1026,  1027,  1028,  1029,  1030,  1031,
     2750    1032,     0,     0,     0,  1033,     0,     0,     0,  1034,  1035,
     2751       0,    35,     0,   286,     0,     0,     0,     0,     0,  1036,
     2752       0,     0,     0,   288,     0,     0,   289,   290,   291,   292,
     2753     293,   294,    43,    44,     0,   295,   296,     0,     0,     0,
     2754       0,     0,     0,   283,   284,     0,   285,     0,     0,     0,
     2755       0,     0,     0,     0,     0,     0,     0,     0,   297,     0,
     2756     378,     0,     0,   172,     0,     0,    47,    48,   299,   300,
     2757     301,   302,   286,     0,     0,     0,  1037,     0,   633,     0,
     2758     141,   142,   288,     0,     0,   289,   290,   291,   292,   293,
     2759     294,    43,    44,     0,   295,   296,     0,     0,     0,     0,
     2760       0,     0,   283,   284,     0,   285,     0,     0,     0,     0,
     2761       0,     0,     0,     0,     0,     0,     0,   297,     0,   634,
     2762       0,   635,   379,     0,     0,    47,    48,   299,   300,   301,
     2763     302,   286,     0,     0,     0,     0,     0,   287,     0,     0,
     2764       0,   288,     0,     0,   289,   290,   291,   292,   293,   294,
     2765      43,    44,     0,   295,   296,     0,     0,     0,     0,     0,
     2766       0,   283,   284,     0,   285,     0,     0,     0,     0,     0,
     2767       0,     0,     0,     0,     0,     0,   297,     0,   378,     0,
     2768       0,   379,     0,     0,    47,    48,   299,   300,   301,   302,
     2769     286,     0,     0,     0,     0,     0,   287,     0,     0,     0,
     2770     288,     0,     0,   289,   290,   291,   292,   293,   294,    43,
     2771      44,     0,   295,   296,     0,     0,     0,     0,     0,     0,
     2772     283,   284,     0,   285,     0,     0,     0,     0,     0,     0,
     2773       0,     0,     0,     0,     0,   297,     0,   378,     0,     0,
     2774       0,     0,   750,    47,    48,   299,   300,   301,   302,   286,
     2775       0,     0,     0,     0,     0,   287,     0,     0,     0,   288,
     2776       0,     0,   289,   290,   291,   292,   293,   294,    43,    44,
     2777       0,   295,   296,     0,     0,     0,     0,     0,     0,   283,
     2778     284,     0,   285,     0,     0,     0,     0,     0,     0,     0,
     2779       0,     0,     0,     0,   297,     0,   378,     0,     0,   958,
     2780       0,     0,    47,    48,   299,   300,   301,   302,   286,     0,
     2781       0,     0,     0,     0,   287,     0,     0,     0,   288,     0,
     2782       0,   289,   290,   291,   292,   293,   294,    43,    44,     0,
     2783     295,   296,     0,     0,     0,     0,     0,     0,   283,   284,
     2784       0,   285,     0,     0,     0,     0,     0,     0,     0,     0,
     2785       0,     0,     0,   297,     0,   378,     0,     0,     0,     0,
     2786       0,    47,    48,   299,   300,   301,   302,   286,     0,     0,
     2787       0,     0,     0,   287,     0,     0,     0,   288,     0,     0,
     2788     289,   290,   291,   292,   293,   294,    43,    44,     0,   295,
     2789     296,     0,     0,     0,     0,     0,     0,   283,   284,     0,
     2790     285,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2791       0,     0,   504,     0,   378,     0,     0,     0,     0,     0,
     2792      47,    48,   299,   300,   301,   302,   286,     0,     0,     0,
     2793       0,     0,   287,     0,     0,     0,   288,     0,     0,   289,
     2794     290,   291,   292,   293,   294,    43,    44,     0,   295,   296,
     2795       0,     0,     0,     0,     0,     0,   283,   284,     0,   285,
     2796       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2797       0,   509,     0,   378,     0,     0,     0,     0,     0,    47,
     2798      48,   299,   300,   301,   302,   286,     0,     0,     0,     0,
     2799       0,   287,     0,     0,     0,   288,     0,     0,   289,   290,
     2800     291,   292,   293,   294,    43,    44,     0,   295,   296,     0,
     2801       0,     0,     0,     0,     0,   283,   284,     0,   285,     0,
     2802       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2803     512,     0,   378,     0,     0,     0,     0,     0,    47,    48,
     2804     299,   300,   301,   302,   286,     0,     0,     0,     0,     0,
     2805     287,     0,     0,     0,   288,     0,     0,   289,   290,   291,
     2806     292,   293,   294,    43,    44,     0,   295,   296,     0,     0,
     2807       0,     0,     0,     0,   283,   284,     0,   285,     0,     0,
     2808       0,     0,     0,     0,     0,     0,     0,     0,     0,   297,
     2809       0,   378,     0,     0,     0,     0,     0,   701,    48,   299,
     2810     300,   301,   302,   286,     0,     0,     0,     0,     0,   287,
     2811       0,     0,     0,   288,     0,     0,   289,   290,   291,   292,
     2812     293,   294,    43,    44,     0,   295,   296,     0,     0,     0,
     2813       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2814       0,     0,     0,     0,     0,     0,     0,     0,   297,     0,
     2815     378,     0,     0,     0,     0,     0,   344,    48,   299,   300,
     2816     301,   302,     2,   207,     4,     5,     6,     7,     8,     9,
     2817      10,    11,    12,    13,    14,    15,    16,    17,    18,    19,
     2818      20,    21,    22,    23,    24,    25,    26,    27,     0,     0,
     2819       0,     0,     0,     0,     0,     0,     0,     0,     0,    33,
     2820       0,     0,     8,     9,    10,    11,    12,    13,    14,    15,
     2821      16,    17,    18,    19,    20,    21,    22,    23,    24,    25,
     2822      26,    27,     0,     0,    28,    29,    30,    36,     0,    37,
     2823       0,    38,    39,    33,   175,   176,    42,     0,     0,     0,
     2824       0,     0,     0,     0,     0,    43,    44,     0,     0,     0,
     2825       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2826       0,    36,     0,     0,     0,     0,   112,     0,    40,    41,
     2827       0,     0,     0,     0,     0,     0,     0,     0,     0,    43,
     2828      44,   206,     2,   207,     4,     5,     6,     7,     8,     9,
     2829      10,    11,    12,    13,    14,    15,    16,    17,    18,    19,
     2830      20,    21,    22,    23,    24,    25,    26,    27,     0,     0,
     2831      28,    29,    30,     0,     0,     0,     0,     0,     0,    33,
     2832       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2833       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2834       0,     0,     0,     0,     0,     0,     0,    36,     0,    37,
     2835       0,    38,     0,     0,   208,    41,   465,     2,   207,     4,
     2836       5,     6,     7,     8,     9,    10,    11,    12,    13,    14,
     2837      15,    16,    17,    18,    19,    20,    21,    22,    23,    24,
     2838      25,    26,    27,     0,     0,    28,    29,    30,     0,     0,
     2839       0,     0,     0,     0,    33,     0,     0,     0,     0,     0,
     2840       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2841       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2842       0,     0,    36,     0,    37,     0,    38,     0,     0,    40,
     2843      41,     2,   207,     4,     5,     6,     7,     8,     9,    10,
     2844      11,    12,    13,    14,    15,    16,    17,    18,    19,    20,
     2845      21,    22,    23,    24,    25,    26,    27,     0,     0,    28,
     2846      29,    30,     0,     0,     0,     0,     0,     0,    33,     0,
     2847       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2848       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2849       0,     0,     0,     0,     0,     0,    36,     0,    37,     0,
     2850      38,     0,     0,   208,    41,     8,     9,    10,    11,    12,
     2851      13,    14,    15,    16,    17,    18,    19,    20,    21,    22,
     2852      23,    24,    25,    26,    27,     0,     0,    28,    29,    30,
     2853     483,   484,   485,     0,     0,     0,    33,     8,     9,    10,
     2854      11,    12,    13,    14,    15,    16,    17,    18,    19,    20,
     2855      21,    22,    23,    24,    25,    26,    27,     0,     0,    28,
     2856      29,    30,     0,     0,    36,     0,     0,     0,    33,     0,
     2857       0,    40,    41,     0,     0,     0,     0,     0,     0,     0,
     2858       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2859       0,     0,     0,     0,     0,     0,    36,     0,     0,     0,
     2860       0,     0,     0,   208,    41
     2861};
     2862
     2863#define yypact_value_is_default(yystate) \
     2864  ((yystate) == (-1267))
     2865
     2866#define yytable_value_is_error(yytable_value) \
     2867  YYID (0)
     2868
     2869static const yytype_int16 yycheck[] =
     2870{
     2871       0,     1,   186,   186,   532,    45,    45,     0,   186,    45,
     2872       1,   519,     0,   186,   186,   240,   186,   205,   186,   742,
     2873     742,     0,   511,     0,   118,   742,   188,   490,   639,   595,
     2874     862,   494,  1022,   615,    34,   220,   349,     1,   597,   595,
     2875    1303,    34,   282,   349,   685,    45,    34,   169,   170,    45,
     2876     598,    51,   595,   727,   568,    34,   604,    34,    51,   425,
     2877     426,     0,   417,   480,  1005,    65,    74,    30,    68,    83,
     2878     297,    71,    65,   597,    66,    68,    34,    45,    71,    41,
     2879      71,   436,   266,   266,   187,   595,   113,    51,   266,   444,
     2880    1004,  1005,   595,   266,   266,    34,   266,   595,   266,   595,
     2881     262,   263,     0,     1,   688,    46,    47,   107,   202,   630,
     2882       0,  1112,    65,   107,    74,   115,    45,    80,   118,   119,
     2883       0,   113,   629,   630,   645,    41,   492,   108,   136,    68,
     2884     111,    41,    41,   257,   968,   364,    34,   599,   645,   368,
     2885    1403,   603,    41,   107,    34,   511,   186,   186,   148,   149,
     2886     186,   115,  1382,   115,    34,    99,   149,   157,   158,    51,
     2887      74,   161,   624,   157,   267,    45,   628,    89,   161,   892,
     2888     892,    51,   680,    71,    11,   892,   136,    41,   119,   345,
     2889     486,  1015,   703,   136,   148,    65,   186,   187,    68,   133,
     2890     186,    71,    59,   157,   187,   117,   703,   116,   425,   426,
     2891      83,   711,   202,   113,   113,   115,   115,   121,   711,   575,
     2892     210,   100,   629,   630,   113,   711,   115,   210,   186,     0,
     2893       1,  1487,   222,   115,   409,  1455,   266,   266,   645,   222,
     2894     266,  1232,   115,  1234,  1235,   801,   113,   126,   219,   113,
     2895     240,   108,   206,   663,   111,   801,   210,   888,  1514,   113,
     2896     862,   115,   252,    34,   813,   803,   148,   186,   801,   252,
     2897     260,   135,   502,  1204,   252,   265,   266,   267,   114,   149,
     2898     113,   785,   272,   252,   267,   252,   240,   504,   257,   187,
     2899    1270,   161,   509,   222,   597,   512,   703,    68,   134,   813,
     2900      71,   801,   273,   417,   252,  1034,  1035,   297,   801,   280,
     2901     911,   395,   405,   801,   114,   801,   186,   187,   272,   893,
     2902     310,   275,   436,   252,   480,   462,   118,  1258,   210,   674,
     2903     444,   738,    46,    47,   134,    53,   326,    46,    47,   423,
     2904     210,   331,   229,   297,    51,   429,   111,   120,   331,   566,
     2905     100,   341,   222,  1257,  1258,   345,   310,   341,   240,   349,
     2906     350,   248,   219,   919,   252,   939,   585,  1031,  1190,   267,
     2907     135,   781,   252,   919,   364,    74,   126,   257,   368,  1108,
     2908     114,   791,   252,   835,     3,   478,   919,   341,    87,    88,
     2909     272,   345,   802,     3,   365,   113,   266,  1437,   369,    74,
     2910     134,   120,    57,   120,   118,   395,   920,   626,   115,   118,
     2911     364,   983,    87,    88,   368,   405,   273,   136,   462,  1458,
     2912    1022,   350,   405,   280,    74,  1464,    76,    77,   310,   659,
     2913     113,   114,  1472,   423,  1474,   425,   426,    87,    88,   429,
     2914     115,   431,    94,    95,    99,  1484,  1426,  1378,   417,     0,
     2915    1489,   222,    74,  1433,   992,   993,   954,     0,    41,   615,
     2916     113,   331,   452,   345,   620,    87,    88,   436,   118,   120,
     2917     135,   425,   426,   925,  1378,   444,   929,   129,   130,   349,
     2918     470,   252,   116,   113,   891,   136,   120,   966,   478,  1313,
     2919     480,   348,   482,   115,   114,   478,   486,   649,   452,   482,
     2920     730,   114,   492,   210,   482,  1485,  1107,   405,   365,   120,
     2921     813,   465,   369,   482,   504,   482,   506,   813,   113,   509,
     2922     132,   511,   512,   135,  1098,   136,   663,   120,   640,   519,
     2923     113,   120,   115,   523,  1487,   405,   490,   417,   492,   194,
     2924     494,   134,   471,   425,   426,   134,  1370,  1371,   123,   124,
     2925     504,   120,   506,   482,  1507,   509,   436,   511,   512,   113,
     2926     674,  1514,   217,   647,   444,   272,  1080,   136,  1066,   113,
     2927     114,   115,   227,  1071,   115,   794,   117,   567,   568,   113,
     2928     478,   115,   738,  1157,  1158,   575,   700,   680,  1190,   113,
     2929     297,  1001,  1002,   134,   482,   585,   586,  1004,   120,   589,
     2930     480,   120,   482,   310,   120,   595,  1270,   597,   586,   862,
     2931     492,   120,   482,   113,   136,   115,   486,   136,   134,   663,
     2932      74,   575,    76,    77,    78,   615,   113,   136,   924,   511,
     2933     620,   585,   622,    87,    88,   120,   626,   120,   113,   629,
     2934     630,   113,   297,   115,   781,   616,  1056,  1057,   114,   121,
     2935     122,   136,   114,   136,   791,   645,   121,   647,   120,   113,
     2936     631,   615,   127,   128,  1386,   802,   620,   116,  1270,    74,
     2937     120,   120,   626,   644,   849,     4,     5,     6,     7,     8,
     2938       9,  1345,    87,    88,   120,   120,   136,   677,   617,   114,
     2939     680,   120,   114,   575,   869,    10,    11,    12,    13,    14,
     2940     136,   136,   116,   114,   114,   674,   120,   136,   113,   120,
     2941     115,   482,   120,   703,   704,   705,   931,   113,   892,   892,
     2942    1127,   711,   712,   677,   892,   595,    41,   597,   136,   892,
     2943     892,   700,   892,   615,   892,   891,   113,   781,   620,   119,
     2944     114,   113,    71,   855,    73,   452,   120,   791,   738,   136,
     2945     114,   114,   742,   743,    69,   726,   120,   120,   802,   616,
     2946    1482,   715,   691,    66,   114,  1487,  1430,   114,  1432,  1287,
     2947     120,   114,  1025,   120,   631,   113,   705,   120,  1491,  1491,
     2948     113,   113,   680,   115,  1491,  1507,   441,   644,   136,   121,
     2949     122,  1365,  1514,   118,   674,   785,   116,   504,    83,   506,
     2950     120,   894,   509,   114,   794,   512,   796,   136,  1382,   120,
     2951     680,   801,   467,   118,   897,   114,   899,   113,   996,   115,
     2952     700,   120,  1486,   813,  1426,   121,   122,   983,   114,  1239,
     2953     113,  1433,   115,   114,   120,   136,  1246,  1247,  1248,   120,
     2954     794,   711,   712,     4,     5,     6,     7,     8,     9,   504,
     2955    1257,   116,     3,   113,   509,   120,   136,   512,   738,    10,
     2956      11,    12,    13,    14,  1001,  1002,  1096,   796,   118,   726,
     2957    1100,  1101,   862,    74,    35,    76,    77,     0,     1,   114,
     2958    1454,  1455,   114,  1485,   862,   120,    87,    88,   120,   113,
     2959      41,   115,   114,   862,   884,   504,   113,   506,   120,  1309,
     2960     509,   891,   892,   512,   894,  1017,   884,   114,    31,    32,
     2961      71,    34,    73,   120,   115,   114,   906,   113,    69,  1056,
     2962    1057,   120,    45,   113,   114,   115,   114,    83,    51,   919,
     2963     920,   801,   120,   862,   924,  1096,    59,  1190,   114,  1100,
     2964     930,   931,    65,   813,   120,    68,    92,    93,    71,   930,
     2965     119,   120,   906,  1170,  1171,   122,  1173,  1001,  1002,    96,
     2966      97,    84,    85,  1180,   954,  1182,   113,   114,   115,  1467,
     2967     677,  1127,   131,  1066,   862,   929,   930,   931,  1071,   113,
     2968     114,   115,   862,   132,  1214,   108,   114,   115,   111,    74,
     2969       3,    76,    77,   983,    98,   118,   894,    10,    11,    12,
     2970      13,    14,    87,    88,  1088,    60,    61,   662,    60,    61,
     2971      62,   891,  1056,  1057,  1004,  1005,   671,   113,  1516,   115,
     2972     675,   113,   892,   115,   894,   115,   149,    74,    41,   983,
     2973     119,   120,  1022,  1286,    81,    46,    47,    84,   161,    86,
     2974      87,    88,   930,   113,  1022,   115,  1113,  1114,  1204,   931,
     2975     551,   552,    72,  1022,   924,    75,    69,   986,    78,   113,
     2976      80,   115,   113,   186,   187,  1202,   116,    87,   115,   114,
     2977      74,  1061,   116,   113,  1304,   115,  1066,    81,  1308,   202,
     2978      84,  1071,    86,    87,    88,   114,  1339,   210,   285,  1342,
     2979    1080,   862,   114,  1022,   553,   554,   219,   114,  1088,   222,
     2980     114,   983,  1239,   559,   560,   114,   229,  1061,   116,  1246,
     2981    1247,  1248,   115,   310,   311,     4,     5,     6,     7,     8,
     2982       9,   244,   118,   120,  1341,   248,   118,    74,   135,   252,
     2983     253,    78,   118,  1386,  1022,   135,   113,  1127,  1391,   114,
     2984      87,    88,  1022,   266,   267,   114,   116,   134,   345,   116,
     2985     273,   116,   134,     3,   134,    31,   120,   280,  1202,   930,
     2986      10,    11,    12,    13,    14,   114,   113,  1420,  1066,   114,
     2987     118,   113,  1309,  1071,   121,   122,   119,  1407,  1168,  1169,
     2988     114,   119,    71,   380,    73,   120,   119,   114,  1169,   114,
     2989     134,    41,   120,   213,   114,  1239,  1066,   136,   114,   906,
     2990    1190,  1071,  1246,  1247,  1248,   114,   114,   120,   331,   114,
     2991     114,   114,  1190,   114,  1204,   114,   114,   114,  1208,    69,
     2992     114,  1190,   114,     0,     1,   348,   349,  1208,   114,   114,
     2993     114,   886,    10,    11,    12,    13,    14,   119,    31,  1168,
     2994     135,   114,   365,   134,   114,   120,   369,  1127,   116,   116,
     2995     114,  1022,  1505,   114,  1208,   120,   379,    34,  1511,   114,
     2996     280,  1190,   134,    41,   113,  1309,   120,  1257,  1258,  1522,
     2997     118,   114,   395,  1526,    51,  1265,   114,  1361,   114,    85,
     2998    1270,  1169,   405,    89,    90,    91,  1501,   555,   556,   557,
     2999     558,    69,  1270,   120,    71,   114,   114,   120,   120,   114,
     3000     423,  1270,  1190,   113,   113,   113,   429,   113,   113,   115,
     3001    1190,   117,   118,  1303,   113,   136,   119,  1491,  1491,   114,
     3002    1208,   134,  1303,  1491,  1204,   114,   114,   119,  1491,  1491,
     3003     107,  1491,   352,  1491,   354,   113,  1265,   115,   132,   119,
     3004     116,  1270,   465,   121,   122,   118,   136,   470,   114,  1303,
     3005     120,   548,   549,   550,  1061,   478,   116,   116,   114,   482,
     3006     114,   116,   114,   486,     1,   116,   489,   116,   491,   116,
     3007     116,  1361,   149,    74,   116,    76,    77,    49,  1033,   136,
     3008     157,   158,  1270,  1467,   114,   119,    87,    88,  1378,  1360,
     3009    1270,    74,   136,    76,    77,    78,   136,  1168,  1169,  1492,
     3010     136,   136,   119,   526,    87,    88,   134,   114,   531,   688,
     3011     187,   119,   113,  1403,   116,  1303,    85,   118,   116,  1190,
     3012     440,   116,  1403,  1516,   116,   202,   116,   116,   205,   206,
     3013     113,   116,   115,   210,   114,   114,  1426,  1208,   121,   122,
     3014     113,    62,   113,  1433,   114,  1435,   113,  1437,  1426,  1403,
     3015     114,   134,   118,   113,   231,  1433,   579,  1426,   235,   136,
     3016     237,  1491,  1491,   116,  1433,  1491,   116,   114,   116,   246,
     3017     114,   100,   595,   100,   597,   252,   119,  1467,   113,   113,
     3018     257,  1435,  1472,  1437,  1474,   136,   114,   120,   114,   114,
     3019     267,   114,    44,   616,  1265,  1485,   134,  1426,   275,  1270,
     3020     779,  1491,  1492,  1360,  1433,     0,   136,  1485,   631,  1492,
     3021     114,  1501,   635,   114,   136,  1403,  1485,   100,  1472,   100,
     3022    1474,   644,   136,   646,   647,   648,  1516,   114,   136,   114,
     3023     116,   136,  1303,  1516,   114,   114,   136,   119,  1426,    34,
     3024      10,    11,    12,    13,    14,  1433,  1426,  1501,   116,   116,
     3025     113,  1037,   749,  1433,   119,   119,  1485,   680,   136,   114,
     3026     114,   684,   136,   686,   341,   114,    51,   690,   345,   114,
     3027     561,    41,   851,   562,   351,   698,    71,   565,   563,   963,
     3028      65,   564,  1190,    68,  1455,  1347,    71,   364,   711,   712,
     3029    1526,   368,  1280,  1101,  1492,  1308,  1433,  1485,   677,    69,
     3030    1052,   677,  1071,   726,   899,  1485,   690,   907,   579,    74,
     3031     855,    76,    77,    78,   893,   641,   253,   958,  1516,  1501,
     3032     715,  1491,    87,    88,  1279,    74,  1208,    76,    77,    78,
     3033     927,   482,  1403,    74,    -1,    76,    77,    78,    87,    88,
     3034     417,   567,    -1,   113,   726,   115,    87,    88,   113,   567,
     3035     115,   121,   122,   567,   431,  1426,   121,   122,    -1,   436,
     3036     939,    -1,  1433,   158,   149,    -1,    -1,   444,    -1,    -1,
     3037      -1,    -1,   113,    -1,   115,    -1,   161,    -1,   801,    -1,
     3038     121,   122,    -1,    -1,    -1,   462,    -1,    -1,   465,    -1,
     3039     813,    -1,   971,    -1,    -1,    10,    11,    12,    13,    14,
     3040      -1,    68,   187,   480,    -1,   482,   726,    -1,    -1,    -1,
     3041      77,    -1,    -1,   490,  1485,    -1,    -1,   494,    10,    11,
     3042      12,    13,    14,    -1,    -1,   210,    41,    -1,  1435,    -1,
     3043    1437,    74,   855,    76,    77,    -1,   231,   222,   861,    -1,
     3044    1019,    -1,    -1,    -1,    87,    88,   523,    -1,    -1,    41,
     3045      -1,    -1,   119,    -1,    69,    -1,    -1,   252,    -1,    74,
     3046      -1,    -1,   257,    78,    -1,  1472,    -1,  1474,    -1,   892,
     3047     113,   894,    87,    88,    -1,   118,    -1,    69,   901,  1434,
     3048      -1,  1436,    -1,    74,    -1,    -1,   983,    -1,    -1,    -1,
     3049      81,   568,    -1,    84,   161,    86,    87,    88,   113,    -1,
     3050      74,   924,    76,    77,    78,    -1,   121,   122,   585,   586,
     3051      -1,    -1,    -1,    87,    88,    -1,  1471,    -1,  1473,  1098,
     3052     597,   113,   945,   115,   115,  1022,    -1,    -1,   465,   121,
     3053     122,    -1,    -1,    -1,    -1,   958,    -1,     0,   615,   113,
     3054      -1,   964,    -1,   620,    -1,   968,   331,   121,   122,   626,
     3055      -1,    -1,   629,   630,    -1,   222,   351,    -1,    -1,    -1,
     3056    1515,    -1,  1517,    -1,    -1,    -1,    -1,    -1,   645,    -1,
     3057      74,    34,    76,    77,    78,  1530,  1531,    74,  1157,  1158,
     3058      -1,    78,    -1,    87,    88,    -1,   663,    -1,    -1,   526,
     3059      87,    88,  1015,   260,   531,    -1,    -1,   674,   265,    -1,
     3060      85,    68,    -1,    -1,    89,    90,    91,    -1,    71,   113,
     3061      -1,    -1,    -1,   280,    -1,    -1,   113,    84,   115,    -1,
     3062     405,    -1,   417,   700,   121,   122,   703,    -1,   113,  1052,
     3063     115,    -1,   117,   118,    -1,   712,   431,    -1,   715,    -1,
     3064      -1,   436,   579,  1066,    -1,    -1,    -1,    -1,  1071,   444,
     3065      74,    -1,   119,    -1,    -1,    -1,    -1,    81,    -1,    -1,
     3066      84,   738,    86,    87,    88,  1088,   743,   462,    -1,    -1,
     3067      10,    11,    12,    13,    14,    -1,    -1,    -1,    -1,    -1,
     3068      -1,    -1,    -1,   350,    74,   480,    -1,   482,    78,  1112,
     3069      -1,   115,    -1,    -1,   161,   158,    -1,    87,    88,    -1,
     3070      -1,    41,    -1,    -1,   781,    -1,    -1,    -1,    -1,   646,
     3071      -1,   648,    -1,    -1,   791,    68,    -1,   794,    -1,    -1,
     3072     797,    -1,    -1,   113,    -1,   802,    -1,    -1,   523,    69,
     3073      -1,   121,   122,    -1,    74,   812,    76,    77,    78,    -1,
     3074      74,  1164,    76,    77,    78,    -1,    -1,    87,    88,    -1,
     3075      -1,    -1,    -1,    87,    88,   222,    -1,    -1,    -1,    -1,
     3076      -1,   698,    -1,   430,    -1,    -1,   119,    -1,    -1,    -1,
     3077      -1,    -1,    -1,   113,    -1,   115,    -1,    -1,    -1,   446,
     3078      -1,   121,   122,    -1,    -1,   862,  1365,    -1,    -1,   252,
     3079      -1,   586,    -1,   260,   257,    -1,    -1,    -1,   265,    -1,
     3080      -1,    -1,    -1,  1382,   471,    -1,    -1,   884,   161,  1232,
     3081      -1,  1234,  1235,    -1,   891,    -1,    -1,   894,    10,    11,
     3082      12,    13,    14,    -1,    -1,   190,    74,    -1,    76,    77,
     3083      78,    -1,   197,    -1,   629,   630,    -1,    -1,    -1,    87,
     3084      88,    -1,    -1,   920,    -1,    -1,    -1,    -1,    -1,    41,
     3085     645,    -1,   929,   930,    -1,    -1,    -1,    -1,    -1,    -1,
     3086      -1,    -1,    -1,     0,    -1,   113,    -1,   115,   663,   222,
     3087      -1,    -1,    -1,   121,   122,  1454,  1455,    69,    -1,   674,
     3088      -1,    -1,    74,   350,    76,    77,    78,    -1,   351,    -1,
     3089    1313,    -1,    -1,    -1,    -1,    87,    88,    34,    -1,    -1,
     3090      -1,    -1,    -1,    -1,   269,   700,   983,   260,   703,    -1,
     3091      -1,    -1,   265,    -1,    -1,    -1,    -1,    -1,    -1,   996,
     3092      -1,   113,   589,   115,  1001,  1002,    -1,  1004,  1005,   121,
     3093     122,    -1,    -1,    -1,    71,    -1,    -1,  1360,  1361,    -1,
     3094      -1,    -1,    -1,   738,    -1,  1022,    -1,  1370,  1371,    -1,
     3095     617,    -1,    -1,    -1,   417,   622,    -1,    -1,    -1,    -1,
     3096      -1,   326,    74,   430,    76,    77,    78,    -1,   431,   334,
     3097      -1,    -1,   337,   436,    -1,    87,    88,    -1,    -1,  1056,
     3098    1057,   444,    -1,    -1,    -1,  1408,   781,    10,    11,    12,
     3099      13,    14,    -1,    -1,    -1,    -1,   791,   350,    -1,   462,
     3100      -1,   113,   797,    -1,   471,    -1,    -1,   802,   945,   121,
     3101     122,    -1,    -1,    -1,    -1,    -1,    -1,   480,    41,   482,
     3102      -1,   158,    -1,    -1,   691,    -1,    -1,   964,    -1,     0,
     3103       1,   968,   397,    -1,    -1,    -1,   401,    -1,   705,    -1,
     3104      -1,    -1,    -1,    -1,  1467,  1468,    69,    -1,    -1,    -1,
     3105    1127,    74,    -1,    32,  1477,    78,    -1,    -1,    -1,   726,
     3106     523,    -1,    -1,    34,    87,    88,    -1,   862,  1491,  1492,
     3107      -1,    -1,    -1,    -1,    -1,    -1,    -1,   430,  1015,    -1,
     3108      10,    11,    12,    13,    14,    -1,    -1,    -1,    -1,   884,
     3109     113,    -1,  1169,  1516,    -1,    -1,   891,    68,   121,   122,
     3110      71,    -1,    28,    29,    30,    84,    85,    -1,    -1,    -1,
     3111      -1,    41,   477,  1190,    -1,   252,    -1,    -1,   471,    -1,
     3112     257,    -1,   589,   586,    -1,  1202,    -1,  1204,    -1,   796,
     3113      -1,  1208,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    69,
     3114      -1,    -1,    -1,    -1,    74,     0,    76,    77,    78,    -1,
     3115     617,    -1,    -1,    -1,    -1,   622,    -1,    87,    88,    -1,
     3116      -1,    -1,  1239,    -1,    -1,    -1,   629,   630,    -1,  1246,
     3117    1247,  1248,    -1,    -1,   100,  1112,   102,    -1,    -1,    34,
     3118    1257,  1258,   645,   113,    -1,   115,    -1,   158,    -1,    -1,
     3119      -1,   121,   122,  1270,    -1,    -1,    -1,    -1,    -1,    -1,
     3120     663,    -1,   567,   568,    -1,    -1,  1001,  1002,    -1,  1004,
     3121    1005,   674,    -1,    -1,   351,    -1,    71,    -1,    -1,    -1,
     3122      -1,    -1,    -1,    -1,   691,    -1,  1303,  1022,    -1,    -1,
     3123      -1,    -1,  1309,    -1,    -1,    -1,   589,   700,   705,    -1,
     3124     703,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3125      -1,   222,    -1,    -1,    -1,    -1,   182,    -1,    -1,    -1,
     3126      -1,  1056,  1057,    -1,   617,   244,   192,   193,    -1,   622,
     3127      -1,   197,    -1,   199,   200,   738,    -1,    -1,    -1,    -1,
     3128     417,   252,    -1,    -1,    -1,   650,    -1,    -1,    -1,   654,
     3129      -1,    -1,    -1,    -1,   431,  1232,    -1,  1234,  1235,   436,
     3130      -1,  1378,    -1,   158,    -1,    -1,    -1,   444,    -1,    -1,
     3131      -1,    10,    11,    12,    13,    14,    -1,    -1,   781,   986,
     3132      -1,    -1,    -1,    -1,    -1,   462,  1403,    -1,   791,   796,
     3133      -1,    -1,  1127,    -1,   797,    -1,    -1,    -1,   691,   802,
     3134      -1,    -1,    41,   480,    -1,   482,    -1,    -1,    -1,  1426,
     3135      -1,    -1,   705,    -1,    -1,    -1,  1433,   101,   102,   103,
     3136     104,   105,   106,   107,   108,   109,   110,   111,    -1,    -1,
     3137      69,    -1,    -1,    -1,  1169,    74,  1313,    76,    77,    78,
     3138      -1,    -1,    -1,    -1,    -1,    -1,   523,    -1,    87,    88,
     3139      -1,   135,    -1,    -1,    -1,  1190,    -1,   252,    -1,   862,
     3140     379,    -1,   257,    -1,    -1,    -1,    -1,  1202,  1485,  1204,
     3141      -1,    -1,    -1,    -1,   113,  1492,    -1,    -1,    -1,    -1,
     3142     785,   884,   121,   122,    -1,    -1,    -1,    -1,   891,    -1,
     3143      -1,    -1,    -1,  1370,  1371,    -1,    -1,    -1,    -1,    -1,
     3144      -1,    -1,    -1,   796,  1239,    -1,    -1,    -1,    -1,   586,
     3145      -1,  1246,  1247,  1248,    -1,    -1,    -1,    -1,    -1,    -1,
     3146     431,    -1,  1257,  1258,    -1,    -1,    -1,    -1,    -1,    -1,
     3147      -1,  1408,    -1,    -1,    -1,  1270,    -1,    -1,    -1,    -1,
     3148      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3149      -1,    -1,   629,   630,    -1,    -1,   351,    -1,    -1,    -1,
     3150      -1,  1168,    -1,    -1,    -1,    -1,    -1,    -1,   645,    -1,
     3151     489,   482,   491,    -1,  1309,    -1,    -1,    -1,    -1,   986,
     3152      -1,    -1,    -1,    -1,    -1,    -1,   663,    -1,    -1,    -1,
     3153      -1,  1468,    -1,   898,    -1,    -1,    -1,   674,  1001,  1002,
     3154    1477,  1004,  1005,    -1,    -1,    -1,    -1,    -1,    -1,    55,
     3155      -1,    57,   523,    -1,    60,    61,    62,    -1,    64,  1022,
     3156      -1,    -1,   417,   700,    -1,    -1,   703,    -1,    -1,    -1,
     3157      -1,    -1,    78,    -1,    -1,    -1,   431,    -1,    -1,    -1,
     3158      -1,   436,    -1,  1378,    90,    91,    -1,    -1,    -1,   444,
     3159      -1,    -1,    -1,  1056,  1057,    -1,    -1,    -1,  1265,    -1,
     3160      -1,   738,    -1,    -1,    -1,    -1,    -1,   462,   973,    -1,
     3161      -1,    -1,    -1,    -1,    -1,   586,    -1,    -1,    -1,    -1,
     3162      -1,    -1,    -1,    -1,   989,   480,    -1,   482,    -1,    -1,
     3163      -1,  1426,    -1,   986,    -1,    -1,    -1,    -1,  1433,    -1,
     3164      -1,    -1,    -1,    -1,   781,   571,   572,    -1,    -1,    -1,
     3165      -1,    -1,    -1,    -1,   791,    -1,   635,    -1,   629,   630,
     3166     797,    -1,    -1,    -1,  1127,   802,    -1,    -1,   523,    -1,
     3167      -1,    -1,   598,    -1,   645,   601,   602,    -1,   604,    -1,
     3168     606,   607,    -1,    -1,    -1,   611,   612,    -1,    -1,    -1,
     3169    1485,    -1,    -1,    10,    11,    12,    13,    14,    -1,  1064,
     3170      -1,  1168,    -1,    -1,    -1,   684,  1169,   686,    -1,    -1,
     3171      -1,   690,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3172      -1,    -1,    -1,    -1,    41,   862,    -1,  1190,    -1,    -1,
     3173      -1,   586,   703,    -1,    -1,    -1,    -1,    -1,  1103,  1202,
     3174      -1,  1204,    -1,    -1,    -1,    -1,    -1,   884,    -1,    -1,
     3175      -1,    -1,    69,    -1,   891,    -1,    -1,    74,    -1,    76,
     3176      77,    78,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3177      87,    88,    -1,    -1,   629,   630,  1239,    -1,    -1,    -1,
     3178      -1,    -1,    -1,  1246,  1247,  1248,    -1,    -1,    -1,    -1,
     3179     645,    -1,    -1,    -1,  1257,  1258,   113,    -1,  1265,    -1,
     3180      -1,    -1,    -1,    -1,   121,   122,    -1,  1270,   663,    -1,
     3181      -1,    -1,    -1,    -1,    -1,  1168,    -1,    -1,    -1,   674,
     3182      -1,   747,   748,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3183      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   344,    -1,
     3184     346,    -1,    -1,    -1,    -1,   700,  1309,    -1,   703,    -1,
     3185      -1,   357,   358,    -1,    -1,    28,    29,    30,    -1,    -1,
     3186      -1,    -1,    -1,    -1,  1001,  1002,    -1,  1004,  1005,    -1,
     3187      -1,    -1,    -1,    -1,    -1,    -1,   855,    -1,    -1,    -1,
     3188      -1,    -1,   861,   738,    -1,  1022,    -1,    -1,    -1,    -1,
     3189      -1,   862,    10,    11,    12,    13,    14,    15,    16,    17,
     3190      18,    19,    20,    21,    22,    23,    24,    25,    26,    27,
     3191      28,    29,  1265,   884,    -1,  1378,    -1,    -1,    -1,  1056,
     3192    1057,    -1,   901,    41,    -1,    -1,   781,   100,    -1,   102,
     3193      -1,    -1,    -1,    -1,    -1,    -1,   791,    -1,    -1,    -1,
     3194      -1,    -1,   797,    -1,    -1,    -1,    -1,   802,    -1,    -1,
     3195      -1,    69,    -1,    -1,   127,    -1,    -1,    -1,    -1,   930,
     3196      -1,    -1,    -1,  1426,    -1,    -1,    -1,    -1,    -1,    -1,
     3197    1433,    -1,    -1,    -1,    -1,    -1,    -1,   903,    -1,   958,
     3198      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3199    1127,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3200      -1,    -1,    -1,    -1,    -1,    -1,    -1,   862,     7,   182,
     3201      -1,    10,    11,    12,    13,    14,    -1,   190,    -1,   192,
     3202     193,    -1,  1485,    -1,   197,    -1,   199,   200,    -1,   884,
     3203      -1,    -1,  1169,  1004,  1005,    -1,   891,    -1,    -1,    -1,
     3204      39,    40,    41,    42,    -1,    -1,    -1,    -1,    -1,    -1,
     3205      -1,  1022,    -1,  1190,    -1,    -1,    -1,    -1,    -1,    -1,
     3206      -1,    -1,    -1,    -1,    -1,  1202,    -1,  1204,    -1,    68,
     3207      69,    -1,    -1,  1052,    -1,    74,    -1,    -1,    -1,    78,
     3208      -1,    -1,    81,    82,    83,    84,    85,    86,    87,    88,
     3209      -1,    90,    91,    -1,    -1,    -1,   269,    -1,    -1,    -1,
     3210      -1,    -1,  1239,    -1,    -1,    -1,    -1,    -1,    -1,  1246,
     3211    1247,  1248,    -1,    -1,   113,    -1,   115,    -1,    -1,    -1,
     3212    1257,  1258,   121,   122,   123,   124,   125,   126,    -1,    -1,
     3213      -1,    -1,  1058,  1270,    -1,    -1,    -1,    -1,    -1,    -1,
     3214      -1,    51,    -1,    -1,    -1,    -1,  1001,  1002,    -1,  1004,
     3215    1005,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    68,    -1,
     3216      -1,    -1,    -1,    -1,    -1,    -1,    -1,  1022,    -1,    -1,
     3217      -1,    -1,  1309,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3218      -1,    39,    40,    -1,    42,  1164,   692,    -1,   694,    -1,
     3219      -1,    -1,    -1,    -1,    -1,   701,   702,  1168,  1169,    -1,
     3220     706,  1056,  1057,    -1,    -1,   115,    -1,    -1,    -1,   119,
     3221      68,    -1,    -1,   719,    -1,    -1,    74,    -1,   724,  1190,
     3222      78,    -1,    -1,    81,    82,    83,    84,    85,    86,    87,
     3223      88,    -1,    90,    91,    -1,    -1,    -1,  1208,   148,    -1,
     3224      -1,  1378,    -1,    -1,    -1,   751,    -1,    -1,   158,    -1,
     3225      -1,   161,    -1,    -1,    -1,   113,    -1,   115,    -1,    -1,
     3226    1186,    -1,    -1,   121,   122,   123,   124,   125,   126,    -1,
     3227      -1,    -1,  1127,    -1,    -1,    -1,   134,    -1,    -1,    -1,
     3228      -1,    -1,    -1,    -1,    -1,    -1,  1257,  1258,    -1,  1426,
     3229      -1,    -1,    -1,    -1,  1265,    -1,  1433,    -1,    -1,  1270,
     3230     210,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3231      -1,    -1,   222,    -1,  1169,    -1,    -1,    -1,    -1,    -1,
     3232      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3233     240,    -1,  1303,    -1,    -1,  1190,    -1,    -1,   844,    -1,
     3234     846,   847,   848,    -1,    -1,    -1,    -1,  1202,  1485,  1204,
     3235      -1,    -1,    -1,    -1,    -1,   265,    -1,    -1,    -1,   865,
     3236      -1,    -1,   272,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3237      -1,    -1,    -1,   879,    -1,    -1,    -1,    -1,    -1,    -1,
     3238      -1,    -1,    -1,    -1,  1239,    -1,    -1,   297,    -1,    -1,
     3239      -1,  1246,  1247,  1248,    -1,    -1,    -1,    -1,   571,   572,
     3240     310,    -1,  1257,  1258,    -1,    -1,    -1,  1378,    -1,    -1,
     3241      -1,    -1,   918,    -1,    -1,  1270,    -1,    -1,    -1,    -1,
     3242      -1,    -1,    -1,    -1,    -1,   598,    -1,    -1,   601,   602,
     3243      -1,   604,  1403,   606,   607,   345,    -1,    -1,   611,   612,
     3244     350,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3245      -1,    -1,    -1,    -1,  1309,  1426,   962,    -1,    -1,    -1,
     3246      -1,   967,  1433,    -1,    -1,    -1,   972,    -1,    -1,    -1,
     3247      -1,   977,    -1,    -1,    -1,    -1,   982,    -1,   984,   985,
     3248      -1,    -1,   988,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3249      -1,   997,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3250      -1,    -1,    -1,    -1,    -1,    -1,    -1,  1013,  1014,    -1,
     3251      -1,    -1,    -1,    -1,  1485,   425,   426,    -1,    -1,    -1,
     3252      -1,   431,    -1,  1378,    -1,    -1,    -1,    -1,    -1,    -1,
     3253      -1,    -1,    -1,  1039,    -1,    -1,  1042,    -1,    -1,    -1,
     3254      -1,    -1,   452,    -1,    -1,    -1,    10,    11,    12,    13,
     3255      14,    15,    16,    17,    18,    19,    20,    21,    22,    23,
     3256      24,    25,    26,    27,    28,    29,    30,    -1,    -1,    -1,
     3257     480,  1426,    -1,    -1,   747,   748,    -1,    41,  1433,  1085,
     3258      -1,    -1,   492,    -1,    -1,  1091,  1092,    -1,    -1,    -1,
     3259      -1,    -1,    -1,    -1,   504,    -1,   506,    -1,    -1,   509,
     3260      -1,   511,   512,    -1,  1110,    69,    -1,    -1,    -1,  1115,
     3261      -1,    -1,    -1,   523,  1120,    -1,    80,    -1,    -1,    -1,
     3262      -1,    -1,    -1,    -1,    -1,  1131,    -1,    -1,    -1,    -1,
     3263    1485,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  1144,    -1,
     3264    1146,  1147,  1148,  1149,    -1,    -1,    -1,    68,    -1,    -1,
     3265      -1,    -1,    -1,    -1,    -1,  1161,    77,  1163,    79,    -1,
     3266      81,  1167,    -1,    -1,    -1,   575,    -1,    88,    -1,    -1,
     3267      -1,    -1,    -1,    -1,    -1,    -1,   586,    -1,    -1,   589,
     3268      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  1195,
     3269    1196,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   119,    -1,
     3270     121,   122,   123,    -1,    -1,   615,    -1,    -1,    -1,    -1,
     3271     620,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   629,
     3272     630,    -1,    -1,    -1,    -1,   898,    -1,    -1,    -1,    -1,
     3273     903,    -1,    -1,    -1,    -1,   645,    -1,    -1,    -1,    -1,
     3274     161,    -1,    -1,  1249,  1250,    -1,    -1,    -1,    -1,    -1,
     3275      -1,    -1,    -1,  1259,    -1,    -1,    -1,    -1,    -1,    -1,
     3276      -1,    -1,    -1,    -1,    -1,    -1,    -1,   677,    10,    11,
     3277      12,    13,    14,    15,    16,    17,    18,    19,    20,    21,
     3278      22,    23,    24,    25,    26,    27,    28,    29,    -1,    -1,
     3279      32,    33,    34,   703,    -1,   705,    -1,    -1,    -1,    41,
     3280      -1,   222,    -1,   224,   225,   226,    -1,    46,    -1,    -1,
     3281      -1,    -1,    -1,    -1,    -1,  1321,    -1,  1323,  1324,  1325,
     3282      -1,    -1,    -1,    -1,    -1,    -1,    -1,    69,   738,  1335,
     3283      -1,    -1,    74,    -1,    76,    77,    78,  1343,    -1,   260,
     3284      -1,    -1,    -1,    -1,   265,    87,    88,    -1,    -1,    -1,
     3285      -1,    -1,    -1,    -1,    93,    -1,    -1,    -1,    -1,   280,
     3286      -1,    -1,  1368,  1369,   103,    -1,    -1,    -1,    -1,    -1,
     3287      -1,   113,    -1,   115,    -1,    -1,    -1,    -1,    -1,   121,
     3288     122,   148,    -1,    -1,    -1,  1058,   796,    -1,    -1,    -1,
     3289      -1,   158,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3290      -1,    -1,   169,   170,    -1,    -1,    -1,  1413,  1414,    -1,
     3291     331,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3292    1426,    -1,    -1,    -1,    -1,    -1,    -1,  1433,    -1,   350,
     3293      -1,    -1,    -1,   172,   355,   356,    -1,    -1,    -1,    -1,
     3294      -1,    -1,   363,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3295      -1,    -1,    -1,    -1,    -1,    -1,   195,    -1,    -1,    -1,
     3296    1466,    -1,    -1,    -1,  1470,    -1,    -1,    -1,    -1,    -1,
     3297     209,    -1,    -1,   240,   884,    -1,    -1,    -1,    -1,   218,
     3298      -1,   891,    -1,    -1,   405,    -1,    -1,    -1,    -1,   228,
     3299      -1,    -1,  1498,    -1,  1500,    -1,   906,   264,    -1,    -1,
     3300      -1,    -1,   423,    -1,    -1,    -1,    -1,   428,    -1,   430,
     3301      -1,    -1,    -1,  1186,   253,    -1,    -1,    -1,    -1,   258,
     3302      -1,   931,  1528,  1529,    -1,   446,    -1,    -1,   449,   450,
     3303    1536,  1537,   271,    -1,    -1,    -1,   457,    -1,   277,    -1,
     3304     279,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3305     471,    -1,    -1,    -1,    -1,    -1,    -1,   478,    -1,   298,
     3306      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3307      -1,    -1,    -1,   983,    10,    11,    12,    13,    14,    15,
     3308      16,    17,    18,    19,    20,    21,    22,    23,    24,    25,
     3309      26,    27,    28,    29,  1004,  1005,    32,    33,    34,    -1,
     3310     339,    -1,    -1,    -1,   343,    41,    -1,    -1,    -1,    -1,
     3311      -1,    -1,   379,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3312      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3313      -1,    -1,   371,    69,    -1,    -1,   375,   376,    -1,   378,
     3314      76,    77,    -1,    -1,    -1,    -1,   385,   386,    -1,   388,
     3315     389,  1061,   391,    -1,   393,    -1,    -1,    -1,    -1,    -1,
     3316      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   589,    -1,
     3317      -1,   410,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   418,
     3318      -1,    -1,    -1,    -1,    -1,   121,   122,    -1,    -1,    -1,
     3319      -1,    -1,    -1,    -1,    -1,    -1,   617,    -1,    -1,    -1,
     3320      -1,   622,    -1,   442,    -1,   472,    -1,    -1,    -1,    -1,
     3321      -1,    -1,    -1,    -1,    -1,    -1,    -1,  1127,    -1,    -1,
     3322      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   468,
     3323      -1,    -1,    -1,    -1,    -1,   474,    -1,    -1,    -1,    -1,
     3324     479,    -1,    -1,    -1,   511,    -1,    -1,    -1,    -1,    -1,
     3325      -1,    -1,    -1,    -1,    -1,    -1,   523,    -1,  1168,    -1,
     3326      -1,    -1,   529,    -1,    -1,   532,   157,   158,    -1,    -1,
     3327     691,    -1,    -1,    -1,    -1,    -1,   515,    -1,   545,    -1,
     3328      -1,    -1,    -1,    -1,   705,    -1,    -1,    -1,    -1,    -1,
     3329      -1,   530,    -1,    -1,  1204,    -1,    -1,    -1,    -1,   190,
     3330      -1,    -1,    -1,    -1,    -1,   726,   197,    -1,   575,    -1,
     3331      -1,    -1,    -1,    -1,    -1,   582,    -1,    -1,    -1,   586,
     3332      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   567,    -1,
     3333      -1,    -1,    -1,    -1,    -1,    -1,    -1,   576,    -1,    -1,
     3334      -1,    -1,    -1,    -1,    -1,    -1,    -1,  1257,  1258,    -1,
     3335      -1,    -1,    -1,    -1,    -1,  1265,    -1,   596,    -1,    -1,
     3336      -1,    -1,    -1,    -1,   785,   632,    -1,    -1,    -1,    -1,
     3337      -1,    -1,    -1,   640,    -1,   796,    -1,    -1,   269,    -1,
     3338      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3339      -1,    -1,   813,    -1,    -1,   634,    -1,    10,    11,    12,
     3340      13,    14,    15,    16,    17,    18,    19,    20,    21,    22,
     3341      23,    24,    25,    26,    27,    28,    29,    -1,    -1,    32,
     3342      33,    34,    -1,    -1,    -1,    -1,    -1,    -1,    41,    -1,
     3343      -1,   670,    -1,    -1,    -1,   326,    -1,    -1,    -1,   678,
     3344      -1,    -1,    -1,   334,   335,    -1,   337,   338,    -1,   716,
     3345      -1,    -1,    -1,    -1,   345,    -1,    69,    -1,   349,    -1,
     3346      -1,    74,    -1,    76,    77,    78,    -1,    -1,  1378,    -1,
     3347     709,   738,    -1,   740,    87,    88,    -1,   368,    -1,    -1,
     3348      -1,   720,   721,   750,    -1,    -1,    -1,    -1,    -1,   756,
     3349      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3350     113,    -1,   115,   924,    -1,    -1,   397,    -1,   121,   122,
     3351     401,    -1,    -1,   752,    -1,    -1,    -1,    -1,   757,    -1,
     3352      -1,    -1,    -1,    -1,    -1,  1435,    -1,  1437,    -1,   796,
     3353     797,    -1,    -1,   954,    -1,    -1,    -1,    -1,    -1,    -1,
     3354     431,    -1,    -1,    -1,    -1,   812,    -1,    -1,    -1,    -1,
     3355      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3356      -1,    -1,  1472,    -1,  1474,   986,    -1,    -1,    -1,    -1,
     3357      -1,    -1,    -1,    -1,    -1,    -1,   997,    -1,   817,    -1,
     3358      -1,    -1,    -1,    -1,   851,   824,   477,    -1,   855,   480,
     3359      -1,  1501,    -1,    -1,    -1,    -1,    -1,    -1,   837,    -1,
     3360     839,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3361      -1,    -1,    -1,   852,    -1,    -1,    -1,   884,    -1,   858,
     3362      -1,    -1,    -1,    -1,   891,    -1,    -1,    -1,   519,    -1,
     3363      -1,   870,   523,    -1,   873,    -1,    -1,    -1,    -1,    -1,
     3364      -1,    -1,    -1,    -1,    -1,  1066,    -1,    -1,    -1,    -1,
     3365      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  1080,
     3366      -1,    -1,    -1,    -1,   931,    -1,    -1,    -1,    -1,    -1,
     3367      -1,    -1,    -1,    -1,    -1,    -1,   567,   568,    -1,    -1,
     3368      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3369      -1,   958,    -1,    -1,   585,   586,   963,    -1,    -1,   966,
     3370      -1,    -1,    -1,    -1,   595,    -1,   597,   598,    -1,    -1,
     3371      -1,    -1,    -1,   604,    -1,    -1,    -1,    -1,    -1,   986,
     3372      -1,    -1,    -1,   614,   615,    -1,    -1,    -1,    -1,   620,
     3373     997,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   629,   630,
     3374      -1,    -1,   981,    -1,    -1,    -1,    -1,  1168,    -1,    -1,
     3375    1017,    -1,  1019,    -1,   645,    -1,    -1,    -1,    -1,   650,
     3376     651,    -1,    -1,   654,   655,    -1,    -1,  1034,  1035,   283,
     3377     661,   285,   286,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3378      -1,   295,   296,    -1,    -1,    -1,    -1,  1054,    -1,   680,
     3379      -1,    -1,    -1,    -1,    -1,    -1,   310,   311,    -1,    -1,
     3380      -1,    -1,    -1,  1042,    -1,    -1,    -1,    -1,    -1,    -1,
     3381      -1,    -1,   703,   704,    -1,    -1,    -1,    -1,    -1,    -1,
     3382      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3383      -1,   345,    -1,    -1,    -1,    -1,    -1,  1076,    -1,    -1,
     3384      -1,  1108,  1081,    -1,  1265,    -1,    -1,   738,    -1,    -1,
     3385    1089,   742,   743,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3386    1127,    -1,    -1,    -1,    -1,    -1,   380,    -1,    -1,    -1,
     3387      -1,    -1,    -1,    -1,    -1,  1142,  1143,    -1,    -1,    -1,
     3388      -1,    -1,    -1,    -1,  1123,    -1,    -1,    -1,    -1,    -1,
     3389      -1,    -1,    -1,    -1,   785,  1134,    -1,    -1,  1137,    -1,
     3390    1139,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3391     801,    -1,   803,    -1,    -1,  1154,  1155,    -1,    -1,    -1,
     3392      -1,    -1,   813,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3393      -1,    -1,    -1,    -1,    -1,  1174,    -1,    -1,    -1,    -1,
     3394      -1,    -1,    -1,    -1,    -1,     0,    -1,    -1,     3,     4,
     3395       5,     6,     7,     8,     9,    10,    11,    12,    13,    14,
     3396      15,    16,    17,    18,    19,    20,    21,    22,    23,    24,
     3397      25,    26,    27,    28,    29,    -1,    -1,    32,    33,    34,
     3398      35,  1220,    -1,    38,    -1,    -1,    41,    42,    -1,  1228,
     3399      -1,    -1,    -1,   884,    -1,    -1,    -1,    -1,    -1,    -1,
     3400     891,   892,    -1,   894,    -1,    -1,    -1,   898,    -1,    -1,
     3401      -1,    66,    -1,    -1,    69,    -1,    71,  1284,    73,    74,
     3402    1287,    76,    77,    78,    -1,    -1,    -1,    -1,   919,   920,
     3403      -1,    -1,    87,    88,   548,   549,   550,   551,   552,   553,
     3404     554,   555,   556,   557,   558,   559,   560,   561,   562,   563,
     3405     564,   565,    -1,    -1,    -1,    -1,    -1,    -1,   113,  1298,
     3406     115,  1300,    -1,   954,    -1,    -1,   121,   122,    -1,    -1,
     3407      -1,    -1,    -1,    -1,    -1,    -1,    -1,  1316,    -1,  1318,
     3408      -1,    -1,   973,   974,    -1,    -1,    -1,    -1,    -1,    -1,
     3409      -1,    -1,   983,    -1,  1333,  1516,    -1,    -1,   989,   990,
     3410      -1,   992,   993,   994,    -1,    -1,    -1,    -1,    -1,  1348,
     3411    1349,    -1,    -1,  1004,  1005,    -1,    -1,    -1,    -1,    -1,
     3412    1359,    -1,    -1,  1362,    10,    11,    12,    13,    14,    15,
     3413      16,    17,    18,    19,    20,    21,    22,    23,    24,    25,
     3414      26,    27,    28,    29,    30,  1384,    -1,    -1,    -1,    -1,
     3415      -1,    -1,    -1,    -1,  1393,    41,    -1,  1396,    -1,  1398,
     3416    1399,  1400,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3417      -1,    -1,    -1,  1064,   688,  1066,    -1,    -1,    -1,    -1,
     3418    1071,    -1,    -1,    69,    -1,    -1,    -1,    -1,    -1,  1080,
     3419      -1,    -1,    -1,    -1,    80,    -1,    -1,    -1,    -1,    -1,
     3420    1439,    -1,  1441,    -1,  1443,    -1,    -1,    -1,    -1,    -1,
     3421      -1,    -1,  1103,  1104,    -1,    -1,    -1,    -1,    -1,    -1,
     3422    1459,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3423      -1,    -1,    -1,    -1,  1501,   749,  1127,     3,     4,     5,
     3424       6,     7,     8,     9,    10,    11,    12,    13,    14,    15,
     3425      16,    17,    18,    19,    20,    21,    22,    23,    24,    25,
     3426      26,    27,    28,    29,    -1,   779,    32,    33,    34,    35,
     3427      -1,    -1,    38,    39,    40,    41,    42,    43,    -1,    45,
     3428      -1,    -1,    48,    49,    50,    51,    52,    53,    54,    55,
     3429      -1,    -1,    -1,    59,    -1,    -1,    -1,    63,    64,    -1,
     3430      66,    -1,    68,    69,    -1,    71,    -1,    73,    74,    -1,
     3431      76,    77,    78,  1204,    -1,    81,    82,    83,    84,    85,
     3432      86,    87,    88,    -1,    90,    91,    -1,    -1,    -1,    -1,
     3433      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3434      -1,    -1,    -1,    -1,    -1,    -1,    -1,   113,    -1,   115,
     3435      -1,    -1,   118,    -1,    -1,   121,   122,   123,   124,   125,
     3436     126,    -1,    -1,    -1,    -1,   131,  1257,  1258,    -1,    -1,
     3437     136,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   893,
     3438       3,     4,     5,     6,     7,     8,     9,    10,    11,    12,
     3439      13,    14,    15,    16,    17,    18,    19,    20,    21,    22,
     3440      23,    24,    25,    26,    27,    28,    29,    -1,    -1,    32,
     3441      33,    34,    35,    -1,    -1,    38,    39,    40,    41,    42,
     3442      -1,    -1,    -1,    -1,    -1,   939,    -1,    -1,    -1,    -1,
     3443      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3444      -1,    -1,    -1,    -1,    -1,    68,    69,    -1,    71,    -1,
     3445      73,    74,    -1,    76,    77,    78,    -1,   971,    81,    82,
     3446      83,    84,    85,    86,    87,    88,    -1,    90,    91,   983,
     3447      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3448      -1,    -1,    -1,    -1,    -1,    -1,    -1,  1378,    -1,    -1,
     3449     113,    -1,   115,    -1,    -1,    -1,    -1,    -1,   121,   122,
     3450     123,   124,   125,   126,    -1,    -1,    -1,    -1,  1022,    -1,
     3451      -1,    -1,    -1,   136,    -1,    -1,    -1,    -1,    -1,     3,
    25063452       4,     5,     6,     7,     8,     9,    10,    11,    12,    13,
    25073453      14,    15,    16,    17,    18,    19,    20,    21,    22,    23,
    2508       24,    25,     0,     0,    26,    27,    28,     0,     0,     0,
    2509        0,    44,     0,    31,     0,     0,     0,    45,    46,     0,
    2510        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2511        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2512        0,    34,     0,    35,     0,    36,     0,     0,   206,    39,
    2513        2,   205,     4,     5,     6,     7,     8,     9,    10,    11,
    2514       12,    13,    14,    15,    16,    17,    18,    19,    20,    21,
    2515       22,    23,    24,    25,     0,     0,    26,    27,    28,     0,
    2516        0,     0,     0,     0,     0,    31,     0,   207,     0,     0,
    2517        0,     0,     0,    45,    46,     0,     0,     0,     0,     0,
    2518        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2519        0,     0,     0,    34,     0,    35,     0,    36,    37,     0,
    2520      206,    39,    40,     0,     0,     0,     0,     0,     0,     0,
    2521        0,    41,    42,     0,     0,     0,     0,     0,     0,     0,
    2522        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2523        0,     0,     0,     0,     0,     0,     0,    43,     0,   207,
    2524        0,     0,     0,     0,     0,    45,    46,     2,   205,     4,
     3454      24,    25,    26,    27,    28,    29,    -1,    -1,    32,    33,
     3455      34,    35,    -1,    -1,    38,    -1,    -1,    41,    42,    -1,
     3456      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3457      -1,    -1,    -1,    -1,    -1,    -1,  1467,    -1,    -1,    -1,
     3458      -1,    -1,    66,    -1,  1098,    69,    -1,    71,    -1,    73,
     3459      74,    -1,    76,    77,    78,    -1,    -1,    -1,    -1,    -1,
     3460    1491,  1492,    -1,    87,    88,    -1,    -1,    -1,    -1,    -1,
     3461      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3462      -1,    -1,    -1,    -1,    -1,  1516,    -1,    -1,    -1,   113,
     3463      -1,   115,    -1,    -1,    -1,   119,    -1,   121,   122,    -1,
     3464      -1,    -1,    -1,  1157,  1158,     3,     4,     5,     6,     7,
     3465       8,     9,    10,    11,    12,    13,    14,    15,    16,    17,
     3466      18,    19,    20,    21,    22,    23,    24,    25,    26,    27,
     3467      28,    29,    -1,    -1,    32,    33,    34,    35,    -1,    -1,
     3468      38,    39,    40,    41,    42,    -1,    -1,    -1,    -1,    -1,
     3469      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3470      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3471      68,    69,    -1,    71,    -1,    73,    74,    -1,    76,    77,
     3472      78,    -1,    -1,    81,    82,    83,    84,    85,    86,    87,
     3473      88,    -1,    90,    91,    -1,    -1,    -1,    -1,    -1,    -1,
     3474      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3475      -1,    -1,    -1,    -1,    -1,   113,    -1,   115,    -1,    -1,
     3476      -1,    -1,    -1,   121,   122,   123,   124,   125,   126,    -1,
     3477      -1,    -1,    -1,    -1,    -1,     4,     5,     6,     7,     8,
     3478       9,    10,    11,    12,    13,    14,    15,    16,    17,    18,
     3479      19,    20,    21,    22,    23,    24,    25,    26,    27,    28,
     3480      29,    -1,    -1,    32,    33,    34,    -1,    -1,    -1,    -1,
     3481      39,    40,    41,    42,    -1,    -1,    -1,    -1,    -1,    -1,
     3482      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3483      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    68,
     3484      69,    -1,    71,    -1,    73,    74,    -1,    76,    77,    78,
     3485      -1,  1365,    81,    82,    83,    84,    85,    86,    87,    88,
     3486      -1,    90,    91,    -1,    -1,    -1,    -1,    -1,  1382,    -1,
     3487      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3488      -1,    -1,    -1,    -1,   113,    -1,   115,    -1,    -1,    -1,
     3489      -1,   120,   121,   122,   123,   124,   125,   126,     4,     5,
     3490       6,     7,     8,     9,    10,    11,    12,    13,    14,    15,
     3491      16,    17,    18,    19,    20,    21,    22,    23,    24,    25,
     3492      26,    27,    28,    29,    -1,    -1,    32,    33,    34,    -1,
     3493      -1,    -1,    -1,    39,    40,    41,    42,    -1,    -1,    -1,
     3494    1454,  1455,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3495      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3496      -1,    -1,    68,    69,    -1,    71,    -1,    73,    74,    -1,
     3497      76,    77,    78,    -1,    -1,    81,    82,    83,    84,    85,
     3498      86,    87,    88,    -1,    90,    91,    -1,    -1,    -1,    -1,
     3499      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3500      -1,    -1,    -1,    -1,    -1,    -1,    -1,   113,    -1,   115,
     3501      -1,    -1,    -1,    -1,   120,   121,   122,   123,   124,   125,
     3502     126,     4,     5,     6,     7,     8,     9,    10,    11,    12,
     3503      13,    14,    15,    16,    17,    18,    19,    20,    21,    22,
     3504      23,    24,    25,    26,    27,    28,    29,    -1,    -1,    32,
     3505      33,    34,    -1,    -1,    -1,    -1,    39,    40,    41,    42,
     3506      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3507      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3508      -1,    -1,    -1,    -1,    -1,    68,    69,    -1,    71,    -1,
     3509      73,    74,    -1,    76,    77,    78,    -1,    -1,    81,    82,
     3510      83,    84,    85,    86,    87,    88,    -1,    90,    91,    -1,
     3511      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3512      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3513     113,    -1,   115,    -1,    -1,    -1,    -1,    -1,   121,   122,
     3514     123,   124,   125,   126,     4,     5,     6,     7,     8,     9,
     3515      10,    11,    12,    13,    14,    15,    16,    17,    18,    19,
     3516      20,    21,    22,    23,    24,    25,    26,    27,    28,    29,
     3517      -1,    -1,    32,    33,    34,    -1,    -1,    -1,    -1,    39,
     3518      40,    41,    42,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3519      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3520      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    68,    69,
     3521      -1,    71,    -1,    73,    74,    -1,    76,    77,    78,    -1,
     3522      -1,    81,    82,    83,    84,    85,    86,    87,    88,    -1,
     3523      90,    91,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3524      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3525      -1,    -1,    -1,   113,    -1,   115,    -1,    -1,    -1,    -1,
     3526      -1,   121,   122,   123,   124,   125,   126,     4,     5,     6,
     3527       7,     8,     9,    10,    11,    12,    13,    14,    15,    16,
     3528      17,    18,    19,    20,    21,    22,    23,    24,    25,    26,
     3529      27,    28,    29,    -1,    -1,    32,    33,    34,    -1,    -1,
     3530      -1,    -1,    39,    40,    41,    42,    -1,    -1,    -1,    -1,
     3531      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3532      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3533      -1,    68,    69,    -1,    71,    -1,    73,    74,    -1,    76,
     3534      77,    78,    -1,    -1,    81,    82,    83,    84,    85,    86,
     3535      87,    88,    -1,    90,    91,    -1,    -1,    -1,    -1,    -1,
     3536      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3537      -1,    -1,    -1,    -1,    -1,    -1,   113,    -1,   115,    -1,
     3538      -1,    -1,    -1,    -1,   121,   122,   123,   124,   125,   126,
     3539       3,     4,     5,     6,     7,     8,     9,    10,    11,    12,
     3540      13,    14,    15,    16,    17,    18,    19,    20,    21,    22,
     3541      23,    24,    25,    26,    27,    28,    29,    -1,    -1,    32,
     3542      33,    34,    35,    -1,    -1,    38,    -1,    -1,    41,    42,
     3543      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3544      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3545      -1,    -1,    -1,    66,    -1,    -1,    69,    -1,    71,    -1,
     3546      73,    74,    -1,    76,    77,    78,    -1,    -1,    -1,    -1,
     3547      -1,    -1,    -1,    -1,    87,    88,    -1,    -1,    -1,    -1,
     3548      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3549      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3550     113,    -1,   115,    -1,    -1,    -1,    -1,    -1,   121,   122,
     3551       3,     4,     5,     6,     7,     8,     9,    10,    11,    12,
     3552      13,    14,    15,    16,    17,    18,    19,    20,    21,    22,
     3553      23,    24,    25,    26,    27,    28,    29,    -1,    -1,    32,
     3554      33,    34,    -1,    -1,    -1,    -1,    -1,    -1,    41,    -1,
     3555      -1,    10,    11,    12,    13,    14,    15,    16,    17,    18,
     3556      19,    20,    21,    22,    23,    24,    25,    26,    27,    28,
     3557      29,    -1,    -1,    32,    33,    34,    69,    -1,    71,    -1,
     3558      73,    74,    41,    76,    77,    78,    -1,    -1,    -1,    -1,
     3559      -1,    -1,    -1,    -1,    87,    88,    -1,    -1,    -1,    -1,
     3560      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3561      69,    -1,    -1,    -1,    -1,    -1,    -1,    76,    77,    -1,
     3562     113,    -1,   115,    -1,    -1,    -1,    -1,    -1,   121,   122,
     3563       3,     4,     5,     6,     7,     8,     9,    10,    11,    12,
     3564      13,    14,    15,    16,    17,    18,    19,    20,    21,    22,
     3565      23,    24,    25,    26,    27,    28,    29,    30,    -1,    32,
     3566      33,    34,    35,    -1,    -1,    38,    -1,    -1,    41,    -1,
     3567      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3568      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3569      -1,    -1,    -1,    -1,    -1,    -1,    69,    -1,    71,    -1,
     3570      73,    -1,    -1,    76,    77,    -1,    -1,    80,     3,     4,
    25253571       5,     6,     7,     8,     9,    10,    11,    12,    13,    14,
    25263572      15,    16,    17,    18,    19,    20,    21,    22,    23,    24,
    2527       25,     0,     0,    26,    27,    28,     0,     0,     0,     0,
    2528        0,     0,    31,     0,     0,     0,     0,     0,     0,     0,
    2529        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2530        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2531       34,     0,    35,     0,    36,     0,     0,    38,    39,     2,
    2532      205,     4,     5,     6,     7,     8,     9,    10,    11,    12,
    2533       13,    14,    15,    16,    17,    18,    19,    20,    21,    22,
    2534       23,    24,    25,     0,     0,    26,    27,    28,     0,     0,
    2535        0,     0,     0,     0,    31,  -405,   668,     0,     0,     0,
    2536        0,     0,    45,    46,     0,     0,     0,     0,     0,     0,
    2537        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2538        0,     0,    34,     0,    35,     0,    36,     0,     0,    38,
    2539       39,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2540        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2541        0,     0,     0,  1332,     0,     0,     0,     0,     0,     0,
    2542        0,     0,     0,     0,     0,     0,     0,     0,   668,     0,
    2543        0,     0,     0,     0,    45,    46,     2,   205,     4,     5,
     3573      25,    26,    27,    28,    29,    -1,    -1,    32,    33,    34,
     3574      35,    -1,   115,    38,    -1,    -1,    41,    -1,   121,   122,
     3575      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3576      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3577      -1,    -1,    -1,    -1,    69,    -1,    71,    -1,    73,    -1,
     3578      -1,    76,    77,     3,     4,     5,     6,     7,     8,     9,
     3579      10,    11,    12,    13,    14,    15,    16,    17,    18,    19,
     3580      20,    21,    22,    23,    24,    25,    26,    27,    28,    29,
     3581      -1,    -1,    32,    33,    34,    -1,    -1,    -1,    -1,    -1,
     3582     115,    41,    -1,    -1,    -1,    -1,   121,   122,    -1,     7,
     3583      -1,    -1,    10,    11,    12,    13,    14,    -1,    -1,    -1,
     3584      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    69,
     3585      -1,    71,    -1,    73,    -1,    -1,    76,    77,    -1,    -1,
     3586      -1,    39,    40,    41,    42,    -1,    -1,    -1,    -1,    -1,
     3587      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3588      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3589      68,    69,    -1,    -1,    -1,   115,    74,    -1,    -1,    -1,
     3590      78,   121,   122,    81,    82,    83,    84,    85,    86,    87,
     3591      88,    -1,    90,    91,    -1,    -1,    -1,    -1,    -1,    -1,
     3592      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3593      -1,    -1,    -1,    -1,    -1,   113,    -1,   115,    -1,    -1,
     3594      -1,    -1,    -1,   121,   122,   123,   124,   125,   126,     4,
     3595       5,     6,     7,     8,     9,    10,    11,    12,    13,    14,
     3596      15,    16,    17,    18,    19,    20,    21,    22,    23,    24,
     3597      25,    26,    27,    28,    29,    -1,    -1,    32,    33,    34,
     3598      -1,    -1,    -1,    -1,    -1,    -1,    41,    -1,    -1,    10,
     3599      11,    12,    13,    14,    15,    16,    17,    18,    19,    20,
     3600      21,    22,    23,    24,    25,    26,    27,    28,    29,    -1,
     3601      -1,    32,    33,    34,    69,    -1,    71,    -1,    73,    74,
     3602      41,    76,    77,    78,    -1,    -1,    -1,    -1,    -1,    -1,
     3603      -1,    -1,    87,    88,    -1,    -1,    -1,    -1,    -1,    -1,
     3604      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    69,    -1,
     3605      -1,    -1,    -1,    -1,    -1,    76,    77,    -1,   113,    -1,
     3606     115,    -1,    -1,    -1,    -1,    -1,   121,   122,     4,     5,
    25443607       6,     7,     8,     9,    10,    11,    12,    13,    14,    15,
    25453608      16,    17,    18,    19,    20,    21,    22,    23,    24,    25,
    2546        0,     0,    26,    27,    28,     0,     0,     0,     0,     0,
    2547        0,    31,     0,     0,     0,     8,     9,    10,    11,    12,
     3609      26,    27,    28,    29,   115,    -1,    32,    33,    34,    -1,
     3610     121,   122,    -1,    -1,    -1,    41,    -1,    -1,    -1,    -1,
     3611      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3612      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3613      -1,    -1,    -1,    69,    -1,    71,    -1,    73,    -1,    -1,
     3614      76,    77,    -1,     4,     5,     6,     7,     8,     9,    10,
     3615      11,    12,    13,    14,    15,    16,    17,    18,    19,    20,
     3616      21,    22,    23,    24,    25,    26,    27,    28,    29,    -1,
     3617      -1,    32,    33,    34,    -1,    -1,    -1,    -1,   114,   115,
     3618      41,    -1,    -1,    -1,    -1,   121,   122,    -1,    -1,    -1,
     3619      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3620      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    69,    -1,
     3621      71,    -1,    73,    -1,    -1,    76,    77,    -1,    -1,    -1,
     3622      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3623      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   100,
     3624      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3625      -1,    -1,    -1,    -1,   115,    -1,    -1,    -1,    -1,    -1,
     3626     121,   122,     4,     5,     6,     7,     8,     9,    10,    11,
     3627      12,    13,    14,    15,    16,    17,    18,    19,    20,    21,
     3628      22,    23,    24,    25,    26,    27,    28,    29,    -1,    -1,
     3629      32,    33,    34,    -1,    -1,    -1,    -1,    -1,    -1,    41,
     3630      -1,    -1,    10,    11,    12,    13,    14,    15,    16,    17,
     3631      18,    19,    20,    21,    22,    23,    24,    25,    26,    27,
     3632      28,    29,    -1,    -1,    32,    33,    34,    69,    -1,    71,
     3633      -1,    73,    -1,    41,    76,    77,    -1,    -1,    -1,    -1,
     3634      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3635      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   100,    -1,
     3636      -1,    69,    -1,    -1,    -1,    -1,    -1,    -1,    76,    77,
     3637      -1,    -1,    -1,   115,    -1,    -1,    -1,    -1,    -1,   121,
     3638     122,     4,     5,     6,     7,     8,     9,    10,    11,    12,
    25483639      13,    14,    15,    16,    17,    18,    19,    20,    21,    22,
    2549       23,    24,    25,     0,     0,    26,    27,    28,     0,    34,
    2550        0,    35,     0,    36,    31,   675,    38,    39,     0,     0,
    2551        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2552        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2553     1334,     0,    34,     0,     0,     0,     0,     0,     0,    38,
    2554       39,     0,     0,     0,     0,   668,     0,     0,     0,     0,
    2555        0,    45,    46,     2,   205,     4,     5,     6,     7,     8,
    2556        9,    10,    11,    12,    13,    14,    15,    16,    17,    18,
    2557       19,    20,    21,    22,    23,    24,    25,     0,   676,    26,
    2558       27,    28,   677,     0,    45,    46,     0,     0,    31,     0,
    2559        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2560        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2561        0,     0,     0,     0,     0,     0,    34,     0,    35,     0,
    2562       36,     0,     0,   206,    39,     2,   205,     4,     5,     6,
    2563        7,     8,     9,    10,    11,    12,    13,    14,    15,    16,
    2564       17,    18,    19,    20,    21,    22,    23,    24,    25,     0,
    2565        0,    26,    27,    28,     0,     0,     0,     0,     0,     0,
    2566       31,     0,   269,     0,     0,     0,     0,     0,    45,    46,
    2567        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2568        0,     0,     0,     0,     0,     0,     0,     0,    34,     0,
    2569       35,     0,    36,     0,     0,    38,    39,     2,   205,     4,
    2570        5,     6,     7,     8,     9,    10,    11,    12,    13,    14,
    2571       15,    16,    17,    18,    19,    20,    21,    22,    23,    24,
    2572       25,     0,     0,    26,    27,    28,     0,     0,     0,     0,
    2573        0,     0,    31,     0,   668,     0,     0,     0,     0,     0,
    2574       45,    46,     0,     0,     0,     0,     0,     0,     0,     0,
    2575        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2576       34,     0,    35,     0,    36,     0,     0,   206,    39,     8,
    2577        9,    10,    11,    12,    13,    14,    15,    16,    17,    18,
    2578       19,    20,    21,    22,    23,    24,    25,     0,     0,    26,
    2579       27,    28,     0,     0,     0,     0,   281,   282,    31,   283,
    2580        0,     0,     0,     0,     0,     0,   207,     0,     0,     0,
    2581        0,     0,    45,    46,     0,     0,     0,     0,     0,     0,
    2582        0,     0,     0,     0,     0,   284,    34,     0,     0,     0,
    2583        0,   285,     0,    38,    39,   286,     0,     0,   287,   288,
    2584      289,   290,   291,   292,    41,    42,     0,   293,   294,     0,
    2585        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2586        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2587      295,     0,   513,     0,     0,   170,     0,     0,    45,    46,
    2588      297,   298,   299,   300,     8,     9,    10,    11,    12,    13,
    2589       14,    15,    16,    17,    18,    19,    20,    21,    22,    23,
    2590       24,    25,     0,     0,    26,    27,    28,     0,     0,     0,
    2591        0,   281,   282,    31,   283,     8,     9,    10,    11,    12,
    2592       13,    14,    15,    16,    17,    18,    19,    20,    21,    22,
    2593       23,    24,    25,     0,     0,    26,    27,    28,     0,     0,
    2594      284,    34,     0,     0,    31,     0,   285,     0,    38,    39,
    2595      286,     0,     0,   287,   288,   289,   290,   291,   292,    41,
    2596       42,     0,   293,   294,     0,     0,     0,     0,     0,     0,
    2597        0,     0,    34,     0,     0,     0,     0,   110,     0,    38,
    2598       39,     0,     0,     0,     0,   295,   -40,   296,     0,     0,
    2599       41,    42,     0,    45,    46,   297,   298,   299,   300,     8,
    2600        9,    10,    11,    12,    13,    14,    15,    16,    17,    18,
    2601       19,    20,    21,    22,    23,    24,    25,     0,    44,    26,
    2602       27,    28,     0,     0,    45,    46,   281,   282,    31,   283,
    2603        8,     9,    10,    11,    12,    13,    14,    15,    16,    17,
    2604       18,    19,    20,    21,    22,    23,    24,    25,     0,     0,
    2605       26,    27,    28,     0,     0,   284,    34,     0,     0,    31,
    2606      675,   285,     0,    38,    39,   286,     0,     0,   287,   288,
    2607      289,   290,   291,   292,    41,    42,     0,   293,   294,     0,
    2608        0,     0,     0,     0,     0,     0,     0,    34,     0,     0,
    2609        0,     0,     0,     0,    38,    39,     0,     0,     0,     0,
    2610      295,     0,   296,     0,     0,     0,     0,     0,    45,    46,
    2611      297,   298,   299,   300,     8,     9,    10,    11,    12,    13,
    2612       14,    15,    16,    17,    18,    19,    20,    21,    22,    23,
    2613       24,    25,     0,   676,    26,    27,    28,  1070,     0,    45,
    2614       46,   281,   282,    31,   283,     8,     9,    10,    11,    12,
    2615       13,    14,    15,    16,    17,    18,    19,    20,    21,    22,
    2616       23,    24,    25,     0,     0,    26,    27,    28,     0,     0,
    2617      284,    34,     0,     0,    31,   675,   285,     0,    38,    39,
    2618      286,     0,     0,   287,   288,   289,   290,   291,   292,    41,
    2619       42,     0,   293,   294,     0,     0,     0,     0,     0,     0,
    2620        0,     0,    34,     0,     0,     0,     0,     0,     0,    38,
    2621       39,     0,     0,     0,     0,   295,     0,   341,     0,     0,
    2622        0,     0,     0,    45,    46,   297,   298,   299,   300,     8,
    2623        9,    10,    11,    12,    13,    14,    15,    16,    17,    18,
    2624       19,    20,    21,    22,    23,    24,    25,     0,   676,    26,
    2625       27,    28,  1197,     0,    45,    46,   281,   282,    31,   283,
    2626        8,     9,    10,    11,    12,    13,    14,    15,    16,    17,
    2627       18,    19,    20,    21,    22,    23,    24,    25,     0,     0,
    2628       26,    27,    28,     0,     0,   284,    34,     0,     0,    31,
    2629        0,   285,     0,    38,    39,   286,     0,     0,   287,   288,
    2630      289,   290,   291,   292,    41,    42,     0,   293,   294,     0,
    2631        0,     0,     0,     0,     0,     0,     0,    34,     0,     0,
    2632        0,     0,    37,     0,    38,    39,    40,     0,     0,     0,
    2633      295,     0,   376,     0,     0,    41,    42,     0,    45,    46,
    2634      297,   298,   299,   300,     0,     0,     0,     0,     0,     0,
    2635        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2636        0,    43,     0,    44,     0,     0,     0,     0,     0,    45,
    2637       46,     8,     9,    10,    11,    12,    13,    14,    15,    16,
    2638       17,    18,    19,    20,    21,    22,    23,    24,    25,     0,
    2639        0,    26,    27,    28,     0,     0,     0,     0,     0,     0,
    2640       31,     8,     9,    10,    11,    12,    13,    14,    15,    16,
    2641       17,    18,    19,    20,    21,    22,    23,    24,    25,     0,
    2642        0,    26,    27,    28,     0,     0,     0,     0,    34,     0,
    2643       31,     0,     0,    37,     0,   206,    39,    40,     0,     0,
    2644        0,     0,     0,     0,     0,     0,    41,    42,     0,     0,
    2645        0,     0,     0,     0,     0,     0,     0,     0,    34,     0,
    2646        0,     0,     0,     0,     0,    38,    39,     0,     0,     0,
    2647        0,     0,    43,     0,   269,     0,     0,     0,     0,     0,
    2648       45,    46,     0,     0,     0,     8,     9,    10,    11,    12,
    2649       13,    14,    15,    16,    17,    18,    19,    20,    21,    22,
    2650       23,    24,    25,     0,   256,    26,    27,    28,     0,     0,
    2651       45,    46,     0,     0,    31,     8,     9,    10,    11,    12,
    2652       13,    14,    15,    16,    17,    18,    19,    20,    21,    22,
    2653       23,    24,    25,     0,     0,    26,    27,    28,     0,     0,
    2654        0,     0,    34,     0,    31,     0,     0,     0,     0,    38,
    2655       39,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2656        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2657        0,     0,    34,     0,     0,     0,     0,     0,     0,   206,
    2658       39,     0,     0,     0,     0,     0,     0,     0,    44,     0,
    2659        0,     0,     0,     0,    45,    46,     0,     0,     0,     8,
    2660        9,    10,    11,    12,    13,    14,    15,    16,    17,    18,
    2661       19,    20,    21,    22,    23,    24,    25,     0,   269,    26,
    2662       27,    28,     0,     0,    45,    46,     0,     0,    31,     8,
    2663        9,    10,    11,    12,    13,    14,    15,    16,    17,    18,
    2664       19,    20,    21,    22,    23,    24,    25,     0,     0,    26,
    2665       27,    28,     0,     0,     0,     0,    34,     0,    31,     0,
    2666        0,     0,     0,    38,    39,     0,     0,     0,     0,     0,
    2667        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2668        0,     0,     0,     0,     0,     0,    34,     0,     0,     0,
    2669        0,     0,     0,    38,    39,     0,     0,     0,     0,     0,
    2670        0,     0,   337,     0,     0,     0,     0,     0,    45,    46,
    2671        0,     0,     0,     8,     9,    10,    11,    12,    13,    14,
    2672       15,    16,    17,    18,    19,    20,    21,    22,    23,    24,
    2673       25,     0,   676,    26,    27,    28,     0,     0,    45,    46,
    2674        0,     0,    31,     0,     0,     0,     0,     0,     0,     0,
    2675        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2676        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2677       34,     0,     0,     0,     0,     0,     0,    38,    39,     0,
    2678        0,     0,   281,   282,     0,   283,  1021,     0,  1022,     0,
    2679        0,  1023,  1024,  1025,  1026,  1027,  1028,  1029,  1030,     0,
    2680        0,  1508,  1031,     0,     0,     0,  1032,  1033,     0,    33,
    2681        0,   284,     0,     0,     0,     0,   668,  1034,     0,     0,
    2682        0,   286,    45,    46,   287,   288,   289,   290,   291,   292,
    2683       41,    42,     0,   293,   294,     0,     0,     0,     0,     0,
    2684        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2685        0,     0,     0,     0,     0,     0,   295,     0,   376,     0,
    2686        0,   170,     0,     0,    45,    46,   297,   298,   299,   300,
    2687        0,     0,   281,   282,  1035,   283,  1021,     0,  1022,  -134,
    2688        0,  1023,  1024,  1025,  1026,  1027,  1028,  1029,  1030,     0,
    2689        0,     0,  1031,     0,     0,     0,  1032,  1033,     0,    33,
    2690        0,   284,     0,     0,     0,     0,     0,  1034,     0,     0,
    2691        0,   286,     0,     0,   287,   288,   289,   290,   291,   292,
    2692       41,    42,     0,   293,   294,     0,     0,     0,     0,     0,
    2693        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2694        0,     0,     0,     0,     0,     0,   295,     0,   376,     0,
    2695        0,   170,     0,     0,    45,    46,   297,   298,   299,   300,
    2696        0,     0,     0,     0,  1035,     0,     0,     0,     0,  -134,
    2697        2,   205,     4,     5,     6,     7,     8,     9,    10,    11,
    2698       12,    13,    14,    15,    16,    17,    18,    19,    20,    21,
    2699       22,    23,    24,    25,     0,     0,    26,    27,    28,     0,
    2700        0,     0,     0,     0,     0,    31,     0,   281,   282,     0,
    2701      283,  1021,     0,  1022,  1380,  1381,  1023,  1024,  1025,  1026,
    2702     1027,  1028,  1029,  1030,     0,     0,  1508,  1031,     0,     0,
    2703        0,  1032,  1033,    34,    33,    35,   284,    36,     0,     0,
    2704       38,    39,  1034,     0,     0,     0,   286,     0,     0,   287,
    2705      288,   289,   290,   291,   292,    41,    42,     0,   293,   294,
    2706        0,     0,     0,     0,  1291,     0,     0,     0,     0,     0,
    2707        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2708        0,   295,     0,   376,     0,     0,   170,     0,     0,    45,
    2709       46,   297,   298,   299,   300,     0,     0,   281,   282,  1035,
    2710      283,  1021,     0,  1022,  1380,  1381,  1023,  1024,  1025,  1026,
    2711     1027,  1028,  1029,  1030,     0,     0,     0,  1031,     0,     0,
    2712        0,  1032,  1033,     0,    33,     0,   284,     0,     0,     0,
    2713        0,     0,  1034,     0,     0,     0,   286,     0,     0,   287,
    2714      288,   289,   290,   291,   292,    41,    42,     0,   293,   294,
    2715        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2716        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2717        0,   295,     0,   376,     0,     0,   170,     0,     0,    45,
    2718       46,   297,   298,   299,   300,     0,     0,   281,   282,  1035,
    2719      283,  1021,     0,  1022,     0,     0,  1023,  1024,  1025,  1026,
    2720     1027,  1028,  1029,  1030,     0,     0,     0,  1031,     0,     0,
    2721        0,  1032,  1033,     0,    33,     0,   284,     0,     0,     0,
    2722        0,     0,  1034,     0,     0,     0,   286,     0,     0,   287,
    2723      288,   289,   290,   291,   292,    41,    42,     0,   293,   294,
    2724        0,     0,     0,     0,     0,     0,   281,   282,     0,   283,
    2725        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2726        0,   295,     0,   376,     0,     0,   170,     0,     0,    45,
    2727       46,   297,   298,   299,   300,   284,     0,     0,     0,  1035,
    2728        0,   631,     0,   139,   140,   286,     0,     0,   287,   288,
    2729      289,   290,   291,   292,    41,    42,     0,   293,   294,     0,
    2730        0,     0,     0,     0,     0,   281,   282,     0,   283,     0,
    2731        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2732      295,     0,   632,     0,   633,   377,     0,     0,    45,    46,
    2733      297,   298,   299,   300,   284,     0,     0,     0,     0,     0,
    2734      285,     0,     0,     0,   286,     0,     0,   287,   288,   289,
    2735      290,   291,   292,    41,    42,     0,   293,   294,     0,     0,
    2736        0,     0,     0,     0,   281,   282,     0,   283,     0,     0,
    2737        0,     0,     0,     0,     0,     0,     0,     0,     0,   295,
    2738        0,   376,     0,     0,   377,     0,     0,    45,    46,   297,
    2739      298,   299,   300,   284,     0,     0,     0,     0,     0,   285,
    2740        0,     0,     0,   286,     0,     0,   287,   288,   289,   290,
    2741      291,   292,    41,    42,     0,   293,   294,     0,     0,     0,
    2742        0,     0,     0,   281,   282,     0,   283,     0,     0,     0,
    2743        0,     0,     0,     0,     0,     0,     0,     0,   295,     0,
    2744      376,     0,     0,     0,     0,   748,    45,    46,   297,   298,
    2745      299,   300,   284,     0,     0,     0,     0,     0,   285,     0,
    2746        0,     0,   286,     0,     0,   287,   288,   289,   290,   291,
    2747      292,    41,    42,     0,   293,   294,     0,     0,     0,     0,
    2748        0,     0,   281,   282,     0,   283,     0,     0,     0,     0,
    2749        0,     0,     0,     0,     0,     0,     0,   295,     0,   376,
    2750        0,     0,   956,     0,     0,    45,    46,   297,   298,   299,
    2751      300,   284,     0,     0,     0,     0,     0,   285,     0,     0,
    2752        0,   286,     0,     0,   287,   288,   289,   290,   291,   292,
    2753       41,    42,     0,   293,   294,     0,     0,     0,     0,     0,
    2754        0,   281,   282,     0,   283,     0,     0,     0,     0,     0,
    2755        0,     0,     0,     0,     0,     0,   295,     0,   376,     0,
    2756        0,     0,     0,     0,    45,    46,   297,   298,   299,   300,
    2757      284,     0,     0,     0,     0,     0,   285,     0,     0,     0,
    2758      286,     0,     0,   287,   288,   289,   290,   291,   292,    41,
    2759       42,     0,   293,   294,     0,     0,     0,     0,     0,     0,
    2760      281,   282,     0,   283,     0,     0,     0,     0,     0,     0,
    2761        0,     0,     0,     0,     0,   502,     0,   376,     0,     0,
    2762        0,     0,     0,    45,    46,   297,   298,   299,   300,   284,
    2763        0,     0,     0,     0,     0,   285,     0,     0,     0,   286,
    2764        0,     0,   287,   288,   289,   290,   291,   292,    41,    42,
    2765        0,   293,   294,     0,     0,     0,     0,     0,     0,   281,
    2766      282,     0,   283,     0,     0,     0,     0,     0,     0,     0,
    2767        0,     0,     0,     0,   507,     0,   376,     0,     0,     0,
    2768        0,     0,    45,    46,   297,   298,   299,   300,   284,     0,
    2769        0,     0,     0,     0,   285,     0,     0,     0,   286,     0,
    2770        0,   287,   288,   289,   290,   291,   292,    41,    42,     0,
    2771      293,   294,     0,     0,     0,     0,     0,     0,   281,   282,
    2772        0,   283,     0,     0,     0,     0,     0,     0,     0,     0,
    2773        0,     0,     0,   510,     0,   376,     0,     0,     0,     0,
    2774        0,    45,    46,   297,   298,   299,   300,   284,     0,     0,
    2775        0,     0,     0,   285,     0,     0,     0,   286,     0,     0,
    2776      287,   288,   289,   290,   291,   292,    41,    42,     0,   293,
    2777      294,     0,     0,     0,     0,     0,     0,   281,   282,     0,
    2778      283,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2779        0,     0,   295,     0,   376,     0,     0,     0,     0,     0,
    2780      699,    46,   297,   298,   299,   300,   284,     0,     0,     0,
    2781        0,     0,   285,     0,     0,     0,   286,     0,     0,   287,
    2782      288,   289,   290,   291,   292,    41,    42,     0,   293,   294,
    2783        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2784        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2785        0,   295,     0,   376,     0,     0,     0,     0,     0,   342,
    2786       46,   297,   298,   299,   300,     2,   205,     4,     5,     6,
    2787        7,     8,     9,    10,    11,    12,    13,    14,    15,    16,
    2788       17,    18,    19,    20,    21,    22,    23,    24,    25,     0,
    2789        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2790       31,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2791        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2792        0,     0,     0,     0,     0,     0,     0,     0,    34,     0,
    2793       35,     0,    36,    37,     0,   173,   174,    40,     0,     0,
    2794        0,     0,     0,     0,     0,     0,    41,    42,   204,     2,
    2795      205,     4,     5,     6,     7,     8,     9,    10,    11,    12,
    2796       13,    14,    15,    16,    17,    18,    19,    20,    21,    22,
    2797       23,    24,    25,     0,     0,    26,    27,    28,     0,     0,
    2798        0,     0,     0,     0,    31,     0,     0,     0,     0,     0,
    2799        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2800        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2801        0,     0,    34,     0,    35,     0,    36,     0,     0,   206,
    2802       39,   463,     2,   205,     4,     5,     6,     7,     8,     9,
    2803       10,    11,    12,    13,    14,    15,    16,    17,    18,    19,
    2804       20,    21,    22,    23,    24,    25,     0,     0,    26,    27,
    2805       28,     0,     0,     0,     0,     0,     0,    31,     0,     0,
    2806        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2807        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2808        0,     0,     0,     0,     0,    34,     0,    35,     0,    36,
    2809        0,     0,    38,    39,     2,   205,     4,     5,     6,     7,
    2810        8,     9,    10,    11,    12,    13,    14,    15,    16,    17,
    2811       18,    19,    20,    21,    22,    23,    24,    25,     0,     0,
    2812       26,    27,    28,     0,     0,     0,     0,     0,     0,    31,
    2813        0,     8,     9,    10,    11,    12,    13,    14,    15,    16,
    2814       17,    18,    19,    20,    21,    22,    23,    24,    25,     0,
    2815        0,    26,    27,    28,   481,   482,   483,    34,     0,    35,
    2816       31,    36,     0,     0,   206,    39,     0,     0,     0,     0,
    2817        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2818        0,     0,     0,     0,     0,     0,     0,     0,    34,     0,
    2819        0,     0,     0,     0,     0,    38,    39
    2820 };
    2821 
    2822 #define yypact_value_is_default(yystate) \
    2823   ((yystate) == (-1333))
    2824 
    2825 #define yytable_value_is_error(yytable_value) \
    2826   YYID (0)
    2827 
    2828 static const yytype_int16 yycheck[] =
    2829 {
    2830        0,     1,    43,    43,    43,   238,   184,     0,   116,   203,
    2831        1,   184,     0,   530,   184,   218,     0,   184,   184,   509,
    2832      740,     0,   167,   168,   740,   740,   184,   184,   860,   613,
    2833      595,    32,    32,   593,   725,   637,   347,     1,    43,    32,
    2834      460,   593,   517,    43,    32,   478,   488,   593,    32,    49,
    2835      492,   347,   566,    32,   105,   186,    49,   595,  1301,    39,
    2836      185,     0,   966,    63,   423,   424,    66,    81,    43,    69,
    2837       63,   593,   683,    66,   593,   362,    69,   593,    69,   366,
    2838     1002,  1003,    28,   593,    97,    49,   264,  1020,  1003,    43,
    2839       39,   264,   200,    32,   264,    81,    49,   264,   264,   627,
    2840      628,    51,     0,     1,   155,   105,   264,   264,   118,  1013,
    2841        0,  1110,   109,   113,    72,   643,   116,   117,   131,    81,
    2842        0,   343,  1032,  1033,   134,   106,   112,    66,   109,   260,
    2843      261,   490,    78,   113,    32,    63,   133,   111,    44,    45,
    2844      265,   105,    32,   184,   184,   184,   146,   147,    39,   113,
    2845      509,   113,    32,  1485,   147,   155,   156,    49,  1401,   159,
    2846      113,   111,   111,    43,   113,    64,   159,   860,   280,    49,
    2847      890,    69,   628,   701,   890,   890,   134,   111,   415,   184,
    2848     1512,   185,   146,    63,   184,   185,    66,   643,   484,    69,
    2849      709,   155,   185,   709,   627,   628,  1106,   434,   255,   709,
    2850      200,   686,  1485,   678,   407,   442,   134,   596,   208,   184,
    2851      643,   117,   111,   602,   573,   208,   111,   112,   113,    39,
    2852      220,   113,  1505,   264,   264,   264,    39,   220,  1380,  1512,
    2853      184,  1230,    72,  1232,  1233,    72,   217,   111,   238,   799,
    2854      204,   661,    44,    45,   208,   701,   811,   799,    39,   250,
    2855      250,    39,    11,   799,   146,   208,   478,   250,   258,   133,
    2856       98,   265,   250,   263,   264,   265,   250,   147,   701,   783,
    2857      270,   250,   265,   811,   238,   886,   255,   799,   403,   159,
    2858      799,   220,   119,   799,   595,   393,   124,  1202,   339,   799,
    2859      271,   111,    98,   113,   134,   295,   583,   278,   111,   118,
    2860      113,  1453,    87,   736,   184,   185,   270,   909,   308,   273,
    2861      111,   250,  1384,   421,   116,   134,   208,   270,   124,   427,
    2862      111,   114,   113,   111,   324,   113,  1435,  1020,   208,   329,
    2863      115,   295,   116,  1255,  1256,  1268,   329,   624,  1029,   339,
    2864      220,  1256,   295,   343,   308,   227,   238,   347,   348,   111,
    2865      112,   476,   250,   918,   112,   308,  1188,   917,   415,   779,
    2866      250,  1470,   362,  1472,   246,   255,   366,    44,    45,   789,
    2867      250,   917,     0,     1,   132,   339,    72,   434,   270,   343,
    2868      800,   112,   363,   118,   264,   442,   367,   118,   500,    85,
    2869       86,   613,     3,   393,  1456,   917,   618,   981,   362,   403,
    2870     1462,   597,   366,   403,    32,   601,   891,  1311,  1480,   348,
    2871      403,    55,   801,  1485,   118,   111,   308,   113,    30,     3,
    2872     1482,   421,   112,   423,   424,  1487,   622,   427,   132,   429,
    2873      626,   118,    72,  1505,    72,   672,   415,   112,    66,   116,
    2874     1512,    69,   132,     0,   118,    85,    86,    85,    86,   329,
    2875      450,   343,   937,    97,  1376,   434,   889,   132,   132,   423,
    2876      424,  1376,     0,   442,  1368,  1369,   118,   347,   468,   111,
    2877       82,    83,   476,   113,   964,   113,   476,   952,   478,   295,
    2878      480,   111,   134,   476,   484,   927,   450,   480,   121,   122,
    2879      490,  1424,   480,   638,   118,  1188,   480,   450,  1431,   463,
    2880      811,   480,   502,  1105,   504,   792,   112,   507,   132,   509,
    2881      510,   118,   118,  1078,   736,   811,   647,   517,   118,   118,
    2882      113,   521,   115,   403,   488,   415,   490,   134,   492,   114,
    2883      469,   423,   424,   118,   134,   134,   112,   645,   502,   132,
    2884      504,   480,   118,   507,   434,   509,   510,   133,   192,   502,
    2885     1483,   504,   442,   678,   507,   111,   118,   510,     4,     5,
    2886        6,     7,     8,     9,   130,   565,   566,   133,   112,  1002,
    2887      118,   215,   134,   573,   118,  1268,   111,  1268,   113,   999,
    2888     1000,   225,   480,   583,   584,   112,   134,   587,   478,  1064,
    2889      480,   118,   220,   593,  1069,   595,   584,   112,   490,   111,
    2890      480,   990,   991,   118,   484,   118,   112,   423,   424,   573,
    2891      114,  1096,   118,   613,   118,   672,   728,   509,   618,   583,
    2892      620,   134,   250,    69,   624,    71,   922,   627,   628,   111,
    2893      242,   118,   112,   614,  1054,  1055,   111,   833,   118,   118,
    2894      118,   698,   118,   643,   847,   645,   118,   134,   629,   613,
    2895      112,   295,  1343,   114,   618,   134,   134,   118,   134,    72,
    2896      624,   642,   134,    76,   867,   114,    72,   889,    49,   118,
    2897     1155,  1156,    85,    86,   678,   675,   615,   119,   678,    85,
    2898       86,   573,    63,   125,   126,    66,   502,   111,    69,   112,
    2899      112,   507,  1125,   672,   510,   118,   929,   111,   111,   113,
    2900      113,   701,   702,   703,    90,    91,   119,   120,   853,   709,
    2901      710,   675,   890,   593,   114,   595,   112,   890,   118,   698,
    2902      890,   613,   675,   890,   890,   112,   618,   923,   112,   112,
    2903      112,  1424,   890,   890,   118,   118,   736,  1428,  1431,  1430,
    2904      740,   741,   111,   724,   113,   112,   112,   112,   564,   713,
    2905      689,   118,   118,     4,     5,     6,     7,     8,     9,   981,
    2906      111,    92,    93,     1,   703,   377,   147,   892,  1285,  1489,
    2907      112,   112,   111,  1489,  1489,   112,   118,   118,   159,   117,
    2908     1200,   118,   672,   783,     4,     5,     6,     7,     8,     9,
    2909     1483,   111,   792,  1484,   794,   439,   127,   128,   678,   799,
    2910      994,   112,    72,   111,   185,   113,  1094,   118,   698,    79,
    2911     1098,   811,    82,    33,    84,    85,    86,  1237,    69,   134,
    2912       71,   465,  1255,   111,  1244,  1245,  1246,   208,   792,   709,
    2913      710,    72,   112,    74,    75,    76,    94,    95,   118,   220,
    2914       72,   112,    74,    75,    85,    86,   736,   118,   111,    69,
    2915      113,    71,   480,    85,    86,   794,   119,   120,   502,   111,
    2916      860,   113,   111,   507,    66,    64,   510,     0,     1,   111,
    2917     1015,   113,   860,   134,   111,   487,   113,   489,  1363,   111,
    2918       82,   860,   882,   134,   116,   112,   113,  1307,   892,   889,
    2919      890,   116,   892,   116,   882,  1380,    29,    30,    72,    32,
    2920       74,    75,   116,  1125,   904,   134,    57,   111,   112,   113,
    2921       43,    85,    86,    72,   111,   117,    49,   917,   918,   799,
    2922       79,   860,   922,    82,    57,    84,    85,    86,   928,   929,
    2923       63,   811,    72,    66,    74,    75,    69,   928,   134,  1064,
    2924      904,   111,   116,   113,  1069,    85,    86,    81,   329,    82,
    2925       83,   904,   952,   111,   113,   106,   111,   159,   109,   283,
    2926      117,   118,   860,   927,   928,   929,    81,  1452,  1453,   502,
    2927      860,   504,   120,   106,   507,   129,   109,   510,  1086,    96,
    2928     1202,   981,  1094,   116,   308,   309,  1098,  1099,   130,   111,
    2929     1465,   113,   111,   113,   113,   111,   112,   113,     3,   889,
    2930      119,   120,  1002,  1003,   114,    10,    11,    12,    13,    14,
    2931      890,   114,   892,   251,   147,   112,   660,   981,   220,   343,
    2932     1020,   633,   403,    58,    59,   669,   159,   117,   118,   673,
    2933      928,   895,  1020,   897,    39,    44,    45,   929,   112,  1514,
    2934      112,  1020,   922,   112,    72,   984,    74,    75,    76,  1111,
    2935     1112,   184,   185,   112,   378,   112,   258,    85,    86,  1059,
    2936     1064,   263,    67,   111,  1064,  1069,   217,   200,   114,  1069,
    2937      682,   111,   684,   113,   113,   208,   688,   118,  1078,   119,
    2938      120,  1020,   116,   111,   217,   113,  1086,   220,   133,   981,
    2939      116,   119,   120,   116,   227,  1059,   549,   550,    72,   111,
    2940     1212,   111,   112,   113,   132,    79,  1059,   114,    82,   242,
    2941       84,    85,    86,   246,    58,    59,    60,   250,   251,   133,
    2942      271,   112,  1020,   551,   552,  1125,   112,   278,   557,   558,
    2943     1020,   264,   265,     3,   553,   554,   555,   556,   271,   113,
    2944       10,    11,    12,    13,    14,   278,   348,     3,    10,    11,
    2945       12,    13,    14,   114,    10,    11,    12,    13,    14,   114,
    2946       72,   132,    74,    75,    76,   132,  1166,  1167,    72,    39,
    2947       74,    75,    76,    85,    86,   132,  1167,    39,   118,   860,
    2948       29,    85,    86,    39,  1064,   112,   112,   116,  1188,  1069,
    2949     1302,   112,   117,   117,  1306,   346,   329,    67,   117,   111,
    2950     1188,   113,  1202,   118,   111,    67,  1206,   119,   120,  1188,
    2951      112,    67,   363,   346,   347,  1206,   367,    10,    11,    12,
    2952       13,    14,   546,   547,   548,   463,   428,  1166,   134,   132,
    2953      363,   112,   860,   118,   367,  1125,   112,   112,   112,   112,
    2954      884,   853,  1206,   112,   377,   112,    39,   859,   112,  1188,
    2955      118,  1359,   112,   112,   112,  1255,  1256,   112,   112,   112,
    2956      393,   112,   112,  1263,   112,     0,  1499,   469,  1268,  1167,
    2957      403,   117,    29,   112,    67,   118,   133,   114,   114,   112,
    2958     1268,   112,   112,   118,   111,   132,   524,   899,   421,  1268,
    2959     1188,   529,    72,  1405,   427,   118,   116,    32,  1188,    79,
    2960      928,  1301,    82,   132,    84,    85,    86,   112,  1206,   112,
    2961     1301,  1489,  1202,   112,   118,   112,  1489,   112,   111,  1489,
    2962      113,   112,  1489,  1489,  1263,   111,   119,   120,   118,  1268,
    2963      463,  1489,  1489,   113,    69,   468,    72,  1301,   111,   577,
    2964       76,   118,  1023,   476,   956,   111,   111,   480,   111,    85,
    2965       86,   484,  1168,  1169,   487,  1171,   489,  1465,   132,  1359,
    2966      112,   117,  1178,   134,  1180,  1490,   112,   117,    72,   112,
    2967     1268,   130,    76,   117,   116,   111,  1376,  1358,  1268,   134,
    2968      114,    85,    86,   119,   120,   587,   112,  1031,   118,  1514,
    2969      114,   524,  1020,   114,   112,   112,   529,    47,   114,   114,
    2970      114,  1401,   112,  1301,   117,   114,   644,   111,   646,   114,
    2971     1401,   114,   134,   615,   134,   119,   120,   112,   620,     0,
    2972        1,   156,   134,   747,  1424,   117,    72,   134,    74,    75,
    2973      112,  1431,   134,  1433,   132,  1435,  1424,  1401,  1050,    85,
    2974       86,   117,   114,  1431,   577,  1424,    83,   114,  1489,  1489,
    2975     1489,    32,  1431,   114,   114,   114,   114,   112,   696,   112,
    2976      593,    60,   595,   614,   111,  1465,   114,   113,    49,  1433,
    2977     1470,  1435,  1472,   111,   116,   111,    98,   112,   629,   112,
    2978     1433,   614,  1435,  1483,   111,  1424,  1490,   689,    69,  1489,
    2979     1490,   642,  1431,   661,   229,  1483,   629,  1490,   114,  1499,
    2980      633,   703,   134,  1401,  1483,   114,  1470,  1188,  1472,   642,
    2981     1514,   644,   645,   646,  1514,   250,   112,  1470,   112,  1472,
    2982      255,  1514,   114,  1339,   105,    98,  1424,   111,   111,   134,
    2983      117,    42,   112,  1431,  1424,  1499,   112,   112,  1166,  1167,
    2984       72,  1431,    74,    75,  1483,   678,   112,   118,   134,   682,
    2985     1162,   684,   134,    85,    86,   688,    70,   112,   132,    73,
    2986     1188,   112,    76,   696,    78,    98,   147,    98,   112,   134,
    2987      134,    85,   112,   724,   155,   156,   709,   710,  1206,   111,
    2988      114,   134,   112,   112,   116,  1483,    72,   114,    74,    75,
    2989       76,   724,   794,  1483,   117,   114,   134,   134,   111,    85,
    2990       86,   117,   117,  1284,   185,   112,   112,  1499,   134,  1489,
    2991      112,   779,   112,   657,   349,  1035,   559,   562,   560,   200,
    2992      561,   789,   203,   204,   563,   111,   961,   208,  1188,  1453,
    2993     1345,  1524,   800,  1277,  1099,  1263,  1306,  1278,    66,  1431,
    2994     1268,    10,    11,    12,    13,    14,  1050,    75,   229,   686,
    2995      675,   675,   233,  1069,   235,   688,  1337,   981,   897,  1340,
    2996      905,   577,   956,   244,   853,   925,   799,   639,   480,   250,
    2997       39,   713,  1206,  1301,   255,   724,   565,   565,   811,   565,
    2998      415,    -1,    -1,    -1,   265,    -1,    -1,    -1,    -1,   117,
    2999       -1,    -1,   273,    -1,   429,    -1,  1020,   211,    67,   434,
    3000       -1,    -1,    -1,  1384,    -1,   943,    -1,   442,  1389,    -1,
    3001       10,    11,    12,    13,    14,    -1,    -1,    -1,    -1,    -1,
    3002      853,    -1,    -1,    -1,   962,   460,   859,    -1,   966,    -1,
    3003       -1,   159,    -1,    -1,    -1,    -1,    -1,  1418,    -1,    39,
    3004      777,    -1,   111,   478,   113,   480,    -1,    -1,    -1,    -1,
    3005      119,   120,    -1,    -1,    -1,    -1,    -1,   890,   339,   892,
    3006       -1,    -1,   343,    -1,   278,    -1,   899,    67,   349,    -1,
    3007       -1,    -1,    -1,  1401,    83,  1013,    -1,    -1,    87,    88,
    3008       89,   362,   984,    -1,    -1,   366,   521,    -1,  1432,   922,
    3009     1434,    -1,   220,    -1,    -1,    -1,  1424,    -1,   188,    -1,
    3010       -1,    66,   111,  1431,   113,   195,   115,   116,    -1,    -1,
    3011      943,   111,   849,   113,    -1,    -1,    -1,    -1,    -1,   119,
    3012      120,    -1,  1503,   956,    -1,  1469,    -1,  1471,  1509,   962,
    3013      258,   999,  1000,   966,   415,   263,   350,    -1,   352,  1520,
    3014       -1,    -1,    -1,  1524,    -1,    -1,    -1,    -1,   429,   584,
    3015      278,    -1,   117,   434,   891,  1483,    -1,    -1,    -1,    -1,
    3016       -1,   442,    72,    -1,    74,    75,    76,    -1,    -1,  1513,
    3017       -1,  1515,  1110,    -1,    -1,    85,    86,   267,    -1,   460,
    3018     1013,    -1,   463,    -1,  1528,  1529,  1054,  1055,    -1,    -1,
    3019       -1,    -1,   627,   628,   159,    -1,    -1,   478,    -1,   480,
    3020      937,   111,    -1,   113,    -1,    -1,    -1,   488,   643,   119,
    3021      120,   492,    10,    11,    12,    13,    14,  1050,    -1,    -1,
    3022      348,    -1,    -1,    -1,   438,    -1,   661,    -1,    -1,    -1,
    3023       -1,  1064,   969,    -1,   324,    -1,  1069,   672,    -1,    -1,
    3024      521,    39,   332,    -1,    72,   335,    74,    75,    76,    -1,
    3025        0,    -1,    -1,  1086,    -1,   220,    -1,    85,    86,    -1,
    3026       -1,    -1,    -1,   698,  1166,    -1,   701,    -1,    -1,    67,
    3027       -1,    -1,    -1,    -1,    72,    -1,    -1,  1110,    76,    -1,
    3028     1017,    -1,    32,   111,    -1,   566,    -1,    85,    86,    -1,
    3029       -1,    -1,  1230,   258,  1232,  1233,    -1,    -1,   263,    -1,
    3030      428,   736,   583,   584,    -1,   395,    -1,    -1,    -1,   399,
    3031       -1,    -1,    -1,   111,   595,    -1,   444,    -1,    -1,    69,
    3032      460,   119,   120,    -1,    -1,    -1,    -1,    -1,    -1,  1162,
    3033       -1,    -1,   613,    -1,     0,    -1,    -1,   618,    -1,    -1,
    3034       -1,   469,    -1,   624,   779,    -1,   627,   628,    -1,    -1,
    3035       -1,    -1,    -1,    -1,   789,    -1,    -1,    -1,    -1,  1096,
    3036      795,  1263,   643,    -1,    -1,   800,    32,    -1,    72,  1237,
    3037       74,    75,    76,  1311,    -1,    -1,  1244,  1245,  1246,    -1,
    3038      661,    85,    86,   348,    -1,   475,    -1,    -1,    -1,    -1,
    3039       -1,   672,    -1,    -1,    -1,    -1,    -1,  1230,    -1,  1232,
    3040     1233,    -1,    -1,    69,    -1,    -1,   156,   111,    10,    11,
    3041       12,    13,    14,    -1,    -1,   119,   120,   698,  1155,  1156,
    3042      701,    -1,    -1,    -1,    -1,   860,    -1,    -1,    -1,   710,
    3043     1368,  1369,   713,    -1,    -1,    -1,    -1,    39,    -1,  1307,
    3044       10,    11,    12,    13,    14,    -1,    -1,   882,    -1,    -1,
    3045       -1,    -1,    -1,    -1,   889,   736,    -1,    -1,    -1,   587,
    3046      741,    -1,    -1,   428,    -1,    67,    -1,    -1,  1406,    39,
    3047       72,    -1,    74,    75,    76,   565,   566,    -1,  1311,    -1,
    3048       -1,    -1,    -1,    85,    86,    -1,    -1,   615,    -1,    -1,
    3049      156,    -1,   620,    -1,    -1,    -1,    -1,    67,   779,    -1,
    3050      250,    -1,    72,    -1,   469,   255,    76,  1358,   789,   111,
    3051      724,   792,    -1,    -1,   795,    85,    86,   119,   120,   800,
    3052       -1,   661,    -1,    -1,    -1,  1358,  1359,    -1,  1466,   810,
    3053       72,    -1,    74,    75,    76,  1368,  1369,  1475,     0,     1,
    3054       -1,   111,    -1,    85,    86,    -1,    -1,    -1,    -1,   119,
    3055      120,    -1,    10,    11,    12,    13,    14,    -1,   648,    -1,
    3056       -1,   689,   652,    -1,   999,  1000,    -1,  1002,  1003,   111,
    3057       32,   113,    -1,  1406,    -1,   703,    -1,   119,   120,   860,
    3058       -1,    39,    -1,    -1,   250,  1020,    -1,    -1,    -1,   255,
    3059       -1,    -1,    -1,    -1,    -1,    -1,   724,    -1,    -1,   349,
    3060       -1,   882,    -1,    -1,    66,    -1,    -1,    69,   889,    67,
    3061       -1,   892,    -1,    -1,    72,    -1,    74,    75,    76,  1054,
    3062     1055,    -1,   587,    -1,    -1,    -1,  1363,    85,    86,    -1,
    3063       -1,    -1,  1465,  1466,    -1,    -1,    -1,   918,    -1,   779,
    3064       -1,    -1,  1475,  1380,    -1,    -1,   927,   928,     0,   789,
    3065      615,    -1,    -1,   111,    -1,   620,  1489,  1490,    -1,    -1,
    3066      800,   119,   120,    -1,    -1,   415,   794,    -1,    -1,    10,
    3067       11,    12,    13,    14,    -1,    -1,    -1,    -1,    -1,   429,
    3068       32,  1514,    -1,   349,   434,    -1,    -1,    -1,    -1,    -1,
    3069     1125,    -1,   442,   783,   156,    -1,    -1,    -1,    39,    -1,
    3070      981,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3071      460,    -1,    -1,   994,    -1,  1452,  1453,    69,   999,  1000,
    3072       -1,  1002,  1003,    -1,   689,    -1,    67,    -1,   478,    -1,
    3073      480,    72,  1167,    74,    75,    76,    -1,    -1,   703,  1020,
    3074       -1,    -1,    -1,    -1,    85,    86,    -1,    -1,    72,   415,
    3075       74,    75,    76,  1188,    -1,    -1,    -1,    -1,   220,    -1,
    3076       -1,    85,    86,   429,    -1,  1200,    -1,  1202,   434,    -1,
    3077      111,   521,   113,  1054,  1055,    -1,   442,    -1,   119,   120,
    3078       -1,    -1,    -1,    -1,    -1,    83,    -1,   111,   250,    87,
    3079       88,    89,    -1,    -1,   460,   119,   120,    -1,    -1,    -1,
    3080       -1,    -1,  1237,    -1,   156,    -1,   896,    -1,    -1,  1244,
    3081     1245,  1246,   478,   111,   480,   113,    -1,   115,   116,    -1,
    3082     1255,  1256,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   794,
    3083       -1,    -1,    -1,  1268,   584,    -1,    -1,    -1,    -1,    -1,
    3084       -1,    -1,    -1,    -1,  1125,    -1,    -1,    -1,    -1,    -1,
    3085       -1,    -1,    -1,    -1,    -1,   521,   984,    -1,    -1,   999,
    3086     1000,    99,   100,   101,   102,   103,   104,   105,   106,   107,
    3087      108,   109,  1307,    -1,    -1,    -1,    -1,   627,   628,    -1,
    3088       -1,   971,    -1,    -1,    -1,    -1,  1167,    -1,    -1,    -1,
    3089       -1,    -1,    -1,   643,    -1,   133,    -1,   987,   250,    -1,
    3090       -1,    -1,    -1,   255,    -1,    -1,    -1,  1188,    -1,    -1,
    3091       -1,   661,    -1,    -1,  1054,  1055,    -1,    -1,   584,  1200,
    3092       -1,  1202,   672,    -1,    -1,  1206,    -1,    -1,    -1,    -1,
     3640      23,    24,    25,    26,    27,    28,    29,   115,    -1,    32,
     3641      33,    34,    -1,   121,   122,    -1,    -1,    -1,    41,    -1,
    30933642      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3094       -1,  1376,    -1,    -1,    -1,    -1,    -1,    -1,   698,    -1,
    3095       -1,   701,    -1,    -1,    -1,    -1,  1237,    -1,    -1,    -1,
    3096       -1,   627,   628,  1244,  1245,  1246,    -1,   429,    -1,    -1,
    3097       -1,    -1,  1062,    -1,  1255,  1256,    -1,   643,    -1,    -1,
    3098       -1,    -1,    -1,    -1,    -1,    -1,   736,  1268,    -1,  1424,
    3099       -1,    -1,    -1,    -1,    -1,   661,  1431,   349,    53,    -1,
    3100       55,    -1,    -1,    58,    59,    60,   672,    62,    -1,    -1,
    3101       -1,  1101,    -1,    -1,    -1,    -1,    -1,    -1,   480,   984,
    3102     1301,    76,    -1,    -1,    -1,    -1,  1307,    -1,    -1,   779,
    3103       -1,    -1,   698,    88,    89,   701,    -1,    -1,  1166,   789,
    3104       -1,    -1,    -1,    -1,    -1,   795,    -1,    -1,  1483,    -1,
    3105      800,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   521,
    3106     1200,    -1,    -1,   415,    -1,    -1,    -1,    -1,    -1,    -1,
    3107      736,    -1,    -1,    -1,    -1,    -1,    -1,   429,    -1,    -1,
    3108       -1,    -1,   434,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3109      442,    -1,    -1,    -1,    -1,  1376,    -1,  1237,    -1,    -1,
    3110       -1,    -1,    -1,    -1,  1244,  1245,  1246,    -1,   460,    -1,
    3111      860,    -1,    -1,   779,    -1,    -1,    -1,    -1,    -1,    -1,
    3112     1401,    -1,   584,   789,    -1,    -1,   478,    -1,   480,   795,
    3113       -1,    -1,   882,    -1,   800,  1263,    -1,    -1,    -1,   889,
    3114       -1,    -1,    -1,  1424,    -1,    -1,    -1,    -1,    -1,    -1,
    3115     1431,    -1,     7,    -1,    -1,    10,    11,    12,    13,    14,
    3116       -1,    -1,    -1,    -1,    -1,   627,   628,  1307,    -1,   521,
    31173643      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3118       -1,   643,    37,    38,    39,    40,    -1,    -1,    -1,    -1,
    3119       -1,    -1,    -1,    -1,   860,    -1,    -1,    -1,    -1,    -1,
    3120       -1,  1166,  1483,    -1,    -1,    -1,    -1,    -1,    -1,  1490,
    3121       -1,    66,    67,    -1,    -1,    -1,   882,    72,    -1,    -1,
    3122       -1,    76,    -1,   889,    79,    80,    81,    82,    83,    84,
    3123       85,    86,   584,    88,    89,    -1,    -1,    -1,    -1,   701,
    3124       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   999,
    3125     1000,    -1,  1002,  1003,    -1,    -1,   111,    -1,   113,    -1,
    3126       -1,    -1,    -1,    -1,   119,   120,   121,   122,   123,   124,
    3127     1020,    -1,    -1,    -1,    -1,   627,   628,    -1,    -1,    -1,
    3128       -1,    -1,    -1,    -1,    -1,    -1,    -1,   342,    -1,   344,
    3129       -1,   643,    -1,    10,    11,    12,    13,    14,  1263,    -1,
    3130      355,   356,    -1,    -1,  1054,  1055,    -1,    -1,    -1,   661,
    3131       -1,    -1,    -1,    -1,    -1,    10,    11,    12,    13,    14,
    3132      672,    -1,    39,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3133       -1,    -1,    -1,   999,  1000,    -1,  1002,  1003,    -1,    -1,
    3134       -1,    -1,    -1,    -1,    39,    -1,   698,    -1,    -1,   701,
    3135       67,    -1,    -1,    -1,  1020,    72,    -1,    74,    75,    76,
    3136       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    85,    86,
    3137       -1,    -1,    67,    -1,    -1,  1125,    -1,    72,    -1,    74,
    3138       75,    76,    -1,    -1,   736,    -1,    -1,    -1,  1054,  1055,
    3139       85,    86,    -1,    -1,   111,    -1,   113,    -1,   860,    -1,
    3140       -1,    -1,   119,   120,    -1,    -1,    -1,    -1,    -1,    -1,
    3141       -1,    -1,    -1,    -1,    -1,    -1,   111,  1167,   113,    -1,
    3142      882,    -1,    -1,    -1,   119,   120,    -1,   779,    37,    38,
    3143       -1,    40,    -1,    -1,    -1,    -1,    -1,   789,  1188,    -1,
    3144       -1,    -1,    -1,   795,    -1,    -1,    -1,    -1,   800,    -1,
    3145     1200,    -1,  1202,    -1,    -1,    -1,    -1,    66,    -1,  1125,
    3146       -1,    -1,    -1,    72,    -1,    -1,   928,    76,    -1,    -1,
    3147       79,    80,    81,    82,    83,    84,    85,    86,    -1,    88,
    3148       89,    -1,    -1,    -1,    -1,    -1,    -1,  1237,    -1,    -1,
    3149       -1,    -1,    -1,    -1,  1244,  1245,  1246,    -1,    -1,    -1,
    3150       -1,  1167,   111,    -1,   113,  1255,  1256,    -1,   860,    -1,
    3151      119,   120,   121,   122,   123,   124,    -1,    -1,  1268,    -1,
    3152       -1,    -1,  1188,   132,    -1,    -1,    -1,    -1,    -1,    -1,
    3153      882,    -1,    -1,    -1,  1200,    -1,  1202,   889,    -1,    -1,
    3154     1002,  1003,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3155       -1,    -1,    -1,    -1,    -1,    -1,    -1,  1307,  1020,    -1,
    3156       -1,    -1,    -1,    -1,    66,    -1,    -1,    -1,    -1,    -1,
    3157       -1,  1237,    -1,    75,    -1,    77,    -1,    79,  1244,  1245,
    3158     1246,    -1,    -1,    -1,    86,    -1,    -1,    -1,    -1,  1255,
    3159     1256,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3160       -1,    -1,  1268,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3161       -1,    -1,    -1,    -1,    -1,   117,    -1,   119,   120,   121,
    3162       -1,    -1,    -1,    -1,    -1,    -1,  1376,    -1,    -1,    -1,
    3163       -1,    -1,    -1,    -1,    -1,   690,    -1,   692,    -1,    -1,
    3164       -1,  1307,    -1,    -1,   699,   700,    -1,   999,  1000,   704,
    3165     1002,  1003,    -1,    -1,    -1,    -1,    -1,   159,    -1,    -1,
    3166       -1,    -1,   717,    -1,    -1,    -1,    -1,   722,  1020,    -1,
    3167       -1,    -1,    -1,    -1,  1424,    -1,    -1,    -1,    -1,    -1,
    3168       -1,  1431,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3169       -1,    -1,    -1,    -1,   749,    -1,    -1,    -1,    -1,    -1,
    3170       -1,    -1,  1054,  1055,  1166,  1167,    -1,    -1,    -1,    -1,
    3171     1376,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   220,    -1,
    3172      222,   223,   224,    -1,    -1,    -1,  1188,    -1,    -1,    -1,
    3173       -1,    -1,    -1,  1483,    -1,    -1,    -1,    -1,    -1,    -1,
    3174       -1,    -1,    -1,    -1,  1206,    -1,    -1,    -1,    -1,    -1,
    3175       -1,    -1,    -1,    -1,    -1,    -1,   258,    -1,  1424,    -1,
    3176       -1,   263,    -1,    -1,    -1,  1431,    -1,    -1,    -1,    -1,
    3177       -1,    -1,    -1,  1125,    -1,    -1,   278,    -1,    -1,    -1,
    3178       -1,    -1,    -1,    -1,    -1,    -1,    -1,   842,    -1,   844,
    3179      845,   846,    -1,  1255,  1256,    -1,    -1,    -1,    -1,    -1,
    3180       -1,  1263,    49,    -1,    -1,    -1,  1268,    -1,   863,    -1,
    3181       -1,    -1,    -1,    -1,    -1,  1167,    -1,  1483,    -1,    66,
    3182       -1,    -1,   877,    -1,    -1,    -1,    -1,   329,    -1,    -1,
    3183       -1,    -1,    -1,    -1,    -1,    -1,  1188,    -1,    -1,  1301,
    3184       -1,    -1,    -1,    -1,    -1,    -1,   348,    -1,  1200,    -1,
    3185     1202,   353,   354,    -1,    -1,    -1,    -1,    -1,    -1,   361,
    3186       -1,   916,    -1,    -1,    -1,    -1,   113,    -1,    -1,    -1,
    3187      117,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3188       -1,    -1,    -1,    -1,    -1,  1237,    -1,    -1,    -1,    -1,
    3189       -1,    -1,  1244,  1245,  1246,    -1,    -1,    -1,    -1,   146,
    3190       -1,   403,    -1,  1255,  1256,   960,    -1,    -1,    -1,   156,
    3191      965,    -1,   159,    -1,  1376,   970,  1268,    -1,    -1,   421,
    3192      975,    -1,    -1,    -1,   426,   980,   428,   982,   983,    -1,
    3193       -1,   986,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  1401,
    3194      995,    -1,   444,    -1,    -1,   447,   448,    -1,    -1,    -1,
    3195       -1,    -1,    -1,   455,    -1,  1307,  1011,  1012,    -1,    -1,
    3196       -1,   208,  1424,    -1,    -1,    -1,    -1,   469,    -1,  1431,
    3197       -1,    -1,    -1,   220,   476,    -1,    -1,    -1,    -1,    -1,
    3198       -1,    -1,  1037,    -1,    -1,  1040,    -1,    -1,    -1,    -1,
    3199       -1,   238,    -1,    -1,    -1,    26,    27,    28,    10,    11,
    3200       12,    13,    14,    15,    16,    17,    18,    19,    20,    21,
    3201       22,    23,    24,    25,    26,    27,   263,    -1,    -1,    -1,
    3202       -1,  1483,    -1,   270,  1376,    -1,    -1,    39,  1083,    -1,
    3203       -1,    -1,    -1,    -1,  1089,  1090,    -1,    -1,    -1,    -1,
    3204       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   295,    -1,
    3205       -1,    -1,    -1,  1108,    -1,    67,    -1,    -1,  1113,    -1,
    3206       -1,   308,    -1,  1118,    -1,    -1,    -1,    98,    -1,   100,
    3207       -1,    -1,  1424,    -1,  1129,    -1,    -1,    -1,    -1,  1431,
    3208       -1,    -1,    -1,    -1,    -1,   587,    -1,  1142,    -1,  1144,
    3209     1145,  1146,  1147,    -1,    -1,    -1,   343,    -1,    -1,    -1,
    3210       -1,   348,    -1,    -1,  1159,    -1,  1161,    -1,    -1,    -1,
    3211     1165,    -1,    -1,   615,    -1,    -1,    -1,    -1,   620,    -1,
    3212       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3213       -1,  1483,    -1,    -1,    -1,    -1,    -1,    -1,  1193,  1194,
    3214       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   180,
    3215       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   190,
    3216      191,    -1,    -1,    -1,   195,    -1,   197,   198,    -1,    -1,
    3217       44,    -1,    -1,    -1,    -1,    -1,   423,   424,    -1,    -1,
    3218       -1,    -1,   429,    -1,    -1,    -1,    -1,   689,    -1,    -1,
    3219       -1,    -1,  1247,  1248,    -1,    -1,    -1,    -1,    -1,    -1,
    3220       -1,   703,  1257,   450,    -1,    -1,    -1,    -1,    -1,    -1,
    3221       -1,    -1,    -1,    -1,    -1,    -1,    -1,    91,    -1,    -1,
    3222       -1,    -1,   724,    -1,    -1,    -1,    -1,   101,    -1,    -1,
    3223       -1,   478,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3224       -1,    -1,    -1,   490,    -1,    -1,    -1,    -1,    -1,    -1,
    3225       -1,    -1,    -1,    -1,    -1,   502,    -1,   504,    -1,    -1,
    3226      507,    -1,   509,   510,  1319,    -1,  1321,  1322,  1323,    -1,
    3227       -1,    -1,    -1,    -1,   521,    -1,    -1,    -1,  1333,    -1,
    3228       -1,   783,    -1,    -1,    -1,    -1,  1341,    -1,    -1,    -1,
    3229       -1,    -1,   794,    -1,    -1,    -1,   170,    -1,    -1,    -1,
    3230       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   811,
    3231       -1,  1366,  1367,    -1,    -1,    -1,    -1,    -1,    -1,   193,
    3232       -1,    -1,    -1,    -1,    -1,    -1,   573,    -1,    -1,    -1,
    3233       -1,    -1,    -1,   207,    -1,    -1,    -1,   584,    -1,    -1,
    3234      587,    -1,   216,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3235       -1,    -1,   226,    -1,    -1,    -1,  1411,  1412,    -1,    -1,
    3236       -1,    -1,    -1,    -1,    -1,    -1,   613,    -1,    -1,  1424,
    3237       -1,   618,    -1,    -1,    -1,    -1,  1431,   251,    -1,    -1,
    3238      627,   628,   256,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3239       -1,    -1,    -1,    -1,    -1,   269,   643,    -1,    -1,    -1,
    3240       -1,   275,    -1,   277,    -1,    -1,    -1,    -1,    -1,  1464,
    3241       -1,    -1,    -1,  1468,    -1,    -1,    -1,    -1,    -1,    -1,
    3242      922,    -1,   296,    -1,    -1,    -1,    -1,    -1,   675,    -1,
    3243       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3244       -1,  1496,    -1,  1498,    -1,    -1,    -1,    -1,    -1,    -1,
    3245      952,    -1,    -1,    -1,   701,    -1,   703,    -1,    -1,    -1,
    3246       -1,    -1,    -1,   337,    -1,    -1,    -1,   341,    -1,    -1,
    3247       -1,  1526,  1527,    -1,    -1,    -1,    -1,    -1,    -1,  1534,
    3248     1535,    -1,   984,    -1,    -1,    -1,    -1,    -1,    -1,   736,
    3249       -1,    -1,    -1,   995,    -1,   369,    -1,    -1,    -1,   373,
    3250      374,    -1,   376,    -1,    -1,    -1,    -1,    -1,    -1,   383,
    3251      384,    -1,   386,   387,    -1,   389,    -1,   391,    -1,    -1,
    3252       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3253       -1,    -1,    -1,    -1,   408,    -1,    -1,    -1,   569,   570,
    3254       -1,    -1,   416,    -1,    -1,    -1,    -1,   794,    -1,    -1,
    3255       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3256       -1,    -1,  1064,    -1,    -1,   596,   440,    -1,   599,   600,
    3257       -1,   602,    -1,   604,   605,    -1,  1078,    -1,   609,   610,
    3258       -1,    26,    27,    28,   281,    -1,   283,   284,    -1,    -1,
    3259       -1,    -1,   466,    -1,    -1,    -1,   293,   294,   472,    -1,
    3260       -1,    -1,    -1,   477,    -1,    -1,    -1,    -1,    -1,    -1,
    3261       -1,   308,   309,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3262       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   155,
    3263      156,    -1,    -1,    -1,    -1,   882,    -1,    -1,    -1,   513,
    3264       -1,    -1,   889,    -1,    -1,    -1,   343,    -1,    -1,    -1,
    3265       -1,    -1,    -1,    98,   528,   100,    -1,   904,    -1,    -1,
    3266       -1,    -1,   188,    -1,  1166,    -1,    -1,    -1,    -1,   195,
    3267       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3268      125,   378,   929,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3269       -1,   565,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3270      574,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3271       -1,    -1,    -1,    -1,   745,   746,    -1,    -1,    -1,    -1,
    3272      594,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3273       -1,    -1,    -1,    -1,   981,   180,    -1,    -1,    -1,    -1,
    3274       -1,   267,    -1,   188,    -1,   190,   191,    -1,    -1,    -1,
    3275      195,    -1,   197,   198,    -1,  1002,  1003,    -1,   632,    -1,
    3276       -1,  1263,    -1,    -1,     3,     4,     5,     6,     7,     8,
    3277        9,    10,    11,    12,    13,    14,    15,    16,    17,    18,
    3278       19,    20,    21,    22,    23,    24,    25,    26,    27,    -1,
    3279       -1,    30,    31,    32,   668,    -1,    -1,    -1,   324,    -1,
    3280       39,    -1,   676,    -1,    -1,    -1,   332,   333,    -1,   335,
    3281      336,    -1,  1059,    -1,    -1,    -1,    -1,   343,    -1,    -1,
    3282       -1,   347,   267,    -1,    -1,    -1,    -1,    -1,    67,    -1,
    3283       69,    -1,    71,   707,    -1,    74,    75,    -1,    -1,    -1,
    3284      366,    -1,    -1,    -1,   718,   719,    -1,    -1,    -1,   546,
    3285      547,   548,   549,   550,   551,   552,   553,   554,   555,   556,
    3286      557,   558,   559,   560,   561,   562,   563,    -1,    -1,   395,
    3287      901,    -1,    -1,   399,    -1,    -1,   750,   116,  1125,    -1,
    3288       -1,   755,    10,    11,    12,    13,    14,    15,    16,    17,
    3289       18,    19,    20,    21,    22,    23,    24,    25,    26,    27,
    3290       28,    -1,    -1,   429,    -1,    -1,    -1,    -1,    -1,    -1,
    3291       -1,    39,    -1,   146,    -1,    -1,    -1,    -1,    -1,  1166,
    3292       -1,    -1,    -1,   156,    -1,    -1,    -1,    -1,    -1,    -1,
    3293       -1,    -1,    -1,    -1,   167,   168,    -1,    -1,    -1,    67,
    3294       -1,   815,    -1,    -1,    -1,    -1,    -1,    -1,   822,   475,
    3295       78,    -1,   478,    -1,    -1,  1202,    -1,    -1,    -1,    -1,
    3296       -1,   835,    -1,   837,    -1,    -1,    -1,    -1,    -1,    -1,
    3297       -1,    -1,    -1,    -1,    -1,    -1,   850,    -1,    -1,    -1,
    3298       -1,    -1,   856,    -1,    -1,    -1,    -1,    -1,    -1,   686,
    3299       -1,   517,    -1,    -1,   868,   521,    -1,   871,    -1,    -1,
    3300       -1,    -1,    -1,    -1,    -1,   238,    -1,    -1,  1255,  1256,
    3301       -1,    -1,  1514,    -1,    -1,    -1,  1263,    -1,    -1,    -1,
    3302       -1,    -1,    -1,    -1,    -1,  1056,    -1,    -1,    -1,   262,
    3303       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   565,
    3304      566,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3305      747,    -1,    -1,    -1,    -1,    -1,    -1,   583,   584,    -1,
    3306       -1,    -1,    -1,    -1,    -1,    -1,    -1,   593,    -1,   595,
    3307      596,    -1,    -1,    -1,    -1,    -1,   602,    -1,    -1,    -1,
    3308      777,    -1,    -1,    -1,    -1,    -1,   612,   613,    -1,    -1,
    3309       -1,    -1,   618,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3310       -1,   627,   628,    -1,    -1,   979,    -1,    -1,    -1,    -1,
    3311       -1,    -1,    -1,    -1,    -1,    -1,    -1,   643,    -1,    -1,
    3312       -1,    -1,   648,   649,   569,   570,   652,   653,    -1,  1376,
    3313       -1,    -1,    -1,   659,    -1,    -1,    -1,    -1,    -1,    -1,
    3314       -1,    -1,    -1,    -1,   377,    -1,    -1,    -1,    -1,    -1,
    3315       -1,   596,   678,  1184,   599,   600,    -1,   602,    -1,   604,
    3316      605,    -1,    -1,    -1,   609,   610,  1040,    -1,    -1,    -1,
    3317       -1,    -1,    -1,    -1,    -1,   701,   702,    -1,    -1,    -1,
    3318       -1,    -1,    -1,    -1,    -1,    -1,  1433,    -1,  1435,    -1,
    3319       -1,    -1,    -1,    -1,   891,    -1,    -1,    -1,    -1,    -1,
    3320     1074,    -1,    -1,    -1,    -1,  1079,    -1,    -1,    -1,    -1,
    3321      736,    -1,    -1,  1087,   740,   741,    -1,    -1,    -1,    -1,
    3322       -1,    -1,    -1,  1470,    -1,  1472,    -1,    -1,    -1,    -1,
    3323       -1,    -1,    -1,    -1,    -1,    -1,    -1,   470,    -1,    -1,
    3324      937,    -1,    -1,    -1,    -1,    -1,    -1,  1121,    -1,    -1,
    3325       -1,    -1,  1499,    -1,    -1,    -1,    -1,   783,  1132,    -1,
    3326       -1,  1135,    -1,  1137,    -1,    -1,    -1,    -1,    -1,    -1,
    3327       -1,    -1,   969,   799,    -1,   801,   509,    -1,  1152,  1153,
    3328       -1,    -1,    -1,    -1,   981,   811,    -1,    -1,   521,    -1,
    3329       -1,    -1,    -1,    -1,   527,    -1,    -1,   530,  1172,    -1,
    3330      745,   746,     7,    -1,    -1,    10,    11,    12,    13,    14,
    3331      543,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3332       -1,    -1,    -1,  1020,    -1,    -1,    -1,    -1,    -1,    -1,
    3333       -1,    -1,    37,    38,    39,    40,    -1,    -1,    -1,    -1,
    3334      573,    -1,    -1,    -1,  1218,    -1,    -1,   580,    -1,    -1,
    3335       -1,   584,  1226,    -1,    -1,    -1,   882,    -1,    -1,    -1,
    3336       -1,    66,    67,   889,   890,    -1,   892,    72,    -1,    -1,
    3337      896,    76,    -1,    -1,    79,    80,    81,    82,    83,    84,
    3338       85,    86,    -1,    88,    89,    -1,    -1,    -1,    -1,    -1,
    3339       -1,   917,   918,    -1,    -1,    -1,    -1,   630,    -1,  1096,
    3340       -1,    -1,    -1,    -1,    -1,   638,   111,    -1,   113,    -1,
    3341       -1,    -1,    -1,    -1,   119,   120,   121,   122,   123,   124,
    3342       -1,    -1,  1296,    -1,  1298,    -1,   952,    -1,    -1,    -1,
    3343       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3344     1314,    -1,  1316,    -1,    -1,   971,   972,    -1,    -1,    -1,
    3345       -1,   896,    -1,    -1,    -1,   981,   901,  1331,  1155,  1156,
    3346       -1,   987,   988,    -1,   990,   991,   992,    -1,    -1,    -1,
    3347       -1,    -1,  1346,  1347,    -1,    -1,  1002,  1003,    -1,    -1,
    3348       -1,   714,    -1,  1357,    -1,    -1,  1360,    -1,    -1,    -1,
    3349       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3350       -1,    -1,    -1,   736,    -1,   738,    -1,    -1,  1382,    -1,
    3351       -1,    -1,    -1,    -1,    -1,   748,    -1,  1391,    -1,    -1,
    3352     1394,   754,  1396,  1397,  1398,    -1,    -1,    -1,    -1,    -1,
    3353       -1,    -1,    -1,    -1,    -1,    -1,  1062,    -1,  1064,    -1,
    3354       -1,    -1,    -1,  1069,    -1,    -1,    -1,    -1,    -1,    -1,
    3355       -1,    -1,  1078,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3356       -1,   794,   795,  1437,    -1,  1439,    -1,  1441,    -1,    -1,
    3357       -1,    -1,    -1,    -1,    -1,  1101,  1102,   810,    -1,    -1,
    3358       -1,    -1,    -1,  1457,    -1,    -1,    -1,    -1,    -1,    -1,
    3359       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  1125,
    3360       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3361       -1,  1056,    -1,    -1,    -1,    -1,   849,    -1,    -1,    -1,
    3362      853,    -1,    -1,    -1,    -1,    10,    11,    12,    13,    14,
    3363       15,    16,    17,    18,    19,    20,    21,    22,    23,    24,
    3364       25,    26,    27,    -1,    -1,    30,    31,    32,    -1,   882,
    3365       -1,    -1,    -1,    -1,    39,    -1,   889,    -1,    -1,    -1,
    3366       -1,    -1,    -1,    -1,    -1,    -1,  1363,    -1,    -1,    -1,
    3367       -1,    -1,    -1,    -1,    -1,    -1,  1202,    -1,    -1,    -1,
    3368       -1,    -1,    67,  1380,    -1,    -1,    -1,    -1,    -1,    74,
    3369       75,    -1,    -1,    -1,    -1,    -1,   929,     3,     4,     5,
    3370        6,     7,     8,     9,    10,    11,    12,    13,    14,    15,
    3371       16,    17,    18,    19,    20,    21,    22,    23,    24,    25,
    3372       26,    27,    -1,   956,    30,    31,    32,    -1,   961,  1255,
    3373     1256,   964,    -1,    39,   119,   120,    -1,    -1,    -1,  1184,
    3374       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3375       -1,   984,    -1,    -1,    -1,  1452,  1453,    -1,    -1,    -1,
    3376       -1,    67,   995,    69,    -1,    71,    72,    -1,    74,    75,
    3377       76,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    85,
    3378       86,    -1,  1015,    -1,  1017,    -1,    -1,    -1,    -1,    -1,
    3379       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  1032,
    3380     1033,    -1,    -1,    -1,    -1,   111,    -1,   113,    -1,    -1,
    3381       -1,    -1,    -1,   119,   120,    -1,    -1,    -1,    -1,  1052,
    3382       -1,    -1,    -1,    -1,    -1,     3,     4,     5,     6,     7,
     3644      -1,    -1,    -1,    -1,    -1,    -1,    69,    -1,    71,    -1,
     3645      73,    -1,    -1,    76,    77,    -1,     4,     5,     6,     7,
    33833646       8,     9,    10,    11,    12,    13,    14,    15,    16,    17,
    33843647      18,    19,    20,    21,    22,    23,    24,    25,    26,    27,
    3385     1376,    -1,    30,    31,    32,    33,    -1,    -1,    36,    -1,
    3386       -1,    39,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3387       -1,    -1,    -1,  1106,    -1,    -1,    -1,    -1,    -1,    -1,
    3388       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    67,
    3389       -1,    69,  1125,    71,    -1,    -1,    74,    75,    -1,    -1,
    3390       -1,    -1,    -1,    -1,    -1,    -1,    -1,  1140,  1141,    -1,
    3391        4,     5,     6,     7,     8,     9,    10,    11,    12,    13,
    3392       14,    15,    16,    17,    18,    19,    20,    21,    22,    23,
    3393       24,    25,    26,    27,    -1,   113,    30,    31,    32,  1465,
    3394       -1,   119,   120,    -1,    -1,    39,    -1,    -1,    -1,    -1,
    3395       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3396       -1,    -1,    -1,  1489,  1490,    -1,    -1,    -1,    -1,    -1,
    3397       -1,    -1,    -1,    67,    -1,    69,    -1,    71,    -1,    -1,
    3398       74,    75,    -1,    -1,    -1,    -1,    -1,    -1,  1514,    -1,
    3399       -1,    -1,     3,     4,     5,     6,     7,     8,     9,    10,
    3400       11,    12,    13,    14,    15,    16,    17,    18,    19,    20,
    3401       21,    22,    23,    24,    25,    26,    27,    -1,   112,    30,
    3402       31,    32,    33,    -1,    -1,    36,    37,    38,    39,    40,
    3403       41,    -1,    43,    -1,    -1,    46,    47,    48,    49,    50,
    3404       51,    52,    53,    -1,    -1,    -1,    57,    -1,    -1,  1282,
    3405       61,    62,  1285,    64,    -1,    66,    67,    -1,    69,    -1,
    3406       71,    72,    -1,    74,    75,    76,    -1,    -1,    79,    80,
    3407       81,    82,    83,    84,    85,    86,    -1,    88,    89,    -1,
     3648      28,    29,    -1,    -1,    32,    33,    34,    -1,    -1,    -1,
     3649      -1,    -1,   115,    41,    -1,    -1,    -1,    -1,   121,   122,
    34083650      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    34093651      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3410      111,    -1,   113,    -1,    -1,   116,    -1,    -1,   119,   120,
    3411      121,   122,   123,   124,    -1,    -1,    -1,    -1,   129,    -1,
    3412       -1,    -1,    -1,   134,     3,     4,     5,     6,     7,     8,
    3413        9,    10,    11,    12,    13,    14,    15,    16,    17,    18,
    3414       19,    20,    21,    22,    23,    24,    25,    26,    27,    -1,
    3415       -1,    30,    31,    32,    33,    -1,    -1,    36,    37,    38,
    3416       39,    40,    10,    11,    12,    13,    14,    15,    16,    17,
     3652      -1,    69,    -1,    71,    -1,    73,    -1,    -1,    76,    77,
     3653      -1,     4,     5,     6,     7,     8,     9,    10,    11,    12,
     3654      13,    14,    15,    16,    17,    18,    19,    20,    21,    22,
     3655      23,    24,    25,    26,    27,    28,    29,    -1,    -1,    32,
     3656      33,    34,    -1,    -1,    -1,    -1,    -1,   115,    41,    -1,
     3657      -1,    -1,    -1,   121,   122,    -1,    -1,    -1,    -1,    -1,
     3658      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3659      -1,    -1,    -1,    -1,    -1,    -1,    69,    -1,    71,    -1,
     3660      73,    -1,    -1,    76,    77,    10,    11,    12,    13,    14,
     3661      15,    16,    17,    18,    19,    20,    21,    22,    23,    24,
     3662      25,    26,    27,    28,    29,    -1,    -1,    32,    33,    34,
     3663      -1,    -1,    -1,    -1,    39,    40,    41,    42,    -1,    -1,
     3664      -1,    -1,   115,    -1,    -1,    -1,    -1,    -1,   121,   122,
     3665      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3666      -1,    -1,    -1,    68,    69,    -1,    -1,    -1,    -1,    74,
     3667      -1,    76,    77,    78,    -1,    -1,    81,    82,    83,    84,
     3668      85,    86,    87,    88,    -1,    90,    91,    -1,    -1,    -1,
     3669      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3670      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   113,    -1,
     3671     115,    -1,    -1,   118,    -1,    -1,   121,   122,   123,   124,
     3672     125,   126,    10,    11,    12,    13,    14,    15,    16,    17,
    34173673      18,    19,    20,    21,    22,    23,    24,    25,    26,    27,
    3418       -1,    -1,    30,    31,    32,    -1,    -1,    66,    67,    -1,
    3419       69,    39,    71,    72,    -1,    74,    75,    76,    -1,    -1,
    3420       79,    80,    81,    82,    83,    84,    85,    86,    -1,    88,
    3421       89,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    67,
    3422       -1,    -1,    -1,    -1,    72,    -1,    74,    75,    -1,    -1,
    3423       -1,    -1,   111,    -1,   113,    -1,    -1,    85,    86,    -1,
    3424      119,   120,   121,   122,   123,   124,    -1,    -1,    -1,    -1,
    3425       -1,    -1,    -1,    -1,    -1,   134,    -1,    -1,    -1,    -1,
    3426       -1,    -1,    -1,    -1,    -1,    -1,  1499,     3,     4,     5,
    3427        6,     7,     8,     9,    10,    11,    12,    13,    14,    15,
    3428       16,    17,    18,    19,    20,    21,    22,    23,    24,    25,
    3429       26,    27,    -1,    -1,    30,    31,    32,    33,    -1,    -1,
    3430       36,    37,    38,    39,    40,    10,    11,    12,    13,    14,
    3431       15,    16,    17,    18,    19,    20,    21,    22,    23,    24,
    3432       25,    26,    27,    28,    -1,    -1,    -1,    -1,    -1,    -1,
    3433       66,    67,    -1,    69,    39,    71,    72,    -1,    74,    75,
    3434       76,    -1,    -1,    79,    80,    81,    82,    83,    84,    85,
    3435       86,    -1,    88,    89,    -1,    -1,    -1,    -1,    -1,    -1,
    3436       -1,    -1,    67,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3437       -1,    -1,    -1,    78,    -1,   111,    -1,   113,    -1,    -1,
    3438       -1,    -1,    -1,   119,   120,   121,   122,   123,   124,     4,
    3439        5,     6,     7,     8,     9,    10,    11,    12,    13,    14,
    3440       15,    16,    17,    18,    19,    20,    21,    22,    23,    24,
    3441       25,    26,    27,    -1,    -1,    30,    31,    32,    -1,    -1,
    3442       -1,    -1,    37,    38,    39,    40,    10,    11,    12,    13,
    3443       14,    15,    16,    17,    18,    19,    20,    21,    22,    23,
    3444       24,    25,    26,    27,    -1,    -1,    30,    31,    32,    -1,
    3445       -1,    66,    67,    -1,    69,    39,    71,    72,    -1,    74,
    3446       75,    76,    -1,    -1,    79,    80,    81,    82,    83,    84,
    3447       85,    86,    -1,    88,    89,    -1,    -1,    -1,    -1,    -1,
    3448       -1,    -1,    -1,    67,    -1,    -1,    -1,    -1,    -1,    -1,
    3449       74,    75,    -1,    -1,    -1,    -1,   111,    -1,   113,    -1,
    3450       -1,    -1,    -1,   118,   119,   120,   121,   122,   123,   124,
    3451        4,     5,     6,     7,     8,     9,    10,    11,    12,    13,
    3452       14,    15,    16,    17,    18,    19,    20,    21,    22,    23,
    3453       24,    25,    26,    27,    -1,    -1,    30,    31,    32,    -1,
    3454       -1,    -1,    -1,    37,    38,    39,    40,    10,    11,    12,
    3455       13,    14,    15,    16,    17,    18,    19,    20,    21,    22,
    3456       23,    24,    25,    26,    27,    -1,    -1,    30,    31,    32,
    3457       -1,    -1,    66,    67,    -1,    69,    39,    71,    72,    -1,
    3458       74,    75,    76,    -1,    -1,    79,    80,    81,    82,    83,
    3459       84,    85,    86,    -1,    88,    89,    -1,    -1,    -1,    -1,
    3460       -1,    -1,    -1,    -1,    67,    -1,    -1,    -1,    -1,    -1,
    3461       -1,    74,    75,    -1,    -1,    -1,    -1,   111,    -1,   113,
    3462       -1,    -1,    -1,    -1,   118,   119,   120,   121,   122,   123,
    3463      124,     4,     5,     6,     7,     8,     9,    10,    11,    12,
    3464       13,    14,    15,    16,    17,    18,    19,    20,    21,    22,
    3465       23,    24,    25,    26,    27,    -1,    -1,    30,    31,    32,
    3466       -1,    -1,    -1,    -1,    37,    38,    39,    40,    -1,    -1,
     3674      28,    29,    -1,    -1,    32,    33,    34,    -1,    -1,    -1,
     3675      -1,    39,    40,    41,    42,    -1,    -1,    -1,    -1,    -1,
    34673676      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    34683677      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3469       -1,    -1,    -1,    66,    67,    -1,    69,    -1,    71,    72,
    3470       -1,    74,    75,    76,    -1,    -1,    79,    80,    81,    82,
    3471       83,    84,    85,    86,    -1,    88,    89,    -1,    -1,    -1,
     3678      68,    69,    -1,    -1,    -1,    -1,    74,    -1,    76,    77,
     3679      78,    -1,    -1,    81,    82,    83,    84,    85,    86,    87,
     3680      88,    -1,    90,    91,    -1,    -1,    -1,    -1,    -1,    -1,
    34723681      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3473       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   111,    -1,
    3474      113,    -1,    -1,    -1,    -1,    -1,   119,   120,   121,   122,
    3475      123,   124,     4,     5,     6,     7,     8,     9,    10,    11,
    3476       12,    13,    14,    15,    16,    17,    18,    19,    20,    21,
    3477       22,    23,    24,    25,    26,    27,    -1,    -1,    30,    31,
    3478       32,    -1,    -1,    -1,    -1,    37,    38,    39,    40,    -1,
     3682      -1,    -1,    -1,    -1,    -1,   113,   114,   115,    -1,    -1,
     3683      -1,    -1,    -1,   121,   122,   123,   124,   125,   126,    10,
     3684      11,    12,    13,    14,    15,    16,    17,    18,    19,    20,
     3685      21,    22,    23,    24,    25,    26,    27,    28,    29,    -1,
     3686      -1,    32,    33,    34,    -1,    -1,    -1,    -1,    39,    40,
     3687      41,    42,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3688      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3689      -1,    -1,    -1,    -1,    -1,    -1,    -1,    68,    69,    -1,
     3690      -1,    -1,    -1,    74,    -1,    76,    77,    78,    -1,    -1,
     3691      81,    82,    83,    84,    85,    86,    87,    88,    -1,    90,
     3692      91,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3693      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3694      -1,    -1,   113,    -1,   115,    -1,    -1,    -1,    -1,    -1,
     3695     121,   122,   123,   124,   125,   126,    10,    11,    12,    13,
     3696      14,    15,    16,    17,    18,    19,    20,    21,    22,    23,
     3697      24,    25,    26,    27,    28,    29,    -1,    -1,    32,    33,
     3698      34,    -1,    -1,    -1,    -1,    39,    40,    41,    42,    -1,
    34793699      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    34803700      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3481       -1,    -1,    -1,    -1,    66,    67,    -1,    69,    -1,    71,
    3482       72,    -1,    74,    75,    76,    -1,    -1,    79,    80,    81,
    3483       82,    83,    84,    85,    86,    -1,    88,    89,    -1,    -1,
     3701      -1,    -1,    -1,    -1,    68,    69,    -1,    -1,    -1,    -1,
     3702      74,    -1,    76,    77,    78,    -1,    -1,    81,    82,    83,
     3703      84,    85,    86,    87,    88,    -1,    90,    91,    -1,    -1,
    34843704      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3485       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   111,
    3486       -1,   113,    -1,    -1,    -1,    -1,    -1,   119,   120,   121,
    3487      122,   123,   124,     4,     5,     6,     7,     8,     9,    10,
    3488       11,    12,    13,    14,    15,    16,    17,    18,    19,    20,
    3489       21,    22,    23,    24,    25,    26,    27,    -1,    -1,    30,
    3490       31,    32,    -1,    -1,    -1,    -1,    37,    38,    39,    40,
     3705      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   113,
     3706      -1,   115,    -1,    -1,    -1,    -1,    -1,   121,   122,   123,
     3707     124,   125,   126,    10,    11,    12,    13,    14,    15,    16,
     3708      17,    18,    19,    20,    21,    22,    23,    24,    25,    26,
     3709      27,    28,    29,    -1,    -1,    32,    33,    34,    -1,    -1,
     3710      -1,    -1,    39,    40,    41,    42,    -1,    -1,    -1,    -1,
    34913711      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    34923712      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3493       -1,    -1,    -1,    -1,    -1,    66,    67,    -1,    69,    -1,
    3494       71,    72,    -1,    74,    75,    76,    -1,    -1,    79,    80,
    3495       81,    82,    83,    84,    85,    86,    -1,    88,    89,    -1,
     3713      -1,    68,    69,    -1,    -1,    -1,    -1,    74,    -1,    76,
     3714      77,    78,    -1,    -1,    81,    82,    83,    84,    85,    86,
     3715      87,    88,    -1,    90,    91,    -1,    -1,    -1,    -1,    -1,
     3716      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3717      -1,    -1,    -1,    -1,    -1,    -1,   113,    -1,   115,    -1,
     3718      -1,    -1,    -1,    -1,   121,   122,   123,   124,   125,   126,
     3719       3,     4,     5,     6,     7,     8,     9,    10,    11,    12,
     3720      13,    14,    15,    16,    17,    18,    19,    20,    21,    22,
     3721      23,    24,    25,    26,    27,    28,    29,    -1,    -1,    32,
     3722      33,    34,    -1,    -1,    -1,    -1,    -1,    -1,    41,    -1,
     3723      10,    11,    12,    13,    14,    15,    16,    17,    18,    19,
     3724      20,    21,    22,    23,    24,    25,    26,    27,    28,    29,
     3725      -1,    -1,    32,    33,    34,    -1,    69,    -1,    71,    -1,
     3726      73,    41,    -1,    76,    77,    -1,    -1,    -1,    -1,    -1,
     3727      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3728      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    69,
     3729      -1,    -1,    -1,    -1,    74,    -1,    76,    77,    -1,    -1,
     3730      -1,    -1,    -1,    -1,    -1,   118,    -1,    87,    88,    -1,
     3731      -1,    -1,    -1,    -1,    10,    11,    12,    13,    14,    15,
     3732      16,    17,    18,    19,    20,    21,    22,    23,    24,    25,
     3733      26,    27,    28,    29,    -1,   115,    32,    33,    34,    -1,
     3734      -1,   121,   122,    -1,    -1,    41,    42,    10,    11,    12,
     3735      13,    14,    15,    16,    17,    18,    19,    20,    21,    22,
     3736      23,    24,    25,    26,    27,    28,    29,    -1,    -1,    32,
     3737      33,    34,    -1,    69,    -1,    -1,    -1,    -1,    41,    42,
     3738      76,    77,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3739      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3740      -1,    -1,    -1,    -1,    -1,    -1,    69,    -1,    -1,    -1,
     3741      -1,    -1,    -1,    76,    77,    -1,    -1,    -1,    -1,   115,
     3742      -1,    -1,    -1,   119,    -1,   121,   122,    -1,    -1,    -1,
     3743      -1,    10,    11,    12,    13,    14,    15,    16,    17,    18,
     3744      19,    20,    21,    22,    23,    24,    25,    26,    27,    28,
     3745      29,    -1,   115,    32,    33,    34,   119,    -1,   121,   122,
     3746      -1,    -1,    41,    42,    10,    11,    12,    13,    14,    15,
     3747      16,    17,    18,    19,    20,    21,    22,    23,    24,    25,
     3748      26,    27,    28,    29,    -1,    -1,    32,    33,    34,    -1,
     3749      69,    -1,    -1,    -1,    -1,    41,    -1,    76,    77,    -1,
    34963750      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    34973751      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3498      111,    -1,   113,    -1,    -1,    -1,    -1,    -1,   119,   120,
    3499      121,   122,   123,   124,     0,    -1,    -1,     3,     4,     5,
    3500        6,     7,     8,     9,    10,    11,    12,    13,    14,    15,
     3752      -1,    -1,    -1,    69,    -1,    -1,    -1,    -1,    -1,    -1,
     3753      76,    77,    -1,    -1,    -1,    -1,   115,    -1,    -1,    -1,
     3754     119,    -1,   121,   122,    -1,    -1,    -1,    -1,    10,    11,
     3755      12,    13,    14,    15,    16,    17,    18,    19,    20,    21,
     3756      22,    23,    24,    25,    26,    27,    28,    29,    -1,   115,
     3757      32,    33,    34,    -1,    -1,   121,   122,    -1,    -1,    41,
     3758      10,    11,    12,    13,    14,    15,    16,    17,    18,    19,
     3759      20,    21,    22,    23,    24,    25,    26,    27,    28,    29,
     3760      -1,    -1,    32,    33,    34,    -1,    -1,    69,    -1,    -1,
     3761      -1,    41,    -1,    -1,    76,    77,    -1,    -1,    -1,    -1,
     3762      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3763      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    69,
     3764      -1,    -1,    -1,    -1,    -1,    -1,    76,    77,    -1,    -1,
     3765      -1,    -1,    -1,   115,    -1,    -1,    -1,    -1,    -1,   121,
     3766     122,    -1,    -1,    -1,    10,    11,    12,    13,    14,    15,
    35013767      16,    17,    18,    19,    20,    21,    22,    23,    24,    25,
    3502       26,    27,    -1,    -1,    30,    31,    32,    33,    -1,    -1,
    3503       36,    -1,    -1,    39,    40,    -1,    -1,    -1,    -1,    -1,
    3504       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3505       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    64,    -1,
    3506       -1,    67,    -1,    69,    -1,    71,    72,    -1,    74,    75,
    3507       76,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    85,
    3508       86,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3509       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3510       -1,    -1,    -1,    -1,    -1,   111,    -1,   113,    -1,    -1,
    3511       -1,    -1,    -1,   119,   120,     3,     4,     5,     6,     7,
    3512        8,     9,    10,    11,    12,    13,    14,    15,    16,    17,
    3513       18,    19,    20,    21,    22,    23,    24,    25,    26,    27,
    3514       -1,    -1,    30,    31,    32,    33,    -1,    -1,    36,    -1,
    3515       -1,    39,    40,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3516       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3517       -1,    -1,    -1,    -1,    -1,    -1,    64,    -1,    -1,    67,
    3518       -1,    69,    -1,    71,    72,    -1,    74,    75,    76,    -1,
    3519       -1,    -1,    -1,    -1,    -1,    -1,    -1,    85,    86,    -1,
     3768      26,    27,    28,    29,    -1,   115,    32,    33,    34,    -1,
     3769      -1,   121,   122,    -1,    -1,    41,    -1,    -1,    -1,    -1,
    35203770      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    35213771      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3522       -1,    -1,    -1,   111,    -1,   113,    -1,    -1,    -1,   117,
    3523       -1,   119,   120,     3,     4,     5,     6,     7,     8,     9,
    3524       10,    11,    12,    13,    14,    15,    16,    17,    18,    19,
    3525       20,    21,    22,    23,    24,    25,    26,    27,    -1,    -1,
    3526       30,    31,    32,    33,    -1,    -1,    36,    -1,    -1,    39,
    3527       40,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3772      -1,    -1,    -1,    69,    -1,    -1,    -1,    -1,    -1,    -1,
     3773      76,    77,    -1,     4,     5,     6,     7,     8,     9,    10,
     3774      11,    12,    13,    14,    15,    16,    17,    18,    19,    20,
     3775      21,    22,    23,    24,    25,    26,    27,    28,    29,    -1,
     3776      -1,    32,    33,    34,    -1,    -1,    -1,    -1,    -1,   115,
     3777      41,    -1,    -1,    -1,    -1,   121,   122,    -1,    -1,    -1,
    35283778      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3529       -1,    -1,    -1,    -1,    64,    -1,    -1,    67,    -1,    69,
    3530       -1,    71,    72,    -1,    74,    75,    76,    -1,    -1,    -1,
    3531       -1,    -1,    -1,    -1,    -1,    85,    86,    -1,    -1,    -1,
     3779      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    69,    -1,
     3780      71,    -1,    73,    -1,    -1,    76,    77,    39,    40,    -1,
     3781      42,    43,    -1,    45,    -1,    -1,    48,    49,    50,    51,
     3782      52,    53,    54,    55,    -1,    -1,    58,    59,    -1,    -1,
     3783      -1,    63,    64,    -1,    66,    -1,    68,    -1,    -1,    -1,
     3784      -1,    -1,    74,   114,    -1,    -1,    78,    -1,    -1,    81,
     3785      82,    83,    84,    85,    86,    87,    88,    -1,    90,    91,
    35323786      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    35333787      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3534       -1,   111,    -1,   113,    -1,    -1,    -1,    -1,    -1,   119,
    3535      120,     3,     4,     5,     6,     7,     8,     9,    10,    11,
    3536       12,    13,    14,    15,    16,    17,    18,    19,    20,    21,
    3537       22,    23,    24,    25,    26,    27,    28,    -1,    30,    31,
    3538       32,    33,    -1,    -1,    36,    -1,    -1,    39,    -1,    -1,
     3788      -1,   113,    -1,   115,    -1,    -1,   118,    -1,    -1,   121,
     3789     122,   123,   124,   125,   126,    -1,    -1,    39,    40,   131,
     3790      42,    43,    -1,    45,   136,    -1,    48,    49,    50,    51,
     3791      52,    53,    54,    55,    -1,    -1,    -1,    59,    -1,    -1,
     3792      -1,    63,    64,    -1,    66,    -1,    68,    -1,    -1,    -1,
     3793      -1,    -1,    74,    -1,    -1,    -1,    78,    -1,    -1,    81,
     3794      82,    83,    84,    85,    86,    87,    88,    -1,    90,    91,
    35393795      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    35403796      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3541       -1,    -1,    -1,    -1,    -1,    67,    -1,    69,    -1,    71,
    3542       -1,    -1,    74,    75,    -1,    -1,    78,     3,     4,     5,
    3543        6,     7,     8,     9,    10,    11,    12,    13,    14,    15,
    3544       16,    17,    18,    19,    20,    21,    22,    23,    24,    25,
    3545       26,    27,    -1,    -1,    30,    31,    32,    -1,    -1,    -1,
    3546       -1,   113,    -1,    39,    -1,    -1,    -1,   119,   120,    -1,
     3797      -1,   113,    -1,   115,    -1,    -1,   118,    -1,    -1,   121,
     3798     122,   123,   124,   125,   126,    -1,    -1,    -1,    -1,   131,
     3799      -1,    -1,    -1,    -1,   136,     4,     5,     6,     7,     8,
     3800       9,    10,    11,    12,    13,    14,    15,    16,    17,    18,
     3801      19,    20,    21,    22,    23,    24,    25,    26,    27,    28,
     3802      29,    -1,    -1,    32,    33,    34,    -1,    -1,    -1,    -1,
     3803      -1,    -1,    41,    -1,    39,    40,    -1,    42,    43,    -1,
     3804      45,    46,    47,    48,    49,    50,    51,    52,    53,    54,
     3805      55,    -1,    -1,    58,    59,    -1,    -1,    -1,    63,    64,
     3806      69,    66,    71,    68,    73,    -1,    -1,    76,    77,    74,
     3807      -1,    -1,    -1,    78,    -1,    -1,    81,    82,    83,    84,
     3808      85,    86,    87,    88,    -1,    90,    91,    -1,    -1,    -1,
     3809      -1,   100,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3810      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   113,    -1,
     3811     115,    -1,    -1,   118,    -1,    -1,   121,   122,   123,   124,
     3812     125,   126,    -1,    -1,    39,    40,   131,    42,    43,    -1,
     3813      45,    46,    47,    48,    49,    50,    51,    52,    53,    54,
     3814      55,    -1,    -1,    -1,    59,    -1,    -1,    -1,    63,    64,
     3815      -1,    66,    -1,    68,    -1,    -1,    -1,    -1,    -1,    74,
     3816      -1,    -1,    -1,    78,    -1,    -1,    81,    82,    83,    84,
     3817      85,    86,    87,    88,    -1,    90,    91,    -1,    -1,    -1,
     3818      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3819      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   113,    -1,
     3820     115,    -1,    -1,   118,    -1,    -1,   121,   122,   123,   124,
     3821     125,   126,    -1,    -1,    39,    40,   131,    42,    43,    -1,
     3822      45,    -1,    -1,    48,    49,    50,    51,    52,    53,    54,
     3823      55,    -1,    -1,    -1,    59,    -1,    -1,    -1,    63,    64,
     3824      -1,    66,    -1,    68,    -1,    -1,    -1,    -1,    -1,    74,
     3825      -1,    -1,    -1,    78,    -1,    -1,    81,    82,    83,    84,
     3826      85,    86,    87,    88,    -1,    90,    91,    -1,    -1,    -1,
     3827      -1,    -1,    -1,    39,    40,    -1,    42,    -1,    -1,    -1,
     3828      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   113,    -1,
     3829     115,    -1,    -1,   118,    -1,    -1,   121,   122,   123,   124,
     3830     125,   126,    68,    -1,    -1,    -1,   131,    -1,    74,    -1,
     3831      76,    77,    78,    -1,    -1,    81,    82,    83,    84,    85,
     3832      86,    87,    88,    -1,    90,    91,    -1,    -1,    -1,    -1,
     3833      -1,    -1,    39,    40,    -1,    42,    -1,    -1,    -1,    -1,
     3834      -1,    -1,    -1,    -1,    -1,    -1,    -1,   113,    -1,   115,
     3835      -1,   117,   118,    -1,    -1,   121,   122,   123,   124,   125,
     3836     126,    68,    -1,    -1,    -1,    -1,    -1,    74,    -1,    -1,
     3837      -1,    78,    -1,    -1,    81,    82,    83,    84,    85,    86,
     3838      87,    88,    -1,    90,    91,    -1,    -1,    -1,    -1,    -1,
     3839      -1,    39,    40,    -1,    42,    -1,    -1,    -1,    -1,    -1,
     3840      -1,    -1,    -1,    -1,    -1,    -1,   113,    -1,   115,    -1,
     3841      -1,   118,    -1,    -1,   121,   122,   123,   124,   125,   126,
     3842      68,    -1,    -1,    -1,    -1,    -1,    74,    -1,    -1,    -1,
     3843      78,    -1,    -1,    81,    82,    83,    84,    85,    86,    87,
     3844      88,    -1,    90,    91,    -1,    -1,    -1,    -1,    -1,    -1,
     3845      39,    40,    -1,    42,    -1,    -1,    -1,    -1,    -1,    -1,
     3846      -1,    -1,    -1,    -1,    -1,   113,    -1,   115,    -1,    -1,
     3847      -1,    -1,   120,   121,   122,   123,   124,   125,   126,    68,
     3848      -1,    -1,    -1,    -1,    -1,    74,    -1,    -1,    -1,    78,
     3849      -1,    -1,    81,    82,    83,    84,    85,    86,    87,    88,
     3850      -1,    90,    91,    -1,    -1,    -1,    -1,    -1,    -1,    39,
     3851      40,    -1,    42,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3852      -1,    -1,    -1,    -1,   113,    -1,   115,    -1,    -1,   118,
     3853      -1,    -1,   121,   122,   123,   124,   125,   126,    68,    -1,
     3854      -1,    -1,    -1,    -1,    74,    -1,    -1,    -1,    78,    -1,
     3855      -1,    81,    82,    83,    84,    85,    86,    87,    88,    -1,
     3856      90,    91,    -1,    -1,    -1,    -1,    -1,    -1,    39,    40,
     3857      -1,    42,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3858      -1,    -1,    -1,   113,    -1,   115,    -1,    -1,    -1,    -1,
     3859      -1,   121,   122,   123,   124,   125,   126,    68,    -1,    -1,
     3860      -1,    -1,    -1,    74,    -1,    -1,    -1,    78,    -1,    -1,
     3861      81,    82,    83,    84,    85,    86,    87,    88,    -1,    90,
     3862      91,    -1,    -1,    -1,    -1,    -1,    -1,    39,    40,    -1,
     3863      42,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3864      -1,    -1,   113,    -1,   115,    -1,    -1,    -1,    -1,    -1,
     3865     121,   122,   123,   124,   125,   126,    68,    -1,    -1,    -1,
     3866      -1,    -1,    74,    -1,    -1,    -1,    78,    -1,    -1,    81,
     3867      82,    83,    84,    85,    86,    87,    88,    -1,    90,    91,
     3868      -1,    -1,    -1,    -1,    -1,    -1,    39,    40,    -1,    42,
     3869      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3870      -1,   113,    -1,   115,    -1,    -1,    -1,    -1,    -1,   121,
     3871     122,   123,   124,   125,   126,    68,    -1,    -1,    -1,    -1,
     3872      -1,    74,    -1,    -1,    -1,    78,    -1,    -1,    81,    82,
     3873      83,    84,    85,    86,    87,    88,    -1,    90,    91,    -1,
     3874      -1,    -1,    -1,    -1,    -1,    39,    40,    -1,    42,    -1,
     3875      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3876     113,    -1,   115,    -1,    -1,    -1,    -1,    -1,   121,   122,
     3877     123,   124,   125,   126,    68,    -1,    -1,    -1,    -1,    -1,
     3878      74,    -1,    -1,    -1,    78,    -1,    -1,    81,    82,    83,
     3879      84,    85,    86,    87,    88,    -1,    90,    91,    -1,    -1,
     3880      -1,    -1,    -1,    -1,    39,    40,    -1,    42,    -1,    -1,
     3881      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   113,
     3882      -1,   115,    -1,    -1,    -1,    -1,    -1,   121,   122,   123,
     3883     124,   125,   126,    68,    -1,    -1,    -1,    -1,    -1,    74,
     3884      -1,    -1,    -1,    78,    -1,    -1,    81,    82,    83,    84,
     3885      85,    86,    87,    88,    -1,    90,    91,    -1,    -1,    -1,
     3886      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3887      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   113,    -1,
     3888     115,    -1,    -1,    -1,    -1,    -1,   121,   122,   123,   124,
     3889     125,   126,     4,     5,     6,     7,     8,     9,    10,    11,
     3890      12,    13,    14,    15,    16,    17,    18,    19,    20,    21,
     3891      22,    23,    24,    25,    26,    27,    28,    29,    -1,    -1,
     3892      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    41,
     3893      -1,    -1,    10,    11,    12,    13,    14,    15,    16,    17,
     3894      18,    19,    20,    21,    22,    23,    24,    25,    26,    27,
     3895      28,    29,    -1,    -1,    32,    33,    34,    69,    -1,    71,
     3896      -1,    73,    74,    41,    76,    77,    78,    -1,    -1,    -1,
     3897      -1,    -1,    -1,    -1,    -1,    87,    88,    -1,    -1,    -1,
     3898      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3899      -1,    69,    -1,    -1,    -1,    -1,    74,    -1,    76,    77,
     3900      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    87,
     3901      88,     3,     4,     5,     6,     7,     8,     9,    10,    11,
     3902      12,    13,    14,    15,    16,    17,    18,    19,    20,    21,
     3903      22,    23,    24,    25,    26,    27,    28,    29,    -1,    -1,
     3904      32,    33,    34,    -1,    -1,    -1,    -1,    -1,    -1,    41,
    35473905      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    35483906      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3549       -1,    67,    -1,    69,    -1,    71,    -1,    -1,    74,    75,
    3550        4,     5,     6,     7,     8,     9,    10,    11,    12,    13,
    3551       14,    15,    16,    17,    18,    19,    20,    21,    22,    23,
    3552       24,    25,    26,    27,    -1,    -1,    30,    31,    32,    -1,
    3553       -1,    -1,    -1,    -1,    -1,    39,    -1,   113,    -1,    -1,
    3554       -1,    -1,    -1,   119,   120,    -1,    -1,    -1,    -1,    -1,
    3555       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3556       -1,    -1,    -1,    67,    -1,    69,    -1,    71,    72,    -1,
    3557       74,    75,    76,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3558       -1,    85,    86,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3559       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3560       -1,    -1,    -1,    -1,    -1,    -1,    -1,   111,    -1,   113,
    3561       -1,    -1,    -1,    -1,    -1,   119,   120,     4,     5,     6,
     3907      -1,    -1,    -1,    -1,    -1,    -1,    -1,    69,    -1,    71,
     3908      -1,    73,    -1,    -1,    76,    77,     3,     4,     5,     6,
    35623909       7,     8,     9,    10,    11,    12,    13,    14,    15,    16,
    35633910      17,    18,    19,    20,    21,    22,    23,    24,    25,    26,
    3564       27,    -1,    -1,    30,    31,    32,    -1,    -1,    -1,    -1,
    3565       -1,    -1,    39,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3911      27,    28,    29,    -1,    -1,    32,    33,    34,    -1,    -1,
     3912      -1,    -1,    -1,    -1,    41,    -1,    -1,    -1,    -1,    -1,
    35663913      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    35673914      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3568       67,    -1,    69,    -1,    71,    -1,    -1,    74,    75,     4,
    3569        5,     6,     7,     8,     9,    10,    11,    12,    13,    14,
    3570       15,    16,    17,    18,    19,    20,    21,    22,    23,    24,
    3571       25,    26,    27,    -1,    -1,    30,    31,    32,    -1,    -1,
    3572       -1,    -1,    -1,    -1,    39,   112,   113,    -1,    -1,    -1,
    3573       -1,    -1,   119,   120,    -1,    -1,    -1,    -1,    -1,    -1,
    3574       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3575       -1,    -1,    67,    -1,    69,    -1,    71,    -1,    -1,    74,
    3576       75,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3577       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3578       -1,    -1,    -1,    98,    -1,    -1,    -1,    -1,    -1,    -1,
    3579       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   113,    -1,
    3580       -1,    -1,    -1,    -1,   119,   120,     4,     5,     6,     7,
    3581        8,     9,    10,    11,    12,    13,    14,    15,    16,    17,
    3582       18,    19,    20,    21,    22,    23,    24,    25,    26,    27,
    3583       -1,    -1,    30,    31,    32,    -1,    -1,    -1,    -1,    -1,
    3584       -1,    39,    -1,    -1,    -1,    10,    11,    12,    13,    14,
    3585       15,    16,    17,    18,    19,    20,    21,    22,    23,    24,
    3586       25,    26,    27,    -1,    -1,    30,    31,    32,    -1,    67,
    3587       -1,    69,    -1,    71,    39,    40,    74,    75,    -1,    -1,
     3915      -1,    -1,    69,    -1,    71,    -1,    73,    -1,    -1,    76,
     3916      77,     4,     5,     6,     7,     8,     9,    10,    11,    12,
     3917      13,    14,    15,    16,    17,    18,    19,    20,    21,    22,
     3918      23,    24,    25,    26,    27,    28,    29,    -1,    -1,    32,
     3919      33,    34,    -1,    -1,    -1,    -1,    -1,    -1,    41,    -1,
    35883920      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    35893921      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3590       98,    -1,    67,    -1,    -1,    -1,    -1,    -1,    -1,    74,
    3591       75,    -1,    -1,    -1,    -1,   113,    -1,    -1,    -1,    -1,
    3592       -1,   119,   120,     4,     5,     6,     7,     8,     9,    10,
    3593       11,    12,    13,    14,    15,    16,    17,    18,    19,    20,
    3594       21,    22,    23,    24,    25,    26,    27,    -1,   113,    30,
    3595       31,    32,   117,    -1,   119,   120,    -1,    -1,    39,    -1,
     3922      -1,    -1,    -1,    -1,    -1,    -1,    69,    -1,    71,    -1,
     3923      73,    -1,    -1,    76,    77,    10,    11,    12,    13,    14,
     3924      15,    16,    17,    18,    19,    20,    21,    22,    23,    24,
     3925      25,    26,    27,    28,    29,    -1,    -1,    32,    33,    34,
     3926      35,    36,    37,    -1,    -1,    -1,    41,    10,    11,    12,
     3927      13,    14,    15,    16,    17,    18,    19,    20,    21,    22,
     3928      23,    24,    25,    26,    27,    28,    29,    -1,    -1,    32,
     3929      33,    34,    -1,    -1,    69,    -1,    -1,    -1,    41,    -1,
     3930      -1,    76,    77,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    35963931      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3597       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3598       -1,    -1,    -1,    -1,    -1,    -1,    67,    -1,    69,    -1,
    3599       71,    -1,    -1,    74,    75,     4,     5,     6,     7,     8,
    3600        9,    10,    11,    12,    13,    14,    15,    16,    17,    18,
    3601       19,    20,    21,    22,    23,    24,    25,    26,    27,    -1,
    3602       -1,    30,    31,    32,    -1,    -1,    -1,    -1,    -1,    -1,
    3603       39,    -1,   113,    -1,    -1,    -1,    -1,    -1,   119,   120,
    3604       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3605       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    67,    -1,
    3606       69,    -1,    71,    -1,    -1,    74,    75,     4,     5,     6,
    3607        7,     8,     9,    10,    11,    12,    13,    14,    15,    16,
    3608       17,    18,    19,    20,    21,    22,    23,    24,    25,    26,
    3609       27,    -1,    -1,    30,    31,    32,    -1,    -1,    -1,    -1,
    3610       -1,    -1,    39,    -1,   113,    -1,    -1,    -1,    -1,    -1,
    3611      119,   120,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3612       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3613       67,    -1,    69,    -1,    71,    -1,    -1,    74,    75,    10,
    3614       11,    12,    13,    14,    15,    16,    17,    18,    19,    20,
    3615       21,    22,    23,    24,    25,    26,    27,    -1,    -1,    30,
    3616       31,    32,    -1,    -1,    -1,    -1,    37,    38,    39,    40,
    3617       -1,    -1,    -1,    -1,    -1,    -1,   113,    -1,    -1,    -1,
    3618       -1,    -1,   119,   120,    -1,    -1,    -1,    -1,    -1,    -1,
    3619       -1,    -1,    -1,    -1,    -1,    66,    67,    -1,    -1,    -1,
    3620       -1,    72,    -1,    74,    75,    76,    -1,    -1,    79,    80,
    3621       81,    82,    83,    84,    85,    86,    -1,    88,    89,    -1,
    3622       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3623       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3624      111,    -1,   113,    -1,    -1,   116,    -1,    -1,   119,   120,
    3625      121,   122,   123,   124,    10,    11,    12,    13,    14,    15,
    3626       16,    17,    18,    19,    20,    21,    22,    23,    24,    25,
    3627       26,    27,    -1,    -1,    30,    31,    32,    -1,    -1,    -1,
    3628       -1,    37,    38,    39,    40,    10,    11,    12,    13,    14,
    3629       15,    16,    17,    18,    19,    20,    21,    22,    23,    24,
    3630       25,    26,    27,    -1,    -1,    30,    31,    32,    -1,    -1,
    3631       66,    67,    -1,    -1,    39,    -1,    72,    -1,    74,    75,
    3632       76,    -1,    -1,    79,    80,    81,    82,    83,    84,    85,
    3633       86,    -1,    88,    89,    -1,    -1,    -1,    -1,    -1,    -1,
    3634       -1,    -1,    67,    -1,    -1,    -1,    -1,    72,    -1,    74,
    3635       75,    -1,    -1,    -1,    -1,   111,   112,   113,    -1,    -1,
    3636       85,    86,    -1,   119,   120,   121,   122,   123,   124,    10,
    3637       11,    12,    13,    14,    15,    16,    17,    18,    19,    20,
    3638       21,    22,    23,    24,    25,    26,    27,    -1,   113,    30,
    3639       31,    32,    -1,    -1,   119,   120,    37,    38,    39,    40,
    3640       10,    11,    12,    13,    14,    15,    16,    17,    18,    19,
    3641       20,    21,    22,    23,    24,    25,    26,    27,    -1,    -1,
    3642       30,    31,    32,    -1,    -1,    66,    67,    -1,    -1,    39,
    3643       40,    72,    -1,    74,    75,    76,    -1,    -1,    79,    80,
    3644       81,    82,    83,    84,    85,    86,    -1,    88,    89,    -1,
    3645       -1,    -1,    -1,    -1,    -1,    -1,    -1,    67,    -1,    -1,
    3646       -1,    -1,    -1,    -1,    74,    75,    -1,    -1,    -1,    -1,
    3647      111,    -1,   113,    -1,    -1,    -1,    -1,    -1,   119,   120,
    3648      121,   122,   123,   124,    10,    11,    12,    13,    14,    15,
    3649       16,    17,    18,    19,    20,    21,    22,    23,    24,    25,
    3650       26,    27,    -1,   113,    30,    31,    32,   117,    -1,   119,
    3651      120,    37,    38,    39,    40,    10,    11,    12,    13,    14,
    3652       15,    16,    17,    18,    19,    20,    21,    22,    23,    24,
    3653       25,    26,    27,    -1,    -1,    30,    31,    32,    -1,    -1,
    3654       66,    67,    -1,    -1,    39,    40,    72,    -1,    74,    75,
    3655       76,    -1,    -1,    79,    80,    81,    82,    83,    84,    85,
    3656       86,    -1,    88,    89,    -1,    -1,    -1,    -1,    -1,    -1,
    3657       -1,    -1,    67,    -1,    -1,    -1,    -1,    -1,    -1,    74,
    3658       75,    -1,    -1,    -1,    -1,   111,    -1,   113,    -1,    -1,
    3659       -1,    -1,    -1,   119,   120,   121,   122,   123,   124,    10,
    3660       11,    12,    13,    14,    15,    16,    17,    18,    19,    20,
    3661       21,    22,    23,    24,    25,    26,    27,    -1,   113,    30,
    3662       31,    32,   117,    -1,   119,   120,    37,    38,    39,    40,
    3663       10,    11,    12,    13,    14,    15,    16,    17,    18,    19,
    3664       20,    21,    22,    23,    24,    25,    26,    27,    -1,    -1,
    3665       30,    31,    32,    -1,    -1,    66,    67,    -1,    -1,    39,
    3666       -1,    72,    -1,    74,    75,    76,    -1,    -1,    79,    80,
    3667       81,    82,    83,    84,    85,    86,    -1,    88,    89,    -1,
    3668       -1,    -1,    -1,    -1,    -1,    -1,    -1,    67,    -1,    -1,
    3669       -1,    -1,    72,    -1,    74,    75,    76,    -1,    -1,    -1,
    3670      111,    -1,   113,    -1,    -1,    85,    86,    -1,   119,   120,
    3671      121,   122,   123,   124,    -1,    -1,    -1,    -1,    -1,    -1,
    3672       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3673       -1,   111,    -1,   113,    -1,    -1,    -1,    -1,    -1,   119,
    3674      120,    10,    11,    12,    13,    14,    15,    16,    17,    18,
    3675       19,    20,    21,    22,    23,    24,    25,    26,    27,    -1,
    3676       -1,    30,    31,    32,    -1,    -1,    -1,    -1,    -1,    -1,
    3677       39,    10,    11,    12,    13,    14,    15,    16,    17,    18,
    3678       19,    20,    21,    22,    23,    24,    25,    26,    27,    -1,
    3679       -1,    30,    31,    32,    -1,    -1,    -1,    -1,    67,    -1,
    3680       39,    -1,    -1,    72,    -1,    74,    75,    76,    -1,    -1,
    3681       -1,    -1,    -1,    -1,    -1,    -1,    85,    86,    -1,    -1,
    3682       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    67,    -1,
    3683       -1,    -1,    -1,    -1,    -1,    74,    75,    -1,    -1,    -1,
    3684       -1,    -1,   111,    -1,   113,    -1,    -1,    -1,    -1,    -1,
    3685      119,   120,    -1,    -1,    -1,    10,    11,    12,    13,    14,
    3686       15,    16,    17,    18,    19,    20,    21,    22,    23,    24,
    3687       25,    26,    27,    -1,   113,    30,    31,    32,    -1,    -1,
    3688      119,   120,    -1,    -1,    39,    10,    11,    12,    13,    14,
    3689       15,    16,    17,    18,    19,    20,    21,    22,    23,    24,
    3690       25,    26,    27,    -1,    -1,    30,    31,    32,    -1,    -1,
    3691       -1,    -1,    67,    -1,    39,    -1,    -1,    -1,    -1,    74,
    3692       75,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3693       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3694       -1,    -1,    67,    -1,    -1,    -1,    -1,    -1,    -1,    74,
    3695       75,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   113,    -1,
    3696       -1,    -1,    -1,    -1,   119,   120,    -1,    -1,    -1,    10,
    3697       11,    12,    13,    14,    15,    16,    17,    18,    19,    20,
    3698       21,    22,    23,    24,    25,    26,    27,    -1,   113,    30,
    3699       31,    32,    -1,    -1,   119,   120,    -1,    -1,    39,    10,
    3700       11,    12,    13,    14,    15,    16,    17,    18,    19,    20,
    3701       21,    22,    23,    24,    25,    26,    27,    -1,    -1,    30,
    3702       31,    32,    -1,    -1,    -1,    -1,    67,    -1,    39,    -1,
    3703       -1,    -1,    -1,    74,    75,    -1,    -1,    -1,    -1,    -1,
    3704       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3705       -1,    -1,    -1,    -1,    -1,    -1,    67,    -1,    -1,    -1,
    3706       -1,    -1,    -1,    74,    75,    -1,    -1,    -1,    -1,    -1,
    3707       -1,    -1,   113,    -1,    -1,    -1,    -1,    -1,   119,   120,
    3708       -1,    -1,    -1,    10,    11,    12,    13,    14,    15,    16,
    3709       17,    18,    19,    20,    21,    22,    23,    24,    25,    26,
    3710       27,    -1,   113,    30,    31,    32,    -1,    -1,   119,   120,
    3711       -1,    -1,    39,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3712       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3713       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3714       67,    -1,    -1,    -1,    -1,    -1,    -1,    74,    75,    -1,
    3715       -1,    -1,    37,    38,    -1,    40,    41,    -1,    43,    -1,
    3716       -1,    46,    47,    48,    49,    50,    51,    52,    53,    -1,
    3717       -1,    56,    57,    -1,    -1,    -1,    61,    62,    -1,    64,
    3718       -1,    66,    -1,    -1,    -1,    -1,   113,    72,    -1,    -1,
    3719       -1,    76,   119,   120,    79,    80,    81,    82,    83,    84,
    3720       85,    86,    -1,    88,    89,    -1,    -1,    -1,    -1,    -1,
    3721       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3722       -1,    -1,    -1,    -1,    -1,    -1,   111,    -1,   113,    -1,
    3723       -1,   116,    -1,    -1,   119,   120,   121,   122,   123,   124,
    3724       -1,    -1,    37,    38,   129,    40,    41,    -1,    43,   134,
    3725       -1,    46,    47,    48,    49,    50,    51,    52,    53,    -1,
    3726       -1,    -1,    57,    -1,    -1,    -1,    61,    62,    -1,    64,
    3727       -1,    66,    -1,    -1,    -1,    -1,    -1,    72,    -1,    -1,
    3728       -1,    76,    -1,    -1,    79,    80,    81,    82,    83,    84,
    3729       85,    86,    -1,    88,    89,    -1,    -1,    -1,    -1,    -1,
    3730       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3731       -1,    -1,    -1,    -1,    -1,    -1,   111,    -1,   113,    -1,
    3732       -1,   116,    -1,    -1,   119,   120,   121,   122,   123,   124,
    3733       -1,    -1,    -1,    -1,   129,    -1,    -1,    -1,    -1,   134,
    3734        4,     5,     6,     7,     8,     9,    10,    11,    12,    13,
    3735       14,    15,    16,    17,    18,    19,    20,    21,    22,    23,
    3736       24,    25,    26,    27,    -1,    -1,    30,    31,    32,    -1,
    3737       -1,    -1,    -1,    -1,    -1,    39,    -1,    37,    38,    -1,
    3738       40,    41,    -1,    43,    44,    45,    46,    47,    48,    49,
    3739       50,    51,    52,    53,    -1,    -1,    56,    57,    -1,    -1,
    3740       -1,    61,    62,    67,    64,    69,    66,    71,    -1,    -1,
    3741       74,    75,    72,    -1,    -1,    -1,    76,    -1,    -1,    79,
    3742       80,    81,    82,    83,    84,    85,    86,    -1,    88,    89,
    3743       -1,    -1,    -1,    -1,    98,    -1,    -1,    -1,    -1,    -1,
    3744       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3745       -1,   111,    -1,   113,    -1,    -1,   116,    -1,    -1,   119,
    3746      120,   121,   122,   123,   124,    -1,    -1,    37,    38,   129,
    3747       40,    41,    -1,    43,    44,    45,    46,    47,    48,    49,
    3748       50,    51,    52,    53,    -1,    -1,    -1,    57,    -1,    -1,
    3749       -1,    61,    62,    -1,    64,    -1,    66,    -1,    -1,    -1,
    3750       -1,    -1,    72,    -1,    -1,    -1,    76,    -1,    -1,    79,
    3751       80,    81,    82,    83,    84,    85,    86,    -1,    88,    89,
    3752       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3753       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3754       -1,   111,    -1,   113,    -1,    -1,   116,    -1,    -1,   119,
    3755      120,   121,   122,   123,   124,    -1,    -1,    37,    38,   129,
    3756       40,    41,    -1,    43,    -1,    -1,    46,    47,    48,    49,
    3757       50,    51,    52,    53,    -1,    -1,    -1,    57,    -1,    -1,
    3758       -1,    61,    62,    -1,    64,    -1,    66,    -1,    -1,    -1,
    3759       -1,    -1,    72,    -1,    -1,    -1,    76,    -1,    -1,    79,
    3760       80,    81,    82,    83,    84,    85,    86,    -1,    88,    89,
    3761       -1,    -1,    -1,    -1,    -1,    -1,    37,    38,    -1,    40,
    3762       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3763       -1,   111,    -1,   113,    -1,    -1,   116,    -1,    -1,   119,
    3764      120,   121,   122,   123,   124,    66,    -1,    -1,    -1,   129,
    3765       -1,    72,    -1,    74,    75,    76,    -1,    -1,    79,    80,
    3766       81,    82,    83,    84,    85,    86,    -1,    88,    89,    -1,
    3767       -1,    -1,    -1,    -1,    -1,    37,    38,    -1,    40,    -1,
    3768       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3769      111,    -1,   113,    -1,   115,   116,    -1,    -1,   119,   120,
    3770      121,   122,   123,   124,    66,    -1,    -1,    -1,    -1,    -1,
    3771       72,    -1,    -1,    -1,    76,    -1,    -1,    79,    80,    81,
    3772       82,    83,    84,    85,    86,    -1,    88,    89,    -1,    -1,
    3773       -1,    -1,    -1,    -1,    37,    38,    -1,    40,    -1,    -1,
    3774       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   111,
    3775       -1,   113,    -1,    -1,   116,    -1,    -1,   119,   120,   121,
    3776      122,   123,   124,    66,    -1,    -1,    -1,    -1,    -1,    72,
    3777       -1,    -1,    -1,    76,    -1,    -1,    79,    80,    81,    82,
    3778       83,    84,    85,    86,    -1,    88,    89,    -1,    -1,    -1,
    3779       -1,    -1,    -1,    37,    38,    -1,    40,    -1,    -1,    -1,
    3780       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   111,    -1,
    3781      113,    -1,    -1,    -1,    -1,   118,   119,   120,   121,   122,
    3782      123,   124,    66,    -1,    -1,    -1,    -1,    -1,    72,    -1,
    3783       -1,    -1,    76,    -1,    -1,    79,    80,    81,    82,    83,
    3784       84,    85,    86,    -1,    88,    89,    -1,    -1,    -1,    -1,
    3785       -1,    -1,    37,    38,    -1,    40,    -1,    -1,    -1,    -1,
    3786       -1,    -1,    -1,    -1,    -1,    -1,    -1,   111,    -1,   113,
    3787       -1,    -1,   116,    -1,    -1,   119,   120,   121,   122,   123,
    3788      124,    66,    -1,    -1,    -1,    -1,    -1,    72,    -1,    -1,
    3789       -1,    76,    -1,    -1,    79,    80,    81,    82,    83,    84,
    3790       85,    86,    -1,    88,    89,    -1,    -1,    -1,    -1,    -1,
    3791       -1,    37,    38,    -1,    40,    -1,    -1,    -1,    -1,    -1,
    3792       -1,    -1,    -1,    -1,    -1,    -1,   111,    -1,   113,    -1,
    3793       -1,    -1,    -1,    -1,   119,   120,   121,   122,   123,   124,
    3794       66,    -1,    -1,    -1,    -1,    -1,    72,    -1,    -1,    -1,
    3795       76,    -1,    -1,    79,    80,    81,    82,    83,    84,    85,
    3796       86,    -1,    88,    89,    -1,    -1,    -1,    -1,    -1,    -1,
    3797       37,    38,    -1,    40,    -1,    -1,    -1,    -1,    -1,    -1,
    3798       -1,    -1,    -1,    -1,    -1,   111,    -1,   113,    -1,    -1,
    3799       -1,    -1,    -1,   119,   120,   121,   122,   123,   124,    66,
    3800       -1,    -1,    -1,    -1,    -1,    72,    -1,    -1,    -1,    76,
    3801       -1,    -1,    79,    80,    81,    82,    83,    84,    85,    86,
    3802       -1,    88,    89,    -1,    -1,    -1,    -1,    -1,    -1,    37,
    3803       38,    -1,    40,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3804       -1,    -1,    -1,    -1,   111,    -1,   113,    -1,    -1,    -1,
    3805       -1,    -1,   119,   120,   121,   122,   123,   124,    66,    -1,
    3806       -1,    -1,    -1,    -1,    72,    -1,    -1,    -1,    76,    -1,
    3807       -1,    79,    80,    81,    82,    83,    84,    85,    86,    -1,
    3808       88,    89,    -1,    -1,    -1,    -1,    -1,    -1,    37,    38,
    3809       -1,    40,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3810       -1,    -1,    -1,   111,    -1,   113,    -1,    -1,    -1,    -1,
    3811       -1,   119,   120,   121,   122,   123,   124,    66,    -1,    -1,
    3812       -1,    -1,    -1,    72,    -1,    -1,    -1,    76,    -1,    -1,
    3813       79,    80,    81,    82,    83,    84,    85,    86,    -1,    88,
    3814       89,    -1,    -1,    -1,    -1,    -1,    -1,    37,    38,    -1,
    3815       40,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3816       -1,    -1,   111,    -1,   113,    -1,    -1,    -1,    -1,    -1,
    3817      119,   120,   121,   122,   123,   124,    66,    -1,    -1,    -1,
    3818       -1,    -1,    72,    -1,    -1,    -1,    76,    -1,    -1,    79,
    3819       80,    81,    82,    83,    84,    85,    86,    -1,    88,    89,
    3820       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3821       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3822       -1,   111,    -1,   113,    -1,    -1,    -1,    -1,    -1,   119,
    3823      120,   121,   122,   123,   124,     4,     5,     6,     7,     8,
    3824        9,    10,    11,    12,    13,    14,    15,    16,    17,    18,
    3825       19,    20,    21,    22,    23,    24,    25,    26,    27,    -1,
    3826       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3827       39,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3828       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3829       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    67,    -1,
    3830       69,    -1,    71,    72,    -1,    74,    75,    76,    -1,    -1,
    3831       -1,    -1,    -1,    -1,    -1,    -1,    85,    86,     3,     4,
    3832        5,     6,     7,     8,     9,    10,    11,    12,    13,    14,
    3833       15,    16,    17,    18,    19,    20,    21,    22,    23,    24,
    3834       25,    26,    27,    -1,    -1,    30,    31,    32,    -1,    -1,
    3835       -1,    -1,    -1,    -1,    39,    -1,    -1,    -1,    -1,    -1,
    3836       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3837       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3838       -1,    -1,    67,    -1,    69,    -1,    71,    -1,    -1,    74,
    3839       75,     3,     4,     5,     6,     7,     8,     9,    10,    11,
    3840       12,    13,    14,    15,    16,    17,    18,    19,    20,    21,
    3841       22,    23,    24,    25,    26,    27,    -1,    -1,    30,    31,
    3842       32,    -1,    -1,    -1,    -1,    -1,    -1,    39,    -1,    -1,
    3843       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3844       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3845       -1,    -1,    -1,    -1,    -1,    67,    -1,    69,    -1,    71,
    3846       -1,    -1,    74,    75,     4,     5,     6,     7,     8,     9,
    3847       10,    11,    12,    13,    14,    15,    16,    17,    18,    19,
    3848       20,    21,    22,    23,    24,    25,    26,    27,    -1,    -1,
    3849       30,    31,    32,    -1,    -1,    -1,    -1,    -1,    -1,    39,
    3850       -1,    10,    11,    12,    13,    14,    15,    16,    17,    18,
    3851       19,    20,    21,    22,    23,    24,    25,    26,    27,    -1,
    3852       -1,    30,    31,    32,    33,    34,    35,    67,    -1,    69,
    3853       39,    71,    -1,    -1,    74,    75,    -1,    -1,    -1,    -1,
    3854       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3855       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    67,    -1,
    3856       -1,    -1,    -1,    -1,    -1,    74,    75
     3932      -1,    -1,    -1,    -1,    -1,    -1,    69,    -1,    -1,    -1,
     3933      -1,    -1,    -1,    76,    77
    38573934};
    38583935
     
    38633940       0,     3,     4,     5,     6,     7,     8,     9,    10,    11,
    38643941      12,    13,    14,    15,    16,    17,    18,    19,    20,    21,
    3865       22,    23,    24,    25,    26,    27,    30,    31,    32,    33,
    3866       36,    39,    40,    64,    67,    69,    71,    72,    74,    75,
    3867       76,    85,    86,   111,   113,   119,   120,   139,   142,   154,
    3868      203,   217,   218,   219,   220,   221,   222,   223,   224,   225,
    3869      226,   227,   228,   229,   230,   231,   232,   233,   234,   236,
    3870      237,   238,   239,   240,   241,   242,   244,   245,   246,   247,
    3871      248,   249,   251,   259,   260,   287,   288,   289,   297,   300,
    3872      306,   307,   309,   311,   312,   318,   323,   327,   328,   329,
    3873      330,   331,   332,   333,   334,   354,   371,   372,   373,   374,
    3874       72,   141,   142,   154,   220,   222,   230,   232,   241,   245,
    3875      247,   288,    81,   111,   316,   317,   318,   316,   316,    72,
    3876       74,    75,    76,   140,   141,   277,   278,   298,   299,    74,
    3877       75,   278,   111,   309,    11,   204,   111,   154,   323,   328,
    3878      329,   330,   332,   333,   334,   114,   136,   223,   230,   232,
    3879      327,   331,   370,   371,   374,   375,   137,   109,   133,   281,
    3880      116,   137,   178,    74,    75,   139,   276,   137,   137,   137,
    3881      118,   137,    74,    75,   111,   154,   313,   322,   323,   324,
    3882      325,   326,   327,   331,   335,   336,   337,   338,   339,   345,
    3883        3,    28,    78,   243,     3,     5,    74,   113,   154,   222,
    3884      233,   237,   239,   248,   289,   327,   331,   374,   220,   222,
    3885      232,   241,   245,   247,   288,   327,   331,    33,   238,   238,
    3886      233,   239,   137,   238,   233,   238,   233,    75,   111,   116,
    3887      278,   289,   116,   278,   238,   233,   118,   137,   137,     0,
    3888      136,   111,   178,   316,   316,   136,   113,   230,   232,   372,
    3889      276,   276,   133,   232,   111,   154,   313,   323,   327,   113,
    3890      154,   374,   310,   235,   318,   111,   294,   111,   111,    51,
    3891      111,    37,    38,    40,    66,    72,    76,    79,    80,    81,
    3892       82,    83,    84,    88,    89,   111,   113,   121,   122,   123,
    3893      124,   138,   142,   143,   144,   145,   146,   153,   154,   155,
     3942      22,    23,    24,    25,    26,    27,    28,    29,    32,    33,
     3943      34,    35,    38,    41,    42,    66,    69,    71,    73,    74,
     3944      76,    77,    78,    87,    88,   113,   115,   121,   122,   141,
     3945     144,   156,   205,   219,   220,   221,   222,   223,   224,   225,
     3946     226,   227,   228,   229,   230,   231,   232,   233,   234,   235,
     3947     236,   238,   239,   240,   241,   242,   243,   244,   246,   247,
     3948     248,   249,   250,   251,   253,   261,   262,   289,   290,   291,
     3949     299,   302,   308,   309,   311,   313,   314,   320,   325,   329,
     3950     330,   331,   332,   333,   334,   335,   336,   356,   373,   374,
     3951     375,   376,    74,   143,   144,   156,   222,   224,   232,   234,
     3952     243,   247,   249,   290,    83,   113,   318,   319,   320,   318,
     3953     318,    74,    76,    77,    78,   142,   143,   279,   280,   300,
     3954     301,    76,    77,   280,   113,   311,    11,   206,   113,   156,
     3955     325,   330,   331,   332,   334,   335,   336,   116,   138,   225,
     3956     232,   234,   329,   333,   372,   373,   376,   377,   139,   111,
     3957     135,   283,   118,   139,   180,    76,    77,   141,   278,   139,
     3958     139,   139,   120,   139,    76,    77,   113,   156,   315,   324,
     3959     325,   326,   327,   328,   329,   333,   337,   338,   339,   340,
     3960     341,   347,     3,    30,    80,   245,     3,     5,    76,   115,
     3961     156,   224,   235,   239,   241,   250,   291,   329,   333,   376,
     3962     222,   224,   234,   243,   247,   249,   290,   329,   333,    35,
     3963     240,   240,   235,   241,   139,   240,   235,   240,   235,    77,
     3964     113,   118,   280,   291,   118,   280,   240,   235,   120,   139,
     3965     139,     0,   138,   113,   180,   318,   318,   138,   115,   232,
     3966     234,   374,   278,   278,   135,   234,   113,   156,   315,   325,
     3967     329,   115,   156,   376,   312,   237,   320,   113,   296,   113,
     3968     113,    53,   113,    39,    40,    42,    68,    74,    78,    81,
     3969      82,    83,    84,    85,    86,    90,    91,   113,   115,   123,
     3970     124,   125,   126,   140,   144,   145,   146,   147,   148,   155,
    38943971     156,   157,   158,   159,   160,   161,   162,   163,   164,   165,
    3895      166,   167,   169,   172,   230,   280,   296,   370,   375,   232,
    3896      112,   112,   112,   112,   112,   112,   112,   113,   230,   354,
    3897      372,   113,   119,   154,   169,   222,   223,   229,   232,   236,
    3898      237,   241,   244,   245,   247,   266,   267,   271,   272,   273,
    3899      274,   288,   354,   366,   367,   368,   369,   374,   375,   111,
    3900      327,   331,   374,   111,   118,   134,   113,   116,   154,   169,
    3901      282,   282,   117,   136,   118,   134,   111,   118,   134,   118,
    3902      134,   118,   134,   316,   134,   323,   324,   325,   326,   336,
    3903      337,   338,   339,   232,   322,   335,    64,   315,   113,   316,
    3904      353,   354,   316,   316,   178,   136,   111,   316,   353,   316,
    3905      316,   232,   313,   111,   111,   231,   232,   230,   232,   136,
    3906      230,   370,   375,   178,   136,   276,   281,   222,   237,   327,
    3907      331,   178,   136,   298,   232,   241,   134,   232,   232,   296,
    3908      252,   250,   262,   278,   261,   232,   298,   134,   134,   309,
    3909      136,   141,   275,     3,   137,   212,   213,   227,   229,   232,
    3910      136,   315,   111,   315,   169,   323,   232,   111,   136,   276,
    3911      116,    33,    34,    35,   230,   290,   291,   293,   136,   130,
    3912      133,   295,   136,   233,   238,   239,   276,   319,   320,   321,
    3913      111,   143,   111,   153,   111,   153,   156,   111,   153,   111,
    3914      111,   153,   153,   113,   169,   174,   178,   230,   279,   370,
    3915      374,   136,    81,    83,    87,    88,    89,   111,   113,   115,
    3916      116,    99,   100,   101,   102,   103,   104,   105,   106,   107,
    3917      108,   109,   133,   171,   156,   156,   119,   125,   126,   121,
    3918      122,    90,    91,    92,    93,   127,   128,    94,    95,   120,
    3919      129,   130,    96,    97,   131,   111,   154,   349,   350,   351,
    3920      352,   353,   112,   118,   111,   353,   354,   111,   353,   354,
    3921      136,   230,   372,   114,   136,   137,   230,   232,   365,   366,
    3922      374,   375,   137,   111,   113,   154,   323,   340,   341,   342,
    3923      343,   344,   345,   346,   347,   348,   354,   355,   356,   357,
    3924      358,   359,   360,   154,   374,   232,   137,   137,   154,   230,
    3925      232,   367,   276,   230,   354,   367,   276,   136,   136,   136,
    3926      136,    72,   113,   115,   142,   278,   282,   283,   284,   285,
    3927      286,   136,   136,   136,   136,   136,   136,   313,   112,   112,
    3928      112,   112,   112,   112,   112,   322,   335,   111,   281,   114,
    3929      212,   136,   313,   174,   280,   174,   280,   313,   113,   212,
    3930      315,   178,   136,   212,   112,    40,   113,   117,   230,   253,
    3931      254,   255,   370,   116,   118,   376,   133,   263,   116,   232,
    3932      268,   269,   270,   273,   274,   112,   118,   178,   136,   119,
    3933      169,   136,   229,   232,   267,   366,   374,   307,   308,   111,
    3934      154,   340,   112,   118,   133,   377,   278,   290,   111,   116,
    3935      278,   280,   290,   112,   118,   111,   143,   112,   132,   279,
    3936      279,   279,   148,   169,   280,   279,   136,   112,   118,   112,
    3937      111,   154,   353,   361,   362,   363,   364,   112,   118,   169,
    3938      113,   141,   147,   148,   136,   113,   141,   147,   169,   156,
    3939      156,   156,   157,   157,   158,   158,   159,   159,   159,   159,
    3940      160,   160,   161,   162,   163,   164,   165,   132,   174,   136,
    3941      350,   351,   352,   232,   349,   316,   316,   169,   280,   136,
    3942      275,   230,   354,   367,   232,   236,   114,   374,   114,   111,
    3943      136,   323,   341,   342,   343,   346,   356,   357,   358,   114,
    3944      136,   232,   340,   344,   355,   111,   316,   359,   377,   316,
    3945      316,   377,   111,   316,   359,   316,   316,   316,   316,   354,
    3946      230,   365,   375,   276,   114,   118,   114,   118,   377,   230,
    3947      367,   377,   264,   265,   266,   267,   264,   276,   169,   136,
    3948      113,   278,   132,   118,   376,   282,   113,   132,   286,    29,
    3949      214,   215,   276,   264,   141,   313,   141,   315,   111,   353,
    3950      354,   111,   353,   354,   144,   354,   178,   268,   112,   112,
    3951      112,   112,   136,   178,   212,   178,   116,   254,   255,   136,
    3952      111,   132,   154,   256,   258,   322,   323,   335,   361,   118,
    3953      134,   118,   134,   278,   252,   278,   117,   167,   168,   262,
    3954      137,   137,   141,   227,   137,   137,   264,   111,   154,   374,
    3955      137,   117,   232,   291,   169,   292,   137,   136,   136,   111,
    3956      137,   112,   320,   174,   175,   132,   134,   113,   143,   205,
    3957      206,   207,   112,   118,   112,   112,   112,   112,   169,   362,
    3958      363,   364,   232,   361,   316,   316,   116,   156,   169,   170,
    3959      173,   118,   136,   112,   118,   169,   136,   117,   167,   132,
    3960      268,   112,   112,   112,   349,   268,   112,   230,   367,   113,
    3961      119,   154,   169,   169,   232,   346,   268,   112,   112,   112,
    3962      112,   112,   112,   112,     7,   232,   340,   344,   355,   136,
    3963      136,   377,   136,   136,   137,   137,   137,   137,   281,   167,
    3964      168,   169,   314,   136,   282,   284,   117,   136,   216,   278,
    3965       40,    41,    43,    46,    47,    48,    49,    50,    51,    52,
    3966       53,    57,    61,    62,    72,   129,   175,   176,   177,   178,
    3967      179,   180,   182,   183,   195,   197,   198,   203,   217,   312,
    3968       29,   137,   133,   281,   136,   136,   112,   137,   178,   252,
    3969      134,   134,   323,   168,   232,   257,   258,   257,   278,   316,
    3970      117,   263,   376,   112,   118,   114,   114,   137,   232,   118,
    3971      377,   294,   112,   290,   220,   222,   230,   302,   303,   304,
    3972      305,   296,   112,   112,   132,   168,   111,   112,   132,   118,
    3973      141,   112,   112,   112,   361,   283,   118,   137,   173,    79,
    3974       82,    84,   141,   149,   150,   151,   148,   137,   149,   167,
    3975      137,   111,   353,   354,   137,   136,   137,   137,   137,   169,
    3976      112,   137,   111,   353,   354,   111,   359,   111,   359,   354,
    3977      231,     7,   119,   137,   169,   268,   268,   267,   271,   271,
    3978      272,   112,   118,   118,   112,    98,   124,   137,   137,   149,
    3979      282,   169,   118,   134,   217,   221,   232,   236,   111,   111,
    3980      176,   111,   111,    72,   134,    72,   134,    72,   119,   175,
    3981      111,   178,   170,   170,   132,   146,   134,   137,   136,   137,
    3982      216,   112,   169,   268,   268,   316,   112,   117,   256,   117,
    3983      136,   112,   136,   137,   313,   117,   136,   137,   137,   112,
    3984      116,   205,   114,   168,   134,   205,   207,   112,   111,   353,
    3985      354,   376,   170,   114,   137,   152,   113,   150,   152,   152,
    3986      118,   137,    87,   115,   114,   137,   112,   136,   112,   114,
    3987      114,   114,   137,   112,   136,   136,   136,   169,   169,   137,
    3988      114,   137,   137,   137,   137,   136,   136,   168,   168,   114,
    3989      114,   137,   278,   232,   174,   174,    47,   174,   136,   134,
    3990      134,   134,   174,   134,   174,    58,    59,    60,   199,   200,
    3991      201,   134,    63,   134,   316,   116,   180,   117,   134,   137,
    3992      137,    98,   273,   274,   112,   303,   118,   134,   118,   134,
    3993      117,   301,   132,   143,   112,   112,   132,   136,   117,   114,
    3994       83,   136,   150,   114,   113,   150,   113,   150,   114,   268,
    3995      114,   268,   268,   268,   137,   137,   114,   114,   112,   112,
    3996      114,   118,    98,   267,    98,   137,   114,   112,   112,   111,
    3997      112,   175,   196,   217,   134,   112,   111,   111,   178,   201,
    3998       58,    59,   169,   176,   147,   112,   112,   116,   136,   136,
    3999      302,   143,   208,   111,   134,   208,   268,   149,   136,   136,
    4000      137,   137,   137,   137,   114,   114,   136,   137,   114,   176,
    4001       44,    45,   116,   186,   187,   188,   174,   176,   137,   112,
    4002      175,   116,   188,    98,   136,    98,   136,   111,   111,   134,
    4003      117,   136,   276,   313,   117,   118,   132,   168,   112,   137,
    4004      137,   149,   149,   112,   112,   112,   112,   271,    42,   168,
    4005      184,   185,   314,   132,   136,   176,   186,   112,   134,   176,
    4006      134,   136,   112,   136,   112,   136,    98,   136,    98,   136,
    4007      134,   302,   143,   141,   209,   112,   134,   112,   114,   137,
    4008      137,   176,    98,   118,   132,   137,   210,   211,   217,   134,
    4009      175,   175,   210,   178,   202,   230,   370,   178,   202,   112,
    4010      136,   112,   136,   117,   112,   118,   114,   114,   168,   184,
    4011      187,   189,   190,   136,   134,   187,   191,   192,   137,   111,
    4012      154,   313,   361,   141,   137,   178,   202,   178,   202,   111,
    4013      134,   141,   176,   181,   117,   187,   217,   175,    56,   181,
    4014      194,   117,   187,   112,   232,   112,   137,   137,   296,   176,
    4015      181,   134,   193,   194,   181,   194,   178,   178,   112,   112,
    4016      112,   193,   137,   137,   178,   178,   137,   137
     3972     166,   167,   168,   169,   171,   174,   232,   282,   298,   372,
     3973     377,   234,   114,   114,   114,   114,   114,   114,   114,   115,
     3974     232,   356,   374,   115,   121,   156,   171,   224,   225,   231,
     3975     234,   238,   239,   243,   246,   247,   249,   268,   269,   273,
     3976     274,   275,   276,   290,   356,   368,   369,   370,   371,   376,
     3977     377,   113,   329,   333,   376,   113,   120,   136,   115,   118,
     3978     156,   171,   284,   284,   119,   138,   120,   136,   113,   120,
     3979     136,   120,   136,   120,   136,   318,   136,   325,   326,   327,
     3980     328,   338,   339,   340,   341,   234,   324,   337,    66,   317,
     3981     115,   318,   355,   356,   318,   318,   180,   138,   113,   318,
     3982     355,   318,   318,   234,   315,   113,   113,   233,   234,   232,
     3983     234,   138,   232,   372,   377,   180,   138,   278,   283,   224,
     3984     239,   329,   333,   180,   138,   300,   234,   243,   136,   234,
     3985     234,   298,   254,   252,   264,   280,   263,   234,   300,   136,
     3986     136,   311,   138,   143,   277,     3,   139,   214,   215,   229,
     3987     231,   234,   138,   317,   113,   317,   171,   325,   234,   113,
     3988     138,   278,   118,    35,    36,    37,   232,   292,   293,   295,
     3989     138,   132,   135,   297,   138,   235,   240,   241,   278,   321,
     3990     322,   323,   113,   145,   113,   155,   113,   155,   158,   113,
     3991     155,   113,   113,   155,   155,   115,   171,   176,   180,   232,
     3992     281,   372,   376,   138,    83,    85,    89,    90,    91,   113,
     3993     115,   117,   118,   101,   102,   103,   104,   105,   106,   107,
     3994     108,   109,   110,   111,   135,   173,   158,   158,   121,   127,
     3995     128,   123,   124,    92,    93,    94,    95,   129,   130,    96,
     3996      97,   122,   131,   132,    98,    99,   133,   113,   156,   351,
     3997     352,   353,   354,   355,   114,   120,   113,   355,   356,   113,
     3998     355,   356,   138,   232,   374,   116,   138,   139,   232,   234,
     3999     367,   368,   376,   377,   139,   113,   115,   156,   325,   342,
     4000     343,   344,   345,   346,   347,   348,   349,   350,   356,   357,
     4001     358,   359,   360,   361,   362,   156,   376,   234,   139,   139,
     4002     156,   232,   234,   369,   278,   232,   356,   369,   278,   138,
     4003     138,   138,   138,    74,   115,   117,   144,   280,   284,   285,
     4004     286,   287,   288,   138,   138,   138,   138,   138,   138,   315,
     4005     114,   114,   114,   114,   114,   114,   114,   324,   337,   113,
     4006     283,   116,   214,   138,   315,   176,   282,   176,   282,   315,
     4007     115,   214,   317,   180,   138,   214,   114,    42,   115,   119,
     4008     232,   255,   256,   257,   372,   118,   120,   378,   135,   265,
     4009     118,   234,   270,   271,   272,   275,   276,   114,   120,   180,
     4010     138,   121,   171,   138,   231,   234,   269,   368,   376,   309,
     4011     310,   113,   156,   342,   114,   120,   135,   379,   280,   292,
     4012     113,   118,   280,   282,   292,   114,   120,   113,   145,   114,
     4013     134,   281,   281,   281,   150,   171,   282,   281,   138,   114,
     4014     120,   114,   113,   156,   355,   363,   364,   365,   366,   114,
     4015     120,   171,   115,   143,   149,   150,   138,   115,   143,   149,
     4016     171,   158,   158,   158,   159,   159,   160,   160,   161,   161,
     4017     161,   161,   162,   162,   163,   164,   165,   166,   167,   134,
     4018     176,   138,   352,   353,   354,   234,   351,   318,   318,   171,
     4019     282,   138,   277,   232,   356,   369,   234,   238,   116,   376,
     4020     116,   113,   138,   325,   343,   344,   345,   348,   358,   359,
     4021     360,   116,   138,   234,   342,   346,   357,   113,   318,   361,
     4022     379,   318,   318,   379,   113,   318,   361,   318,   318,   318,
     4023     318,   356,   232,   367,   377,   278,   116,   120,   116,   120,
     4024     379,   232,   369,   379,   266,   267,   268,   269,   266,   278,
     4025     171,   138,   115,   280,   134,   120,   378,   284,   115,   134,
     4026     288,    31,   216,   217,   278,   266,   143,   315,   143,   317,
     4027     113,   355,   356,   113,   355,   356,   145,   356,   180,   270,
     4028     114,   114,   114,   114,   138,   180,   214,   180,   118,   256,
     4029     257,   138,   113,   134,   156,   258,   260,   324,   325,   337,
     4030     363,   120,   136,   120,   136,   280,   254,   280,   119,   169,
     4031     170,   264,   139,   139,   143,   229,   139,   139,   266,   113,
     4032     156,   376,   139,   119,   234,   293,   171,   294,   139,   138,
     4033     138,   113,   139,   114,   322,   176,   177,   134,   136,   115,
     4034     145,   207,   208,   209,   114,   120,   114,   114,   114,   114,
     4035     171,   364,   365,   366,   234,   363,   318,   318,   118,   158,
     4036     171,   172,   175,   120,   138,   114,   120,   171,   138,   119,
     4037     169,   134,   270,   114,   114,   114,   351,   270,   114,   232,
     4038     369,   115,   121,   156,   171,   171,   234,   348,   270,   114,
     4039     114,   114,   114,   114,   114,   114,     7,   234,   342,   346,
     4040     357,   138,   138,   379,   138,   138,   139,   139,   139,   139,
     4041     283,   169,   170,   171,   316,   138,   284,   286,   119,   138,
     4042     218,   280,    42,    43,    45,    48,    49,    50,    51,    52,
     4043      53,    54,    55,    59,    63,    64,    74,   131,   177,   178,
     4044     179,   180,   181,   182,   184,   185,   197,   199,   200,   205,
     4045     219,   314,    31,   139,   135,   283,   138,   138,   114,   139,
     4046     180,   254,   136,   136,   325,   170,   234,   259,   260,   259,
     4047     280,   318,   119,   265,   378,   114,   120,   116,   116,   139,
     4048     234,   120,   379,   296,   114,   292,   222,   224,   232,   304,
     4049     305,   306,   307,   298,   114,   114,   134,   170,   113,   114,
     4050     134,   120,   143,   114,   114,   114,   363,   285,   120,   139,
     4051     175,    81,    84,    86,   143,   151,   152,   153,   150,   139,
     4052     151,   169,   139,   113,   355,   356,   139,   138,   139,   139,
     4053     139,   171,   114,   139,   113,   355,   356,   113,   361,   113,
     4054     361,   356,   233,     7,   121,   139,   171,   270,   270,   269,
     4055     273,   273,   274,   114,   120,   120,   114,   100,   126,   139,
     4056     139,   151,   284,   171,   120,   136,   219,   223,   234,   238,
     4057     113,   113,   178,   113,   113,    74,   136,    74,   136,    74,
     4058     121,   177,   113,   180,   172,   172,   134,   148,   136,   139,
     4059     138,   139,   218,   114,   171,   270,   270,   318,   114,   119,
     4060     258,   119,   138,   114,   138,   139,   315,   119,   138,   139,
     4061     139,   114,   118,   207,   116,   170,   136,   207,   209,   114,
     4062     113,   355,   356,   378,   172,   116,   139,   154,   115,   152,
     4063     154,   154,   120,   139,    89,   117,   116,   139,   114,   138,
     4064     114,   116,   116,   116,   139,   114,   138,   138,   138,   171,
     4065     171,   139,   116,   139,   139,   139,   139,   138,   138,   170,
     4066     170,   116,   116,   139,   280,   234,   176,   176,    49,   176,
     4067     138,   136,   136,   136,   176,   136,   176,    60,    61,    62,
     4068     201,   202,   203,   136,    65,   136,   318,   118,   182,   119,
     4069     136,   139,   139,   100,   275,   276,   114,   305,   120,   136,
     4070     120,   136,   119,   303,   134,   145,   114,   114,   134,   138,
     4071     119,   116,    85,   138,   152,   116,   115,   152,   115,   152,
     4072     116,   270,   116,   270,   270,   270,   139,   139,   116,   116,
     4073     114,   114,   116,   120,   100,   269,   100,   139,   116,   114,
     4074     114,   113,   114,   177,   198,   219,   136,   114,   113,   113,
     4075     180,   203,    60,    61,   171,   178,   149,   114,   114,   118,
     4076     138,   138,   304,   145,   210,   113,   136,   210,   270,   151,
     4077     138,   138,   139,   139,   139,   139,   116,   116,   138,   139,
     4078     116,   178,    46,    47,   118,   188,   189,   190,   176,   178,
     4079     139,   114,   177,   118,   190,   100,   138,   100,   138,   113,
     4080     113,   136,   119,   138,   278,   315,   119,   120,   134,   170,
     4081     114,   139,   139,   151,   151,   114,   114,   114,   114,   273,
     4082      44,   170,   186,   187,   316,   134,   138,   178,   188,   114,
     4083     136,   178,   136,   138,   114,   138,   114,   138,   100,   138,
     4084     100,   138,   136,   304,   145,   143,   211,   114,   136,   114,
     4085     116,   139,   139,   178,   100,   120,   134,   139,   212,   213,
     4086     219,   136,   177,   177,   212,   180,   204,   232,   372,   180,
     4087     204,   114,   138,   114,   138,   119,   114,   120,   116,   116,
     4088     170,   186,   189,   191,   192,   138,   136,   189,   193,   194,
     4089     139,   113,   156,   315,   363,   143,   139,   180,   204,   180,
     4090     204,   113,   136,   143,   178,   183,   119,   189,   219,   177,
     4091      58,   183,   196,   119,   189,   114,   234,   114,   139,   139,
     4092     298,   178,   183,   136,   195,   196,   183,   196,   180,   180,
     4093     114,   114,   114,   195,   139,   139,   180,   180,   139,   139
    40174094};
    40184095
     
    48514928
    48524929/* Line 1806 of yacc.c  */
    4853 #line 305 "parser.yy"
     4930#line 306 "parser.yy"
    48544931    { typedefTable.enterScope(); }
    48554932    break;
     
    48584935
    48594936/* Line 1806 of yacc.c  */
    4860 #line 309 "parser.yy"
     4937#line 310 "parser.yy"
    48614938    { typedefTable.leaveScope(); }
    48624939    break;
     
    48654942
    48664943/* Line 1806 of yacc.c  */
    4867 #line 316 "parser.yy"
     4944#line 317 "parser.yy"
    48684945    { (yyval.en) = new ExpressionNode( build_constantInteger( *(yyvsp[(1) - (1)].tok) ) ); }
    48694946    break;
    48704947
    48714948  case 5:
    4872 
    4873 /* Line 1806 of yacc.c  */
    4874 #line 317 "parser.yy"
    4875     { (yyval.en) = new ExpressionNode( build_constantFloat( *(yyvsp[(1) - (1)].tok) ) ); }
    4876     break;
    4877 
    4878   case 6:
    48794949
    48804950/* Line 1806 of yacc.c  */
     
    48834953    break;
    48844954
    4885   case 7:
     4955  case 6:
    48864956
    48874957/* Line 1806 of yacc.c  */
     
    48904960    break;
    48914961
     4962  case 7:
     4963
     4964/* Line 1806 of yacc.c  */
     4965#line 320 "parser.yy"
     4966    { (yyval.en) = new ExpressionNode( build_constantFloat( *(yyvsp[(1) - (1)].tok) ) ); }
     4967    break;
     4968
    48924969  case 8:
    48934970
    48944971/* Line 1806 of yacc.c  */
    4895 #line 320 "parser.yy"
     4972#line 321 "parser.yy"
    48964973    { (yyval.en) = new ExpressionNode( build_constantChar( *(yyvsp[(1) - (1)].tok) ) ); }
    48974974    break;
     
    49004977
    49014978/* Line 1806 of yacc.c  */
    4902 #line 345 "parser.yy"
     4979#line 346 "parser.yy"
    49034980    { (yyval.constant) = build_constantStr( *(yyvsp[(1) - (1)].str) ); }
    49044981    break;
     
    49074984
    49084985/* Line 1806 of yacc.c  */
    4909 #line 349 "parser.yy"
     4986#line 350 "parser.yy"
    49104987    { (yyval.str) = (yyvsp[(1) - (1)].tok); }
    49114988    break;
     
    49144991
    49154992/* Line 1806 of yacc.c  */
    4916 #line 351 "parser.yy"
     4993#line 352 "parser.yy"
    49174994    {
    49184995                        appendStr( (yyvsp[(1) - (2)].str), (yyvsp[(2) - (2)].tok) );                                            // append 2nd juxtaposed string to 1st
     
    49255002
    49265003/* Line 1806 of yacc.c  */
    4927 #line 362 "parser.yy"
     5004#line 363 "parser.yy"
    49285005    { (yyval.en) = new ExpressionNode( build_varref( (yyvsp[(1) - (1)].tok) ) ); }
    49295006    break;
     
    49325009
    49335010/* Line 1806 of yacc.c  */
    4934 #line 364 "parser.yy"
    4935     { (yyval.en) = new ExpressionNode( build_varref( (yyvsp[(1) - (1)].tok) ) ); }
     5011#line 365 "parser.yy"
     5012    { (yyval.en) = new ExpressionNode( build_constantZeroOne( *(yyvsp[(1) - (1)].tok) ) ); }
    49365013    break;
    49375014
     
    49395016
    49405017/* Line 1806 of yacc.c  */
    4941 #line 367 "parser.yy"
     5018#line 368 "parser.yy"
    49425019    { (yyval.en) = (yyvsp[(2) - (3)].en); }
    49435020    break;
     
    49465023
    49475024/* Line 1806 of yacc.c  */
    4948 #line 369 "parser.yy"
     5025#line 370 "parser.yy"
    49495026    { (yyval.en) = new ExpressionNode( build_valexpr( (yyvsp[(2) - (3)].sn) ) ); }
    49505027    break;
     
    49535030
    49545031/* Line 1806 of yacc.c  */
    4955 #line 379 "parser.yy"
     5032#line 380 "parser.yy"
    49565033    { (yyval.en) = new ExpressionNode( build_binary_val( OperKinds::Index, (yyvsp[(1) - (6)].en), (yyvsp[(4) - (6)].en) ) ); }
    49575034    break;
     
    49605037
    49615038/* Line 1806 of yacc.c  */
    4962 #line 381 "parser.yy"
     5039#line 382 "parser.yy"
    49635040    { (yyval.en) = new ExpressionNode( build_func( (yyvsp[(1) - (4)].en), (yyvsp[(3) - (4)].en) ) ); }
    49645041    break;
     
    49675044
    49685045/* Line 1806 of yacc.c  */
    4969 #line 383 "parser.yy"
     5046#line 384 "parser.yy"
    49705047    { (yyval.en) = new ExpressionNode( build_fieldSel( (yyvsp[(1) - (3)].en), build_varref( (yyvsp[(3) - (3)].tok) ) ) ); }
    49715048    break;
     
    49745051
    49755052/* Line 1806 of yacc.c  */
    4976 #line 385 "parser.yy"
     5053#line 386 "parser.yy"
    49775054    { (yyval.en) = new ExpressionNode( build_fieldSel( (yyvsp[(1) - (7)].en), build_tuple( (yyvsp[(5) - (7)].en) ) ) ); }
    49785055    break;
     
    49815058
    49825059/* Line 1806 of yacc.c  */
    4983 #line 387 "parser.yy"
     5060#line 388 "parser.yy"
    49845061    { (yyval.en) = new ExpressionNode( build_fieldSel( (yyvsp[(1) - (2)].en), build_field_name_REALFRACTIONconstant( *(yyvsp[(2) - (2)].tok) ) ) ); }
    49855062    break;
     
    49885065
    49895066/* Line 1806 of yacc.c  */
    4990 #line 389 "parser.yy"
     5067#line 390 "parser.yy"
    49915068    { (yyval.en) = new ExpressionNode( build_pfieldSel( (yyvsp[(1) - (3)].en), build_varref( (yyvsp[(3) - (3)].tok) ) ) ); }
    49925069    break;
     
    49955072
    49965073/* Line 1806 of yacc.c  */
    4997 #line 391 "parser.yy"
     5074#line 392 "parser.yy"
    49985075    { (yyval.en) = new ExpressionNode( build_pfieldSel( (yyvsp[(1) - (7)].en), build_tuple( (yyvsp[(5) - (7)].en) ) ) ); }
    49995076    break;
     
    50025079
    50035080/* Line 1806 of yacc.c  */
    5004 #line 393 "parser.yy"
     5081#line 394 "parser.yy"
    50055082    { (yyval.en) = new ExpressionNode( build_unary_ptr( OperKinds::IncrPost, (yyvsp[(1) - (2)].en) ) ); }
    50065083    break;
     
    50095086
    50105087/* Line 1806 of yacc.c  */
    5011 #line 395 "parser.yy"
     5088#line 396 "parser.yy"
    50125089    { (yyval.en) = new ExpressionNode( build_unary_ptr( OperKinds::DecrPost, (yyvsp[(1) - (2)].en) ) ); }
    50135090    break;
     
    50165093
    50175094/* Line 1806 of yacc.c  */
    5018 #line 397 "parser.yy"
     5095#line 398 "parser.yy"
    50195096    { (yyval.en) = new ExpressionNode( build_compoundLiteral( (yyvsp[(2) - (7)].decl), new InitializerNode( (yyvsp[(5) - (7)].in), true ) ) ); }
    50205097    break;
     
    50235100
    50245101/* Line 1806 of yacc.c  */
    5025 #line 399 "parser.yy"
     5102#line 400 "parser.yy"
    50265103    {
    50275104                        Token fn;
     
    50345111
    50355112/* Line 1806 of yacc.c  */
    5036 #line 409 "parser.yy"
     5113#line 410 "parser.yy"
    50375114    { (yyval.en) = (ExpressionNode *)( (yyvsp[(1) - (3)].en)->set_last( (yyvsp[(3) - (3)].en) )); }
    50385115    break;
     
    50415118
    50425119/* Line 1806 of yacc.c  */
    5043 #line 414 "parser.yy"
    5044     { (yyval.en) = 0; }
     5120#line 415 "parser.yy"
     5121    { (yyval.en) = nullptr; }
    50455122    break;
    50465123
     
    50485125
    50495126/* Line 1806 of yacc.c  */
    5050 #line 420 "parser.yy"
     5127#line 421 "parser.yy"
    50515128    { (yyval.en) = (ExpressionNode *)(yyvsp[(1) - (3)].en)->set_last( (yyvsp[(3) - (3)].en) ); }
    50525129    break;
     
    50555132
    50565133/* Line 1806 of yacc.c  */
    5057 #line 426 "parser.yy"
     5134#line 427 "parser.yy"
    50585135    { (yyval.en) = new ExpressionNode( build_fieldSel( new ExpressionNode( build_field_name_REALDECIMALconstant( *(yyvsp[(1) - (2)].tok) ) ), maybeMoveBuild<Expression>( (yyvsp[(2) - (2)].en) ) ) ); }
    50595136    break;
     
    50625139
    50635140/* Line 1806 of yacc.c  */
    5064 #line 428 "parser.yy"
     5141#line 429 "parser.yy"
    50655142    { (yyval.en) = new ExpressionNode( build_fieldSel( new ExpressionNode( build_field_name_REALDECIMALconstant( *(yyvsp[(1) - (6)].tok) ) ), build_tuple( (yyvsp[(4) - (6)].en) ) ) ); }
    50665143    break;
     
    50695146
    50705147/* Line 1806 of yacc.c  */
    5071 #line 430 "parser.yy"
     5148#line 431 "parser.yy"
    50725149    { (yyval.en) = new ExpressionNode( build_fieldSel( (yyvsp[(1) - (3)].en), maybeMoveBuild<Expression>( (yyvsp[(3) - (3)].en) ) ) ); }
    50735150    break;
     
    50765153
    50775154/* Line 1806 of yacc.c  */
    5078 #line 432 "parser.yy"
     5155#line 433 "parser.yy"
    50795156    { (yyval.en) = new ExpressionNode( build_fieldSel( (yyvsp[(1) - (7)].en), build_tuple( (yyvsp[(5) - (7)].en) ) ) ); }
    50805157    break;
     
    50835160
    50845161/* Line 1806 of yacc.c  */
    5085 #line 434 "parser.yy"
     5162#line 435 "parser.yy"
    50865163    { (yyval.en) = new ExpressionNode( build_pfieldSel( (yyvsp[(1) - (3)].en), maybeMoveBuild<Expression>( (yyvsp[(3) - (3)].en) ) ) ); }
    50875164    break;
     
    50905167
    50915168/* Line 1806 of yacc.c  */
    5092 #line 436 "parser.yy"
     5169#line 437 "parser.yy"
    50935170    { (yyval.en) = new ExpressionNode( build_pfieldSel( (yyvsp[(1) - (7)].en), build_tuple( (yyvsp[(5) - (7)].en) ) ) ); }
    50945171    break;
     
    50975174
    50985175/* Line 1806 of yacc.c  */
    5099 #line 441 "parser.yy"
     5176#line 442 "parser.yy"
    51005177    { (yyval.en) = new ExpressionNode( build_field_name_fraction_constants( build_constantInteger( *(yyvsp[(1) - (2)].tok) ), (yyvsp[(2) - (2)].en) ) ); }
    51015178    break;
     
    51045181
    51055182/* Line 1806 of yacc.c  */
    5106 #line 443 "parser.yy"
     5183#line 444 "parser.yy"
    51075184    { (yyval.en) = new ExpressionNode( build_field_name_fraction_constants( build_field_name_FLOATINGconstant( *(yyvsp[(1) - (2)].tok) ), (yyvsp[(2) - (2)].en) ) ); }
    51085185    break;
     
    51115188
    51125189/* Line 1806 of yacc.c  */
    5113 #line 445 "parser.yy"
    5114     { (yyval.en) = new ExpressionNode( build_field_name_fraction_constants( build_varref( (yyvsp[(1) - (2)].tok) ), (yyvsp[(2) - (2)].en) ) ); }
     5190#line 446 "parser.yy"
     5191    {
     5192                        if( (*(yyvsp[(1) - (2)].tok)) == "0" || (*(yyvsp[(1) - (2)].tok)) == "1" ) {
     5193                                (yyval.en) = new ExpressionNode( build_field_name_fraction_constants( build_constantZeroOne( *(yyvsp[(1) - (2)].tok) ), (yyvsp[(2) - (2)].en) ) );
     5194                        } else {
     5195                                (yyval.en) = new ExpressionNode( build_field_name_fraction_constants( build_varref( (yyvsp[(1) - (2)].tok) ), (yyvsp[(2) - (2)].en) ) );
     5196                        }
     5197                }
    51155198    break;
    51165199
     
    51185201
    51195202/* Line 1806 of yacc.c  */
    5120 #line 450 "parser.yy"
     5203#line 457 "parser.yy"
    51215204    { (yyval.en) = nullptr; }
    51225205    break;
     
    51255208
    51265209/* Line 1806 of yacc.c  */
    5127 #line 452 "parser.yy"
     5210#line 459 "parser.yy"
    51285211    {
    51295212                        Expression * constant = build_field_name_REALFRACTIONconstant( *(yyvsp[(2) - (2)].tok) );
     
    51355218
    51365219/* Line 1806 of yacc.c  */
    5137 #line 463 "parser.yy"
     5220#line 470 "parser.yy"
    51385221    { (yyval.en) = (yyvsp[(1) - (1)].en); }
    51395222    break;
     
    51425225
    51435226/* Line 1806 of yacc.c  */
    5144 #line 465 "parser.yy"
     5227#line 472 "parser.yy"
    51455228    { (yyval.en) = new ExpressionNode( (yyvsp[(1) - (1)].constant) ); }
    51465229    break;
     
    51495232
    51505233/* Line 1806 of yacc.c  */
    5151 #line 467 "parser.yy"
     5234#line 474 "parser.yy"
    51525235    { (yyval.en) = (yyvsp[(2) - (2)].en)->set_extension( true ); }
    51535236    break;
     
    51565239
    51575240/* Line 1806 of yacc.c  */
    5158 #line 472 "parser.yy"
     5241#line 479 "parser.yy"
    51595242    {
    51605243                        switch ( (yyvsp[(1) - (2)].op) ) {
     
    51745257
    51755258/* Line 1806 of yacc.c  */
    5176 #line 485 "parser.yy"
     5259#line 492 "parser.yy"
    51775260    { (yyval.en) = new ExpressionNode( build_unary_val( (yyvsp[(1) - (2)].op), (yyvsp[(2) - (2)].en) ) ); }
    51785261    break;
     
    51815264
    51825265/* Line 1806 of yacc.c  */
    5183 #line 487 "parser.yy"
     5266#line 494 "parser.yy"
    51845267    { (yyval.en) = new ExpressionNode( build_unary_ptr( OperKinds::Incr, (yyvsp[(2) - (2)].en) ) ); }
    51855268    break;
     
    51885271
    51895272/* Line 1806 of yacc.c  */
    5190 #line 489 "parser.yy"
     5273#line 496 "parser.yy"
    51915274    { (yyval.en) = new ExpressionNode( build_unary_ptr( OperKinds::Decr, (yyvsp[(2) - (2)].en) ) ); }
    51925275    break;
     
    51955278
    51965279/* Line 1806 of yacc.c  */
    5197 #line 491 "parser.yy"
     5280#line 498 "parser.yy"
    51985281    { (yyval.en) = new ExpressionNode( build_sizeOfexpr( (yyvsp[(2) - (2)].en) ) ); }
    51995282    break;
     
    52025285
    52035286/* Line 1806 of yacc.c  */
    5204 #line 493 "parser.yy"
     5287#line 500 "parser.yy"
    52055288    { (yyval.en) = new ExpressionNode( build_sizeOftype( (yyvsp[(3) - (4)].decl) ) ); }
    52065289    break;
     
    52095292
    52105293/* Line 1806 of yacc.c  */
    5211 #line 495 "parser.yy"
     5294#line 502 "parser.yy"
    52125295    { (yyval.en) = new ExpressionNode( build_alignOfexpr( (yyvsp[(2) - (2)].en) ) ); }
    52135296    break;
     
    52165299
    52175300/* Line 1806 of yacc.c  */
    5218 #line 497 "parser.yy"
     5301#line 504 "parser.yy"
    52195302    { (yyval.en) = new ExpressionNode( build_alignOftype( (yyvsp[(3) - (4)].decl) ) ); }
    52205303    break;
     
    52235306
    52245307/* Line 1806 of yacc.c  */
    5225 #line 499 "parser.yy"
     5308#line 506 "parser.yy"
    52265309    { (yyval.en) = new ExpressionNode( build_offsetOf( (yyvsp[(3) - (6)].decl), build_varref( (yyvsp[(5) - (6)].tok) ) ) ); }
    52275310    break;
     
    52305313
    52315314/* Line 1806 of yacc.c  */
    5232 #line 501 "parser.yy"
     5315#line 508 "parser.yy"
    52335316    { (yyval.en) = new ExpressionNode( build_attrexpr( build_varref( (yyvsp[(1) - (1)].tok) ), nullptr ) ); }
    52345317    break;
     
    52375320
    52385321/* Line 1806 of yacc.c  */
    5239 #line 503 "parser.yy"
     5322#line 510 "parser.yy"
    52405323    { (yyval.en) = new ExpressionNode( build_attrexpr( build_varref( (yyvsp[(1) - (4)].tok) ), (yyvsp[(3) - (4)].en) ) ); }
    52415324    break;
     
    52445327
    52455328/* Line 1806 of yacc.c  */
    5246 #line 505 "parser.yy"
     5329#line 512 "parser.yy"
    52475330    { (yyval.en) = new ExpressionNode( build_attrtype( build_varref( (yyvsp[(1) - (4)].tok) ), (yyvsp[(3) - (4)].decl) ) ); }
    52485331    break;
     
    52515334
    52525335/* Line 1806 of yacc.c  */
    5253 #line 511 "parser.yy"
     5336#line 518 "parser.yy"
    52545337    { (yyval.op) = OperKinds::PointTo; }
    52555338    break;
     
    52585341
    52595342/* Line 1806 of yacc.c  */
    5260 #line 512 "parser.yy"
     5343#line 519 "parser.yy"
    52615344    { (yyval.op) = OperKinds::AddressOf; }
    52625345    break;
     
    52655348
    52665349/* Line 1806 of yacc.c  */
    5267 #line 518 "parser.yy"
     5350#line 525 "parser.yy"
    52685351    { (yyval.op) = OperKinds::UnPlus; }
    52695352    break;
     
    52725355
    52735356/* Line 1806 of yacc.c  */
    5274 #line 519 "parser.yy"
     5357#line 526 "parser.yy"
    52755358    { (yyval.op) = OperKinds::UnMinus; }
    52765359    break;
     
    52795362
    52805363/* Line 1806 of yacc.c  */
    5281 #line 520 "parser.yy"
     5364#line 527 "parser.yy"
    52825365    { (yyval.op) = OperKinds::Neg; }
    52835366    break;
     
    52865369
    52875370/* Line 1806 of yacc.c  */
    5288 #line 521 "parser.yy"
     5371#line 528 "parser.yy"
    52895372    { (yyval.op) = OperKinds::BitNeg; }
    52905373    break;
     
    52935376
    52945377/* Line 1806 of yacc.c  */
    5295 #line 527 "parser.yy"
     5378#line 534 "parser.yy"
    52965379    { (yyval.en) = new ExpressionNode( build_cast( (yyvsp[(2) - (4)].decl), (yyvsp[(4) - (4)].en) ) ); }
    52975380    break;
     
    53005383
    53015384/* Line 1806 of yacc.c  */
    5302 #line 535 "parser.yy"
     5385#line 542 "parser.yy"
    53035386    { (yyval.en) = new ExpressionNode( build_binary_val( OperKinds::Mul, (yyvsp[(1) - (3)].en), (yyvsp[(3) - (3)].en) ) ); }
    53045387    break;
     
    53075390
    53085391/* Line 1806 of yacc.c  */
    5309 #line 537 "parser.yy"
     5392#line 544 "parser.yy"
    53105393    { (yyval.en) = new ExpressionNode( build_binary_val( OperKinds::Div, (yyvsp[(1) - (3)].en), (yyvsp[(3) - (3)].en) ) ); }
    53115394    break;
     
    53145397
    53155398/* Line 1806 of yacc.c  */
    5316 #line 539 "parser.yy"
     5399#line 546 "parser.yy"
    53175400    { (yyval.en) = new ExpressionNode( build_binary_val( OperKinds::Mod, (yyvsp[(1) - (3)].en), (yyvsp[(3) - (3)].en) ) ); }
    53185401    break;
     
    53215404
    53225405/* Line 1806 of yacc.c  */
    5323 #line 545 "parser.yy"
     5406#line 552 "parser.yy"
    53245407    { (yyval.en) = new ExpressionNode( build_binary_val( OperKinds::Plus, (yyvsp[(1) - (3)].en), (yyvsp[(3) - (3)].en) ) ); }
    53255408    break;
     
    53285411
    53295412/* Line 1806 of yacc.c  */
    5330 #line 547 "parser.yy"
     5413#line 554 "parser.yy"
    53315414    { (yyval.en) = new ExpressionNode( build_binary_val( OperKinds::Minus, (yyvsp[(1) - (3)].en), (yyvsp[(3) - (3)].en) ) ); }
    53325415    break;
     
    53355418
    53365419/* Line 1806 of yacc.c  */
    5337 #line 553 "parser.yy"
     5420#line 560 "parser.yy"
    53385421    { (yyval.en) = new ExpressionNode( build_binary_val( OperKinds::LShift, (yyvsp[(1) - (3)].en), (yyvsp[(3) - (3)].en) ) ); }
    53395422    break;
     
    53425425
    53435426/* Line 1806 of yacc.c  */
    5344 #line 555 "parser.yy"
     5427#line 562 "parser.yy"
    53455428    { (yyval.en) = new ExpressionNode( build_binary_val( OperKinds::RShift, (yyvsp[(1) - (3)].en), (yyvsp[(3) - (3)].en) ) ); }
    53465429    break;
     
    53495432
    53505433/* Line 1806 of yacc.c  */
    5351 #line 561 "parser.yy"
     5434#line 568 "parser.yy"
    53525435    { (yyval.en) = new ExpressionNode( build_binary_val( OperKinds::LThan, (yyvsp[(1) - (3)].en), (yyvsp[(3) - (3)].en) ) ); }
    53535436    break;
     
    53565439
    53575440/* Line 1806 of yacc.c  */
    5358 #line 563 "parser.yy"
     5441#line 570 "parser.yy"
    53595442    { (yyval.en) = new ExpressionNode( build_binary_val( OperKinds::GThan, (yyvsp[(1) - (3)].en), (yyvsp[(3) - (3)].en) ) ); }
    53605443    break;
     
    53635446
    53645447/* Line 1806 of yacc.c  */
    5365 #line 565 "parser.yy"
     5448#line 572 "parser.yy"
    53665449    { (yyval.en) = new ExpressionNode( build_binary_val( OperKinds::LEThan, (yyvsp[(1) - (3)].en), (yyvsp[(3) - (3)].en) ) ); }
    53675450    break;
     
    53705453
    53715454/* Line 1806 of yacc.c  */
    5372 #line 567 "parser.yy"
     5455#line 574 "parser.yy"
    53735456    { (yyval.en) = new ExpressionNode( build_binary_val( OperKinds::GEThan, (yyvsp[(1) - (3)].en), (yyvsp[(3) - (3)].en) ) ); }
    53745457    break;
     
    53775460
    53785461/* Line 1806 of yacc.c  */
    5379 #line 573 "parser.yy"
     5462#line 580 "parser.yy"
    53805463    { (yyval.en) = new ExpressionNode( build_binary_val( OperKinds::Eq, (yyvsp[(1) - (3)].en), (yyvsp[(3) - (3)].en) ) ); }
    53815464    break;
     
    53845467
    53855468/* Line 1806 of yacc.c  */
    5386 #line 575 "parser.yy"
     5469#line 582 "parser.yy"
    53875470    { (yyval.en) = new ExpressionNode( build_binary_val( OperKinds::Neq, (yyvsp[(1) - (3)].en), (yyvsp[(3) - (3)].en) ) ); }
    53885471    break;
     
    53915474
    53925475/* Line 1806 of yacc.c  */
    5393 #line 581 "parser.yy"
     5476#line 588 "parser.yy"
    53945477    { (yyval.en) = new ExpressionNode( build_binary_val( OperKinds::BitAnd, (yyvsp[(1) - (3)].en), (yyvsp[(3) - (3)].en) ) ); }
    53955478    break;
     
    53985481
    53995482/* Line 1806 of yacc.c  */
    5400 #line 587 "parser.yy"
     5483#line 594 "parser.yy"
    54015484    { (yyval.en) = new ExpressionNode( build_binary_val( OperKinds::Xor, (yyvsp[(1) - (3)].en), (yyvsp[(3) - (3)].en) ) ); }
    54025485    break;
     
    54055488
    54065489/* Line 1806 of yacc.c  */
    5407 #line 593 "parser.yy"
     5490#line 600 "parser.yy"
    54085491    { (yyval.en) = new ExpressionNode( build_binary_val( OperKinds::BitOr, (yyvsp[(1) - (3)].en), (yyvsp[(3) - (3)].en) ) ); }
    54095492    break;
     
    54125495
    54135496/* Line 1806 of yacc.c  */
    5414 #line 599 "parser.yy"
     5497#line 606 "parser.yy"
    54155498    { (yyval.en) = new ExpressionNode( build_and_or( (yyvsp[(1) - (3)].en), (yyvsp[(3) - (3)].en), true ) ); }
    54165499    break;
     
    54195502
    54205503/* Line 1806 of yacc.c  */
    5421 #line 605 "parser.yy"
     5504#line 612 "parser.yy"
    54225505    { (yyval.en) = new ExpressionNode( build_and_or( (yyvsp[(1) - (3)].en), (yyvsp[(3) - (3)].en), false ) ); }
    54235506    break;
     
    54265509
    54275510/* Line 1806 of yacc.c  */
    5428 #line 611 "parser.yy"
     5511#line 618 "parser.yy"
    54295512    { (yyval.en) = new ExpressionNode( build_cond( (yyvsp[(1) - (5)].en), (yyvsp[(3) - (5)].en), (yyvsp[(5) - (5)].en) ) ); }
    54305513    break;
     
    54335516
    54345517/* Line 1806 of yacc.c  */
    5435 #line 614 "parser.yy"
     5518#line 621 "parser.yy"
    54365519    { (yyval.en) = new ExpressionNode( build_cond( (yyvsp[(1) - (4)].en), (yyvsp[(1) - (4)].en), (yyvsp[(4) - (4)].en) ) ); }
    54375520    break;
     
    54405523
    54415524/* Line 1806 of yacc.c  */
    5442 #line 627 "parser.yy"
     5525#line 634 "parser.yy"
    54435526    { (yyval.en) = new ExpressionNode( build_binary_ptr( (yyvsp[(2) - (3)].op), (yyvsp[(1) - (3)].en), (yyvsp[(3) - (3)].en) ) ); }
    54445527    break;
     
    54475530
    54485531/* Line 1806 of yacc.c  */
    5449 #line 634 "parser.yy"
     5532#line 641 "parser.yy"
    54505533    { (yyval.en) = nullptr; }
    54515534    break;
     
    54545537
    54555538/* Line 1806 of yacc.c  */
    5456 #line 639 "parser.yy"
     5539#line 646 "parser.yy"
    54575540    { (yyval.op) = OperKinds::Assign; }
    54585541    break;
     
    54615544
    54625545/* Line 1806 of yacc.c  */
    5463 #line 640 "parser.yy"
     5546#line 647 "parser.yy"
    54645547    { (yyval.op) = OperKinds::AtAssn; }
    54655548    break;
     
    54685551
    54695552/* Line 1806 of yacc.c  */
    5470 #line 641 "parser.yy"
     5553#line 648 "parser.yy"
    54715554    { (yyval.op) = OperKinds::MulAssn; }
    54725555    break;
     
    54755558
    54765559/* Line 1806 of yacc.c  */
    5477 #line 642 "parser.yy"
     5560#line 649 "parser.yy"
    54785561    { (yyval.op) = OperKinds::DivAssn; }
    54795562    break;
     
    54825565
    54835566/* Line 1806 of yacc.c  */
    5484 #line 643 "parser.yy"
     5567#line 650 "parser.yy"
    54855568    { (yyval.op) = OperKinds::ModAssn; }
    54865569    break;
     
    54895572
    54905573/* Line 1806 of yacc.c  */
    5491 #line 644 "parser.yy"
     5574#line 651 "parser.yy"
    54925575    { (yyval.op) = OperKinds::PlusAssn; }
    54935576    break;
     
    54965579
    54975580/* Line 1806 of yacc.c  */
    5498 #line 645 "parser.yy"
     5581#line 652 "parser.yy"
    54995582    { (yyval.op) = OperKinds::MinusAssn; }
    55005583    break;
     
    55035586
    55045587/* Line 1806 of yacc.c  */
    5505 #line 646 "parser.yy"
     5588#line 653 "parser.yy"
    55065589    { (yyval.op) = OperKinds::LSAssn; }
    55075590    break;
     
    55105593
    55115594/* Line 1806 of yacc.c  */
    5512 #line 647 "parser.yy"
     5595#line 654 "parser.yy"
    55135596    { (yyval.op) = OperKinds::RSAssn; }
    55145597    break;
     
    55175600
    55185601/* Line 1806 of yacc.c  */
    5519 #line 648 "parser.yy"
     5602#line 655 "parser.yy"
    55205603    { (yyval.op) = OperKinds::AndAssn; }
    55215604    break;
     
    55245607
    55255608/* Line 1806 of yacc.c  */
    5526 #line 649 "parser.yy"
     5609#line 656 "parser.yy"
    55275610    { (yyval.op) = OperKinds::ERAssn; }
    55285611    break;
     
    55315614
    55325615/* Line 1806 of yacc.c  */
    5533 #line 650 "parser.yy"
     5616#line 657 "parser.yy"
    55345617    { (yyval.op) = OperKinds::OrAssn; }
    55355618    break;
     
    55385621
    55395622/* Line 1806 of yacc.c  */
    5540 #line 661 "parser.yy"
     5623#line 668 "parser.yy"
    55415624    { (yyval.en) = new ExpressionNode( build_tuple( (ExpressionNode *)(new ExpressionNode( nullptr ) )->set_last( (yyvsp[(4) - (6)].en) ) ) ); }
    55425625    break;
     
    55455628
    55465629/* Line 1806 of yacc.c  */
    5547 #line 663 "parser.yy"
     5630#line 670 "parser.yy"
    55485631    { (yyval.en) = new ExpressionNode( build_tuple( (ExpressionNode *)(yyvsp[(3) - (7)].en)->set_last( (yyvsp[(5) - (7)].en) ) ) ); }
    55495632    break;
     
    55525635
    55535636/* Line 1806 of yacc.c  */
    5554 #line 669 "parser.yy"
     5637#line 676 "parser.yy"
    55555638    { (yyval.en) = (ExpressionNode *)(yyvsp[(1) - (3)].en)->set_last( (yyvsp[(3) - (3)].en) ); }
    55565639    break;
     
    55595642
    55605643/* Line 1806 of yacc.c  */
    5561 #line 675 "parser.yy"
     5644#line 682 "parser.yy"
    55625645    { (yyval.en) = new ExpressionNode( build_comma( (yyvsp[(1) - (3)].en), (yyvsp[(3) - (3)].en) ) ); }
    55635646    break;
     
    55665649
    55675650/* Line 1806 of yacc.c  */
    5568 #line 680 "parser.yy"
    5569     { (yyval.en) = 0; }
     5651#line 687 "parser.yy"
     5652    { (yyval.en) = nullptr; }
    55705653    break;
    55715654
     
    55735656
    55745657/* Line 1806 of yacc.c  */
    5575 #line 689 "parser.yy"
     5658#line 696 "parser.yy"
    55765659    { (yyval.sn) = (yyvsp[(1) - (1)].sn); }
    55775660    break;
     
    55805663
    55815664/* Line 1806 of yacc.c  */
    5582 #line 696 "parser.yy"
     5665#line 703 "parser.yy"
    55835666    {
    55845667                        Token fn;
     
    55915674
    55925675/* Line 1806 of yacc.c  */
    5593 #line 706 "parser.yy"
     5676#line 713 "parser.yy"
    55945677    {
    55955678                        (yyval.sn) = (yyvsp[(4) - (4)].sn)->add_label( (yyvsp[(1) - (4)].tok) );
     
    56005683
    56015684/* Line 1806 of yacc.c  */
    5602 #line 713 "parser.yy"
     5685#line 720 "parser.yy"
    56035686    { (yyval.sn) = new StatementNode( build_compound( (StatementNode *)0 ) ); }
    56045687    break;
     
    56075690
    56085691/* Line 1806 of yacc.c  */
    5609 #line 720 "parser.yy"
     5692#line 727 "parser.yy"
    56105693    { (yyval.sn) = new StatementNode( build_compound( (yyvsp[(5) - (7)].sn) ) ); }
    56115694    break;
     
    56145697
    56155698/* Line 1806 of yacc.c  */
    5616 #line 726 "parser.yy"
     5699#line 733 "parser.yy"
    56175700    { if ( (yyvsp[(1) - (3)].sn) != 0 ) { (yyvsp[(1) - (3)].sn)->set_last( (yyvsp[(3) - (3)].sn) ); (yyval.sn) = (yyvsp[(1) - (3)].sn); } }
    56185701    break;
     
    56215704
    56225705/* Line 1806 of yacc.c  */
    5623 #line 731 "parser.yy"
     5706#line 738 "parser.yy"
    56245707    { (yyval.sn) = new StatementNode( (yyvsp[(1) - (1)].decl) ); }
    56255708    break;
     
    56285711
    56295712/* Line 1806 of yacc.c  */
    5630 #line 733 "parser.yy"
     5713#line 740 "parser.yy"
    56315714    {   // mark all fields in list
    56325715                        for ( DeclarationNode *iter = (yyvsp[(2) - (2)].decl); iter != nullptr; iter = (DeclarationNode *)iter->get_next() )
     
    56395722
    56405723/* Line 1806 of yacc.c  */
    5641 #line 739 "parser.yy"
     5724#line 746 "parser.yy"
    56425725    { (yyval.sn) = new StatementNode( (yyvsp[(1) - (1)].decl) ); }
    56435726    break;
     
    56465729
    56475730/* Line 1806 of yacc.c  */
    5648 #line 746 "parser.yy"
     5731#line 753 "parser.yy"
    56495732    { if ( (yyvsp[(1) - (2)].sn) != 0 ) { (yyvsp[(1) - (2)].sn)->set_last( (yyvsp[(2) - (2)].sn) ); (yyval.sn) = (yyvsp[(1) - (2)].sn); } }
    56505733    break;
     
    56535736
    56545737/* Line 1806 of yacc.c  */
    5655 #line 751 "parser.yy"
     5738#line 758 "parser.yy"
    56565739    { (yyval.sn) = new StatementNode( build_expr( (yyvsp[(1) - (2)].en) ) ); }
    56575740    break;
     
    56605743
    56615744/* Line 1806 of yacc.c  */
    5662 #line 757 "parser.yy"
     5745#line 764 "parser.yy"
    56635746    { (yyval.sn) = new StatementNode( build_if( (yyvsp[(3) - (5)].en), (yyvsp[(5) - (5)].sn), nullptr ) ); }
    56645747    break;
     
    56675750
    56685751/* Line 1806 of yacc.c  */
    5669 #line 759 "parser.yy"
     5752#line 766 "parser.yy"
    56705753    { (yyval.sn) = new StatementNode( build_if( (yyvsp[(3) - (7)].en), (yyvsp[(5) - (7)].sn), (yyvsp[(7) - (7)].sn) ) ); }
    56715754    break;
     
    56745757
    56755758/* Line 1806 of yacc.c  */
    5676 #line 761 "parser.yy"
     5759#line 768 "parser.yy"
    56775760    { (yyval.sn) = new StatementNode( build_switch( (yyvsp[(3) - (5)].en), (yyvsp[(5) - (5)].sn) ) ); }
    56785761    break;
     
    56815764
    56825765/* Line 1806 of yacc.c  */
    5683 #line 763 "parser.yy"
     5766#line 770 "parser.yy"
    56845767    {
    56855768                        StatementNode *sw = new StatementNode( build_switch( (yyvsp[(3) - (9)].en), (yyvsp[(8) - (9)].sn) ) );
     
    56895772                        // therefore, are removed from the grammar even though C allows it. The change also applies to choose
    56905773                        // statement.
    5691                         (yyval.sn) = (yyvsp[(7) - (9)].decl) != 0 ? new StatementNode( build_compound( (StatementNode *)((new StatementNode( (yyvsp[(7) - (9)].decl) ))->set_last( sw )) ) ) : sw;
     5774                        (yyval.sn) = (yyvsp[(7) - (9)].decl) ? new StatementNode( build_compound( (StatementNode *)((new StatementNode( (yyvsp[(7) - (9)].decl) ))->set_last( sw )) ) ) : sw;
    56925775                }
    56935776    break;
     
    56965779
    56975780/* Line 1806 of yacc.c  */
    5698 #line 773 "parser.yy"
     5781#line 780 "parser.yy"
    56995782    { (yyval.sn) = new StatementNode( build_switch( (yyvsp[(3) - (5)].en), (yyvsp[(5) - (5)].sn) ) ); }
    57005783    break;
     
    57035786
    57045787/* Line 1806 of yacc.c  */
    5705 #line 775 "parser.yy"
     5788#line 782 "parser.yy"
    57065789    {
    57075790                        StatementNode *sw = new StatementNode( build_switch( (yyvsp[(3) - (9)].en), (yyvsp[(8) - (9)].sn) ) );
    5708                         (yyval.sn) = (yyvsp[(7) - (9)].decl) != 0 ? new StatementNode( build_compound( (StatementNode *)((new StatementNode( (yyvsp[(7) - (9)].decl) ))->set_last( sw )) ) ) : sw;
     5791                        (yyval.sn) = (yyvsp[(7) - (9)].decl) ? new StatementNode( build_compound( (StatementNode *)((new StatementNode( (yyvsp[(7) - (9)].decl) ))->set_last( sw )) ) ) : sw;
    57095792                }
    57105793    break;
     
    57135796
    57145797/* Line 1806 of yacc.c  */
    5715 #line 785 "parser.yy"
     5798#line 792 "parser.yy"
    57165799    { (yyval.en) = (yyvsp[(1) - (1)].en); }
    57175800    break;
     
    57205803
    57215804/* Line 1806 of yacc.c  */
    5722 #line 787 "parser.yy"
     5805#line 794 "parser.yy"
    57235806    { (yyval.en) = new ExpressionNode( build_range( (yyvsp[(1) - (3)].en), (yyvsp[(3) - (3)].en) ) ); }
    57245807    break;
     
    57275810
    57285811/* Line 1806 of yacc.c  */
    5729 #line 792 "parser.yy"
     5812#line 799 "parser.yy"
    57305813    { (yyval.sn) = new StatementNode( build_case( (yyvsp[(1) - (1)].en) ) ); }
    57315814    break;
     
    57345817
    57355818/* Line 1806 of yacc.c  */
    5736 #line 794 "parser.yy"
     5819#line 801 "parser.yy"
    57375820    { (yyval.sn) = (StatementNode *)((yyvsp[(1) - (3)].sn)->set_last( new StatementNode( build_case( (yyvsp[(3) - (3)].en) ) ) ) ); }
    57385821    break;
     
    57415824
    57425825/* Line 1806 of yacc.c  */
    5743 #line 798 "parser.yy"
     5826#line 805 "parser.yy"
    57445827    { (yyval.sn) = (yyvsp[(2) - (3)].sn); }
    57455828    break;
     
    57485831
    57495832/* Line 1806 of yacc.c  */
    5750 #line 799 "parser.yy"
     5833#line 806 "parser.yy"
    57515834    { (yyval.sn) = new StatementNode( build_default() ); }
    57525835    break;
     
    57555838
    57565839/* Line 1806 of yacc.c  */
    5757 #line 805 "parser.yy"
     5840#line 812 "parser.yy"
    57585841    { (yyval.sn) = (StatementNode *)( (yyvsp[(1) - (2)].sn)->set_last( (yyvsp[(2) - (2)].sn) )); }
    57595842    break;
     
    57625845
    57635846/* Line 1806 of yacc.c  */
    5764 #line 809 "parser.yy"
     5847#line 816 "parser.yy"
    57655848    { (yyval.sn) = (yyvsp[(1) - (2)].sn)->append_last_case( new StatementNode( build_compound( (yyvsp[(2) - (2)].sn) ) ) ); }
    57665849    break;
     
    57695852
    57705853/* Line 1806 of yacc.c  */
    5771 #line 814 "parser.yy"
    5772     { (yyval.sn) = 0; }
     5854#line 821 "parser.yy"
     5855    { (yyval.sn) = nullptr; }
    57735856    break;
    57745857
     
    57765859
    57775860/* Line 1806 of yacc.c  */
    5778 #line 820 "parser.yy"
     5861#line 827 "parser.yy"
    57795862    { (yyval.sn) = (yyvsp[(1) - (2)].sn)->append_last_case( new StatementNode( build_compound( (yyvsp[(2) - (2)].sn) ) ) ); }
    57805863    break;
     
    57835866
    57845867/* Line 1806 of yacc.c  */
    5785 #line 822 "parser.yy"
     5868#line 829 "parser.yy"
    57865869    { (yyval.sn) = (StatementNode *)( (yyvsp[(1) - (3)].sn)->set_last( (yyvsp[(2) - (3)].sn)->append_last_case( new StatementNode( build_compound( (yyvsp[(3) - (3)].sn) ) ) ) ) ); }
    57875870    break;
     
    57905873
    57915874/* Line 1806 of yacc.c  */
    5792 #line 827 "parser.yy"
    5793     { (yyval.sn) = 0; }
     5875#line 834 "parser.yy"
     5876    { (yyval.sn) = nullptr; }
    57945877    break;
    57955878
     
    57975880
    57985881/* Line 1806 of yacc.c  */
    5799 #line 833 "parser.yy"
     5882#line 840 "parser.yy"
    58005883    { (yyval.sn) = (yyvsp[(1) - (2)].sn)->append_last_case( (yyvsp[(2) - (2)].sn) ); }
    58015884    break;
     
    58045887
    58055888/* Line 1806 of yacc.c  */
    5806 #line 835 "parser.yy"
     5889#line 842 "parser.yy"
    58075890    { (yyval.sn) = (yyvsp[(1) - (3)].sn)->append_last_case( new StatementNode( build_compound( (StatementNode *)(yyvsp[(2) - (3)].sn)->set_last( (yyvsp[(3) - (3)].sn) ) ) ) ); }
    58085891    break;
     
    58115894
    58125895/* Line 1806 of yacc.c  */
    5813 #line 837 "parser.yy"
     5896#line 844 "parser.yy"
    58145897    { (yyval.sn) = (StatementNode *)( (yyvsp[(1) - (3)].sn)->set_last( (yyvsp[(2) - (3)].sn)->append_last_case( (yyvsp[(3) - (3)].sn) ))); }
    58155898    break;
     
    58185901
    58195902/* Line 1806 of yacc.c  */
    5820 #line 839 "parser.yy"
     5903#line 846 "parser.yy"
    58215904    { (yyval.sn) = (StatementNode *)( (yyvsp[(1) - (4)].sn)->set_last( (yyvsp[(2) - (4)].sn)->append_last_case( new StatementNode( build_compound( (StatementNode *)(yyvsp[(3) - (4)].sn)->set_last( (yyvsp[(4) - (4)].sn) ) ) ) ) ) ); }
    58225905    break;
     
    58255908
    58265909/* Line 1806 of yacc.c  */
    5827 #line 844 "parser.yy"
     5910#line 851 "parser.yy"
    58285911    { (yyval.sn) = new StatementNode( build_branch( BranchStmt::Break ) ); }
    58295912    break;
     
    58325915
    58335916/* Line 1806 of yacc.c  */
    5834 #line 850 "parser.yy"
    5835     { (yyval.sn) = 0; }
     5917#line 857 "parser.yy"
     5918    { (yyval.sn) = nullptr; }
    58365919    break;
    58375920
     
    58395922
    58405923/* Line 1806 of yacc.c  */
    5841 #line 852 "parser.yy"
    5842     { (yyval.sn) = 0; }
     5924#line 859 "parser.yy"
     5925    { (yyval.sn) = nullptr; }
    58435926    break;
    58445927
     
    58465929
    58475930/* Line 1806 of yacc.c  */
    5848 #line 857 "parser.yy"
     5931#line 864 "parser.yy"
    58495932    { (yyval.sn) = new StatementNode( build_while( (yyvsp[(3) - (5)].en), (yyvsp[(5) - (5)].sn) ) ); }
    58505933    break;
     
    58535936
    58545937/* Line 1806 of yacc.c  */
    5855 #line 859 "parser.yy"
     5938#line 866 "parser.yy"
    58565939    { (yyval.sn) = new StatementNode( build_while( (yyvsp[(5) - (7)].en), (yyvsp[(2) - (7)].sn), true ) ); }
    58575940    break;
     
    58605943
    58615944/* Line 1806 of yacc.c  */
    5862 #line 861 "parser.yy"
     5945#line 868 "parser.yy"
    58635946    { (yyval.sn) = new StatementNode( build_for( (yyvsp[(4) - (6)].fctl), (yyvsp[(6) - (6)].sn) ) ); }
    58645947    break;
     
    58675950
    58685951/* Line 1806 of yacc.c  */
    5869 #line 866 "parser.yy"
     5952#line 873 "parser.yy"
    58705953    { (yyval.fctl) = new ForCtl( (yyvsp[(1) - (6)].en), (yyvsp[(4) - (6)].en), (yyvsp[(6) - (6)].en) ); }
    58715954    break;
     
    58745957
    58755958/* Line 1806 of yacc.c  */
    5876 #line 868 "parser.yy"
     5959#line 875 "parser.yy"
    58775960    { (yyval.fctl) = new ForCtl( (yyvsp[(1) - (4)].decl), (yyvsp[(2) - (4)].en), (yyvsp[(4) - (4)].en) ); }
    58785961    break;
     
    58815964
    58825965/* Line 1806 of yacc.c  */
    5883 #line 873 "parser.yy"
     5966#line 880 "parser.yy"
    58845967    { (yyval.sn) = new StatementNode( build_branch( (yyvsp[(2) - (3)].tok), BranchStmt::Goto ) ); }
    58855968    break;
     
    58885971
    58895972/* Line 1806 of yacc.c  */
    5890 #line 877 "parser.yy"
     5973#line 884 "parser.yy"
    58915974    { (yyval.sn) = new StatementNode( build_computedgoto( (yyvsp[(3) - (4)].en) ) ); }
    58925975    break;
     
    58955978
    58965979/* Line 1806 of yacc.c  */
    5897 #line 880 "parser.yy"
     5980#line 887 "parser.yy"
    58985981    { (yyval.sn) = new StatementNode( build_branch( BranchStmt::Continue ) ); }
    58995982    break;
     
    59025985
    59035986/* Line 1806 of yacc.c  */
    5904 #line 884 "parser.yy"
     5987#line 891 "parser.yy"
    59055988    { (yyval.sn) = new StatementNode( build_branch( (yyvsp[(2) - (3)].tok), BranchStmt::Continue ) ); }
    59065989    break;
     
    59095992
    59105993/* Line 1806 of yacc.c  */
    5911 #line 887 "parser.yy"
     5994#line 894 "parser.yy"
    59125995    { (yyval.sn) = new StatementNode( build_branch( BranchStmt::Break ) ); }
    59135996    break;
     
    59165999
    59176000/* Line 1806 of yacc.c  */
    5918 #line 891 "parser.yy"
     6001#line 898 "parser.yy"
    59196002    { (yyval.sn) = new StatementNode( build_branch( (yyvsp[(2) - (3)].tok), BranchStmt::Break ) ); }
    59206003    break;
     
    59236006
    59246007/* Line 1806 of yacc.c  */
    5925 #line 893 "parser.yy"
     6008#line 900 "parser.yy"
    59266009    { (yyval.sn) = new StatementNode( build_return( (yyvsp[(2) - (3)].en) ) ); }
    59276010    break;
     
    59306013
    59316014/* Line 1806 of yacc.c  */
    5932 #line 895 "parser.yy"
     6015#line 902 "parser.yy"
    59336016    { (yyval.sn) = new StatementNode( build_throw( (yyvsp[(2) - (3)].en) ) ); }
    59346017    break;
     
    59376020
    59386021/* Line 1806 of yacc.c  */
    5939 #line 897 "parser.yy"
     6022#line 904 "parser.yy"
    59406023    { (yyval.sn) = new StatementNode( build_throw( (yyvsp[(2) - (3)].en) ) ); }
    59416024    break;
     
    59446027
    59456028/* Line 1806 of yacc.c  */
    5946 #line 899 "parser.yy"
     6029#line 906 "parser.yy"
    59476030    { (yyval.sn) = new StatementNode( build_throw( (yyvsp[(2) - (5)].en) ) ); }
    59486031    break;
     
    59516034
    59526035/* Line 1806 of yacc.c  */
    5953 #line 904 "parser.yy"
     6036#line 911 "parser.yy"
    59546037    { (yyval.sn) = new StatementNode( build_try( (yyvsp[(2) - (3)].sn), (yyvsp[(3) - (3)].sn), 0 ) ); }
    59556038    break;
     
    59586041
    59596042/* Line 1806 of yacc.c  */
    5960 #line 906 "parser.yy"
     6043#line 913 "parser.yy"
    59616044    { (yyval.sn) = new StatementNode( build_try( (yyvsp[(2) - (3)].sn), 0, (yyvsp[(3) - (3)].sn) ) ); }
    59626045    break;
     
    59656048
    59666049/* Line 1806 of yacc.c  */
    5967 #line 908 "parser.yy"
     6050#line 915 "parser.yy"
    59686051    { (yyval.sn) = new StatementNode( build_try( (yyvsp[(2) - (4)].sn), (yyvsp[(3) - (4)].sn), (yyvsp[(4) - (4)].sn) ) ); }
    59696052    break;
     
    59726055
    59736056/* Line 1806 of yacc.c  */
    5974 #line 915 "parser.yy"
     6057#line 922 "parser.yy"
    59756058    { (yyval.sn) = new StatementNode( build_catch( 0, (yyvsp[(5) - (5)].sn), true ) ); }
    59766059    break;
     
    59796062
    59806063/* Line 1806 of yacc.c  */
    5981 #line 917 "parser.yy"
     6064#line 924 "parser.yy"
    59826065    { (yyval.sn) = (StatementNode *)(yyvsp[(1) - (6)].sn)->set_last( new StatementNode( build_catch( 0, (yyvsp[(6) - (6)].sn), true ) ) ); }
    59836066    break;
     
    59866069
    59876070/* Line 1806 of yacc.c  */
    5988 #line 919 "parser.yy"
     6071#line 926 "parser.yy"
    59896072    { (yyval.sn) = new StatementNode( build_catch( 0, (yyvsp[(5) - (5)].sn), true ) ); }
    59906073    break;
     
    59936076
    59946077/* Line 1806 of yacc.c  */
    5995 #line 921 "parser.yy"
     6078#line 928 "parser.yy"
    59966079    { (yyval.sn) = (StatementNode *)(yyvsp[(1) - (6)].sn)->set_last( new StatementNode( build_catch( 0, (yyvsp[(6) - (6)].sn), true ) ) ); }
    59976080    break;
     
    60006083
    60016084/* Line 1806 of yacc.c  */
    6002 #line 926 "parser.yy"
     6085#line 933 "parser.yy"
    60036086    { (yyval.sn) = new StatementNode( build_catch( (yyvsp[(5) - (9)].decl), (yyvsp[(8) - (9)].sn) ) ); }
    60046087    break;
     
    60076090
    60086091/* Line 1806 of yacc.c  */
    6009 #line 928 "parser.yy"
     6092#line 935 "parser.yy"
    60106093    { (yyval.sn) = (StatementNode *)(yyvsp[(1) - (10)].sn)->set_last( new StatementNode( build_catch( (yyvsp[(6) - (10)].decl), (yyvsp[(9) - (10)].sn) ) ) ); }
    60116094    break;
     
    60146097
    60156098/* Line 1806 of yacc.c  */
    6016 #line 930 "parser.yy"
     6099#line 937 "parser.yy"
    60176100    { (yyval.sn) = new StatementNode( build_catch( (yyvsp[(5) - (9)].decl), (yyvsp[(8) - (9)].sn) ) ); }
    60186101    break;
     
    60216104
    60226105/* Line 1806 of yacc.c  */
    6023 #line 932 "parser.yy"
     6106#line 939 "parser.yy"
    60246107    { (yyval.sn) = (StatementNode *)(yyvsp[(1) - (10)].sn)->set_last( new StatementNode( build_catch( (yyvsp[(6) - (10)].decl), (yyvsp[(9) - (10)].sn) ) ) ); }
    60256108    break;
     
    60286111
    60296112/* Line 1806 of yacc.c  */
    6030 #line 937 "parser.yy"
     6113#line 944 "parser.yy"
    60316114    {
    60326115                        (yyval.sn) = new StatementNode( build_finally( (yyvsp[(2) - (2)].sn) ) );
     
    60376120
    60386121/* Line 1806 of yacc.c  */
    6039 #line 950 "parser.yy"
     6122#line 957 "parser.yy"
    60406123    {
    60416124                        typedefTable.addToEnclosingScope( TypedefTable::ID );
     
    60476130
    60486131/* Line 1806 of yacc.c  */
    6049 #line 955 "parser.yy"
     6132#line 962 "parser.yy"
    60506133    { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addType( (yyvsp[(1) - (2)].decl) ); }
    60516134    break;
     
    60546137
    60556138/* Line 1806 of yacc.c  */
    6056 #line 957 "parser.yy"
     6139#line 964 "parser.yy"
    60576140    {
    60586141                        typedefTable.addToEnclosingScope( TypedefTable::ID );
     
    60646147
    60656148/* Line 1806 of yacc.c  */
    6066 #line 966 "parser.yy"
     6149#line 973 "parser.yy"
    60676150    { (yyval.sn) = new StatementNode( build_asmstmt( (yyvsp[(2) - (6)].flag), (yyvsp[(4) - (6)].constant), 0 ) ); }
    60686151    break;
     
    60716154
    60726155/* Line 1806 of yacc.c  */
    6073 #line 968 "parser.yy"
     6156#line 975 "parser.yy"
    60746157    { (yyval.sn) = new StatementNode( build_asmstmt( (yyvsp[(2) - (8)].flag), (yyvsp[(4) - (8)].constant), (yyvsp[(6) - (8)].en) ) ); }
    60756158    break;
     
    60786161
    60796162/* Line 1806 of yacc.c  */
    6080 #line 970 "parser.yy"
     6163#line 977 "parser.yy"
    60816164    { (yyval.sn) = new StatementNode( build_asmstmt( (yyvsp[(2) - (10)].flag), (yyvsp[(4) - (10)].constant), (yyvsp[(6) - (10)].en), (yyvsp[(8) - (10)].en) ) ); }
    60826165    break;
     
    60856168
    60866169/* Line 1806 of yacc.c  */
    6087 #line 972 "parser.yy"
     6170#line 979 "parser.yy"
    60886171    { (yyval.sn) = new StatementNode( build_asmstmt( (yyvsp[(2) - (12)].flag), (yyvsp[(4) - (12)].constant), (yyvsp[(6) - (12)].en), (yyvsp[(8) - (12)].en), (yyvsp[(10) - (12)].en) ) ); }
    60896172    break;
     
    60926175
    60936176/* Line 1806 of yacc.c  */
    6094 #line 974 "parser.yy"
     6177#line 981 "parser.yy"
    60956178    { (yyval.sn) = new StatementNode( build_asmstmt( (yyvsp[(2) - (14)].flag), (yyvsp[(5) - (14)].constant), 0, (yyvsp[(8) - (14)].en), (yyvsp[(10) - (14)].en), (yyvsp[(12) - (14)].label) ) ); }
    60966179    break;
     
    60996182
    61006183/* Line 1806 of yacc.c  */
    6101 #line 979 "parser.yy"
     6184#line 986 "parser.yy"
    61026185    { (yyval.flag) = false; }
    61036186    break;
     
    61066189
    61076190/* Line 1806 of yacc.c  */
    6108 #line 981 "parser.yy"
     6191#line 988 "parser.yy"
    61096192    { (yyval.flag) = true; }
    61106193    break;
     
    61136196
    61146197/* Line 1806 of yacc.c  */
    6115 #line 986 "parser.yy"
    6116     { (yyval.en) = 0; }
     6198#line 993 "parser.yy"
     6199    { (yyval.en) = nullptr; }
    61176200    break;
    61186201
     
    61206203
    61216204/* Line 1806 of yacc.c  */
    6122 #line 993 "parser.yy"
     6205#line 1000 "parser.yy"
    61236206    { (yyval.en) = (ExpressionNode *)(yyvsp[(1) - (3)].en)->set_last( (yyvsp[(3) - (3)].en) ); }
    61246207    break;
     
    61276210
    61286211/* Line 1806 of yacc.c  */
    6129 #line 998 "parser.yy"
     6212#line 1005 "parser.yy"
    61306213    { (yyval.en) = new ExpressionNode( build_asmexpr( 0, (yyvsp[(1) - (4)].constant), (yyvsp[(3) - (4)].en) ) ); }
    61316214    break;
     
    61346217
    61356218/* Line 1806 of yacc.c  */
    6136 #line 1000 "parser.yy"
     6219#line 1007 "parser.yy"
    61376220    { (yyval.en) = new ExpressionNode( build_asmexpr( (yyvsp[(2) - (7)].en), (yyvsp[(4) - (7)].constant), (yyvsp[(6) - (7)].en) ) ); }
    61386221    break;
     
    61416224
    61426225/* Line 1806 of yacc.c  */
    6143 #line 1005 "parser.yy"
    6144     { (yyval.en) = 0; }
     6226#line 1012 "parser.yy"
     6227    { (yyval.en) = nullptr; }
    61456228    break;
    61466229
     
    61486231
    61496232/* Line 1806 of yacc.c  */
    6150 #line 1007 "parser.yy"
     6233#line 1014 "parser.yy"
    61516234    { (yyval.en) = new ExpressionNode( (yyvsp[(1) - (1)].constant) ); }
    61526235    break;
     
    61556238
    61566239/* Line 1806 of yacc.c  */
    6157 #line 1009 "parser.yy"
     6240#line 1017 "parser.yy"
    61586241    { (yyval.en) = (ExpressionNode *)(yyvsp[(1) - (3)].en)->set_last( new ExpressionNode( (yyvsp[(3) - (3)].constant) ) ); }
    61596242    break;
     
    61626245
    61636246/* Line 1806 of yacc.c  */
    6164 #line 1014 "parser.yy"
     6247#line 1022 "parser.yy"
    61656248    {
    61666249                        (yyval.label) = new LabelNode(); (yyval.label)->labels.push_back( *(yyvsp[(1) - (1)].tok) );
     
    61726255
    61736256/* Line 1806 of yacc.c  */
    6174 #line 1019 "parser.yy"
     6257#line 1027 "parser.yy"
    61756258    {
    61766259                        (yyval.label) = (yyvsp[(1) - (3)].label); (yyvsp[(1) - (3)].label)->labels.push_back( *(yyvsp[(3) - (3)].tok) );
     
    61826265
    61836266/* Line 1806 of yacc.c  */
    6184 #line 1029 "parser.yy"
    6185     { (yyval.decl) = 0; }
     6267#line 1037 "parser.yy"
     6268    { (yyval.decl) = nullptr; }
    61866269    break;
    61876270
     
    61896272
    61906273/* Line 1806 of yacc.c  */
    6191 #line 1036 "parser.yy"
     6274#line 1044 "parser.yy"
    61926275    { (yyval.decl) = (yyvsp[(1) - (3)].decl)->appendList( (yyvsp[(3) - (3)].decl) ); }
    61936276    break;
     
    61966279
    61976280/* Line 1806 of yacc.c  */
    6198 #line 1041 "parser.yy"
    6199     { (yyval.decl) = 0; }
     6281#line 1049 "parser.yy"
     6282    { (yyval.decl) = nullptr; }
    62006283    break;
    62016284
     
    62036286
    62046287/* Line 1806 of yacc.c  */
    6205 #line 1048 "parser.yy"
     6288#line 1056 "parser.yy"
    62066289    { (yyval.decl) = (yyvsp[(1) - (3)].decl)->appendList( (yyvsp[(3) - (3)].decl) ); }
    62076290    break;
     
    62106293
    62116294/* Line 1806 of yacc.c  */
    6212 #line 1062 "parser.yy"
     6295#line 1070 "parser.yy"
    62136296    {}
    62146297    break;
     
    62176300
    62186301/* Line 1806 of yacc.c  */
    6219 #line 1063 "parser.yy"
     6302#line 1071 "parser.yy"
    62206303    {}
    62216304    break;
     
    62246307
    62256308/* Line 1806 of yacc.c  */
    6226 #line 1092 "parser.yy"
     6309#line 1100 "parser.yy"
    62276310    {
    62286311                        typedefTable.addToEnclosingScope( TypedefTable::ID );
     
    62346317
    62356318/* Line 1806 of yacc.c  */
    6236 #line 1099 "parser.yy"
     6319#line 1107 "parser.yy"
    62376320    {
    62386321                        typedefTable.addToEnclosingScope( TypedefTable::ID );
     
    62446327
    62456328/* Line 1806 of yacc.c  */
    6246 #line 1104 "parser.yy"
     6329#line 1112 "parser.yy"
    62476330    {
    62486331                        typedefTable.addToEnclosingScope( *(yyvsp[(5) - (6)].tok), TypedefTable::ID );
     
    62546337
    62556338/* Line 1806 of yacc.c  */
    6256 #line 1114 "parser.yy"
     6339#line 1122 "parser.yy"
    62576340    {
    62586341                        typedefTable.setNextIdentifier( *(yyvsp[(2) - (3)].tok) );
    6259                         (yyval.decl) = (yyvsp[(1) - (3)].decl)->addName( (yyvsp[(2) - (3)].tok) );
     6342                        (yyval.decl) = (yyvsp[(1) - (3)].decl)->addName( (yyvsp[(2) - (3)].tok) )->addAsmName( (yyvsp[(3) - (3)].constant) );
    62606343                }
    62616344    break;
     
    62646347
    62656348/* Line 1806 of yacc.c  */
    6266 #line 1119 "parser.yy"
     6349#line 1127 "parser.yy"
    62676350    {
    62686351                        typedefTable.setNextIdentifier( *(yyvsp[(2) - (3)].tok) );
    6269                         (yyval.decl) = (yyvsp[(1) - (3)].decl)->addName( (yyvsp[(2) - (3)].tok) );
     6352                        (yyval.decl) = (yyvsp[(1) - (3)].decl)->addName( (yyvsp[(2) - (3)].tok) )->addAsmName( (yyvsp[(3) - (3)].constant) );
    62706353                }
    62716354    break;
     
    62746357
    62756358/* Line 1806 of yacc.c  */
    6276 #line 1124 "parser.yy"
     6359#line 1132 "parser.yy"
    62776360    {
    62786361                        typedefTable.setNextIdentifier( *(yyvsp[(3) - (4)].tok) );
    6279                         (yyval.decl) = (yyvsp[(2) - (4)].decl)->addQualifiers( (yyvsp[(1) - (4)].decl) )->addName( (yyvsp[(3) - (4)].tok) );
     6362                        (yyval.decl) = (yyvsp[(2) - (4)].decl)->addQualifiers( (yyvsp[(1) - (4)].decl) )->addName( (yyvsp[(3) - (4)].tok) )->addAsmName( (yyvsp[(4) - (4)].constant) );
    62806363                }
    62816364    break;
     
    62846367
    62856368/* Line 1806 of yacc.c  */
    6286 #line 1132 "parser.yy"
     6369#line 1140 "parser.yy"
    62876370    {
    62886371                        typedefTable.addToEnclosingScope( TypedefTable::ID );
     
    62946377
    62956378/* Line 1806 of yacc.c  */
    6296 #line 1137 "parser.yy"
     6379#line 1145 "parser.yy"
    62976380    {
    62986381                        typedefTable.addToEnclosingScope( TypedefTable::ID );
     
    63046387
    63056388/* Line 1806 of yacc.c  */
    6306 #line 1142 "parser.yy"
     6389#line 1150 "parser.yy"
    63076390    {
    63086391                        typedefTable.addToEnclosingScope( TypedefTable::ID );
     
    63146397
    63156398/* Line 1806 of yacc.c  */
    6316 #line 1147 "parser.yy"
     6399#line 1155 "parser.yy"
    63176400    {
    63186401                        typedefTable.addToEnclosingScope( TypedefTable::ID );
     
    63246407
    63256408/* Line 1806 of yacc.c  */
    6326 #line 1152 "parser.yy"
     6409#line 1160 "parser.yy"
    63276410    {
    63286411                        typedefTable.addToEnclosingScope( *(yyvsp[(5) - (5)].tok), TypedefTable::ID );
     
    63346417
    63356418/* Line 1806 of yacc.c  */
    6336 #line 1183 "parser.yy"
     6419#line 1191 "parser.yy"
    63376420    {
    63386421                        (yyval.decl) = DeclarationNode::newFunction( (yyvsp[(2) - (7)].tok), (yyvsp[(1) - (7)].decl), (yyvsp[(5) - (7)].decl), 0, true );
     
    63436426
    63446427/* Line 1806 of yacc.c  */
    6345 #line 1187 "parser.yy"
     6428#line 1195 "parser.yy"
    63466429    {
    63476430                        (yyval.decl) = DeclarationNode::newFunction( (yyvsp[(2) - (7)].tok), (yyvsp[(1) - (7)].decl), (yyvsp[(5) - (7)].decl), 0, true );
     
    63526435
    63536436/* Line 1806 of yacc.c  */
    6354 #line 1194 "parser.yy"
     6437#line 1202 "parser.yy"
    63556438    { (yyval.decl) = DeclarationNode::newTuple( (yyvsp[(3) - (5)].decl) ); }
    63566439    break;
     
    63596442
    63606443/* Line 1806 of yacc.c  */
    6361 #line 1198 "parser.yy"
     6444#line 1206 "parser.yy"
    63626445    { (yyval.decl) = DeclarationNode::newTuple( (yyvsp[(3) - (9)].decl)->appendList( (yyvsp[(7) - (9)].decl) ) ); }
    63636446    break;
     
    63666449
    63676450/* Line 1806 of yacc.c  */
    6368 #line 1203 "parser.yy"
     6451#line 1211 "parser.yy"
    63696452    {
    63706453                        typedefTable.addToEnclosingScope( TypedefTable::TD );
     
    63766459
    63776460/* Line 1806 of yacc.c  */
    6378 #line 1208 "parser.yy"
     6461#line 1216 "parser.yy"
    63796462    {
    63806463                        typedefTable.addToEnclosingScope( TypedefTable::TD );
     
    63866469
    63876470/* Line 1806 of yacc.c  */
    6388 #line 1213 "parser.yy"
     6471#line 1221 "parser.yy"
    63896472    {
    63906473                        typedefTable.addToEnclosingScope( *(yyvsp[(5) - (5)].tok), TypedefTable::TD );
     
    63966479
    63976480/* Line 1806 of yacc.c  */
    6398 #line 1224 "parser.yy"
     6481#line 1232 "parser.yy"
    63996482    {
    64006483                        typedefTable.addToEnclosingScope( TypedefTable::TD );
     
    64066489
    64076490/* Line 1806 of yacc.c  */
    6408 #line 1229 "parser.yy"
     6491#line 1237 "parser.yy"
    64096492    {
    64106493                        typedefTable.addToEnclosingScope( TypedefTable::TD );
     
    64166499
    64176500/* Line 1806 of yacc.c  */
    6418 #line 1234 "parser.yy"
     6501#line 1242 "parser.yy"
    64196502    {
    64206503                        typedefTable.addToEnclosingScope( TypedefTable::TD );
     
    64266509
    64276510/* Line 1806 of yacc.c  */
    6428 #line 1239 "parser.yy"
     6511#line 1247 "parser.yy"
    64296512    {
    64306513                        typedefTable.addToEnclosingScope( TypedefTable::TD );
     
    64366519
    64376520/* Line 1806 of yacc.c  */
    6438 #line 1244 "parser.yy"
     6521#line 1252 "parser.yy"
    64396522    {
    64406523                        typedefTable.addToEnclosingScope( TypedefTable::TD );
     
    64466529
    64476530/* Line 1806 of yacc.c  */
    6448 #line 1253 "parser.yy"
     6531#line 1261 "parser.yy"
    64496532    {
    64506533                        typedefTable.addToEnclosingScope( *(yyvsp[(2) - (4)].tok), TypedefTable::TD );
     
    64566539
    64576540/* Line 1806 of yacc.c  */
    6458 #line 1258 "parser.yy"
     6541#line 1266 "parser.yy"
    64596542    {
    64606543                        typedefTable.addToEnclosingScope( *(yyvsp[(5) - (7)].tok), TypedefTable::TD );
     
    64666549
    64676550/* Line 1806 of yacc.c  */
    6468 #line 1275 "parser.yy"
     6551#line 1283 "parser.yy"
    64696552    {
    64706553                        typedefTable.addToEnclosingScope( TypedefTable::ID );
    6471                         (yyval.decl) = ( (yyvsp[(2) - (4)].decl)->addType( (yyvsp[(1) - (4)].decl) ))->addInitializer( (yyvsp[(4) - (4)].in) );
     6554                        (yyval.decl) = ( (yyvsp[(2) - (4)].decl)->addType( (yyvsp[(1) - (4)].decl) ))->addAsmName( (yyvsp[(3) - (4)].constant) )->addInitializer( (yyvsp[(4) - (4)].in) );
    64726555                }
    64736556    break;
     
    64766559
    64776560/* Line 1806 of yacc.c  */
    6478 #line 1280 "parser.yy"
     6561#line 1288 "parser.yy"
    64796562    {
    64806563                        typedefTable.addToEnclosingScope( TypedefTable::ID );
    6481                         (yyval.decl) = (yyvsp[(1) - (6)].decl)->appendList( (yyvsp[(1) - (6)].decl)->cloneBaseType( (yyvsp[(4) - (6)].decl)->addInitializer( (yyvsp[(6) - (6)].in) ) ) );
     6564                        (yyval.decl) = (yyvsp[(1) - (6)].decl)->appendList( (yyvsp[(1) - (6)].decl)->cloneBaseType( (yyvsp[(4) - (6)].decl)->addAsmName( (yyvsp[(5) - (6)].constant) )->addInitializer( (yyvsp[(6) - (6)].in) ) ) );
    64826565                }
    64836566    break;
     
    64866569
    64876570/* Line 1806 of yacc.c  */
    6488 #line 1302 "parser.yy"
    6489     { (yyval.decl) = 0; }
     6571#line 1310 "parser.yy"
     6572    { (yyval.decl) = nullptr; }
    64906573    break;
    64916574
     
    64936576
    64946577/* Line 1806 of yacc.c  */
    6495 #line 1314 "parser.yy"
     6578#line 1322 "parser.yy"
    64966579    { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); }
    64976580    break;
     
    65006583
    65016584/* Line 1806 of yacc.c  */
    6502 #line 1325 "parser.yy"
     6585#line 1333 "parser.yy"
    65036586    { (yyval.decl) = DeclarationNode::newQualifier( DeclarationNode::Const ); }
    65046587    break;
     
    65076590
    65086591/* Line 1806 of yacc.c  */
    6509 #line 1327 "parser.yy"
     6592#line 1335 "parser.yy"
    65106593    { (yyval.decl) = DeclarationNode::newQualifier( DeclarationNode::Restrict ); }
    65116594    break;
     
    65146597
    65156598/* Line 1806 of yacc.c  */
    6516 #line 1329 "parser.yy"
     6599#line 1337 "parser.yy"
    65176600    { (yyval.decl) = DeclarationNode::newQualifier( DeclarationNode::Volatile ); }
    65186601    break;
     
    65216604
    65226605/* Line 1806 of yacc.c  */
    6523 #line 1331 "parser.yy"
     6606#line 1339 "parser.yy"
    65246607    { (yyval.decl) = DeclarationNode::newQualifier( DeclarationNode::Lvalue ); }
    65256608    break;
     
    65286611
    65296612/* Line 1806 of yacc.c  */
    6530 #line 1333 "parser.yy"
     6613#line 1341 "parser.yy"
    65316614    { (yyval.decl) = DeclarationNode::newQualifier( DeclarationNode::Atomic ); }
    65326615    break;
     
    65356618
    65366619/* Line 1806 of yacc.c  */
    6537 #line 1335 "parser.yy"
     6620#line 1343 "parser.yy"
    65386621    {
    65396622                        typedefTable.enterScope();
     
    65446627
    65456628/* Line 1806 of yacc.c  */
    6546 #line 1339 "parser.yy"
     6629#line 1347 "parser.yy"
    65476630    {
    65486631                        typedefTable.leaveScope();
     
    65546637
    65556638/* Line 1806 of yacc.c  */
    6556 #line 1348 "parser.yy"
     6639#line 1356 "parser.yy"
    65576640    { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); }
    65586641    break;
     
    65616644
    65626645/* Line 1806 of yacc.c  */
    6563 #line 1350 "parser.yy"
     6646#line 1358 "parser.yy"
    65646647    { (yyval.decl) = (yyvsp[(1) - (3)].decl)->addQualifiers( (yyvsp[(2) - (3)].decl) )->addQualifiers( (yyvsp[(3) - (3)].decl) ); }
    65656648    break;
     
    65686651
    65696652/* Line 1806 of yacc.c  */
    6570 #line 1361 "parser.yy"
     6653#line 1369 "parser.yy"
    65716654    { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); }
    65726655    break;
     
    65756658
    65766659/* Line 1806 of yacc.c  */
    6577 #line 1366 "parser.yy"
     6660#line 1374 "parser.yy"
    65786661    { (yyval.decl) = DeclarationNode::newStorageClass( DeclarationNode::Extern ); }
    65796662    break;
     
    65826665
    65836666/* Line 1806 of yacc.c  */
    6584 #line 1368 "parser.yy"
     6667#line 1376 "parser.yy"
    65856668    { (yyval.decl) = DeclarationNode::newStorageClass( DeclarationNode::Static ); }
    65866669    break;
     
    65896672
    65906673/* Line 1806 of yacc.c  */
    6591 #line 1370 "parser.yy"
     6674#line 1378 "parser.yy"
    65926675    { (yyval.decl) = DeclarationNode::newStorageClass( DeclarationNode::Auto ); }
    65936676    break;
     
    65966679
    65976680/* Line 1806 of yacc.c  */
    6598 #line 1372 "parser.yy"
     6681#line 1380 "parser.yy"
    65996682    { (yyval.decl) = DeclarationNode::newStorageClass( DeclarationNode::Register ); }
    66006683    break;
     
    66036686
    66046687/* Line 1806 of yacc.c  */
    6605 #line 1375 "parser.yy"
     6688#line 1383 "parser.yy"
    66066689    { (yyval.decl) = new DeclarationNode; (yyval.decl)->isInline = true; }
    66076690    break;
     
    66106693
    66116694/* Line 1806 of yacc.c  */
    6612 #line 1377 "parser.yy"
     6695#line 1385 "parser.yy"
    66136696    { (yyval.decl) = DeclarationNode::newStorageClass( DeclarationNode::Fortran ); }
    66146697    break;
     
    66176700
    66186701/* Line 1806 of yacc.c  */
    6619 #line 1380 "parser.yy"
     6702#line 1388 "parser.yy"
    66206703    { (yyval.decl) = new DeclarationNode; (yyval.decl)->isNoreturn = true; }
    66216704    break;
     
    66246707
    66256708/* Line 1806 of yacc.c  */
    6626 #line 1382 "parser.yy"
     6709#line 1390 "parser.yy"
    66276710    { (yyval.decl) = DeclarationNode::newStorageClass( DeclarationNode::Threadlocal ); }
    66286711    break;
     
    66316714
    66326715/* Line 1806 of yacc.c  */
    6633 #line 1387 "parser.yy"
     6716#line 1395 "parser.yy"
    66346717    { (yyval.decl) = DeclarationNode::newBasicType( DeclarationNode::Char ); }
    66356718    break;
     
    66386721
    66396722/* Line 1806 of yacc.c  */
    6640 #line 1389 "parser.yy"
     6723#line 1397 "parser.yy"
    66416724    { (yyval.decl) = DeclarationNode::newBasicType( DeclarationNode::Double ); }
    66426725    break;
     
    66456728
    66466729/* Line 1806 of yacc.c  */
    6647 #line 1391 "parser.yy"
     6730#line 1399 "parser.yy"
    66486731    { (yyval.decl) = DeclarationNode::newBasicType( DeclarationNode::Float ); }
    66496732    break;
     
    66526735
    66536736/* Line 1806 of yacc.c  */
    6654 #line 1393 "parser.yy"
     6737#line 1401 "parser.yy"
    66556738    { (yyval.decl) = DeclarationNode::newBasicType( DeclarationNode::Int ); }
    66566739    break;
     
    66596742
    66606743/* Line 1806 of yacc.c  */
    6661 #line 1395 "parser.yy"
     6744#line 1403 "parser.yy"
    66626745    { (yyval.decl) = DeclarationNode::newLength( DeclarationNode::Long ); }
    66636746    break;
     
    66666749
    66676750/* Line 1806 of yacc.c  */
    6668 #line 1397 "parser.yy"
     6751#line 1405 "parser.yy"
    66696752    { (yyval.decl) = DeclarationNode::newLength( DeclarationNode::Short ); }
    66706753    break;
     
    66736756
    66746757/* Line 1806 of yacc.c  */
    6675 #line 1399 "parser.yy"
     6758#line 1407 "parser.yy"
    66766759    { (yyval.decl) = DeclarationNode::newSignedNess( DeclarationNode::Signed ); }
    66776760    break;
     
    66806763
    66816764/* Line 1806 of yacc.c  */
    6682 #line 1401 "parser.yy"
     6765#line 1409 "parser.yy"
    66836766    { (yyval.decl) = DeclarationNode::newSignedNess( DeclarationNode::Unsigned ); }
    66846767    break;
     
    66876770
    66886771/* Line 1806 of yacc.c  */
    6689 #line 1403 "parser.yy"
     6772#line 1411 "parser.yy"
    66906773    { (yyval.decl) = DeclarationNode::newBasicType( DeclarationNode::Void ); }
    66916774    break;
     
    66946777
    66956778/* Line 1806 of yacc.c  */
    6696 #line 1405 "parser.yy"
     6779#line 1413 "parser.yy"
    66976780    { (yyval.decl) = DeclarationNode::newBasicType( DeclarationNode::Bool ); }
    66986781    break;
     
    67016784
    67026785/* Line 1806 of yacc.c  */
    6703 #line 1407 "parser.yy"
     6786#line 1415 "parser.yy"
    67046787    { (yyval.decl) = DeclarationNode::newComplexType( DeclarationNode::Complex ); }
    67056788    break;
     
    67086791
    67096792/* Line 1806 of yacc.c  */
    6710 #line 1409 "parser.yy"
     6793#line 1417 "parser.yy"
    67116794    { (yyval.decl) = DeclarationNode::newComplexType( DeclarationNode::Imaginary ); }
    67126795    break;
     
    67156798
    67166799/* Line 1806 of yacc.c  */
    6717 #line 1411 "parser.yy"
     6800#line 1419 "parser.yy"
    67186801    { (yyval.decl) = DeclarationNode::newBuiltinType( DeclarationNode::Valist ); }
    67196802    break;
    67206803
     6804  case 337:
     6805
     6806/* Line 1806 of yacc.c  */
     6807#line 1421 "parser.yy"
     6808    { (yyval.decl) = DeclarationNode::newBuiltinType( DeclarationNode::Zero ); }
     6809    break;
     6810
    67216811  case 338:
    67226812
    67236813/* Line 1806 of yacc.c  */
    6724 #line 1418 "parser.yy"
     6814#line 1423 "parser.yy"
     6815    { (yyval.decl) = DeclarationNode::newBuiltinType( DeclarationNode::One ); }
     6816    break;
     6817
     6818  case 340:
     6819
     6820/* Line 1806 of yacc.c  */
     6821#line 1430 "parser.yy"
    67256822    { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addQualifiers( (yyvsp[(1) - (2)].decl) ); }
    67266823    break;
    67276824
    6728   case 339:
    6729 
    6730 /* Line 1806 of yacc.c  */
    6731 #line 1420 "parser.yy"
     6825  case 341:
     6826
     6827/* Line 1806 of yacc.c  */
     6828#line 1432 "parser.yy"
    67326829    { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); }
    67336830    break;
    67346831
    6735   case 340:
    6736 
    6737 /* Line 1806 of yacc.c  */
    6738 #line 1422 "parser.yy"
     6832  case 342:
     6833
     6834/* Line 1806 of yacc.c  */
     6835#line 1434 "parser.yy"
    67396836    { (yyval.decl) = (yyvsp[(1) - (3)].decl)->addQualifiers( (yyvsp[(2) - (3)].decl) )->addQualifiers( (yyvsp[(3) - (3)].decl) ); }
    67406837    break;
    67416838
    6742   case 341:
    6743 
    6744 /* Line 1806 of yacc.c  */
    6745 #line 1424 "parser.yy"
     6839  case 343:
     6840
     6841/* Line 1806 of yacc.c  */
     6842#line 1436 "parser.yy"
    67466843    { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addQualifiers( (yyvsp[(2) - (3)].decl) )->addType( (yyvsp[(1) - (3)].decl) ); }
    67476844    break;
    67486845
    6749   case 343:
    6750 
    6751 /* Line 1806 of yacc.c  */
    6752 #line 1430 "parser.yy"
     6846  case 345:
     6847
     6848/* Line 1806 of yacc.c  */
     6849#line 1442 "parser.yy"
    67536850    { (yyval.decl) = (yyvsp[(2) - (3)].decl)->addQualifiers( (yyvsp[(1) - (3)].decl) )->addQualifiers( (yyvsp[(3) - (3)].decl) ); }
    67546851    break;
    67556852
    6756   case 345:
    6757 
    6758 /* Line 1806 of yacc.c  */
    6759 #line 1437 "parser.yy"
     6853  case 347:
     6854
     6855/* Line 1806 of yacc.c  */
     6856#line 1449 "parser.yy"
    67606857    { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addQualifiers( (yyvsp[(1) - (2)].decl) ); }
    67616858    break;
    67626859
    6763   case 346:
    6764 
    6765 /* Line 1806 of yacc.c  */
    6766 #line 1439 "parser.yy"
     6860  case 348:
     6861
     6862/* Line 1806 of yacc.c  */
     6863#line 1451 "parser.yy"
    67676864    { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); }
    67686865    break;
    67696866
    6770   case 347:
    6771 
    6772 /* Line 1806 of yacc.c  */
    6773 #line 1441 "parser.yy"
     6867  case 349:
     6868
     6869/* Line 1806 of yacc.c  */
     6870#line 1453 "parser.yy"
    67746871    { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addType( (yyvsp[(2) - (2)].decl) ); }
    67756872    break;
    67766873
    6777   case 348:
    6778 
    6779 /* Line 1806 of yacc.c  */
    6780 #line 1446 "parser.yy"
     6874  case 350:
     6875
     6876/* Line 1806 of yacc.c  */
     6877#line 1458 "parser.yy"
    67816878    { (yyval.decl) = (yyvsp[(3) - (4)].decl); }
    67826879    break;
    67836880
    6784   case 349:
    6785 
    6786 /* Line 1806 of yacc.c  */
    6787 #line 1448 "parser.yy"
     6881  case 351:
     6882
     6883/* Line 1806 of yacc.c  */
     6884#line 1460 "parser.yy"
    67886885    { (yyval.decl) = DeclarationNode::newTypeof( (yyvsp[(3) - (4)].en) ); }
    67896886    break;
    67906887
    6791   case 350:
    6792 
    6793 /* Line 1806 of yacc.c  */
    6794 #line 1450 "parser.yy"
     6888  case 352:
     6889
     6890/* Line 1806 of yacc.c  */
     6891#line 1462 "parser.yy"
    67956892    { (yyval.decl) = DeclarationNode::newAttr( (yyvsp[(1) - (4)].tok), (yyvsp[(3) - (4)].decl) ); }
    67966893    break;
    67976894
    6798   case 351:
    6799 
    6800 /* Line 1806 of yacc.c  */
    6801 #line 1452 "parser.yy"
     6895  case 353:
     6896
     6897/* Line 1806 of yacc.c  */
     6898#line 1464 "parser.yy"
    68026899    { (yyval.decl) = DeclarationNode::newAttr( (yyvsp[(1) - (4)].tok), (yyvsp[(3) - (4)].en) ); }
    68036900    break;
    68046901
    6805   case 353:
    6806 
    6807 /* Line 1806 of yacc.c  */
    6808 #line 1458 "parser.yy"
     6902  case 355:
     6903
     6904/* Line 1806 of yacc.c  */
     6905#line 1470 "parser.yy"
    68096906    { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addQualifiers( (yyvsp[(1) - (2)].decl) ); }
    68106907    break;
    68116908
    6812   case 354:
    6813 
    6814 /* Line 1806 of yacc.c  */
    6815 #line 1460 "parser.yy"
     6909  case 356:
     6910
     6911/* Line 1806 of yacc.c  */
     6912#line 1472 "parser.yy"
    68166913    { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); }
    68176914    break;
    68186915
    6819   case 355:
    6820 
    6821 /* Line 1806 of yacc.c  */
    6822 #line 1462 "parser.yy"
     6916  case 357:
     6917
     6918/* Line 1806 of yacc.c  */
     6919#line 1474 "parser.yy"
    68236920    { (yyval.decl) = (yyvsp[(1) - (3)].decl)->addQualifiers( (yyvsp[(2) - (3)].decl) )->addQualifiers( (yyvsp[(3) - (3)].decl) ); }
    68246921    break;
    68256922
    6826   case 357:
    6827 
    6828 /* Line 1806 of yacc.c  */
    6829 #line 1468 "parser.yy"
     6923  case 359:
     6924
     6925/* Line 1806 of yacc.c  */
     6926#line 1480 "parser.yy"
    68306927    { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addQualifiers( (yyvsp[(1) - (2)].decl) ); }
    68316928    break;
    68326929
    6833   case 358:
    6834 
    6835 /* Line 1806 of yacc.c  */
    6836 #line 1470 "parser.yy"
     6930  case 360:
     6931
     6932/* Line 1806 of yacc.c  */
     6933#line 1482 "parser.yy"
    68376934    { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); }
    68386935    break;
    68396936
    6840   case 360:
    6841 
    6842 /* Line 1806 of yacc.c  */
    6843 #line 1476 "parser.yy"
     6937  case 362:
     6938
     6939/* Line 1806 of yacc.c  */
     6940#line 1488 "parser.yy"
    68446941    { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addQualifiers( (yyvsp[(1) - (2)].decl) ); }
    68456942    break;
    68466943
    6847   case 361:
    6848 
    6849 /* Line 1806 of yacc.c  */
    6850 #line 1478 "parser.yy"
     6944  case 363:
     6945
     6946/* Line 1806 of yacc.c  */
     6947#line 1490 "parser.yy"
    68516948    { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); }
    68526949    break;
    68536950
    6854   case 362:
    6855 
    6856 /* Line 1806 of yacc.c  */
    6857 #line 1480 "parser.yy"
     6951  case 364:
     6952
     6953/* Line 1806 of yacc.c  */
     6954#line 1492 "parser.yy"
    68586955    { (yyval.decl) = (yyvsp[(1) - (3)].decl)->addQualifiers( (yyvsp[(2) - (3)].decl) )->addQualifiers( (yyvsp[(3) - (3)].decl) ); }
    68596956    break;
    68606957
    6861   case 363:
    6862 
    6863 /* Line 1806 of yacc.c  */
    6864 #line 1485 "parser.yy"
     6958  case 365:
     6959
     6960/* Line 1806 of yacc.c  */
     6961#line 1497 "parser.yy"
    68656962    { (yyval.decl) = DeclarationNode::newFromTypedef( (yyvsp[(1) - (1)].tok) ); }
    68666963    break;
    68676964
    6868   case 364:
    6869 
    6870 /* Line 1806 of yacc.c  */
    6871 #line 1487 "parser.yy"
     6965  case 366:
     6966
     6967/* Line 1806 of yacc.c  */
     6968#line 1499 "parser.yy"
    68726969    { (yyval.decl) = DeclarationNode::newFromTypedef( (yyvsp[(2) - (2)].tok) )->addQualifiers( (yyvsp[(1) - (2)].decl) ); }
    68736970    break;
    68746971
    6875   case 365:
    6876 
    6877 /* Line 1806 of yacc.c  */
    6878 #line 1489 "parser.yy"
     6972  case 367:
     6973
     6974/* Line 1806 of yacc.c  */
     6975#line 1501 "parser.yy"
    68796976    { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); }
    68806977    break;
    68816978
    6882   case 368:
    6883 
    6884 /* Line 1806 of yacc.c  */
    6885 #line 1499 "parser.yy"
     6979  case 370:
     6980
     6981/* Line 1806 of yacc.c  */
     6982#line 1511 "parser.yy"
    68866983    { (yyval.decl) = DeclarationNode::newAggregate( (yyvsp[(1) - (4)].aggKey), nullptr, nullptr, (yyvsp[(3) - (4)].decl), true ); }
    68876984    break;
    68886985
    6889   case 369:
    6890 
    6891 /* Line 1806 of yacc.c  */
    6892 #line 1501 "parser.yy"
     6986  case 371:
     6987
     6988/* Line 1806 of yacc.c  */
     6989#line 1513 "parser.yy"
    68936990    {
    68946991                        typedefTable.makeTypedef( *(yyvsp[(2) - (2)].tok) );
     
    68976994    break;
    68986995
    6899   case 370:
    6900 
    6901 /* Line 1806 of yacc.c  */
    6902 #line 1506 "parser.yy"
     6996  case 372:
     6997
     6998/* Line 1806 of yacc.c  */
     6999#line 1518 "parser.yy"
    69037000    { typedefTable.makeTypedef( *(yyvsp[(2) - (2)].tok) ); }
    69047001    break;
    69057002
    6906   case 371:
    6907 
    6908 /* Line 1806 of yacc.c  */
    6909 #line 1508 "parser.yy"
     7003  case 373:
     7004
     7005/* Line 1806 of yacc.c  */
     7006#line 1520 "parser.yy"
    69107007    { (yyval.decl) = DeclarationNode::newAggregate( (yyvsp[(1) - (6)].aggKey), (yyvsp[(2) - (6)].tok), nullptr, (yyvsp[(5) - (6)].decl), true ); }
    69117008    break;
    69127009
    6913   case 372:
    6914 
    6915 /* Line 1806 of yacc.c  */
    6916 #line 1510 "parser.yy"
     7010  case 374:
     7011
     7012/* Line 1806 of yacc.c  */
     7013#line 1522 "parser.yy"
    69177014    { (yyval.decl) = DeclarationNode::newAggregate( (yyvsp[(1) - (7)].aggKey), nullptr, (yyvsp[(3) - (7)].en), (yyvsp[(6) - (7)].decl), false ); }
    69187015    break;
    69197016
    6920   case 373:
    6921 
    6922 /* Line 1806 of yacc.c  */
    6923 #line 1512 "parser.yy"
     7017  case 375:
     7018
     7019/* Line 1806 of yacc.c  */
     7020#line 1524 "parser.yy"
    69247021    { (yyval.decl) = (yyvsp[(2) - (2)].decl); }
    69257022    break;
    69267023
    6927   case 374:
    6928 
    6929 /* Line 1806 of yacc.c  */
    6930 #line 1517 "parser.yy"
     7024  case 376:
     7025
     7026/* Line 1806 of yacc.c  */
     7027#line 1529 "parser.yy"
    69317028    { (yyval.aggKey) = DeclarationNode::Struct; }
    69327029    break;
    69337030
    6934   case 375:
    6935 
    6936 /* Line 1806 of yacc.c  */
    6937 #line 1519 "parser.yy"
     7031  case 377:
     7032
     7033/* Line 1806 of yacc.c  */
     7034#line 1531 "parser.yy"
    69387035    { (yyval.aggKey) = DeclarationNode::Union; }
    69397036    break;
    69407037
    6941   case 376:
    6942 
    6943 /* Line 1806 of yacc.c  */
    6944 #line 1524 "parser.yy"
    6945     { (yyval.decl) = 0; }
    6946     break;
    6947 
    6948   case 377:
    6949 
    6950 /* Line 1806 of yacc.c  */
    6951 #line 1526 "parser.yy"
    6952     { (yyval.decl) = (yyvsp[(1) - (2)].decl) != 0 ? (yyvsp[(1) - (2)].decl)->appendList( (yyvsp[(2) - (2)].decl) ) : (yyvsp[(2) - (2)].decl); }
     7038  case 378:
     7039
     7040/* Line 1806 of yacc.c  */
     7041#line 1536 "parser.yy"
     7042    { (yyval.decl) = nullptr; }
    69537043    break;
    69547044
     
    69567046
    69577047/* Line 1806 of yacc.c  */
    6958 #line 1532 "parser.yy"
     7048#line 1538 "parser.yy"
     7049    { (yyval.decl) = (yyvsp[(1) - (2)].decl) ? (yyvsp[(1) - (2)].decl)->appendList( (yyvsp[(2) - (2)].decl) ) : (yyvsp[(2) - (2)].decl); }
     7050    break;
     7051
     7052  case 381:
     7053
     7054/* Line 1806 of yacc.c  */
     7055#line 1544 "parser.yy"
    69597056    { (yyval.decl) = (yyvsp[(2) - (3)].decl)->set_extension( true ); }
    69607057    break;
    69617058
    6962   case 381:
    6963 
    6964 /* Line 1806 of yacc.c  */
    6965 #line 1535 "parser.yy"
     7059  case 383:
     7060
     7061/* Line 1806 of yacc.c  */
     7062#line 1547 "parser.yy"
    69667063    {   // mark all fields in list
    69677064                        for ( DeclarationNode *iter = (yyvsp[(2) - (3)].decl); iter != nullptr; iter = (DeclarationNode *)iter->get_next() )
     
    69717068    break;
    69727069
    6973   case 383:
    6974 
    6975 /* Line 1806 of yacc.c  */
    6976 #line 1545 "parser.yy"
     7070  case 385:
     7071
     7072/* Line 1806 of yacc.c  */
     7073#line 1557 "parser.yy"
    69777074    { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addName( (yyvsp[(2) - (2)].tok) ); }
    69787075    break;
    69797076
    6980   case 384:
    6981 
    6982 /* Line 1806 of yacc.c  */
    6983 #line 1547 "parser.yy"
     7077  case 386:
     7078
     7079/* Line 1806 of yacc.c  */
     7080#line 1559 "parser.yy"
    69847081    { (yyval.decl) = (yyvsp[(1) - (3)].decl)->appendList( (yyvsp[(1) - (3)].decl)->cloneType( (yyvsp[(3) - (3)].tok) ) ); }
    69857082    break;
    69867083
    6987   case 385:
    6988 
    6989 /* Line 1806 of yacc.c  */
    6990 #line 1549 "parser.yy"
     7084  case 387:
     7085
     7086/* Line 1806 of yacc.c  */
     7087#line 1561 "parser.yy"
    69917088    { (yyval.decl) = (yyvsp[(1) - (2)].decl)->appendList( (yyvsp[(1) - (2)].decl)->cloneType( 0 ) ); }
    69927089    break;
    69937090
    6994   case 386:
    6995 
    6996 /* Line 1806 of yacc.c  */
    6997 #line 1554 "parser.yy"
     7091  case 388:
     7092
     7093/* Line 1806 of yacc.c  */
     7094#line 1566 "parser.yy"
    69987095    { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addType( (yyvsp[(1) - (2)].decl) ); }
    69997096    break;
    70007097
    7001   case 387:
    7002 
    7003 /* Line 1806 of yacc.c  */
    7004 #line 1556 "parser.yy"
     7098  case 389:
     7099
     7100/* Line 1806 of yacc.c  */
     7101#line 1568 "parser.yy"
    70057102    { (yyval.decl) = (yyvsp[(1) - (4)].decl)->appendList( (yyvsp[(1) - (4)].decl)->cloneBaseType( (yyvsp[(4) - (4)].decl) ) ); }
    70067103    break;
    70077104
    7008   case 388:
    7009 
    7010 /* Line 1806 of yacc.c  */
    7011 #line 1561 "parser.yy"
     7105  case 390:
     7106
     7107/* Line 1806 of yacc.c  */
     7108#line 1573 "parser.yy"
    70127109    { (yyval.decl) = DeclarationNode::newName( 0 ); /* XXX */ }
    70137110    break;
    70147111
    7015   case 389:
    7016 
    7017 /* Line 1806 of yacc.c  */
    7018 #line 1563 "parser.yy"
     7112  case 391:
     7113
     7114/* Line 1806 of yacc.c  */
     7115#line 1575 "parser.yy"
    70197116    { (yyval.decl) = DeclarationNode::newBitfield( (yyvsp[(1) - (1)].en) ); }
    70207117    break;
    70217118
    7022   case 390:
    7023 
    7024 /* Line 1806 of yacc.c  */
    7025 #line 1566 "parser.yy"
     7119  case 392:
     7120
     7121/* Line 1806 of yacc.c  */
     7122#line 1578 "parser.yy"
    70267123    { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addBitfield( (yyvsp[(2) - (2)].en) ); }
    70277124    break;
    70287125
    7029   case 391:
    7030 
    7031 /* Line 1806 of yacc.c  */
    7032 #line 1569 "parser.yy"
     7126  case 393:
     7127
     7128/* Line 1806 of yacc.c  */
     7129#line 1581 "parser.yy"
    70337130    { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addBitfield( (yyvsp[(2) - (2)].en) ); }
    70347131    break;
    70357132
    7036   case 393:
    7037 
    7038 /* Line 1806 of yacc.c  */
    7039 #line 1575 "parser.yy"
    7040     { (yyval.en) = 0; }
    7041     break;
    7042 
    7043   case 394:
    7044 
    7045 /* Line 1806 of yacc.c  */
    7046 #line 1577 "parser.yy"
     7133  case 395:
     7134
     7135/* Line 1806 of yacc.c  */
     7136#line 1587 "parser.yy"
     7137    { (yyval.en) = nullptr; }
     7138    break;
     7139
     7140  case 396:
     7141
     7142/* Line 1806 of yacc.c  */
     7143#line 1589 "parser.yy"
    70477144    { (yyval.en) = (yyvsp[(1) - (1)].en); }
    70487145    break;
    70497146
    7050   case 395:
    7051 
    7052 /* Line 1806 of yacc.c  */
    7053 #line 1582 "parser.yy"
     7147  case 397:
     7148
     7149/* Line 1806 of yacc.c  */
     7150#line 1594 "parser.yy"
    70547151    { (yyval.en) = (yyvsp[(2) - (2)].en); }
    70557152    break;
    70567153
    7057   case 397:
    7058 
    7059 /* Line 1806 of yacc.c  */
    7060 #line 1591 "parser.yy"
     7154  case 399:
     7155
     7156/* Line 1806 of yacc.c  */
     7157#line 1603 "parser.yy"
    70617158    { (yyval.decl) = DeclarationNode::newEnum( nullptr, (yyvsp[(3) - (5)].decl) ); }
    70627159    break;
    70637160
    7064   case 398:
    7065 
    7066 /* Line 1806 of yacc.c  */
    7067 #line 1593 "parser.yy"
     7161  case 400:
     7162
     7163/* Line 1806 of yacc.c  */
     7164#line 1605 "parser.yy"
    70687165    {
    70697166                        typedefTable.makeTypedef( *(yyvsp[(2) - (2)].tok) );
     
    70727169    break;
    70737170
    7074   case 399:
    7075 
    7076 /* Line 1806 of yacc.c  */
    7077 #line 1598 "parser.yy"
     7171  case 401:
     7172
     7173/* Line 1806 of yacc.c  */
     7174#line 1610 "parser.yy"
    70787175    { typedefTable.makeTypedef( *(yyvsp[(2) - (2)].tok) ); }
    70797176    break;
    70807177
    7081   case 400:
    7082 
    7083 /* Line 1806 of yacc.c  */
    7084 #line 1600 "parser.yy"
     7178  case 402:
     7179
     7180/* Line 1806 of yacc.c  */
     7181#line 1612 "parser.yy"
    70857182    { (yyval.decl) = DeclarationNode::newEnum( (yyvsp[(2) - (7)].tok), (yyvsp[(5) - (7)].decl) ); }
    70867183    break;
    70877184
    7088   case 401:
    7089 
    7090 /* Line 1806 of yacc.c  */
    7091 #line 1605 "parser.yy"
     7185  case 403:
     7186
     7187/* Line 1806 of yacc.c  */
     7188#line 1617 "parser.yy"
    70927189    { (yyval.decl) = DeclarationNode::newEnumConstant( (yyvsp[(1) - (2)].tok), (yyvsp[(2) - (2)].en) ); }
    70937190    break;
    70947191
    7095   case 402:
    7096 
    7097 /* Line 1806 of yacc.c  */
    7098 #line 1607 "parser.yy"
     7192  case 404:
     7193
     7194/* Line 1806 of yacc.c  */
     7195#line 1619 "parser.yy"
    70997196    { (yyval.decl) = (yyvsp[(1) - (4)].decl)->appendList( DeclarationNode::newEnumConstant( (yyvsp[(3) - (4)].tok), (yyvsp[(4) - (4)].en) ) ); }
    71007197    break;
    71017198
    7102   case 403:
    7103 
    7104 /* Line 1806 of yacc.c  */
    7105 #line 1612 "parser.yy"
    7106     { (yyval.en) = 0; }
    7107     break;
    7108 
    7109   case 404:
    7110 
    7111 /* Line 1806 of yacc.c  */
    7112 #line 1614 "parser.yy"
     7199  case 405:
     7200
     7201/* Line 1806 of yacc.c  */
     7202#line 1624 "parser.yy"
     7203    { (yyval.en) = nullptr; }
     7204    break;
     7205
     7206  case 406:
     7207
     7208/* Line 1806 of yacc.c  */
     7209#line 1626 "parser.yy"
    71137210    { (yyval.en) = (yyvsp[(2) - (2)].en); }
    71147211    break;
    71157212
    7116   case 405:
    7117 
    7118 /* Line 1806 of yacc.c  */
    7119 #line 1621 "parser.yy"
    7120     { (yyval.decl) = 0; }
    7121     break;
    7122 
    7123   case 409:
    7124 
    7125 /* Line 1806 of yacc.c  */
    7126 #line 1629 "parser.yy"
    7127     { (yyval.decl) = (yyvsp[(1) - (5)].decl)->appendList( (yyvsp[(5) - (5)].decl) ); }
    7128     break;
    7129 
    7130   case 410:
    7131 
    7132 /* Line 1806 of yacc.c  */
    7133 #line 1631 "parser.yy"
    7134     { (yyval.decl) = (yyvsp[(1) - (5)].decl)->addVarArgs(); }
     7213  case 407:
     7214
     7215/* Line 1806 of yacc.c  */
     7216#line 1633 "parser.yy"
     7217    { (yyval.decl) = nullptr; }
    71357218    break;
    71367219
    71377220  case 411:
    7138 
    7139 /* Line 1806 of yacc.c  */
    7140 #line 1633 "parser.yy"
    7141     { (yyval.decl) = (yyvsp[(1) - (5)].decl)->addVarArgs(); }
    7142     break;
    7143 
    7144   case 413:
    71457221
    71467222/* Line 1806 of yacc.c  */
     
    71497225    break;
    71507226
    7151   case 414:
     7227  case 412:
    71527228
    71537229/* Line 1806 of yacc.c  */
    71547230#line 1643 "parser.yy"
     7231    { (yyval.decl) = (yyvsp[(1) - (5)].decl)->addVarArgs(); }
     7232    break;
     7233
     7234  case 413:
     7235
     7236/* Line 1806 of yacc.c  */
     7237#line 1645 "parser.yy"
     7238    { (yyval.decl) = (yyvsp[(1) - (5)].decl)->addVarArgs(); }
     7239    break;
     7240
     7241  case 415:
     7242
     7243/* Line 1806 of yacc.c  */
     7244#line 1653 "parser.yy"
    71557245    { (yyval.decl) = (yyvsp[(1) - (5)].decl)->appendList( (yyvsp[(5) - (5)].decl) ); }
    71567246    break;
    71577247
    7158   case 415:
    7159 
    7160 /* Line 1806 of yacc.c  */
    7161 #line 1645 "parser.yy"
     7248  case 416:
     7249
     7250/* Line 1806 of yacc.c  */
     7251#line 1655 "parser.yy"
     7252    { (yyval.decl) = (yyvsp[(1) - (5)].decl)->appendList( (yyvsp[(5) - (5)].decl) ); }
     7253    break;
     7254
     7255  case 417:
     7256
     7257/* Line 1806 of yacc.c  */
     7258#line 1657 "parser.yy"
    71627259    { (yyval.decl) = (yyvsp[(1) - (9)].decl)->appendList( (yyvsp[(5) - (9)].decl) )->appendList( (yyvsp[(9) - (9)].decl) ); }
    71637260    break;
    71647261
    7165   case 417:
    7166 
    7167 /* Line 1806 of yacc.c  */
    7168 #line 1651 "parser.yy"
     7262  case 419:
     7263
     7264/* Line 1806 of yacc.c  */
     7265#line 1663 "parser.yy"
    71697266    { (yyval.decl) = (yyvsp[(1) - (5)].decl)->appendList( (yyvsp[(5) - (5)].decl) ); }
    71707267    break;
    71717268
    7172   case 418:
    7173 
    7174 /* Line 1806 of yacc.c  */
    7175 #line 1656 "parser.yy"
    7176     { (yyval.decl) = 0; }
    7177     break;
    7178 
    7179   case 421:
    7180 
    7181 /* Line 1806 of yacc.c  */
    7182 #line 1663 "parser.yy"
     7269  case 420:
     7270
     7271/* Line 1806 of yacc.c  */
     7272#line 1668 "parser.yy"
     7273    { (yyval.decl) = nullptr; }
     7274    break;
     7275
     7276  case 423:
     7277
     7278/* Line 1806 of yacc.c  */
     7279#line 1675 "parser.yy"
    71837280    { (yyval.decl) = (yyvsp[(1) - (5)].decl)->addVarArgs(); }
    71847281    break;
    71857282
    7186   case 424:
    7187 
    7188 /* Line 1806 of yacc.c  */
    7189 #line 1670 "parser.yy"
     7283  case 426:
     7284
     7285/* Line 1806 of yacc.c  */
     7286#line 1682 "parser.yy"
    71907287    { (yyval.decl) = (yyvsp[(1) - (5)].decl)->appendList( (yyvsp[(5) - (5)].decl) ); }
    71917288    break;
    71927289
    7193   case 425:
    7194 
    7195 /* Line 1806 of yacc.c  */
    7196 #line 1672 "parser.yy"
     7290  case 427:
     7291
     7292/* Line 1806 of yacc.c  */
     7293#line 1684 "parser.yy"
    71977294    { (yyval.decl) = (yyvsp[(1) - (5)].decl)->appendList( (yyvsp[(5) - (5)].decl) ); }
    71987295    break;
    71997296
    7200   case 427:
    7201 
    7202 /* Line 1806 of yacc.c  */
    7203 #line 1681 "parser.yy"
     7297  case 429:
     7298
     7299/* Line 1806 of yacc.c  */
     7300#line 1693 "parser.yy"
    72047301    { (yyval.decl) = (yyvsp[(1) - (3)].decl)->addName( (yyvsp[(2) - (3)].tok) ); }
    72057302    break;
    72067303
    7207   case 428:
    7208 
    7209 /* Line 1806 of yacc.c  */
    7210 #line 1684 "parser.yy"
     7304  case 430:
     7305
     7306/* Line 1806 of yacc.c  */
     7307#line 1696 "parser.yy"
    72117308    { (yyval.decl) = (yyvsp[(1) - (3)].decl)->addName( (yyvsp[(2) - (3)].tok) ); }
    72127309    break;
    72137310
    7214   case 429:
    7215 
    7216 /* Line 1806 of yacc.c  */
    7217 #line 1686 "parser.yy"
     7311  case 431:
     7312
     7313/* Line 1806 of yacc.c  */
     7314#line 1698 "parser.yy"
    72187315    { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addName( (yyvsp[(3) - (4)].tok) )->addQualifiers( (yyvsp[(1) - (4)].decl) ); }
    72197316    break;
    72207317
    7221   case 434:
    7222 
    7223 /* Line 1806 of yacc.c  */
    7224 #line 1696 "parser.yy"
     7318  case 436:
     7319
     7320/* Line 1806 of yacc.c  */
     7321#line 1708 "parser.yy"
    72257322    { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addQualifiers( (yyvsp[(1) - (2)].decl) ); }
    72267323    break;
    72277324
    7228   case 436:
    7229 
    7230 /* Line 1806 of yacc.c  */
    7231 #line 1702 "parser.yy"
     7325  case 438:
     7326
     7327/* Line 1806 of yacc.c  */
     7328#line 1714 "parser.yy"
    72327329    {
    72337330                        typedefTable.addToEnclosingScope( TypedefTable::ID );
    7234                         (yyval.decl) = (yyvsp[(2) - (3)].decl)->addType( (yyvsp[(1) - (3)].decl) )->addInitializer( new InitializerNode( (yyvsp[(3) - (3)].en) ) );
     7331                        (yyval.decl) = (yyvsp[(2) - (3)].decl)->addType( (yyvsp[(1) - (3)].decl) )->addInitializer( (yyvsp[(3) - (3)].en) ? new InitializerNode( (yyvsp[(3) - (3)].en) ) : nullptr );
    72357332                }
    72367333    break;
    72377334
    7238   case 437:
    7239 
    7240 /* Line 1806 of yacc.c  */
    7241 #line 1707 "parser.yy"
     7335  case 439:
     7336
     7337/* Line 1806 of yacc.c  */
     7338#line 1719 "parser.yy"
    72427339    {
    72437340                        typedefTable.addToEnclosingScope( TypedefTable::ID );
    7244                         (yyval.decl) = (yyvsp[(2) - (3)].decl)->addType( (yyvsp[(1) - (3)].decl) )->addInitializer( new InitializerNode( (yyvsp[(3) - (3)].en) ) );
     7341                        (yyval.decl) = (yyvsp[(2) - (3)].decl)->addType( (yyvsp[(1) - (3)].decl) )->addInitializer( (yyvsp[(3) - (3)].en) ? new InitializerNode( (yyvsp[(3) - (3)].en) ) : nullptr );
    72457342                }
    72467343    break;
    72477344
    7248   case 439:
    7249 
    7250 /* Line 1806 of yacc.c  */
    7251 #line 1716 "parser.yy"
     7345  case 441:
     7346
     7347/* Line 1806 of yacc.c  */
     7348#line 1728 "parser.yy"
    72527349    { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addType( (yyvsp[(1) - (2)].decl) ); }
    72537350    break;
    72547351
    7255   case 440:
    7256 
    7257 /* Line 1806 of yacc.c  */
    7258 #line 1725 "parser.yy"
     7352  case 442:
     7353
     7354/* Line 1806 of yacc.c  */
     7355#line 1737 "parser.yy"
    72597356    { (yyval.decl) = DeclarationNode::newName( (yyvsp[(1) - (1)].tok) ); }
    72607357    break;
    72617358
    7262   case 441:
    7263 
    7264 /* Line 1806 of yacc.c  */
    7265 #line 1727 "parser.yy"
     7359  case 443:
     7360
     7361/* Line 1806 of yacc.c  */
     7362#line 1739 "parser.yy"
    72667363    { (yyval.decl) = (yyvsp[(1) - (3)].decl)->appendList( DeclarationNode::newName( (yyvsp[(3) - (3)].tok) ) ); }
    72677364    break;
    72687365
    7269   case 453:
    7270 
    7271 /* Line 1806 of yacc.c  */
    7272 #line 1752 "parser.yy"
     7366  case 455:
     7367
     7368/* Line 1806 of yacc.c  */
     7369#line 1764 "parser.yy"
    72737370    { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addType( (yyvsp[(1) - (2)].decl) ); }
    72747371    break;
    72757372
    7276   case 457:
    7277 
    7278 /* Line 1806 of yacc.c  */
    7279 #line 1760 "parser.yy"
     7373  case 459:
     7374
     7375/* Line 1806 of yacc.c  */
     7376#line 1772 "parser.yy"
    72807377    { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addType( (yyvsp[(1) - (2)].decl) ); }
    72817378    break;
    72827379
    7283   case 458:
    7284 
    7285 /* Line 1806 of yacc.c  */
    7286 #line 1765 "parser.yy"
    7287     { (yyval.in) = 0; }
    7288     break;
    7289 
    7290   case 459:
    7291 
    7292 /* Line 1806 of yacc.c  */
    7293 #line 1767 "parser.yy"
     7380  case 460:
     7381
     7382/* Line 1806 of yacc.c  */
     7383#line 1777 "parser.yy"
     7384    { (yyval.in) = nullptr; }
     7385    break;
     7386
     7387  case 461:
     7388
     7389/* Line 1806 of yacc.c  */
     7390#line 1779 "parser.yy"
    72947391    { (yyval.in) = (yyvsp[(2) - (2)].in); }
    72957392    break;
    72967393
    7297   case 460:
    7298 
    7299 /* Line 1806 of yacc.c  */
    7300 #line 1769 "parser.yy"
     7394  case 462:
     7395
     7396/* Line 1806 of yacc.c  */
     7397#line 1781 "parser.yy"
    73017398    { (yyval.in) = (yyvsp[(2) - (2)].in)->set_maybeConstructed( false ); }
    73027399    break;
    73037400
    7304   case 461:
    7305 
    7306 /* Line 1806 of yacc.c  */
    7307 #line 1773 "parser.yy"
     7401  case 463:
     7402
     7403/* Line 1806 of yacc.c  */
     7404#line 1785 "parser.yy"
    73087405    { (yyval.in) = new InitializerNode( (yyvsp[(1) - (1)].en) ); }
    73097406    break;
    73107407
    7311   case 462:
    7312 
    7313 /* Line 1806 of yacc.c  */
    7314 #line 1774 "parser.yy"
     7408  case 464:
     7409
     7410/* Line 1806 of yacc.c  */
     7411#line 1786 "parser.yy"
    73157412    { (yyval.in) = new InitializerNode( (yyvsp[(2) - (4)].in), true ); }
    73167413    break;
    73177414
    7318   case 463:
    7319 
    7320 /* Line 1806 of yacc.c  */
    7321 #line 1779 "parser.yy"
    7322     { (yyval.in) = 0; }
    7323     break;
    7324 
    73257415  case 465:
    73267416
    73277417/* Line 1806 of yacc.c  */
    7328 #line 1781 "parser.yy"
     7418#line 1791 "parser.yy"
     7419    { (yyval.in) = nullptr; }
     7420    break;
     7421
     7422  case 467:
     7423
     7424/* Line 1806 of yacc.c  */
     7425#line 1793 "parser.yy"
    73297426    { (yyval.in) = (yyvsp[(2) - (2)].in)->set_designators( (yyvsp[(1) - (2)].en) ); }
    73307427    break;
    73317428
    7332   case 466:
    7333 
    7334 /* Line 1806 of yacc.c  */
    7335 #line 1782 "parser.yy"
     7429  case 468:
     7430
     7431/* Line 1806 of yacc.c  */
     7432#line 1794 "parser.yy"
    73367433    { (yyval.in) = (InitializerNode *)( (yyvsp[(1) - (3)].in)->set_last( (yyvsp[(3) - (3)].in) ) ); }
    73377434    break;
    73387435
    7339   case 467:
    7340 
    7341 /* Line 1806 of yacc.c  */
    7342 #line 1784 "parser.yy"
     7436  case 469:
     7437
     7438/* Line 1806 of yacc.c  */
     7439#line 1796 "parser.yy"
    73437440    { (yyval.in) = (InitializerNode *)( (yyvsp[(1) - (4)].in)->set_last( (yyvsp[(4) - (4)].in)->set_designators( (yyvsp[(3) - (4)].en) ) ) ); }
    73447441    break;
    73457442
    7346   case 469:
    7347 
    7348 /* Line 1806 of yacc.c  */
    7349 #line 1800 "parser.yy"
     7443  case 471:
     7444
     7445/* Line 1806 of yacc.c  */
     7446#line 1812 "parser.yy"
    73507447    { (yyval.en) = new ExpressionNode( build_varref( (yyvsp[(1) - (2)].tok) ) ); }
    73517448    break;
    73527449
    7353   case 471:
    7354 
    7355 /* Line 1806 of yacc.c  */
    7356 #line 1806 "parser.yy"
     7450  case 473:
     7451
     7452/* Line 1806 of yacc.c  */
     7453#line 1818 "parser.yy"
    73577454    { (yyval.en) = (ExpressionNode *)( (yyvsp[(1) - (2)].en)->set_last( (yyvsp[(2) - (2)].en) ) ); }
    73587455    break;
    73597456
    7360   case 472:
    7361 
    7362 /* Line 1806 of yacc.c  */
    7363 #line 1812 "parser.yy"
     7457  case 474:
     7458
     7459/* Line 1806 of yacc.c  */
     7460#line 1824 "parser.yy"
    73647461    { (yyval.en) = new ExpressionNode( build_varref( (yyvsp[(2) - (2)].tok) ) ); }
    73657462    break;
    73667463
    7367   case 473:
    7368 
    7369 /* Line 1806 of yacc.c  */
    7370 #line 1815 "parser.yy"
     7464  case 475:
     7465
     7466/* Line 1806 of yacc.c  */
     7467#line 1827 "parser.yy"
    73717468    { (yyval.en) = (yyvsp[(3) - (5)].en); }
    73727469    break;
    73737470
    7374   case 474:
    7375 
    7376 /* Line 1806 of yacc.c  */
    7377 #line 1817 "parser.yy"
     7471  case 476:
     7472
     7473/* Line 1806 of yacc.c  */
     7474#line 1829 "parser.yy"
    73787475    { (yyval.en) = (yyvsp[(3) - (5)].en); }
    73797476    break;
    73807477
    7381   case 475:
    7382 
    7383 /* Line 1806 of yacc.c  */
    7384 #line 1819 "parser.yy"
     7478  case 477:
     7479
     7480/* Line 1806 of yacc.c  */
     7481#line 1831 "parser.yy"
    73857482    { (yyval.en) = new ExpressionNode( build_range( (yyvsp[(3) - (7)].en), (yyvsp[(5) - (7)].en) ) ); }
    73867483    break;
    73877484
    7388   case 476:
    7389 
    7390 /* Line 1806 of yacc.c  */
    7391 #line 1821 "parser.yy"
     7485  case 478:
     7486
     7487/* Line 1806 of yacc.c  */
     7488#line 1833 "parser.yy"
    73927489    { (yyval.en) = (yyvsp[(4) - (6)].en); }
    73937490    break;
    73947491
    7395   case 478:
    7396 
    7397 /* Line 1806 of yacc.c  */
    7398 #line 1845 "parser.yy"
     7492  case 480:
     7493
     7494/* Line 1806 of yacc.c  */
     7495#line 1857 "parser.yy"
    73997496    { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addQualifiers( (yyvsp[(1) - (2)].decl) ); }
    74007497    break;
    74017498
    7402   case 479:
    7403 
    7404 /* Line 1806 of yacc.c  */
    7405 #line 1847 "parser.yy"
     7499  case 481:
     7500
     7501/* Line 1806 of yacc.c  */
     7502#line 1859 "parser.yy"
    74067503    { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); }
    74077504    break;
    74087505
    7409   case 480:
    7410 
    7411 /* Line 1806 of yacc.c  */
    7412 #line 1849 "parser.yy"
     7506  case 482:
     7507
     7508/* Line 1806 of yacc.c  */
     7509#line 1861 "parser.yy"
    74137510    { (yyval.decl) = (yyvsp[(1) - (3)].decl)->addQualifiers( (yyvsp[(2) - (3)].decl) )->addQualifiers( (yyvsp[(3) - (3)].decl) ); }
    74147511    break;
    74157512
    7416   case 482:
    7417 
    7418 /* Line 1806 of yacc.c  */
    7419 #line 1855 "parser.yy"
     7513  case 484:
     7514
     7515/* Line 1806 of yacc.c  */
     7516#line 1867 "parser.yy"
    74207517    { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addQualifiers( (yyvsp[(1) - (2)].decl) ); }
    74217518    break;
    74227519
    7423   case 483:
    7424 
    7425 /* Line 1806 of yacc.c  */
    7426 #line 1857 "parser.yy"
     7520  case 485:
     7521
     7522/* Line 1806 of yacc.c  */
     7523#line 1869 "parser.yy"
    74277524    { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); }
    74287525    break;
    74297526
    7430   case 484:
    7431 
    7432 /* Line 1806 of yacc.c  */
    7433 #line 1862 "parser.yy"
     7527  case 486:
     7528
     7529/* Line 1806 of yacc.c  */
     7530#line 1874 "parser.yy"
    74347531    { (yyval.decl) = DeclarationNode::newFromTypeGen( (yyvsp[(1) - (4)].tok), (yyvsp[(3) - (4)].en) ); }
    74357532    break;
    74367533
    7437   case 486:
    7438 
    7439 /* Line 1806 of yacc.c  */
    7440 #line 1868 "parser.yy"
     7534  case 488:
     7535
     7536/* Line 1806 of yacc.c  */
     7537#line 1880 "parser.yy"
    74417538    { (yyval.decl) = (yyvsp[(1) - (4)].decl)->appendList( (yyvsp[(3) - (4)].decl) ); }
    74427539    break;
    74437540
    7444   case 487:
    7445 
    7446 /* Line 1806 of yacc.c  */
    7447 #line 1873 "parser.yy"
     7541  case 489:
     7542
     7543/* Line 1806 of yacc.c  */
     7544#line 1885 "parser.yy"
    74487545    { typedefTable.addToEnclosingScope( *(yyvsp[(2) - (2)].tok), TypedefTable::TD ); }
    74497546    break;
    74507547
    7451   case 488:
    7452 
    7453 /* Line 1806 of yacc.c  */
    7454 #line 1875 "parser.yy"
     7548  case 490:
     7549
     7550/* Line 1806 of yacc.c  */
     7551#line 1887 "parser.yy"
    74557552    { (yyval.decl) = DeclarationNode::newTypeParam( (yyvsp[(1) - (4)].tclass), (yyvsp[(2) - (4)].tok) )->addAssertions( (yyvsp[(4) - (4)].decl) ); }
    74567553    break;
    74577554
    7458   case 490:
    7459 
    7460 /* Line 1806 of yacc.c  */
    7461 #line 1881 "parser.yy"
     7555  case 492:
     7556
     7557/* Line 1806 of yacc.c  */
     7558#line 1893 "parser.yy"
    74627559    { (yyval.tclass) = DeclarationNode::Otype; }
    74637560    break;
    74647561
    7465   case 491:
    7466 
    7467 /* Line 1806 of yacc.c  */
    7468 #line 1883 "parser.yy"
     7562  case 493:
     7563
     7564/* Line 1806 of yacc.c  */
     7565#line 1895 "parser.yy"
    74697566    { (yyval.tclass) = DeclarationNode::Ftype; }
    74707567    break;
    74717568
    7472   case 492:
    7473 
    7474 /* Line 1806 of yacc.c  */
    7475 #line 1885 "parser.yy"
     7569  case 494:
     7570
     7571/* Line 1806 of yacc.c  */
     7572#line 1897 "parser.yy"
    74767573    { (yyval.tclass) = DeclarationNode::Dtype; }
    74777574    break;
    74787575
    7479   case 493:
    7480 
    7481 /* Line 1806 of yacc.c  */
    7482 #line 1890 "parser.yy"
    7483     { (yyval.decl) = 0; }
    7484     break;
    7485 
    7486   case 494:
    7487 
    7488 /* Line 1806 of yacc.c  */
    7489 #line 1892 "parser.yy"
    7490     { (yyval.decl) = (yyvsp[(1) - (2)].decl) != 0 ? (yyvsp[(1) - (2)].decl)->appendList( (yyvsp[(2) - (2)].decl) ) : (yyvsp[(2) - (2)].decl); }
    7491     break;
    7492 
    74937576  case 495:
    74947577
    74957578/* Line 1806 of yacc.c  */
    7496 #line 1897 "parser.yy"
     7579#line 1902 "parser.yy"
     7580    { (yyval.decl) = nullptr; }
     7581    break;
     7582
     7583  case 496:
     7584
     7585/* Line 1806 of yacc.c  */
     7586#line 1904 "parser.yy"
     7587    { (yyval.decl) = (yyvsp[(1) - (2)].decl) ? (yyvsp[(1) - (2)].decl)->appendList( (yyvsp[(2) - (2)].decl) ) : (yyvsp[(2) - (2)].decl); }
     7588    break;
     7589
     7590  case 497:
     7591
     7592/* Line 1806 of yacc.c  */
     7593#line 1909 "parser.yy"
    74977594    {
    74987595                        typedefTable.openTrait( *(yyvsp[(2) - (5)].tok) );
     
    75017598    break;
    75027599
    7503   case 496:
    7504 
    7505 /* Line 1806 of yacc.c  */
    7506 #line 1902 "parser.yy"
     7600  case 498:
     7601
     7602/* Line 1806 of yacc.c  */
     7603#line 1914 "parser.yy"
    75077604    { (yyval.decl) = (yyvsp[(4) - (5)].decl); }
    75087605    break;
    75097606
    7510   case 497:
    7511 
    7512 /* Line 1806 of yacc.c  */
    7513 #line 1904 "parser.yy"
    7514     { (yyval.decl) = 0; }
    7515     break;
    7516 
    7517   case 498:
    7518 
    7519 /* Line 1806 of yacc.c  */
    7520 #line 1909 "parser.yy"
     7607  case 499:
     7608
     7609/* Line 1806 of yacc.c  */
     7610#line 1916 "parser.yy"
     7611    { (yyval.decl) = nullptr; }
     7612    break;
     7613
     7614  case 500:
     7615
     7616/* Line 1806 of yacc.c  */
     7617#line 1921 "parser.yy"
    75217618    { (yyval.en) = new ExpressionNode( build_typevalue( (yyvsp[(1) - (1)].decl) ) ); }
    75227619    break;
    75237620
    7524   case 500:
    7525 
    7526 /* Line 1806 of yacc.c  */
    7527 #line 1912 "parser.yy"
     7621  case 502:
     7622
     7623/* Line 1806 of yacc.c  */
     7624#line 1924 "parser.yy"
    75287625    { (yyval.en) = (ExpressionNode *)( (yyvsp[(1) - (3)].en)->set_last( new ExpressionNode( build_typevalue( (yyvsp[(3) - (3)].decl) ) ) ) ); }
    75297626    break;
    75307627
    7531   case 501:
    7532 
    7533 /* Line 1806 of yacc.c  */
    7534 #line 1914 "parser.yy"
     7628  case 503:
     7629
     7630/* Line 1806 of yacc.c  */
     7631#line 1926 "parser.yy"
    75357632    { (yyval.en) = (ExpressionNode *)( (yyvsp[(1) - (3)].en)->set_last( (yyvsp[(3) - (3)].en) )); }
    75367633    break;
    75377634
    7538   case 502:
    7539 
    7540 /* Line 1806 of yacc.c  */
    7541 #line 1919 "parser.yy"
     7635  case 504:
     7636
     7637/* Line 1806 of yacc.c  */
     7638#line 1931 "parser.yy"
    75427639    { (yyval.decl) = (yyvsp[(2) - (2)].decl); }
    75437640    break;
    75447641
    7545   case 503:
    7546 
    7547 /* Line 1806 of yacc.c  */
    7548 #line 1921 "parser.yy"
     7642  case 505:
     7643
     7644/* Line 1806 of yacc.c  */
     7645#line 1933 "parser.yy"
    75497646    { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addQualifiers( (yyvsp[(1) - (3)].decl) ); }
    75507647    break;
    75517648
    7552   case 504:
    7553 
    7554 /* Line 1806 of yacc.c  */
    7555 #line 1923 "parser.yy"
     7649  case 506:
     7650
     7651/* Line 1806 of yacc.c  */
     7652#line 1935 "parser.yy"
    75567653    { (yyval.decl) = (yyvsp[(1) - (3)].decl)->appendList( (yyvsp[(3) - (3)].decl)->copyStorageClasses( (yyvsp[(1) - (3)].decl) ) ); }
    75577654    break;
    75587655
    7559   case 505:
    7560 
    7561 /* Line 1806 of yacc.c  */
    7562 #line 1928 "parser.yy"
     7656  case 507:
     7657
     7658/* Line 1806 of yacc.c  */
     7659#line 1940 "parser.yy"
    75637660    { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addAssertions( (yyvsp[(2) - (2)].decl) ); }
    75647661    break;
    75657662
    7566   case 506:
    7567 
    7568 /* Line 1806 of yacc.c  */
    7569 #line 1930 "parser.yy"
     7663  case 508:
     7664
     7665/* Line 1806 of yacc.c  */
     7666#line 1942 "parser.yy"
    75707667    { (yyval.decl) = (yyvsp[(1) - (4)].decl)->addAssertions( (yyvsp[(2) - (4)].decl) )->addType( (yyvsp[(4) - (4)].decl) ); }
    75717668    break;
    75727669
    7573   case 507:
    7574 
    7575 /* Line 1806 of yacc.c  */
    7576 #line 1935 "parser.yy"
     7670  case 509:
     7671
     7672/* Line 1806 of yacc.c  */
     7673#line 1947 "parser.yy"
    75777674    {
    75787675                        typedefTable.addToEnclosingScope( *(yyvsp[(1) - (1)].tok), TypedefTable::TD );
     
    75817678    break;
    75827679
    7583   case 508:
    7584 
    7585 /* Line 1806 of yacc.c  */
    7586 #line 1940 "parser.yy"
     7680  case 510:
     7681
     7682/* Line 1806 of yacc.c  */
     7683#line 1952 "parser.yy"
    75877684    {
    75887685                        typedefTable.addToEnclosingScope( *(yyvsp[(1) - (6)].tok), TypedefTable::TG );
     
    75917688    break;
    75927689
    7593   case 509:
    7594 
    7595 /* Line 1806 of yacc.c  */
    7596 #line 1948 "parser.yy"
     7690  case 511:
     7691
     7692/* Line 1806 of yacc.c  */
     7693#line 1960 "parser.yy"
    75977694    {
    75987695                        typedefTable.addToEnclosingScope( *(yyvsp[(2) - (9)].tok), TypedefTable::ID );
     
    76017698    break;
    76027699
    7603   case 510:
    7604 
    7605 /* Line 1806 of yacc.c  */
    7606 #line 1953 "parser.yy"
     7700  case 512:
     7701
     7702/* Line 1806 of yacc.c  */
     7703#line 1965 "parser.yy"
    76077704    {
    76087705                        typedefTable.enterTrait( *(yyvsp[(2) - (8)].tok) );
     
    76117708    break;
    76127709
    7613   case 511:
    7614 
    7615 /* Line 1806 of yacc.c  */
    7616 #line 1958 "parser.yy"
     7710  case 513:
     7711
     7712/* Line 1806 of yacc.c  */
     7713#line 1970 "parser.yy"
    76177714    {
    76187715                        typedefTable.leaveTrait();
     
    76227719    break;
    76237720
    7624   case 513:
    7625 
    7626 /* Line 1806 of yacc.c  */
    7627 #line 1968 "parser.yy"
     7721  case 515:
     7722
     7723/* Line 1806 of yacc.c  */
     7724#line 1980 "parser.yy"
    76287725    { (yyval.decl) = (yyvsp[(1) - (3)].decl)->appendList( (yyvsp[(3) - (3)].decl) ); }
    76297726    break;
    76307727
    7631   case 516:
    7632 
    7633 /* Line 1806 of yacc.c  */
    7634 #line 1978 "parser.yy"
     7728  case 518:
     7729
     7730/* Line 1806 of yacc.c  */
     7731#line 1990 "parser.yy"
    76357732    {
    76367733                        typedefTable.addToEnclosingScope2( TypedefTable::ID );
     
    76397736    break;
    76407737
    7641   case 517:
    7642 
    7643 /* Line 1806 of yacc.c  */
    7644 #line 1983 "parser.yy"
     7738  case 519:
     7739
     7740/* Line 1806 of yacc.c  */
     7741#line 1995 "parser.yy"
    76457742    {
    76467743                        typedefTable.addToEnclosingScope2( TypedefTable::ID );
     
    76497746    break;
    76507747
    7651   case 518:
    7652 
    7653 /* Line 1806 of yacc.c  */
    7654 #line 1988 "parser.yy"
     7748  case 520:
     7749
     7750/* Line 1806 of yacc.c  */
     7751#line 2000 "parser.yy"
    76557752    {
    76567753                        typedefTable.addToEnclosingScope2( *(yyvsp[(5) - (5)].tok), TypedefTable::ID );
     
    76597756    break;
    76607757
    7661   case 519:
    7662 
    7663 /* Line 1806 of yacc.c  */
    7664 #line 1996 "parser.yy"
     7758  case 521:
     7759
     7760/* Line 1806 of yacc.c  */
     7761#line 2008 "parser.yy"
    76657762    {
    76667763                        typedefTable.addToEnclosingScope2( TypedefTable::ID );
     
    76697766    break;
    76707767
    7671   case 520:
    7672 
    7673 /* Line 1806 of yacc.c  */
    7674 #line 2001 "parser.yy"
     7768  case 522:
     7769
     7770/* Line 1806 of yacc.c  */
     7771#line 2013 "parser.yy"
    76757772    {
    76767773                        typedefTable.addToEnclosingScope2( TypedefTable::ID );
     
    76797776    break;
    76807777
    7681   case 521:
    7682 
    7683 /* Line 1806 of yacc.c  */
    7684 #line 2011 "parser.yy"
     7778  case 523:
     7779
     7780/* Line 1806 of yacc.c  */
     7781#line 2023 "parser.yy"
    76857782    {}
    76867783    break;
    76877784
    7688   case 522:
    7689 
    7690 /* Line 1806 of yacc.c  */
    7691 #line 2013 "parser.yy"
    7692     { parseTree = parseTree != nullptr ? parseTree->appendList( (yyvsp[(1) - (1)].decl) ) : (yyvsp[(1) - (1)].decl);    }
    7693     break;
    7694 
    76957785  case 524:
    76967786
    76977787/* Line 1806 of yacc.c  */
    7698 #line 2019 "parser.yy"
    7699     { (yyval.decl) = (yyvsp[(1) - (3)].decl) != nullptr ? (yyvsp[(1) - (3)].decl)->appendList( (yyvsp[(3) - (3)].decl) ) : (yyvsp[(3) - (3)].decl); }
    7700     break;
    7701 
    7702   case 525:
    7703 
    7704 /* Line 1806 of yacc.c  */
    7705 #line 2024 "parser.yy"
    7706     { (yyval.decl) = 0; }
    7707     break;
    7708 
    7709   case 529:
    7710 
    7711 /* Line 1806 of yacc.c  */
    7712 #line 2032 "parser.yy"
     7788#line 2025 "parser.yy"
     7789    { parseTree = parseTree ? parseTree->appendList( (yyvsp[(1) - (1)].decl) ) : (yyvsp[(1) - (1)].decl);       }
     7790    break;
     7791
     7792  case 526:
     7793
     7794/* Line 1806 of yacc.c  */
     7795#line 2031 "parser.yy"
     7796    { (yyval.decl) = (yyvsp[(1) - (3)].decl) ? (yyvsp[(1) - (3)].decl)->appendList( (yyvsp[(3) - (3)].decl) ) : (yyvsp[(3) - (3)].decl); }
     7797    break;
     7798
     7799  case 527:
     7800
     7801/* Line 1806 of yacc.c  */
     7802#line 2036 "parser.yy"
     7803    { (yyval.decl) = nullptr; }
     7804    break;
     7805
     7806  case 531:
     7807
     7808/* Line 1806 of yacc.c  */
     7809#line 2044 "parser.yy"
    77137810    {}
    77147811    break;
    77157812
    7716   case 530:
    7717 
    7718 /* Line 1806 of yacc.c  */
    7719 #line 2034 "parser.yy"
     7813  case 532:
     7814
     7815/* Line 1806 of yacc.c  */
     7816#line 2046 "parser.yy"
    77207817    {
    77217818                        linkageStack.push( linkage );                           // handle nested extern "C"/"Cforall"
     
    77247821    break;
    77257822
    7726   case 531:
    7727 
    7728 /* Line 1806 of yacc.c  */
    7729 #line 2039 "parser.yy"
     7823  case 533:
     7824
     7825/* Line 1806 of yacc.c  */
     7826#line 2051 "parser.yy"
    77307827    {
    77317828                        linkage = linkageStack.top();
     
    77357832    break;
    77367833
    7737   case 532:
    7738 
    7739 /* Line 1806 of yacc.c  */
    7740 #line 2045 "parser.yy"
     7834  case 534:
     7835
     7836/* Line 1806 of yacc.c  */
     7837#line 2057 "parser.yy"
    77417838    {   // mark all fields in list
    77427839                        for ( DeclarationNode *iter = (yyvsp[(2) - (2)].decl); iter != nullptr; iter = (DeclarationNode *)iter->get_next() )
     
    77467843    break;
    77477844
    7748   case 534:
    7749 
    7750 /* Line 1806 of yacc.c  */
    7751 #line 2060 "parser.yy"
     7845  case 536:
     7846
     7847/* Line 1806 of yacc.c  */
     7848#line 2072 "parser.yy"
    77527849    {
    77537850                        typedefTable.addToEnclosingScope( TypedefTable::ID );
     
    77577854    break;
    77587855
    7759   case 535:
    7760 
    7761 /* Line 1806 of yacc.c  */
    7762 #line 2066 "parser.yy"
     7856  case 537:
     7857
     7858/* Line 1806 of yacc.c  */
     7859#line 2078 "parser.yy"
    77637860    {
    77647861                        typedefTable.addToEnclosingScope( TypedefTable::ID );
     
    77687865    break;
    77697866
    7770   case 536:
    7771 
    7772 /* Line 1806 of yacc.c  */
    7773 #line 2075 "parser.yy"
     7867  case 538:
     7868
     7869/* Line 1806 of yacc.c  */
     7870#line 2087 "parser.yy"
    77747871    {
    77757872                        typedefTable.addToEnclosingScope( TypedefTable::ID );
     
    77797876    break;
    77807877
    7781   case 537:
    7782 
    7783 /* Line 1806 of yacc.c  */
    7784 #line 2081 "parser.yy"
     7878  case 539:
     7879
     7880/* Line 1806 of yacc.c  */
     7881#line 2093 "parser.yy"
    77857882    {
    77867883                        typedefTable.addToEnclosingScope( TypedefTable::ID );
     
    77907887    break;
    77917888
    7792   case 538:
    7793 
    7794 /* Line 1806 of yacc.c  */
    7795 #line 2087 "parser.yy"
     7889  case 540:
     7890
     7891/* Line 1806 of yacc.c  */
     7892#line 2099 "parser.yy"
    77967893    {
    77977894                        typedefTable.addToEnclosingScope( TypedefTable::ID );
     
    78017898    break;
    78027899
    7803   case 539:
    7804 
    7805 /* Line 1806 of yacc.c  */
    7806 #line 2093 "parser.yy"
     7900  case 541:
     7901
     7902/* Line 1806 of yacc.c  */
     7903#line 2105 "parser.yy"
    78077904    {
    78087905                        typedefTable.addToEnclosingScope( TypedefTable::ID );
     
    78127909    break;
    78137910
    7814   case 540:
    7815 
    7816 /* Line 1806 of yacc.c  */
    7817 #line 2099 "parser.yy"
     7911  case 542:
     7912
     7913/* Line 1806 of yacc.c  */
     7914#line 2111 "parser.yy"
    78187915    {
    78197916                        typedefTable.addToEnclosingScope( TypedefTable::ID );
     
    78237920    break;
    78247921
    7825   case 541:
    7826 
    7827 /* Line 1806 of yacc.c  */
    7828 #line 2107 "parser.yy"
     7922  case 543:
     7923
     7924/* Line 1806 of yacc.c  */
     7925#line 2119 "parser.yy"
    78297926    {
    78307927                        typedefTable.addToEnclosingScope( TypedefTable::ID );
     
    78347931    break;
    78357932
    7836   case 542:
    7837 
    7838 /* Line 1806 of yacc.c  */
    7839 #line 2113 "parser.yy"
     7933  case 544:
     7934
     7935/* Line 1806 of yacc.c  */
     7936#line 2125 "parser.yy"
    78407937    {
    78417938                        typedefTable.addToEnclosingScope( TypedefTable::ID );
     
    78457942    break;
    78467943
    7847   case 543:
    7848 
    7849 /* Line 1806 of yacc.c  */
    7850 #line 2121 "parser.yy"
     7944  case 545:
     7945
     7946/* Line 1806 of yacc.c  */
     7947#line 2133 "parser.yy"
    78517948    {
    78527949                        typedefTable.addToEnclosingScope( TypedefTable::ID );
     
    78567953    break;
    78577954
    7858   case 544:
    7859 
    7860 /* Line 1806 of yacc.c  */
    7861 #line 2127 "parser.yy"
     7955  case 546:
     7956
     7957/* Line 1806 of yacc.c  */
     7958#line 2139 "parser.yy"
    78627959    {
    78637960                        typedefTable.addToEnclosingScope( TypedefTable::ID );
     
    78677964    break;
    78687965
    7869   case 548:
    7870 
    7871 /* Line 1806 of yacc.c  */
    7872 #line 2142 "parser.yy"
     7966  case 550:
     7967
     7968/* Line 1806 of yacc.c  */
     7969#line 2154 "parser.yy"
    78737970    { (yyval.en) = new ExpressionNode( build_range( (yyvsp[(1) - (3)].en), (yyvsp[(3) - (3)].en) ) ); }
    78747971    break;
    78757972
    7876   case 550:
    7877 
    7878 /* Line 1806 of yacc.c  */
    7879 #line 2147 "parser.yy"
    7880     { delete (yyvsp[(3) - (5)].str); }
    7881     break;
    7882 
    78837973  case 551:
    78847974
    78857975/* Line 1806 of yacc.c  */
    7886 #line 2152 "parser.yy"
    7887     { (yyval.decl) = 0; }
    7888     break;
    7889 
    7890   case 554:
    7891 
    7892 /* Line 1806 of yacc.c  */
    78937976#line 2159 "parser.yy"
     7977    { (yyval.constant) = nullptr; }
     7978    break;
     7979
     7980  case 552:
     7981
     7982/* Line 1806 of yacc.c  */
     7983#line 2161 "parser.yy"
     7984    { (yyval.constant) = (yyvsp[(3) - (5)].constant); }
     7985    break;
     7986
     7987  case 553:
     7988
     7989/* Line 1806 of yacc.c  */
     7990#line 2166 "parser.yy"
     7991    { (yyval.decl) = nullptr; }
     7992    break;
     7993
     7994  case 556:
     7995
     7996/* Line 1806 of yacc.c  */
     7997#line 2173 "parser.yy"
    78947998    { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addQualifiers( (yyvsp[(1) - (2)].decl) ); }
    78957999    break;
    78968000
    7897   case 555:
    7898 
    7899 /* Line 1806 of yacc.c  */
    7900 #line 2165 "parser.yy"
    7901     { (yyval.decl) = 0; }
    7902     break;
    7903 
    7904   case 560:
    7905 
    7906 /* Line 1806 of yacc.c  */
    7907 #line 2176 "parser.yy"
     8001  case 557:
     8002
     8003/* Line 1806 of yacc.c  */
     8004#line 2179 "parser.yy"
     8005    { (yyval.decl) = nullptr; }
     8006    break;
     8007
     8008  case 562:
     8009
     8010/* Line 1806 of yacc.c  */
     8011#line 2190 "parser.yy"
    79088012    { delete (yyvsp[(3) - (4)].en); }
    79098013    break;
    79108014
    7911   case 561:
    7912 
    7913 /* Line 1806 of yacc.c  */
    7914 #line 2180 "parser.yy"
     8015  case 563:
     8016
     8017/* Line 1806 of yacc.c  */
     8018#line 2194 "parser.yy"
    79158019    { delete (yyvsp[(1) - (1)].tok); }
    79168020    break;
    79178021
    7918   case 562:
    7919 
    7920 /* Line 1806 of yacc.c  */
    7921 #line 2181 "parser.yy"
     8022  case 564:
     8023
     8024/* Line 1806 of yacc.c  */
     8025#line 2195 "parser.yy"
    79228026    { delete (yyvsp[(1) - (1)].decl); }
    79238027    break;
    79248028
    7925   case 563:
    7926 
    7927 /* Line 1806 of yacc.c  */
    7928 #line 2182 "parser.yy"
     8029  case 565:
     8030
     8031/* Line 1806 of yacc.c  */
     8032#line 2196 "parser.yy"
    79298033    { delete (yyvsp[(1) - (1)].decl); }
    79308034    break;
    79318035
    7932   case 564:
    7933 
    7934 /* Line 1806 of yacc.c  */
    7935 #line 2183 "parser.yy"
     8036  case 566:
     8037
     8038/* Line 1806 of yacc.c  */
     8039#line 2197 "parser.yy"
    79368040    { delete (yyvsp[(1) - (1)].decl); }
    79378041    break;
    79388042
    7939   case 565:
    7940 
    7941 /* Line 1806 of yacc.c  */
    7942 #line 2218 "parser.yy"
     8043  case 567:
     8044
     8045/* Line 1806 of yacc.c  */
     8046#line 2232 "parser.yy"
    79438047    { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); }
    79448048    break;
    79458049
    7946   case 567:
    7947 
    7948 /* Line 1806 of yacc.c  */
    7949 #line 2221 "parser.yy"
     8050  case 569:
     8051
     8052/* Line 1806 of yacc.c  */
     8053#line 2235 "parser.yy"
    79508054    { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); }
    79518055    break;
    79528056
    7953   case 568:
    7954 
    7955 /* Line 1806 of yacc.c  */
    7956 #line 2223 "parser.yy"
     8057  case 570:
     8058
     8059/* Line 1806 of yacc.c  */
     8060#line 2237 "parser.yy"
    79578061    { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); }
    79588062    break;
    79598063
    7960   case 569:
    7961 
    7962 /* Line 1806 of yacc.c  */
    7963 #line 2228 "parser.yy"
     8064  case 571:
     8065
     8066/* Line 1806 of yacc.c  */
     8067#line 2242 "parser.yy"
    79648068    {
    79658069                        typedefTable.setNextIdentifier( *(yyvsp[(1) - (1)].tok) );
     
    79688072    break;
    79698073
    7970   case 570:
    7971 
    7972 /* Line 1806 of yacc.c  */
    7973 #line 2233 "parser.yy"
     8074  case 572:
     8075
     8076/* Line 1806 of yacc.c  */
     8077#line 2247 "parser.yy"
    79748078    { (yyval.decl) = (yyvsp[(2) - (3)].decl); }
    79758079    break;
    79768080
    7977   case 571:
    7978 
    7979 /* Line 1806 of yacc.c  */
    7980 #line 2238 "parser.yy"
     8081  case 573:
     8082
     8083/* Line 1806 of yacc.c  */
     8084#line 2252 "parser.yy"
    79818085    { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addPointer( DeclarationNode::newPointer( 0 ) ); }
    79828086    break;
    79838087
    7984   case 572:
    7985 
    7986 /* Line 1806 of yacc.c  */
    7987 #line 2240 "parser.yy"
     8088  case 574:
     8089
     8090/* Line 1806 of yacc.c  */
     8091#line 2254 "parser.yy"
    79888092    { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addPointer( DeclarationNode::newPointer( (yyvsp[(2) - (3)].decl) ) ); }
    79898093    break;
    79908094
    7991   case 573:
    7992 
    7993 /* Line 1806 of yacc.c  */
    7994 #line 2242 "parser.yy"
     8095  case 575:
     8096
     8097/* Line 1806 of yacc.c  */
     8098#line 2256 "parser.yy"
    79958099    { (yyval.decl) = (yyvsp[(2) - (3)].decl); }
    79968100    break;
    79978101
    7998   case 574:
    7999 
    8000 /* Line 1806 of yacc.c  */
    8001 #line 2247 "parser.yy"
     8102  case 576:
     8103
     8104/* Line 1806 of yacc.c  */
     8105#line 2261 "parser.yy"
    80028106    { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addArray( (yyvsp[(2) - (2)].decl) ); }
    80038107    break;
    80048108
    8005   case 575:
    8006 
    8007 /* Line 1806 of yacc.c  */
    8008 #line 2249 "parser.yy"
     8109  case 577:
     8110
     8111/* Line 1806 of yacc.c  */
     8112#line 2263 "parser.yy"
    80098113    { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addArray( (yyvsp[(4) - (4)].decl) ); }
    80108114    break;
    80118115
    8012   case 576:
    8013 
    8014 /* Line 1806 of yacc.c  */
    8015 #line 2251 "parser.yy"
     8116  case 578:
     8117
     8118/* Line 1806 of yacc.c  */
     8119#line 2265 "parser.yy"
    80168120    { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addArray( (yyvsp[(4) - (4)].decl) ); }
    80178121    break;
    80188122
    8019   case 577:
    8020 
    8021 /* Line 1806 of yacc.c  */
    8022 #line 2253 "parser.yy"
     8123  case 579:
     8124
     8125/* Line 1806 of yacc.c  */
     8126#line 2267 "parser.yy"
    80238127    { (yyval.decl) = (yyvsp[(2) - (3)].decl); }
    80248128    break;
    80258129
    8026   case 578:
    8027 
    8028 /* Line 1806 of yacc.c  */
    8029 #line 2258 "parser.yy"
     8130  case 580:
     8131
     8132/* Line 1806 of yacc.c  */
     8133#line 2272 "parser.yy"
    80308134    { (yyval.decl) = (yyvsp[(2) - (8)].decl)->addParamList( (yyvsp[(6) - (8)].decl) ); }
    80318135    break;
    80328136
    8033   case 579:
    8034 
    8035 /* Line 1806 of yacc.c  */
    8036 #line 2260 "parser.yy"
     8137  case 581:
     8138
     8139/* Line 1806 of yacc.c  */
     8140#line 2274 "parser.yy"
    80378141    { (yyval.decl) = (yyvsp[(2) - (3)].decl); }
    80388142    break;
    80398143
    8040   case 580:
    8041 
    8042 /* Line 1806 of yacc.c  */
    8043 #line 2269 "parser.yy"
     8144  case 582:
     8145
     8146/* Line 1806 of yacc.c  */
     8147#line 2283 "parser.yy"
    80448148    { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); }
    80458149    break;
    80468150
    8047   case 582:
    8048 
    8049 /* Line 1806 of yacc.c  */
    8050 #line 2272 "parser.yy"
     8151  case 584:
     8152
     8153/* Line 1806 of yacc.c  */
     8154#line 2286 "parser.yy"
    80518155    { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); }
    80528156    break;
    80538157
    8054   case 583:
    8055 
    8056 /* Line 1806 of yacc.c  */
    8057 #line 2277 "parser.yy"
     8158  case 585:
     8159
     8160/* Line 1806 of yacc.c  */
     8161#line 2291 "parser.yy"
    80588162    { (yyval.decl) = (yyvsp[(1) - (6)].decl)->addParamList( (yyvsp[(4) - (6)].decl) ); }
    80598163    break;
    80608164
    8061   case 584:
    8062 
    8063 /* Line 1806 of yacc.c  */
    8064 #line 2279 "parser.yy"
     8165  case 586:
     8166
     8167/* Line 1806 of yacc.c  */
     8168#line 2293 "parser.yy"
    80658169    { (yyval.decl) = (yyvsp[(2) - (8)].decl)->addParamList( (yyvsp[(6) - (8)].decl) ); }
    80668170    break;
    80678171
    8068   case 585:
    8069 
    8070 /* Line 1806 of yacc.c  */
    8071 #line 2281 "parser.yy"
     8172  case 587:
     8173
     8174/* Line 1806 of yacc.c  */
     8175#line 2295 "parser.yy"
    80728176    { (yyval.decl) = (yyvsp[(2) - (3)].decl); }
    80738177    break;
    80748178
    8075   case 586:
    8076 
    8077 /* Line 1806 of yacc.c  */
    8078 #line 2286 "parser.yy"
     8179  case 588:
     8180
     8181/* Line 1806 of yacc.c  */
     8182#line 2300 "parser.yy"
    80798183    { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addPointer( DeclarationNode::newPointer( 0 ) ); }
    80808184    break;
    80818185
    8082   case 587:
    8083 
    8084 /* Line 1806 of yacc.c  */
    8085 #line 2288 "parser.yy"
     8186  case 589:
     8187
     8188/* Line 1806 of yacc.c  */
     8189#line 2302 "parser.yy"
    80868190    { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addPointer( DeclarationNode::newPointer( (yyvsp[(2) - (3)].decl) ) ); }
    80878191    break;
    80888192
    8089   case 588:
    8090 
    8091 /* Line 1806 of yacc.c  */
    8092 #line 2290 "parser.yy"
     8193  case 590:
     8194
     8195/* Line 1806 of yacc.c  */
     8196#line 2304 "parser.yy"
    80938197    { (yyval.decl) = (yyvsp[(2) - (3)].decl); }
    80948198    break;
    80958199
    8096   case 589:
    8097 
    8098 /* Line 1806 of yacc.c  */
    8099 #line 2295 "parser.yy"
     8200  case 591:
     8201
     8202/* Line 1806 of yacc.c  */
     8203#line 2309 "parser.yy"
    81008204    { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addArray( (yyvsp[(4) - (4)].decl) ); }
    81018205    break;
    81028206
    8103   case 590:
    8104 
    8105 /* Line 1806 of yacc.c  */
    8106 #line 2297 "parser.yy"
     8207  case 592:
     8208
     8209/* Line 1806 of yacc.c  */
     8210#line 2311 "parser.yy"
    81078211    { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addArray( (yyvsp[(4) - (4)].decl) ); }
    81088212    break;
    81098213
    8110   case 591:
    8111 
    8112 /* Line 1806 of yacc.c  */
    8113 #line 2299 "parser.yy"
     8214  case 593:
     8215
     8216/* Line 1806 of yacc.c  */
     8217#line 2313 "parser.yy"
    81148218    { (yyval.decl) = (yyvsp[(2) - (3)].decl); }
    81158219    break;
    81168220
    8117   case 595:
    8118 
    8119 /* Line 1806 of yacc.c  */
    8120 #line 2314 "parser.yy"
     8221  case 597:
     8222
     8223/* Line 1806 of yacc.c  */
     8224#line 2328 "parser.yy"
    81218225    { (yyval.decl) = (yyvsp[(1) - (4)].decl)->addIdList( (yyvsp[(3) - (4)].decl) ); }
    81228226    break;
    81238227
    8124   case 596:
    8125 
    8126 /* Line 1806 of yacc.c  */
    8127 #line 2316 "parser.yy"
     8228  case 598:
     8229
     8230/* Line 1806 of yacc.c  */
     8231#line 2330 "parser.yy"
    81288232    { (yyval.decl) = (yyvsp[(2) - (6)].decl)->addIdList( (yyvsp[(5) - (6)].decl) ); }
    81298233    break;
    81308234
    8131   case 597:
    8132 
    8133 /* Line 1806 of yacc.c  */
    8134 #line 2318 "parser.yy"
     8235  case 599:
     8236
     8237/* Line 1806 of yacc.c  */
     8238#line 2332 "parser.yy"
    81358239    { (yyval.decl) = (yyvsp[(2) - (3)].decl); }
    81368240    break;
    81378241
    8138   case 598:
    8139 
    8140 /* Line 1806 of yacc.c  */
    8141 #line 2323 "parser.yy"
     8242  case 600:
     8243
     8244/* Line 1806 of yacc.c  */
     8245#line 2337 "parser.yy"
    81428246    { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addPointer( DeclarationNode::newPointer( 0 ) ); }
    81438247    break;
    81448248
    8145   case 599:
    8146 
    8147 /* Line 1806 of yacc.c  */
    8148 #line 2325 "parser.yy"
     8249  case 601:
     8250
     8251/* Line 1806 of yacc.c  */
     8252#line 2339 "parser.yy"
    81498253    { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addPointer( DeclarationNode::newPointer( (yyvsp[(2) - (3)].decl) ) ); }
    81508254    break;
    81518255
    8152   case 600:
    8153 
    8154 /* Line 1806 of yacc.c  */
    8155 #line 2327 "parser.yy"
     8256  case 602:
     8257
     8258/* Line 1806 of yacc.c  */
     8259#line 2341 "parser.yy"
    81568260    { (yyval.decl) = (yyvsp[(2) - (3)].decl); }
    81578261    break;
    81588262
    8159   case 601:
    8160 
    8161 /* Line 1806 of yacc.c  */
    8162 #line 2332 "parser.yy"
     8263  case 603:
     8264
     8265/* Line 1806 of yacc.c  */
     8266#line 2346 "parser.yy"
    81638267    { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addArray( (yyvsp[(4) - (4)].decl) ); }
    81648268    break;
    81658269
    8166   case 602:
    8167 
    8168 /* Line 1806 of yacc.c  */
    8169 #line 2334 "parser.yy"
     8270  case 604:
     8271
     8272/* Line 1806 of yacc.c  */
     8273#line 2348 "parser.yy"
    81708274    { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addArray( (yyvsp[(4) - (4)].decl) ); }
    81718275    break;
    81728276
    8173   case 603:
    8174 
    8175 /* Line 1806 of yacc.c  */
    8176 #line 2336 "parser.yy"
     8277  case 605:
     8278
     8279/* Line 1806 of yacc.c  */
     8280#line 2350 "parser.yy"
    81778281    { (yyval.decl) = (yyvsp[(2) - (3)].decl); }
    81788282    break;
    81798283
    8180   case 604:
    8181 
    8182 /* Line 1806 of yacc.c  */
    8183 #line 2351 "parser.yy"
     8284  case 606:
     8285
     8286/* Line 1806 of yacc.c  */
     8287#line 2365 "parser.yy"
    81848288    { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); }
    81858289    break;
    81868290
    8187   case 606:
    8188 
    8189 /* Line 1806 of yacc.c  */
    8190 #line 2354 "parser.yy"
     8291  case 608:
     8292
     8293/* Line 1806 of yacc.c  */
     8294#line 2368 "parser.yy"
    81918295    { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); }
    81928296    break;
    81938297
    8194   case 607:
    8195 
    8196 /* Line 1806 of yacc.c  */
    8197 #line 2356 "parser.yy"
     8298  case 609:
     8299
     8300/* Line 1806 of yacc.c  */
     8301#line 2370 "parser.yy"
    81988302    { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); }
    81998303    break;
    82008304
    8201   case 609:
    8202 
    8203 /* Line 1806 of yacc.c  */
    8204 #line 2362 "parser.yy"
     8305  case 611:
     8306
     8307/* Line 1806 of yacc.c  */
     8308#line 2376 "parser.yy"
    82058309    { (yyval.decl) = (yyvsp[(2) - (3)].decl); }
    82068310    break;
    82078311
    8208   case 610:
    8209 
    8210 /* Line 1806 of yacc.c  */
    8211 #line 2367 "parser.yy"
     8312  case 612:
     8313
     8314/* Line 1806 of yacc.c  */
     8315#line 2381 "parser.yy"
    82128316    { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addPointer( DeclarationNode::newPointer( 0 ) ); }
    82138317    break;
    82148318
    8215   case 611:
    8216 
    8217 /* Line 1806 of yacc.c  */
    8218 #line 2369 "parser.yy"
     8319  case 613:
     8320
     8321/* Line 1806 of yacc.c  */
     8322#line 2383 "parser.yy"
    82198323    { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addPointer( DeclarationNode::newPointer( (yyvsp[(2) - (3)].decl) ) ); }
    82208324    break;
    82218325
    8222   case 612:
    8223 
    8224 /* Line 1806 of yacc.c  */
    8225 #line 2371 "parser.yy"
     8326  case 614:
     8327
     8328/* Line 1806 of yacc.c  */
     8329#line 2385 "parser.yy"
    82268330    { (yyval.decl) = (yyvsp[(2) - (3)].decl); }
    82278331    break;
    82288332
    8229   case 613:
    8230 
    8231 /* Line 1806 of yacc.c  */
    8232 #line 2376 "parser.yy"
     8333  case 615:
     8334
     8335/* Line 1806 of yacc.c  */
     8336#line 2390 "parser.yy"
    82338337    { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addArray( (yyvsp[(2) - (2)].decl) ); }
    82348338    break;
    82358339
    8236   case 614:
    8237 
    8238 /* Line 1806 of yacc.c  */
    8239 #line 2378 "parser.yy"
     8340  case 616:
     8341
     8342/* Line 1806 of yacc.c  */
     8343#line 2392 "parser.yy"
    82408344    { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addArray( (yyvsp[(4) - (4)].decl) ); }
    82418345    break;
    82428346
    8243   case 615:
    8244 
    8245 /* Line 1806 of yacc.c  */
    8246 #line 2380 "parser.yy"
     8347  case 617:
     8348
     8349/* Line 1806 of yacc.c  */
     8350#line 2394 "parser.yy"
    82478351    { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addArray( (yyvsp[(4) - (4)].decl) ); }
    82488352    break;
    82498353
    8250   case 616:
    8251 
    8252 /* Line 1806 of yacc.c  */
    8253 #line 2382 "parser.yy"
     8354  case 618:
     8355
     8356/* Line 1806 of yacc.c  */
     8357#line 2396 "parser.yy"
    82548358    { (yyval.decl) = (yyvsp[(2) - (3)].decl); }
    82558359    break;
    82568360
    8257   case 617:
    8258 
    8259 /* Line 1806 of yacc.c  */
    8260 #line 2387 "parser.yy"
     8361  case 619:
     8362
     8363/* Line 1806 of yacc.c  */
     8364#line 2401 "parser.yy"
    82618365    { (yyval.decl) = (yyvsp[(1) - (6)].decl)->addParamList( (yyvsp[(4) - (6)].decl) ); }
    82628366    break;
    82638367
    8264   case 618:
    8265 
    8266 /* Line 1806 of yacc.c  */
    8267 #line 2389 "parser.yy"
     8368  case 620:
     8369
     8370/* Line 1806 of yacc.c  */
     8371#line 2403 "parser.yy"
    82688372    { (yyval.decl) = (yyvsp[(2) - (8)].decl)->addParamList( (yyvsp[(6) - (8)].decl) ); }
    82698373    break;
    82708374
    8271   case 619:
    8272 
    8273 /* Line 1806 of yacc.c  */
    8274 #line 2391 "parser.yy"
     8375  case 621:
     8376
     8377/* Line 1806 of yacc.c  */
     8378#line 2405 "parser.yy"
    82758379    { (yyval.decl) = (yyvsp[(2) - (3)].decl); }
    82768380    break;
    82778381
    8278   case 620:
    8279 
    8280 /* Line 1806 of yacc.c  */
    8281 #line 2401 "parser.yy"
     8382  case 622:
     8383
     8384/* Line 1806 of yacc.c  */
     8385#line 2415 "parser.yy"
    82828386    { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); }
    82838387    break;
    82848388
    8285   case 622:
    8286 
    8287 /* Line 1806 of yacc.c  */
    8288 #line 2404 "parser.yy"
     8389  case 624:
     8390
     8391/* Line 1806 of yacc.c  */
     8392#line 2418 "parser.yy"
    82898393    { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); }
    82908394    break;
    82918395
    8292   case 623:
    8293 
    8294 /* Line 1806 of yacc.c  */
    8295 #line 2406 "parser.yy"
     8396  case 625:
     8397
     8398/* Line 1806 of yacc.c  */
     8399#line 2420 "parser.yy"
    82968400    { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); }
    82978401    break;
    82988402
    8299   case 624:
    8300 
    8301 /* Line 1806 of yacc.c  */
    8302 #line 2411 "parser.yy"
     8403  case 626:
     8404
     8405/* Line 1806 of yacc.c  */
     8406#line 2425 "parser.yy"
    83038407    { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addPointer( DeclarationNode::newPointer( 0 ) ); }
    83048408    break;
    83058409
    8306   case 625:
    8307 
    8308 /* Line 1806 of yacc.c  */
    8309 #line 2413 "parser.yy"
     8410  case 627:
     8411
     8412/* Line 1806 of yacc.c  */
     8413#line 2427 "parser.yy"
    83108414    { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addPointer( DeclarationNode::newPointer( (yyvsp[(2) - (3)].decl) ) ); }
    83118415    break;
    83128416
    8313   case 626:
    8314 
    8315 /* Line 1806 of yacc.c  */
    8316 #line 2415 "parser.yy"
     8417  case 628:
     8418
     8419/* Line 1806 of yacc.c  */
     8420#line 2429 "parser.yy"
    83178421    { (yyval.decl) = (yyvsp[(2) - (3)].decl); }
    83188422    break;
    83198423
    8320   case 627:
    8321 
    8322 /* Line 1806 of yacc.c  */
    8323 #line 2420 "parser.yy"
     8424  case 629:
     8425
     8426/* Line 1806 of yacc.c  */
     8427#line 2434 "parser.yy"
    83248428    { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addArray( (yyvsp[(2) - (2)].decl) ); }
    83258429    break;
    83268430
    8327   case 628:
    8328 
    8329 /* Line 1806 of yacc.c  */
    8330 #line 2422 "parser.yy"
     8431  case 630:
     8432
     8433/* Line 1806 of yacc.c  */
     8434#line 2436 "parser.yy"
    83318435    { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addArray( (yyvsp[(4) - (4)].decl) ); }
    83328436    break;
    83338437
    8334   case 629:
    8335 
    8336 /* Line 1806 of yacc.c  */
    8337 #line 2424 "parser.yy"
     8438  case 631:
     8439
     8440/* Line 1806 of yacc.c  */
     8441#line 2438 "parser.yy"
    83388442    { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addArray( (yyvsp[(4) - (4)].decl) ); }
    83398443    break;
    83408444
    8341   case 630:
    8342 
    8343 /* Line 1806 of yacc.c  */
    8344 #line 2426 "parser.yy"
     8445  case 632:
     8446
     8447/* Line 1806 of yacc.c  */
     8448#line 2440 "parser.yy"
    83458449    { (yyval.decl) = (yyvsp[(2) - (3)].decl); }
    83468450    break;
    83478451
    8348   case 631:
    8349 
    8350 /* Line 1806 of yacc.c  */
    8351 #line 2431 "parser.yy"
     8452  case 633:
     8453
     8454/* Line 1806 of yacc.c  */
     8455#line 2445 "parser.yy"
    83528456    { (yyval.decl) = (yyvsp[(1) - (6)].decl)->addParamList( (yyvsp[(4) - (6)].decl) ); }
    83538457    break;
    83548458
    8355   case 632:
    8356 
    8357 /* Line 1806 of yacc.c  */
    8358 #line 2433 "parser.yy"
     8459  case 634:
     8460
     8461/* Line 1806 of yacc.c  */
     8462#line 2447 "parser.yy"
    83598463    { (yyval.decl) = (yyvsp[(2) - (8)].decl)->addParamList( (yyvsp[(6) - (8)].decl) ); }
    83608464    break;
    83618465
    8362   case 633:
    8363 
    8364 /* Line 1806 of yacc.c  */
    8365 #line 2435 "parser.yy"
     8466  case 635:
     8467
     8468/* Line 1806 of yacc.c  */
     8469#line 2449 "parser.yy"
    83668470    { (yyval.decl) = (yyvsp[(2) - (3)].decl); }
    83678471    break;
    83688472
    8369   case 634:
    8370 
    8371 /* Line 1806 of yacc.c  */
    8372 #line 2466 "parser.yy"
     8473  case 636:
     8474
     8475/* Line 1806 of yacc.c  */
     8476#line 2480 "parser.yy"
    83738477    { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); }
    83748478    break;
    83758479
    8376   case 636:
    8377 
    8378 /* Line 1806 of yacc.c  */
    8379 #line 2469 "parser.yy"
     8480  case 638:
     8481
     8482/* Line 1806 of yacc.c  */
     8483#line 2483 "parser.yy"
    83808484    { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); }
    83818485    break;
    83828486
    8383   case 637:
    8384 
    8385 /* Line 1806 of yacc.c  */
    8386 #line 2471 "parser.yy"
     8487  case 639:
     8488
     8489/* Line 1806 of yacc.c  */
     8490#line 2485 "parser.yy"
    83878491    { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); }
    83888492    break;
    83898493
    8390   case 638:
    8391 
    8392 /* Line 1806 of yacc.c  */
    8393 #line 2476 "parser.yy"
     8494  case 640:
     8495
     8496/* Line 1806 of yacc.c  */
     8497#line 2490 "parser.yy"
    83948498    {
    83958499                        typedefTable.setNextIdentifier( *(yyvsp[(1) - (1)].tok) );
     
    83988502    break;
    83998503
    8400   case 639:
    8401 
    8402 /* Line 1806 of yacc.c  */
    8403 #line 2481 "parser.yy"
     8504  case 641:
     8505
     8506/* Line 1806 of yacc.c  */
     8507#line 2495 "parser.yy"
    84048508    {
    84058509                        typedefTable.setNextIdentifier( *(yyvsp[(1) - (1)].tok) );
     
    84088512    break;
    84098513
    8410   case 640:
    8411 
    8412 /* Line 1806 of yacc.c  */
    8413 #line 2489 "parser.yy"
     8514  case 642:
     8515
     8516/* Line 1806 of yacc.c  */
     8517#line 2503 "parser.yy"
    84148518    { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addPointer( DeclarationNode::newPointer( 0 ) ); }
    84158519    break;
    84168520
    8417   case 641:
    8418 
    8419 /* Line 1806 of yacc.c  */
    8420 #line 2491 "parser.yy"
     8521  case 643:
     8522
     8523/* Line 1806 of yacc.c  */
     8524#line 2505 "parser.yy"
    84218525    { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addPointer( DeclarationNode::newPointer( (yyvsp[(2) - (3)].decl) ) ); }
    84228526    break;
    84238527
    8424   case 642:
    8425 
    8426 /* Line 1806 of yacc.c  */
    8427 #line 2493 "parser.yy"
     8528  case 644:
     8529
     8530/* Line 1806 of yacc.c  */
     8531#line 2507 "parser.yy"
    84288532    { (yyval.decl) = (yyvsp[(2) - (3)].decl); }
    84298533    break;
    84308534
    8431   case 643:
    8432 
    8433 /* Line 1806 of yacc.c  */
    8434 #line 2498 "parser.yy"
     8535  case 645:
     8536
     8537/* Line 1806 of yacc.c  */
     8538#line 2512 "parser.yy"
    84358539    { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addArray( (yyvsp[(2) - (2)].decl) ); }
    84368540    break;
    84378541
    8438   case 644:
    8439 
    8440 /* Line 1806 of yacc.c  */
    8441 #line 2500 "parser.yy"
     8542  case 646:
     8543
     8544/* Line 1806 of yacc.c  */
     8545#line 2514 "parser.yy"
    84428546    { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addArray( (yyvsp[(4) - (4)].decl) ); }
    84438547    break;
    84448548
    8445   case 645:
    8446 
    8447 /* Line 1806 of yacc.c  */
    8448 #line 2505 "parser.yy"
     8549  case 647:
     8550
     8551/* Line 1806 of yacc.c  */
     8552#line 2519 "parser.yy"
    84498553    { (yyval.decl) = (yyvsp[(1) - (6)].decl)->addParamList( (yyvsp[(4) - (6)].decl) ); }
    84508554    break;
    84518555
    8452   case 646:
    8453 
    8454 /* Line 1806 of yacc.c  */
    8455 #line 2507 "parser.yy"
     8556  case 648:
     8557
     8558/* Line 1806 of yacc.c  */
     8559#line 2521 "parser.yy"
    84568560    { (yyval.decl) = (yyvsp[(2) - (8)].decl)->addParamList( (yyvsp[(6) - (8)].decl) ); }
    84578561    break;
    84588562
    8459   case 648:
    8460 
    8461 /* Line 1806 of yacc.c  */
    8462 #line 2522 "parser.yy"
     8563  case 650:
     8564
     8565/* Line 1806 of yacc.c  */
     8566#line 2536 "parser.yy"
    84638567    { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); }
    84648568    break;
    84658569
    8466   case 649:
    8467 
    8468 /* Line 1806 of yacc.c  */
    8469 #line 2524 "parser.yy"
     8570  case 651:
     8571
     8572/* Line 1806 of yacc.c  */
     8573#line 2538 "parser.yy"
    84708574    { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); }
    84718575    break;
    84728576
    8473   case 650:
    8474 
    8475 /* Line 1806 of yacc.c  */
    8476 #line 2529 "parser.yy"
     8577  case 652:
     8578
     8579/* Line 1806 of yacc.c  */
     8580#line 2543 "parser.yy"
    84778581    { (yyval.decl) = DeclarationNode::newPointer( 0 ); }
    84788582    break;
    84798583
    8480   case 651:
    8481 
    8482 /* Line 1806 of yacc.c  */
    8483 #line 2531 "parser.yy"
     8584  case 653:
     8585
     8586/* Line 1806 of yacc.c  */
     8587#line 2545 "parser.yy"
    84848588    { (yyval.decl) = DeclarationNode::newPointer( (yyvsp[(2) - (2)].decl) ); }
    84858589    break;
    84868590
    8487   case 652:
    8488 
    8489 /* Line 1806 of yacc.c  */
    8490 #line 2533 "parser.yy"
     8591  case 654:
     8592
     8593/* Line 1806 of yacc.c  */
     8594#line 2547 "parser.yy"
    84918595    { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addPointer( DeclarationNode::newPointer( 0 ) ); }
    84928596    break;
    84938597
    8494   case 653:
    8495 
    8496 /* Line 1806 of yacc.c  */
    8497 #line 2535 "parser.yy"
     8598  case 655:
     8599
     8600/* Line 1806 of yacc.c  */
     8601#line 2549 "parser.yy"
    84988602    { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addPointer( DeclarationNode::newPointer( (yyvsp[(2) - (3)].decl) ) ); }
    84998603    break;
    85008604
    8501   case 654:
    8502 
    8503 /* Line 1806 of yacc.c  */
    8504 #line 2537 "parser.yy"
     8605  case 656:
     8606
     8607/* Line 1806 of yacc.c  */
     8608#line 2551 "parser.yy"
    85058609    { (yyval.decl) = (yyvsp[(2) - (3)].decl); }
    85068610    break;
    85078611
    8508   case 656:
    8509 
    8510 /* Line 1806 of yacc.c  */
    8511 #line 2543 "parser.yy"
     8612  case 658:
     8613
     8614/* Line 1806 of yacc.c  */
     8615#line 2557 "parser.yy"
    85128616    { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addArray( (yyvsp[(4) - (4)].decl) ); }
    85138617    break;
    85148618
    8515   case 657:
    8516 
    8517 /* Line 1806 of yacc.c  */
    8518 #line 2545 "parser.yy"
     8619  case 659:
     8620
     8621/* Line 1806 of yacc.c  */
     8622#line 2559 "parser.yy"
    85198623    { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addArray( (yyvsp[(4) - (4)].decl) ); }
    85208624    break;
    85218625
    8522   case 658:
    8523 
    8524 /* Line 1806 of yacc.c  */
    8525 #line 2547 "parser.yy"
     8626  case 660:
     8627
     8628/* Line 1806 of yacc.c  */
     8629#line 2561 "parser.yy"
    85268630    { (yyval.decl) = (yyvsp[(2) - (3)].decl); }
    85278631    break;
    85288632
    8529   case 659:
    8530 
    8531 /* Line 1806 of yacc.c  */
    8532 #line 2552 "parser.yy"
     8633  case 661:
     8634
     8635/* Line 1806 of yacc.c  */
     8636#line 2566 "parser.yy"
    85338637    { (yyval.decl) = DeclarationNode::newFunction( nullptr, nullptr, (yyvsp[(3) - (5)].decl), nullptr ); }
    85348638    break;
    85358639
    8536   case 660:
    8537 
    8538 /* Line 1806 of yacc.c  */
    8539 #line 2554 "parser.yy"
     8640  case 662:
     8641
     8642/* Line 1806 of yacc.c  */
     8643#line 2568 "parser.yy"
    85408644    { (yyval.decl) = (yyvsp[(2) - (8)].decl)->addParamList( (yyvsp[(6) - (8)].decl) ); }
    85418645    break;
    85428646
    8543   case 661:
    8544 
    8545 /* Line 1806 of yacc.c  */
    8546 #line 2556 "parser.yy"
     8647  case 663:
     8648
     8649/* Line 1806 of yacc.c  */
     8650#line 2570 "parser.yy"
    85478651    { (yyval.decl) = (yyvsp[(2) - (3)].decl); }
    85488652    break;
    85498653
    8550   case 662:
    8551 
    8552 /* Line 1806 of yacc.c  */
    8553 #line 2562 "parser.yy"
     8654  case 664:
     8655
     8656/* Line 1806 of yacc.c  */
     8657#line 2576 "parser.yy"
    85548658    { (yyval.decl) = DeclarationNode::newArray( 0, 0, false ); }
    85558659    break;
    85568660
    8557   case 663:
    8558 
    8559 /* Line 1806 of yacc.c  */
    8560 #line 2564 "parser.yy"
     8661  case 665:
     8662
     8663/* Line 1806 of yacc.c  */
     8664#line 2578 "parser.yy"
    85618665    { (yyval.decl) = DeclarationNode::newArray( 0, 0, false )->addArray( (yyvsp[(3) - (3)].decl) ); }
    85628666    break;
    85638667
    8564   case 665:
    8565 
    8566 /* Line 1806 of yacc.c  */
    8567 #line 2570 "parser.yy"
     8668  case 667:
     8669
     8670/* Line 1806 of yacc.c  */
     8671#line 2584 "parser.yy"
    85688672    { (yyval.decl) = DeclarationNode::newArray( (yyvsp[(3) - (5)].en), 0, false ); }
    85698673    break;
    85708674
    8571   case 666:
    8572 
    8573 /* Line 1806 of yacc.c  */
    8574 #line 2572 "parser.yy"
     8675  case 668:
     8676
     8677/* Line 1806 of yacc.c  */
     8678#line 2586 "parser.yy"
    85758679    { (yyval.decl) = DeclarationNode::newVarArray( 0 ); }
    85768680    break;
    85778681
    8578   case 667:
    8579 
    8580 /* Line 1806 of yacc.c  */
    8581 #line 2574 "parser.yy"
     8682  case 669:
     8683
     8684/* Line 1806 of yacc.c  */
     8685#line 2588 "parser.yy"
    85828686    { (yyval.decl) = (yyvsp[(1) - (6)].decl)->addArray( DeclarationNode::newArray( (yyvsp[(4) - (6)].en), 0, false ) ); }
    85838687    break;
    85848688
    8585   case 668:
    8586 
    8587 /* Line 1806 of yacc.c  */
    8588 #line 2576 "parser.yy"
     8689  case 670:
     8690
     8691/* Line 1806 of yacc.c  */
     8692#line 2590 "parser.yy"
    85898693    { (yyval.decl) = (yyvsp[(1) - (6)].decl)->addArray( DeclarationNode::newVarArray( 0 ) ); }
    85908694    break;
    85918695
    8592   case 670:
    8593 
    8594 /* Line 1806 of yacc.c  */
    8595 #line 2591 "parser.yy"
     8696  case 672:
     8697
     8698/* Line 1806 of yacc.c  */
     8699#line 2605 "parser.yy"
    85968700    { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); }
    85978701    break;
    85988702
    8599   case 671:
    8600 
    8601 /* Line 1806 of yacc.c  */
    8602 #line 2593 "parser.yy"
     8703  case 673:
     8704
     8705/* Line 1806 of yacc.c  */
     8706#line 2607 "parser.yy"
    86038707    { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); }
    86048708    break;
    86058709
    8606   case 672:
    8607 
    8608 /* Line 1806 of yacc.c  */
    8609 #line 2598 "parser.yy"
     8710  case 674:
     8711
     8712/* Line 1806 of yacc.c  */
     8713#line 2612 "parser.yy"
    86108714    { (yyval.decl) = DeclarationNode::newPointer( 0 ); }
    86118715    break;
    86128716
    8613   case 673:
    8614 
    8615 /* Line 1806 of yacc.c  */
    8616 #line 2600 "parser.yy"
     8717  case 675:
     8718
     8719/* Line 1806 of yacc.c  */
     8720#line 2614 "parser.yy"
    86178721    { (yyval.decl) = DeclarationNode::newPointer( (yyvsp[(2) - (2)].decl) ); }
    86188722    break;
    86198723
    8620   case 674:
    8621 
    8622 /* Line 1806 of yacc.c  */
    8623 #line 2602 "parser.yy"
     8724  case 676:
     8725
     8726/* Line 1806 of yacc.c  */
     8727#line 2616 "parser.yy"
    86248728    { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addPointer( DeclarationNode::newPointer( 0 ) ); }
    86258729    break;
    86268730
    8627   case 675:
    8628 
    8629 /* Line 1806 of yacc.c  */
    8630 #line 2604 "parser.yy"
     8731  case 677:
     8732
     8733/* Line 1806 of yacc.c  */
     8734#line 2618 "parser.yy"
    86318735    { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addPointer( DeclarationNode::newPointer( (yyvsp[(2) - (3)].decl) ) ); }
    86328736    break;
    86338737
    8634   case 676:
    8635 
    8636 /* Line 1806 of yacc.c  */
    8637 #line 2606 "parser.yy"
     8738  case 678:
     8739
     8740/* Line 1806 of yacc.c  */
     8741#line 2620 "parser.yy"
    86388742    { (yyval.decl) = (yyvsp[(2) - (3)].decl); }
    86398743    break;
    86408744
    8641   case 678:
    8642 
    8643 /* Line 1806 of yacc.c  */
    8644 #line 2612 "parser.yy"
     8745  case 680:
     8746
     8747/* Line 1806 of yacc.c  */
     8748#line 2626 "parser.yy"
    86458749    { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addArray( (yyvsp[(4) - (4)].decl) ); }
    86468750    break;
    86478751
    8648   case 679:
    8649 
    8650 /* Line 1806 of yacc.c  */
    8651 #line 2614 "parser.yy"
     8752  case 681:
     8753
     8754/* Line 1806 of yacc.c  */
     8755#line 2628 "parser.yy"
    86528756    { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addArray( (yyvsp[(4) - (4)].decl) ); }
    86538757    break;
    86548758
    8655   case 680:
    8656 
    8657 /* Line 1806 of yacc.c  */
    8658 #line 2616 "parser.yy"
     8759  case 682:
     8760
     8761/* Line 1806 of yacc.c  */
     8762#line 2630 "parser.yy"
    86598763    { (yyval.decl) = (yyvsp[(2) - (3)].decl); }
    86608764    break;
    86618765
    8662   case 681:
    8663 
    8664 /* Line 1806 of yacc.c  */
    8665 #line 2621 "parser.yy"
     8766  case 683:
     8767
     8768/* Line 1806 of yacc.c  */
     8769#line 2635 "parser.yy"
    86668770    { (yyval.decl) = DeclarationNode::newFunction( nullptr, nullptr, (yyvsp[(3) - (5)].decl), nullptr ); }
    86678771    break;
    86688772
    8669   case 682:
    8670 
    8671 /* Line 1806 of yacc.c  */
    8672 #line 2623 "parser.yy"
     8773  case 684:
     8774
     8775/* Line 1806 of yacc.c  */
     8776#line 2637 "parser.yy"
    86738777    { (yyval.decl) = (yyvsp[(2) - (8)].decl)->addParamList( (yyvsp[(6) - (8)].decl) ); }
    86748778    break;
    86758779
    8676   case 683:
    8677 
    8678 /* Line 1806 of yacc.c  */
    8679 #line 2625 "parser.yy"
     8780  case 685:
     8781
     8782/* Line 1806 of yacc.c  */
     8783#line 2639 "parser.yy"
    86808784    { (yyval.decl) = (yyvsp[(2) - (3)].decl); }
    86818785    break;
    86828786
    8683   case 685:
    8684 
    8685 /* Line 1806 of yacc.c  */
    8686 #line 2632 "parser.yy"
     8787  case 687:
     8788
     8789/* Line 1806 of yacc.c  */
     8790#line 2646 "parser.yy"
    86878791    { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addArray( (yyvsp[(2) - (2)].decl) ); }
    86888792    break;
    86898793
    8690   case 687:
    8691 
    8692 /* Line 1806 of yacc.c  */
    8693 #line 2643 "parser.yy"
     8794  case 689:
     8795
     8796/* Line 1806 of yacc.c  */
     8797#line 2657 "parser.yy"
    86948798    { (yyval.decl) = DeclarationNode::newArray( 0, 0, false ); }
    86958799    break;
    86968800
    8697   case 688:
    8698 
    8699 /* Line 1806 of yacc.c  */
    8700 #line 2646 "parser.yy"
     8801  case 690:
     8802
     8803/* Line 1806 of yacc.c  */
     8804#line 2660 "parser.yy"
    87018805    { (yyval.decl) = DeclarationNode::newVarArray( (yyvsp[(3) - (6)].decl) ); }
    87028806    break;
    87038807
    8704   case 689:
    8705 
    8706 /* Line 1806 of yacc.c  */
    8707 #line 2648 "parser.yy"
     8808  case 691:
     8809
     8810/* Line 1806 of yacc.c  */
     8811#line 2662 "parser.yy"
    87088812    { (yyval.decl) = DeclarationNode::newArray( 0, (yyvsp[(3) - (5)].decl), false ); }
    87098813    break;
    87108814
    8711   case 690:
    8712 
    8713 /* Line 1806 of yacc.c  */
    8714 #line 2651 "parser.yy"
     8815  case 692:
     8816
     8817/* Line 1806 of yacc.c  */
     8818#line 2665 "parser.yy"
    87158819    { (yyval.decl) = DeclarationNode::newArray( (yyvsp[(4) - (6)].en), (yyvsp[(3) - (6)].decl), false ); }
    87168820    break;
    87178821
    8718   case 691:
    8719 
    8720 /* Line 1806 of yacc.c  */
    8721 #line 2653 "parser.yy"
     8822  case 693:
     8823
     8824/* Line 1806 of yacc.c  */
     8825#line 2667 "parser.yy"
    87228826    { (yyval.decl) = DeclarationNode::newArray( (yyvsp[(5) - (7)].en), (yyvsp[(4) - (7)].decl), true ); }
    87238827    break;
    87248828
    8725   case 692:
    8726 
    8727 /* Line 1806 of yacc.c  */
    8728 #line 2655 "parser.yy"
     8829  case 694:
     8830
     8831/* Line 1806 of yacc.c  */
     8832#line 2669 "parser.yy"
    87298833    { (yyval.decl) = DeclarationNode::newArray( (yyvsp[(5) - (7)].en), (yyvsp[(3) - (7)].decl), true ); }
    87308834    break;
    87318835
    8732   case 694:
    8733 
    8734 /* Line 1806 of yacc.c  */
    8735 #line 2669 "parser.yy"
     8836  case 696:
     8837
     8838/* Line 1806 of yacc.c  */
     8839#line 2683 "parser.yy"
    87368840    { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); }
    87378841    break;
    87388842
    8739   case 695:
    8740 
    8741 /* Line 1806 of yacc.c  */
    8742 #line 2671 "parser.yy"
     8843  case 697:
     8844
     8845/* Line 1806 of yacc.c  */
     8846#line 2685 "parser.yy"
    87438847    { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); }
    87448848    break;
    87458849
    8746   case 696:
    8747 
    8748 /* Line 1806 of yacc.c  */
    8749 #line 2676 "parser.yy"
     8850  case 698:
     8851
     8852/* Line 1806 of yacc.c  */
     8853#line 2690 "parser.yy"
    87508854    { (yyval.decl) = DeclarationNode::newPointer( 0 ); }
    87518855    break;
    87528856
    8753   case 697:
    8754 
    8755 /* Line 1806 of yacc.c  */
    8756 #line 2678 "parser.yy"
     8857  case 699:
     8858
     8859/* Line 1806 of yacc.c  */
     8860#line 2692 "parser.yy"
    87578861    { (yyval.decl) = DeclarationNode::newPointer( (yyvsp[(2) - (2)].decl) ); }
    87588862    break;
    87598863
    8760   case 698:
    8761 
    8762 /* Line 1806 of yacc.c  */
    8763 #line 2680 "parser.yy"
     8864  case 700:
     8865
     8866/* Line 1806 of yacc.c  */
     8867#line 2694 "parser.yy"
    87648868    { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addPointer( DeclarationNode::newPointer( 0 ) ); }
    87658869    break;
    87668870
    8767   case 699:
    8768 
    8769 /* Line 1806 of yacc.c  */
    8770 #line 2682 "parser.yy"
     8871  case 701:
     8872
     8873/* Line 1806 of yacc.c  */
     8874#line 2696 "parser.yy"
    87718875    { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addPointer( DeclarationNode::newPointer( (yyvsp[(2) - (3)].decl) ) ); }
    87728876    break;
    87738877
    8774   case 700:
    8775 
    8776 /* Line 1806 of yacc.c  */
    8777 #line 2684 "parser.yy"
     8878  case 702:
     8879
     8880/* Line 1806 of yacc.c  */
     8881#line 2698 "parser.yy"
    87788882    { (yyval.decl) = (yyvsp[(2) - (3)].decl); }
    87798883    break;
    87808884
    8781   case 702:
    8782 
    8783 /* Line 1806 of yacc.c  */
    8784 #line 2690 "parser.yy"
     8885  case 704:
     8886
     8887/* Line 1806 of yacc.c  */
     8888#line 2704 "parser.yy"
    87858889    { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addArray( (yyvsp[(4) - (4)].decl) ); }
    87868890    break;
    87878891
    8788   case 703:
    8789 
    8790 /* Line 1806 of yacc.c  */
    8791 #line 2692 "parser.yy"
     8892  case 705:
     8893
     8894/* Line 1806 of yacc.c  */
     8895#line 2706 "parser.yy"
    87928896    { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addArray( (yyvsp[(4) - (4)].decl) ); }
    87938897    break;
    87948898
    8795   case 704:
    8796 
    8797 /* Line 1806 of yacc.c  */
    8798 #line 2694 "parser.yy"
     8899  case 706:
     8900
     8901/* Line 1806 of yacc.c  */
     8902#line 2708 "parser.yy"
    87998903    { (yyval.decl) = (yyvsp[(2) - (3)].decl); }
    88008904    break;
    88018905
    8802   case 705:
    8803 
    8804 /* Line 1806 of yacc.c  */
    8805 #line 2699 "parser.yy"
     8906  case 707:
     8907
     8908/* Line 1806 of yacc.c  */
     8909#line 2713 "parser.yy"
    88068910    { (yyval.decl) = (yyvsp[(2) - (8)].decl)->addParamList( (yyvsp[(6) - (8)].decl) ); }
    88078911    break;
    88088912
    8809   case 706:
    8810 
    8811 /* Line 1806 of yacc.c  */
    8812 #line 2701 "parser.yy"
     8913  case 708:
     8914
     8915/* Line 1806 of yacc.c  */
     8916#line 2715 "parser.yy"
    88138917    { (yyval.decl) = (yyvsp[(2) - (3)].decl); }
    88148918    break;
    88158919
    8816   case 709:
    8817 
    8818 /* Line 1806 of yacc.c  */
    8819 #line 2711 "parser.yy"
     8920  case 711:
     8921
     8922/* Line 1806 of yacc.c  */
     8923#line 2725 "parser.yy"
    88208924    { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addQualifiers( (yyvsp[(1) - (2)].decl) ); }
    88218925    break;
    88228926
    8823   case 712:
    8824 
    8825 /* Line 1806 of yacc.c  */
    8826 #line 2721 "parser.yy"
     8927  case 714:
     8928
     8929/* Line 1806 of yacc.c  */
     8930#line 2735 "parser.yy"
    88278931    { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addNewPointer( DeclarationNode::newPointer( 0 ) ); }
    88288932    break;
    88298933
    8830   case 713:
    8831 
    8832 /* Line 1806 of yacc.c  */
    8833 #line 2723 "parser.yy"
     8934  case 715:
     8935
     8936/* Line 1806 of yacc.c  */
     8937#line 2737 "parser.yy"
    88348938    { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addNewPointer( DeclarationNode::newPointer( (yyvsp[(1) - (3)].decl) ) ); }
    88358939    break;
    88368940
    8837   case 714:
    8838 
    8839 /* Line 1806 of yacc.c  */
    8840 #line 2725 "parser.yy"
     8941  case 716:
     8942
     8943/* Line 1806 of yacc.c  */
     8944#line 2739 "parser.yy"
    88418945    { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addNewPointer( DeclarationNode::newPointer( 0 ) ); }
    88428946    break;
    88438947
    8844   case 715:
    8845 
    8846 /* Line 1806 of yacc.c  */
    8847 #line 2727 "parser.yy"
     8948  case 717:
     8949
     8950/* Line 1806 of yacc.c  */
     8951#line 2741 "parser.yy"
    88488952    { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addNewPointer( DeclarationNode::newPointer( (yyvsp[(1) - (3)].decl) ) ); }
    88498953    break;
    88508954
    8851   case 716:
    8852 
    8853 /* Line 1806 of yacc.c  */
    8854 #line 2729 "parser.yy"
     8955  case 718:
     8956
     8957/* Line 1806 of yacc.c  */
     8958#line 2743 "parser.yy"
    88558959    { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addNewPointer( DeclarationNode::newPointer( 0 ) ); }
    88568960    break;
    88578961
    8858   case 717:
    8859 
    8860 /* Line 1806 of yacc.c  */
    8861 #line 2731 "parser.yy"
     8962  case 719:
     8963
     8964/* Line 1806 of yacc.c  */
     8965#line 2745 "parser.yy"
    88628966    { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addNewPointer( DeclarationNode::newPointer( (yyvsp[(1) - (3)].decl) ) ); }
    88638967    break;
    88648968
    8865   case 718:
    8866 
    8867 /* Line 1806 of yacc.c  */
    8868 #line 2738 "parser.yy"
     8969  case 720:
     8970
     8971/* Line 1806 of yacc.c  */
     8972#line 2752 "parser.yy"
    88698973    { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addNewArray( DeclarationNode::newArray( 0, 0, false ) ); }
    88708974    break;
    88718975
    8872   case 719:
    8873 
    8874 /* Line 1806 of yacc.c  */
    8875 #line 2740 "parser.yy"
     8976  case 721:
     8977
     8978/* Line 1806 of yacc.c  */
     8979#line 2754 "parser.yy"
    88768980    { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addNewArray( (yyvsp[(1) - (2)].decl) ); }
    88778981    break;
    88788982
    8879   case 720:
    8880 
    8881 /* Line 1806 of yacc.c  */
    8882 #line 2742 "parser.yy"
     8983  case 722:
     8984
     8985/* Line 1806 of yacc.c  */
     8986#line 2756 "parser.yy"
    88838987    { (yyval.decl) = (yyvsp[(4) - (4)].decl)->addNewArray( (yyvsp[(3) - (4)].decl) )->addNewArray( DeclarationNode::newArray( 0, 0, false ) ); }
    88848988    break;
    88858989
    8886   case 721:
    8887 
    8888 /* Line 1806 of yacc.c  */
    8889 #line 2744 "parser.yy"
     8990  case 723:
     8991
     8992/* Line 1806 of yacc.c  */
     8993#line 2758 "parser.yy"
    88908994    { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addNewArray( (yyvsp[(2) - (3)].decl) )->addNewArray( (yyvsp[(1) - (3)].decl) ); }
    88918995    break;
    88928996
    8893   case 722:
    8894 
    8895 /* Line 1806 of yacc.c  */
    8896 #line 2746 "parser.yy"
     8997  case 724:
     8998
     8999/* Line 1806 of yacc.c  */
     9000#line 2760 "parser.yy"
    88979001    { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addNewArray( (yyvsp[(1) - (2)].decl) ); }
    88989002    break;
    88999003
    8900   case 723:
    8901 
    8902 /* Line 1806 of yacc.c  */
    8903 #line 2749 "parser.yy"
     9004  case 725:
     9005
     9006/* Line 1806 of yacc.c  */
     9007#line 2763 "parser.yy"
    89049008    { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addNewArray( DeclarationNode::newArray( 0, 0, false ) ); }
    89059009    break;
    89069010
    8907   case 724:
    8908 
    8909 /* Line 1806 of yacc.c  */
    8910 #line 2751 "parser.yy"
     9011  case 726:
     9012
     9013/* Line 1806 of yacc.c  */
     9014#line 2765 "parser.yy"
    89119015    { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addNewArray( (yyvsp[(1) - (2)].decl) ); }
    89129016    break;
    89139017
    8914   case 725:
    8915 
    8916 /* Line 1806 of yacc.c  */
    8917 #line 2753 "parser.yy"
     9018  case 727:
     9019
     9020/* Line 1806 of yacc.c  */
     9021#line 2767 "parser.yy"
    89189022    { (yyval.decl) = (yyvsp[(4) - (4)].decl)->addNewArray( (yyvsp[(3) - (4)].decl) )->addNewArray( DeclarationNode::newArray( 0, 0, false ) ); }
    89199023    break;
    89209024
    8921   case 726:
    8922 
    8923 /* Line 1806 of yacc.c  */
    8924 #line 2755 "parser.yy"
     9025  case 728:
     9026
     9027/* Line 1806 of yacc.c  */
     9028#line 2769 "parser.yy"
    89259029    { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addNewArray( (yyvsp[(2) - (3)].decl) )->addNewArray( (yyvsp[(1) - (3)].decl) ); }
    89269030    break;
    89279031
    8928   case 727:
    8929 
    8930 /* Line 1806 of yacc.c  */
    8931 #line 2757 "parser.yy"
     9032  case 729:
     9033
     9034/* Line 1806 of yacc.c  */
     9035#line 2771 "parser.yy"
    89329036    { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addNewArray( (yyvsp[(1) - (2)].decl) ); }
    89339037    break;
    89349038
    8935   case 728:
    8936 
    8937 /* Line 1806 of yacc.c  */
    8938 #line 2762 "parser.yy"
     9039  case 730:
     9040
     9041/* Line 1806 of yacc.c  */
     9042#line 2776 "parser.yy"
    89399043    { (yyval.decl) = DeclarationNode::newVarArray( (yyvsp[(3) - (6)].decl) ); }
    89409044    break;
    89419045
    8942   case 729:
    8943 
    8944 /* Line 1806 of yacc.c  */
    8945 #line 2764 "parser.yy"
     9046  case 731:
     9047
     9048/* Line 1806 of yacc.c  */
     9049#line 2778 "parser.yy"
    89469050    { (yyval.decl) = DeclarationNode::newArray( (yyvsp[(4) - (6)].en), (yyvsp[(3) - (6)].decl), false ); }
    89479051    break;
    89489052
    8949   case 730:
    8950 
    8951 /* Line 1806 of yacc.c  */
    8952 #line 2769 "parser.yy"
     9053  case 732:
     9054
     9055/* Line 1806 of yacc.c  */
     9056#line 2783 "parser.yy"
    89539057    { (yyval.decl) = DeclarationNode::newArray( (yyvsp[(4) - (6)].en), (yyvsp[(3) - (6)].decl), true ); }
    89549058    break;
    89559059
    8956   case 731:
    8957 
    8958 /* Line 1806 of yacc.c  */
    8959 #line 2771 "parser.yy"
     9060  case 733:
     9061
     9062/* Line 1806 of yacc.c  */
     9063#line 2785 "parser.yy"
    89609064    { (yyval.decl) = DeclarationNode::newArray( (yyvsp[(5) - (7)].en), (yyvsp[(4) - (7)].decl)->addQualifiers( (yyvsp[(3) - (7)].decl) ), true ); }
    89619065    break;
    89629066
    8963   case 733:
    8964 
    8965 /* Line 1806 of yacc.c  */
    8966 #line 2798 "parser.yy"
     9067  case 735:
     9068
     9069/* Line 1806 of yacc.c  */
     9070#line 2812 "parser.yy"
    89679071    { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addQualifiers( (yyvsp[(1) - (2)].decl) ); }
    89689072    break;
    89699073
    8970   case 737:
    8971 
    8972 /* Line 1806 of yacc.c  */
    8973 #line 2809 "parser.yy"
     9074  case 739:
     9075
     9076/* Line 1806 of yacc.c  */
     9077#line 2823 "parser.yy"
    89749078    { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addNewPointer( DeclarationNode::newPointer( 0 ) ); }
    89759079    break;
    89769080
    8977   case 738:
    8978 
    8979 /* Line 1806 of yacc.c  */
    8980 #line 2811 "parser.yy"
     9081  case 740:
     9082
     9083/* Line 1806 of yacc.c  */
     9084#line 2825 "parser.yy"
    89819085    { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addNewPointer( DeclarationNode::newPointer( (yyvsp[(1) - (3)].decl) ) ); }
    89829086    break;
    89839087
    8984   case 739:
    8985 
    8986 /* Line 1806 of yacc.c  */
    8987 #line 2813 "parser.yy"
     9088  case 741:
     9089
     9090/* Line 1806 of yacc.c  */
     9091#line 2827 "parser.yy"
    89889092    { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addNewPointer( DeclarationNode::newPointer( 0 ) ); }
    89899093    break;
    89909094
    8991   case 740:
    8992 
    8993 /* Line 1806 of yacc.c  */
    8994 #line 2815 "parser.yy"
     9095  case 742:
     9096
     9097/* Line 1806 of yacc.c  */
     9098#line 2829 "parser.yy"
    89959099    { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addNewPointer( DeclarationNode::newPointer( (yyvsp[(1) - (3)].decl) ) ); }
    89969100    break;
    89979101
    8998   case 741:
    8999 
    9000 /* Line 1806 of yacc.c  */
    9001 #line 2817 "parser.yy"
     9102  case 743:
     9103
     9104/* Line 1806 of yacc.c  */
     9105#line 2831 "parser.yy"
    90029106    { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addNewPointer( DeclarationNode::newPointer( 0 ) ); }
    90039107    break;
    90049108
    9005   case 742:
    9006 
    9007 /* Line 1806 of yacc.c  */
    9008 #line 2819 "parser.yy"
     9109  case 744:
     9110
     9111/* Line 1806 of yacc.c  */
     9112#line 2833 "parser.yy"
    90099113    { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addNewPointer( DeclarationNode::newPointer( (yyvsp[(1) - (3)].decl) ) ); }
    90109114    break;
    90119115
    9012   case 743:
    9013 
    9014 /* Line 1806 of yacc.c  */
    9015 #line 2826 "parser.yy"
     9116  case 745:
     9117
     9118/* Line 1806 of yacc.c  */
     9119#line 2840 "parser.yy"
    90169120    { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addNewArray( DeclarationNode::newArray( nullptr, nullptr, false ) ); }
    90179121    break;
    90189122
    9019   case 744:
    9020 
    9021 /* Line 1806 of yacc.c  */
    9022 #line 2828 "parser.yy"
     9123  case 746:
     9124
     9125/* Line 1806 of yacc.c  */
     9126#line 2842 "parser.yy"
    90239127    { (yyval.decl) = (yyvsp[(4) - (4)].decl)->addNewArray( (yyvsp[(3) - (4)].decl) )->addNewArray( DeclarationNode::newArray( nullptr, nullptr, false ) ); }
    90249128    break;
    90259129
    9026   case 745:
    9027 
    9028 /* Line 1806 of yacc.c  */
    9029 #line 2830 "parser.yy"
     9130  case 747:
     9131
     9132/* Line 1806 of yacc.c  */
     9133#line 2844 "parser.yy"
    90309134    { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addNewArray( (yyvsp[(1) - (2)].decl) ); }
    90319135    break;
    90329136
    9033   case 746:
    9034 
    9035 /* Line 1806 of yacc.c  */
    9036 #line 2832 "parser.yy"
     9137  case 748:
     9138
     9139/* Line 1806 of yacc.c  */
     9140#line 2846 "parser.yy"
    90379141    { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addNewArray( DeclarationNode::newArray( nullptr, nullptr, false ) ); }
    90389142    break;
    90399143
    9040   case 747:
    9041 
    9042 /* Line 1806 of yacc.c  */
    9043 #line 2834 "parser.yy"
     9144  case 749:
     9145
     9146/* Line 1806 of yacc.c  */
     9147#line 2848 "parser.yy"
    90449148    { (yyval.decl) = (yyvsp[(4) - (4)].decl)->addNewArray( (yyvsp[(3) - (4)].decl) )->addNewArray( DeclarationNode::newArray( nullptr, nullptr, false ) ); }
    90459149    break;
    90469150
    9047   case 748:
    9048 
    9049 /* Line 1806 of yacc.c  */
    9050 #line 2836 "parser.yy"
     9151  case 750:
     9152
     9153/* Line 1806 of yacc.c  */
     9154#line 2850 "parser.yy"
    90519155    { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addNewArray( (yyvsp[(1) - (2)].decl) ); }
    90529156    break;
    90539157
    9054   case 749:
    9055 
    9056 /* Line 1806 of yacc.c  */
    9057 #line 2841 "parser.yy"
     9158  case 751:
     9159
     9160/* Line 1806 of yacc.c  */
     9161#line 2855 "parser.yy"
    90589162    { (yyval.decl) = DeclarationNode::newTuple( (yyvsp[(3) - (5)].decl) ); }
    90599163    break;
    90609164
    9061   case 750:
    9062 
    9063 /* Line 1806 of yacc.c  */
    9064 #line 2848 "parser.yy"
     9165  case 752:
     9166
     9167/* Line 1806 of yacc.c  */
     9168#line 2862 "parser.yy"
    90659169    { (yyval.decl) = DeclarationNode::newFunction( nullptr, (yyvsp[(1) - (6)].decl), (yyvsp[(4) - (6)].decl), nullptr ); }
    90669170    break;
    90679171
    9068   case 751:
    9069 
    9070 /* Line 1806 of yacc.c  */
    9071 #line 2850 "parser.yy"
     9172  case 753:
     9173
     9174/* Line 1806 of yacc.c  */
     9175#line 2864 "parser.yy"
    90729176    { (yyval.decl) = DeclarationNode::newFunction( nullptr, (yyvsp[(1) - (6)].decl), (yyvsp[(4) - (6)].decl), nullptr ); }
    90739177    break;
    90749178
    9075   case 754:
    9076 
    9077 /* Line 1806 of yacc.c  */
    9078 #line 2874 "parser.yy"
    9079     { (yyval.en) = 0; }
    9080     break;
    9081 
    9082   case 755:
    9083 
    9084 /* Line 1806 of yacc.c  */
    9085 #line 2876 "parser.yy"
     9179  case 756:
     9180
     9181/* Line 1806 of yacc.c  */
     9182#line 2888 "parser.yy"
     9183    { (yyval.en) = nullptr; }
     9184    break;
     9185
     9186  case 757:
     9187
     9188/* Line 1806 of yacc.c  */
     9189#line 2890 "parser.yy"
    90869190    { (yyval.en) = (yyvsp[(2) - (2)].en); }
    90879191    break;
     
    90909194
    90919195/* Line 1806 of yacc.c  */
    9092 #line 9093 "Parser/parser.cc"
     9196#line 9197 "Parser/parser.cc"
    90939197      default: break;
    90949198    }
     
    93219425
    93229426/* Line 2067 of yacc.c  */
    9323 #line 2879 "parser.yy"
     9427#line 2893 "parser.yy"
    93249428
    93259429// ----end of grammar----
Note: See TracChangeset for help on using the changeset viewer.