Ignore:
Timestamp:
Nov 1, 2016, 3:18:59 PM (9 years ago)
Author:
Aaron Moss <a3moss@…>
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:
84118d8
Parents:
40744af8 (diff), 0afffee (diff)
Note: this is a merge changeset, the changes displayed below correspond to the merge itself.
Use the (diff) links above to see all the changes relative to each parent.
Message:

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

File:
1 edited

Legend:

Unmodified
Added
Removed
  • src/Parser/parser.cc

    r40744af8 rf51aefb  
    201201     ATTR_TYPEGENname = 333,
    202202     INTEGERconstant = 334,
    203      FLOATINGconstant = 335,
    204      CHARACTERconstant = 336,
    205      STRINGliteral = 337,
    206      ZERO = 338,
    207      ONE = 339,
    208      ARROW = 340,
    209      ICR = 341,
    210      DECR = 342,
    211      LS = 343,
    212      RS = 344,
    213      LE = 345,
    214      GE = 346,
    215      EQ = 347,
    216      NE = 348,
    217      ANDAND = 349,
    218      OROR = 350,
    219      ELLIPSIS = 351,
    220      MULTassign = 352,
    221      DIVassign = 353,
    222      MODassign = 354,
    223      PLUSassign = 355,
    224      MINUSassign = 356,
    225      LSassign = 357,
    226      RSassign = 358,
    227      ANDassign = 359,
    228      ERassign = 360,
    229      ORassign = 361,
    230      ATassign = 362,
    231      THEN = 363
     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
    232234   };
    233235#endif
     
    310312#define ATTR_TYPEGENname 333
    311313#define INTEGERconstant 334
    312 #define FLOATINGconstant 335
    313 #define CHARACTERconstant 336
    314 #define STRINGliteral 337
    315 #define ZERO 338
    316 #define ONE 339
    317 #define ARROW 340
    318 #define ICR 341
    319 #define DECR 342
    320 #define LS 343
    321 #define RS 344
    322 #define LE 345
    323 #define GE 346
    324 #define EQ 347
    325 #define NE 348
    326 #define ANDAND 349
    327 #define OROR 350
    328 #define ELLIPSIS 351
    329 #define MULTassign 352
    330 #define DIVassign 353
    331 #define MODassign 354
    332 #define PLUSassign 355
    333 #define MINUSassign 356
    334 #define LSassign 357
    335 #define RSassign 358
    336 #define ANDassign 359
    337 #define ERassign 360
    338 #define ORassign 361
    339 #define ATassign 362
    340 #define THEN 363
     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
    341345
    342346
     
    348352
    349353/* Line 293 of yacc.c  */
    350 #line 116 "parser.yy"
     354#line 120 "parser.yy"
    351355
    352356        Token tok;
     
    368372
    369373/* Line 293 of yacc.c  */
    370 #line 371 "Parser/parser.cc"
     374#line 375 "Parser/parser.cc"
    371375} YYSTYPE;
    372376# define YYSTYPE_IS_TRIVIAL 1
     
    380384
    381385/* Line 343 of yacc.c  */
    382 #line 383 "Parser/parser.cc"
     386#line 387 "Parser/parser.cc"
    383387
    384388#ifdef short
     
    597601
    598602/* YYFINAL -- State number of the termination state.  */
    599 #define YYFINAL  250
     603#define YYFINAL  249
    600604/* YYLAST -- Last index in YYTABLE.  */
    601 #define YYLAST   10863
     605#define YYLAST   10266
    602606
    603607/* YYNTOKENS -- Number of terminals.  */
    604 #define YYNTOKENS  133
     608#define YYNTOKENS  135
    605609/* YYNNTS -- Number of nonterminals.  */
    606 #define YYNNTS  241
     610#define YYNNTS  243
    607611/* YYNRULES -- Number of rules.  */
    608 #define YYNRULES  751
     612#define YYNRULES  755
    609613/* YYNRULES -- Number of states.  */
    610 #define YYNSTATES  1555
     614#define YYNSTATES  1538
    611615
    612616/* YYTRANSLATE(YYLEX) -- Bison symbol number corresponding to YYLEX.  */
    613617#define YYUNDEFTOK  2
    614 #define YYMAXUTOK   363
     618#define YYMAXUTOK   365
    615619
    616620#define YYTRANSLATE(YYX)                                                \
     
    623627       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
    624628       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
    625        2,     2,     2,   121,     2,     2,     2,   124,   118,     2,
    626      109,   110,   117,   119,   116,   120,   113,   123,     2,     2,
    627        2,     2,     2,     2,     2,     2,     2,     2,   130,   132,
    628      125,   131,   126,   129,     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,
    629633       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
    630634       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
    631        2,   111,     2,   112,   127,     2,     2,     2,     2,     2,
     635       2,   113,     2,   114,   129,     2,     2,     2,     2,     2,
    632636       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
    633637       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
    634        2,     2,     2,   114,   128,   115,   122,     2,     2,     2,
     638       2,     2,     2,   116,   130,   117,   124,     2,     2,     2,
    635639       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
    636640       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
     
    656660      85,    86,    87,    88,    89,    90,    91,    92,    93,    94,
    657661      95,    96,    97,    98,    99,   100,   101,   102,   103,   104,
    658      105,   106,   107,   108
     662     105,   106,   107,   108,   109,   110
    659663};
    660664
     
    665669{
    666670       0,     0,     3,     4,     5,     7,     9,    11,    13,    15,
    667       17,    19,    21,    23,    25,    27,    29,    31,    33,    36,
    668       38,    40,    44,    48,    50,    57,    62,    66,    74,    78,
    669       86,    89,    92,   100,   105,   107,   111,   112,   114,   116,
    670      120,   122,   126,   134,   138,   146,   148,   150,   152,   155,
    671      158,   161,   164,   167,   170,   175,   178,   183,   190,   192,
    672      197,   202,   204,   206,   208,   210,   212,   214,   216,   221,
    673      226,   228,   232,   236,   240,   242,   246,   250,   252,   256,
    674      260,   262,   266,   270,   274,   278,   280,   284,   288,   290,
    675      294,   296,   300,   302,   306,   308,   312,   314,   318,   320,
    676      326,   331,   337,   339,   341,   345,   348,   349,   351,   353,
    677      355,   357,   359,   361,   363,   365,   367,   369,   371,   373,
    678      375,   378,   384,   391,   399,   401,   405,   407,   411,   412,
    679      414,   416,   418,   420,   422,   424,   426,   428,   430,   437,
    680      442,   445,   453,   455,   459,   461,   464,   466,   469,   471,
    681      474,   477,   483,   491,   497,   507,   513,   523,   525,   529,
    682      531,   533,   537,   541,   544,   546,   549,   552,   553,   555,
    683      558,   562,   563,   565,   568,   572,   576,   581,   582,   584,
    684      586,   589,   595,   603,   610,   617,   622,   626,   631,   634,
    685      638,   641,   645,   649,   653,   657,   663,   667,   671,   676,
    686      678,   684,   691,   697,   704,   714,   725,   735,   746,   749,
    687      751,   754,   757,   760,   762,   769,   778,   789,   802,   817,
    688      818,   820,   821,   823,   825,   829,   834,   842,   843,   845,
    689      849,   851,   855,   857,   859,   861,   865,   867,   869,   871,
    690      875,   876,   878,   882,   887,   889,   893,   895,   897,   901,
    691      905,   909,   913,   917,   920,   924,   931,   935,   939,   944,
    692      946,   949,   952,   956,   962,   971,   979,   987,   993,  1003,
    693     1006,  1009,  1015,  1019,  1025,  1030,  1034,  1039,  1044,  1052,
    694     1056,  1060,  1064,  1068,  1073,  1080,  1082,  1084,  1086,  1088,
    695     1090,  1092,  1094,  1096,  1097,  1099,  1101,  1104,  1106,  1108,
    696     1110,  1112,  1114,  1116,  1118,  1119,  1125,  1127,  1130,  1134,
    697     1136,  1139,  1141,  1143,  1145,  1147,  1149,  1151,  1153,  1155,
    698     1157,  1159,  1161,  1163,  1165,  1167,  1169,  1171,  1173,  1175,
    699     1177,  1179,  1181,  1183,  1186,  1189,  1193,  1197,  1199,  1203,
    700     1205,  1208,  1211,  1214,  1219,  1224,  1229,  1234,  1236,  1239,
    701     1242,  1246,  1248,  1251,  1254,  1256,  1259,  1262,  1266,  1268,
    702     1271,  1274,  1276,  1278,  1283,  1286,  1287,  1294,  1302,  1305,
    703     1308,  1311,  1312,  1315,  1318,  1322,  1325,  1329,  1331,  1334,
    704     1338,  1341,  1344,  1349,  1350,  1352,  1355,  1358,  1360,  1361,
    705     1363,  1366,  1369,  1375,  1378,  1379,  1387,  1390,  1395,  1396,
    706     1399,  1400,  1402,  1404,  1406,  1412,  1418,  1424,  1426,  1432,
    707     1438,  1448,  1450,  1456,  1457,  1459,  1461,  1467,  1469,  1471,
    708     1477,  1483,  1485,  1489,  1493,  1498,  1500,  1502,  1504,  1506,
    709     1509,  1511,  1515,  1519,  1521,  1524,  1526,  1530,  1532,  1534,
    710     1536,  1538,  1540,  1542,  1544,  1546,  1548,  1550,  1552,  1555,
    711     1557,  1559,  1561,  1564,  1565,  1568,  1571,  1573,  1578,  1579,
    712     1581,  1584,  1588,  1593,  1596,  1599,  1601,  1604,  1607,  1613,
    713     1619,  1627,  1634,  1636,  1639,  1642,  1646,  1648,  1651,  1654,
    714     1659,  1662,  1667,  1668,  1673,  1676,  1678,  1680,  1682,  1683,
    715     1686,  1692,  1698,  1712,  1714,  1716,  1720,  1724,  1727,  1731,
    716     1735,  1738,  1743,  1745,  1752,  1762,  1763,  1775,  1777,  1781,
    717     1785,  1789,  1791,  1793,  1799,  1802,  1808,  1809,  1811,  1813,
    718     1817,  1818,  1820,  1822,  1824,  1826,  1827,  1834,  1837,  1839,
    719     1842,  1847,  1850,  1854,  1858,  1862,  1867,  1873,  1879,  1885,
    720     1892,  1894,  1896,  1898,  1902,  1903,  1909,  1910,  1912,  1914,
    721     1917,  1924,  1926,  1930,  1931,  1933,  1938,  1940,  1942,  1944,
    722     1946,  1949,  1951,  1954,  1957,  1959,  1963,  1966,  1970,  1974,
    723     1977,  1982,  1987,  1991,  2000,  2004,  2007,  2009,  2012,  2019,
    724     2028,  2032,  2035,  2039,  2043,  2048,  2053,  2057,  2059,  2061,
    725     2063,  2068,  2075,  2079,  2082,  2086,  2090,  2095,  2100,  2104,
    726     2107,  2109,  2112,  2115,  2117,  2121,  2124,  2128,  2132,  2135,
    727     2140,  2145,  2149,  2156,  2165,  2169,  2172,  2174,  2177,  2180,
    728     2183,  2187,  2191,  2194,  2199,  2204,  2208,  2215,  2224,  2228,
    729     2231,  2233,  2236,  2239,  2241,  2243,  2246,  2250,  2254,  2257,
    730     2262,  2269,  2278,  2280,  2283,  2286,  2288,  2291,  2294,  2298,
    731     2302,  2304,  2309,  2314,  2318,  2324,  2333,  2337,  2340,  2344,
    732     2346,  2352,  2358,  2365,  2372,  2374,  2377,  2380,  2382,  2385,
    733     2388,  2392,  2396,  2398,  2403,  2408,  2412,  2418,  2427,  2431,
    734     2433,  2436,  2438,  2441,  2448,  2454,  2461,  2469,  2477,  2479,
    735     2482,  2485,  2487,  2490,  2493,  2497,  2501,  2503,  2508,  2513,
    736     2517,  2526,  2530,  2532,  2534,  2537,  2539,  2541,  2544,  2548,
    737     2551,  2555,  2558,  2562,  2566,  2569,  2574,  2578,  2581,  2585,
    738     2588,  2593,  2597,  2600,  2607,  2614,  2621,  2629,  2631,  2634,
    739     2636,  2638,  2640,  2643,  2647,  2650,  2654,  2657,  2661,  2665,
    740     2670,  2673,  2677,  2682,  2685,  2691,  2697,  2704,  2711,  2712,
    741     2714,  2715
     671      17,    19,    21,    23,    25,    27,    29,    31,    33,    35,
     672      37,    40,    42,    44,    46,    50,    54,    56,    63,    68,
     673      72,    80,    83,    87,    95,    98,   101,   109,   114,   116,
     674     120,   121,   123,   125,   129,   131,   134,   141,   145,   153,
     675     157,   165,   168,   171,   174,   175,   178,   180,   182,   184,
     676     187,   190,   193,   196,   199,   202,   207,   210,   215,   222,
     677     224,   229,   234,   236,   238,   240,   242,   244,   246,   248,
     678     253,   255,   259,   263,   267,   269,   273,   277,   279,   283,
     679     287,   289,   293,   297,   301,   305,   307,   311,   315,   317,
     680     321,   323,   327,   329,   333,   335,   339,   341,   345,   347,
     681     353,   358,   360,   362,   366,   367,   369,   371,   373,   375,
     682     377,   379,   381,   383,   385,   387,   389,   391,   393,   400,
     683     408,   410,   414,   416,   420,   421,   423,   425,   427,   429,
     684     431,   433,   435,   437,   439,   446,   451,   454,   462,   464,
     685     468,   470,   473,   475,   478,   480,   483,   486,   492,   500,
     686     506,   516,   522,   532,   534,   538,   540,   542,   546,   550,
     687     553,   555,   558,   561,   562,   564,   567,   571,   572,   574,
     688     577,   581,   585,   590,   591,   593,   595,   598,   604,   612,
     689     619,   626,   631,   635,   640,   643,   647,   650,   654,   658,
     690     662,   666,   672,   676,   680,   685,   687,   693,   700,   706,
     691     713,   723,   734,   744,   755,   758,   760,   763,   766,   769,
     692     771,   778,   787,   798,   811,   826,   827,   829,   830,   832,
     693     834,   838,   843,   851,   852,   854,   858,   860,   864,   866,
     694     868,   870,   874,   876,   878,   880,   884,   885,   887,   891,
     695     896,   898,   902,   904,   906,   910,   914,   918,   922,   926,
     696     929,   933,   940,   944,   948,   953,   955,   958,   961,   965,
     697     971,   979,   987,   993,  1003,  1006,  1009,  1015,  1019,  1025,
     698    1030,  1034,  1039,  1044,  1052,  1056,  1060,  1064,  1068,  1073,
     699    1080,  1082,  1084,  1086,  1088,  1090,  1092,  1094,  1096,  1097,
     700    1099,  1101,  1104,  1106,  1108,  1110,  1112,  1114,  1116,  1118,
     701    1119,  1125,  1127,  1130,  1134,  1136,  1139,  1141,  1143,  1145,
     702    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
    742746};
    743747
     
    745749static const yytype_int16 yyrhs[] =
    746750{
    747      302,     0,    -1,    -1,    -1,    79,    -1,    80,    -1,    81,
    748       -1,    72,    -1,    76,    -1,   140,    -1,    72,    -1,    76,
    749       -1,    72,    -1,   140,    -1,    83,    -1,    84,    -1,   142,
    750       -1,    82,    -1,   142,    82,    -1,    72,    -1,   140,    -1,
    751      109,   170,   110,    -1,   109,   174,   110,    -1,   143,    -1,
    752      144,   111,   134,   165,   135,   112,    -1,   144,   109,   145,
    753      110,    -1,   144,   113,   139,    -1,   144,   113,   111,   134,
    754      147,   135,   112,    -1,   144,    85,   139,    -1,   144,    85,
    755      111,   134,   147,   135,   112,    -1,   144,    86,    -1,   144,
    756       87,    -1,   109,   275,   110,   114,   279,   372,   115,    -1,
    757      144,   114,   145,   115,    -1,   146,    -1,   145,   116,   146,
    758       -1,    -1,   165,    -1,   148,    -1,   147,   116,   148,    -1,
    759      139,    -1,   139,   113,   148,    -1,   139,   113,   111,   134,
    760      147,   135,   112,    -1,   139,    85,   148,    -1,   139,    85,
    761      111,   134,   147,   135,   112,    -1,   144,    -1,   136,    -1,
    762      141,    -1,    40,   152,    -1,   150,   152,    -1,   151,   152,
    763       -1,    86,   149,    -1,    87,   149,    -1,    37,   149,    -1,
    764       37,   109,   275,   110,    -1,    66,   149,    -1,    66,   109,
    765      275,   110,    -1,    38,   109,   275,   116,   139,   110,    -1,
    766       76,    -1,    76,   109,   146,   110,    -1,    76,   109,   276,
    767      110,    -1,   117,    -1,   118,    -1,   119,    -1,   120,    -1,
    768      121,    -1,   122,    -1,   149,    -1,   109,   275,   110,   152,
    769       -1,   109,   275,   110,   168,    -1,   152,    -1,   153,   117,
    770      152,    -1,   153,   123,   152,    -1,   153,   124,   152,    -1,
    771      153,    -1,   154,   119,   153,    -1,   154,   120,   153,    -1,
    772      154,    -1,   155,    88,   154,    -1,   155,    89,   154,    -1,
    773      155,    -1,   156,   125,   155,    -1,   156,   126,   155,    -1,
    774      156,    90,   155,    -1,   156,    91,   155,    -1,   156,    -1,
    775      157,    92,   156,    -1,   157,    93,   156,    -1,   157,    -1,
    776      158,   118,   157,    -1,   158,    -1,   159,   127,   158,    -1,
    777      159,    -1,   160,   128,   159,    -1,   160,    -1,   161,    94,
    778      160,    -1,   161,    -1,   162,    95,   161,    -1,   162,    -1,
    779      162,   129,   170,   130,   163,    -1,   162,   129,   130,   163,
    780       -1,   162,   129,   170,   130,   168,    -1,   163,    -1,   163,
    781       -1,   149,   167,   165,    -1,   168,   373,    -1,    -1,   165,
    782       -1,   131,    -1,   107,    -1,    97,    -1,    98,    -1,    99,
    783       -1,   100,    -1,   101,    -1,   102,    -1,   103,    -1,   104,
    784       -1,   105,    -1,   106,    -1,   111,   112,    -1,   111,   134,
    785      165,   135,   112,    -1,   111,   134,   116,   169,   135,   112,
    786       -1,   111,   134,   165,   116,   169,   135,   112,    -1,   166,
    787       -1,   169,   116,   166,    -1,   165,    -1,   170,   116,   165,
    788       -1,    -1,   170,    -1,   173,    -1,   174,    -1,   178,    -1,
    789      179,    -1,   191,    -1,   193,    -1,   194,    -1,   199,    -1,
    790      127,   144,   114,   145,   115,   132,    -1,    72,   130,   312,
    791      172,    -1,   114,   115,    -1,   114,   134,   134,   210,   175,
    792      135,   115,    -1,   176,    -1,   175,   134,   176,    -1,   213,
    793       -1,    40,   213,    -1,   308,    -1,   172,   135,    -1,   172,
    794       -1,   177,   172,    -1,   171,   132,    -1,    41,   109,   170,
    795      110,   172,    -1,    41,   109,   170,   110,   172,    42,   172,
    796       -1,    43,   109,   170,   110,   184,    -1,    43,   109,   170,
    797      110,   114,   134,   206,   185,   115,    -1,    53,   109,   170,
    798      110,   184,    -1,    53,   109,   170,   110,   114,   134,   206,
    799      187,   115,    -1,   164,    -1,   164,    96,   164,    -1,   310,
    800       -1,   180,    -1,   181,   116,   180,    -1,    44,   181,   130,
    801       -1,    45,   130,    -1,   182,    -1,   183,   182,    -1,   183,
    802      172,    -1,    -1,   186,    -1,   183,   177,    -1,   186,   183,
    803      177,    -1,    -1,   188,    -1,   183,   190,    -1,   183,   177,
    804      189,    -1,   188,   183,   190,    -1,   188,   183,   177,   189,
    805       -1,    -1,   190,    -1,    56,    -1,    56,   132,    -1,    47,
    806      109,   170,   110,   172,    -1,    46,   172,    47,   109,   170,
    807      110,   132,    -1,    48,   109,   134,   192,   110,   172,    -1,
    808      171,   135,   132,   171,   132,   171,    -1,   213,   171,   132,
    809      171,    -1,    51,    72,   132,    -1,    51,   117,   170,   132,
    810       -1,    50,   132,    -1,    50,    72,   132,    -1,    49,   132,
    811       -1,    49,    72,   132,    -1,    52,   171,   132,    -1,    61,
    812      166,   132,    -1,    62,   166,   132,    -1,    62,   166,    63,
    813      165,   132,    -1,    57,   174,   195,    -1,    57,   174,   197,
    814       -1,    57,   174,   195,   197,    -1,   196,    -1,    58,   109,
    815       96,   110,   174,    -1,   196,    58,   109,    96,   110,   174,
    816       -1,    59,   109,    96,   110,   174,    -1,   196,    59,   109,
    817       96,   110,   174,    -1,    58,   109,   134,   134,   198,   135,
    818      110,   174,   135,    -1,   196,    58,   109,   134,   134,   198,
    819      135,   110,   174,   135,    -1,    59,   109,   134,   134,   198,
    820      135,   110,   174,   135,    -1,   196,    59,   109,   134,   134,
    821      198,   135,   110,   174,   135,    -1,    60,   174,    -1,   226,
    822       -1,   226,   309,    -1,   226,   357,    -1,   366,   139,    -1,
    823      366,    -1,    64,   200,   109,   141,   110,   132,    -1,    64,
    824      200,   109,   141,   130,   201,   110,   132,    -1,    64,   200,
    825      109,   141,   130,   201,   130,   201,   110,   132,    -1,    64,
    826      200,   109,   141,   130,   201,   130,   201,   130,   204,   110,
    827      132,    -1,    64,   200,    51,   109,   141,   130,   130,   201,
    828      130,   204,   130,   205,   110,   132,    -1,    -1,    11,    -1,
    829       -1,   202,    -1,   203,    -1,   202,   116,   203,    -1,   141,
    830      109,   164,   110,    -1,   111,   164,   112,   141,   109,   164,
    831      110,    -1,    -1,   141,    -1,   204,   116,   141,    -1,   139,
    832       -1,   205,   116,   139,    -1,   135,    -1,   207,    -1,   213,
    833       -1,   207,   134,   213,    -1,   135,    -1,   209,    -1,   223,
    834       -1,   209,   134,   223,    -1,    -1,   211,    -1,    29,   212,
    835      132,    -1,   211,    29,   212,   132,    -1,   274,    -1,   212,
    836      116,   274,    -1,   214,    -1,   223,    -1,   215,   135,   132,
    837       -1,   220,   135,   132,    -1,   217,   135,   132,    -1,   293,
    838      135,   132,    -1,   296,   135,   132,    -1,   216,   277,    -1,
    839      232,   216,   277,    -1,   215,   135,   116,   134,   272,   277,
    840       -1,   367,   272,   311,    -1,   370,   272,   311,    -1,   228,
    841      370,   272,   311,    -1,   218,    -1,   228,   218,    -1,   232,
    842      218,    -1,   232,   228,   218,    -1,   217,   135,   116,   134,
    843      272,    -1,   111,   112,   272,   109,   134,   260,   135,   110,
    844       -1,   370,   272,   109,   134,   260,   135,   110,    -1,   219,
    845      272,   109,   134,   260,   135,   110,    -1,   111,   134,   262,
    846      135,   112,    -1,   111,   134,   262,   135,   116,   134,   263,
    847      135,   112,    -1,     3,   216,    -1,     3,   218,    -1,   220,
    848      135,   116,   134,   139,    -1,     3,   226,   309,    -1,   221,
    849      135,   116,   134,   309,    -1,   228,     3,   226,   309,    -1,
    850      226,     3,   309,    -1,   226,     3,   228,   309,    -1,     3,
    851      139,   131,   165,    -1,   222,   135,   116,   134,   139,   131,
    852      165,    -1,   224,   135,   132,    -1,   221,   135,   132,    -1,
    853      222,   135,   132,    -1,   240,   135,   132,    -1,   225,   309,
    854      311,   277,    -1,   224,   116,   312,   309,   311,   277,    -1,
    855      236,    -1,   240,    -1,   242,    -1,   283,    -1,   237,    -1,
    856      241,    -1,   243,    -1,   284,    -1,    -1,   228,    -1,   229,
    857       -1,   228,   229,    -1,   230,    -1,   314,    -1,    10,    -1,
     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,
    858862      12,    -1,    11,    -1,    14,    -1,    67,    -1,    -1,    13,
    859      109,   231,   286,   110,    -1,   233,    -1,   228,   233,    -1,
    860      232,   228,   233,    -1,   234,    -1,   233,   234,    -1,     5,
     863     111,   235,   290,   112,    -1,   237,    -1,   232,   237,    -1,
     864     236,   232,   237,    -1,   238,    -1,   237,   238,    -1,     5,
    861865      -1,     7,    -1,     4,    -1,     6,    -1,     8,    -1,     9,
    862866      -1,    69,    -1,    71,    -1,    16,    -1,    21,    -1,    20,
    863867      -1,    18,    -1,    19,    -1,    17,    -1,    22,    -1,    23,
    864868      -1,    15,    -1,    25,    -1,    26,    -1,    27,    -1,    24,
    865       -1,   237,    -1,   232,   237,    -1,   236,   234,    -1,   236,
    866      234,   228,    -1,   236,   234,   237,    -1,   238,    -1,   227,
    867      239,   227,    -1,   235,    -1,   228,   235,    -1,   238,   229,
    868       -1,   238,   235,    -1,    28,   109,   276,   110,    -1,    28,
    869      109,   170,   110,    -1,    78,   109,   276,   110,    -1,    78,
    870      109,   170,   110,    -1,   241,    -1,   232,   241,    -1,   240,
    871      234,    -1,   240,   234,   228,    -1,   244,    -1,   228,   244,
    872       -1,   241,   229,    -1,   243,    -1,   232,   243,    -1,   242,
    873      234,    -1,   242,   234,   228,    -1,    74,    -1,   228,    74,
    874       -1,   243,   229,    -1,   245,    -1,   256,    -1,   247,   114,
    875      248,   115,    -1,   247,   274,    -1,    -1,   247,   274,   246,
    876      114,   248,   115,    -1,   247,   109,   292,   110,   114,   248,
    877      115,    -1,   247,   285,    -1,    31,   312,    -1,    32,   312,
    878       -1,    -1,   248,   249,    -1,   250,   132,    -1,    40,   250,
    879      132,    -1,   251,   132,    -1,    40,   251,   132,    -1,   366,
    880       -1,   366,   274,    -1,   250,   116,   274,    -1,   250,   116,
    881       -1,   226,   252,    -1,   251,   116,   312,   252,    -1,    -1,
    882      254,    -1,   318,   253,    -1,   331,   253,    -1,   357,    -1,
    883       -1,   254,    -1,   130,   164,    -1,    30,   312,    -1,   255,
    884      114,   258,   372,   115,    -1,   255,   274,    -1,    -1,   255,
    885      274,   257,   114,   258,   372,   115,    -1,   274,   259,    -1,
    886      258,   116,   274,   259,    -1,    -1,   131,   164,    -1,    -1,
    887      261,    -1,   263,    -1,   262,    -1,   262,   135,   116,   134,
    888      263,    -1,   263,   135,   116,   134,    96,    -1,   262,   135,
    889      116,   134,    96,    -1,   267,    -1,   263,   135,   116,   134,
    890      267,    -1,   262,   135,   116,   134,   267,    -1,   262,   135,
    891      116,   134,   263,   135,   116,   134,   267,    -1,   268,    -1,
    892      263,   135,   116,   134,   268,    -1,    -1,   265,    -1,   266,
    893       -1,   266,   135,   116,   134,    96,    -1,   270,    -1,   269,
    894       -1,   266,   135,   116,   134,   270,    -1,   266,   135,   116,
    895      134,   269,    -1,   269,    -1,   362,   272,   373,    -1,   370,
    896      272,   373,    -1,   228,   370,   272,   373,    -1,   218,    -1,
    897      270,    -1,   362,    -1,   370,    -1,   228,   370,    -1,   371,
    898       -1,   225,   336,   373,    -1,   225,   340,   373,    -1,   225,
    899       -1,   225,   351,    -1,   139,    -1,   271,   116,   139,    -1,
    900      137,    -1,    74,    -1,    75,    -1,   138,    -1,    74,    -1,
    901       75,    -1,   139,    -1,    74,    -1,    75,    -1,   366,    -1,
    902      226,    -1,   226,   357,    -1,   366,    -1,   371,    -1,   226,
    903       -1,   226,   345,    -1,    -1,   131,   278,    -1,   107,   278,
    904       -1,   165,    -1,   114,   279,   372,   115,    -1,    -1,   278,
    905       -1,   280,   278,    -1,   279,   116,   278,    -1,   279,   116,
    906      280,   278,    -1,   281,   130,    -1,   274,   130,    -1,   282,
    907       -1,   281,   282,    -1,   113,   274,    -1,   111,   134,   165,
    908      135,   112,    -1,   111,   134,   310,   135,   112,    -1,   111,
    909      134,   164,    96,   164,   135,   112,    -1,   113,   111,   134,
    910      147,   135,   112,    -1,   284,    -1,   232,   284,    -1,   283,
    911      234,    -1,   283,   234,   228,    -1,   285,    -1,   228,   285,
    912       -1,   284,   229,    -1,    75,   109,   292,   110,    -1,   287,
    913      373,    -1,   286,   116,   287,   373,    -1,    -1,   289,   274,
    914      288,   290,    -1,   226,   336,    -1,    33,    -1,    35,    -1,
    915       34,    -1,    -1,   290,   291,    -1,   128,   274,   109,   292,
    916      110,    -1,   128,   114,   134,   298,   115,    -1,   128,   109,
    917      134,   286,   135,   110,   114,   134,   298,   115,   109,   292,
    918      110,    -1,   276,    -1,   165,    -1,   292,   116,   276,    -1,
    919      292,   116,   165,    -1,    33,   294,    -1,   233,    33,   294,
    920       -1,   293,   116,   294,    -1,   295,   290,    -1,   295,   290,
    921      131,   276,    -1,   274,    -1,   273,   109,   134,   286,   135,
    922      110,    -1,    36,   274,   109,   134,   286,   135,   110,   114,
    923      115,    -1,    -1,    36,   274,   109,   134,   286,   135,   110,
    924      114,   297,   298,   115,    -1,   299,    -1,   298,   134,   299,
    925       -1,   300,   135,   132,    -1,   301,   135,   132,    -1,   216,
    926       -1,   218,    -1,   300,   135,   116,   134,   272,    -1,   226,
    927      309,    -1,   301,   135,   116,   134,   309,    -1,    -1,   303,
    928       -1,   305,    -1,   303,   134,   305,    -1,    -1,   303,    -1,
    929      213,    -1,   307,    -1,   199,    -1,    -1,     5,    82,   306,
    930      114,   304,   115,    -1,    40,   305,    -1,   308,    -1,   323,
    931      174,    -1,   327,   134,   208,   174,    -1,   217,   174,    -1,
    932      225,   323,   174,    -1,   228,   323,   174,    -1,   232,   323,
    933      174,    -1,   232,   228,   323,   174,    -1,   225,   327,   134,
    934      208,   174,    -1,   228,   327,   134,   208,   174,    -1,   232,
    935      327,   134,   208,   174,    -1,   232,   228,   327,   134,   208,
    936      174,    -1,   318,    -1,   331,    -1,   323,    -1,   164,   122,
    937      164,    -1,    -1,    64,   109,   142,   110,   312,    -1,    -1,
    938      313,    -1,   314,    -1,   313,   314,    -1,    39,   109,   109,
    939      315,   110,   110,    -1,   316,    -1,   315,   116,   316,    -1,
    940       -1,   317,    -1,   317,   109,   171,   110,    -1,   272,    -1,
    941      234,    -1,   235,    -1,   229,    -1,   319,   312,    -1,   320,
    942       -1,   321,   312,    -1,   322,   312,    -1,   137,    -1,   109,
    943      319,   110,    -1,   150,   318,    -1,   150,   228,   318,    -1,
    944      109,   320,   110,    -1,   319,   349,    -1,   109,   320,   110,
    945      349,    -1,   109,   321,   110,   350,    -1,   109,   321,   110,
    946       -1,   109,   320,   110,   109,   134,   264,   135,   110,    -1,
    947      109,   322,   110,    -1,   324,   312,    -1,   325,    -1,   326,
    948      312,    -1,   319,   109,   134,   264,   135,   110,    -1,   109,
    949      325,   110,   109,   134,   264,   135,   110,    -1,   109,   324,
    950      110,    -1,   150,   323,    -1,   150,   228,   323,    -1,   109,
    951      325,   110,    -1,   109,   325,   110,   349,    -1,   109,   326,
    952      110,   350,    -1,   109,   326,   110,    -1,   328,    -1,   329,
    953       -1,   330,    -1,   319,   109,   271,   110,    -1,   109,   329,
    954      110,   109,   271,   110,    -1,   109,   328,   110,    -1,   150,
    955      327,    -1,   150,   228,   327,    -1,   109,   329,   110,    -1,
    956      109,   329,   110,   349,    -1,   109,   330,   110,   350,    -1,
    957      109,   330,   110,    -1,   332,   312,    -1,   333,    -1,   334,
    958      312,    -1,   335,   312,    -1,   341,    -1,   109,   332,   110,
    959       -1,   150,   331,    -1,   150,   228,   331,    -1,   109,   333,
    960      110,    -1,   332,   349,    -1,   109,   333,   110,   349,    -1,
    961      109,   334,   110,   350,    -1,   109,   334,   110,    -1,   332,
    962      109,   134,   264,   135,   110,    -1,   109,   333,   110,   109,
    963      134,   264,   135,   110,    -1,   109,   335,   110,    -1,   319,
    964      312,    -1,   337,    -1,   338,   312,    -1,   339,   312,    -1,
    965      150,   336,    -1,   150,   228,   336,    -1,   109,   337,   110,
    966       -1,   319,   355,    -1,   109,   337,   110,   349,    -1,   109,
    967      338,   110,   350,    -1,   109,   338,   110,    -1,   319,   109,
    968      134,   264,   135,   110,    -1,   109,   337,   110,   109,   134,
    969      264,   135,   110,    -1,   109,   339,   110,    -1,   341,   312,
    970       -1,   342,    -1,   343,   312,    -1,   344,   312,    -1,    74,
    971       -1,    75,    -1,   150,   340,    -1,   150,   228,   340,    -1,
    972      109,   342,   110,    -1,   341,   355,    -1,   109,   342,   110,
    973      355,    -1,   341,   109,   134,   264,   135,   110,    -1,   109,
    974      342,   110,   109,   134,   264,   135,   110,    -1,   346,    -1,
    975      347,   312,    -1,   348,   312,    -1,   150,    -1,   150,   228,
    976       -1,   150,   345,    -1,   150,   228,   345,    -1,   109,   346,
    977      110,    -1,   349,    -1,   109,   346,   110,   349,    -1,   109,
    978      347,   110,   350,    -1,   109,   347,   110,    -1,   109,   134,
    979      264,   135,   110,    -1,   109,   346,   110,   109,   134,   264,
    980      135,   110,    -1,   109,   348,   110,    -1,   111,   112,    -1,
    981      111,   112,   350,    -1,   350,    -1,   111,   134,   165,   135,
    982      112,    -1,   111,   134,   117,   135,   112,    -1,   350,   111,
    983      134,   165,   135,   112,    -1,   350,   111,   134,   117,   135,
    984      112,    -1,   352,    -1,   353,   312,    -1,   354,   312,    -1,
    985      150,    -1,   150,   228,    -1,   150,   351,    -1,   150,   228,
    986      351,    -1,   109,   352,   110,    -1,   355,    -1,   109,   352,
    987      110,   355,    -1,   109,   353,   110,   350,    -1,   109,   353,
    988      110,    -1,   109,   134,   264,   135,   110,    -1,   109,   352,
    989      110,   109,   134,   264,   135,   110,    -1,   109,   354,   110,
    990       -1,   356,    -1,   356,   350,    -1,   350,    -1,   111,   112,
    991       -1,   111,   134,   228,   117,   135,   112,    -1,   111,   134,
    992      228,   135,   112,    -1,   111,   134,   228,   165,   135,   112,
    993       -1,   111,   134,     7,   227,   165,   135,   112,    -1,   111,
    994      134,   228,     7,   165,   135,   112,    -1,   358,    -1,   359,
    995      312,    -1,   360,   312,    -1,   150,    -1,   150,   228,    -1,
    996      150,   357,    -1,   150,   228,   357,    -1,   109,   358,   110,
    997       -1,   349,    -1,   109,   358,   110,   349,    -1,   109,   359,
    998      110,   350,    -1,   109,   359,   110,    -1,   109,   358,   110,
    999      109,   134,   264,   135,   110,    -1,   109,   360,   110,    -1,
    1000      362,    -1,   370,    -1,   228,   370,    -1,   363,    -1,   364,
    1001       -1,   150,   226,    -1,   228,   150,   226,    -1,   150,   371,
    1002       -1,   228,   150,   371,    -1,   150,   361,    -1,   228,   150,
    1003      361,    -1,   111,   112,   226,    -1,   365,   226,    -1,   111,
    1004      112,   350,   226,    -1,   365,   350,   226,    -1,   350,   226,
    1005       -1,   111,   112,   363,    -1,   365,   363,    -1,   111,   112,
    1006      350,   363,    -1,   365,   350,   363,    -1,   350,   363,    -1,
    1007      111,   134,   228,   117,   135,   112,    -1,   111,   134,   228,
    1008      165,   135,   112,    -1,   111,   134,   232,   165,   135,   112,
    1009       -1,   111,   134,   232,   228,   165,   135,   112,    -1,   370,
    1010       -1,   228,   370,    -1,   367,    -1,   368,    -1,   369,    -1,
    1011      150,   226,    -1,   228,   150,   226,    -1,   150,   371,    -1,
    1012      228,   150,   371,    -1,   150,   366,    -1,   228,   150,   366,
    1013       -1,   111,   112,   226,    -1,   111,   112,   350,   226,    -1,
    1014      350,   226,    -1,   111,   112,   368,    -1,   111,   112,   350,
    1015      368,    -1,   350,   368,    -1,   111,   134,   263,   135,   112,
    1016       -1,   111,   112,   109,   260,   110,    -1,   370,   109,   134,
    1017      260,   135,   110,    -1,   219,   109,   134,   260,   135,   110,
    1018       -1,    -1,   116,    -1,    -1,   131,   165,    -1
     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
    10191023};
    10201024
     
    10221026static const yytype_uint16 yyrline[] =
    10231027{
    1024        0,   301,   301,   305,   312,   313,   314,   318,   319,   320,
    1025      324,   325,   329,   330,   334,   335,   339,   343,   344,   355,
    1026      357,   359,   361,   366,   367,   373,   377,   379,   380,   382,
    1027      383,   385,   387,   389,   398,   399,   405,   406,   410,   411,
    1028      415,   419,   421,   423,   425,   430,   433,   435,   437,   442,
    1029      455,   457,   459,   461,   463,   465,   467,   469,   471,   473,
    1030      475,   482,   483,   489,   490,   491,   492,   496,   497,   499,
    1031      504,   505,   507,   509,   514,   515,   517,   522,   523,   525,
    1032      530,   531,   533,   535,   537,   542,   543,   545,   550,   551,
    1033      556,   557,   562,   563,   568,   569,   574,   575,   580,   581,
    1034      584,   586,   591,   596,   597,   599,   605,   606,   610,   611,
    1035      612,   613,   614,   615,   616,   617,   618,   619,   620,   621,
    1036      627,   629,   631,   633,   638,   639,   644,   645,   651,   652,
    1037      658,   659,   660,   661,   662,   663,   664,   665,   666,   676,
    1038      683,   685,   695,   696,   701,   703,   709,   711,   715,   716,
    1039      721,   726,   729,   731,   733,   743,   745,   756,   757,   759,
    1040      763,   765,   769,   770,   775,   776,   780,   785,   786,   790,
    1041      792,   798,   799,   803,   805,   807,   809,   815,   816,   820,
    1042      822,   827,   829,   831,   836,   838,   843,   845,   849,   852,
    1043      856,   859,   863,   865,   867,   869,   874,   876,   878,   883,
    1044      885,   887,   889,   891,   896,   898,   900,   902,   907,   919,
    1045      920,   925,   927,   932,   936,   938,   940,   942,   944,   950,
    1046      951,   957,   958,   962,   963,   968,   970,   976,   977,   979,
    1047      984,   989,   999,  1001,  1005,  1006,  1011,  1013,  1017,  1018,
    1048     1022,  1024,  1028,  1029,  1033,  1034,  1038,  1039,  1054,  1055,
    1049     1056,  1057,  1058,  1062,  1067,  1074,  1084,  1089,  1094,  1102,
    1050     1107,  1112,  1117,  1122,  1130,  1152,  1157,  1164,  1166,  1173,
    1051     1178,  1183,  1194,  1199,  1204,  1209,  1214,  1223,  1228,  1236,
    1052     1237,  1238,  1239,  1245,  1250,  1258,  1259,  1260,  1261,  1265,
    1053     1266,  1267,  1268,  1273,  1274,  1283,  1284,  1289,  1290,  1295,
    1054     1297,  1299,  1301,  1303,  1306,  1305,  1317,  1318,  1320,  1330,
    1055     1331,  1336,  1338,  1340,  1342,  1344,  1347,  1349,  1352,  1357,
    1056     1359,  1361,  1363,  1365,  1367,  1369,  1371,  1373,  1375,  1377,
    1057     1379,  1381,  1387,  1388,  1390,  1392,  1394,  1399,  1400,  1406,
    1058     1407,  1409,  1411,  1416,  1418,  1420,  1422,  1427,  1428,  1430,
    1059     1432,  1437,  1438,  1440,  1445,  1446,  1448,  1450,  1455,  1457,
    1060     1459,  1464,  1465,  1469,  1471,  1477,  1476,  1480,  1482,  1487,
    1061     1489,  1495,  1496,  1501,  1502,  1504,  1505,  1514,  1515,  1517,
    1062     1519,  1524,  1526,  1532,  1533,  1535,  1538,  1541,  1546,  1547,
    1063     1552,  1557,  1561,  1563,  1569,  1568,  1575,  1577,  1583,  1584,
    1064     1592,  1593,  1597,  1598,  1599,  1601,  1603,  1610,  1611,  1613,
    1065     1615,  1620,  1621,  1627,  1628,  1632,  1633,  1638,  1639,  1640,
    1066     1642,  1650,  1651,  1653,  1656,  1658,  1662,  1663,  1664,  1666,
    1067     1668,  1672,  1677,  1685,  1686,  1695,  1697,  1702,  1703,  1704,
    1068     1708,  1709,  1710,  1714,  1715,  1716,  1720,  1721,  1722,  1727,
    1069     1728,  1729,  1730,  1736,  1737,  1739,  1744,  1745,  1750,  1751,
    1070     1752,  1753,  1754,  1769,  1770,  1775,  1776,  1782,  1784,  1787,
    1071     1789,  1791,  1814,  1815,  1817,  1819,  1824,  1825,  1827,  1832,
    1072     1837,  1838,  1844,  1843,  1847,  1851,  1853,  1855,  1861,  1862,
    1073     1867,  1872,  1874,  1879,  1881,  1882,  1884,  1889,  1891,  1893,
    1074     1898,  1900,  1905,  1910,  1918,  1924,  1923,  1937,  1938,  1943,
    1075     1944,  1948,  1953,  1958,  1966,  1971,  1982,  1983,  1988,  1989,
    1076     1995,  1996,  2000,  2001,  2002,  2005,  2004,  2015,  2024,  2030,
    1077     2036,  2045,  2051,  2057,  2063,  2069,  2077,  2083,  2091,  2097,
    1078     2106,  2107,  2108,  2112,  2116,  2118,  2123,  2124,  2128,  2129,
    1079     2134,  2140,  2141,  2144,  2146,  2147,  2151,  2152,  2153,  2154,
    1080     2188,  2190,  2191,  2193,  2198,  2203,  2208,  2210,  2212,  2217,
    1081     2219,  2221,  2223,  2228,  2230,  2239,  2241,  2242,  2247,  2249,
    1082     2251,  2256,  2258,  2260,  2265,  2267,  2269,  2278,  2279,  2280,
    1083     2284,  2286,  2288,  2293,  2295,  2297,  2302,  2304,  2306,  2321,
    1084     2323,  2324,  2326,  2331,  2332,  2337,  2339,  2341,  2346,  2348,
    1085     2350,  2352,  2357,  2359,  2361,  2371,  2373,  2374,  2376,  2381,
    1086     2383,  2385,  2390,  2392,  2394,  2396,  2401,  2403,  2405,  2436,
    1087     2438,  2439,  2441,  2446,  2451,  2459,  2461,  2463,  2468,  2470,
    1088     2475,  2477,  2491,  2492,  2494,  2499,  2501,  2503,  2505,  2507,
    1089     2512,  2513,  2515,  2517,  2522,  2524,  2526,  2532,  2534,  2536,
    1090     2540,  2542,  2544,  2546,  2560,  2561,  2563,  2568,  2570,  2572,
    1091     2574,  2576,  2581,  2582,  2584,  2586,  2591,  2593,  2595,  2601,
    1092     2602,  2604,  2613,  2616,  2618,  2621,  2623,  2625,  2638,  2639,
    1093     2641,  2646,  2648,  2650,  2652,  2654,  2659,  2660,  2662,  2664,
    1094     2669,  2671,  2679,  2680,  2681,  2686,  2687,  2691,  2693,  2695,
    1095     2697,  2699,  2701,  2708,  2710,  2712,  2714,  2716,  2718,  2720,
    1096     2722,  2724,  2726,  2731,  2733,  2735,  2740,  2766,  2767,  2769,
    1097     2773,  2774,  2778,  2780,  2782,  2784,  2786,  2788,  2795,  2797,
    1098     2799,  2801,  2803,  2805,  2810,  2815,  2817,  2819,  2837,  2839,
    1099     2844,  2845
     1028       0,   306,   306,   310,   317,   318,   319,   320,   321,   325,
     1029     326,   327,   331,   332,   336,   337,   341,   342,   346,   350,
     1030     351,   362,   364,   366,   367,   369,   374,   375,   381,   383,
     1031     385,   386,   387,   389,   390,   392,   394,   396,   405,   406,
     1032     412,   413,   417,   418,   422,   424,   426,   428,   430,   432,
     1033     434,   439,   441,   443,   447,   449,   453,   456,   458,   460,
     1034     465,   478,   480,   482,   484,   486,   488,   490,   492,   494,
     1035     496,   498,   505,   506,   512,   513,   514,   515,   519,   520,
     1036     527,   528,   530,   532,   537,   538,   540,   545,   546,   548,
     1037     553,   554,   556,   558,   560,   565,   566,   568,   573,   574,
     1038     579,   580,   585,   586,   591,   592,   597,   598,   603,   604,
     1039     607,   614,   619,   620,   628,   629,   633,   634,   635,   636,
     1040     637,   638,   639,   640,   641,   642,   643,   644,   654,   656,
     1041     661,   662,   667,   668,   674,   675,   681,   682,   683,   684,
     1042     685,   686,   687,   688,   689,   699,   706,   708,   718,   719,
     1043     724,   726,   732,   734,   738,   739,   744,   749,   752,   754,
     1044     756,   766,   768,   779,   780,   782,   786,   788,   792,   793,
     1045     798,   799,   803,   808,   809,   813,   815,   821,   822,   826,
     1046     828,   830,   832,   838,   839,   843,   845,   850,   852,   854,
     1047     859,   861,   866,   868,   872,   875,   879,   882,   886,   888,
     1048     890,   892,   897,   899,   901,   906,   908,   910,   912,   914,
     1049     919,   921,   923,   925,   930,   942,   943,   948,   950,   955,
     1050     959,   961,   963,   965,   967,   973,   974,   980,   981,   985,
     1051     986,   991,   993,   999,  1000,  1002,  1007,  1012,  1022,  1024,
     1052    1028,  1029,  1034,  1036,  1040,  1041,  1045,  1047,  1051,  1052,
     1053    1056,  1057,  1061,  1062,  1077,  1078,  1079,  1080,  1081,  1085,
     1054    1090,  1097,  1107,  1112,  1117,  1125,  1130,  1135,  1140,  1145,
     1055    1175,  1180,  1187,  1189,  1196,  1201,  1206,  1217,  1222,  1227,
     1056    1232,  1237,  1246,  1251,  1259,  1260,  1261,  1262,  1268,  1273,
     1057    1281,  1282,  1283,  1284,  1288,  1289,  1290,  1291,  1296,  1297,
     1058    1306,  1307,  1312,  1313,  1318,  1320,  1322,  1324,  1326,  1329,
     1059    1328,  1340,  1341,  1343,  1353,  1354,  1359,  1361,  1363,  1365,
     1060    1367,  1370,  1372,  1375,  1380,  1382,  1384,  1386,  1388,  1390,
     1061    1392,  1394,  1396,  1398,  1400,  1402,  1404,  1410,  1411,  1413,
     1062    1415,  1417,  1422,  1423,  1429,  1430,  1432,  1434,  1439,  1441,
     1063    1443,  1445,  1450,  1451,  1453,  1455,  1460,  1461,  1463,  1468,
     1064    1469,  1471,  1473,  1478,  1480,  1482,  1487,  1488,  1492,  1494,
     1065    1500,  1499,  1503,  1505,  1510,  1512,  1518,  1519,  1524,  1525,
     1066    1527,  1528,  1537,  1538,  1540,  1542,  1547,  1549,  1555,  1556,
     1067    1558,  1561,  1564,  1569,  1570,  1575,  1580,  1584,  1586,  1592,
     1068    1591,  1598,  1600,  1606,  1607,  1615,  1616,  1620,  1621,  1622,
     1069    1624,  1626,  1633,  1634,  1636,  1638,  1643,  1644,  1650,  1651,
     1070    1655,  1656,  1661,  1662,  1663,  1665,  1673,  1674,  1676,  1679,
     1071    1681,  1685,  1686,  1687,  1689,  1691,  1695,  1700,  1708,  1709,
     1072    1718,  1720,  1725,  1726,  1727,  1731,  1732,  1733,  1737,  1738,
     1073    1739,  1743,  1744,  1745,  1750,  1751,  1752,  1753,  1759,  1760,
     1074    1762,  1767,  1768,  1773,  1774,  1775,  1776,  1777,  1792,  1793,
     1075    1798,  1799,  1805,  1807,  1810,  1812,  1814,  1837,  1838,  1840,
     1076    1842,  1847,  1848,  1850,  1855,  1860,  1861,  1867,  1866,  1870,
     1077    1874,  1876,  1878,  1884,  1885,  1890,  1895,  1897,  1902,  1904,
     1078    1905,  1907,  1912,  1914,  1916,  1921,  1923,  1928,  1933,  1941,
     1079    1947,  1946,  1960,  1961,  1966,  1967,  1971,  1976,  1981,  1989,
     1080    1994,  2005,  2006,  2011,  2012,  2018,  2019,  2023,  2024,  2025,
     1081    2028,  2027,  2038,  2047,  2053,  2059,  2068,  2074,  2080,  2086,
     1082    2092,  2100,  2106,  2114,  2120,  2129,  2130,  2131,  2135,  2139,
     1083    2141,  2146,  2147,  2151,  2152,  2157,  2163,  2164,  2167,  2169,
     1084    2170,  2174,  2175,  2176,  2177,  2211,  2213,  2214,  2216,  2221,
     1085    2226,  2231,  2233,  2235,  2240,  2242,  2244,  2246,  2251,  2253,
     1086    2262,  2264,  2265,  2270,  2272,  2274,  2279,  2281,  2283,  2288,
     1087    2290,  2292,  2301,  2302,  2303,  2307,  2309,  2311,  2316,  2318,
     1088    2320,  2325,  2327,  2329,  2344,  2346,  2347,  2349,  2354,  2355,
     1089    2360,  2362,  2364,  2369,  2371,  2373,  2375,  2380,  2382,  2384,
     1090    2394,  2396,  2397,  2399,  2404,  2406,  2408,  2413,  2415,  2417,
     1091    2419,  2424,  2426,  2428,  2459,  2461,  2462,  2464,  2469,  2474,
     1092    2482,  2484,  2486,  2491,  2493,  2498,  2500,  2514,  2515,  2517,
     1093    2522,  2524,  2526,  2528,  2530,  2535,  2536,  2538,  2540,  2545,
     1094    2547,  2549,  2555,  2557,  2559,  2563,  2565,  2567,  2569,  2583,
     1095    2584,  2586,  2591,  2593,  2595,  2597,  2599,  2604,  2605,  2607,
     1096    2609,  2614,  2616,  2618,  2624,  2625,  2627,  2636,  2639,  2641,
     1097    2644,  2646,  2648,  2661,  2662,  2664,  2669,  2671,  2673,  2675,
     1098    2677,  2682,  2683,  2685,  2687,  2692,  2694,  2702,  2703,  2704,
     1099    2709,  2710,  2714,  2716,  2718,  2720,  2722,  2724,  2731,  2733,
     1100    2735,  2737,  2739,  2742,  2744,  2746,  2748,  2750,  2755,  2757,
     1101    2759,  2764,  2790,  2791,  2793,  2797,  2798,  2802,  2804,  2806,
     1102    2808,  2810,  2812,  2819,  2821,  2823,  2825,  2827,  2829,  2834,
     1103    2841,  2843,  2861,  2863,  2868,  2869
    11001104};
    11011105#endif
     
    11181122  "THREADLOCAL", "IDENTIFIER", "QUOTED_IDENTIFIER", "TYPEDEFname",
    11191123  "TYPEGENname", "ATTR_IDENTIFIER", "ATTR_TYPEDEFname", "ATTR_TYPEGENname",
    1120   "INTEGERconstant", "FLOATINGconstant", "CHARACTERconstant",
    1121   "STRINGliteral", "ZERO", "ONE", "ARROW", "ICR", "DECR", "LS", "RS", "LE",
    1122   "GE", "EQ", "NE", "ANDAND", "OROR", "ELLIPSIS", "MULTassign",
    1123   "DIVassign", "MODassign", "PLUSassign", "MINUSassign", "LSassign",
    1124   "RSassign", "ANDassign", "ERassign", "ORassign", "ATassign", "THEN",
    1125   "'('", "')'", "'['", "']'", "'.'", "'{'", "'}'", "','", "'*'", "'&'",
    1126   "'+'", "'-'", "'!'", "'~'", "'/'", "'%'", "'<'", "'>'", "'^'", "'|'",
    1127   "'?'", "':'", "'='", "';'", "$accept", "push", "pop", "constant",
    1128   "identifier", "no_01_identifier", "no_attr_identifier", "zero_one",
    1129   "string_literal", "string_literal_list", "primary_expression",
    1130   "postfix_expression", "argument_expression_list", "argument_expression",
    1131   "field_list", "field", "unary_expression", "ptrref_operator",
    1132   "unary_operator", "cast_expression", "multiplicative_expression",
    1133   "additive_expression", "shift_expression", "relational_expression",
    1134   "equality_expression", "AND_expression", "exclusive_OR_expression",
    1135   "inclusive_OR_expression", "logical_AND_expression",
    1136   "logical_OR_expression", "conditional_expression", "constant_expression",
    1137   "assignment_expression", "assignment_expression_opt",
    1138   "assignment_operator", "tuple", "tuple_expression_list",
    1139   "comma_expression", "comma_expression_opt", "statement",
    1140   "labeled_statement", "compound_statement", "block_item_list",
    1141   "block_item", "statement_list", "expression_statement",
    1142   "selection_statement", "case_value", "case_value_list", "case_label",
    1143   "case_label_list", "case_clause", "switch_clause_list_opt",
    1144   "switch_clause_list", "choose_clause_list_opt", "choose_clause_list",
    1145   "fall_through_opt", "fall_through", "iteration_statement",
    1146   "for_control_expression", "jump_statement", "exception_statement",
    1147   "handler_list", "handler_clause", "finally_clause",
    1148   "exception_declaration", "asm_statement", "asm_volatile_opt",
    1149   "asm_operands_opt", "asm_operands_list", "asm_operand",
    1150   "asm_clobbers_list_opt", "label_list", "declaration_list_opt",
    1151   "declaration_list", "old_declaration_list_opt", "old_declaration_list",
    1152   "local_label_declaration_opt", "local_label_declaration_list",
    1153   "local_label_list", "declaration", "new_declaration",
    1154   "new_variable_declaration", "new_variable_specifier",
     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",
     1134  "string_literal_list", "primary_expression", "postfix_expression",
     1135  "argument_expression_list", "argument_expression", "field_list", "field",
     1136  "field_name", "fraction_constants", "unary_expression",
     1137  "ptrref_operator", "unary_operator", "cast_expression",
     1138  "multiplicative_expression", "additive_expression", "shift_expression",
     1139  "relational_expression", "equality_expression", "AND_expression",
     1140  "exclusive_OR_expression", "inclusive_OR_expression",
     1141  "logical_AND_expression", "logical_OR_expression",
     1142  "conditional_expression", "constant_expression", "assignment_expression",
     1143  "assignment_expression_opt", "assignment_operator", "tuple",
     1144  "tuple_expression_list", "comma_expression", "comma_expression_opt",
     1145  "statement", "labeled_statement", "compound_statement",
     1146  "block_item_list", "block_item", "statement_list",
     1147  "expression_statement", "selection_statement", "case_value",
     1148  "case_value_list", "case_label", "case_label_list", "case_clause",
     1149  "switch_clause_list_opt", "switch_clause_list", "choose_clause_list_opt",
     1150  "choose_clause_list", "fall_through_opt", "fall_through",
     1151  "iteration_statement", "for_control_expression", "jump_statement",
     1152  "exception_statement", "handler_list", "handler_clause",
     1153  "finally_clause", "exception_declaration", "asm_statement",
     1154  "asm_volatile_opt", "asm_operands_opt", "asm_operands_list",
     1155  "asm_operand", "asm_clobbers_list_opt", "label_list",
     1156  "declaration_list_opt", "declaration_list", "old_declaration_list_opt",
     1157  "old_declaration_list", "local_label_declaration_opt",
     1158  "local_label_declaration_list", "local_label_list", "declaration",
     1159  "new_declaration", "new_variable_declaration", "new_variable_specifier",
    11551160  "new_function_declaration", "new_function_specifier",
    11561161  "new_function_return", "new_typedef_declaration", "typedef_declaration",
     
    12291234     335,   336,   337,   338,   339,   340,   341,   342,   343,   344,
    12301235     345,   346,   347,   348,   349,   350,   351,   352,   353,   354,
    1231      355,   356,   357,   358,   359,   360,   361,   362,   363,    40,
    1232       41,    91,    93,    46,   123,   125,    44,    42,    38,    43,
    1233       45,    33,   126,    47,    37,    60,    62,    94,   124,    63,
    1234       58,    61,    59
     1236     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
    12351240};
    12361241# endif
     
    12391244static const yytype_uint16 yyr1[] =
    12401245{
    1241        0,   133,   134,   135,   136,   136,   136,   137,   137,   137,
    1242      138,   138,   139,   139,   140,   140,   141,   142,   142,   143,
    1243      143,   143,   143,   144,   144,   144,   144,   144,   144,   144,
    1244      144,   144,   144,   144,   145,   145,   146,   146,   147,   147,
    1245      148,   148,   148,   148,   148,   149,   149,   149,   149,   149,
    1246      149,   149,   149,   149,   149,   149,   149,   149,   149,   149,
    1247      149,   150,   150,   151,   151,   151,   151,   152,   152,   152,
    1248      153,   153,   153,   153,   154,   154,   154,   155,   155,   155,
    1249      156,   156,   156,   156,   156,   157,   157,   157,   158,   158,
    1250      159,   159,   160,   160,   161,   161,   162,   162,   163,   163,
    1251      163,   163,   164,   165,   165,   165,   166,   166,   167,   167,
    1252      167,   167,   167,   167,   167,   167,   167,   167,   167,   167,
    1253      168,   168,   168,   168,   169,   169,   170,   170,   171,   171,
    1254      172,   172,   172,   172,   172,   172,   172,   172,   172,   173,
    1255      174,   174,   175,   175,   176,   176,   176,   176,   177,   177,
    1256      178,   179,   179,   179,   179,   179,   179,   180,   180,   180,
    1257      181,   181,   182,   182,   183,   183,   184,   185,   185,   186,
    1258      186,   187,   187,   188,   188,   188,   188,   189,   189,   190,
    1259      190,   191,   191,   191,   192,   192,   193,   193,   193,   193,
    1260      193,   193,   193,   193,   193,   193,   194,   194,   194,   195,
    1261      195,   195,   195,   195,   196,   196,   196,   196,   197,   198,
    1262      198,   198,   198,   198,   199,   199,   199,   199,   199,   200,
    1263      200,   201,   201,   202,   202,   203,   203,   204,   204,   204,
    1264      205,   205,   206,   206,   207,   207,   208,   208,   209,   209,
    1265      210,   210,   211,   211,   212,   212,   213,   213,   214,   214,
    1266      214,   214,   214,   215,   215,   215,   216,   216,   216,   217,
    1267      217,   217,   217,   217,   218,   218,   218,   219,   219,   220,
    1268      220,   220,   221,   221,   221,   221,   221,   222,   222,   223,
    1269      223,   223,   223,   224,   224,   225,   225,   225,   225,   226,
    1270      226,   226,   226,   227,   227,   228,   228,   229,   229,   230,
    1271      230,   230,   230,   230,   231,   230,   232,   232,   232,   233,
    1272      233,   234,   234,   234,   234,   234,   234,   234,   234,   235,
    1273      235,   235,   235,   235,   235,   235,   235,   235,   235,   235,
    1274      235,   235,   236,   236,   236,   236,   236,   237,   237,   238,
    1275      238,   238,   238,   239,   239,   239,   239,   240,   240,   240,
    1276      240,   241,   241,   241,   242,   242,   242,   242,   243,   243,
    1277      243,   244,   244,   245,   245,   246,   245,   245,   245,   247,
    1278      247,   248,   248,   249,   249,   249,   249,   250,   250,   250,
    1279      250,   251,   251,   252,   252,   252,   252,   252,   253,   253,
    1280      254,   255,   256,   256,   257,   256,   258,   258,   259,   259,
    1281      260,   260,   261,   261,   261,   261,   261,   262,   262,   262,
    1282      262,   263,   263,   264,   264,   265,   265,   266,   266,   266,
    1283      266,   267,   267,   267,   267,   267,   268,   268,   268,   268,
    1284      268,   269,   269,   270,   270,   271,   271,   272,   272,   272,
    1285      273,   273,   273,   274,   274,   274,   275,   275,   275,   276,
    1286      276,   276,   276,   277,   277,   277,   278,   278,   279,   279,
    1287      279,   279,   279,   280,   280,   281,   281,   282,   282,   282,
    1288      282,   282,   283,   283,   283,   283,   284,   284,   284,   285,
    1289      286,   286,   288,   287,   287,   289,   289,   289,   290,   290,
    1290      291,   291,   291,   292,   292,   292,   292,   293,   293,   293,
    1291      294,   294,   295,   295,   296,   297,   296,   298,   298,   299,
    1292      299,   300,   300,   300,   301,   301,   302,   302,   303,   303,
    1293      304,   304,   305,   305,   305,   306,   305,   305,   307,   307,
    1294      307,   308,   308,   308,   308,   308,   308,   308,   308,   308,
    1295      309,   309,   309,   310,   311,   311,   312,   312,   313,   313,
    1296      314,   315,   315,   316,   316,   316,   317,   317,   317,   317,
    1297      318,   318,   318,   318,   319,   319,   320,   320,   320,   321,
    1298      321,   321,   321,   322,   322,   323,   323,   323,   324,   324,
    1299      324,   325,   325,   325,   326,   326,   326,   327,   327,   327,
    1300      328,   328,   328,   329,   329,   329,   330,   330,   330,   331,
    1301      331,   331,   331,   332,   332,   333,   333,   333,   334,   334,
    1302      334,   334,   335,   335,   335,   336,   336,   336,   336,   337,
    1303      337,   337,   338,   338,   338,   338,   339,   339,   339,   340,
    1304      340,   340,   340,   341,   341,   342,   342,   342,   343,   343,
    1305      344,   344,   345,   345,   345,   346,   346,   346,   346,   346,
    1306      347,   347,   347,   347,   348,   348,   348,   349,   349,   349,
    1307      350,   350,   350,   350,   351,   351,   351,   352,   352,   352,
    1308      352,   352,   353,   353,   353,   353,   354,   354,   354,   355,
    1309      355,   355,   356,   356,   356,   356,   356,   356,   357,   357,
    1310      357,   358,   358,   358,   358,   358,   359,   359,   359,   359,
    1311      360,   360,   361,   361,   361,   362,   362,   363,   363,   363,
    1312      363,   363,   363,   364,   364,   364,   364,   364,   364,   364,
    1313      364,   364,   364,   365,   365,   365,   365,   366,   366,   366,
    1314      367,   367,   368,   368,   368,   368,   368,   368,   369,   369,
    1315      369,   369,   369,   369,   370,   371,   371,   371,   372,   372,
    1316      373,   373
     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
    13171322};
    13181323
     
    13211326{
    13221327       0,     2,     0,     0,     1,     1,     1,     1,     1,     1,
    1323        1,     1,     1,     1,     1,     1,     1,     1,     2,     1,
    1324        1,     3,     3,     1,     6,     4,     3,     7,     3,     7,
    1325        2,     2,     7,     4,     1,     3,     0,     1,     1,     3,
    1326        1,     3,     7,     3,     7,     1,     1,     1,     2,     2,
    1327        2,     2,     2,     2,     4,     2,     4,     6,     1,     4,
    1328        4,     1,     1,     1,     1,     1,     1,     1,     4,     4,
     1328       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
     1329       2,     1,     1,     1,     3,     3,     1,     6,     4,     3,
     1330       7,     2,     3,     7,     2,     2,     7,     4,     1,     3,
     1331       0,     1,     1,     3,     1,     2,     6,     3,     7,     3,
     1332       7,     2,     2,     2,     0,     2,     1,     1,     1,     2,
     1333       2,     2,     2,     2,     2,     4,     2,     4,     6,     1,
     1334       4,     4,     1,     1,     1,     1,     1,     1,     1,     4,
    13291335       1,     3,     3,     3,     1,     3,     3,     1,     3,     3,
    13301336       1,     3,     3,     3,     3,     1,     3,     3,     1,     3,
    13311337       1,     3,     1,     3,     1,     3,     1,     3,     1,     5,
    1332        4,     5,     1,     1,     3,     2,     0,     1,     1,     1,
     1338       4,     1,     1,     3,     0,     1,     1,     1,     1,     1,
     1339       1,     1,     1,     1,     1,     1,     1,     1,     6,     7,
     1340       1,     3,     1,     3,     0,     1,     1,     1,     1,     1,
     1341       1,     1,     1,     1,     6,     4,     2,     7,     1,     3,
     1342       1,     2,     1,     2,     1,     2,     2,     5,     7,     5,
     1343       9,     5,     9,     1,     3,     1,     1,     3,     3,     2,
     1344       1,     2,     2,     0,     1,     2,     3,     0,     1,     2,
     1345       3,     3,     4,     0,     1,     1,     2,     5,     7,     6,
     1346       6,     4,     3,     4,     2,     3,     2,     3,     3,     3,
     1347       3,     5,     3,     3,     4,     1,     5,     6,     5,     6,
     1348       9,    10,     9,    10,     2,     1,     2,     2,     2,     1,
     1349       6,     8,    10,    12,    14,     0,     1,     0,     1,     1,
     1350       3,     4,     7,     0,     1,     3,     1,     3,     1,     1,
     1351       1,     3,     1,     1,     1,     3,     0,     1,     3,     4,
     1352       1,     3,     1,     1,     3,     3,     3,     3,     3,     2,
     1353       3,     6,     3,     3,     4,     1,     2,     2,     3,     5,
     1354       7,     7,     5,     9,     2,     2,     5,     3,     5,     4,
     1355       3,     4,     4,     7,     3,     3,     3,     3,     4,     6,
     1356       1,     1,     1,     1,     1,     1,     1,     1,     0,     1,
     1357       1,     2,     1,     1,     1,     1,     1,     1,     1,     0,
     1358       5,     1,     2,     3,     1,     2,     1,     1,     1,     1,
    13331359       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
    1334        2,     5,     6,     7,     1,     3,     1,     3,     0,     1,
    1335        1,     1,     1,     1,     1,     1,     1,     1,     6,     4,
    1336        2,     7,     1,     3,     1,     2,     1,     2,     1,     2,
    1337        2,     5,     7,     5,     9,     5,     9,     1,     3,     1,
    1338        1,     3,     3,     2,     1,     2,     2,     0,     1,     2,
    1339        3,     0,     1,     2,     3,     3,     4,     0,     1,     1,
    1340        2,     5,     7,     6,     6,     4,     3,     4,     2,     3,
    1341        2,     3,     3,     3,     3,     5,     3,     3,     4,     1,
    1342        5,     6,     5,     6,     9,    10,     9,    10,     2,     1,
    1343        2,     2,     2,     1,     6,     8,    10,    12,    14,     0,
    1344        1,     0,     1,     1,     3,     4,     7,     0,     1,     3,
    1345        1,     3,     1,     1,     1,     3,     1,     1,     1,     3,
    1346        0,     1,     3,     4,     1,     3,     1,     1,     3,     3,
    1347        3,     3,     3,     2,     3,     6,     3,     3,     4,     1,
    1348        2,     2,     3,     5,     8,     7,     7,     5,     9,     2,
    1349        2,     5,     3,     5,     4,     3,     4,     4,     7,     3,
    1350        3,     3,     3,     4,     6,     1,     1,     1,     1,     1,
    1351        1,     1,     1,     0,     1,     1,     2,     1,     1,     1,
    1352        1,     1,     1,     1,     0,     5,     1,     2,     3,     1,
    1353        2,     1,     1,     1,     1,     1,     1,     1,     1,     1,
    1354        1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
    1355        1,     1,     1,     2,     2,     3,     3,     1,     3,     1,
    1356        2,     2,     2,     4,     4,     4,     4,     1,     2,     2,
    1357        3,     1,     2,     2,     1,     2,     2,     3,     1,     2,
    1358        2,     1,     1,     4,     2,     0,     6,     7,     2,     2,
    1359        2,     0,     2,     2,     3,     2,     3,     1,     2,     3,
    1360        2,     2,     4,     0,     1,     2,     2,     1,     0,     1,
    1361        2,     2,     5,     2,     0,     7,     2,     4,     0,     2,
    1362        0,     1,     1,     1,     5,     5,     5,     1,     5,     5,
    1363        9,     1,     5,     0,     1,     1,     5,     1,     1,     5,
    1364        5,     1,     3,     3,     4,     1,     1,     1,     1,     2,
    1365        1,     3,     3,     1,     2,     1,     3,     1,     1,     1,
    1366        1,     1,     1,     1,     1,     1,     1,     1,     2,     1,
    1367        1,     1,     2,     0,     2,     2,     1,     4,     0,     1,
    1368        2,     3,     4,     2,     2,     1,     2,     2,     5,     5,
    1369        7,     6,     1,     2,     2,     3,     1,     2,     2,     4,
    1370        2,     4,     0,     4,     2,     1,     1,     1,     0,     2,
    1371        5,     5,    13,     1,     1,     3,     3,     2,     3,     3,
    1372        2,     4,     1,     6,     9,     0,    11,     1,     3,     3,
    1373        3,     1,     1,     5,     2,     5,     0,     1,     1,     3,
    1374        0,     1,     1,     1,     1,     0,     6,     2,     1,     2,
    1375        4,     2,     3,     3,     3,     4,     5,     5,     5,     6,
    1376        1,     1,     1,     3,     0,     5,     0,     1,     1,     2,
    1377        6,     1,     3,     0,     1,     4,     1,     1,     1,     1,
    1378        2,     1,     2,     2,     1,     3,     2,     3,     3,     2,
    1379        4,     4,     3,     8,     3,     2,     1,     2,     6,     8,
    1380        3,     2,     3,     3,     4,     4,     3,     1,     1,     1,
    1381        4,     6,     3,     2,     3,     3,     4,     4,     3,     2,
    1382        1,     2,     2,     1,     3,     2,     3,     3,     2,     4,
    1383        4,     3,     6,     8,     3,     2,     1,     2,     2,     2,
    1384        3,     3,     2,     4,     4,     3,     6,     8,     3,     2,
    1385        1,     2,     2,     1,     1,     2,     3,     3,     2,     4,
    1386        6,     8,     1,     2,     2,     1,     2,     2,     3,     3,
    1387        1,     4,     4,     3,     5,     8,     3,     2,     3,     1,
    1388        5,     5,     6,     6,     1,     2,     2,     1,     2,     2,
    1389        3,     3,     1,     4,     4,     3,     5,     8,     3,     1,
    1390        2,     1,     2,     6,     5,     6,     7,     7,     1,     2,
    1391        2,     1,     2,     2,     3,     3,     1,     4,     4,     3,
    1392        8,     3,     1,     1,     2,     1,     1,     2,     3,     2,
    1393        3,     2,     3,     3,     2,     4,     3,     2,     3,     2,
    1394        4,     3,     2,     6,     6,     6,     7,     1,     2,     1,
    1395        1,     1,     2,     3,     2,     3,     2,     3,     3,     4,
    1396        2,     3,     4,     2,     5,     5,     6,     6,     0,     1,
    1397        0,     2
     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,
     1394       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
    13981403};
    13991404
     
    14031408static const yytype_uint16 yydefact[] =
    14041409{
    1405      293,   293,   313,   311,   314,   312,   315,   316,   299,   301,
    1406      300,     0,   302,   327,   319,   324,   322,   323,   321,   320,
    1407      325,   326,   331,   328,   329,   330,   546,   546,   546,     0,
    1408        0,     0,   293,   219,   303,   317,   318,     7,   358,     0,
    1409        8,    14,    15,     0,     2,    61,    62,   564,     9,   293,
    1410      524,   522,   246,     3,   453,     3,   259,     0,     3,     3,
    1411        3,   247,     3,     0,     0,     0,   294,   295,   297,   293,
    1412      306,   309,   339,   285,   332,   337,   286,   347,   287,   354,
    1413      351,   361,     0,     0,   362,   288,   472,   476,     3,     3,
    1414        0,     2,   518,   523,   528,   298,     0,     0,   546,   576,
    1415      546,     2,   587,   588,   589,   293,     0,   730,   731,     0,
    1416       12,     0,    13,   293,   269,   270,     0,   294,   289,   290,
    1417      291,   292,   525,   304,   391,   547,   548,   369,   370,    12,
    1418      444,   445,    11,   440,   443,     0,   502,   497,   488,   444,
    1419      445,     0,     0,   527,   220,     0,   293,     0,     0,     0,
    1420        0,     0,     0,     0,     0,   293,   293,     2,     0,   732,
    1421      294,   581,   593,   736,   729,   727,   734,     0,     0,     0,
    1422      253,     2,     0,   531,   438,   439,   437,     0,     0,     0,
    1423        0,   546,     0,   633,   634,     0,     0,   544,   540,   546,
    1424      561,   546,   546,   542,     2,   541,   546,   600,   546,   546,
    1425      603,     0,     0,     0,   293,   293,   311,   359,     2,   293,
    1426      260,   296,   307,   340,   352,   477,     0,     2,     0,   453,
    1427      261,   294,   333,   348,   355,   473,     0,     2,     0,   310,
    1428      334,   341,   342,     0,   349,   353,   356,   360,   445,   293,
    1429      371,   364,   368,     0,   393,   474,   478,     0,     0,     0,
    1430        1,   293,     2,   529,   575,   577,   293,     2,   740,   294,
    1431      743,   544,   544,     0,   294,     0,     0,   272,   546,   542,
    1432        2,   293,     0,     0,   293,   549,     2,   500,     2,   553,
    1433        0,     0,     0,     0,     0,     0,    19,    58,     4,     5,
    1434        6,    17,     0,     0,   293,     2,    63,    64,    65,    66,
    1435       46,    20,    47,    16,    23,    45,    67,   293,     0,    70,
    1436       74,    77,    80,    85,    88,    90,    92,    94,    96,    98,
    1437      103,   494,   750,   451,   493,     0,   449,   450,     0,   565,
    1438      580,   583,   586,   592,   595,   598,   358,     0,     2,   738,
    1439        0,   293,   741,     2,    61,   293,     3,   425,     0,   433,
    1440      294,   293,   306,   332,   286,   347,   354,     3,     3,   407,
    1441      411,   421,   426,   472,   293,   427,   705,   706,   293,   428,
    1442      430,   293,     2,   582,   594,   728,     2,     2,   248,     2,
    1443      458,     0,   456,   455,   454,   140,     2,     2,   250,     2,
    1444        2,   249,     2,   280,     2,   281,     0,   279,     0,     0,
    1445        0,     0,     0,     0,     0,     0,     0,   566,   605,     0,
    1446      453,     2,   560,   569,   659,   562,   563,   532,   293,     2,
    1447      599,   608,   601,   602,     0,   275,   293,   293,   338,   294,
    1448        0,   294,     0,   293,   733,   737,   735,   533,   293,   544,
    1449      254,   262,   308,     0,     2,   534,   293,   498,   335,   336,
    1450      282,   350,   357,     0,   293,     0,   748,   398,     0,   475,
    1451      499,   251,   252,   519,   293,   435,     0,   293,   236,     0,
    1452        2,   238,     0,   294,     0,   256,     2,   257,   277,     0,
    1453        0,     2,   293,   544,   293,   485,   487,   486,     0,     0,
    1454      750,     0,   293,     0,   293,   489,   293,   559,   557,   558,
    1455      556,     0,   551,   554,     0,     0,   293,    53,   293,    67,
    1456       48,   293,    55,   293,   293,    51,    52,     2,   126,     0,
    1457        0,   447,     0,   446,   727,   120,   293,    18,     0,    30,
    1458       31,    36,     2,     0,    36,   110,   111,   112,   113,   114,
    1459      115,   116,   117,   118,   119,   109,   108,     0,    49,    50,
     1410     298,   298,   318,   316,   319,   317,   320,   321,   304,   306,
     1411     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,
    14601465       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    1461        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    1462      105,     2,   645,   452,   642,   546,   546,   650,   479,   293,
    1463        2,   584,   585,     0,   596,   597,     0,     2,   739,   742,
    1464      120,   293,     0,     2,   707,   294,   711,   702,   703,   709,
    1465        0,     2,     2,   667,   546,   750,   616,   546,   546,   750,
    1466      546,   630,   546,   546,   681,   434,   664,   546,   546,   672,
    1467      679,   293,   429,   294,     0,     0,   293,   717,   294,   722,
    1468      750,   714,   293,   719,   750,   293,   293,   293,     0,   120,
    1469        0,    19,     2,     0,    20,     0,   459,   748,     0,     0,
    1470      465,   240,     0,   293,     0,     0,     0,   544,   568,   572,
    1471      574,   604,   607,   611,   614,   567,   606,     0,   283,   657,
    1472        0,   293,   276,     0,     0,     0,     0,   274,     2,     0,
    1473      258,   535,   293,     0,     0,   293,     2,   363,   383,   372,
    1474        0,     0,   377,   371,   749,     0,     0,   396,     0,   294,
    1475        3,   414,     3,   418,   417,   590,     0,   530,   293,    61,
    1476        3,   293,   433,   294,     3,   427,   428,     2,     0,     0,
    1477        0,   484,   305,   293,   480,   482,     3,     2,     2,     0,
    1478      501,     3,     0,   553,   128,     0,     0,   221,     0,     0,
    1479        0,     0,    37,     0,     0,   120,   293,    21,     0,    22,
    1480        0,   691,   696,   448,   688,   546,   546,     0,   106,     3,
    1481        2,    28,     0,    34,     0,     2,    26,     0,   104,    71,
    1482       72,    73,    75,    76,    78,    79,    83,    84,    81,    82,
    1483       86,    87,    89,    91,    93,    95,    97,     0,     0,   751,
    1484      293,     0,     0,     0,   646,   647,   643,   644,   496,   495,
    1485      293,     0,   293,   713,   293,   718,   294,   293,   661,   293,
    1486      293,   704,   660,     2,   293,     0,     0,     0,     0,     0,
    1487        0,     0,     0,   682,     0,   668,   619,   635,   669,     2,
    1488      615,   622,   431,   617,   618,   432,     2,   629,   638,   631,
    1489      632,   665,   666,   680,   708,   712,   710,   750,   267,     2,
    1490      744,     2,   422,   716,   721,   423,     0,   401,     3,     3,
    1491        3,     3,   453,     3,     0,     2,   467,   464,   749,     0,
    1492      460,     2,   463,   466,     0,   293,   241,   263,     3,   271,
    1493      273,     0,   453,     2,   570,   571,     2,   609,   610,     0,
    1494      658,   536,     3,   344,   343,   346,   345,   293,   537,     0,
    1495      538,   371,     0,     0,   293,   293,     0,     0,   691,   381,
    1496      384,   388,   546,   388,   387,   380,   373,   546,   375,   378,
    1497      293,   398,   392,   102,   399,   748,     0,     0,   436,   239,
    1498        0,     0,     3,     2,   667,   429,     0,   526,     0,   750,
    1499      488,     0,   293,   293,   293,     0,   550,   552,   129,     0,
    1500        0,   214,     0,     0,     0,   222,   223,    54,     0,    56,
    1501       59,    60,     0,     2,   127,     0,     0,     0,   692,   693,
    1502      689,   690,   458,    68,    69,   107,   124,     3,   106,     0,
    1503        0,    25,    36,     3,     0,    33,   100,     0,     3,   649,
    1504      653,   656,   648,     3,   591,     3,   715,   720,     2,    61,
    1505      293,     3,     3,   294,     0,     3,   621,   625,   628,   637,
    1506      671,   675,   678,   293,     3,   620,   636,   670,   293,   293,
    1507      424,   293,   293,   745,     0,     0,     0,     0,   255,     0,
    1508      102,     0,     3,     3,     0,   461,     0,   457,     0,     0,
    1509      244,   293,     0,     0,   128,     0,     0,     0,     0,     0,
    1510      128,     0,     0,   106,   106,    19,     2,     0,     0,     3,
    1511      130,   131,     2,   142,   132,   133,   134,   135,   136,   137,
    1512      144,   146,     0,     0,     0,   284,   293,   293,   546,     0,
    1513      539,   293,   374,   376,     0,   390,   692,   385,   389,   386,
    1514      379,   383,   366,   397,     0,   578,     2,   663,   662,     0,
    1515      668,     2,   481,   483,   503,     3,   511,   512,     0,     2,
    1516      507,     3,     3,     0,     0,   555,   221,     0,     0,     0,
    1517      221,     0,     0,   120,   695,   699,   701,   694,   748,   106,
    1518        0,     3,   660,    40,     3,    38,    35,     0,     3,    99,
    1519      101,     0,     2,   651,   652,     0,     0,   293,     0,     0,
    1520        0,     3,   637,     0,     2,   623,   624,     2,   639,     2,
    1521      673,   674,     0,     0,    61,     0,     3,     3,     3,     3,
    1522      409,   408,   412,     2,     2,   747,   746,   121,     0,     0,
    1523        0,     0,     3,   462,     3,     0,   242,   145,     3,   294,
    1524      293,     0,     0,     0,     0,     2,     0,   190,     0,   188,
    1525        0,     0,     0,     0,     0,     0,     0,   546,   120,     0,
    1526      150,   147,   293,     0,     0,   266,   278,     3,     3,   545,
    1527      612,   367,   382,   395,   293,   265,   293,     0,   514,   491,
    1528      293,     0,     0,   490,   505,     0,     0,     0,   215,     0,
    1529      224,    57,     2,   697,   698,     0,   125,   122,     0,     0,
    1530        0,     0,     0,    24,     0,   654,   293,   579,   264,   723,
    1531      724,   725,     0,   676,   293,   293,   293,     3,     3,     0,
    1532      684,     0,     0,     0,     0,   293,   293,     3,   543,   121,
    1533      469,     0,     0,   245,   294,     0,     0,     0,     0,   293,
    1534      191,   189,   186,     0,   192,     0,     0,     0,     0,   196,
    1535      199,   197,   193,     0,   194,   128,    36,   143,   141,   243,
    1536        0,     0,   416,   420,   419,     0,   508,     2,   509,     2,
    1537      510,   504,   293,   227,     0,   225,     0,   227,   293,    32,
    1538      123,     2,    43,     2,    41,    39,    29,    27,     3,   726,
    1539        3,     3,     3,     0,     0,   683,   685,   626,   640,   268,
    1540        2,   406,     3,   405,     0,   471,   468,   128,     0,     0,
    1541      128,     3,     0,   128,   187,     0,     2,     2,   208,   198,
    1542        0,     0,     0,   139,     0,   573,   613,     2,     0,     0,
    1543        2,   228,     0,     0,   216,     0,     3,     0,     0,     0,
    1544        0,     0,     0,   686,   687,   293,     0,   470,   151,     0,
    1545        0,     2,   164,   128,   153,     0,   181,     0,   128,     0,
    1546        2,   155,     0,     2,     0,     2,     2,     2,   195,    33,
    1547      293,   513,   515,   506,     0,     0,     0,     0,     0,     3,
    1548        3,   655,   627,   641,   677,   410,   128,   157,   160,     0,
    1549      159,   163,     3,   166,   165,     0,   128,   183,   128,     3,
    1550        0,   293,     0,   293,     0,     2,     0,     2,   138,     2,
    1551      229,   230,     0,   226,   217,   700,     0,     0,   152,     0,
    1552        0,   162,   232,   167,     2,   234,   182,     0,   185,   171,
    1553      200,     3,   209,   213,   202,     3,     0,   293,     0,   293,
    1554        0,     0,     0,    44,    42,   158,   161,   128,     0,   168,
    1555      293,   128,   128,     0,   172,     0,     0,   691,   210,   211,
    1556      212,     0,   201,     3,   203,     3,   293,   218,   231,   148,
    1557      169,   154,   128,   235,   184,   179,   177,   173,   156,   128,
    1558        0,   692,     0,     0,     0,     0,   149,   170,   180,   174,
    1559      178,   177,   175,     3,     3,     0,     0,   492,   176,   204,
    1560      206,     3,     3,   205,   207
     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
    15611564};
    15621565
     
    15641567static const yytype_int16 yydefgoto[] =
    15651568{
    1566       -1,   814,   468,   300,    47,   133,   134,   301,   302,   303,
    1567      304,   305,   762,   763,  1134,  1135,   306,   381,   308,   309,
    1568      310,   311,   312,   313,   314,   315,   316,   317,   318,   319,
    1569      320,  1031,   518,   976,   547,   322,   977,   948,  1058,  1519,
    1570     1060,  1061,  1062,  1063,  1520,  1064,  1065,  1438,  1439,  1402,
    1571     1403,  1404,  1498,  1499,  1503,  1504,  1539,  1540,  1066,  1362,
    1572     1067,  1068,  1299,  1300,  1301,  1481,  1069,   145,   954,   955,
    1573      956,  1382,  1462,  1473,  1474,   469,   470,   875,   876,  1039,
    1574       51,    52,    53,    54,    55,   347,   158,    58,    59,    60,
    1575       61,    62,   349,    64,    65,   264,    67,    68,   274,   351,
    1576      352,    71,    72,    73,   118,    75,   204,   354,   119,    78,
    1577      120,    80,    81,   455,    82,   454,   689,   690,   691,   909,
    1578     1087,   910,    83,    84,   458,   456,   697,   856,   857,   858,
    1579      859,   700,   701,   702,   359,   360,   361,   362,   466,   340,
    1580      135,   136,   522,   324,   170,   646,   647,   648,   649,   650,
    1581       85,   121,    87,   489,   490,   940,   491,   277,   495,   325,
    1582       88,   137,   138,    89,  1322,  1109,  1110,  1111,  1112,    90,
    1583       91,   718,    92,   273,    93,    94,   187,  1033,   680,   412,
    1584      125,    95,   501,   502,   503,   188,   268,   190,   191,   192,
    1585      269,    98,    99,   100,   101,   102,   103,   104,   195,   196,
    1586      197,   198,   199,   826,   606,   607,   608,   609,   200,   611,
    1587      612,   613,   573,   574,   575,   576,   752,   105,   615,   616,
    1588      617,   618,   619,   620,   969,   754,   755,   756,   596,   365,
    1589      366,   367,   368,   326,   164,   107,   108,   109,   370,   695,
    1590      570
     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
    15911594};
    15921595
    15931596/* YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing
    15941597   STATE-NUM.  */
    1595 #define YYPACT_NINF -1323
     1598#define YYPACT_NINF -1333
    15961599static const yytype_int16 yypact[] =
    15971600{
    1598     7329,  8828, -1323,    37, -1323, -1323, -1323, -1323, -1323, -1323,
    1599    -1323,   109, -1323, -1323, -1323, -1323, -1323, -1323, -1323, -1323,
    1600    -1323, -1323, -1323, -1323, -1323, -1323,    85,    85,    85,   873,
    1601      733,   178,  7561,   370, -1323, -1323, -1323, -1323, -1323,   191,
    1602    -1323, -1323, -1323,   614,   225, -1323, -1323, -1323, -1323,  4615,
    1603    -1323, -1323, -1323, -1323,   229,   285, -1323,   934, -1323, -1323,
    1604    -1323, -1323,   435,  1196,   579,   110,  7677, -1323, -1323,  4858,
    1605     1038, -1323, -1323,   580,   596,  6761,  1021,   875,   580,  1103,
    1606    -1323, -1323,  1317,   308, -1323,   580,  1224, -1323,   495, -1323,
    1607      616,   623, -1323, -1323, -1323, -1323,   547,   285,    85, -1323,
    1608       85, -1323, -1323, -1323, -1323,  9174,   934, -1323, -1323,   934,
    1609    -1323,   551, -1323,  9403, -1323, -1323,  1899,  9436, -1323,   844,
    1610      844,   844, -1323, -1323, -1323,    85, -1323, -1323, -1323,   584,
    1611      608,   632, -1323, -1323, -1323,   646, -1323, -1323, -1323, -1323,
    1612    -1323,   664,   687, -1323, -1323,   -28,  8797,  2908,   117,   701,
    1613      717,   726,   771,   786,   799,  8715,  6849,   731,   757, -1323,
    1614     5600, -1323, -1323, -1323, -1323,   804, -1323,   223,  5225,  5225,
    1615    -1323,   802,   365, -1323, -1323, -1323, -1323,   816,   443,   480,
    1616      534,    85,   827, -1323, -1323,  1196,  4341,   868, -1323,    50,
    1617    -1323,    85,    85,   285, -1323, -1323,    61, -1323,    85,    85,
    1618    -1323,  4647,   857,   864,   844,  6523, -1323, -1323,   869,  4615,
    1619    -1323, -1323,   580, -1323, -1323, -1323,   285, -1323,   934,   229,
    1620    -1323,  7868, -1323,   844,   844,   844,   285, -1323,   873, -1323,
    1621     5676, -1323, -1323,   852,   844, -1323,   844, -1323,   191,  8797,
    1622    -1323,   884, -1323,   733,   890,   844, -1323,   873,   888,   892,
    1623    -1323,  7561,   631, -1323, -1323, -1323,  9256, -1323, -1323,  9621,
    1624    -1323,   868,   151, 10214,  9436,  1899,  4647, -1323,    88, -1323,
    1625    -1323,  9403,   934,   891,  7708, -1323, -1323,   347, -1323, 10561,
    1626      922,   956, 10347,   945, 10366, 10423, -1323,   954, -1323, -1323,
    1627    -1323, -1323, 10442, 10442,  8571,   952, -1323, -1323, -1323, -1323,
    1628    -1323, -1323, -1323,   988, -1323,   966,  1946,  8910, 10366, -1323,
    1629      756,   338,   485,   411,   635,   955,   947,   957,   984,   237,
    1630    -1323, -1323,   962,   647, -1323,   302, -1323, -1323,  2908, -1323,
    1631    -1323,   235,   985, -1323,   312,   985,   989,   191, -1323, -1323,
    1632      990,  9174, -1323,   999,  1006,  9023, -1323, -1323,  1335,  2030,
    1633     8286,  6523,   580, -1323,   580,   844,   844, -1323, -1323, -1323,
    1634    -1323, -1323, -1323,   844,  9174,   934, -1323, -1323,  9474,  1575,
    1635    -1323,  8017, -1323, -1323, -1323, -1323, -1323, -1323, -1323,  1008,
    1636     5958, 10366, -1323, -1323, -1323, -1323, -1323, -1323, -1323, -1323,
    1637    -1323, -1323, -1323, -1323, -1323, -1323,  1899, -1323,   973,   991,
    1638      992,  1012,   978,  1017,  1018,  1020,  4341, -1323, -1323,  1029,
    1639      229,  1031, -1323, -1323,  1033, -1323, -1323, -1323,  9256, -1323,
    1640    -1323, -1323, -1323, -1323,  4647, -1323,  8797,  8797, -1323,   844,
    1641     1899,  6642,   934,  8359, -1323, -1323, -1323, -1323,  9256,   151,
    1642    -1323, -1323,   580,   285, -1323, -1323,  9256, -1323,  5770, -1323,
    1643    -1323,   844,   844,   337,  8204,  1032,  1036,  1023,  1042,   844,
    1644    -1323, -1323, -1323, -1323,  9660, -1323,   367,  6404, -1323,   285,
    1645     1044, -1323,  1899, 10643, 10271, -1323, -1323, -1323, -1323,  1015,
    1646     4647, -1323,  8432,   868,  7445, -1323, -1323, -1323,   843,   436,
    1647      962,   733,  7708,  1341,  9403, -1323,  7708, -1323, -1323, -1323,
    1648    -1323,   508, -1323,  1051,   956,   248,  8571, -1323,  9512, -1323,
    1649    -1323,  8571, -1323,  8684,  8571, -1323, -1323,  1049, -1323,   606,
    1650     1057,   682,  1059, -1323, -1323,  3527,  6492, -1323,   362, -1323,
    1651    -1323, 10214, -1323,   368, 10214, -1323, -1323, -1323, -1323, -1323,
    1652    -1323, -1323, -1323, -1323, -1323, -1323, -1323, 10214, -1323, -1323,
    1653    10366, 10366, 10366, 10366, 10366, 10366, 10366, 10366, 10366, 10366,
    1654    10366, 10366, 10366, 10366, 10366, 10366, 10366, 10366,  3593, 10214,
    1655    -1323,   647,  1677, -1323, -1323,    85,    85, -1323, -1323,  8797,
    1656    -1323, -1323,  1033,   631, -1323,  1033, 10290, -1323, -1323, -1323,
    1657     5046,  6492,  1060,  1063, -1323,  9436, -1323, -1323,   804, -1323,
    1658     1067,   750,  1068,  2627,   125,   962, -1323,    85,    85,   962,
    1659      132, -1323,    85,    85,  1033, -1323, -1323,    85,    85, -1323,
    1660      985,  9545,   934, 10788,   532,   656,  9545, -1323,  9621, -1323,
    1661      962, -1323,  9174, -1323,   238,  7983,  7983,  7983,   934, -1323,
    1662     5791,  1047,  1008,   493,  1058,  1061, -1323,  1076,  5225,   528,
    1663    -1323,  1165,   934,  7983,   631,  1899,   631,   868,   430,   985,
    1664    -1323, -1323,   536,   985, -1323, -1323, -1323,   956, -1323,   985,
    1665      285,  9660, -1323,   619,  1086,   633,  1088, -1323,  1087,   285,
    1666    -1323, -1323,  9256,   285,  1089,  9512,  1092, -1323,  1065, -1323,
    1667      538,   552,   733, -1323,   733,  1085, 10366, -1323,   733, 10788,
    1668    -1323, -1323,  1096, -1323, -1323, -1323,   631, -1323, 10716,  1006,
    1669    -1323,  7983,   703,  8286, -1323, -1323,   804,  1095,  1098,   843,
    1670     5016, -1323, -1323,  7708, -1323, -1323,  1091, -1323, -1323,  1102,
    1671    -1323,  1091,  1104, 10561, 10214,  1090,  1093,    94,  1109,  1107,
    1672     1111,  1114, -1323,  1118,  1129,  9365,  6611, -1323, 10214, -1323,
    1673      682,  1717, -1323, -1323, -1323,    85,    85, 10157, 10214,  1125,
    1674    -1323, -1323,   653, -1323, 10214, -1323, -1323,   736, -1323, -1323,
    1675    -1323, -1323,   756,   756,   338,   338,   485,   485,   485,   485,
    1676      411,   411,   635,   955,   947,   957,   984, 10366,   260, -1323,
    1677     9660,  1132,  1136,  1137,  1677, -1323, -1323, -1323, -1323, -1323,
    1678     9660,   708,  7983, -1323,  9174, -1323,  6968,  9136, -1323,  8017,
    1679     6849, -1323, -1323,   750,  9660,  1022,  1140,  1141,  1142,  1143,
    1680     1146,  1149,  1154, -1323,  3715,  2627, -1323, -1323, -1323, -1323,
    1681    -1323, -1323, -1323, -1323, -1323, -1323, -1323, -1323, -1323, -1323,
    1682    -1323, -1323, -1323,  1033, -1323, -1323, -1323,   962, -1323, -1323,
    1683    -1323, -1323, -1323, -1323, -1323, -1323,  1155, -1323,  1157,  1159,
    1684    -1323, -1323,   229,  1125,  5791, -1323, -1323, -1323,  5958,  1158,
    1685    -1323, -1323, -1323, -1323,   733,  6174,  1248, -1323, -1323, -1323,
    1686    -1323,  1151,   229, -1323, -1323,  1033, -1323, -1323,  1033,    84,
    1687     1033, -1323, -1323, -1323, -1323, -1323, -1323,  9327, -1323,   285,
    1688    -1323, -1323,   559,   562,  9474,  7087,  2137, 10366,  3114, -1323,
    1689    -1323,  1156,    51,  1156, -1323,   733, -1323,    85, -1323, -1323,
    1690     8941,  1023, -1323, -1323, -1323,  1036,  1175,  1171, -1323, -1323,
    1691     1178,  1181, -1323,   703,  1901, -1323,   672, -1323,  5016,   962,
    1692    -1323,  1184,  7708,  9583,  8797,  1185, -1323, -1323,  1180,  1187,
    1693     1170, -1323, 10366,  1197,   326,  1194, -1323,  1202,   631,  1202,
    1694    -1323, -1323,  1202,  1199, -1323,  1208,  1210,  1211,  1717, -1323,
    1695    -1323, -1323,  5958, -1323, -1323, -1323, -1323,  1209, 10214,  1212,
    1696      631, -1323, 10214, -1323,   631, -1323, -1323, 10214, -1323,   558,
    1697      985, -1323, -1323, -1323, -1323, -1323, -1323, -1323,  1008,  1006,
    1698     9023, -1323, -1323,  7206,  1218, -1323,   674,   985, -1323,   813,
    1699      861,   985, -1323,   844,  4029, -1323, -1323, -1323,  9660,  9660,
    1700    -1323,  8359,  8359, -1323,  1215,  1216,  1225,  1230, -1323,  1232,
    1701      685,    82,  1125, -1323,   631, -1323,  5225, -1323, 10214,   564,
    1702    -1323,  6373,  1236,  1240, 10100,  1242,  1243,    70,    79,    96,
    1703    10214,  1244,   285, 10214, 10214,  1227,  1249,   522,  1222, -1323,
    1704    -1323, -1323,  1250, -1323, -1323, -1323, -1323, -1323, -1323, -1323,
    1705    -1323, -1323,   733,  1254, 10214, -1323,  9660,  9660,    85,  1257,
    1706    -1323,  9054, -1323, -1323,   752, -1323,  3114, -1323, -1323, -1323,
    1707    -1323,  1065, -1323, -1323,  1255, -1323, -1323, -1323, -1323,  1258,
    1708     1901, -1323, -1323,  1245, -1323,  1091, -1323, -1323,  1899,  1260,
    1709    -1323, -1323, -1323,   713,  1264, -1323,    94,  1269, 10366,  1252,
    1710       94,    94,  1262,  3527,   879,   985, -1323, -1323,  1076, 10214,
    1711     1273,  1209,   358,   204,  1270, -1323, -1323,  1275,  1270, -1323,
    1712    -1323,  1278, -1323, -1323,  1033,  1280,  1284,  6730,  1285,  1290,
    1713     1291, -1323, -1323,  1286, -1323, -1323,  1033, -1323, -1323, -1323,
    1714    -1323,  1033, 10214, 10214,  1006,  1294, -1323, -1323, -1323, -1323,
    1715    -1323, -1323, -1323, -1323, -1323, -1323, -1323, -1323, 10366, 10366,
    1716     1300,  1302,  1270, -1323, -1323,   733, -1323, -1323, -1323,  5213,
    1717     9583, 10214, 10214,  1374, 10214, -1323,  1295, -1323,  1296, -1323,
    1718     1297, 10214,  1301, 10214,  1105,  1304,    12,    85,  9289,  1625,
    1719    -1323, -1323,  6174,  1322,   573, -1323, -1323, -1323, -1323, -1323,
    1720    -1323, -1323, -1323, -1323,  9920, -1323,  8432,  1330, -1323, -1323,
    1721     9583,   576,   602, -1323,  1331,  1315,   956,  1337, -1323,   329,
    1722    -1323, -1323, -1323, -1323,  1033,  1339, -1323, -1323,  1320,   486,
    1723      509,   631,  1340, -1323,  1344, -1323,  9660, -1323, -1323, -1323,
    1724    -1323, -1323,  1347, -1323,  9660,  9660,  9660, -1323, -1323,  1348,
    1725    -1323,  1351,  1354,  1355,   716,  8056,  8171, -1323, -1323,   529,
    1726    -1323,  1357,  1362, -1323,  8505,   721,   730,  1358,   761,  3837,
    1727    -1323, -1323, -1323,   605, -1323,   766,  1366,  1367,   285,  1419,
    1728      834, -1323, -1323, 10214, -1323, 10100, 10214, -1323, -1323, -1323,
    1729     1370,  1375, -1323, -1323, -1323,  1372, -1323, -1323, -1323, -1323,
    1730    -1323, -1323,  9583,   956,  1379, -1323,  1352,   956,  9660, -1323,
    1731    -1323, -1323, -1323, -1323, -1323, -1323, -1323, -1323, -1323, -1323,
    1732    -1323, -1323, -1323,  1378,  1382, -1323, -1323, -1323, -1323, -1323,
    1733    -1323, -1323,  1387, -1323,  1386, -1323, -1323, 10100,   289, 10214,
    1734    10100, -1323,  1389, 10214, -1323,   318,  1405,  1406, -1323, -1323,
    1735     1399,  1400,  1380, -1323,   821, -1323, -1323, -1323,   934,  1899,
    1736     1396, -1323,   402, 10366, -1323,   785, -1323,   631,   631,  1407,
    1737     1408,  1413,  1415, -1323, -1323,  8359,  1414, -1323,  1490, 10366,
    1738     1385, -1323, -1323, 10012, -1323,   800, -1323,  1402, 10100,  1403,
    1739    -1323, -1323,  1426, -1323,  1427, -1323,  1445,  1446, -1323,  1411,
    1740     9583, -1323, -1323, -1323,   956,   631,  1434,  1417,  1435,  1270,
    1741     1270, -1323, -1323, -1323, -1323, -1323, 10100,   107, -1323,   433,
    1742    -1323, -1323,  7793, -1323, -1323,  1418, 10214, -1323, 10214,  7793,
    1743      285,  9512,   285,  9512,  1436, -1323,  1442, -1323, -1323,  1440,
    1744    -1323, -1323,   825, -1323, -1323, -1323,  1444,  1449, -1323, 10366,
    1745    10366, -1323, -1323,   909,   211, -1323, -1323,  1425, -1323,   909,
    1746    -1323, -1323,  2166,   631, -1323, -1323,   285,  9512,   285,  9512,
    1747     1453,  1431,   631, -1323, -1323, -1323, -1323, 10012,  1443,   909,
    1748     6091, 10214,  9924,  1452,   909,  1454,  2166,  3344, -1323, -1323,
    1749    -1323,  1458, -1323, -1323, -1323, -1323,  8797, -1323, -1323, -1323,
    1750     9791, -1323, 10012, -1323, -1323,  1438,  9703, -1323, -1323,  9924,
    1751      285,  3344,   285,  1464,  1466,   853, -1323,  9791, -1323, -1323,
    1752    -1323,  9703, -1323, -1323, -1323,   285,   285, -1323, -1323, -1323,
    1753    -1323, -1323, -1323, -1323, -1323
     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
    17541755};
    17551756
     
    17571758static const yytype_int16 yypgoto[] =
    17581759{
    1759    -1323,  4572,  3263, -1323,   197, -1323,   601,   950,  -251,   910,
    1760    -1323,   521,  -520,  -467,  -853,   -64,  3183,     0, -1323,  -150,
    1761      423,   446,   477,   450,  1016,  1025,  1019,  1026,  1028, -1323,
    1762     -622,  -408,  5012,  -745, -1323,  -735,   604,   472,  -656,   413,
    1763    -1323,  1279, -1323,   374, -1058, -1323, -1323,   126, -1323,  -823,
    1764    -1106,   222, -1323, -1323, -1323, -1323,    58, -1209, -1323, -1323,
    1765    -1323, -1323, -1323, -1323,   301, -1149,    35, -1323,  -933, -1323,
    1766      482,   274, -1323,   159, -1323,  -303, -1323, -1323, -1323,   535,
    1767     -827, -1323, -1323,    15, -1007,    71,    28, -1323, -1323, -1323,
    1768      -21, -1323,   357,  1253,  -198,  1636,  4113, -1323, -1323,    80,
    1769       54,   422,  1473, -1323,  1886, -1323, -1323,   192,  2183, -1323,
    1770     2495,   898, -1323, -1323, -1323,  -638, -1323,   924,   925,   524,
    1771      699,    83, -1323, -1323, -1323,   915,   695,  -339, -1323,  -106,
    1772       34,  1281, -1323, -1323,  -847,  -986,  1046,  1127,  1039,     5,
    1773    -1323,  1536,   481,  -165,  -210,  -124,   651,   758, -1323,   979,
    1774    -1323,  2789,  1548,  -413,   904, -1323, -1323,   689, -1323,  -235,
    1775    -1323,   158, -1323, -1323, -1323, -1257,   401, -1323, -1323, -1323,
    1776     1148, -1323,    21, -1323, -1323,  -858,  -105, -1322,  -129,  2267,
    1777    -1323,  2391, -1323,   906, -1323,  -184,    59,  -180,  -173,  -170,
    1778        7,   -40,   -35,   -33,    60,    -6,    25,    93,  -168,  -164,
    1779     -158,  -147,  -144,  -292,  -471,  -462,  -452,  -551,  -302,  -537,
    1780    -1323, -1323,  -511,  1069,  1072,  1074,  2608,  4844,  -578,  -514,
    1781     -502,  -495,  -500, -1323,  -508,  -724,  -717,  -708,  -590,  -305,
    1782     -195, -1323, -1323,   246,    19,    36, -1323,  3865,   104,  -623,
    1783     -397
     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
    17841785};
    17851786
     
    17871788   positive, shift that token.  If negative, reduce the rule which
    17881789   number is the opposite.  If YYTABLE_NINF, syntax error.  */
    1789 #define YYTABLE_NINF -522
     1790#define YYTABLE_NINF -527
    17901791static const yytype_int16 yytable[] =
    17911792{
    1792       49,   113,   407,   149,   453,   399,   428,    97,   150,   440,
    1793      151,   267,   400,   753,   767,   401,   114,  1071,   408,   106,
    1794      106,   402,   974,   280,   869,   828,   965,   403,    57,    57,
    1795      505,   845,    49,   966,  1188,    50,  1172,   152,   404,    97,
    1796      597,   405,   967,   147,   383,   384,   741,   610,  1070,    49,
    1797      357,   106,   827,   143,    70,   920,   161,   605,   410,    96,
    1798       57,   795,   177,   186,   819,  1380,   209,    50,   153,    49,
    1799      193,    56,   115,   216,   923,  1303,   226,  1440,   949,   726,
    1800       69,   281,   407,   731,   219,   399,    70,   820,   106,    31,
    1801       31,    96,   400,   724,    57,   401,   425,    57,   408,   821,
    1802       31,   402,   148,    56,   831,   113,   822,   403,    96,   162,
    1803      838,   261,    69,   113,   262,   670,   266,   271,   404,   122,
    1804      212,   405,   189,   194,    31,    96,   217,    31,    96,   227,
    1805      816,  1138,   475,   477,   510,   679,   154,   210,   202,   817,
    1806      220,   260,  1196,   683,  1304,   149,   307,   147,  1440,   818,
    1807      150,  1198,   151,   166,   161,   113,   345,   548,   549,   252,
    1808      209,   411,   411,  1459,    31,   986,   527,   373,  1200,   629,
    1809      419,    31,   411,   633,  1170,  1171,   291,   715,  1178,   152,
    1810      914,  1182,   965,  1235,   348,   186,   186,  1239,   203,   966,
    1811      358,   342,    76,   161,  1078,   548,   721,   481,   967,   411,
    1812      668,   266,  1197,  1469,  1179,   952,    96,   162,   832,    49,
    1813      153,  1199,   835,  1201,  1187,   409,   161,   166,   123,    96,
    1814      374,   209,   665,   439,    76,   149,   252,   329,   443,  1179,
    1815      150,   548,   151,   852,   829,   471,   602,   855,   666,   307,
    1816     1172,   836,  1030,   602,   398,   189,   162,  1017,   816,    57,
    1817      327,    49,  1140,   735,   176,  -233,  -233,   817,    97,   271,
    1818      476,   674,   676,  1081,   271,   266,   266,   818,    96,   162,
    1819      106,   113,   463,   161,  1016,   442,  1004,   483,   154,    57,
    1820       96,   444,  1188,   992,   500,   923,    50,   142,   924,  1249,
    1821     1172,   657,   441,  1527,   307,   163,   665,   860,   861,   820,
    1822      146,   610,  1094,   176,  1485,    70,   176,   307,  1205,  1206,
    1823       96,   821,   666,   436,   878,   831,   597,  1250,   822,   672,
    1824     1542,   597,    56,   572,   479,   677,  -233,   357,   147,   730,
    1825      923,    69,   567,  1399,  1400,   373,   168,   155,  1513,   377,
    1826     1515,   113,   816,   327,   580,   345,   411,   476,   743,   603,
    1827      621,   817,   176,   177,  1071,   378,   828,    63,   736,   163,
    1828      169,   818,  1399,  1400,   626,  1139,   568,  1497,   626,   569,
    1829      630,   113,   932,  1502,   634,   436,   748,   589,   737,   899,
    1830      110,   144,   139,   140,  1246,  1070,   447,    96,   374,    63,
    1831      987,    41,    42,  1522,  1202,   805,   266,   471,  1529,   171,
    1832      769,   770,   771,  1401,   212,   460,   186,   342,   604,  1172,
    1833      845,   166,   578,   373,   799,   176,  1030,   471,   579,   820,
    1834      357,   583,   243,   411,   266,   471,   307,   307,  1170,  1171,
    1835      266,   821,  1410,   626,   110,  1188,  1119,   854,   822,  1326,
    1836      110,   715,  1188,    76,  1526,    41,    42,   684,    76,   599,
    1837     1020,    41,    42,   579,   113,   435,  1120,   553,   554,  1327,
    1838     1127,   348,  1363,   995,  1537,   189,   374,   358,  -121,   176,
    1839     -121,  1541,   266,   760,  -121,   493,   176,   705,   494,   765,
    1840      266,   387,   626,   706,    49,   357,   953,   373,   720,  -121,
    1841     -121,    97,   229,  1188,   113,   230,   923,   388,   234,  1085,
    1842      236,   557,   558,   106,   911,  1245,   307,   245,   113,  1158,
    1843     1160,   307,    57,   307,   307,  1136,   714,   435,  1424,    50,
    1844      913,   751,  1017,   610,   870,   113,   345,   212,   882,  1105,
    1845      327,   327,  1425,  1015,  1429,  1430,   559,   560,    70,   883,
    1846      523,   411,  1102,    96,  1117,   176,   722,   604,  1435,  1470,
    1847      880,   181,   723,   163,   348,    56,   923,   923,   110,   390,
    1848      358,   342,   176,  1471,    69,   110,   176,   139,   140,    41,
    1849       42,   572,   572,   555,   556,   391,    41,    42,  1127,   307,
    1850     1444,   110,   201,   914,     2,   206,     4,     5,     6,     7,
    1851      626,   345,    41,    42,   286,   621,   392,  1331,   327,  -289,
    1852      715,   603,   111,   603,   865,    41,    42,   973,    63,   997,
    1853       76,   247,   393,   472,   805,  1475,   250,   327,   732,   348,
    1854     1333,   626,  1475,  -517,   733,   358,   626,   847,   621,   176,
    1855       76,   514,   626,  1361,   229,   626,   626,   626,    76,   871,
    1856     -468,   643,  -468,   862,   848,   886,  1015,   411,   849,    35,
    1857      394,    36,  1028,   626,   915,   266,   252,   877,   872,  -468,
    1858      815,   471,   604,   348,   348,   348,   395,  1142,   917,   411,
    1859      916,   807,  1075,  1523,  1444,   915,    76,   442,   917,  1444,
    1860     1185,   348,   263,   327,   918,   113,    37,   929,   908,  1185,
    1861       40,  1082,  1317,   -10,  1083,   597,  1186,    41,    42,  1444,
    1862      692,   498,   805,   110,   357,  1309,  1444,  1409,  1318,  1113,
    1863     1237,   626,   934,   621,    41,    42,   747,  -441,  1319,   720,
    1864      720,   748,   748,    43,   407,   846,   399,   561,   562,   893,
    1865      599,    45,    46,   400,  1320,   748,   401,  1364,   500,   348,
    1866      408,  -442,   402,   895,  1035,   113,   345,   912,   403,   748,
    1867      751,   751,   523,   212,   523,   276,   571,   523,   411,   404,
    1868      523,   923,   405,   981,    45,    46,   519,   212,   850,   982,
    1869     1277,  1278,   851,   278,   229,   472,   234,   923,   815,   604,
    1870      714,   342,   965,  1154,   850,   411,  1374,   176,  1101,   966,
    1871     1477,   750,  1478,   411,   572,   472,   279,  -103,   967,    45,
    1872       46,  -103,   626,   472,   626,   110,  1000,   139,   140,   626,
    1873      345,   330,   933,   603,   602,  1162,    41,    42,   994,   176,
    1874       45,    46,    37,  1233,   706,   603,    40,   331,  1349,   579,
    1875      348,  1357,  1350,    41,    42,   176,   332,   748,   348,   712,
    1876     1358,    63,   715,   371,   358,  1524,   748,   923,   923,   176,
    1877      548,   985,   982,   465,     8,     9,    10,    11,    12,   813,
    1878      212,   602,   329,   411,   229,   953,   372,    45,    46,   953,
    1879      953,  1360,   815,   550,    76,   307,  1365,   748,  -290,   551,
    1880      552,   333,   748,    31,   604,     8,     9,    10,    11,    12,
    1881      807,   510,  1370,  1371,   106,  1427,   334,   626,   673,   675,
    1882       76,  1424,   665,    57,   113,   345,   908,   911,   908,   335,
    1883     1445,    34,  1183,   376,    31,    37,   748,   385,   666,    40,
    1884      113,   715,  1157,   913,   602,   389,    41,    42,   805,    70,
    1885      176,   692,   409,   934,   934,  1491,  1419,   982,   720,   714,
    1886      342,  1492,    34,   113,   307,   129,    56,   130,   131,   132,
    1887       48,   112,   719,  1399,  1400,    69,    41,    42,  1106,   397,
    1888       45,    46,   106,  1547,   214,  1084,   426,   912,   751,   579,
    1889     1159,    57,   602,   427,  1509,  1426,   772,   773,   519,   112,
    1890      112,   432,    48,   519,   450,  1324,   519,   738,  1242,   739,
    1891      411,  1437,   740,    48,  1088,   744,  1088,   604,  -365,    48,
    1892      345,   774,   775,  1228,  -394,   484,    37,    48,   174,   175,
    1893       40,   780,   781,    48,  1107,   214,    48,    41,    42,    48,
    1894      461,   626,   626,  1127,   462,     2,   206,     4,     5,     6,
    1895        7,   504,   112,   112,   776,   777,   778,   779,   291,   472,
    1896      788,   307,     2,   206,     4,     5,     6,     7,   327,   348,
    1897      348,   528,   529,   530,   508,  1169,    48,   442,   214,    48,
    1898      106,  1495,  1437,   513,   525,   472,    48,    76,   111,    57,
    1899      527,   228,  1381,   563,   564,   531,  1381,   532,   566,   533,
    1900      534,   113,   252,   329,   411,   565,   908,   419,   661,   411,
    1901       35,   908,    36,   569,   176,    70,   338,    48,  -438,   587,
    1902      934,   658,   659,   712,   846,    48,  -291,    35,   266,    36,
    1903       48,   590,    56,     8,     9,    10,    11,    12,    -3,   214,
    1904      639,  1190,   660,   626,   481,   329,   411,   662,   663,   761,
    1905      664,   829,   329,   602,   766,    48,    48,    37,   667,   183,
    1906      184,    40,    31,   669,   257,   912,   693,   345,    41,    42,
    1907      912,    48,   694,    -3,   696,   498,   698,   214,  -237,    48,
    1908      734,   745,   214,  1296,  1297,  1298,   692,   749,    48,   757,
    1909       34,    48,   808,  1460,   906,   809,   411,   -12,   112,   812,
    1910      823,   714,    45,    46,   465,  1332,  1334,  1335,   -13,   271,
    1911      113,   867,   868,   112,   874,   907,   894,   112,   896,   897,
    1912      922,    48,   112,   901,   904,   219,  -415,   723,   113,   106,
    1913     -521,   944,   307,   937,   946,    48,    48,    57,    57,   957,
    1914      950,   959,    48,   958,   960,   951,   626,  -292,   961,    48,
    1915      113,   106,    63,    76,     8,     9,    10,    11,    12,   962,
    1916       57,   978,   989,   212,   342,  1106,   990,   991,   214,   106,
    1917     1006,  1007,  1008,  1009,   116,   879,  1010,   881,    57,  1011,
    1918      210,   220,   712,    31,  1012,  1023,    70,  -403,    37,  -402,
    1919      183,   184,    40,  1037,  1422,   626,   626,  1072,    48,    41,
    1920       42,  1535,  1074,    56,   271,  1095,   907,  1096,  1059,   307,
    1921     1097,    34,    69,  1098,  1104,  1114,   748,  1115,    48,    48,
    1922     1116,  1107,   159,   348,   348,   185,  1118,   928,   106,  1352,
    1923     1121,  1123,    57,    45,    46,    48,   972,    57,  1124,    48,
    1924     1125,  1126,   113,   407,  1132,  1129,   399,   692,  1152,   214,
    1925      644,  1173,  1174,   400,   173,  1175,   401,  1106,   442,   408,
    1926     1176,   106,   402,    70,  1177,  1191,    48,   665,   403,  1192,
    1927       57,  1194,  1195,  1203,  1210,   441,    48,  1207,   258,   404,
    1928       56,  1208,   405,   666,  1215,    -3,   159,  1220,  1225,  1190,
    1929     1223,   214,  1241,   493,    48,  1229,   253,  1508,  1234,   266,
    1930       48,  1236,    48,  1421,  1238,  1247,  1251,  1253,  1255,   110,
    1931     1257,   139,   238,  1107,  1258,   626,  1263,  1259,   472,   323,
    1932       41,    42,  1260,  1261,    76,   176,  1270,    37,   339,   174,
    1933      175,    40,  1279,   110,  1280,   139,   140,   112,    41,    42,
    1934      113,  1287,    48,   348,    41,    42,   239,  1290,  1291,  1292,
    1935       48,   240,  1330,  1294,    48,  1106,  1302,  1308,    48,   106,
    1936     1315,   112,   113,   112,   372,  1323,  1321,  1325,    57,   113,
    1937      727,   113,  1336,   113,  1329,   728,  1337,  1193,   430,  1339,
    1938     1345,   106,   434,  1346,  1347,  1348,   149,  1359,   106,  1355,
    1939       57,   150,   417,   151,  1356,  1366,  1367,    57,   112,  1298,
    1940     1375,    76,  1507,   112,  1384,  1376,  1377,   113,  1383,   113,
    1941     1393,  1107,   323,   214,  1394,   437,    70,  -404,  1397,  1408,
    1942      113,  1412,  1414,    70,   712,   445,  1507,  1507,  1416,  1417,
    1943      703,  1423,  1418,    56,   161,  1441,   307,  1431,  1432,   106,
    1944       56,   214,  1190,  1433,   434,  1434,   214,   488,    57,  1190,
    1945     1350,  1507,  1436,   112,  1446,  1448,  1450,  1452,   373,   213,
    1946       48,  1454,  1456,  1458,  1463,  1465,  1486,   521,   232,  1464,
    1947     1476,    48,  1488,    48,    70,  1490,  1493,  1501,  1521,  1122,
    1948      159,  1494,  1516,  1517,  1530,   479,   141,  1528,  1532,    63,
    1949     1538,    56,    48,   520,  1545,   176,  1546,   889,  1209,   782,
    1950     1190,  1133,  1131,   712,   784,  1133,  1307,  1411,    48,   783,
    1951      213,   704,   785,   112,   588,   786,  1496,   214,   594,  1548,
    1952     1369,  1385,    48,  1240,   112,    48,   112,  1214,  1479,   902,
    1953      903,   214,  1089,   925,   215,  1222,  1093,   627,   241,   244,
    1954      327,   631,   801,  1128,   339,  1059,  1036,   939,   873,  1103,
    1955      242,  1316,   717,   213,    76,  1133,    66,   117,    48,   947,
    1956      791,    76,   112,   792,   112,   793,   472,    37,   112,   174,
    1957      175,    40,     0,     0,     0,     0,   112,     0,    41,    42,
    1958        0,     0,     0,  1285,  1286,   215,  1288,     0,    66,    48,
    1959       48,     0,     0,  1293,     0,  1295,     0,     0,     0,   323,
    1960      323,     0,     0,    48,   376,   160,     0,     8,     9,    10,
    1961       11,    12,    76,     0,   213,     0,     0,  1483,     0,  1483,
    1962        0,     0,     0,     0,   214,   221,     0,   688,   215,     0,
    1963      528,   529,   530,     0,     0,     0,    31,   703,  1373,     0,
    1964      116,     0,   681,     0,     0,     0,     0,     8,     9,    10,
    1965       11,    12,   213,  1483,   531,  1483,   532,   213,   533,  1306,
    1966        0,   259,     0,     0,    34,   488,     0,   323,   707,   488,
    1967        0,     0,   499,     0,     0,     0,    31,     0,     0,   521,
    1968        0,   521,     0,    48,   521,     0,   323,   521,     0,   215,
    1969     1398,     0,     0,  1406,     0,    48,     0,     0,   339,   457,
    1970        0,     0,     0,   328,    34,   520,   571,     0,   411,     0,
    1971      520,   259,   350,   520,    45,    46,     0,     0,   704,   472,
    1972        0,     0,     0,     0,     0,     0,   472,   215,     0,     0,
    1973        0,     0,   215,     0,     0,     0,  1443,     0,   644,     0,
    1974        0,  1447,   406,   213,   112,     0,   750,     0,   411,     0,
    1975        0,  1405,   323,     0,    45,    46,   703,   424,     0,     0,
    1976      429,   431,     0,   803,     0,   160,   703,    48,     0,  1468,
    1977     1133,  1133,  1133,     0,     0,     0,    48,   472,    48,     0,
    1978      703,     0,     0,     0,     0,   112,   448,     0,     0,     0,
    1979      451,     0,   452,     0,   844,     0,     0,     0,     0,   594,
    1980        0,   459,     0,     0,     0,   853,    74,    66,    48,     0,
    1981        0,     0,   473,     0,     0,     0,     0,     0,   215,     0,
    1982        0,   214,   480,     0,   213,     0,     0,     0,   112,     0,
    1983      431,     8,     9,    10,    11,    12,   645,   704,    74,     0,
    1984        0,   213,   644,     0,     0,     0,     0,   704,     0,     0,
    1985      112,     0,     0,  1536,   112,     0,     0,     0,   688,  1536,
    1986       31,   704,     0,     0,     0,     0,   213,     0,     0,   891,
    1987     1536,     0,   892,     0,  1536,   222,     0,     0,   898,     0,
    1988        0,     0,   900,     0,     0,     0,     0,     0,    34,     0,
    1989        0,    37,     0,   183,   184,    40,   488,   259,     0,   215,
    1990        0,   595,    41,    42,   112,     0,     0,   623,  1133,  1133,
    1991        0,     0,     0,     0,     0,     0,     0,     0,   339,     0,
    1992      628,     0,     0,     0,   628,     0,     0,   259,   265,     0,
    1993      933,     0,   602,     0,     0,     0,    45,    46,    45,    46,
    1994        0,   215,   112,     0,     0,     0,  1461,   725,     0,   729,
    1995        0,     0,     0,     0,     0,     0,    48,     0,     0,     0,
    1996        0,    48,   353,   535,   536,   537,   538,   539,   540,   541,
    1997      542,   543,   544,   545,   473,     0,     0,   996,    48,     0,
    1998        0,     0,   803,     0,   703,   703,     0,     0,   213,   350,
    1999        0,   988,     0,     0,   473,     0,     0,   546,     0,     0,
    2000        0,   993,   473,     0,  1510,     0,     0,   214,     0,     0,
    2001        0,     0,     0,  1518,     0,  1005,   213,     0,     0,     0,
    2002      699,   213,    37,   431,   183,   184,    40,     0,     0,     0,
    2003        0,     0,     0,    41,    42,     0,   449,     0,   713,     0,
    2004       66,     0,   703,   703,     0,     0,     0,     0,   431,     0,
    2005        0,     0,   431,     0,     0,   112,     0,    74,     0,   601,
    2006        0,   602,    74,   215,     0,   704,   704,    45,    46,     0,
    2007      803,     0,     0,     0,     0,     0,     0,   339,    48,     0,
    2008        0,   259,   350,     0,     0,     0,     0,     0,     0,     0,
    2009        0,   215,   213,   688,     0,     0,   215,     0,  1080,   866,
    2010        0,     0,   214,    77,     0,     0,   213,     0,     0,     0,
    2011        0,     0,     0,     0,     0,   488,  1108,   323,     0,   112,
    2012      112,   112,     0,   704,   704,     0,   499,     0,   794,    37,
    2013        0,   183,   184,    40,     0,    77,     0,     0,     0,     0,
    2014       41,    42,     0,     0,     0,     0,   628,   806,   919,     0,
    2015      921,     0,     0,     0,   457,     0,     0,   222,    37,   825,
    2016      183,   184,    40,     0,     0,     0,   906,   215,   411,    41,
    2017       42,     0,   223,   844,    45,    46,     0,   595,     0,     0,
    2018        0,   215,   595,     0,     0,     0,     0,     0,   628,     0,
    2019     1313,   350,   350,   350,     0,  1506,     0,   411,     0,   213,
    2020        0,     0,     0,    45,    46,     0,     0,     0,     0,   350,
    2021        0,     0,     0,   124,   127,   128,     0,     0,     0,  1167,
    2022     1168,     0,   703,     0,    74,     0,     0,   699,     0,     0,
    2023      703,   703,   703,     0,     0,     0,     0,     0,   473,   353,
    2024        0,     0,     0,     0,    74,     0,     0,     0,    48,    48,
    2025        0,  1204,    74,     0,   688,     0,     0,   112,   112,   355,
    2026        0,     0,     0,     0,   473,     0,     0,   350,     0,     0,
    2027      353,  1314,     0,     0,   215,     0,   938,  1217,  1218,   431,
    2028        0,     0,     0,     0,     0,   254,     0,   255,   353,     0,
    2029       74,     0,     0,     0,   703,   112,   803,     0,     0,     0,
    2030        0,   259,   713,   704,     0,     0,     0,   968,     0,     0,
    2031        0,   704,   704,   704,     0,     0,     0,     0,     0,     0,
    2032        0,     0,     0,     0,   645,     0,     0,     0,     0,     0,
    2033     1040,     0,   353,     0,     0,     0,     0,   126,   126,   126,
    2034        0,     0,     0,     0,     0,     0,   699,     0,     0,     0,
    2035        0,     0,    48,   112,    77,     0,   699,     0,   350,    77,
    2036      628,     0,   112,  1003,     0,   628,   806,     0,   396,     0,
    2037      699,  1090,     0,     0,     0,   704,    48,    48,   415,   416,
    2038     1014,   339,     0,   420,     0,   422,   423,     0,     0,     0,
    2039        0,     0,     0,     0,     0,     0,   213,   353,     0,     0,
    2040        0,    48,     0,  1108,     0,     0,     0,     0,     0,   126,
    2041        0,   126,     0,     0,     0,    79,     0,     0,     0,     0,
    2042        0,     0,     0,     0,     0,     0,     0,     0,   645,     0,
    2043        0,    66,     0,     0,     0,     0,   275,     0,     0,     0,
    2044        0,   353,   353,   353,     0,     0,     0,    79,     0,     0,
    2045        0,     0,     0,   628,   223,     0,     0,  1338,     0,   353,
    2046      259,   713,     0,     0,  1086,  1340,  1341,  1342,     0,     0,
    2047        0,   215,     0,     0,     0,     0,     0,   353,     0,     0,
    2048        0,     0,     0,     0,   224,     0,     0,     0,    74,     0,
    2049     1100,     0,   126,     0,     0,  1108,     0,  1368,   431,   117,
    2050      126,     0,   126,   126,     0,     0,     0,   126,     0,   126,
    2051      126,     0,     0,     0,    74,     0,     0,   353,     0,     0,
    2052        0,    77,     0,     0,     0,     0,     0,     0,  1040,  1386,
    2053        0,     0,     0,     0,     0,     0,   355,     0,     0,     0,
    2054        0,    77,     0,     0,     0,     0,     0,     0,     0,    77,
    2055        0,     0,   353,     0,     0,     0,   595,     8,     9,    10,
    2056       11,    12,     0,     0,     0,     0,     0,   355,     0,   429,
    2057        0,   356,     0,     0,   699,   699,     0,   350,   350,   126,
    2058        0,     0,   213,     0,     0,   355,    31,    77,     0,     0,
    2059        0,     0,     0,  1108,     0,     0,   353,  1189,     0,     0,
    2060        0,     0,     0,     0,     0,     0,   353,     0,   353,     0,
    2061        0,     0,     0,   222,    34,     0,   353,     0,     0,    37,
    2062      353,   183,   184,    40,  1482,     0,  1482,     0,     0,   355,
    2063       41,    42,   699,   699,     0,     0,     0,     0,     0,     0,
    2064        0,  1283,     0,     0,     0,     0,     0,     0,     0,  1480,
    2065        0,  1484,     0,     0,     0,     0,   601,   215,   602,     0,
    2066     1482,     0,  1482,     0,    45,    46,    79,     0,     0,     0,
    2067        0,    79,     0,     0,     0,     0,     0,   213,     0,   628,
    2068        0,    74,     0,     0,     0,  1512,     0,  1514,     0,   323,
    2069        0,     0,     0,     0,   355,     0,     0,     0,     0,     0,
    2070        0,     0,     0,   713,     0,     0,     0,     0,     0,    86,
    2071        0,   353,     0,     0,     0,     0,     0,   413,     0,     0,
    2072        0,     0,     0,     0,   421,     0,     0,     0,     0,  1543,
    2073        0,  1544,     0,     0,     0,     0,     0,     0,   355,   355,
    2074      355,    86,     0,     0,  1551,  1552,  1284,     0,     0,     0,
    2075        0,     0,   215,     0,     0,     0,   355,     0,     0,     0,
    2076        0,     0,   796,   797,   259,     0,   224,     0,    66,     0,
    2077        0,     0,     0,     0,   355,     0,     0,     0,   225,     0,
    2078      699,     0,   713,     0,     0,    77,   117,     0,     0,     0,
    2079        0,   830,     0,     0,   833,   834,   413,   837,     0,   839,
    2080      840,     0,     0,     0,   841,   842,     0,     0,     0,     0,
    2081        0,    77,   699,     0,   355,     0,     0,     0,     0,     0,
    2082      699,   699,   699,     0,   353,   353,     0,   353,   353,     0,
    2083        0,   350,   350,    79,     0,     0,     0,     0,     8,     9,
    2084       10,    11,    12,     0,     0,  1189,     0,    74,   356,   355,
    2085        0,   577,     0,    79,     0,     0,     0,     0,     0,   581,
    2086        0,    79,   584,     0,     0,   363,     0,    31,     0,     0,
    2087        0,     0,     0,     0,     0,     0,     0,     0,   117,   356,
    2088        0,     0,   353,   353,   699,     0,   126,   126,     0,     0,
    2089        0,     0,     0,   355,     0,    34,     0,   356,     0,    79,
    2090       37,     0,     0,   355,    40,   355,     0,     0,     0,     0,
    2091      223,    41,    42,   355,     0,   126,     0,   355,   126,   126,
    2092        0,   126,     0,   126,   126,     0,   413,     0,   126,   126,
    2093      421,     0,     0,     0,     0,     0,     0,    43,     0,     0,
    2094        0,   356,   970,   971,     0,    45,    46,     0,     0,     0,
    2095        0,   350,     0,   353,     0,     0,     0,     0,     0,     0,
    2096       86,     0,     0,     0,     0,    86,     0,     0,     0,     0,
    2097        0,     0,     0,     0,     0,     0,   117,     0,    77,     0,
     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,
     1964       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,
    20982056       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2099        0,     0,     0,     0,     0,     0,   222,     0,  1189,     0,
    2100        0,     0,     0,     0,     0,  1189,   356,   413,   355,     0,
    2101        0,     0,     0,     0,     0,     0,     0,     0,    74,     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,
    21022080       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2103      353,     0,   353,     0,     0,     0,     0,     0,     0,     0,
    2104        0,     0,     0,     0,     8,     9,    10,    11,    12,     0,
    2105      356,   356,   356,     0,     0,     0,  1189,     0,     0,     0,
    2106      225,     0,   353,  1531,     0,     0,   126,   126,   356,     0,
    2107      353,   353,   353,    31,     0,     0,     0,     0,     0,     0,
    2108        0,   353,   353,     0,     0,     0,   356,     0,     0,     0,
    2109        0,     0,     0,     0,     0,    74,     0,    79,     0,   577,
    2110      577,    34,     0,     0,  1091,     0,    37,     0,   183,   184,
    2111       40,     0,     0,     0,     0,     0,     0,    41,    42,     0,
    2112        0,   355,   355,    79,   355,   355,   356,    86,     0,     0,
    2113        0,     0,     0,     0,   353,     0,     0,     0,     0,     0,
    2114        0,     0,   363,   906,    77,   411,     0,    86,     0,     0,
    2115        0,    45,    46,     0,     0,    86,     0,     0,     0,     0,
    2116        0,   356,     0,     0,     0,     0,     0,     0,     0,     0,
    2117        0,     0,     0,   363,     0,     0,     0,     0,     0,   355,
    2118      355,     0,     0,     0,     0,     0,   884,     0,     0,     0,
    2119      887,   363,     0,    86,     0,     0,     0,     0,     0,     0,
    2120        0,   353,     0,     0,     0,   356,     0,     0,     0,     0,
    2121        0,     0,     0,     0,     0,   356,     0,   356,     0,     0,
    2122        0,     0,   224,   126,     0,   356,     0,     0,   126,   356,
    2123        0,     0,     0,     0,     0,   363,   167,     0,   172,     0,
    2124        0,   178,   179,   180,     0,   182,     0,     0,    74,     0,
    2125      355,     0,     0,     0,     0,    74,     0,     0,     0,   233,
    2126        0,     0,     0,     0,     0,  1219,     0,     0,     0,     0,
    2127        0,   248,   249,     0,     8,     9,    10,    11,    12,     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,
     2163      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,
    21282175       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2129       79,     0,     0,   223,     0,     0,     0,     0,     0,     0,
    2130      363,     0,     0,    31,     0,     0,    74,     0,     0,     0,
    2131        0,     0,     0,     0,     0,    77,     0,     0,     0,     0,
    2132      356,     0,   577,     0,     0,     0,     0,   355,     0,   355,
    2133        0,    34,     0,     0,     0,     0,    37,     0,   183,   184,
    2134       40,     0,     0,     0,   363,   363,   363,    41,    42,     0,
    2135        0,     0,     0,     0,     0,     0,     0,     0,     0,   355,
    2136        0,     0,   363,     0,     0,     0,     0,   355,   355,   355,
    2137        0,     0,     0,  1506,     0,   411,     0,     0,   355,   355,
    2138      363,    45,    46,     0,     0,   507,     0,   509,   512,   126,
    2139        0,    86,    77,     0,  1305,   515,   516,     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,
    21402206       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2141      509,   509,     0,     0,     0,     0,     0,    86,     0,     0,
    2142      363,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2143        0,   355,     0,   356,   356,     0,   356,   356,     0,     0,
    2144      413,     0,     0,     0,     0,     0,     0,     0,   509,     0,
    2145        0,     0,     0,     0,     0,   363,    79,     8,     9,    10,
     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,
     2215       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,
     2218       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,
     2230       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,
     2306       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,
     2312       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,
     2326      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,
     2333       4,     5,     6,     7,     8,     9,    10,    11,    12,    13,
     2334      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,
     2337       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,
     2346       6,     7,     8,     9,    10,    11,    12,    13,    14,    15,
     2347      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,
     2371       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2372       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,
     2376       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,
     2390       4,     5,     6,     7,     8,     9,    10,    11,    12,    13,
     2391      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,
    21462418      11,    12,    13,    14,    15,    16,    17,    18,    19,    20,
    2147       21,    22,    23,    24,    25,  -293,     0,    26,    27,    28,
    2148        0,     0,     0,     0,   509,     0,    31,     0,     0,     0,
    2149        0,   356,   356,     0,     0,     0,     0,     0,   355,   363,
    2150        0,     0,     0,     0,     0,     0,     0,     0,     0,   363,
    2151        0,   363,     0,     0,    34,     0,   225,  1143,   126,   363,
    2152        0,    38,    39,   363,     0,  -293,     0,   592,     0,   600,
    2153        0,     0,     0,     0,  1155,     0,     0,     0,     0,     0,
    2154      624,   625,     0,     0,     0,    77,     0,     0,     0,     0,
    2155      282,   283,    77,   284,     0,     0,   635,     0,   338,     0,
    2156        0,     0,   356,     0,    45,    46,     0,     0,     0,     0,
    2157        0,     0,     0,     0,     0,     0,     0,     0,     0,   285,
    2158        0,     0,     0,     0,    86,   286,     0,     0,     0,   287,
    2159        0,     0,   288,   289,   290,   291,    41,    42,     0,   292,
    2160      293,     0,     0,    77,     0,   224,     0,     0,     0,     0,
    2161        0,     0,   413,     0,   363,     0,     0,     0,     0,     0,
    2162        0,     0,   294,     0,   379,     0,     0,    79,     0,     0,
    2163       45,    46,   296,   297,   298,   299,     0,     0,     0,   356,
    2164        0,   356,  1013,   787,     0,     8,     9,    10,    11,    12,
    2165        0,     0,  1243,   509,   509,   509,   509,   509,   509,   509,
    2166      509,   509,   509,   509,   509,   509,   509,   509,   509,   509,
    2167      509,   356,   282,   283,    31,   284,     0,     0,     0,   356,
    2168      356,   356,     0,     0,     0,     0,     0,     0,     0,     0,
    2169      356,   356,     0,     0,     0,     0,     0,     0,     0,     0,
    2170        0,   285,    34,     0,    79,     0,     0,   286,     0,     0,
    2171        0,   287,     0,     0,   288,   289,   290,   291,    41,    42,
    2172        0,   292,   293,     0,     0,     0,     0,   363,   363,     0,
    2173      363,   363,     0,     0,     0,     0,     0,     0,     0,     0,
    2174        0,     0,     0,   356,   294,     0,   379,     0,     0,     0,
    2175       86,     0,   344,    46,   296,   297,   298,   299,     0,     0,
    2176        1,     2,   206,     4,     5,     6,     7,     8,     9,    10,
     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,
    21772427      11,    12,    13,    14,    15,    16,    17,    18,    19,    20,
    2178       21,    22,    23,    24,    25,   363,   363,    26,    27,    28,
    2179       29,     0,     0,    30,   282,   283,    31,   284,     0,   509,
     2428      21,    22,    23,    24,    25,     0,     0,    26,    27,    28,
     2429       0,     0,     0,     0,   281,   282,    31,   283,     0,     0,
    21802430       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2181      356,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2182        0,     0,     0,   285,    34,     0,    35,     0,    36,   286,
    2183        0,    38,    39,   287,   165,     0,   288,   289,   290,   291,
    2184       41,    42,     0,   292,   293,     0,     0,     0,     0,     0,
    2185        0,   218,     0,     0,     0,     0,   363,    79,     0,     0,
    2186      509,     0,     0,     0,    79,     0,   294,     0,  1056,     0,
    2187        0,     0,     0,     0,    45,    46,   296,   297,   298,   299,
    2188        0,     0,     0,   926,     0,   927,     0,     0,     0,  -128,
    2189      509,     0,   930,   931,     0,     0,     0,   936,   165,   225,
    2190        0,     0,   272,     0,     0,     0,     0,     0,     0,   941,
    2191        0,     0,     0,     0,   945,    79,     0,     0,     0,     0,
    2192        0,    86,     0,     0,     0,     0,     0,     0,     0,     0,
    2193        0,   165,     0,   363,     0,   363,     0,     0,     0,     0,
    2194        0,   369,   979,     0,     0,   375,     0,     0,     0,     0,
    2195        0,     0,     0,     0,     0,     0,  1163,     0,     0,     8,
    2196        9,    10,    11,    12,     0,   363,     0,     0,     0,     0,
    2197        0,     0,     0,   363,   363,   363,     0,     0,     0,     0,
    2198        0,     0,     0,     0,   363,   363,   282,   283,    31,   284,
    2199        0,     0,     0,     0,   165,     0,     0,     0,    86,     0,
    2200        0,     0,     0,     0,     0,     0,   218,     0,     0,     0,
    2201      509,     0,     0,     0,     0,   285,    34,     0,     0,     0,
    2202        0,   286,     0,     0,   165,   287,     0,     0,   288,   289,
    2203      290,   291,    41,    42,     0,   292,   293,   363,     0,     0,
    2204        0,  1024,  1025,  1026,  1027,     0,  1029,     0,     0,   375,
    2205        0,     0,     0,     0,     0,   509,   165,     0,   294,     0,
    2206      379,  1073,     0,     0,     0,     0,  1164,    46,   296,   297,
    2207      298,   299,     0,     0,     0,  1079,     0,     0,     0,   524,
    22082431       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2209      509,     0,   165,     0,     0,     0,     0,     0,     0,   211,
    2210        0,     0,     0,   509,   363,     0,     0,     0,   231,     0,
    2211      235,     0,   237,     0,     0,  1099,     0,     0,     0,   246,
     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,
    22122435       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2213      598,     0,     0,     0,     0,   622,     0,     0,     0,     0,
    2214        0,     0,     0,     0,   509,     0,     0,     0,     0,     0,
    2215      211,    86,   235,   237,   246,     0,     0,     0,    86,     0,
    2216     1130,     0,     0,     0,     0,     0,  1137,     0,     0,     0,
    2217        0,  1141,     0,     0,     0,     0,  1145,     0,  1146,     0,
    2218        0,     0,  1148,     0,  1149,  1150,     0,     0,  1153,     0,
    2219        0,     0,     0,   211,     0,     0,     0,  1165,     0,     0,
    2220        0,     0,     0,     0,     0,     0,     0,     0,     0,    86,
    2221        0,   165,   165,     0,     0,  1180,  1181,     0,   369,     0,
    2222        0,   509,     0,     0,     0,     0,     0,     0,     0,     0,
    2223        0,     0,     0,     0,     0,     0,     0,     0,     0,   524,
    2224        0,     0,  1211,     0,     0,  1213,     0,     0,     0,     0,
    2225        0,     0,     0,     0,   211,     0,   235,   237,   246,     0,
    2226        0,     0,     0,     0,     0,     0,     0,   716,     0,     0,
    2227        0,     8,     9,    10,    11,    12,     0,     0,     0,   165,
    2228        0,   509,   509,     0,     0,     0,     0,     0,  1227,     0,
    2229        0,   524,   211,   524,  1231,  1232,   524,   211,   165,   524,
    2230       31,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2231        0,   369,   497,     0,  1248,     0,     0,  1252,     0,     0,
    2232        0,  1254,     0,     0,     0,     0,     0,     0,    34,     0,
    2233        0,     0,     0,    37,  1262,   183,   184,    40,     0,     0,
    2234        0,     0,     0,     0,    41,    42,     0,  1269,     0,  1271,
    2235     1272,  1273,  1274,     0,     0,     0,     0,     0,     0,     0,
    2236        0,   211,     0,     0,   165,  1281,     0,  1282,     0,     0,
    2237      185,   172,     0,     0,     0,     0,   369,     0,    45,    46,
    2238      811,     0,     0,   211,     0,     0,     0,     0,   235,   237,
    2239        0,     0,     0,     0,     0,     0,   246,     0,     0,     0,
    2240     1310,  1311,     0,     0,     0,     0,   598,     0,     0,     0,
    2241        0,   598,     0,     0,     0,     0,     0,     0,     0,     0,
    2242      369,   369,   369,     0,     0,     0,     0,     0,     0,     0,
    2243        0,     0,     0,     0,     0,     0,     0,     0,   369,   211,
     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,
    22442442       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2245     1343,  1344,     0,     0,     0,     0,     0,   211,     0,     0,
    2246     1354,     0,   211,     0,   211,     0,     0,     0,     0,     0,
    2247      524,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2248        0,   211,     0,     0,   211,   211,   509,     0,     0,     0,
    2249        0,     0,   211,     0,     0,     0,   369,     0,   935,     0,
    2250        0,     0,   509,     0,     0,     0,   211,     0,     0,     0,
    2251        0,     0,     0,   211,     0,     0,     0,     0,     0,     0,
    2252        0,  1389,     0,  1390,  1391,  1392,     0,     0,     0,     0,
    2253        0,   716,     0,     0,     0,  1396,   156,     0,     0,     0,
    2254        0,     0,     0,     0,  1407,     8,     9,    10,    11,    12,
    2255       13,    14,    15,    16,    17,    18,    19,    20,    21,    22,
    2256       23,    24,    25,     0,     0,    26,    27,    28,     0,  1428,
    2257        0,     0,   509,   509,    31,     0,     0,     8,     9,    10,
    2258       11,    12,     0,   251,     0,     0,     0,   369,     0,     0,
    2259        0,   622,     0,   256,     0,   369,     0,     0,     0,     0,
    2260        0,     0,    34,     0,     0,     0,    31,    37,     0,    38,
    2261       39,    40,  1466,  1467,     0,     0,     0,     0,    41,    42,
    2262        0,     0,     0,     0,     0,  1472,     0,     0,   211,     0,
    2263        0,     0,  1472,     0,    34,     0,     0,     0,     0,    37,
    2264        0,   183,   184,    40,    43,     0,   157,     0,     0,   156,
    2265       41,    42,    45,    46,     0,     0,   211,     0,     0,     0,
    2266        0,   211,     0,   386,  1505,     0,     0,     0,  1511,     0,
    2267        0,     0,     0,     0,     0,     0,   265,     0,     0,     0,
    2268        0,     0,     0,     0,    45,    46,   418,     0,     0,     0,
    2269      716,     0,     0,     0,     0,     0,  1533,     0,  1534,     0,
    2270      433,     0,     0,     0,     0,   524,     0,     0,     0,   438,
    2271        0,     0,     0,     0,     0,     0,     0,     0,     0,   446,
    2272        0,     0,     0,     0,     0,     0,  1549,  1550,     0,   165,
    2273        0,     0,   211,     0,  1553,  1554,     0,     0,     0,     0,
    2274        0,     0,     0,     0,   464,     0,   211,     0,     0,   474,
    22752443       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2276        0,     0,   482,     0,     0,     0,   497,     0,   492,     0,
    2277      496,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2278        0,     0,     0,     0,     0,   598,     0,   526,     8,     9,
     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,
     2447       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,
     2454       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2455       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,
     2459       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2460       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,
     2463       4,     5,     6,     7,     8,     9,    10,    11,    12,    13,
     2464      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,
     2467       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,
     2472       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,
     2475       6,     7,     8,     9,    10,    11,    12,    13,    14,    15,
     2476      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,
     2483       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2484       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,
     2491       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,
     2495       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2496       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,
    22792499      10,    11,    12,    13,    14,    15,    16,    17,    18,    19,
    2280       20,    21,    22,    23,    24,    25,   369,   369,    26,    27,
    2281       28,     0,     0,     0,     0,     0,     0,    31,     0,     0,
    2282        0,     0,     0,     0,     0,     0,     0,   211,     0,     0,
    2283      586,     0,     0,     0,     0,   591,     0,     0,     0,   211,
    2284        0,     0,     0,     0,     0,    34,     0,     0,     0,     0,
    2285       37,     0,    38,    39,    40,     0,     0,     0,   211,     0,
    2286        0,    41,    42,     0,   636,     0,   524,     0,   637,   638,
    2287        0,   640,     0,     0,     0,     0,     0,     0,   651,   652,
    2288        0,   653,   654,     0,   655,     0,   656,    43,     0,    44,
    2289        0,     0,     0,     0,     0,    45,    46,     0,     0,     0,
    2290        0,     0,     0,   586,     0,     0,     0,     0,     0,     0,
    2291        0,   671,     0,     0,     0,     0,     0,     0,     0,   341,
    2292      364,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2293        0,     0,   716,     0,     0,     0,   682,     0,     0,     0,
    2294        0,     0,     0,     0,     0,     0,     8,     9,    10,    11,
    2295       12,     0,     0,   414,     0,     0,     0,     0,     0,     0,
    2296      414,     0,   708,     0,     0,     0,     0,     0,   711,     0,
    2297        0,   211,     0,   464,   218,    31,     8,     9,    10,    11,
     2500      20,    21,    22,    23,    24,    25,  -298,     0,    26,    27,
     2501      28,    29,     0,     0,    30,     0,     0,    31,     0,     0,
     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,     0,    34,     0,    35,     0,    36,
     2505       0,     0,    38,    39,     0,     0,  -298,   204,     2,   205,
     2506       4,     5,     6,     7,     8,     9,    10,    11,    12,    13,
     2507      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,
    22982514      12,    13,    14,    15,    16,    17,    18,    19,    20,    21,
    2299       22,    23,    24,    25,  -293,     0,    26,    27,    28,     0,
    2300        0,   211,     0,    34,     0,    31,     0,     0,    37,   746,
    2301        0,   716,    40,     0,     0,     0,     0,     0,     0,    41,
    2302       42,     0,     0,     0,   764,     0,     0,     0,     0,     0,
    2303        0,     0,   414,    34,     0,     0,   211,     0,    37,     0,
    2304      336,   337,    40,     0,  -293,   719,     0,   211,     0,    41,
    2305       42,     0,     0,    45,    46,     0,     0,     0,     0,     0,
    2306      369,   369,     0,   790,     0,     0,     0,     0,     0,   218,
    2307        0,     0,   800,     0,     0,   635,     0,   338,   321,   802,
    2308        0,     0,     0,    45,    46,   810,     0,   414,   346,     0,
    2309        0,     0,     0,     0,   824,   414,   582,     0,   414,   585,
    2310      382,   382,     0,     0,     0,     0,     0,     0,     0,   364,
    2311        0,     0,     0,   614,     0,     0,     0,     0,     0,   211,
     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,
    23122518       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2313        0,     0,   632,   211,   864,   341,   205,     2,   206,     4,
     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,
    23142525       5,     6,     7,     8,     9,    10,    11,    12,    13,    14,
    23152526      15,    16,    17,    18,    19,    20,    21,    22,    23,    24,
    2316       25,     0,   414,    26,    27,    28,   414,     0,     0,     0,
    2317      810,   321,    31,     0,     0,     0,     0,     0,   905,     0,
    2318      369,     0,   282,   283,     0,   284,     0,     0,     0,     0,
    2319        0,     0,     0,     0,     0,   478,     0,   364,     0,     0,
    2320       34,     0,    35,     0,    36,     0,     0,   207,    39,   251,
    2321        0,   285,     0,     0,     0,     0,     0,   286,     0,   942,
    2322      943,   287,   211,     0,   288,   289,   290,   291,    41,    42,
    2323        0,   292,   293,     0,     0,     0,   524,     0,   524,     0,
    2324        0,     0,     0,   414,   208,     0,   364,     0,     0,     0,
    2325       45,    46,   980,     0,   294,     0,   379,   984,     0,   380,
    2326        0,     0,    45,    46,   296,   297,   298,   299,     0,     0,
    2327        0,     0,   524,     0,   524,     0,     0,     0,     0,     0,
    2328        0,     0,     0,     0,     0,   414,     0,     0,     0,   341,
    2329      364,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2330        0,   165,     0,     0,     0,     0,     0,     0,     0,     0,
    2331        0,     0,   382,     0,     0,     0,     0,   211,     0,     0,
    2332        0,  1018,     0,     0,     0,     0,     0,     0,  1019,     0,
    2333        0,     0,     0,     0,     0,   414,   414,     0,     0,     0,
    2334        0,  1021,     0,  1022,     0,     0,     0,     0,     0,     0,
    2335        0,     0,     0,     0,   804,   364,     0,  1034,     0,     0,
    2336        0,     0,     0,  1038,     0,   614,     0,   614,   614,     0,
    2337        0,     0,     0,     0,   614,  1076,     0,     0,  1077,     0,
    2338        0,     0,     0,     0,   843,   364,     0,     0,     0,     0,
    2339      364,     0,     0,     0,     0,     0,     0,     0,     0,   364,
    2340      364,   364,     0,     0,     0,     0,   710,     0,     0,     0,
    2341        0,     0,     0,     0,     0,     0,     0,   364,     0,     0,
    2342        0,     0,   414,   885,     0,     0,   414,   888,     0,     0,
    2343        0,     0,     0,   890,     0,     0,     0,     0,     0,     0,
    2344        0,     0,     0,     0,     0,   742,     0,     0,     0,     0,
    2345        0,     0,   414,     0,     0,   591,     0,     0,   759,     0,
    2346        0,     0,     0,   742,     0,     0,   742,     0,     0,     0,
    2347        0,     0,     0,     0,     0,   364,   614,     0,     0,   768,
    2348        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2349     1147,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2350        0,   789,     0,     0,     0,     0,     0,     0,     0,   341,
    2351      364,   798,     0,     0,   414,   414,     0,     0,   346,     0,
    2352        0,     0,     0,   759,     0,     0,     0,     0,     0,     0,
    2353        8,     9,    10,    11,    12,    13,    14,    15,    16,    17,
    2354       18,    19,    20,    21,    22,    23,    24,    25,   526,     0,
    2355       26,    27,    28,     0,  1212,     0,     0,     0,   414,    31,
    2356        0,     0,     0,     0,   211,     0,   364,     0,     0,     0,
    2357        0,     0,   863,   804,   364,     0,     0,   614,     0,   614,
    2358      382,     0,     0,     0,     0,     0,     0,    34,  1224,   614,
    2359        0,     0,    37,  1226,   207,    39,    40,     0,     0,     0,
    2360        0,  1230,     0,    41,    42,     0,     8,     9,    10,    11,
    2361       12,    13,    14,    15,    16,    17,    18,    19,    20,    21,
    2362       22,    23,    24,    25,  -293,     0,     0,     0,     0,    43,
    2363        0,   270,     0,     0,  1256,    31,     0,    45,    46,     0,
    2364        0,     0,     0,     0,     0,     0,  1264,     0,     0,  1265,
    2365        0,  1266,     0,     0,     0,     0,     0,     0,     0,     0,
    2366        0,   804,     0,    34,     0,  1275,  1276,     0,   341,   364,
    2367      414,     0,   414,     0,  -293,     0,   414,     0,   759,     0,
    2368      964,     0,     0,     0,     0,     0,     0,  1289,     0,     0,
    2369      975,     0,     0,     0,     0,     0,   983,   614,   614,     0,
    2370        8,     9,    10,    11,    12,    13,    14,    15,    16,    17,
    2371       18,    19,    20,    21,    22,    23,    24,    25,  -294,     0,
    2372        0,     0,     0,     0,     0,     0,     0,     0,     0,    31,
    2373        0,     0,   414,     0,  1328,     0,     0,     0,  1001,  1002,
    2374        0,     0,   346,     0,     0,     0,     0,     0,   282,   283,
    2375        0,   284,     0,   414,  1144,     0,   346,    34,     0,     0,
    2376        0,     0,     0,     0,   364,     0,     0,     0,  -294,     0,
    2377      414,  1156,     0,   614,   614,  1161,     0,   285,     0,     0,
    2378        0,     0,     0,   286,     0,   364,   364,   287,     0,     0,
    2379      288,   289,   290,   291,    41,    42,  1032,   292,   293,     0,
    2380      382,     0,     0,     0,     0,     0,     0,     0,     0,  1378,
    2381        0,  1379,     0,     0,     0,     0,     0,     0,     0,     0,
    2382      294,     0,   379,  1387,     0,  1388,     0,   758,    45,    46,
    2383      296,   297,   298,   299,     0,     0,     0,   346,     0,     0,
    2384        0,     0,  1395,     0,     0,     0,     0,     0,   414,     0,
    2385      414,     0,     0,     0,     0,   414,     0,     0,  1413,  1415,
    2386        0,     0,     0,     0,   614,     0,     0,     0,     0,  1420,
    2387        0,     0,  1230,     0,     0,     0,   321,     0,     0,     0,
    2388        0,     0,     0,     0,     0,     0,     0,   804,   414,  1244,
    2389        0,     0,     0,  1442,     0,     0,     0,     0,     0,     0,
    2390        0,     0,  1449,     0,   382,  1451,     0,  1453,  1455,  1457,
    2391      975,   364,     0,     0,   742,   282,   283,     0,   284,     0,
    2392        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2393        0,     0,     0,     0,     0,  1151,     0,     0,     0,     0,
    2394        0,     0,     0,     0,   285,     0,  1166,  1487,     0,  1489,
    2395      641,  1230,   139,   140,   287,     0,     0,   288,   289,   290,
    2396      291,    41,    42,     0,   292,   293,  1500,     0,   382,     0,
    2397     1184,     0,   341,     0,     0,     0,     0,     0,     0,     0,
    2398        0,     0,     0,     0,     0,   975,   975,   294,     0,   642,
    2399      364,   643,   380,     0,     0,    45,    46,   296,   297,   298,
    2400      299,     0,     0,     0,     0,     0,  1216,     0,     0,     0,
    2401        0,     0,     0,     0,     1,     2,   206,     4,     5,     6,
    2402        7,     8,     9,    10,    11,    12,    13,    14,    15,    16,
    2403       17,    18,    19,    20,    21,    22,    23,    24,    25,   364,
    2404      364,    26,    27,    28,    29,     0,     0,    30,     0,     0,
    2405       31,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2406        0,   975,     0,     0,     0,     0,     0,     0,     0,     0,
    2407        0,     0,     0,     0,     0,     0,     0,     0,    34,   863,
    2408       35,     0,    36,     0,     0,    38,    39,     0,     0,     0,
    2409        0,     0,     0,     0,  1267,  1268,     0,     1,     2,   206,
    2410        4,     5,     6,     7,     8,     9,    10,    11,    12,    13,
    2411       14,    15,    16,    17,    18,    19,    20,    21,    22,    23,
    2412       24,    25,    44,     0,    26,    27,    28,    29,    45,    46,
    2413       30,   282,   283,    31,  1041,  1042,     0,  1043,     0,     0,
    2414     1044,  1045,  1046,  1047,  1048,  1049,  1050,  1051,     0,     0,
    2415        0,  1052,     0,     0,     0,  1053,  1054,     0,    33,   364,
    2416      285,    34,     0,    35,     0,    36,  1055,     0,    38,    39,
    2417      287,     0,     0,   288,   289,   290,   291,    41,    42,     0,
    2418      292,   293,     0,     0,     0,     0,     0,     0,     0,     0,
    2419        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2420        0,     0,     0,   294,     0,  1056,     0,     0,   171,     0,
    2421        0,    45,    46,   296,   297,   298,   299,     0,     0,     0,
    2422        0,  1057,     0,     0,     0,     0,  -128,     0,     0,     0,
    2423        0,     0,     0,     0,     0,  1372,     0,     0,   742,     0,
    2424        0,     0,     0,     0,     0,     0,   414,     0,     0,     0,
    2425        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2426        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2427      414,   414,     0,     0,     0,     0,     0,     0,     0,     0,
    2428        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2429        0,     0,     0,     0,     0,   414,     1,     2,   206,     4,
    2430        5,     6,     7,     8,     9,    10,    11,    12,    13,    14,
    2431       15,    16,    17,    18,    19,    20,    21,    22,    23,    24,
    2432       25,     0,     0,    26,    27,    28,    29,     0,     0,    30,
    2433      282,   283,    31,   284,     8,     9,    10,    11,    12,    13,
    2434       14,    15,    16,    17,    18,    19,    20,    21,    22,    23,
    2435       24,    25,     0,     0,    26,    27,    28,     0,     0,   285,
    2436       34,     0,    35,    31,    36,   286,     0,    38,    39,   287,
    2437        0,     0,   288,   289,   290,   291,    41,    42,     0,   292,
    2438      293,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2439        0,    34,     0,     0,     0,     0,   110,     0,    38,    39,
    2440        0,     0,   294,     0,    44,     0,     0,    41,    42,     0,
    2441       45,    46,   296,   297,   298,   299,     2,   206,     4,     5,
    2442        6,     7,     8,     9,    10,    11,    12,    13,    14,    15,
    2443       16,    17,    18,    19,    20,    21,    22,    23,    24,    25,
    2444        0,     0,    26,    27,    28,     0,     0,     0,   321,   282,
    2445      283,    31,   284,     8,     9,    10,    11,    12,    13,    14,
    2446       15,    16,    17,    18,    19,    20,    21,    22,    23,    24,
    2447       25,     0,     0,    26,    27,    28,     0,     0,   285,    34,
    2448        0,    35,    31,    36,   286,     0,    38,    39,   287,     0,
    2449        0,   288,   289,   290,   291,    41,    42,     0,   292,   293,
    2450        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2451       34,     0,     0,     0,     0,     0,     0,    38,    39,     0,
    2452        0,   294,     0,   343,     0,     0,     0,     0,   758,   344,
    2453       46,   296,   297,   298,   299,     2,   206,     4,     5,     6,
    2454        7,     8,     9,    10,    11,    12,    13,    14,    15,    16,
    2455       17,    18,    19,    20,    21,    22,    23,    24,    25,     0,
    2456        0,    26,    27,    28,     0,     0,     0,     0,   282,   283,
    2457       31,   284,     8,     9,    10,    11,    12,    13,    14,    15,
    2458       16,    17,    18,    19,    20,    21,    22,    23,    24,    25,
    2459        0,     0,    26,    27,    28,     0,     0,   285,    34,     0,
    2460       35,    31,    36,   286,     0,    38,    39,   287,     0,     0,
    2461      288,   289,   290,   291,    41,    42,     0,   292,   293,     0,
    2462        0,     0,     0,     0,     0,     0,     0,     0,     0,    34,
    2463        0,     0,     0,     0,     0,     0,   207,    39,     0,     0,
    2464      294,     0,   963,     0,     0,     0,     0,   758,   344,    46,
    2465      296,   297,   298,   299,     2,   206,     4,     5,     6,     7,
    2466        8,     9,    10,    11,    12,    13,    14,    15,    16,    17,
    2467       18,    19,    20,    21,    22,    23,    24,    25,     0,     0,
    2468       26,    27,    28,     0,     0,     0,     0,   282,   283,    31,
    2469      284,     8,     9,    10,    11,    12,    13,    14,    15,    16,
    2470       17,    18,    19,    20,    21,    22,    23,    24,    25,     0,
    2471        0,     0,     0,     0,     0,     0,   285,    34,     0,    35,
    2472       31,    36,   286,     0,    38,    39,   287,     0,     0,   288,
    2473      289,   290,   291,    41,    42,     0,   292,   293,     0,     0,
    2474        0,     0,     0,     0,     0,     0,     0,     0,    34,     0,
    2475        0,     0,     0,     0,     0,     0,     0,     0,     0,   294,
    2476        0,   963,     0,     0,     0,     0,   758,    45,    46,   296,
    2477      297,   298,   299,     2,   206,     4,     5,     6,     7,     8,
    2478        9,    10,    11,    12,    13,    14,    15,    16,    17,    18,
    2479       19,    20,    21,    22,    23,    24,    25,     0,     0,    26,
    2480       27,    28,     0,     0,     0,     0,   282,   283,    31,   284,
    2481        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2482        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2483        0,     0,     0,     0,     0,   285,    34,     0,    35,     0,
    2484       36,   286,     0,    38,    39,   287,     0,     0,   288,   289,
    2485      290,   291,    41,    42,     0,   292,   293,     0,     0,     0,
    2486        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2487        0,     0,     0,     0,     0,     0,     0,     0,   294,     0,
    2488      343,     0,     0,     0,     0,     0,   344,    46,   296,   297,
    2489      298,   299,     2,   206,     4,     5,     6,     7,     8,     9,
    2490       10,    11,    12,    13,    14,    15,    16,    17,    18,    19,
    2491       20,    21,    22,    23,    24,    25,     0,     0,    26,    27,
    2492       28,     0,     0,     0,     0,   282,   283,    31,   284,     0,
    2493        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2494        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2495        0,     0,     0,     0,   285,    34,     0,    35,     0,    36,
    2496      286,     0,   207,    39,   287,     0,     0,   288,   289,   290,
    2497      291,    41,    42,     0,   292,   293,     0,     0,     0,     0,
    2498        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2499        0,     0,     0,     0,     0,     0,     0,   294,     0,   998,
    2500        0,     0,     0,     0,     0,   999,    46,   296,   297,   298,
    2501      299,     2,   206,     4,     5,     6,     7,     8,     9,    10,
    2502       11,    12,    13,    14,    15,    16,    17,    18,    19,    20,
    2503       21,    22,    23,    24,    25,     0,     0,    26,    27,    28,
    2504        0,     0,     0,     0,   282,   283,    31,   284,     0,     0,
    2505        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2506        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2507        0,     0,     0,   285,    34,     0,    35,     0,    36,   286,
    2508        0,    38,    39,   287,     0,     0,   288,   289,   290,   291,
    2509       41,    42,     0,   292,   293,     0,     0,     0,     0,     0,
    2510        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2511        0,     0,     0,     0,     0,     0,   294,     0,   963,     0,
    2512        0,     0,     0,     0,   344,    46,   296,   297,   298,   299,
    2513        2,   206,     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,   282,   283,    31,   284,     0,     0,     0,
    2517        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2518        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2519        0,     0,   285,    34,     0,    35,     0,    36,   286,     0,
    2520      207,    39,   287,     0,     0,   288,   289,   290,   291,    41,
    2521       42,     0,   292,   293,     0,     0,     0,     0,     0,     0,
    2522        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2523        0,     0,     0,     0,     0,   294,     0,   379,     0,     0,
    2524        0,     0,     0,    45,    46,   296,   297,   298,   299,  -516,
    2525        0,     0,     1,     2,     3,     4,     5,     6,     7,     8,
    2526        9,    10,    11,    12,    13,    14,    15,    16,    17,    18,
    2527       19,    20,    21,    22,    23,    24,    25,     0,     0,    26,
    2528       27,    28,    29,     0,     0,    30,     0,     0,    31,    32,
    2529        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2530        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2531        0,     0,     0,    33,     0,     0,    34,     0,    35,     0,
    2532       36,    37,     0,    38,    39,    40,     0,     0,     0,     0,
    2533        0,     0,    41,    42,     0,     0,     0,     0,     0,     0,
    2534        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2535        0,     0,     0,     0,     0,     0,     0,     0,    43,     0,
    2536       44,     0,     0,     0,     0,     0,    45,    46,     1,     2,
    2537        3,     4,     5,     6,     7,     8,     9,    10,    11,    12,
    2538       13,    14,    15,    16,    17,    18,    19,    20,    21,    22,
    2539       23,    24,    25,     0,     0,    26,    27,    28,    29,     0,
    2540        0,    30,     0,     0,    31,    32,     0,     0,     0,     0,
    2541        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2542        0,     0,     0,     0,     0,     0,     0,     0,     0,    33,
    2543        0,     0,    34,     0,    35,     0,    36,    37,     0,    38,
    2544       39,    40,     0,     0,     0,     0,     0,     0,    41,    42,
    2545        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2546        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2547        0,     0,     0,     0,    43,     0,    44,     0,     0,     0,
    2548     -520,     0,    45,    46,     1,     2,     3,     4,     5,     6,
    2549        7,     8,     9,    10,    11,    12,    13,    14,    15,    16,
    2550       17,    18,    19,    20,    21,    22,    23,    24,    25,     0,
    2551        0,    26,    27,    28,    29,     0,     0,    30,     0,     0,
    2552       31,    32,     0,     0,     0,     0,     0,     0,     0,     0,
    2553        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2554        0,     0,     0,     0,     0,    33,     0,     0,    34,     0,
    2555       35,     0,    36,    37,     0,    38,    39,    40,     0,     0,
    2556        0,     0,     0,     0,    41,    42,     0,     0,     0,     0,
    2557        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2558        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2559       43,     0,    44,     0,     0,     0,     0,     0,    45,    46,
    2560      205,     2,   206,     4,     5,     6,     7,     8,     9,    10,
    2561       11,    12,    13,    14,    15,    16,    17,    18,    19,    20,
    2562       21,    22,    23,    24,    25,     0,     0,    26,    27,    28,
    2563        0,     0,     0,     0,     0,     0,    31,     0,     8,     9,
    2564       10,    11,    12,    13,    14,    15,    16,    17,    18,    19,
    2565       20,    21,    22,    23,    24,    25,     0,     0,    26,    27,
    2566       28,   485,   486,   487,    34,     0,    35,    31,    36,    37,
    2567        0,   207,    39,    40,     0,     0,     0,     0,     0,     0,
    2568       41,    42,     0,     0,     0,     0,     0,     0,     0,     0,
    2569        0,     0,     0,     0,     0,    34,     0,     0,     0,     0,
    2570        0,     0,    38,    39,     0,     0,    43,     0,   208,     0,
    2571        0,     0,     0,     0,    45,    46,     1,     2,   206,     4,
    2572        5,     6,     7,     8,     9,    10,    11,    12,    13,    14,
    2573       15,    16,    17,    18,    19,    20,    21,    22,    23,    24,
    2574       25,  -293,     0,    26,    27,    28,    29,     0,     0,    30,
     2527      25,     0,     0,    26,    27,    28,     0,     0,     0,     0,
    25752528       0,     0,    31,     0,     0,     0,     0,     0,     0,     0,
    25762529       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    25772530       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2578       34,     0,    35,     0,    36,     0,     0,    38,    39,     0,
    2579        0,  -293,     2,   206,     4,     5,     6,     7,     8,     9,
    2580       10,    11,    12,    13,    14,    15,    16,    17,    18,    19,
    2581       20,    21,    22,    23,    24,    25,     0,     0,    26,    27,
    2582       28,     0,     0,     0,    44,     0,     0,    31,     0,     0,
    2583       45,    46,     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,
    25842537       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2585        0,     0,     0,     0,     0,    34,     0,    35,     0,    36,
    2586       37,     0,   207,    39,    40,     0,     0,     0,     0,     0,
    2587        0,    41,    42,     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,
    25882540       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2589        0,     0,     0,     0,     0,     0,     0,    43,     0,   208,
    2590        0,     0,     0,     0,     0,    45,    46,     2,   206,     4,
     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,
     2544       6,     7,     8,     9,    10,    11,    12,    13,    14,    15,
     2545      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,
     2548      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,
    25912570       5,     6,     7,     8,     9,    10,    11,    12,    13,    14,
    25922571      15,    16,    17,    18,    19,    20,    21,    22,    23,    24,
    25932572      25,     0,     0,    26,    27,    28,     0,     0,     0,     0,
    2594        0,     0,    31,     0,     0,     0,     0,     8,     9,    10,
    2595       11,    12,    13,    14,    15,    16,    17,    18,    19,    20,
    2596       21,    22,    23,    24,    25,     0,     0,    26,    27,    28,
    2597       34,     0,    35,     0,    36,     0,    31,    38,    39,     0,
    2598        2,   206,     4,     5,     6,     7,     8,     9,    10,    11,
    2599       12,    13,    14,    15,    16,    17,    18,    19,    20,    21,
    2600       22,    23,    24,    25,    34,     0,    26,    27,    28,     0,
    2601        0,    38,    39,  -400,   678,    31,     0,     0,     0,     0,
     2573       0,     0,    31,     0,   668,     0,     0,     0,     0,     0,
    26022574      45,    46,     0,     0,     0,     0,     0,     0,     0,     0,
    26032575       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2604        0,     0,     0,    34,     0,    35,   635,    36,   338,     0,
    2605       38,    39,     0,     0,    45,    46,     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,
    26062585       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2607        0,     0,  1351,     0,     0,     0,     0,     0,     0,     0,
    2608        0,     0,     0,     0,     0,     0,     0,   678,     0,     0,
    2609        0,     0,     0,    45,    46,     2,   206,     4,     5,     6,
    2610        7,     8,     9,    10,    11,    12,    13,    14,    15,    16,
     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,
    26112638      17,    18,    19,    20,    21,    22,    23,    24,    25,     0,
    26122639       0,    26,    27,    28,     0,     0,     0,     0,     0,     0,
    2613       31,     0,     0,     0,     8,     9,    10,    11,    12,    13,
    2614       14,    15,    16,    17,    18,    19,    20,    21,    22,    23,
    2615       24,    25,     0,     0,    26,    27,    28,     0,    34,     0,
    2616       35,     0,    36,    31,   685,    38,    39,     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,
    26172656       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2618        0,     0,     0,     0,     0,     0,     0,  1353,     0,     0,
    2619        0,    34,     0,     0,     0,     0,     0,     0,    38,    39,
    2620        0,     0,   678,     0,     0,     0,     0,     0,    45,    46,
    2621        2,   206,     4,     5,     6,     7,     8,     9,    10,    11,
    2622       12,    13,    14,    15,    16,    17,    18,    19,    20,    21,
    2623       22,    23,    24,    25,     0,   686,    26,    27,    28,   687,
    2624        0,    45,    46,     0,     0,    31,     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,
    26252675       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    26262676       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2627        0,     0,     0,    34,     0,    35,     0,    36,     0,     0,
    2628      207,    39,     0,     2,   206,     4,     5,     6,     7,     8,
    2629        9,    10,    11,    12,    13,    14,    15,    16,    17,    18,
    2630       19,    20,    21,    22,    23,    24,    25,     0,     0,    26,
    2631       27,    28,     0,     0,     0,     0,     0,   270,    31,     0,
    2632        0,     0,     0,    45,    46,     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,
    26332684       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2634        0,     0,     0,     0,     0,     0,    34,     0,    35,     0,
    2635       36,     0,     0,    38,    39,     0,     2,   206,     4,     5,
    2636        6,     7,     8,     9,    10,    11,    12,    13,    14,    15,
    2637       16,    17,    18,    19,    20,    21,    22,    23,    24,    25,
    2638        0,     0,    26,    27,    28,     0,     0,     0,     0,     0,
    2639      678,    31,     0,     0,     0,     0,    45,    46,     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,
    26402693       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2641        0,     0,     0,     0,     0,     0,     0,     0,     0,    34,
    2642        0,    35,     0,    36,     0,     0,    38,    39,     0,     2,
    2643      206,     4,     5,     6,     7,     8,     9,    10,    11,    12,
    2644       13,    14,    15,    16,    17,    18,    19,    20,    21,    22,
    2645       23,    24,    25,     0,     0,    26,    27,    28,     0,     0,
    2646        0,     0,     0,   593,    31,     0,     0,     0,     0,    45,
    2647       46,     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,
    26482707       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2649        0,     0,    34,     0,    35,     0,    36,     0,     0,   207,
    2650       39,     8,     9,    10,    11,    12,    13,    14,    15,    16,
    2651       17,    18,    19,    20,    21,    22,    23,    24,    25,     0,
    2652        0,    26,    27,    28,     0,     0,     0,     0,   282,   283,
    2653       31,   284,     0,     0,     0,     0,   208,     0,     0,     0,
    2654        0,     0,    45,    46,     0,     0,     0,     0,     0,     0,
    2655        0,     0,     0,     0,     0,     0,     0,   285,    34,     0,
    2656        0,     0,     0,   286,     0,    38,    39,   287,     0,     0,
    2657      288,   289,   290,   291,    41,    42,     0,   292,   293,     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,
    26582715       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    26592716       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2660      294,     0,   517,     0,     0,   171,     0,     0,    45,    46,
    2661      296,   297,   298,   299,     8,     9,    10,    11,    12,    13,
    2662       14,    15,    16,    17,    18,    19,    20,    21,    22,    23,
    2663       24,    25,     0,     0,    26,    27,    28,     0,     0,     0,
    2664        0,   282,   283,    31,   284,     8,     9,    10,    11,    12,
    2665       13,    14,    15,    16,    17,    18,    19,    20,    21,    22,
    2666       23,    24,    25,     0,     0,    26,    27,    28,     0,     0,
    2667      285,    34,     0,     0,    31,     0,   286,     0,    38,    39,
    2668      287,     0,     0,   288,   289,   290,   291,    41,    42,     0,
    2669      292,   293,     0,     0,     0,     0,     0,     0,     0,     0,
    2670        0,     0,    34,     0,     0,     0,     0,    37,     0,   336,
    2671      337,    40,     0,   294,   -36,   295,     0,     0,    41,    42,
    2672        0,    45,    46,   296,   297,   298,   299,     8,     9,    10,
    2673       11,    12,    13,    14,    15,    16,    17,    18,    19,    20,
    2674       21,    22,    23,    24,    25,     0,   338,    26,    27,    28,
    2675        0,     0,    45,    46,   282,   283,    31,   284,     8,     9,
    2676       10,    11,    12,    13,    14,    15,    16,    17,    18,    19,
    2677       20,    21,    22,    23,    24,    25,     0,     0,    26,    27,
    2678       28,     0,     0,   285,    34,     0,     0,    31,     0,   286,
    2679        0,    38,    39,   287,     0,     0,   288,   289,   290,   291,
    2680       41,    42,     0,   292,   293,     0,     0,     0,     0,     0,
    2681        0,     0,     0,     0,     0,    34,     0,     0,     0,     0,
    2682      110,     0,    38,    39,     0,     0,   294,     0,   295,     0,
    2683        0,    41,    42,     0,    45,    46,   296,   297,   298,   299,
    2684        8,     9,    10,    11,    12,    13,    14,    15,    16,    17,
    2685       18,    19,    20,    21,    22,    23,    24,    25,     0,    44,
    2686       26,    27,    28,     0,     0,    45,    46,   282,   283,    31,
    2687      284,     8,     9,    10,    11,    12,    13,    14,    15,    16,
    2688       17,    18,    19,    20,    21,    22,    23,    24,    25,     0,
    2689        0,    26,    27,    28,     0,     0,   285,    34,     0,     0,
    2690       31,   685,   286,     0,    38,    39,   287,     0,     0,   288,
    2691      289,   290,   291,    41,    42,     0,   292,   293,     0,     0,
    2692        0,     0,     0,     0,     0,     0,     0,     0,    34,     0,
    2693        0,     0,     0,     0,     0,    38,    39,     0,     0,   294,
    2694        0,   157,     0,     0,     0,     0,     0,    45,    46,   296,
    2695      297,   298,   299,     8,     9,    10,    11,    12,    13,    14,
    2696       15,    16,    17,    18,    19,    20,    21,    22,    23,    24,
    2697       25,     0,   686,    26,    27,    28,  1092,     0,    45,    46,
    2698      282,   283,    31,   284,     8,     9,    10,    11,    12,    13,
    2699       14,    15,    16,    17,    18,    19,    20,    21,    22,    23,
    2700       24,    25,     0,     0,    26,    27,    28,     0,     0,   285,
    2701       34,     0,     0,    31,   685,   286,     0,    38,    39,   287,
    2702        0,     0,   288,   289,   290,   291,    41,    42,     0,   292,
    2703      293,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2704        0,    34,     0,     0,     0,     0,     0,     0,    38,    39,
    2705        0,     0,   294,     0,   593,     0,     0,     0,     0,     0,
    2706       45,    46,   296,   297,   298,   299,     8,     9,    10,    11,
    2707       12,    13,    14,    15,    16,    17,    18,    19,    20,    21,
    2708       22,    23,    24,    25,     0,   686,    26,    27,    28,  1221,
    2709        0,    45,    46,   282,   283,    31,   284,     0,     0,     0,
    2710        0,     0,     0,     0,     8,     9,    10,    11,    12,    13,
    2711       14,    15,    16,    17,    18,    19,    20,    21,    22,    23,
    2712       24,    25,   285,    34,    26,    27,    28,     0,   286,     0,
    2713       38,    39,   287,    31,     0,   288,   289,   290,   291,    41,
    2714       42,     0,   292,   293,     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,
    27152725       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2716        0,    34,     0,     0,     0,   294,     0,   379,    38,    39,
    2717        0,     0,     0,    45,    46,   296,   297,   298,   299,   467,
    2718        2,   206,     4,     5,     6,     7,     8,     9,    10,    11,
    2719       12,    13,    14,    15,    16,    17,    18,    19,    20,    21,
    2720       22,    23,    24,    25,     0,   257,    26,    27,    28,     0,
    2721        0,    45,    46,     0,     0,    31,     0,     0,     0,     8,
    2722        9,    10,    11,    12,    13,    14,    15,    16,    17,    18,
    2723       19,    20,    21,    22,    23,    24,    25,  -293,     0,    26,
    2724       27,    28,     0,    34,     0,    35,     0,    36,    31,     0,
    2725       38,    39,     0,     0,     0,     0,     0,     8,     9,    10,
    2726       11,    12,    13,    14,    15,    16,    17,    18,    19,    20,
    2727       21,    22,    23,    24,    25,     0,    34,    26,    27,    28,
    2728        0,    37,     0,   336,   337,    40,    31,  -293,     0,     0,
    2729       -3,     0,    41,    42,     0,     8,     9,    10,    11,    12,
    2730       13,    14,    15,    16,    17,    18,    19,    20,    21,    22,
    2731       23,    24,    25,  -293,    34,    26,    27,    28,     0,    37,
    2732      338,   336,   337,    40,    31,     0,    45,    46,     0,     0,
    2733       41,    42,     0,     8,     9,    10,    11,    12,    13,    14,
    2734       15,    16,    17,    18,    19,    20,    21,    22,    23,    24,
    2735       25,     0,    34,    26,    27,    28,   635,     0,   338,    38,
    2736       39,     0,    31,  -293,    45,    46,     8,     9,    10,    11,
    2737       12,    13,    14,    15,    16,    17,    18,    19,    20,    21,
    2738       22,    23,    24,    25,     0,     0,    26,    27,    28,     0,
    2739       34,     0,     0,     0,     0,    31,   338,    38,    39,     0,
    2740        0,     0,    45,    46,     8,     9,    10,    11,    12,    13,
    2741       14,    15,    16,    17,    18,    19,    20,    21,    22,    23,
    2742       24,    25,     0,    34,    26,    27,    28,     0,     0,     0,
    2743      207,    39,     0,    31,   157,     0,     0,     0,     0,     0,
    2744       45,    46,     8,     9,    10,    11,    12,    13,    14,    15,
    2745       16,    17,    18,    19,    20,    21,    22,    23,    24,    25,
    2746        0,    34,    26,    27,    28,     0,     0,   270,    38,    39,
    2747        0,    31,     0,    45,    46,     8,     9,    10,    11,    12,
    2748       13,    14,    15,    16,    17,    18,    19,    20,    21,    22,
    2749       23,    24,    25,     0,     0,    26,    27,    28,     0,    34,
    2750        0,     0,     0,     0,    31,   338,    38,    39,     0,     0,
    2751        0,    45,    46,     8,     9,    10,    11,    12,    13,    14,
    2752       15,    16,    17,    18,    19,    20,    21,    22,    23,    24,
    2753       25,     0,    34,    26,    27,    28,     0,     0,     0,    38,
    2754       39,     0,    31,   686,     0,     0,     0,     0,     0,    45,
    2755       46,     8,     9,    10,    11,    12,    13,    14,    15,    16,
    2756       17,    18,    19,    20,    21,    22,    23,    24,    25,     0,
    2757       34,    26,    27,    28,     0,     0,   593,    38,    39,     0,
    2758       31,     0,    45,    46,     2,   206,     4,     5,     6,     7,
    2759        8,     9,    10,    11,    12,    13,    14,    15,    16,    17,
    2760       18,    19,    20,    21,    22,    23,    24,    25,    34,     0,
    2761       26,    27,    28,     0,    44,   207,    39,     0,     0,    31,
    2762       45,    46,     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,
    27632731       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2764        0,     0,     0,     0,     0,     0,     0,    34,     0,    35,
    2765        0,    36,     0,     0,    38,    39,     0,     0,    45,    46,
    2766      282,   283,     0,   284,  1042,     0,  1043,     0,     0,  1044,
    2767     1045,  1046,  1047,  1048,  1049,  1050,  1051,     0,     0,  1525,
    2768     1052,     0,     0,     0,  1053,  1054,     0,    33,     0,   285,
    2769     -413,     0,     0,     0,     0,  1055,     0,     0,     0,   287,
    2770        0,     0,   288,   289,   290,   291,    41,    42,     0,   292,
    2771      293,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2772        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2773        0,     0,   294,     0,   379,     0,     0,   171,     0,     0,
    2774       45,    46,   296,   297,   298,   299,     0,     0,   282,   283,
    2775     1057,   284,  1042,     0,  1043,  -128,     0,  1044,  1045,  1046,
    2776     1047,  1048,  1049,  1050,  1051,     0,     0,     0,  1052,     0,
    2777        0,     0,  1053,  1054,     0,    33,     0,   285,     0,     0,
    2778        0,     0,     0,  1055,     0,     0,     0,   287,     0,     0,
    2779      288,   289,   290,   291,    41,    42,     0,   292,   293,     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,
    27802783       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    27812784       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2782      294,     0,   379,     0,     0,   171,     0,     0,    45,    46,
    2783      296,   297,   298,   299,     0,     0,     0,     0,  1057,     0,
    2784        0,     0,     0,  -128,     2,   206,     4,     5,     6,     7,
    2785        8,     9,    10,    11,    12,    13,    14,    15,    16,    17,
    2786       18,    19,    20,    21,    22,    23,    24,    25,     0,     0,
    2787       26,    27,    28,     0,     0,     0,     0,     0,     0,    31,
    2788        0,   282,   283,     0,   284,  1042,     0,  1043,  1399,  1400,
    2789     1044,  1045,  1046,  1047,  1048,  1049,  1050,  1051,     0,     0,
    2790     1525,  1052,     0,     0,     0,  1053,  1054,    34,    33,    35,
    2791      285,    36,     0,     0,    38,    39,  1055,     0,     0,     0,
    2792      287,     0,     0,   288,   289,   290,   291,    41,    42,     0,
    2793      292,   293,     0,     0,     0,     0,  1312,     0,     0,     0,
    2794        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2795        0,     0,     0,   294,     0,   379,     0,     0,   171,     0,
    2796        0,    45,    46,   296,   297,   298,   299,     0,     0,   282,
    2797      283,  1057,   284,  1042,     0,  1043,  1399,  1400,  1044,  1045,
    2798     1046,  1047,  1048,  1049,  1050,  1051,     0,     0,     0,  1052,
    2799        0,     0,     0,  1053,  1054,     0,    33,     0,   285,     0,
    2800        0,     0,     0,     0,  1055,     0,     0,     0,   287,     0,
    2801        0,   288,   289,   290,   291,    41,    42,     0,   292,   293,
    2802        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2803        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2804        0,   294,     0,   379,     0,     0,   171,     0,     0,    45,
    2805       46,   296,   297,   298,   299,     0,     0,   282,   283,  1057,
    2806      284,  1042,     0,  1043,     0,     0,  1044,  1045,  1046,  1047,
    2807     1048,  1049,  1050,  1051,     0,     0,     0,  1052,     0,     0,
    2808        0,  1053,  1054,     0,    33,     0,   285,     0,     0,     0,
    2809        0,     0,  1055,     0,     0,     0,   287,     0,     0,   288,
    2810      289,   290,   291,    41,    42,     0,   292,   293,     0,     0,
    2811        0,     0,     0,     0,   282,   283,     0,   284,     0,     0,
    2812        0,     0,     0,     0,     0,     0,     0,     0,     0,   294,
    2813        0,   379,     0,     0,   171,     0,     0,    45,    46,   296,
    2814      297,   298,   299,   285,     0,     0,     0,  1057,     0,   286,
    2815        0,     0,     0,   287,     0,     0,   288,   289,   290,   291,
    2816       41,    42,     0,   292,   293,     0,     0,     0,     0,     0,
    2817        0,   282,   283,     0,   284,     0,     0,     0,     0,     0,
    2818        0,     0,     0,     0,     0,     0,   294,     0,   379,     0,
    2819        0,   972,     0,     0,    45,    46,   296,   297,   298,   299,
    2820      285,     0,     0,     0,     0,     0,   286,     0,     0,     0,
    2821      287,     0,     0,   288,   289,   290,   291,    41,    42,     0,
    2822      292,   293,     0,     0,     0,     0,     0,     0,   282,   283,
    2823        0,   284,     0,     0,     0,     0,     0,     0,     0,     0,
    2824        0,     0,     0,   294,     0,   379,     0,   282,   283,     0,
    2825      284,    45,    46,   296,   297,   298,   299,   285,     0,     0,
    2826        0,     0,     0,   286,     0,     0,     0,   287,     0,     0,
    2827      288,   289,   290,   291,    41,    42,   285,   292,   293,     0,
    2828        0,     0,   286,     0,     0,     0,   287,     0,     0,   288,
    2829      289,   290,   291,    41,    42,     0,   292,   293,     0,     0,
    2830      294,     0,   379,     0,   282,   283,     0,   284,   709,    46,
    2831      296,   297,   298,   299,     0,     0,     0,     0,     0,   294,
    2832        0,   379,     0,   282,   283,     0,   284,   344,    46,   296,
    2833      297,   298,   299,   285,     0,     0,     0,     0,     0,   286,
    2834        0,     0,     0,   287,     0,     0,   288,   289,   290,   291,
    2835       41,    42,   285,   292,   293,     0,     0,     0,   286,     0,
    2836        0,     0,   287,     0,     0,   288,   289,   290,   291,    41,
    2837       42,     0,   292,   293,     0,     0,   506,     0,     0,     0,
    2838      282,   283,     0,   284,    45,    46,   296,   297,   298,   299,
    2839        0,     0,     0,     0,     0,   294,     0,     0,     0,   282,
    2840      283,     0,   284,    45,    46,   296,   297,   298,   299,   285,
    2841        0,     0,     0,     0,     0,   286,     0,     0,     0,   287,
    2842        0,     0,   288,   289,   290,   291,    41,    42,   285,   292,
    2843      293,     0,     0,     0,   286,     0,     0,     0,   287,     0,
    2844        0,   288,   289,   290,   291,    41,    42,     0,   292,   293,
    2845        0,     0,   511,     0,     0,     0,     0,     0,     0,     0,
    2846       45,    46,   296,   297,   298,   299,     0,     0,     0,     0,
    2847        0,   514,     0,     0,     0,     0,     0,     0,     0,    45,
    2848       46,   296,   297,   298,   299,     2,   206,     4,     5,     6,
     2785       0,   295,     0,   376,     0,     0,     0,     0,     0,   342,
     2786      46,   297,   298,   299,   300,     2,   205,     4,     5,     6,
    28492787       7,     8,     9,    10,    11,    12,    13,    14,    15,    16,
    28502788      17,    18,    19,    20,    21,    22,    23,    24,    25,     0,
     
    28532791       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    28542792       0,     0,     0,     0,     0,     0,     0,     0,    34,     0,
    2855       35,     0,    36,    37,     0,   174,   175,    40,     0,     0,
    2856        0,     0,     0,     0,    41,    42,   205,     2,   206,     4,
    2857        5,     6,     7,     8,     9,    10,    11,    12,    13,    14,
    2858       15,    16,    17,    18,    19,    20,    21,    22,    23,    24,
    2859       25,     0,     0,    26,    27,    28,     0,     0,     0,     0,
    2860        0,     0,    31,     0,     0,     0,     0,     0,     0,     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,
    28612799       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    28622800       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2863       34,     0,    35,     0,    36,     0,     0,   207,    39,   467,
    2864        2,   206,     4,     5,     6,     7,     8,     9,    10,    11,
    2865       12,    13,    14,    15,    16,    17,    18,    19,    20,    21,
    2866       22,    23,    24,    25,     0,     0,    26,    27,    28,     0,
    2867        0,     0,     0,     0,     0,    31,     0,     0,     0,     0,
    2868        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2869        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2870        0,     0,     0,    34,     0,    35,     0,    36,     0,     0,
    2871       38,    39,     2,   206,     4,     5,     6,     7,     8,     9,
     2801       0,     0,    34,     0,    35,     0,    36,     0,     0,   206,
     2802      39,   463,     2,   205,     4,     5,     6,     7,     8,     9,
    28722803      10,    11,    12,    13,    14,    15,    16,    17,    18,    19,
    28732804      20,    21,    22,    23,    24,    25,     0,     0,    26,    27,
     
    28762807       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    28772808       0,     0,     0,     0,     0,    34,     0,    35,     0,    36,
    2878        0,     0,   207,    39
     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
    28792820};
    28802821
    28812822#define yypact_value_is_default(yystate) \
    2882   ((yystate) == (-1323))
     2823  ((yystate) == (-1333))
    28832824
    28842825#define yytable_value_is_error(yytable_value) \
     
    28872828static const yytype_int16 yycheck[] =
    28882829{
    2889        0,     1,   186,    43,   239,   185,   204,     0,    43,   219,
    2890       43,   116,   185,   521,   534,   185,     1,   875,   186,     0,
    2891        1,   185,   757,    51,   647,   603,   750,   185,     0,     1,
    2892      281,   621,    32,   750,  1041,     0,  1022,    43,   185,    32,
    2893      345,   185,   750,    43,   168,   169,   513,   349,   875,    49,
    2894      156,    32,   603,    32,     0,   693,    49,   349,   187,     0,
    2895       32,   572,    57,    63,   601,  1322,    66,    32,    43,    69,
    2896       63,     0,     1,    66,   696,    63,    69,  1399,   734,   492,
    2897        0,   109,   266,   496,    69,   265,    32,   601,    69,    39,
    2898       39,    32,   265,   490,    66,   265,   201,    69,   266,   601,
    2899       39,   265,    43,    32,   604,   105,   601,   265,    49,    49,
    2900      610,   106,    32,   113,   109,   418,   116,   117,   265,    82,
    2901       66,   265,    63,    63,    39,    66,    66,    39,    69,    69,
    2902      601,   984,   261,   262,   284,   438,    43,    66,    28,   601,
    2903       69,   105,    72,   446,   132,   185,   146,   147,  1470,   601,
    2904      185,    72,   185,    49,   147,   155,   156,   307,   308,   109,
    2905      160,   111,   111,  1420,    39,   787,    82,   160,    72,   364,
    2906      109,    39,   111,   368,  1021,  1022,    82,   482,    96,   185,
    2907      688,  1034,   906,  1116,   156,   185,   186,  1120,    78,   906,
    2908      156,   155,     0,   186,   110,   345,   488,   109,   906,   111,
    2909      410,   201,   132,    96,   122,   111,   147,   147,   605,   209,
    2910      185,   132,   609,   117,  1041,    64,   209,   113,   109,   160,
    2911      160,   221,   406,   218,    32,   265,   109,   110,   221,   122,
    2912      265,   381,   265,   630,   109,   256,   111,   634,   406,   239,
    2913     1226,   109,   864,   111,   185,   186,   186,   825,   719,   221,
    2914      146,   251,   987,   504,    57,    44,    45,   719,   251,   259,
    2915      109,   426,   427,   901,   264,   265,   266,   719,   209,   209,
    2916      251,   271,   251,   266,   825,   221,   813,   272,   185,   251,
    2917      221,   221,  1289,   794,   279,   907,   251,   109,   696,    85,
    2918     1276,   396,   221,  1502,   294,    49,   480,   636,   637,   813,
    2919      109,   603,   925,   106,  1453,   251,   109,   307,  1053,  1054,
    2920      251,   813,   480,   209,   653,   815,   621,   113,   813,   424,
    2921     1529,   626,   251,   323,   265,   430,   115,   433,   328,   494,
    2922      952,   251,    95,    44,    45,   328,   107,   112,  1487,   116,
    2923     1489,   341,   813,   239,   109,   345,   111,   109,   513,   349,
    2924      350,   813,   155,   348,  1212,   132,   934,     0,   110,   113,
    2925      131,   813,    44,    45,   364,   987,   129,  1473,   368,   131,
    2926      365,   371,   711,  1479,   369,   271,   116,   341,   130,   682,
    2927       72,    11,    74,    75,  1129,  1212,   228,   328,   328,    32,
    2928      130,    83,    84,  1499,  1050,   590,   396,   418,  1504,   114,
    2929      550,   551,   552,   114,   350,   247,   406,   371,   349,  1395,
    2930     1000,   307,   110,   406,   579,   218,  1038,   438,   116,   933,
    2931      526,   109,   114,   111,   424,   446,   426,   427,  1275,  1276,
    2932      430,   933,   114,   433,    72,  1442,   110,   632,   933,   110,
    2933       72,   746,  1449,   251,  1502,    83,    84,   110,   256,   345,
    2934      847,    83,    84,   116,   454,   209,   130,   119,   120,   130,
    2935      968,   433,  1289,   802,  1522,   406,   406,   433,   110,   272,
    2936      112,  1529,   472,   111,   116,   128,   279,   110,   131,   111,
    2937      480,   116,   482,   116,   484,   591,   737,   480,   488,   131,
    2938      132,   484,    70,  1500,   494,    73,  1118,   132,    76,   907,
    2939       78,    90,    91,   484,   688,  1128,   506,    85,   508,  1009,
    2940     1010,   511,   484,   513,   514,   982,   482,   271,   116,   484,
    2941      688,   521,  1100,   825,   648,   525,   526,   473,   657,   942,
    2942      426,   427,   130,   825,  1387,  1388,   125,   126,   484,   109,
    2943      294,   111,   939,   484,   952,   348,   110,   488,  1395,   116,
    2944      655,   116,   116,   307,   526,   484,  1178,  1179,    72,   116,
    2945      526,   525,   365,   130,   484,    72,   369,    74,    75,    83,
    2946       84,   571,   572,    88,    89,   132,    83,    84,  1086,   579,
    2947     1403,    72,     3,  1091,     4,     5,     6,     7,     8,     9,
    2948      590,   591,    83,    84,    72,   595,   116,   111,   494,     3,
    2949      905,   601,     1,   603,   111,    83,    84,   757,   251,   804,
    2950      418,   116,   132,   256,   809,  1442,     0,   513,   110,   591,
    2951      111,   621,  1449,     0,   116,   591,   626,   622,   628,   432,
    2952      438,   109,   632,  1289,   212,   635,   636,   637,   446,   111,
    2953      111,   113,   113,   638,   112,   109,   938,   111,   116,    69,
    2954      116,    71,   862,   653,   116,   655,   109,   652,   130,   130,
    2955      601,   682,   603,   635,   636,   637,   132,   109,   116,   111,
    2956      132,   591,   882,  1500,  1497,   116,   484,   623,   116,  1502,
    2957      116,   653,   131,   579,   132,   685,    72,   708,   688,   116,
    2958       76,   132,   116,   109,   132,  1000,   132,    83,    84,  1522,
    2959      454,   279,   897,    72,   810,   132,  1529,  1363,   132,   944,
    2960     1118,   711,   712,   713,    83,    84,   110,   109,   116,   719,
    2961      720,   116,   116,   109,   908,   621,   906,    92,    93,   110,
    2962      626,   117,   118,   906,   132,   116,   906,   132,   733,   711,
    2963      908,   109,   906,   110,   868,   745,   746,   688,   906,   116,
    2964      750,   751,   506,   699,   508,   109,   109,   511,   111,   906,
    2965      514,  1383,   906,   110,   117,   118,   294,   713,   112,   116,
    2966     1178,  1179,   116,   109,   352,   418,   354,  1399,   719,   720,
    2967      746,   745,  1506,   109,   112,   111,  1306,   590,   116,  1506,
    2968     1446,   109,  1448,   111,   794,   438,   109,   112,  1506,   117,
    2969      118,   116,   802,   446,   804,    72,   806,    74,    75,   809,
    2970      810,   110,   109,   813,   111,  1013,    83,    84,   110,   622,
    2971      117,   118,    72,   110,   116,   825,    76,   110,   112,   116,
    2972      802,   110,   116,    83,    84,   638,   110,   116,   810,   482,
    2973      110,   484,  1147,   112,   810,  1501,   116,  1469,  1470,   652,
    2974     1000,   115,   116,   252,    10,    11,    12,    13,    14,   109,
    2975      806,   111,   110,   111,   442,  1116,   109,   117,   118,  1120,
    2976     1121,   110,   813,   117,   682,   875,   110,   116,     3,   123,
    2977      124,   110,   116,    39,   825,    10,    11,    12,    13,    14,
    2978      810,  1041,    58,    59,   875,   110,   110,   897,   426,   427,
    2979      708,   116,  1086,   875,   904,   905,   906,  1091,   908,   110,
    2980      110,    67,  1036,   109,    39,    72,   116,   115,  1086,    76,
    2981      920,  1226,   109,  1091,   111,   109,    83,    84,  1123,   875,
    2982      733,   685,    64,   933,   934,   110,   115,   116,   938,   905,
    2983      904,   116,    67,   943,   944,    72,   875,    74,    75,    76,
    2984        0,     1,   109,    44,    45,   875,    83,    84,   943,   132,
    2985      117,   118,   943,   110,    66,   906,   109,   908,   968,   116,
    2986      109,   943,   111,   109,  1482,  1383,   553,   554,   506,    29,
    2987       30,   112,    32,   511,   132,  1236,   514,   506,   109,   508,
    2988      111,  1399,   511,    43,   911,   514,   913,   938,   114,    49,
    2989     1000,   555,   556,  1108,   114,   114,    72,    57,    74,    75,
    2990       76,   561,   562,    63,   943,   117,    66,    83,    84,    69,
    2991      132,  1021,  1022,  1531,   132,     4,     5,     6,     7,     8,
    2992        9,   109,    82,    83,   557,   558,   559,   560,    82,   682,
    2993      568,  1041,     4,     5,     6,     7,     8,     9,   944,  1021,
    2994     1022,    85,    86,    87,   109,  1021,   106,  1003,   160,   109,
    2995     1041,  1469,  1470,   109,   112,   708,   116,   875,   467,  1041,
    2996       82,    33,  1323,   118,   127,   109,  1327,   111,    94,   113,
    2997      114,  1081,   109,   110,   111,   128,  1086,   109,   110,   111,
    2998       69,  1091,    71,   131,   897,  1041,   111,   147,   109,   109,
    2999     1100,   110,   110,   746,  1000,   155,     3,    69,  1108,    71,
    3000      160,   112,  1041,    10,    11,    12,    13,    14,   112,   221,
    3001      112,  1041,   110,  1123,   109,   110,   111,   110,   110,   528,
    3002      110,   109,   110,   111,   533,   185,   186,    72,   109,    74,
    3003       75,    76,    39,   112,   111,  1086,   114,  1147,    83,    84,
    3004     1091,   201,   116,   132,   131,   733,   114,   259,   114,   209,
    3005      109,   112,   264,    58,    59,    60,   920,   110,   218,   110,
    3006       67,   221,   112,  1424,   109,   112,   111,   130,   228,   112,
    3007      112,  1147,   117,   118,   583,  1249,  1250,  1251,   130,  1189,
    3008     1190,   130,   116,   243,    29,   130,   110,   247,   110,   112,
    3009      115,   251,   252,   114,   112,  1190,   110,   116,  1208,  1190,
    3010      115,   109,  1212,   115,   110,   265,   266,  1189,  1190,   110,
    3011      130,   110,   272,   116,   110,   132,  1226,     3,   110,   279,
    3012     1230,  1212,   875,  1041,    10,    11,    12,    13,    14,   110,
    3013     1212,   116,   110,  1189,  1208,  1230,   110,   110,   350,  1230,
    3014      110,   110,   110,   110,     1,   654,   110,   656,  1230,   110,
    3015     1189,  1190,   905,    39,   110,   110,  1212,   110,    72,   110,
    3016       74,    75,    76,   115,  1379,  1275,  1276,    29,   328,    83,
    3017       84,  1516,   131,  1212,  1284,   110,   130,   116,   875,  1289,
    3018      112,    67,  1212,   112,   110,   110,   116,   110,   348,   349,
    3019      130,  1230,    49,  1275,  1276,   109,   109,   706,  1289,  1275,
    3020      116,   112,  1284,   117,   118,   365,   114,  1289,   110,   369,
    3021      110,   110,  1322,  1507,   112,   116,  1506,  1081,   110,   431,
    3022      380,   116,   116,  1506,    55,   110,  1506,  1322,  1284,  1507,
    3023      110,  1322,  1506,  1289,   112,   109,   396,  1531,  1506,   109,
    3024     1322,   109,   109,   109,   132,  1284,   406,   130,   105,  1506,
    3025     1289,   112,  1506,  1531,   110,   115,   113,   110,   110,  1289,
    3026      115,   473,   110,   128,   424,   115,    97,  1482,   114,  1379,
    3027      430,   112,   432,  1378,   132,   112,   116,   112,   110,    72,
    3028      110,    74,    75,  1322,   110,  1395,   110,   112,  1041,   146,
    3029       83,    84,   112,   112,  1212,  1208,   112,    72,   155,    74,
    3030       75,    76,   112,    72,   112,    74,    75,   467,    83,    84,
    3031     1420,    47,   472,  1395,    83,    84,   109,   132,   132,   132,
    3032      480,   114,   112,   132,   484,  1420,   132,   115,   488,  1420,
    3033      110,   491,  1442,   493,   109,   130,   115,   110,  1420,  1449,
    3034      109,  1451,   112,  1453,   115,   114,   112,  1044,   205,   112,
    3035      112,  1442,   209,   112,   110,   110,  1506,   109,  1449,   112,
    3036     1442,  1506,   193,  1506,   112,   109,   109,  1449,   528,    60,
    3037      110,  1289,  1482,   533,   132,   110,   114,  1487,   109,  1489,
    3038      112,  1420,   239,   595,   112,   216,  1442,   110,   112,   110,
    3039     1500,    96,    96,  1449,  1147,   226,  1506,  1507,   109,   109,
    3040      464,   115,   132,  1442,  1507,   130,  1516,   110,   110,  1500,
    3041     1449,   623,  1442,   110,   271,   110,   628,   274,  1500,  1449,
    3042      116,  1531,    42,   583,   132,   132,   110,   110,  1531,    66,
    3043      590,    96,    96,   132,   110,   110,   110,   294,    75,   132,
    3044      132,   601,   110,   603,  1500,   115,   112,   132,   115,   958,
    3045      307,   112,   109,   132,   110,  1506,    30,   115,   110,  1212,
    3046      132,  1500,   622,   294,   110,  1378,   110,   667,  1057,   563,
    3047     1500,   980,   978,  1226,   565,   984,  1212,  1365,   638,   564,
    3048      117,   464,   566,   643,   341,   567,  1470,   699,   345,  1541,
    3049     1299,  1327,   652,  1121,   654,   655,   656,  1072,  1449,   685,
    3050      685,   713,   913,   698,    66,  1091,   921,   364,    82,    83,
    3051     1516,   368,   583,   972,   371,  1212,   868,   723,   649,   940,
    3052       82,  1230,   484,   160,  1442,  1034,     0,     1,   688,   733,
    3053      571,  1449,   692,   571,   694,   571,  1289,    72,   698,    74,
    3054       75,    76,    -1,    -1,    -1,    -1,   706,    -1,    83,    84,
    3055       -1,    -1,    -1,  1191,  1192,   117,  1194,    -1,    32,   719,
    3056      720,    -1,    -1,  1201,    -1,  1203,    -1,    -1,    -1,   426,
    3057      427,    -1,    -1,   733,   109,    49,    -1,    10,    11,    12,
    3058       13,    14,  1500,    -1,   221,    -1,    -1,  1451,    -1,  1453,
    3059       -1,    -1,    -1,    -1,   806,    69,    -1,   454,   160,    -1,
    3060       85,    86,    87,    -1,    -1,    -1,    39,   671,  1305,    -1,
    3061      467,    -1,   443,    -1,    -1,    -1,    -1,    10,    11,    12,
    3062       13,    14,   259,  1487,   109,  1489,   111,   264,   113,   114,
    3063       -1,   105,    -1,    -1,    67,   492,    -1,   494,   469,   496,
    3064       -1,    -1,   279,    -1,    -1,    -1,    39,    -1,    -1,   506,
    3065       -1,   508,    -1,   813,   511,    -1,   513,   514,    -1,   221,
    3066     1357,    -1,    -1,  1360,    -1,   825,    -1,    -1,   525,   243,
    3067       -1,    -1,    -1,   147,    67,   506,   109,    -1,   111,    -1,
    3068      511,   155,   156,   514,   117,   118,    -1,    -1,   671,  1442,
    3069       -1,    -1,    -1,    -1,    -1,    -1,  1449,   259,    -1,    -1,
    3070       -1,    -1,   264,    -1,    -1,    -1,  1403,    -1,   868,    -1,
    3071       -1,  1408,   186,   350,   874,    -1,   109,    -1,   111,    -1,
    3072       -1,  1359,   579,    -1,   117,   118,   790,   201,    -1,    -1,
    3073      204,   205,    -1,   590,    -1,   209,   800,   897,    -1,  1436,
    3074     1249,  1250,  1251,    -1,    -1,    -1,   906,  1500,   908,    -1,
    3075      814,    -1,    -1,    -1,    -1,   915,   230,    -1,    -1,    -1,
    3076      234,    -1,   236,    -1,   621,    -1,    -1,    -1,    -1,   626,
    3077       -1,   245,    -1,    -1,    -1,   632,     0,   251,   938,    -1,
    3078       -1,    -1,   256,    -1,    -1,    -1,    -1,    -1,   350,    -1,
    3079       -1,  1003,   266,    -1,   431,    -1,    -1,    -1,   958,    -1,
    3080      274,    10,    11,    12,    13,    14,   380,   790,    32,    -1,
    3081       -1,   448,   972,    -1,    -1,    -1,    -1,   800,    -1,    -1,
    3082      980,    -1,    -1,  1520,   984,    -1,    -1,    -1,   685,  1526,
    3083       39,   814,    -1,    -1,    -1,    -1,   473,    -1,    -1,   670,
    3084     1537,    -1,   671,    -1,  1541,    69,    -1,    -1,   679,    -1,
    3085       -1,    -1,   683,    -1,    -1,    -1,    -1,    -1,    67,    -1,
    3086       -1,    72,    -1,    74,    75,    76,   723,   341,    -1,   431,
    3087       -1,   345,    83,    84,  1034,    -1,    -1,   351,  1387,  1388,
    3088       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   745,    -1,
    3089      364,    -1,    -1,    -1,   368,    -1,    -1,   371,   109,    -1,
    3090      109,    -1,   111,    -1,    -1,    -1,   117,   118,   117,   118,
    3091       -1,   473,  1072,    -1,    -1,    -1,  1425,   491,    -1,   493,
    3092       -1,    -1,    -1,    -1,    -1,    -1,  1086,    -1,    -1,    -1,
    3093       -1,  1091,   156,    97,    98,    99,   100,   101,   102,   103,
    3094      104,   105,   106,   107,   418,    -1,    -1,   804,  1108,    -1,
    3095       -1,    -1,   809,    -1,  1018,  1019,    -1,    -1,   595,   433,
    3096       -1,   790,    -1,    -1,   438,    -1,    -1,   131,    -1,    -1,
    3097       -1,   800,   446,    -1,  1483,    -1,    -1,  1189,    -1,    -1,
    3098       -1,    -1,    -1,  1492,    -1,   814,   623,    -1,    -1,    -1,
    3099      464,   628,    72,   467,    74,    75,    76,    -1,    -1,    -1,
    3100       -1,    -1,    -1,    83,    84,    -1,   230,    -1,   482,    -1,
    3101      484,    -1,  1076,  1077,    -1,    -1,    -1,    -1,   492,    -1,
    3102       -1,    -1,   496,    -1,    -1,  1185,    -1,   251,    -1,   109,
    3103       -1,   111,   256,   595,    -1,  1018,  1019,   117,   118,    -1,
    3104      897,    -1,    -1,    -1,    -1,    -1,    -1,   904,  1208,    -1,
    3105       -1,   525,   526,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3106       -1,   623,   699,   920,    -1,    -1,   628,    -1,   899,   643,
    3107       -1,    -1,  1284,     0,    -1,    -1,   713,    -1,    -1,    -1,
    3108       -1,    -1,    -1,    -1,    -1,   942,   943,   944,    -1,  1249,
    3109     1250,  1251,    -1,  1076,  1077,    -1,   733,    -1,   572,    72,
    3110       -1,    74,    75,    76,    -1,    32,    -1,    -1,    -1,    -1,
    3111       83,    84,    -1,    -1,    -1,    -1,   590,   591,   692,    -1,
    3112      694,    -1,    -1,    -1,   698,    -1,    -1,   351,    72,   603,
    3113       74,    75,    76,    -1,    -1,    -1,   109,   699,   111,    83,
    3114       84,    -1,    69,  1000,   117,   118,    -1,   621,    -1,    -1,
    3115       -1,   713,   626,    -1,    -1,    -1,    -1,    -1,   632,    -1,
    3116     1224,   635,   636,   637,    -1,   109,    -1,   111,    -1,   806,
    3117       -1,    -1,    -1,   117,   118,    -1,    -1,    -1,    -1,   653,
    3118       -1,    -1,    -1,    26,    27,    28,    -1,    -1,    -1,  1018,
    3119     1019,    -1,  1256,    -1,   418,    -1,    -1,   671,    -1,    -1,
    3120     1264,  1265,  1266,    -1,    -1,    -1,    -1,    -1,   682,   433,
    3121       -1,    -1,    -1,    -1,   438,    -1,    -1,    -1,  1378,  1379,
    3122       -1,  1052,   446,    -1,  1081,    -1,    -1,  1387,  1388,   156,
    3123       -1,    -1,    -1,    -1,   708,    -1,    -1,   711,    -1,    -1,
    3124      464,  1224,    -1,    -1,   806,    -1,   720,  1076,  1077,   723,
    3125       -1,    -1,    -1,    -1,    -1,    98,    -1,   100,   482,    -1,
    3126      484,    -1,    -1,    -1,  1328,  1425,  1123,    -1,    -1,    -1,
    3127       -1,   745,   746,  1256,    -1,    -1,    -1,   751,    -1,    -1,
    3128       -1,  1264,  1265,  1266,    -1,    -1,    -1,    -1,    -1,    -1,
    3129       -1,    -1,    -1,    -1,   868,    -1,    -1,    -1,    -1,    -1,
    3130      874,    -1,   526,    -1,    -1,    -1,    -1,    26,    27,    28,
    3131       -1,    -1,    -1,    -1,    -1,    -1,   790,    -1,    -1,    -1,
    3132       -1,    -1,  1482,  1483,   251,    -1,   800,    -1,   802,   256,
    3133      804,    -1,  1492,   807,    -1,   809,   810,    -1,   181,    -1,
    3134      814,   915,    -1,    -1,    -1,  1328,  1506,  1507,   191,   192,
    3135      824,  1208,    -1,   196,    -1,   198,   199,    -1,    -1,    -1,
    3136       -1,    -1,    -1,    -1,    -1,    -1,  1003,   591,    -1,    -1,
    3137       -1,  1531,    -1,  1230,    -1,    -1,    -1,    -1,    -1,    98,
    3138       -1,   100,    -1,    -1,    -1,     0,    -1,    -1,    -1,    -1,
    3139       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   972,    -1,
    3140       -1,   875,    -1,    -1,    -1,    -1,   125,    -1,    -1,    -1,
    3141       -1,   635,   636,   637,    -1,    -1,    -1,    32,    -1,    -1,
    3142       -1,    -1,    -1,   897,   351,    -1,    -1,  1256,    -1,   653,
    3143      904,   905,    -1,    -1,   908,  1264,  1265,  1266,    -1,    -1,
    3144       -1,  1003,    -1,    -1,    -1,    -1,    -1,   671,    -1,    -1,
    3145       -1,    -1,    -1,    -1,    69,    -1,    -1,    -1,   682,    -1,
    3146      934,    -1,   181,    -1,    -1,  1322,    -1,  1298,   942,   943,
    3147      189,    -1,   191,   192,    -1,    -1,    -1,   196,    -1,   198,
    3148      199,    -1,    -1,    -1,   708,    -1,    -1,   711,    -1,    -1,
    3149       -1,   418,    -1,    -1,    -1,    -1,    -1,    -1,  1072,  1328,
    3150       -1,    -1,    -1,    -1,    -1,    -1,   433,    -1,    -1,    -1,
    3151       -1,   438,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   446,
    3152       -1,    -1,   746,    -1,    -1,    -1,  1000,    10,    11,    12,
    3153       13,    14,    -1,    -1,    -1,    -1,    -1,   464,    -1,  1013,
    3154       -1,   156,    -1,    -1,  1018,  1019,    -1,  1021,  1022,   268,
    3155       -1,    -1,  1189,    -1,    -1,   482,    39,   484,    -1,    -1,
    3156       -1,    -1,    -1,  1420,    -1,    -1,   790,  1041,    -1,    -1,
    3157       -1,    -1,    -1,    -1,    -1,    -1,   800,    -1,   802,    -1,
    3158       -1,    -1,    -1,   807,    67,    -1,   810,    -1,    -1,    72,
    3159      814,    74,    75,    76,  1451,    -1,  1453,    -1,    -1,   526,
    3160       83,    84,  1076,  1077,    -1,    -1,    -1,    -1,    -1,    -1,
    3161       -1,  1185,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  1450,
    3162       -1,  1452,    -1,    -1,    -1,    -1,   109,  1189,   111,    -1,
    3163     1487,    -1,  1489,    -1,   117,   118,   251,    -1,    -1,    -1,
    3164       -1,   256,    -1,    -1,    -1,    -1,    -1,  1284,    -1,  1123,
    3165       -1,   875,    -1,    -1,    -1,  1486,    -1,  1488,    -1,  1516,
    3166       -1,    -1,    -1,    -1,   591,    -1,    -1,    -1,    -1,    -1,
    3167       -1,    -1,    -1,  1147,    -1,    -1,    -1,    -1,    -1,     0,
    3168       -1,   905,    -1,    -1,    -1,    -1,    -1,   189,    -1,    -1,
    3169       -1,    -1,    -1,    -1,   196,    -1,    -1,    -1,    -1,  1530,
    3170       -1,  1532,    -1,    -1,    -1,    -1,    -1,    -1,   635,   636,
    3171      637,    32,    -1,    -1,  1545,  1546,  1190,    -1,    -1,    -1,
    3172       -1,    -1,  1284,    -1,    -1,    -1,   653,    -1,    -1,    -1,
    3173       -1,    -1,   575,   576,  1208,    -1,   351,    -1,  1212,    -1,
    3174       -1,    -1,    -1,    -1,   671,    -1,    -1,    -1,    69,    -1,
    3175     1224,    -1,  1226,    -1,    -1,   682,  1230,    -1,    -1,    -1,
    3176       -1,   604,    -1,    -1,   607,   608,   268,   610,    -1,   612,
    3177      613,    -1,    -1,    -1,   617,   618,    -1,    -1,    -1,    -1,
    3178       -1,   708,  1256,    -1,   711,    -1,    -1,    -1,    -1,    -1,
    3179     1264,  1265,  1266,    -1,  1018,  1019,    -1,  1021,  1022,    -1,
    3180       -1,  1275,  1276,   418,    -1,    -1,    -1,    -1,    10,    11,
    3181       12,    13,    14,    -1,    -1,  1289,    -1,  1041,   433,   746,
    3182       -1,   323,    -1,   438,    -1,    -1,    -1,    -1,    -1,   331,
    3183       -1,   446,   334,    -1,    -1,   156,    -1,    39,    -1,    -1,
    3184       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  1322,   464,
    3185       -1,    -1,  1076,  1077,  1328,    -1,   575,   576,    -1,    -1,
    3186       -1,    -1,    -1,   790,    -1,    67,    -1,   482,    -1,   484,
    3187       72,    -1,    -1,   800,    76,   802,    -1,    -1,    -1,    -1,
    3188      807,    83,    84,   810,    -1,   604,    -1,   814,   607,   608,
    3189       -1,   610,    -1,   612,   613,    -1,   398,    -1,   617,   618,
    3190      402,    -1,    -1,    -1,    -1,    -1,    -1,   109,    -1,    -1,
    3191       -1,   526,   755,   756,    -1,   117,   118,    -1,    -1,    -1,
    3192       -1,  1395,    -1,  1147,    -1,    -1,    -1,    -1,    -1,    -1,
    3193      251,    -1,    -1,    -1,    -1,   256,    -1,    -1,    -1,    -1,
    3194       -1,    -1,    -1,    -1,    -1,    -1,  1420,    -1,   875,    -1,
     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,
    31953093      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3196       -1,    -1,    -1,    -1,    -1,    -1,  1190,    -1,  1442,    -1,
    3197       -1,    -1,    -1,    -1,    -1,  1449,   591,   479,   905,    -1,
    3198       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  1212,    -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,
    31993117      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3200     1224,    -1,  1226,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3201       -1,    -1,    -1,    -1,    10,    11,    12,    13,    14,    -1,
    3202      635,   636,   637,    -1,    -1,    -1,  1500,    -1,    -1,    -1,
    3203      351,    -1,  1256,  1507,    -1,    -1,   755,   756,   653,    -1,
    3204     1264,  1265,  1266,    39,    -1,    -1,    -1,    -1,    -1,    -1,
    3205       -1,  1275,  1276,    -1,    -1,    -1,   671,    -1,    -1,    -1,
    3206       -1,    -1,    -1,    -1,    -1,  1289,    -1,   682,    -1,   571,
    3207      572,    67,    -1,    -1,   917,    -1,    72,    -1,    74,    75,
    3208       76,    -1,    -1,    -1,    -1,    -1,    -1,    83,    84,    -1,
    3209       -1,  1018,  1019,   708,  1021,  1022,   711,   418,    -1,    -1,
    3210       -1,    -1,    -1,    -1,  1328,    -1,    -1,    -1,    -1,    -1,
    3211       -1,    -1,   433,   109,  1041,   111,    -1,   438,    -1,    -1,
    3212       -1,   117,   118,    -1,    -1,   446,    -1,    -1,    -1,    -1,
    3213       -1,   746,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3214       -1,    -1,    -1,   464,    -1,    -1,    -1,    -1,    -1,  1076,
    3215     1077,    -1,    -1,    -1,    -1,    -1,   658,    -1,    -1,    -1,
    3216      662,   482,    -1,   484,    -1,    -1,    -1,    -1,    -1,    -1,
    3217       -1,  1395,    -1,    -1,    -1,   790,    -1,    -1,    -1,    -1,
    3218       -1,    -1,    -1,    -1,    -1,   800,    -1,   802,    -1,    -1,
    3219       -1,    -1,   807,   912,    -1,   810,    -1,    -1,   917,   814,
    3220       -1,    -1,    -1,    -1,    -1,   526,    53,    -1,    55,    -1,
    3221       -1,    58,    59,    60,    -1,    62,    -1,    -1,  1442,    -1,
    3222     1147,    -1,    -1,    -1,    -1,  1449,    -1,    -1,    -1,    76,
    3223       -1,    -1,    -1,    -1,    -1,  1078,    -1,    -1,    -1,    -1,
    3224       -1,    88,    89,    -1,    10,    11,    12,    13,    14,    -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,
    32253212      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3226      875,    -1,    -1,  1190,    -1,    -1,    -1,    -1,    -1,    -1,
    3227      591,    -1,    -1,    39,    -1,    -1,  1500,    -1,    -1,    -1,
    3228       -1,    -1,    -1,    -1,    -1,  1212,    -1,    -1,    -1,    -1,
    3229      905,    -1,   794,    -1,    -1,    -1,    -1,  1224,    -1,  1226,
    3230       -1,    67,    -1,    -1,    -1,    -1,    72,    -1,    74,    75,
    3231       76,    -1,    -1,    -1,   635,   636,   637,    83,    84,    -1,
    3232       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  1256,
    3233       -1,    -1,   653,    -1,    -1,    -1,    -1,  1264,  1265,  1266,
    3234       -1,    -1,    -1,   109,    -1,   111,    -1,    -1,  1275,  1276,
    3235      671,   117,   118,    -1,    -1,   282,    -1,   284,   285,  1078,
    3236       -1,   682,  1289,    -1,  1207,   292,   293,    -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,
    32373243      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3238      307,   308,    -1,    -1,    -1,    -1,    -1,   708,    -1,    -1,
    3239      711,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3240       -1,  1328,    -1,  1018,  1019,    -1,  1021,  1022,    -1,    -1,
    3241      912,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   345,    -1,
    3242       -1,    -1,    -1,    -1,    -1,   746,  1041,    10,    11,    12,
    3243       13,    14,    15,    16,    17,    18,    19,    20,    21,    22,
    3244       23,    24,    25,    26,    27,    28,    -1,    30,    31,    32,
    3245       -1,    -1,    -1,    -1,   381,    -1,    39,    -1,    -1,    -1,
    3246       -1,  1076,  1077,    -1,    -1,    -1,    -1,    -1,  1395,   790,
    3247       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   800,
    3248       -1,   802,    -1,    -1,    67,    -1,   807,   989,  1207,   810,
    3249       -1,    74,    75,   814,    -1,    78,    -1,   344,    -1,   346,
    3250       -1,    -1,    -1,    -1,  1006,    -1,    -1,    -1,    -1,    -1,
    3251      357,   358,    -1,    -1,    -1,  1442,    -1,    -1,    -1,    -1,
    3252       37,    38,  1449,    40,    -1,    -1,   109,    -1,   111,    -1,
    3253       -1,    -1,  1147,    -1,   117,   118,    -1,    -1,    -1,    -1,
    3254       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    66,
    3255       -1,    -1,    -1,    -1,   875,    72,    -1,    -1,    -1,    76,
    3256       -1,    -1,    79,    80,    81,    82,    83,    84,    -1,    86,
    3257       87,    -1,    -1,  1500,    -1,  1190,    -1,    -1,    -1,    -1,
    3258       -1,    -1,  1084,    -1,   905,    -1,    -1,    -1,    -1,    -1,
    3259       -1,    -1,   109,    -1,   111,    -1,    -1,  1212,    -1,    -1,
    3260      117,   118,   119,   120,   121,   122,    -1,    -1,    -1,  1224,
    3261       -1,  1226,     7,   130,    -1,    10,    11,    12,    13,    14,
    3262       -1,    -1,  1124,   550,   551,   552,   553,   554,   555,   556,
    3263      557,   558,   559,   560,   561,   562,   563,   564,   565,   566,
    3264      567,  1256,    37,    38,    39,    40,    -1,    -1,    -1,  1264,
    3265     1265,  1266,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3266     1275,  1276,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3267       -1,    66,    67,    -1,  1289,    -1,    -1,    72,    -1,    -1,
    3268       -1,    76,    -1,    -1,    79,    80,    81,    82,    83,    84,
    3269       -1,    86,    87,    -1,    -1,    -1,    -1,  1018,  1019,    -1,
    3270     1021,  1022,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3271       -1,    -1,    -1,  1328,   109,    -1,   111,    -1,    -1,    -1,
    3272     1041,    -1,   117,   118,   119,   120,   121,   122,    -1,    -1,
    3273        3,     4,     5,     6,     7,     8,     9,    10,    11,    12,
    3274       13,    14,    15,    16,    17,    18,    19,    20,    21,    22,
    3275       23,    24,    25,    26,    27,  1076,  1077,    30,    31,    32,
    3276       33,    -1,    -1,    36,    37,    38,    39,    40,    -1,   696,
     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,
    32773252      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3278     1395,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3279       -1,    -1,    -1,    66,    67,    -1,    69,    -1,    71,    72,
    3280       -1,    74,    75,    76,    49,    -1,    79,    80,    81,    82,
    3281       83,    84,    -1,    86,    87,    -1,    -1,    -1,    -1,    -1,
    3282       -1,    66,    -1,    -1,    -1,    -1,  1147,  1442,    -1,    -1,
    3283      757,    -1,    -1,    -1,  1449,    -1,   109,    -1,   111,    -1,
    3284       -1,    -1,    -1,    -1,   117,   118,   119,   120,   121,   122,
    3285       -1,    -1,    -1,   700,    -1,   702,    -1,    -1,    -1,   132,
    3286      787,    -1,   709,   710,    -1,    -1,    -1,   714,   113,  1190,
    3287       -1,    -1,   117,    -1,    -1,    -1,    -1,    -1,    -1,   726,
    3288       -1,    -1,    -1,    -1,   731,  1500,    -1,    -1,    -1,    -1,
    3289       -1,  1212,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3290       -1,   146,    -1,  1224,    -1,  1226,    -1,    -1,    -1,    -1,
    3291       -1,   156,   759,    -1,    -1,   160,    -1,    -1,    -1,    -1,
    3292       -1,    -1,    -1,    -1,    -1,    -1,     7,    -1,    -1,    10,
    3293       11,    12,    13,    14,    -1,  1256,    -1,    -1,    -1,    -1,
    3294       -1,    -1,    -1,  1264,  1265,  1266,    -1,    -1,    -1,    -1,
    3295       -1,    -1,    -1,    -1,  1275,  1276,    37,    38,    39,    40,
    3296       -1,    -1,    -1,    -1,   209,    -1,    -1,    -1,  1289,    -1,
    3297       -1,    -1,    -1,    -1,    -1,    -1,   221,    -1,    -1,    -1,
    3298      907,    -1,    -1,    -1,    -1,    66,    67,    -1,    -1,    -1,
    3299       -1,    72,    -1,    -1,   239,    76,    -1,    -1,    79,    80,
    3300       81,    82,    83,    84,    -1,    86,    87,  1328,    -1,    -1,
    3301       -1,   858,   859,   860,   861,    -1,   863,    -1,    -1,   264,
    3302       -1,    -1,    -1,    -1,    -1,   952,   271,    -1,   109,    -1,
    3303      111,   878,    -1,    -1,    -1,    -1,   117,   118,   119,   120,
    3304      121,   122,    -1,    -1,    -1,   892,    -1,    -1,    -1,   294,
     3253      -1,    -1,    -1,    -1,   408,    -1,    -1,    -1,   569,   570,
     3254      -1,    -1,   416,    -1,    -1,    -1,    -1,   794,    -1,    -1,
    33053255      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3306      987,    -1,   307,    -1,    -1,    -1,    -1,    -1,    -1,    66,
    3307       -1,    -1,    -1,  1000,  1395,    -1,    -1,    -1,    75,    -1,
    3308       77,    -1,    79,    -1,    -1,   932,    -1,    -1,    -1,    86,
     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,
    33093267      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3310      345,    -1,    -1,    -1,    -1,   350,    -1,    -1,    -1,    -1,
    3311       -1,    -1,    -1,    -1,  1041,    -1,    -1,    -1,    -1,    -1,
    3312      117,  1442,   119,   120,   121,    -1,    -1,    -1,  1449,    -1,
    3313      977,    -1,    -1,    -1,    -1,    -1,   983,    -1,    -1,    -1,
    3314       -1,   988,    -1,    -1,    -1,    -1,   993,    -1,   995,    -1,
    3315       -1,    -1,   999,    -1,  1001,  1002,    -1,    -1,  1005,    -1,
    3316       -1,    -1,    -1,   160,    -1,    -1,    -1,  1014,    -1,    -1,
    3317       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  1500,
    3318       -1,   426,   427,    -1,    -1,  1032,  1033,    -1,   433,    -1,
    3319       -1,  1118,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3320       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   454,
    3321       -1,    -1,  1059,    -1,    -1,  1062,    -1,    -1,    -1,    -1,
    3322       -1,    -1,    -1,    -1,   221,    -1,   223,   224,   225,    -1,
    3323       -1,    -1,    -1,    -1,    -1,    -1,    -1,   482,    -1,    -1,
    3324       -1,    10,    11,    12,    13,    14,    -1,    -1,    -1,   494,
    3325       -1,  1178,  1179,    -1,    -1,    -1,    -1,    -1,  1105,    -1,
    3326       -1,   506,   259,   508,  1111,  1112,   511,   264,   513,   514,
    3327       39,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3328       -1,   526,   279,    -1,  1131,    -1,    -1,  1134,    -1,    -1,
    3329       -1,  1138,    -1,    -1,    -1,    -1,    -1,    -1,    67,    -1,
    3330       -1,    -1,    -1,    72,  1151,    74,    75,    76,    -1,    -1,
    3331       -1,    -1,    -1,    -1,    83,    84,    -1,  1164,    -1,  1166,
    3332     1167,  1168,  1169,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3333       -1,   328,    -1,    -1,   579,  1182,    -1,  1184,    -1,    -1,
    3334      109,  1188,    -1,    -1,    -1,    -1,   591,    -1,   117,   118,
    3335      595,    -1,    -1,   350,    -1,    -1,    -1,    -1,   355,   356,
    3336       -1,    -1,    -1,    -1,    -1,    -1,   363,    -1,    -1,    -1,
    3337     1217,  1218,    -1,    -1,    -1,    -1,   621,    -1,    -1,    -1,
    3338       -1,   626,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3339      635,   636,   637,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3340       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   653,   406,
     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,
    33413343      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3342     1267,  1268,    -1,    -1,    -1,    -1,    -1,   424,    -1,    -1,
    3343     1277,    -1,   429,    -1,   431,    -1,    -1,    -1,    -1,    -1,
    3344      685,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3345       -1,   448,    -1,    -1,   451,   452,  1383,    -1,    -1,    -1,
    3346       -1,    -1,   459,    -1,    -1,    -1,   711,    -1,   713,    -1,
    3347       -1,    -1,  1399,    -1,    -1,    -1,   473,    -1,    -1,    -1,
    3348       -1,    -1,    -1,   480,    -1,    -1,    -1,    -1,    -1,    -1,
    3349       -1,  1338,    -1,  1340,  1341,  1342,    -1,    -1,    -1,    -1,
    3350       -1,   746,    -1,    -1,    -1,  1352,    44,    -1,    -1,    -1,
    3351       -1,    -1,    -1,    -1,  1361,    10,    11,    12,    13,    14,
     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,
    33523363      15,    16,    17,    18,    19,    20,    21,    22,    23,    24,
    3353       25,    26,    27,    -1,    -1,    30,    31,    32,    -1,  1386,
    3354       -1,    -1,  1469,  1470,    39,    -1,    -1,    10,    11,    12,
    3355       13,    14,    -1,    91,    -1,    -1,    -1,   802,    -1,    -1,
    3356       -1,   806,    -1,   101,    -1,   810,    -1,    -1,    -1,    -1,
    3357       -1,    -1,    67,    -1,    -1,    -1,    39,    72,    -1,    74,
    3358       75,    76,  1429,  1430,    -1,    -1,    -1,    -1,    83,    84,
    3359       -1,    -1,    -1,    -1,    -1,  1442,    -1,    -1,   595,    -1,
    3360       -1,    -1,  1449,    -1,    67,    -1,    -1,    -1,    -1,    72,
    3361       -1,    74,    75,    76,   109,    -1,   111,    -1,    -1,   157,
    3362       83,    84,   117,   118,    -1,    -1,   623,    -1,    -1,    -1,
    3363       -1,   628,    -1,   171,  1481,    -1,    -1,    -1,  1485,    -1,
    3364       -1,    -1,    -1,    -1,    -1,    -1,   109,    -1,    -1,    -1,
    3365       -1,    -1,    -1,    -1,   117,   118,   194,    -1,    -1,    -1,
    3366      905,    -1,    -1,    -1,    -1,    -1,  1513,    -1,  1515,    -1,
    3367      208,    -1,    -1,    -1,    -1,   920,    -1,    -1,    -1,   217,
    3368       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   227,
    3369       -1,    -1,    -1,    -1,    -1,    -1,  1543,  1544,    -1,   944,
    3370       -1,    -1,   699,    -1,  1551,  1552,    -1,    -1,    -1,    -1,
    3371       -1,    -1,    -1,    -1,   252,    -1,   713,    -1,    -1,   257,
    3372       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3373       -1,    -1,   270,    -1,    -1,    -1,   733,    -1,   276,    -1,
    3374      278,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3375       -1,    -1,    -1,    -1,    -1,  1000,    -1,   295,    10,    11,
    3376       12,    13,    14,    15,    16,    17,    18,    19,    20,    21,
    3377       22,    23,    24,    25,    26,    27,  1021,  1022,    30,    31,
    3378       32,    -1,    -1,    -1,    -1,    -1,    -1,    39,    -1,    -1,
    3379       -1,    -1,    -1,    -1,    -1,    -1,    -1,   794,    -1,    -1,
    3380      338,    -1,    -1,    -1,    -1,   343,    -1,    -1,    -1,   806,
    3381       -1,    -1,    -1,    -1,    -1,    67,    -1,    -1,    -1,    -1,
    3382       72,    -1,    74,    75,    76,    -1,    -1,    -1,   825,    -1,
    3383       -1,    83,    84,    -1,   372,    -1,  1081,    -1,   376,   377,
    3384       -1,   379,    -1,    -1,    -1,    -1,    -1,    -1,   386,   387,
    3385       -1,   389,   390,    -1,   392,    -1,   394,   109,    -1,   111,
    3386       -1,    -1,    -1,    -1,    -1,   117,   118,    -1,    -1,    -1,
    3387       -1,    -1,    -1,   411,    -1,    -1,    -1,    -1,    -1,    -1,
    3388       -1,   419,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   155,
    3389      156,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3390       -1,    -1,  1147,    -1,    -1,    -1,   444,    -1,    -1,    -1,
    3391       -1,    -1,    -1,    -1,    -1,    -1,    10,    11,    12,    13,
    3392       14,    -1,    -1,   189,    -1,    -1,    -1,    -1,    -1,    -1,
    3393      196,    -1,   470,    -1,    -1,    -1,    -1,    -1,   476,    -1,
    3394       -1,   938,    -1,   481,  1189,    39,    10,    11,    12,    13,
    3395       14,    15,    16,    17,    18,    19,    20,    21,    22,    23,
    3396       24,    25,    26,    27,    28,    -1,    30,    31,    32,    -1,
    3397       -1,   968,    -1,    67,    -1,    39,    -1,    -1,    72,   517,
    3398       -1,  1226,    76,    -1,    -1,    -1,    -1,    -1,    -1,    83,
    3399       84,    -1,    -1,    -1,   532,    -1,    -1,    -1,    -1,    -1,
    3400       -1,    -1,   268,    67,    -1,    -1,  1003,    -1,    72,    -1,
    3401       74,    75,    76,    -1,    78,   109,    -1,  1014,    -1,    83,
    3402       84,    -1,    -1,   117,   118,    -1,    -1,    -1,    -1,    -1,
    3403     1275,  1276,    -1,   571,    -1,    -1,    -1,    -1,    -1,  1284,
    3404       -1,    -1,   580,    -1,    -1,   109,    -1,   111,   146,   587,
    3405       -1,    -1,    -1,   117,   118,   593,    -1,   323,   156,    -1,
    3406       -1,    -1,    -1,    -1,   602,   331,   332,    -1,   334,   335,
    3407      168,   169,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   345,
    3408       -1,    -1,    -1,   349,    -1,    -1,    -1,    -1,    -1,  1086,
    3409       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3410       -1,    -1,   368,  1100,   642,   371,     3,     4,     5,     6,
    3411        7,     8,     9,    10,    11,    12,    13,    14,    15,    16,
    3412       17,    18,    19,    20,    21,    22,    23,    24,    25,    26,
    3413       27,    -1,   398,    30,    31,    32,   402,    -1,    -1,    -1,
    3414      678,   239,    39,    -1,    -1,    -1,    -1,    -1,   686,    -1,
    3415     1395,    -1,    37,    38,    -1,    40,    -1,    -1,    -1,    -1,
    3416       -1,    -1,    -1,    -1,    -1,   263,    -1,   433,    -1,    -1,
    3417       67,    -1,    69,    -1,    71,    -1,    -1,    74,    75,   717,
    3418       -1,    66,    -1,    -1,    -1,    -1,    -1,    72,    -1,   727,
    3419      728,    76,  1189,    -1,    79,    80,    81,    82,    83,    84,
    3420       -1,    86,    87,    -1,    -1,    -1,  1451,    -1,  1453,    -1,
    3421       -1,    -1,    -1,   479,   111,    -1,   482,    -1,    -1,    -1,
    3422      117,   118,   760,    -1,   109,    -1,   111,   765,    -1,   114,
    3423       -1,    -1,   117,   118,   119,   120,   121,   122,    -1,    -1,
    3424       -1,    -1,  1487,    -1,  1489,    -1,    -1,    -1,    -1,    -1,
    3425       -1,    -1,    -1,    -1,    -1,   521,    -1,    -1,    -1,   525,
    3426      526,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3427       -1,  1516,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3428       -1,    -1,   380,    -1,    -1,    -1,    -1,  1284,    -1,    -1,
    3429       -1,   829,    -1,    -1,    -1,    -1,    -1,    -1,   836,    -1,
    3430       -1,    -1,    -1,    -1,    -1,   571,   572,    -1,    -1,    -1,
    3431       -1,   849,    -1,   851,    -1,    -1,    -1,    -1,    -1,    -1,
    3432       -1,    -1,    -1,    -1,   590,   591,    -1,   865,    -1,    -1,
    3433       -1,    -1,    -1,   871,    -1,   601,    -1,   603,   604,    -1,
    3434       -1,    -1,    -1,    -1,   610,   883,    -1,    -1,   886,    -1,
    3435       -1,    -1,    -1,    -1,   620,   621,    -1,    -1,    -1,    -1,
    3436      626,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   635,
    3437      636,   637,    -1,    -1,    -1,    -1,   474,    -1,    -1,    -1,
    3438       -1,    -1,    -1,    -1,    -1,    -1,    -1,   653,    -1,    -1,
    3439       -1,    -1,   658,   659,    -1,    -1,   662,   663,    -1,    -1,
    3440       -1,    -1,    -1,   669,    -1,    -1,    -1,    -1,    -1,    -1,
    3441       -1,    -1,    -1,    -1,    -1,   513,    -1,    -1,    -1,    -1,
    3442       -1,    -1,   688,    -1,    -1,   963,    -1,    -1,   526,    -1,
    3443       -1,    -1,    -1,   531,    -1,    -1,   534,    -1,    -1,    -1,
    3444       -1,    -1,    -1,    -1,    -1,   711,   712,    -1,    -1,   547,
    3445       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3446      998,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3447       -1,   569,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   745,
    3448      746,   579,    -1,    -1,   750,   751,    -1,    -1,   586,    -1,
    3449       -1,    -1,    -1,   591,    -1,    -1,    -1,    -1,    -1,    -1,
    3450       10,    11,    12,    13,    14,    15,    16,    17,    18,    19,
    3451       20,    21,    22,    23,    24,    25,    26,    27,  1056,    -1,
    3452       30,    31,    32,    -1,  1062,    -1,    -1,    -1,   794,    39,
    3453       -1,    -1,    -1,    -1,  1531,    -1,   802,    -1,    -1,    -1,
    3454       -1,    -1,   640,   809,   810,    -1,    -1,   813,    -1,   815,
    3455      648,    -1,    -1,    -1,    -1,    -1,    -1,    67,  1096,   825,
    3456       -1,    -1,    72,  1101,    74,    75,    76,    -1,    -1,    -1,
    3457       -1,  1109,    -1,    83,    84,    -1,    10,    11,    12,    13,
    3458       14,    15,    16,    17,    18,    19,    20,    21,    22,    23,
    3459       24,    25,    26,    27,    28,    -1,    -1,    -1,    -1,   109,
    3460       -1,   111,    -1,    -1,  1142,    39,    -1,   117,   118,    -1,
    3461       -1,    -1,    -1,    -1,    -1,    -1,  1154,    -1,    -1,  1157,
    3462       -1,  1159,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3463       -1,   897,    -1,    67,    -1,  1173,  1174,    -1,   904,   905,
    3464      906,    -1,   908,    -1,    78,    -1,   912,    -1,   746,    -1,
    3465      748,    -1,    -1,    -1,    -1,    -1,    -1,  1195,    -1,    -1,
    3466      758,    -1,    -1,    -1,    -1,    -1,   764,   933,   934,    -1,
    3467       10,    11,    12,    13,    14,    15,    16,    17,    18,    19,
    3468       20,    21,    22,    23,    24,    25,    26,    27,    28,    -1,
    3469       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    39,
    3470       -1,    -1,   968,    -1,  1242,    -1,    -1,    -1,   806,   807,
    3471       -1,    -1,   810,    -1,    -1,    -1,    -1,    -1,    37,    38,
    3472       -1,    40,    -1,   989,   990,    -1,   824,    67,    -1,    -1,
    3473       -1,    -1,    -1,    -1,  1000,    -1,    -1,    -1,    78,    -1,
    3474     1006,  1007,    -1,  1009,  1010,  1011,    -1,    66,    -1,    -1,
    3475       -1,    -1,    -1,    72,    -1,  1021,  1022,    76,    -1,    -1,
    3476       79,    80,    81,    82,    83,    84,   864,    86,    87,    -1,
    3477      868,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  1317,
    3478       -1,  1319,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3479      109,    -1,   111,  1331,    -1,  1333,    -1,   116,   117,   118,
    3480      119,   120,   121,   122,    -1,    -1,    -1,   905,    -1,    -1,
    3481       -1,    -1,  1350,    -1,    -1,    -1,    -1,    -1,  1084,    -1,
    3482     1086,    -1,    -1,    -1,    -1,  1091,    -1,    -1,  1366,  1367,
    3483       -1,    -1,    -1,    -1,  1100,    -1,    -1,    -1,    -1,  1377,
    3484       -1,    -1,  1380,    -1,    -1,    -1,   944,    -1,    -1,    -1,
    3485       -1,    -1,    -1,    -1,    -1,    -1,    -1,  1123,  1124,  1125,
    3486       -1,    -1,    -1,  1401,    -1,    -1,    -1,    -1,    -1,    -1,
    3487       -1,    -1,  1410,    -1,   972,  1413,    -1,  1415,  1416,  1417,
    3488      978,  1147,    -1,    -1,   982,    37,    38,    -1,    40,    -1,
    3489       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3490       -1,    -1,    -1,    -1,    -1,  1003,    -1,    -1,    -1,    -1,
    3491       -1,    -1,    -1,    -1,    66,    -1,  1014,  1455,    -1,  1457,
    3492       72,  1459,    74,    75,    76,    -1,    -1,    79,    80,    81,
    3493       82,    83,    84,    -1,    86,    87,  1474,    -1,  1036,    -1,
    3494     1038,    -1,  1208,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3495       -1,    -1,    -1,    -1,    -1,  1053,  1054,   109,    -1,   111,
    3496     1226,   113,   114,    -1,    -1,   117,   118,   119,   120,   121,
    3497      122,    -1,    -1,    -1,    -1,    -1,  1074,    -1,    -1,    -1,
    3498       -1,    -1,    -1,    -1,     3,     4,     5,     6,     7,     8,
    3499        9,    10,    11,    12,    13,    14,    15,    16,    17,    18,
    3500       19,    20,    21,    22,    23,    24,    25,    26,    27,  1275,
    3501     1276,    30,    31,    32,    33,    -1,    -1,    36,    -1,    -1,
    3502       39,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3503       -1,  1129,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3504       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    67,  1147,
    3505       69,    -1,    71,    -1,    -1,    74,    75,    -1,    -1,    -1,
    3506       -1,    -1,    -1,    -1,  1162,  1163,    -1,     3,     4,     5,
     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,
    35073370       6,     7,     8,     9,    10,    11,    12,    13,    14,    15,
    35083371      16,    17,    18,    19,    20,    21,    22,    23,    24,    25,
    3509       26,    27,   111,    -1,    30,    31,    32,    33,   117,   118,
    3510       36,    37,    38,    39,    40,    41,    -1,    43,    -1,    -1,
    3511       46,    47,    48,    49,    50,    51,    52,    53,    -1,    -1,
    3512       -1,    57,    -1,    -1,    -1,    61,    62,    -1,    64,  1395,
    3513       66,    67,    -1,    69,    -1,    71,    72,    -1,    74,    75,
    3514       76,    -1,    -1,    79,    80,    81,    82,    83,    84,    -1,
    3515       86,    87,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3372      26,    27,    -1,   956,    30,    31,    32,    -1,   961,  1255,
     3373    1256,   964,    -1,    39,   119,   120,    -1,    -1,    -1,  1184,
    35163374      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3517       -1,    -1,    -1,   109,    -1,   111,    -1,    -1,   114,    -1,
    3518       -1,   117,   118,   119,   120,   121,   122,    -1,    -1,    -1,
    3519       -1,   127,    -1,    -1,    -1,    -1,   132,    -1,    -1,    -1,
    3520       -1,    -1,    -1,    -1,    -1,  1303,    -1,    -1,  1306,    -1,
    3521       -1,    -1,    -1,    -1,    -1,    -1,  1482,    -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,
     3383       8,     9,    10,    11,    12,    13,    14,    15,    16,    17,
     3384      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,
    35223408      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    35233409      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3524     1506,  1507,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3525       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3526       -1,    -1,    -1,    -1,    -1,  1531,     3,     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,    -1,    -1,    30,    31,    32,    33,    -1,    -1,    36,
    3530       37,    38,    39,    40,    10,    11,    12,    13,    14,    15,
    3531       16,    17,    18,    19,    20,    21,    22,    23,    24,    25,
    3532       26,    27,    -1,    -1,    30,    31,    32,    -1,    -1,    66,
    3533       67,    -1,    69,    39,    71,    72,    -1,    74,    75,    76,
    3534       -1,    -1,    79,    80,    81,    82,    83,    84,    -1,    86,
    3535       87,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3536       -1,    67,    -1,    -1,    -1,    -1,    72,    -1,    74,    75,
    3537       -1,    -1,   109,    -1,   111,    -1,    -1,    83,    84,    -1,
    3538      117,   118,   119,   120,   121,   122,     4,     5,     6,     7,
    3539        8,     9,    10,    11,    12,    13,    14,    15,    16,    17,
    3540       18,    19,    20,    21,    22,    23,    24,    25,    26,    27,
    3541       -1,    -1,    30,    31,    32,    -1,    -1,    -1,  1516,    37,
    3542       38,    39,    40,    10,    11,    12,    13,    14,    15,    16,
    3543       17,    18,    19,    20,    21,    22,    23,    24,    25,    26,
    3544       27,    -1,    -1,    30,    31,    32,    -1,    -1,    66,    67,
    3545       -1,    69,    39,    71,    72,    -1,    74,    75,    76,    -1,
    3546       -1,    79,    80,    81,    82,    83,    84,    -1,    86,    87,
    3547       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3548       67,    -1,    -1,    -1,    -1,    -1,    -1,    74,    75,    -1,
    3549       -1,   109,    -1,   111,    -1,    -1,    -1,    -1,   116,   117,
    3550      118,   119,   120,   121,   122,     4,     5,     6,     7,     8,
     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,
    35513413       9,    10,    11,    12,    13,    14,    15,    16,    17,    18,
    35523414      19,    20,    21,    22,    23,    24,    25,    26,    27,    -1,
    3553       -1,    30,    31,    32,    -1,    -1,    -1,    -1,    37,    38,
     3415      -1,    30,    31,    32,    33,    -1,    -1,    36,    37,    38,
    35543416      39,    40,    10,    11,    12,    13,    14,    15,    16,    17,
    35553417      18,    19,    20,    21,    22,    23,    24,    25,    26,    27,
    35563418      -1,    -1,    30,    31,    32,    -1,    -1,    66,    67,    -1,
    35573419      69,    39,    71,    72,    -1,    74,    75,    76,    -1,    -1,
    3558       79,    80,    81,    82,    83,    84,    -1,    86,    87,    -1,
    3559       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    67,
    3560       -1,    -1,    -1,    -1,    -1,    -1,    74,    75,    -1,    -1,
    3561      109,    -1,   111,    -1,    -1,    -1,    -1,   116,   117,   118,
    3562      119,   120,   121,   122,     4,     5,     6,     7,     8,     9,
    3563       10,    11,    12,    13,    14,    15,    16,    17,    18,    19,
    3564       20,    21,    22,    23,    24,    25,    26,    27,    -1,    -1,
    3565       30,    31,    32,    -1,    -1,    -1,    -1,    37,    38,    39,
    3566       40,    10,    11,    12,    13,    14,    15,    16,    17,    18,
    3567       19,    20,    21,    22,    23,    24,    25,    26,    27,    -1,
    3568       -1,    -1,    -1,    -1,    -1,    -1,    66,    67,    -1,    69,
    3569       39,    71,    72,    -1,    74,    75,    76,    -1,    -1,    79,
    3570       80,    81,    82,    83,    84,    -1,    86,    87,    -1,    -1,
    3571       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    67,    -1,
    3572       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   109,
    3573       -1,   111,    -1,    -1,    -1,    -1,   116,   117,   118,   119,
    3574      120,   121,   122,     4,     5,     6,     7,     8,     9,    10,
     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,
     3467      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3468      -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,
     3472      -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,
     3479      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3480      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3481      -1,    -1,    -1,    -1,    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,
     3484      -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,
    35753488      11,    12,    13,    14,    15,    16,    17,    18,    19,    20,
    35763489      21,    22,    23,    24,    25,    26,    27,    -1,    -1,    30,
     
    35803493      -1,    -1,    -1,    -1,    -1,    66,    67,    -1,    69,    -1,
    35813494      71,    72,    -1,    74,    75,    76,    -1,    -1,    79,    80,
    3582       81,    82,    83,    84,    -1,    86,    87,    -1,    -1,    -1,
    3583       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3584       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   109,    -1,
    3585      111,    -1,    -1,    -1,    -1,    -1,   117,   118,   119,   120,
    3586      121,   122,     4,     5,     6,     7,     8,     9,    10,    11,
    3587       12,    13,    14,    15,    16,    17,    18,    19,    20,    21,
    3588       22,    23,    24,    25,    26,    27,    -1,    -1,    30,    31,
    3589       32,    -1,    -1,    -1,    -1,    37,    38,    39,    40,    -1,
     3495      81,    82,    83,    84,    85,    86,    -1,    88,    89,    -1,
    35903496      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    35913497      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3592       -1,    -1,    -1,    -1,    66,    67,    -1,    69,    -1,    71,
    3593       72,    -1,    74,    75,    76,    -1,    -1,    79,    80,    81,
    3594       82,    83,    84,    -1,    86,    87,    -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,
     3501      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,
    35953504      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3596       -1,    -1,    -1,    -1,    -1,    -1,    -1,   109,    -1,   111,
    3597       -1,    -1,    -1,    -1,    -1,   117,   118,   119,   120,   121,
    3598      122,     4,     5,     6,     7,     8,     9,    10,    11,    12,
    3599       13,    14,    15,    16,    17,    18,    19,    20,    21,    22,
    3600       23,    24,    25,    26,    27,    -1,    -1,    30,    31,    32,
    3601       -1,    -1,    -1,    -1,    37,    38,    39,    40,    -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,
    36023520      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    36033521      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3604       -1,    -1,    -1,    66,    67,    -1,    69,    -1,    71,    72,
    3605       -1,    74,    75,    76,    -1,    -1,    79,    80,    81,    82,
    3606       83,    84,    -1,    86,    87,    -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,
    36073528      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3608       -1,    -1,    -1,    -1,    -1,    -1,   109,    -1,   111,    -1,
    3609       -1,    -1,    -1,    -1,   117,   118,   119,   120,   121,   122,
     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,
     3532      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3533      -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,
     3539      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3540      -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,
     3547      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3548      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3549      -1,    67,    -1,    69,    -1,    71,    -1,    -1,    74,    75,
    36103550       4,     5,     6,     7,     8,     9,    10,    11,    12,    13,
    36113551      14,    15,    16,    17,    18,    19,    20,    21,    22,    23,
    36123552      24,    25,    26,    27,    -1,    -1,    30,    31,    32,    -1,
    3613       -1,    -1,    -1,    37,    38,    39,    40,    -1,    -1,    -1,
     3553      -1,    -1,    -1,    -1,    -1,    39,    -1,   113,    -1,    -1,
     3554      -1,    -1,    -1,   119,   120,    -1,    -1,    -1,    -1,    -1,
    36143555      -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,
    36153559      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3616       -1,    -1,    66,    67,    -1,    69,    -1,    71,    72,    -1,
    3617       74,    75,    76,    -1,    -1,    79,    80,    81,    82,    83,
    3618       84,    -1,    86,    87,    -1,    -1,    -1,    -1,    -1,    -1,
    3619       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3620       -1,    -1,    -1,    -1,    -1,   109,    -1,   111,    -1,    -1,
    3621       -1,    -1,    -1,   117,   118,   119,   120,   121,   122,     0,
    3622       -1,    -1,     3,     4,     5,     6,     7,     8,     9,    10,
    3623       11,    12,    13,    14,    15,    16,    17,    18,    19,    20,
    3624       21,    22,    23,    24,    25,    26,    27,    -1,    -1,    30,
    3625       31,    32,    33,    -1,    -1,    36,    -1,    -1,    39,    40,
    3626       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3627       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3628       -1,    -1,    -1,    64,    -1,    -1,    67,    -1,    69,    -1,
    3629       71,    72,    -1,    74,    75,    76,    -1,    -1,    -1,    -1,
    3630       -1,    -1,    83,    84,    -1,    -1,    -1,    -1,    -1,    -1,
    3631       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3632       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   109,    -1,
    3633      111,    -1,    -1,    -1,    -1,    -1,   117,   118,     3,     4,
    3634        5,     6,     7,     8,     9,    10,    11,    12,    13,    14,
    3635       15,    16,    17,    18,    19,    20,    21,    22,    23,    24,
    3636       25,    26,    27,    -1,    -1,    30,    31,    32,    33,    -1,
    3637       -1,    36,    -1,    -1,    39,    40,    -1,    -1,    -1,    -1,
    3638       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3639       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    64,
    3640       -1,    -1,    67,    -1,    69,    -1,    71,    72,    -1,    74,
    3641       75,    76,    -1,    -1,    -1,    -1,    -1,    -1,    83,    84,
    3642       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3643       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3644       -1,    -1,    -1,    -1,   109,    -1,   111,    -1,    -1,    -1,
    3645      115,    -1,   117,   118,     3,     4,     5,     6,     7,     8,
    3646        9,    10,    11,    12,    13,    14,    15,    16,    17,    18,
    3647       19,    20,    21,    22,    23,    24,    25,    26,    27,    -1,
    3648       -1,    30,    31,    32,    33,    -1,    -1,    36,    -1,    -1,
    3649       39,    40,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3650       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3651       -1,    -1,    -1,    -1,    -1,    64,    -1,    -1,    67,    -1,
    3652       69,    -1,    71,    72,    -1,    74,    75,    76,    -1,    -1,
    3653       -1,    -1,    -1,    -1,    83,    84,    -1,    -1,    -1,    -1,
    3654       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3655       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3656      109,    -1,   111,    -1,    -1,    -1,    -1,    -1,   117,   118,
    3657        3,     4,     5,     6,     7,     8,     9,    10,    11,    12,
    3658       13,    14,    15,    16,    17,    18,    19,    20,    21,    22,
    3659       23,    24,    25,    26,    27,    -1,    -1,    30,    31,    32,
    3660       -1,    -1,    -1,    -1,    -1,    -1,    39,    -1,    10,    11,
    3661       12,    13,    14,    15,    16,    17,    18,    19,    20,    21,
    3662       22,    23,    24,    25,    26,    27,    -1,    -1,    30,    31,
    3663       32,    33,    34,    35,    67,    -1,    69,    39,    71,    72,
    3664       -1,    74,    75,    76,    -1,    -1,    -1,    -1,    -1,    -1,
    3665       83,    84,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3666       -1,    -1,    -1,    -1,    -1,    67,    -1,    -1,    -1,    -1,
    3667       -1,    -1,    74,    75,    -1,    -1,   109,    -1,   111,    -1,
    3668       -1,    -1,    -1,    -1,   117,   118,     3,     4,     5,     6,
     3560      -1,    -1,    -1,    -1,    -1,    -1,    -1,   111,    -1,   113,
     3561      -1,    -1,    -1,    -1,    -1,   119,   120,     4,     5,     6,
    36693562       7,     8,     9,    10,    11,    12,    13,    14,    15,    16,
    36703563      17,    18,    19,    20,    21,    22,    23,    24,    25,    26,
    3671       27,    28,    -1,    30,    31,    32,    33,    -1,    -1,    36,
     3564      27,    -1,    -1,    30,    31,    32,    -1,    -1,    -1,    -1,
    36723565      -1,    -1,    39,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    36733566      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    36743567      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3675       67,    -1,    69,    -1,    71,    -1,    -1,    74,    75,    -1,
    3676       -1,    78,     4,     5,     6,     7,     8,     9,    10,    11,
    3677       12,    13,    14,    15,    16,    17,    18,    19,    20,    21,
    3678       22,    23,    24,    25,    26,    27,    -1,    -1,    30,    31,
    3679       32,    -1,    -1,    -1,   111,    -1,    -1,    39,    -1,    -1,
    3680      117,   118,    -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,
    36813574      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3682       -1,    -1,    -1,    -1,    -1,    67,    -1,    69,    -1,    71,
    3683       72,    -1,    74,    75,    76,    -1,    -1,    -1,    -1,    -1,
    3684       -1,    83,    84,    -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,
    36853577      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3686       -1,    -1,    -1,    -1,    -1,    -1,    -1,   109,    -1,   111,
    3687       -1,    -1,    -1,    -1,    -1,   117,   118,     4,     5,     6,
     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,
     3588      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3589      -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,
     3596      -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,
    36883607       7,     8,     9,    10,    11,    12,    13,    14,    15,    16,
    36893608      17,    18,    19,    20,    21,    22,    23,    24,    25,    26,
    36903609      27,    -1,    -1,    30,    31,    32,    -1,    -1,    -1,    -1,
    3691       -1,    -1,    39,    -1,    -1,    -1,    -1,    10,    11,    12,
    3692       13,    14,    15,    16,    17,    18,    19,    20,    21,    22,
    3693       23,    24,    25,    26,    27,    -1,    -1,    30,    31,    32,
    3694       67,    -1,    69,    -1,    71,    -1,    39,    74,    75,    -1,
    3695        4,     5,     6,     7,     8,     9,    10,    11,    12,    13,
    3696       14,    15,    16,    17,    18,    19,    20,    21,    22,    23,
    3697       24,    25,    26,    27,    67,    -1,    30,    31,    32,    -1,
    3698       -1,    74,    75,   110,   111,    39,    -1,    -1,    -1,    -1,
    3699      117,   118,    -1,    -1,    -1,    -1,    -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,
    37003612      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3701       -1,    -1,    -1,    67,    -1,    69,   109,    71,   111,    -1,
    3702       74,    75,    -1,    -1,   117,   118,    -1,    -1,    -1,    -1,
    3703       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3704       -1,    -1,    96,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3705       -1,    -1,    -1,    -1,    -1,    -1,    -1,   111,    -1,    -1,
    3706       -1,    -1,    -1,   117,   118,     4,     5,     6,     7,     8,
    3707        9,    10,    11,    12,    13,    14,    15,    16,    17,    18,
    3708       19,    20,    21,    22,    23,    24,    25,    26,    27,    -1,
    3709       -1,    30,    31,    32,    -1,    -1,    -1,    -1,    -1,    -1,
    3710       39,    -1,    -1,    -1,    10,    11,    12,    13,    14,    15,
    3711       16,    17,    18,    19,    20,    21,    22,    23,    24,    25,
    3712       26,    27,    -1,    -1,    30,    31,    32,    -1,    67,    -1,
    3713       69,    -1,    71,    39,    40,    74,    75,    -1,    -1,    -1,
    3714       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3715       -1,    -1,    -1,    -1,    -1,    -1,    -1,    96,    -1,    -1,
    3716       -1,    67,    -1,    -1,    -1,    -1,    -1,    -1,    74,    75,
    3717       -1,    -1,   111,    -1,    -1,    -1,    -1,    -1,   117,   118,
    3718        4,     5,     6,     7,     8,     9,    10,    11,    12,    13,
    3719       14,    15,    16,    17,    18,    19,    20,    21,    22,    23,
    3720       24,    25,    26,    27,    -1,   111,    30,    31,    32,   115,
    3721       -1,   117,   118,    -1,    -1,    39,    -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,
    37223622      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    37233623      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3724       -1,    -1,    -1,    67,    -1,    69,    -1,    71,    -1,    -1,
    3725       74,    75,    -1,     4,     5,     6,     7,     8,     9,    10,
    3726       11,    12,    13,    14,    15,    16,    17,    18,    19,    20,
    3727       21,    22,    23,    24,    25,    26,    27,    -1,    -1,    30,
    3728       31,    32,    -1,    -1,    -1,    -1,    -1,   111,    39,    -1,
    3729       -1,    -1,    -1,   117,   118,    -1,    -1,    -1,    -1,    -1,
    3730       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3731       -1,    -1,    -1,    -1,    -1,    -1,    67,    -1,    69,    -1,
    3732       71,    -1,    -1,    74,    75,    -1,     4,     5,     6,     7,
    3733        8,     9,    10,    11,    12,    13,    14,    15,    16,    17,
    3734       18,    19,    20,    21,    22,    23,    24,    25,    26,    27,
    3735       -1,    -1,    30,    31,    32,    -1,    -1,    -1,    -1,    -1,
    3736      111,    39,    -1,    -1,    -1,    -1,   117,   118,    -1,    -1,
    3737       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3738       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    67,
    3739       -1,    69,    -1,    71,    -1,    -1,    74,    75,    -1,     4,
    3740        5,     6,     7,     8,     9,    10,    11,    12,    13,    14,
    3741       15,    16,    17,    18,    19,    20,    21,    22,    23,    24,
    3742       25,    26,    27,    -1,    -1,    30,    31,    32,    -1,    -1,
    3743       -1,    -1,    -1,   111,    39,    -1,    -1,    -1,    -1,   117,
    3744      118,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3745       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3746       -1,    -1,    67,    -1,    69,    -1,    71,    -1,    -1,    74,
    3747       75,    10,    11,    12,    13,    14,    15,    16,    17,    18,
    3748       19,    20,    21,    22,    23,    24,    25,    26,    27,    -1,
    3749       -1,    30,    31,    32,    -1,    -1,    -1,    -1,    37,    38,
    3750       39,    40,    -1,    -1,    -1,    -1,   111,    -1,    -1,    -1,
    3751       -1,    -1,   117,   118,    -1,    -1,    -1,    -1,    -1,    -1,
    3752       -1,    -1,    -1,    -1,    -1,    -1,    -1,    66,    67,    -1,
    3753       -1,    -1,    -1,    72,    -1,    74,    75,    76,    -1,    -1,
    3754       79,    80,    81,    82,    83,    84,    -1,    86,    87,    -1,
    3755       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3756       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3757      109,    -1,   111,    -1,    -1,   114,    -1,    -1,   117,   118,
    3758      119,   120,   121,   122,    10,    11,    12,    13,    14,    15,
     3624     111,    -1,   113,    -1,    -1,   116,    -1,    -1,   119,   120,
     3625     121,   122,   123,   124,    10,    11,    12,    13,    14,    15,
    37593626      16,    17,    18,    19,    20,    21,    22,    23,    24,    25,
    37603627      26,    27,    -1,    -1,    30,    31,    32,    -1,    -1,    -1,
     
    37633630      25,    26,    27,    -1,    -1,    30,    31,    32,    -1,    -1,
    37643631      66,    67,    -1,    -1,    39,    -1,    72,    -1,    74,    75,
    3765       76,    -1,    -1,    79,    80,    81,    82,    83,    84,    -1,
    3766       86,    87,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3632      76,    -1,    -1,    79,    80,    81,    82,    83,    84,    85,
     3633      86,    -1,    88,    89,    -1,    -1,    -1,    -1,    -1,    -1,
    37673634      -1,    -1,    67,    -1,    -1,    -1,    -1,    72,    -1,    74,
    3768       75,    76,    -1,   109,   110,   111,    -1,    -1,    83,    84,
    3769       -1,   117,   118,   119,   120,   121,   122,    10,    11,    12,
    3770       13,    14,    15,    16,    17,    18,    19,    20,    21,    22,
    3771       23,    24,    25,    26,    27,    -1,   111,    30,    31,    32,
    3772       -1,    -1,   117,   118,    37,    38,    39,    40,    10,    11,
    3773       12,    13,    14,    15,    16,    17,    18,    19,    20,    21,
    3774       22,    23,    24,    25,    26,    27,    -1,    -1,    30,    31,
    3775       32,    -1,    -1,    66,    67,    -1,    -1,    39,    -1,    72,
    3776       -1,    74,    75,    76,    -1,    -1,    79,    80,    81,    82,
    3777       83,    84,    -1,    86,    87,    -1,    -1,    -1,    -1,    -1,
    3778       -1,    -1,    -1,    -1,    -1,    67,    -1,    -1,    -1,    -1,
    3779       72,    -1,    74,    75,    -1,    -1,   109,    -1,   111,    -1,
    3780       -1,    83,    84,    -1,   117,   118,   119,   120,   121,   122,
     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,
    37813640      10,    11,    12,    13,    14,    15,    16,    17,    18,    19,
    3782       20,    21,    22,    23,    24,    25,    26,    27,    -1,   111,
    3783       30,    31,    32,    -1,    -1,   117,   118,    37,    38,    39,
    3784       40,    10,    11,    12,    13,    14,    15,    16,    17,    18,
     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,
    37853675      19,    20,    21,    22,    23,    24,    25,    26,    27,    -1,
    3786       -1,    30,    31,    32,    -1,    -1,    66,    67,    -1,    -1,
    3787       39,    40,    72,    -1,    74,    75,    76,    -1,    -1,    79,
    3788       80,    81,    82,    83,    84,    -1,    86,    87,    -1,    -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,
    37893682      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    67,    -1,
    3790       -1,    -1,    -1,    -1,    -1,    74,    75,    -1,    -1,   109,
    3791       -1,   111,    -1,    -1,    -1,    -1,    -1,   117,   118,   119,
    3792      120,   121,   122,    10,    11,    12,    13,    14,    15,    16,
     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,
    37933709      17,    18,    19,    20,    21,    22,    23,    24,    25,    26,
    3794       27,    -1,   111,    30,    31,    32,   115,    -1,   117,   118,
    3795       37,    38,    39,    40,    10,    11,    12,    13,    14,    15,
    3796       16,    17,    18,    19,    20,    21,    22,    23,    24,    25,
    3797       26,    27,    -1,    -1,    30,    31,    32,    -1,    -1,    66,
    3798       67,    -1,    -1,    39,    40,    72,    -1,    74,    75,    76,
    3799       -1,    -1,    79,    80,    81,    82,    83,    84,    -1,    86,
    3800       87,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3801       -1,    67,    -1,    -1,    -1,    -1,    -1,    -1,    74,    75,
    3802       -1,    -1,   109,    -1,   111,    -1,    -1,    -1,    -1,    -1,
    3803      117,   118,   119,   120,   121,   122,    10,    11,    12,    13,
    3804       14,    15,    16,    17,    18,    19,    20,    21,    22,    23,
    3805       24,    25,    26,    27,    -1,   111,    30,    31,    32,   115,
    3806       -1,   117,   118,    37,    38,    39,    40,    -1,    -1,    -1,
    3807       -1,    -1,    -1,    -1,    10,    11,    12,    13,    14,    15,
    3808       16,    17,    18,    19,    20,    21,    22,    23,    24,    25,
    3809       26,    27,    66,    67,    30,    31,    32,    -1,    72,    -1,
    3810       74,    75,    76,    39,    -1,    79,    80,    81,    82,    83,
    3811       84,    -1,    86,    87,    -1,    -1,    -1,    -1,    -1,    -1,
     3710      27,    -1,   113,    30,    31,    32,    -1,    -1,   119,   120,
     3711      -1,    -1,    39,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    38123712      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3813       -1,    67,    -1,    -1,    -1,   109,    -1,   111,    74,    75,
    3814       -1,    -1,    -1,   117,   118,   119,   120,   121,   122,     3,
     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,
    38153734       4,     5,     6,     7,     8,     9,    10,    11,    12,    13,
    38163735      14,    15,    16,    17,    18,    19,    20,    21,    22,    23,
    3817       24,    25,    26,    27,    -1,   111,    30,    31,    32,    -1,
    3818       -1,   117,   118,    -1,    -1,    39,    -1,    -1,    -1,    10,
    3819       11,    12,    13,    14,    15,    16,    17,    18,    19,    20,
    3820       21,    22,    23,    24,    25,    26,    27,    28,    -1,    30,
    3821       31,    32,    -1,    67,    -1,    69,    -1,    71,    39,    -1,
    3822       74,    75,    -1,    -1,    -1,    -1,    -1,    10,    11,    12,
    3823       13,    14,    15,    16,    17,    18,    19,    20,    21,    22,
    3824       23,    24,    25,    26,    27,    -1,    67,    30,    31,    32,
    3825       -1,    72,    -1,    74,    75,    76,    39,    78,    -1,    -1,
    3826      114,    -1,    83,    84,    -1,    10,    11,    12,    13,    14,
    3827       15,    16,    17,    18,    19,    20,    21,    22,    23,    24,
    3828       25,    26,    27,    28,    67,    30,    31,    32,    -1,    72,
    3829      111,    74,    75,    76,    39,    -1,   117,   118,    -1,    -1,
    3830       83,    84,    -1,    10,    11,    12,    13,    14,    15,    16,
    3831       17,    18,    19,    20,    21,    22,    23,    24,    25,    26,
    3832       27,    -1,    67,    30,    31,    32,   109,    -1,   111,    74,
    3833       75,    -1,    39,    78,   117,   118,    10,    11,    12,    13,
    3834       14,    15,    16,    17,    18,    19,    20,    21,    22,    23,
    38353736      24,    25,    26,    27,    -1,    -1,    30,    31,    32,    -1,
    3836       67,    -1,    -1,    -1,    -1,    39,   111,    74,    75,    -1,
    3837       -1,    -1,   117,   118,    10,    11,    12,    13,    14,    15,
    3838       16,    17,    18,    19,    20,    21,    22,    23,    24,    25,
    3839       26,    27,    -1,    67,    30,    31,    32,    -1,    -1,    -1,
    3840       74,    75,    -1,    39,   111,    -1,    -1,    -1,    -1,    -1,
    3841      117,   118,    10,    11,    12,    13,    14,    15,    16,    17,
    3842       18,    19,    20,    21,    22,    23,    24,    25,    26,    27,
    3843       -1,    67,    30,    31,    32,    -1,    -1,   111,    74,    75,
    3844       -1,    39,    -1,   117,   118,    10,    11,    12,    13,    14,
    3845       15,    16,    17,    18,    19,    20,    21,    22,    23,    24,
    3846       25,    26,    27,    -1,    -1,    30,    31,    32,    -1,    67,
    3847       -1,    -1,    -1,    -1,    39,   111,    74,    75,    -1,    -1,
    3848       -1,   117,   118,    10,    11,    12,    13,    14,    15,    16,
    3849       17,    18,    19,    20,    21,    22,    23,    24,    25,    26,
    3850       27,    -1,    67,    30,    31,    32,    -1,    -1,    -1,    74,
    3851       75,    -1,    39,   111,    -1,    -1,    -1,    -1,    -1,   117,
    3852      118,    10,    11,    12,    13,    14,    15,    16,    17,    18,
    3853       19,    20,    21,    22,    23,    24,    25,    26,    27,    -1,
    3854       67,    30,    31,    32,    -1,    -1,   111,    74,    75,    -1,
    3855       39,    -1,   117,   118,     4,     5,     6,     7,     8,     9,
    3856       10,    11,    12,    13,    14,    15,    16,    17,    18,    19,
    3857       20,    21,    22,    23,    24,    25,    26,    27,    67,    -1,
    3858       30,    31,    32,    -1,   111,    74,    75,    -1,    -1,    39,
    3859      117,   118,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -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,
    38603744      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3861       -1,    -1,    -1,    -1,    -1,    -1,    -1,    67,    -1,    69,
    3862       -1,    71,    -1,    -1,    74,    75,    -1,    -1,   117,   118,
    3863       37,    38,    -1,    40,    41,    -1,    43,    -1,    -1,    46,
    3864       47,    48,    49,    50,    51,    52,    53,    -1,    -1,    56,
    3865       57,    -1,    -1,    -1,    61,    62,    -1,    64,    -1,    66,
    3866      110,    -1,    -1,    -1,    -1,    72,    -1,    -1,    -1,    76,
    3867       -1,    -1,    79,    80,    81,    82,    83,    84,    -1,    86,
    3868       87,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3869       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3870       -1,    -1,   109,    -1,   111,    -1,    -1,   114,    -1,    -1,
    3871      117,   118,   119,   120,   121,   122,    -1,    -1,    37,    38,
    3872      127,    40,    41,    -1,    43,   132,    -1,    46,    47,    48,
    3873       49,    50,    51,    52,    53,    -1,    -1,    -1,    57,    -1,
    3874       -1,    -1,    61,    62,    -1,    64,    -1,    66,    -1,    -1,
    3875       -1,    -1,    -1,    72,    -1,    -1,    -1,    76,    -1,    -1,
    3876       79,    80,    81,    82,    83,    84,    -1,    86,    87,    -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,
    38773752      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    38783753      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3879      109,    -1,   111,    -1,    -1,   114,    -1,    -1,   117,   118,
    3880      119,   120,   121,   122,    -1,    -1,    -1,    -1,   127,    -1,
    3881       -1,    -1,    -1,   132,     4,     5,     6,     7,     8,     9,
    3882       10,    11,    12,    13,    14,    15,    16,    17,    18,    19,
    3883       20,    21,    22,    23,    24,    25,    26,    27,    -1,    -1,
    3884       30,    31,    32,    -1,    -1,    -1,    -1,    -1,    -1,    39,
    3885       -1,    37,    38,    -1,    40,    41,    -1,    43,    44,    45,
    3886       46,    47,    48,    49,    50,    51,    52,    53,    -1,    -1,
    3887       56,    57,    -1,    -1,    -1,    61,    62,    67,    64,    69,
    3888       66,    71,    -1,    -1,    74,    75,    72,    -1,    -1,    -1,
    3889       76,    -1,    -1,    79,    80,    81,    82,    83,    84,    -1,
    3890       86,    87,    -1,    -1,    -1,    -1,    96,    -1,    -1,    -1,
    3891       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3892       -1,    -1,    -1,   109,    -1,   111,    -1,    -1,   114,    -1,
    3893       -1,   117,   118,   119,   120,   121,   122,    -1,    -1,    37,
    3894       38,   127,    40,    41,    -1,    43,    44,    45,    46,    47,
    3895       48,    49,    50,    51,    52,    53,    -1,    -1,    -1,    57,
    3896       -1,    -1,    -1,    61,    62,    -1,    64,    -1,    66,    -1,
    3897       -1,    -1,    -1,    -1,    72,    -1,    -1,    -1,    76,    -1,
    3898       -1,    79,    80,    81,    82,    83,    84,    -1,    86,    87,
    3899       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3900       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3901       -1,   109,    -1,   111,    -1,    -1,   114,    -1,    -1,   117,
    3902      118,   119,   120,   121,   122,    -1,    -1,    37,    38,   127,
     3754      -1,   111,    -1,   113,    -1,    -1,   116,    -1,    -1,   119,
     3755     120,   121,   122,   123,   124,    -1,    -1,    37,    38,   129,
    39033756      40,    41,    -1,    43,    -1,    -1,    46,    47,    48,    49,
    39043757      50,    51,    52,    53,    -1,    -1,    -1,    57,    -1,    -1,
    39053758      -1,    61,    62,    -1,    64,    -1,    66,    -1,    -1,    -1,
    39063759      -1,    -1,    72,    -1,    -1,    -1,    76,    -1,    -1,    79,
    3907       80,    81,    82,    83,    84,    -1,    86,    87,    -1,    -1,
     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,
    39083773      -1,    -1,    -1,    -1,    37,    38,    -1,    40,    -1,    -1,
    3909       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   109,
    3910       -1,   111,    -1,    -1,   114,    -1,    -1,   117,   118,   119,
    3911      120,   121,   122,    66,    -1,    -1,    -1,   127,    -1,    72,
     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,
    39123777      -1,    -1,    -1,    76,    -1,    -1,    79,    80,    81,    82,
    3913       83,    84,    -1,    86,    87,    -1,    -1,    -1,    -1,    -1,
     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,
    39143791      -1,    37,    38,    -1,    40,    -1,    -1,    -1,    -1,    -1,
    3915       -1,    -1,    -1,    -1,    -1,    -1,   109,    -1,   111,    -1,
    3916       -1,   114,    -1,    -1,   117,   118,   119,   120,   121,   122,
     3792      -1,    -1,    -1,    -1,    -1,    -1,   111,    -1,   113,    -1,
     3793      -1,    -1,    -1,    -1,   119,   120,   121,   122,   123,   124,
    39173794      66,    -1,    -1,    -1,    -1,    -1,    72,    -1,    -1,    -1,
    3918       76,    -1,    -1,    79,    80,    81,    82,    83,    84,    -1,
    3919       86,    87,    -1,    -1,    -1,    -1,    -1,    -1,    37,    38,
     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,
    39203809      -1,    40,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3921       -1,    -1,    -1,   109,    -1,   111,    -1,    37,    38,    -1,
    3922       40,   117,   118,   119,   120,   121,   122,    66,    -1,    -1,
     3810      -1,    -1,    -1,   111,    -1,   113,    -1,    -1,    -1,    -1,
     3811      -1,   119,   120,   121,   122,   123,   124,    66,    -1,    -1,
    39233812      -1,    -1,    -1,    72,    -1,    -1,    -1,    76,    -1,    -1,
    3924       79,    80,    81,    82,    83,    84,    66,    86,    87,    -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,
    39253818      -1,    -1,    72,    -1,    -1,    -1,    76,    -1,    -1,    79,
    3926       80,    81,    82,    83,    84,    -1,    86,    87,    -1,    -1,
    3927      109,    -1,   111,    -1,    37,    38,    -1,    40,   117,   118,
    3928      119,   120,   121,   122,    -1,    -1,    -1,    -1,    -1,   109,
    3929       -1,   111,    -1,    37,    38,    -1,    40,   117,   118,   119,
    3930      120,   121,   122,    66,    -1,    -1,    -1,    -1,    -1,    72,
    3931       -1,    -1,    -1,    76,    -1,    -1,    79,    80,    81,    82,
    3932       83,    84,    66,    86,    87,    -1,    -1,    -1,    72,    -1,
    3933       -1,    -1,    76,    -1,    -1,    79,    80,    81,    82,    83,
    3934       84,    -1,    86,    87,    -1,    -1,   109,    -1,    -1,    -1,
    3935       37,    38,    -1,    40,   117,   118,   119,   120,   121,   122,
    3936       -1,    -1,    -1,    -1,    -1,   109,    -1,    -1,    -1,    37,
    3937       38,    -1,    40,   117,   118,   119,   120,   121,   122,    66,
    3938       -1,    -1,    -1,    -1,    -1,    72,    -1,    -1,    -1,    76,
    3939       -1,    -1,    79,    80,    81,    82,    83,    84,    66,    86,
    3940       87,    -1,    -1,    -1,    72,    -1,    -1,    -1,    76,    -1,
    3941       -1,    79,    80,    81,    82,    83,    84,    -1,    86,    87,
    3942       -1,    -1,   109,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3943      117,   118,   119,   120,   121,   122,    -1,    -1,    -1,    -1,
    3944       -1,   109,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   117,
    3945      118,   119,   120,   121,   122,     4,     5,     6,     7,     8,
     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,
    39463824       9,    10,    11,    12,    13,    14,    15,    16,    17,    18,
    39473825      19,    20,    21,    22,    23,    24,    25,    26,    27,    -1,
     
    39513829      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    67,    -1,
    39523830      69,    -1,    71,    72,    -1,    74,    75,    76,    -1,    -1,
    3953       -1,    -1,    -1,    -1,    83,    84,     3,     4,     5,     6,
    3954        7,     8,     9,    10,    11,    12,    13,    14,    15,    16,
    3955       17,    18,    19,    20,    21,    22,    23,    24,    25,    26,
    3956       27,    -1,    -1,    30,    31,    32,    -1,    -1,    -1,    -1,
    3957       -1,    -1,    39,    -1,    -1,    -1,    -1,    -1,    -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,
    39583836      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    39593837      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3960       67,    -1,    69,    -1,    71,    -1,    -1,    74,    75,     3,
    3961        4,     5,     6,     7,     8,     9,    10,    11,    12,    13,
    3962       14,    15,    16,    17,    18,    19,    20,    21,    22,    23,
    3963       24,    25,    26,    27,    -1,    -1,    30,    31,    32,    -1,
    3964       -1,    -1,    -1,    -1,    -1,    39,    -1,    -1,    -1,    -1,
    3965       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3966       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3967       -1,    -1,    -1,    67,    -1,    69,    -1,    71,    -1,    -1,
    3968       74,    75,     4,     5,     6,     7,     8,     9,    10,    11,
     3838      -1,    -1,    67,    -1,    69,    -1,    71,    -1,    -1,    74,
     3839      75,     3,     4,     5,     6,     7,     8,     9,    10,    11,
    39693840      12,    13,    14,    15,    16,    17,    18,    19,    20,    21,
    39703841      22,    23,    24,    25,    26,    27,    -1,    -1,    30,    31,
     
    39733844      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    39743845      -1,    -1,    -1,    -1,    -1,    67,    -1,    69,    -1,    71,
    3975       -1,    -1,    74,    75
     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
    39763857};
    39773858
     
    39843865      22,    23,    24,    25,    26,    27,    30,    31,    32,    33,
    39853866      36,    39,    40,    64,    67,    69,    71,    72,    74,    75,
    3986       76,    83,    84,   109,   111,   117,   118,   137,   140,   150,
    3987      199,   213,   214,   215,   216,   217,   218,   219,   220,   221,
    3988      222,   223,   224,   225,   226,   227,   228,   229,   230,   232,
    3989      233,   234,   235,   236,   237,   238,   240,   241,   242,   243,
    3990      244,   245,   247,   255,   256,   283,   284,   285,   293,   296,
    3991      302,   303,   305,   307,   308,   314,   319,   323,   324,   325,
    3992      326,   327,   328,   329,   330,   350,   367,   368,   369,   370,
    3993       72,   139,   140,   150,   216,   218,   226,   228,   237,   241,
    3994      243,   284,    82,   109,   312,   313,   314,   312,   312,    72,
    3995       74,    75,    76,   138,   139,   273,   274,   294,   295,    74,
    3996       75,   274,   109,   305,    11,   200,   109,   150,   319,   324,
    3997      325,   326,   328,   329,   330,   112,   134,   111,   219,   226,
    3998      228,   323,   327,   366,   367,   370,   371,   135,   107,   131,
    3999      277,   114,   135,   174,    74,    75,   137,   272,   135,   135,
    4000      135,   116,   135,    74,    75,   109,   150,   309,   318,   319,
    4001      320,   321,   322,   323,   327,   331,   332,   333,   334,   335,
    4002      341,     3,    28,    78,   239,     3,     5,    74,   111,   150,
    4003      218,   229,   233,   235,   244,   285,   323,   327,   370,   216,
    4004      218,   228,   237,   241,   243,   284,   323,   327,    33,   234,
    4005      234,   229,   235,   135,   234,   229,   234,   229,    75,   109,
    4006      114,   274,   285,   114,   274,   234,   229,   116,   135,   135,
    4007        0,   134,   109,   174,   312,   312,   134,   111,   226,   228,
    4008      368,   272,   272,   131,   228,   109,   150,   309,   319,   323,
    4009      111,   150,   370,   306,   231,   314,   109,   290,   109,   109,
    4010       51,   109,    37,    38,    40,    66,    72,    76,    79,    80,
    4011       81,    82,    86,    87,   109,   111,   119,   120,   121,   122,
    4012      136,   140,   141,   142,   143,   144,   149,   150,   151,   152,
    4013      153,   154,   155,   156,   157,   158,   159,   160,   161,   162,
    4014      163,   165,   168,   226,   276,   292,   366,   371,   228,   110,
    4015      110,   110,   110,   110,   110,   110,    74,    75,   111,   226,
    4016      272,   350,   368,   111,   117,   150,   165,   218,   219,   225,
    4017      228,   232,   233,   237,   240,   241,   243,   262,   263,   267,
    4018      268,   269,   270,   284,   350,   362,   363,   364,   365,   370,
    4019      371,   112,   109,   323,   327,   370,   109,   116,   132,   111,
    4020      114,   150,   165,   278,   278,   115,   134,   116,   132,   109,
    4021      116,   132,   116,   132,   116,   132,   312,   132,   319,   320,
    4022      321,   322,   332,   333,   334,   335,   228,   318,   331,    64,
    4023      311,   111,   312,   349,   350,   312,   312,   174,   134,   109,
    4024      312,   349,   312,   312,   228,   309,   109,   109,   227,   228,
    4025      226,   228,   112,   134,   226,   366,   371,   174,   134,   272,
    4026      277,   218,   233,   323,   327,   174,   134,   294,   228,   237,
    4027      132,   228,   228,   292,   248,   246,   258,   274,   257,   228,
    4028      294,   132,   132,   305,   134,   139,   271,     3,   135,   208,
    4029      209,   223,   225,   228,   134,   311,   109,   311,   165,   319,
    4030      228,   109,   134,   272,   114,    33,    34,    35,   226,   286,
    4031      287,   289,   134,   128,   131,   291,   134,   229,   234,   235,
    4032      272,   315,   316,   317,   109,   141,   109,   149,   109,   149,
    4033      152,   109,   149,   109,   109,   149,   149,   111,   165,   170,
    4034      174,   226,   275,   366,   370,   112,   134,    82,    85,    86,
    4035       87,   109,   111,   113,   114,    97,    98,    99,   100,   101,
    4036      102,   103,   104,   105,   106,   107,   131,   167,   152,   152,
    4037      117,   123,   124,   119,   120,    88,    89,    90,    91,   125,
    4038      126,    92,    93,   118,   127,   128,    94,    95,   129,   131,
    4039      373,   109,   150,   345,   346,   347,   348,   349,   110,   116,
    4040      109,   349,   350,   109,   349,   350,   134,   109,   226,   368,
    4041      112,   134,   135,   111,   226,   228,   361,   362,   370,   371,
    4042      135,   109,   111,   150,   319,   336,   337,   338,   339,   340,
    4043      341,   342,   343,   344,   350,   351,   352,   353,   354,   355,
    4044      356,   150,   370,   228,   135,   135,   150,   226,   228,   363,
    4045      272,   226,   350,   363,   272,   109,   134,   134,   134,   112,
    4046      134,    72,   111,   113,   140,   274,   278,   279,   280,   281,
    4047      282,   134,   134,   134,   134,   134,   134,   309,   110,   110,
    4048      110,   110,   110,   110,   110,   318,   331,   109,   277,   112,
    4049      208,   134,   309,   170,   276,   170,   276,   309,   111,   208,
    4050      311,   174,   134,   208,   110,    40,   111,   115,   226,   249,
    4051      250,   251,   366,   114,   116,   372,   131,   259,   114,   228,
    4052      264,   265,   266,   269,   270,   110,   116,   174,   134,   117,
    4053      165,   134,   225,   228,   263,   362,   370,   303,   304,   109,
    4054      150,   336,   110,   116,   373,   274,   286,   109,   114,   274,
    4055      276,   286,   110,   116,   109,   141,   110,   130,   275,   275,
    4056      275,   146,   165,   276,   275,   112,   134,   110,   116,   110,
    4057      109,   150,   349,   357,   358,   359,   360,   110,   116,   165,
    4058      111,   139,   145,   146,   134,   111,   139,   145,   165,   152,
    4059      152,   152,   153,   153,   154,   154,   155,   155,   155,   155,
    4060      156,   156,   157,   158,   159,   160,   161,   130,   170,   165,
    4061      134,   346,   347,   348,   228,   345,   312,   312,   165,   276,
    4062      134,   271,   134,   226,   350,   363,   228,   232,   112,   112,
    4063      134,   370,   112,   109,   134,   319,   337,   338,   339,   342,
    4064      352,   353,   354,   112,   134,   228,   336,   340,   351,   109,
    4065      312,   355,   373,   312,   312,   373,   109,   312,   355,   312,
    4066      312,   312,   312,   350,   226,   361,   371,   272,   112,   116,
    4067      112,   116,   373,   226,   363,   373,   260,   261,   262,   263,
    4068      260,   260,   272,   165,   134,   111,   274,   130,   116,   372,
    4069      278,   111,   130,   282,    29,   210,   211,   272,   260,   139,
    4070      309,   139,   311,   109,   349,   350,   109,   349,   350,   142,
    4071      350,   174,   264,   110,   110,   110,   110,   112,   174,   208,
    4072      174,   114,   250,   251,   112,   134,   109,   130,   150,   252,
    4073      254,   318,   319,   331,   357,   116,   132,   116,   132,   274,
    4074      248,   274,   115,   163,   164,   258,   135,   135,   139,   223,
    4075      135,   135,   260,   109,   150,   370,   135,   115,   228,   287,
    4076      288,   135,   134,   134,   109,   135,   110,   316,   170,   171,
    4077      130,   132,   111,   141,   201,   202,   203,   110,   116,   110,
    4078      110,   110,   110,   111,   165,   358,   359,   360,   228,   357,
    4079      312,   312,   114,   152,   168,   165,   166,   169,   116,   135,
    4080      134,   110,   116,   165,   134,   115,   163,   130,   264,   110,
    4081      110,   110,   345,   264,   110,   260,   226,   363,   111,   117,
    4082      150,   165,   165,   228,   342,   264,   110,   110,   110,   110,
    4083      110,   110,   110,     7,   228,   336,   340,   351,   134,   134,
    4084      373,   134,   134,   110,   135,   135,   135,   135,   277,   135,
    4085      163,   164,   165,   310,   134,   278,   280,   115,   134,   212,
    4086      274,    40,    41,    43,    46,    47,    48,    49,    50,    51,
    4087       52,    53,    57,    61,    62,    72,   111,   127,   171,   172,
    4088      173,   174,   175,   176,   178,   179,   191,   193,   194,   199,
    4089      213,   308,    29,   135,   131,   277,   134,   134,   110,   135,
    4090      174,   248,   132,   132,   319,   164,   228,   253,   254,   253,
    4091      274,   312,   115,   259,   372,   110,   116,   112,   112,   135,
    4092      228,   116,   373,   290,   110,   286,   216,   218,   226,   298,
    4093      299,   300,   301,   292,   110,   110,   130,   164,   109,   110,
    4094      130,   116,   139,   112,   110,   110,   110,   357,   279,   116,
    4095      135,   169,   112,   139,   147,   148,   146,   135,   147,   163,
    4096      168,   135,   109,   349,   350,   135,   135,   134,   135,   135,
    4097      135,   165,   110,   135,   109,   349,   350,   109,   355,   109,
    4098      355,   350,   227,     7,   117,   135,   165,   264,   264,   263,
    4099      267,   267,   268,   116,   116,   110,   110,   112,    96,   122,
    4100      135,   135,   147,   278,   165,   116,   132,   213,   217,   228,
    4101      232,   109,   109,   172,   109,   109,    72,   132,    72,   132,
    4102       72,   117,   171,   109,   174,   166,   166,   130,   112,   144,
    4103      132,   135,   134,   135,   212,   110,   165,   264,   264,   312,
    4104      110,   115,   252,   115,   134,   110,   134,   135,   309,   115,
    4105      134,   135,   135,   110,   114,   201,   112,   164,   132,   201,
    4106      203,   110,   109,   349,   350,   372,   166,   112,   135,    85,
    4107      113,   116,   135,   112,   135,   110,   134,   110,   110,   112,
    4108      112,   112,   135,   110,   134,   134,   134,   165,   165,   135,
    4109      112,   135,   135,   135,   135,   134,   134,   164,   164,   112,
    4110      112,   135,   135,   274,   228,   170,   170,    47,   170,   134,
    4111      132,   132,   132,   170,   132,   170,    58,    59,    60,   195,
    4112      196,   197,   132,    63,   132,   312,   114,   176,   115,   132,
    4113      135,   135,    96,   269,   270,   110,   299,   116,   132,   116,
    4114      132,   115,   297,   130,   141,   110,   110,   130,   134,   115,
    4115      112,   111,   148,   111,   148,   148,   112,   112,   264,   112,
    4116      264,   264,   264,   135,   135,   112,   112,   110,   110,   112,
    4117      116,    96,   263,    96,   135,   112,   112,   110,   110,   109,
    4118      110,   171,   192,   213,   132,   110,   109,   109,   174,   197,
    4119       58,    59,   165,   172,   145,   110,   110,   114,   134,   134,
    4120      298,   141,   204,   109,   132,   204,   264,   134,   134,   135,
    4121      135,   135,   135,   112,   112,   134,   135,   112,   172,    44,
    4122       45,   114,   182,   183,   184,   170,   172,   135,   110,   171,
    4123      114,   184,    96,   134,    96,   134,   109,   109,   132,   115,
    4124      134,   272,   309,   115,   116,   130,   164,   110,   135,   147,
    4125      147,   110,   110,   110,   110,   267,    42,   164,   180,   181,
    4126      310,   130,   134,   172,   182,   110,   132,   172,   132,   134,
    4127      110,   134,   110,   134,    96,   134,    96,   134,   132,   298,
    4128      141,   139,   205,   110,   132,   110,   135,   135,   172,    96,
    4129      116,   130,   135,   206,   207,   213,   132,   171,   171,   206,
    4130      174,   198,   226,   366,   174,   198,   110,   134,   110,   134,
    4131      115,   110,   116,   112,   112,   164,   180,   183,   185,   186,
    4132      134,   132,   183,   187,   188,   135,   109,   150,   309,   357,
    4133      139,   135,   174,   198,   174,   198,   109,   132,   139,   172,
    4134      177,   115,   183,   213,   171,    56,   177,   190,   115,   183,
    4135      110,   228,   110,   135,   135,   292,   172,   177,   132,   189,
    4136      190,   177,   190,   174,   174,   110,   110,   110,   189,   135,
    4137      135,   174,   174,   135,   135
     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,
     3894     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
    41384017};
    41394018
     
    49724851
    49734852/* Line 1806 of yacc.c  */
    4974 #line 301 "parser.yy"
     4853#line 306 "parser.yy"
    49754854    { typedefTable.enterScope(); }
    49764855    break;
     
    49794858
    49804859/* Line 1806 of yacc.c  */
    4981 #line 305 "parser.yy"
     4860#line 310 "parser.yy"
    49824861    { typedefTable.leaveScope(); }
    49834862    break;
     
    49864865
    49874866/* Line 1806 of yacc.c  */
    4988 #line 312 "parser.yy"
     4867#line 317 "parser.yy"
    49894868    { (yyval.en) = new ExpressionNode( build_constantInteger( *(yyvsp[(1) - (1)].tok) ) ); }
    49904869    break;
     
    49934872
    49944873/* Line 1806 of yacc.c  */
    4995 #line 313 "parser.yy"
     4874#line 318 "parser.yy"
    49964875    { (yyval.en) = new ExpressionNode( build_constantFloat( *(yyvsp[(1) - (1)].tok) ) ); }
    49974876    break;
     
    50004879
    50014880/* Line 1806 of yacc.c  */
    5002 #line 314 "parser.yy"
     4881#line 319 "parser.yy"
     4882    { (yyval.en) = new ExpressionNode( build_constantFloat( *(yyvsp[(1) - (1)].tok) ) ); }
     4883    break;
     4884
     4885  case 7:
     4886
     4887/* Line 1806 of yacc.c  */
     4888#line 320 "parser.yy"
     4889    { (yyval.en) = new ExpressionNode( build_constantFloat( *(yyvsp[(1) - (1)].tok) ) ); }
     4890    break;
     4891
     4892  case 8:
     4893
     4894/* Line 1806 of yacc.c  */
     4895#line 321 "parser.yy"
    50034896    { (yyval.en) = new ExpressionNode( build_constantChar( *(yyvsp[(1) - (1)].tok) ) ); }
    50044897    break;
    50054898
    5006   case 16:
    5007 
    5008 /* Line 1806 of yacc.c  */
    5009 #line 339 "parser.yy"
     4899  case 18:
     4900
     4901/* Line 1806 of yacc.c  */
     4902#line 346 "parser.yy"
    50104903    { (yyval.constant) = build_constantStr( *(yyvsp[(1) - (1)].str) ); }
    50114904    break;
    50124905
    5013   case 17:
    5014 
    5015 /* Line 1806 of yacc.c  */
    5016 #line 343 "parser.yy"
     4906  case 19:
     4907
     4908/* Line 1806 of yacc.c  */
     4909#line 350 "parser.yy"
    50174910    { (yyval.str) = (yyvsp[(1) - (1)].tok); }
    50184911    break;
    50194912
    5020   case 18:
    5021 
    5022 /* Line 1806 of yacc.c  */
    5023 #line 345 "parser.yy"
     4913  case 20:
     4914
     4915/* Line 1806 of yacc.c  */
     4916#line 352 "parser.yy"
    50244917    {
    50254918                        appendStr( (yyvsp[(1) - (2)].str), (yyvsp[(2) - (2)].tok) );                                            // append 2nd juxtaposed string to 1st
     
    50294922    break;
    50304923
    5031   case 19:
    5032 
    5033 /* Line 1806 of yacc.c  */
    5034 #line 356 "parser.yy"
     4924  case 21:
     4925
     4926/* Line 1806 of yacc.c  */
     4927#line 363 "parser.yy"
    50354928    { (yyval.en) = new ExpressionNode( build_varref( (yyvsp[(1) - (1)].tok) ) ); }
    50364929    break;
    50374930
    5038   case 20:
    5039 
    5040 /* Line 1806 of yacc.c  */
    5041 #line 358 "parser.yy"
     4931  case 22:
     4932
     4933/* Line 1806 of yacc.c  */
     4934#line 365 "parser.yy"
    50424935    { (yyval.en) = new ExpressionNode( build_varref( (yyvsp[(1) - (1)].tok) ) ); }
    50434936    break;
    50444937
    5045   case 21:
    5046 
    5047 /* Line 1806 of yacc.c  */
    5048 #line 360 "parser.yy"
     4938  case 24:
     4939
     4940/* Line 1806 of yacc.c  */
     4941#line 368 "parser.yy"
    50494942    { (yyval.en) = (yyvsp[(2) - (3)].en); }
    50504943    break;
    50514944
    5052   case 22:
    5053 
    5054 /* Line 1806 of yacc.c  */
    5055 #line 362 "parser.yy"
     4945  case 25:
     4946
     4947/* Line 1806 of yacc.c  */
     4948#line 370 "parser.yy"
    50564949    { (yyval.en) = new ExpressionNode( build_valexpr( (yyvsp[(2) - (3)].sn) ) ); }
    50574950    break;
    50584951
    5059   case 24:
    5060 
    5061 /* Line 1806 of yacc.c  */
    5062 #line 372 "parser.yy"
     4952  case 27:
     4953
     4954/* Line 1806 of yacc.c  */
     4955#line 380 "parser.yy"
    50634956    { (yyval.en) = new ExpressionNode( build_binary_val( OperKinds::Index, (yyvsp[(1) - (6)].en), (yyvsp[(4) - (6)].en) ) ); }
    50644957    break;
    50654958
    5066   case 25:
    5067 
    5068 /* Line 1806 of yacc.c  */
    5069 #line 374 "parser.yy"
     4959  case 28:
     4960
     4961/* Line 1806 of yacc.c  */
     4962#line 382 "parser.yy"
    50704963    { (yyval.en) = new ExpressionNode( build_func( (yyvsp[(1) - (4)].en), (yyvsp[(3) - (4)].en) ) ); }
    50714964    break;
    50724965
    5073   case 26:
    5074 
    5075 /* Line 1806 of yacc.c  */
    5076 #line 378 "parser.yy"
     4966  case 29:
     4967
     4968/* Line 1806 of yacc.c  */
     4969#line 384 "parser.yy"
    50774970    { (yyval.en) = new ExpressionNode( build_fieldSel( (yyvsp[(1) - (3)].en), build_varref( (yyvsp[(3) - (3)].tok) ) ) ); }
    50784971    break;
    50794972
    5080   case 28:
    5081 
    5082 /* Line 1806 of yacc.c  */
    5083 #line 381 "parser.yy"
     4973  case 32:
     4974
     4975/* Line 1806 of yacc.c  */
     4976#line 388 "parser.yy"
    50844977    { (yyval.en) = new ExpressionNode( build_pfieldSel( (yyvsp[(1) - (3)].en), build_varref( (yyvsp[(3) - (3)].tok) ) ) ); }
    50854978    break;
    50864979
    5087   case 30:
    5088 
    5089 /* Line 1806 of yacc.c  */
    5090 #line 384 "parser.yy"
     4980  case 34:
     4981
     4982/* Line 1806 of yacc.c  */
     4983#line 391 "parser.yy"
    50914984    { (yyval.en) = new ExpressionNode( build_unary_ptr( OperKinds::IncrPost, (yyvsp[(1) - (2)].en) ) ); }
    50924985    break;
    50934986
    5094   case 31:
    5095 
    5096 /* Line 1806 of yacc.c  */
    5097 #line 386 "parser.yy"
     4987  case 35:
     4988
     4989/* Line 1806 of yacc.c  */
     4990#line 393 "parser.yy"
    50984991    { (yyval.en) = new ExpressionNode( build_unary_ptr( OperKinds::DecrPost, (yyvsp[(1) - (2)].en) ) ); }
    50994992    break;
    51004993
    5101   case 32:
    5102 
    5103 /* Line 1806 of yacc.c  */
    5104 #line 388 "parser.yy"
     4994  case 36:
     4995
     4996/* Line 1806 of yacc.c  */
     4997#line 395 "parser.yy"
    51054998    { (yyval.en) = new ExpressionNode( build_compoundLiteral( (yyvsp[(2) - (7)].decl), new InitializerNode( (yyvsp[(5) - (7)].in), true ) ) ); }
    51064999    break;
    51075000
    5108   case 33:
    5109 
    5110 /* Line 1806 of yacc.c  */
    5111 #line 390 "parser.yy"
     5001  case 37:
     5002
     5003/* Line 1806 of yacc.c  */
     5004#line 397 "parser.yy"
    51125005    {
    51135006                        Token fn;
     
    51175010    break;
    51185011
    5119   case 35:
    5120 
    5121 /* Line 1806 of yacc.c  */
    5122 #line 400 "parser.yy"
     5012  case 39:
     5013
     5014/* Line 1806 of yacc.c  */
     5015#line 407 "parser.yy"
    51235016    { (yyval.en) = (ExpressionNode *)( (yyvsp[(1) - (3)].en)->set_last( (yyvsp[(3) - (3)].en) )); }
    51245017    break;
    51255018
    5126   case 36:
    5127 
    5128 /* Line 1806 of yacc.c  */
    5129 #line 405 "parser.yy"
     5019  case 40:
     5020
     5021/* Line 1806 of yacc.c  */
     5022#line 412 "parser.yy"
    51305023    { (yyval.en) = 0; }
    51315024    break;
    51325025
    5133   case 39:
    5134 
    5135 /* Line 1806 of yacc.c  */
    5136 #line 411 "parser.yy"
     5026  case 43:
     5027
     5028/* Line 1806 of yacc.c  */
     5029#line 418 "parser.yy"
    51375030    { (yyval.en) = (ExpressionNode *)(yyvsp[(1) - (3)].en)->set_last( (yyvsp[(3) - (3)].en) ); }
    51385031    break;
    51395032
    5140   case 40:
    5141 
    5142 /* Line 1806 of yacc.c  */
    5143 #line 416 "parser.yy"
     5033  case 44:
     5034
     5035/* Line 1806 of yacc.c  */
     5036#line 423 "parser.yy"
    51445037    { (yyval.en) = new ExpressionNode( build_varref( (yyvsp[(1) - (1)].tok) ) ); }
    51455038    break;
    51465039
    5147   case 41:
    5148 
    5149 /* Line 1806 of yacc.c  */
    5150 #line 420 "parser.yy"
     5040  case 45:
     5041
     5042/* Line 1806 of yacc.c  */
     5043#line 425 "parser.yy"
     5044    { (yyval.en) = new ExpressionNode( build_fieldSel( (yyvsp[(2) - (2)].en), build_varref( (yyvsp[(1) - (2)].tok) ) ) ); }
     5045    break;
     5046
     5047  case 46:
     5048
     5049/* Line 1806 of yacc.c  */
     5050#line 427 "parser.yy"
     5051    { (yyval.en) = new ExpressionNode( build_fieldSel( (yyvsp[(4) - (6)].en), build_varref( (yyvsp[(1) - (6)].tok) ) ) ); }
     5052    break;
     5053
     5054  case 47:
     5055
     5056/* Line 1806 of yacc.c  */
     5057#line 429 "parser.yy"
    51515058    { (yyval.en) = new ExpressionNode( build_fieldSel( (yyvsp[(3) - (3)].en), build_varref( (yyvsp[(1) - (3)].tok) ) ) ); }
    51525059    break;
    51535060
    5154   case 42:
    5155 
    5156 /* Line 1806 of yacc.c  */
    5157 #line 422 "parser.yy"
     5061  case 48:
     5062
     5063/* Line 1806 of yacc.c  */
     5064#line 431 "parser.yy"
    51585065    { (yyval.en) = new ExpressionNode( build_fieldSel( (yyvsp[(5) - (7)].en), build_varref( (yyvsp[(1) - (7)].tok) ) ) ); }
    51595066    break;
    51605067
    5161   case 43:
    5162 
    5163 /* Line 1806 of yacc.c  */
    5164 #line 424 "parser.yy"
     5068  case 49:
     5069
     5070/* Line 1806 of yacc.c  */
     5071#line 433 "parser.yy"
    51655072    { (yyval.en) = new ExpressionNode( build_pfieldSel( (yyvsp[(3) - (3)].en), build_varref( (yyvsp[(1) - (3)].tok) ) ) ); }
    51665073    break;
    51675074
    5168   case 44:
    5169 
    5170 /* Line 1806 of yacc.c  */
    5171 #line 426 "parser.yy"
     5075  case 50:
     5076
     5077/* Line 1806 of yacc.c  */
     5078#line 435 "parser.yy"
    51725079    { (yyval.en) = new ExpressionNode( build_pfieldSel( (yyvsp[(5) - (7)].en), build_varref( (yyvsp[(1) - (7)].tok) ) ) ); }
    51735080    break;
    51745081
    5175   case 46:
    5176 
    5177 /* Line 1806 of yacc.c  */
    5178 #line 434 "parser.yy"
     5082  case 51:
     5083
     5084/* Line 1806 of yacc.c  */
     5085#line 440 "parser.yy"
     5086    { (yyval.tok) = (yyvsp[(1) - (2)].tok); }
     5087    break;
     5088
     5089  case 52:
     5090
     5091/* Line 1806 of yacc.c  */
     5092#line 442 "parser.yy"
     5093    { (yyval.tok) = (yyvsp[(1) - (2)].tok); }
     5094    break;
     5095
     5096  case 53:
     5097
     5098/* Line 1806 of yacc.c  */
     5099#line 444 "parser.yy"
     5100    { (yyval.tok) = (yyvsp[(1) - (2)].tok); }
     5101    break;
     5102
     5103  case 57:
     5104
     5105/* Line 1806 of yacc.c  */
     5106#line 457 "parser.yy"
    51795107    { (yyval.en) = (yyvsp[(1) - (1)].en); }
    51805108    break;
    51815109
    5182   case 47:
    5183 
    5184 /* Line 1806 of yacc.c  */
    5185 #line 436 "parser.yy"
     5110  case 58:
     5111
     5112/* Line 1806 of yacc.c  */
     5113#line 459 "parser.yy"
    51865114    { (yyval.en) = new ExpressionNode( (yyvsp[(1) - (1)].constant) ); }
    51875115    break;
    51885116
    5189   case 48:
    5190 
    5191 /* Line 1806 of yacc.c  */
    5192 #line 438 "parser.yy"
     5117  case 59:
     5118
     5119/* Line 1806 of yacc.c  */
     5120#line 461 "parser.yy"
    51935121    { (yyval.en) = (yyvsp[(2) - (2)].en)->set_extension( true ); }
    51945122    break;
    51955123
    5196   case 49:
    5197 
    5198 /* Line 1806 of yacc.c  */
    5199 #line 443 "parser.yy"
     5124  case 60:
     5125
     5126/* Line 1806 of yacc.c  */
     5127#line 466 "parser.yy"
    52005128    {
    52015129                        switch ( (yyvsp[(1) - (2)].op) ) {
     
    52125140    break;
    52135141
    5214   case 50:
    5215 
    5216 /* Line 1806 of yacc.c  */
    5217 #line 456 "parser.yy"
     5142  case 61:
     5143
     5144/* Line 1806 of yacc.c  */
     5145#line 479 "parser.yy"
    52185146    { (yyval.en) = new ExpressionNode( build_unary_val( (yyvsp[(1) - (2)].op), (yyvsp[(2) - (2)].en) ) ); }
    52195147    break;
    52205148
    5221   case 51:
    5222 
    5223 /* Line 1806 of yacc.c  */
    5224 #line 458 "parser.yy"
     5149  case 62:
     5150
     5151/* Line 1806 of yacc.c  */
     5152#line 481 "parser.yy"
    52255153    { (yyval.en) = new ExpressionNode( build_unary_ptr( OperKinds::Incr, (yyvsp[(2) - (2)].en) ) ); }
    52265154    break;
    52275155
    5228   case 52:
    5229 
    5230 /* Line 1806 of yacc.c  */
    5231 #line 460 "parser.yy"
     5156  case 63:
     5157
     5158/* Line 1806 of yacc.c  */
     5159#line 483 "parser.yy"
    52325160    { (yyval.en) = new ExpressionNode( build_unary_ptr( OperKinds::Decr, (yyvsp[(2) - (2)].en) ) ); }
    52335161    break;
    52345162
    5235   case 53:
    5236 
    5237 /* Line 1806 of yacc.c  */
    5238 #line 462 "parser.yy"
     5163  case 64:
     5164
     5165/* Line 1806 of yacc.c  */
     5166#line 485 "parser.yy"
    52395167    { (yyval.en) = new ExpressionNode( build_sizeOfexpr( (yyvsp[(2) - (2)].en) ) ); }
    52405168    break;
    52415169
    5242   case 54:
    5243 
    5244 /* Line 1806 of yacc.c  */
    5245 #line 464 "parser.yy"
     5170  case 65:
     5171
     5172/* Line 1806 of yacc.c  */
     5173#line 487 "parser.yy"
    52465174    { (yyval.en) = new ExpressionNode( build_sizeOftype( (yyvsp[(3) - (4)].decl) ) ); }
    52475175    break;
    52485176
    5249   case 55:
    5250 
    5251 /* Line 1806 of yacc.c  */
    5252 #line 466 "parser.yy"
     5177  case 66:
     5178
     5179/* Line 1806 of yacc.c  */
     5180#line 489 "parser.yy"
    52535181    { (yyval.en) = new ExpressionNode( build_alignOfexpr( (yyvsp[(2) - (2)].en) ) ); }
    52545182    break;
    52555183
    5256   case 56:
    5257 
    5258 /* Line 1806 of yacc.c  */
    5259 #line 468 "parser.yy"
     5184  case 67:
     5185
     5186/* Line 1806 of yacc.c  */
     5187#line 491 "parser.yy"
    52605188    { (yyval.en) = new ExpressionNode( build_alignOftype( (yyvsp[(3) - (4)].decl) ) ); }
    52615189    break;
    52625190
    5263   case 57:
    5264 
    5265 /* Line 1806 of yacc.c  */
    5266 #line 470 "parser.yy"
     5191  case 68:
     5192
     5193/* Line 1806 of yacc.c  */
     5194#line 493 "parser.yy"
    52675195    { (yyval.en) = new ExpressionNode( build_offsetOf( (yyvsp[(3) - (6)].decl), build_varref( (yyvsp[(5) - (6)].tok) ) ) ); }
    52685196    break;
    52695197
    5270   case 58:
    5271 
    5272 /* Line 1806 of yacc.c  */
    5273 #line 472 "parser.yy"
     5198  case 69:
     5199
     5200/* Line 1806 of yacc.c  */
     5201#line 495 "parser.yy"
    52745202    { (yyval.en) = new ExpressionNode( build_attrexpr( build_varref( (yyvsp[(1) - (1)].tok) ), nullptr ) ); }
    52755203    break;
    52765204
    5277   case 59:
    5278 
    5279 /* Line 1806 of yacc.c  */
    5280 #line 474 "parser.yy"
     5205  case 70:
     5206
     5207/* Line 1806 of yacc.c  */
     5208#line 497 "parser.yy"
    52815209    { (yyval.en) = new ExpressionNode( build_attrexpr( build_varref( (yyvsp[(1) - (4)].tok) ), (yyvsp[(3) - (4)].en) ) ); }
    52825210    break;
    52835211
    5284   case 60:
    5285 
    5286 /* Line 1806 of yacc.c  */
    5287 #line 476 "parser.yy"
     5212  case 71:
     5213
     5214/* Line 1806 of yacc.c  */
     5215#line 499 "parser.yy"
    52885216    { (yyval.en) = new ExpressionNode( build_attrtype( build_varref( (yyvsp[(1) - (4)].tok) ), (yyvsp[(3) - (4)].decl) ) ); }
    52895217    break;
    52905218
    5291   case 61:
    5292 
    5293 /* Line 1806 of yacc.c  */
    5294 #line 482 "parser.yy"
     5219  case 72:
     5220
     5221/* Line 1806 of yacc.c  */
     5222#line 505 "parser.yy"
    52955223    { (yyval.op) = OperKinds::PointTo; }
    52965224    break;
    52975225
    5298   case 62:
    5299 
    5300 /* Line 1806 of yacc.c  */
    5301 #line 483 "parser.yy"
     5226  case 73:
     5227
     5228/* Line 1806 of yacc.c  */
     5229#line 506 "parser.yy"
    53025230    { (yyval.op) = OperKinds::AddressOf; }
    53035231    break;
    53045232
    5305   case 63:
    5306 
    5307 /* Line 1806 of yacc.c  */
    5308 #line 489 "parser.yy"
     5233  case 74:
     5234
     5235/* Line 1806 of yacc.c  */
     5236#line 512 "parser.yy"
    53095237    { (yyval.op) = OperKinds::UnPlus; }
    53105238    break;
    53115239
    5312   case 64:
    5313 
    5314 /* Line 1806 of yacc.c  */
    5315 #line 490 "parser.yy"
     5240  case 75:
     5241
     5242/* Line 1806 of yacc.c  */
     5243#line 513 "parser.yy"
    53165244    { (yyval.op) = OperKinds::UnMinus; }
    53175245    break;
    53185246
    5319   case 65:
    5320 
    5321 /* Line 1806 of yacc.c  */
    5322 #line 491 "parser.yy"
     5247  case 76:
     5248
     5249/* Line 1806 of yacc.c  */
     5250#line 514 "parser.yy"
    53235251    { (yyval.op) = OperKinds::Neg; }
    53245252    break;
    53255253
    5326   case 66:
    5327 
    5328 /* Line 1806 of yacc.c  */
    5329 #line 492 "parser.yy"
     5254  case 77:
     5255
     5256/* Line 1806 of yacc.c  */
     5257#line 515 "parser.yy"
    53305258    { (yyval.op) = OperKinds::BitNeg; }
    53315259    break;
    53325260
    5333   case 68:
    5334 
    5335 /* Line 1806 of yacc.c  */
    5336 #line 498 "parser.yy"
     5261  case 79:
     5262
     5263/* Line 1806 of yacc.c  */
     5264#line 521 "parser.yy"
    53375265    { (yyval.en) = new ExpressionNode( build_cast( (yyvsp[(2) - (4)].decl), (yyvsp[(4) - (4)].en) ) ); }
    53385266    break;
    53395267
    5340   case 69:
    5341 
    5342 /* Line 1806 of yacc.c  */
    5343 #line 500 "parser.yy"
    5344     { (yyval.en) = new ExpressionNode( build_cast( (yyvsp[(2) - (4)].decl), (yyvsp[(4) - (4)].en) ) ); }
    5345     break;
    5346 
    5347   case 71:
    5348 
    5349 /* Line 1806 of yacc.c  */
    5350 #line 506 "parser.yy"
     5268  case 81:
     5269
     5270/* Line 1806 of yacc.c  */
     5271#line 529 "parser.yy"
    53515272    { (yyval.en) = new ExpressionNode( build_binary_val( OperKinds::Mul, (yyvsp[(1) - (3)].en), (yyvsp[(3) - (3)].en) ) ); }
    53525273    break;
    53535274
    5354   case 72:
    5355 
    5356 /* Line 1806 of yacc.c  */
    5357 #line 508 "parser.yy"
     5275  case 82:
     5276
     5277/* Line 1806 of yacc.c  */
     5278#line 531 "parser.yy"
    53585279    { (yyval.en) = new ExpressionNode( build_binary_val( OperKinds::Div, (yyvsp[(1) - (3)].en), (yyvsp[(3) - (3)].en) ) ); }
    53595280    break;
    53605281
    5361   case 73:
    5362 
    5363 /* Line 1806 of yacc.c  */
    5364 #line 510 "parser.yy"
     5282  case 83:
     5283
     5284/* Line 1806 of yacc.c  */
     5285#line 533 "parser.yy"
    53655286    { (yyval.en) = new ExpressionNode( build_binary_val( OperKinds::Mod, (yyvsp[(1) - (3)].en), (yyvsp[(3) - (3)].en) ) ); }
    53665287    break;
    53675288
    5368   case 75:
    5369 
    5370 /* Line 1806 of yacc.c  */
    5371 #line 516 "parser.yy"
     5289  case 85:
     5290
     5291/* Line 1806 of yacc.c  */
     5292#line 539 "parser.yy"
    53725293    { (yyval.en) = new ExpressionNode( build_binary_val( OperKinds::Plus, (yyvsp[(1) - (3)].en), (yyvsp[(3) - (3)].en) ) ); }
    53735294    break;
    53745295
    5375   case 76:
    5376 
    5377 /* Line 1806 of yacc.c  */
    5378 #line 518 "parser.yy"
     5296  case 86:
     5297
     5298/* Line 1806 of yacc.c  */
     5299#line 541 "parser.yy"
    53795300    { (yyval.en) = new ExpressionNode( build_binary_val( OperKinds::Minus, (yyvsp[(1) - (3)].en), (yyvsp[(3) - (3)].en) ) ); }
    53805301    break;
    53815302
    5382   case 78:
    5383 
    5384 /* Line 1806 of yacc.c  */
    5385 #line 524 "parser.yy"
     5303  case 88:
     5304
     5305/* Line 1806 of yacc.c  */
     5306#line 547 "parser.yy"
    53865307    { (yyval.en) = new ExpressionNode( build_binary_val( OperKinds::LShift, (yyvsp[(1) - (3)].en), (yyvsp[(3) - (3)].en) ) ); }
    53875308    break;
    53885309
    5389   case 79:
    5390 
    5391 /* Line 1806 of yacc.c  */
    5392 #line 526 "parser.yy"
     5310  case 89:
     5311
     5312/* Line 1806 of yacc.c  */
     5313#line 549 "parser.yy"
    53935314    { (yyval.en) = new ExpressionNode( build_binary_val( OperKinds::RShift, (yyvsp[(1) - (3)].en), (yyvsp[(3) - (3)].en) ) ); }
    53945315    break;
    53955316
    5396   case 81:
    5397 
    5398 /* Line 1806 of yacc.c  */
    5399 #line 532 "parser.yy"
     5317  case 91:
     5318
     5319/* Line 1806 of yacc.c  */
     5320#line 555 "parser.yy"
    54005321    { (yyval.en) = new ExpressionNode( build_binary_val( OperKinds::LThan, (yyvsp[(1) - (3)].en), (yyvsp[(3) - (3)].en) ) ); }
    54015322    break;
    54025323
    5403   case 82:
    5404 
    5405 /* Line 1806 of yacc.c  */
    5406 #line 534 "parser.yy"
     5324  case 92:
     5325
     5326/* Line 1806 of yacc.c  */
     5327#line 557 "parser.yy"
    54075328    { (yyval.en) = new ExpressionNode( build_binary_val( OperKinds::GThan, (yyvsp[(1) - (3)].en), (yyvsp[(3) - (3)].en) ) ); }
    54085329    break;
    54095330
    5410   case 83:
    5411 
    5412 /* Line 1806 of yacc.c  */
    5413 #line 536 "parser.yy"
     5331  case 93:
     5332
     5333/* Line 1806 of yacc.c  */
     5334#line 559 "parser.yy"
    54145335    { (yyval.en) = new ExpressionNode( build_binary_val( OperKinds::LEThan, (yyvsp[(1) - (3)].en), (yyvsp[(3) - (3)].en) ) ); }
    54155336    break;
    54165337
    5417   case 84:
    5418 
    5419 /* Line 1806 of yacc.c  */
    5420 #line 538 "parser.yy"
     5338  case 94:
     5339
     5340/* Line 1806 of yacc.c  */
     5341#line 561 "parser.yy"
    54215342    { (yyval.en) = new ExpressionNode( build_binary_val( OperKinds::GEThan, (yyvsp[(1) - (3)].en), (yyvsp[(3) - (3)].en) ) ); }
    54225343    break;
    54235344
    5424   case 86:
    5425 
    5426 /* Line 1806 of yacc.c  */
    5427 #line 544 "parser.yy"
     5345  case 96:
     5346
     5347/* Line 1806 of yacc.c  */
     5348#line 567 "parser.yy"
    54285349    { (yyval.en) = new ExpressionNode( build_binary_val( OperKinds::Eq, (yyvsp[(1) - (3)].en), (yyvsp[(3) - (3)].en) ) ); }
    54295350    break;
    54305351
    5431   case 87:
    5432 
    5433 /* Line 1806 of yacc.c  */
    5434 #line 546 "parser.yy"
     5352  case 97:
     5353
     5354/* Line 1806 of yacc.c  */
     5355#line 569 "parser.yy"
    54355356    { (yyval.en) = new ExpressionNode( build_binary_val( OperKinds::Neq, (yyvsp[(1) - (3)].en), (yyvsp[(3) - (3)].en) ) ); }
    54365357    break;
    54375358
    5438   case 89:
    5439 
    5440 /* Line 1806 of yacc.c  */
    5441 #line 552 "parser.yy"
     5359  case 99:
     5360
     5361/* Line 1806 of yacc.c  */
     5362#line 575 "parser.yy"
    54425363    { (yyval.en) = new ExpressionNode( build_binary_val( OperKinds::BitAnd, (yyvsp[(1) - (3)].en), (yyvsp[(3) - (3)].en) ) ); }
    54435364    break;
    54445365
    5445   case 91:
    5446 
    5447 /* Line 1806 of yacc.c  */
    5448 #line 558 "parser.yy"
     5366  case 101:
     5367
     5368/* Line 1806 of yacc.c  */
     5369#line 581 "parser.yy"
    54495370    { (yyval.en) = new ExpressionNode( build_binary_val( OperKinds::Xor, (yyvsp[(1) - (3)].en), (yyvsp[(3) - (3)].en) ) ); }
    54505371    break;
    54515372
    5452   case 93:
    5453 
    5454 /* Line 1806 of yacc.c  */
    5455 #line 564 "parser.yy"
     5373  case 103:
     5374
     5375/* Line 1806 of yacc.c  */
     5376#line 587 "parser.yy"
    54565377    { (yyval.en) = new ExpressionNode( build_binary_val( OperKinds::BitOr, (yyvsp[(1) - (3)].en), (yyvsp[(3) - (3)].en) ) ); }
    54575378    break;
    54585379
    5459   case 95:
    5460 
    5461 /* Line 1806 of yacc.c  */
    5462 #line 570 "parser.yy"
     5380  case 105:
     5381
     5382/* Line 1806 of yacc.c  */
     5383#line 593 "parser.yy"
    54635384    { (yyval.en) = new ExpressionNode( build_and_or( (yyvsp[(1) - (3)].en), (yyvsp[(3) - (3)].en), true ) ); }
    54645385    break;
    54655386
    5466   case 97:
    5467 
    5468 /* Line 1806 of yacc.c  */
    5469 #line 576 "parser.yy"
     5387  case 107:
     5388
     5389/* Line 1806 of yacc.c  */
     5390#line 599 "parser.yy"
    54705391    { (yyval.en) = new ExpressionNode( build_and_or( (yyvsp[(1) - (3)].en), (yyvsp[(3) - (3)].en), false ) ); }
    54715392    break;
    54725393
    5473   case 99:
    5474 
    5475 /* Line 1806 of yacc.c  */
    5476 #line 582 "parser.yy"
     5394  case 109:
     5395
     5396/* Line 1806 of yacc.c  */
     5397#line 605 "parser.yy"
    54775398    { (yyval.en) = new ExpressionNode( build_cond( (yyvsp[(1) - (5)].en), (yyvsp[(3) - (5)].en), (yyvsp[(5) - (5)].en) ) ); }
    54785399    break;
    54795400
    5480   case 100:
    5481 
    5482 /* Line 1806 of yacc.c  */
    5483 #line 585 "parser.yy"
     5401  case 110:
     5402
     5403/* Line 1806 of yacc.c  */
     5404#line 608 "parser.yy"
    54845405    { (yyval.en) = new ExpressionNode( build_cond( (yyvsp[(1) - (4)].en), (yyvsp[(1) - (4)].en), (yyvsp[(4) - (4)].en) ) ); }
    54855406    break;
    54865407
    5487   case 101:
    5488 
    5489 /* Line 1806 of yacc.c  */
    5490 #line 587 "parser.yy"
    5491     { (yyval.en) = new ExpressionNode( build_cond( (yyvsp[(1) - (5)].en), (yyvsp[(3) - (5)].en), (yyvsp[(5) - (5)].en) ) ); }
    5492     break;
    5493 
    5494   case 104:
    5495 
    5496 /* Line 1806 of yacc.c  */
    5497 #line 598 "parser.yy"
     5408  case 113:
     5409
     5410/* Line 1806 of yacc.c  */
     5411#line 621 "parser.yy"
    54985412    { (yyval.en) = new ExpressionNode( build_binary_ptr( (yyvsp[(2) - (3)].op), (yyvsp[(1) - (3)].en), (yyvsp[(3) - (3)].en) ) ); }
    54995413    break;
    55005414
    5501   case 105:
    5502 
    5503 /* Line 1806 of yacc.c  */
    5504 #line 600 "parser.yy"
    5505     { (yyval.en) = ( (yyvsp[(2) - (2)].en) == 0 ) ? (yyvsp[(1) - (2)].en) : new ExpressionNode( build_binary_ptr( OperKinds::Assign, (yyvsp[(1) - (2)].en), (yyvsp[(2) - (2)].en) ) ); }
    5506     break;
    5507 
    5508   case 106:
    5509 
    5510 /* Line 1806 of yacc.c  */
    5511 #line 605 "parser.yy"
     5415  case 114:
     5416
     5417/* Line 1806 of yacc.c  */
     5418#line 628 "parser.yy"
    55125419    { (yyval.en) = nullptr; }
    55135420    break;
    55145421
    5515   case 108:
    5516 
    5517 /* Line 1806 of yacc.c  */
    5518 #line 610 "parser.yy"
     5422  case 116:
     5423
     5424/* Line 1806 of yacc.c  */
     5425#line 633 "parser.yy"
    55195426    { (yyval.op) = OperKinds::Assign; }
    55205427    break;
    55215428
    5522   case 109:
    5523 
    5524 /* Line 1806 of yacc.c  */
    5525 #line 611 "parser.yy"
     5429  case 117:
     5430
     5431/* Line 1806 of yacc.c  */
     5432#line 634 "parser.yy"
    55265433    { (yyval.op) = OperKinds::AtAssn; }
    55275434    break;
    55285435
    5529   case 110:
    5530 
    5531 /* Line 1806 of yacc.c  */
    5532 #line 612 "parser.yy"
     5436  case 118:
     5437
     5438/* Line 1806 of yacc.c  */
     5439#line 635 "parser.yy"
    55335440    { (yyval.op) = OperKinds::MulAssn; }
    55345441    break;
    55355442
    5536   case 111:
    5537 
    5538 /* Line 1806 of yacc.c  */
    5539 #line 613 "parser.yy"
     5443  case 119:
     5444
     5445/* Line 1806 of yacc.c  */
     5446#line 636 "parser.yy"
    55405447    { (yyval.op) = OperKinds::DivAssn; }
    55415448    break;
    55425449
    5543   case 112:
    5544 
    5545 /* Line 1806 of yacc.c  */
    5546 #line 614 "parser.yy"
     5450  case 120:
     5451
     5452/* Line 1806 of yacc.c  */
     5453#line 637 "parser.yy"
    55475454    { (yyval.op) = OperKinds::ModAssn; }
    55485455    break;
    55495456
    5550   case 113:
    5551 
    5552 /* Line 1806 of yacc.c  */
    5553 #line 615 "parser.yy"
     5457  case 121:
     5458
     5459/* Line 1806 of yacc.c  */
     5460#line 638 "parser.yy"
    55545461    { (yyval.op) = OperKinds::PlusAssn; }
    55555462    break;
    55565463
    5557   case 114:
    5558 
    5559 /* Line 1806 of yacc.c  */
    5560 #line 616 "parser.yy"
     5464  case 122:
     5465
     5466/* Line 1806 of yacc.c  */
     5467#line 639 "parser.yy"
    55615468    { (yyval.op) = OperKinds::MinusAssn; }
    55625469    break;
    55635470
    5564   case 115:
    5565 
    5566 /* Line 1806 of yacc.c  */
    5567 #line 617 "parser.yy"
     5471  case 123:
     5472
     5473/* Line 1806 of yacc.c  */
     5474#line 640 "parser.yy"
    55685475    { (yyval.op) = OperKinds::LSAssn; }
    55695476    break;
    55705477
    5571   case 116:
    5572 
    5573 /* Line 1806 of yacc.c  */
    5574 #line 618 "parser.yy"
     5478  case 124:
     5479
     5480/* Line 1806 of yacc.c  */
     5481#line 641 "parser.yy"
    55755482    { (yyval.op) = OperKinds::RSAssn; }
    55765483    break;
    55775484
    5578   case 117:
    5579 
    5580 /* Line 1806 of yacc.c  */
    5581 #line 619 "parser.yy"
     5485  case 125:
     5486
     5487/* Line 1806 of yacc.c  */
     5488#line 642 "parser.yy"
    55825489    { (yyval.op) = OperKinds::AndAssn; }
    55835490    break;
    55845491
    5585   case 118:
    5586 
    5587 /* Line 1806 of yacc.c  */
    5588 #line 620 "parser.yy"
     5492  case 126:
     5493
     5494/* Line 1806 of yacc.c  */
     5495#line 643 "parser.yy"
    55895496    { (yyval.op) = OperKinds::ERAssn; }
    55905497    break;
    55915498
    5592   case 119:
    5593 
    5594 /* Line 1806 of yacc.c  */
    5595 #line 621 "parser.yy"
     5499  case 127:
     5500
     5501/* Line 1806 of yacc.c  */
     5502#line 644 "parser.yy"
    55965503    { (yyval.op) = OperKinds::OrAssn; }
    55975504    break;
    55985505
    5599   case 120:
    5600 
    5601 /* Line 1806 of yacc.c  */
    5602 #line 628 "parser.yy"
    5603     { (yyval.en) = new ExpressionNode( build_tuple() ); }
    5604     break;
    5605 
    5606   case 121:
    5607 
    5608 /* Line 1806 of yacc.c  */
    5609 #line 630 "parser.yy"
    5610     { (yyval.en) = new ExpressionNode( build_tuple( (yyvsp[(3) - (5)].en) ) ); }
    5611     break;
    5612 
    5613   case 122:
    5614 
    5615 /* Line 1806 of yacc.c  */
    5616 #line 632 "parser.yy"
     5506  case 128:
     5507
     5508/* Line 1806 of yacc.c  */
     5509#line 655 "parser.yy"
    56175510    { (yyval.en) = new ExpressionNode( build_tuple( (ExpressionNode *)(new ExpressionNode( nullptr ) )->set_last( (yyvsp[(4) - (6)].en) ) ) ); }
    56185511    break;
    56195512
    5620   case 123:
    5621 
    5622 /* Line 1806 of yacc.c  */
    5623 #line 634 "parser.yy"
     5513  case 129:
     5514
     5515/* Line 1806 of yacc.c  */
     5516#line 657 "parser.yy"
    56245517    { (yyval.en) = new ExpressionNode( build_tuple( (ExpressionNode *)(yyvsp[(3) - (7)].en)->set_last( (yyvsp[(5) - (7)].en) ) ) ); }
    56255518    break;
    56265519
    5627   case 125:
    5628 
    5629 /* Line 1806 of yacc.c  */
    5630 #line 640 "parser.yy"
     5520  case 131:
     5521
     5522/* Line 1806 of yacc.c  */
     5523#line 663 "parser.yy"
    56315524    { (yyval.en) = (ExpressionNode *)(yyvsp[(1) - (3)].en)->set_last( (yyvsp[(3) - (3)].en) ); }
    56325525    break;
    56335526
    5634   case 127:
    5635 
    5636 /* Line 1806 of yacc.c  */
    5637 #line 646 "parser.yy"
     5527  case 133:
     5528
     5529/* Line 1806 of yacc.c  */
     5530#line 669 "parser.yy"
    56385531    { (yyval.en) = new ExpressionNode( build_comma( (yyvsp[(1) - (3)].en), (yyvsp[(3) - (3)].en) ) ); }
    56395532    break;
    56405533
    5641   case 128:
    5642 
    5643 /* Line 1806 of yacc.c  */
    5644 #line 651 "parser.yy"
     5534  case 134:
     5535
     5536/* Line 1806 of yacc.c  */
     5537#line 674 "parser.yy"
    56455538    { (yyval.en) = 0; }
    56465539    break;
    56475540
    5648   case 132:
    5649 
    5650 /* Line 1806 of yacc.c  */
    5651 #line 660 "parser.yy"
     5541  case 138:
     5542
     5543/* Line 1806 of yacc.c  */
     5544#line 683 "parser.yy"
    56525545    { (yyval.sn) = (yyvsp[(1) - (1)].sn); }
    56535546    break;
    56545547
    5655   case 138:
    5656 
    5657 /* Line 1806 of yacc.c  */
    5658 #line 667 "parser.yy"
     5548  case 144:
     5549
     5550/* Line 1806 of yacc.c  */
     5551#line 690 "parser.yy"
    56595552    {
    56605553                        Token fn;
     
    56645557    break;
    56655558
    5666   case 139:
    5667 
    5668 /* Line 1806 of yacc.c  */
    5669 #line 677 "parser.yy"
     5559  case 145:
     5560
     5561/* Line 1806 of yacc.c  */
     5562#line 700 "parser.yy"
    56705563    {
    56715564                        (yyval.sn) = (yyvsp[(4) - (4)].sn)->add_label( (yyvsp[(1) - (4)].tok) );
     
    56735566    break;
    56745567
    5675   case 140:
    5676 
    5677 /* Line 1806 of yacc.c  */
    5678 #line 684 "parser.yy"
     5568  case 146:
     5569
     5570/* Line 1806 of yacc.c  */
     5571#line 707 "parser.yy"
    56795572    { (yyval.sn) = new StatementNode( build_compound( (StatementNode *)0 ) ); }
    56805573    break;
    56815574
    5682   case 141:
    5683 
    5684 /* Line 1806 of yacc.c  */
    5685 #line 691 "parser.yy"
     5575  case 147:
     5576
     5577/* Line 1806 of yacc.c  */
     5578#line 714 "parser.yy"
    56865579    { (yyval.sn) = new StatementNode( build_compound( (yyvsp[(5) - (7)].sn) ) ); }
    56875580    break;
    56885581
    5689   case 143:
    5690 
    5691 /* Line 1806 of yacc.c  */
    5692 #line 697 "parser.yy"
     5582  case 149:
     5583
     5584/* Line 1806 of yacc.c  */
     5585#line 720 "parser.yy"
    56935586    { if ( (yyvsp[(1) - (3)].sn) != 0 ) { (yyvsp[(1) - (3)].sn)->set_last( (yyvsp[(3) - (3)].sn) ); (yyval.sn) = (yyvsp[(1) - (3)].sn); } }
    56945587    break;
    56955588
    5696   case 144:
    5697 
    5698 /* Line 1806 of yacc.c  */
    5699 #line 702 "parser.yy"
     5589  case 150:
     5590
     5591/* Line 1806 of yacc.c  */
     5592#line 725 "parser.yy"
    57005593    { (yyval.sn) = new StatementNode( (yyvsp[(1) - (1)].decl) ); }
    57015594    break;
    57025595
    5703   case 145:
    5704 
    5705 /* Line 1806 of yacc.c  */
    5706 #line 704 "parser.yy"
     5596  case 151:
     5597
     5598/* Line 1806 of yacc.c  */
     5599#line 727 "parser.yy"
    57075600    {   // mark all fields in list
    57085601                        for ( DeclarationNode *iter = (yyvsp[(2) - (2)].decl); iter != nullptr; iter = (DeclarationNode *)iter->get_next() )
     
    57125605    break;
    57135606
    5714   case 146:
    5715 
    5716 /* Line 1806 of yacc.c  */
    5717 #line 710 "parser.yy"
     5607  case 152:
     5608
     5609/* Line 1806 of yacc.c  */
     5610#line 733 "parser.yy"
    57185611    { (yyval.sn) = new StatementNode( (yyvsp[(1) - (1)].decl) ); }
    57195612    break;
    57205613
    5721   case 149:
    5722 
    5723 /* Line 1806 of yacc.c  */
    5724 #line 717 "parser.yy"
     5614  case 155:
     5615
     5616/* Line 1806 of yacc.c  */
     5617#line 740 "parser.yy"
    57255618    { if ( (yyvsp[(1) - (2)].sn) != 0 ) { (yyvsp[(1) - (2)].sn)->set_last( (yyvsp[(2) - (2)].sn) ); (yyval.sn) = (yyvsp[(1) - (2)].sn); } }
    57265619    break;
    57275620
    5728   case 150:
    5729 
    5730 /* Line 1806 of yacc.c  */
    5731 #line 722 "parser.yy"
     5621  case 156:
     5622
     5623/* Line 1806 of yacc.c  */
     5624#line 745 "parser.yy"
    57325625    { (yyval.sn) = new StatementNode( build_expr( (yyvsp[(1) - (2)].en) ) ); }
    57335626    break;
    57345627
    5735   case 151:
    5736 
    5737 /* Line 1806 of yacc.c  */
    5738 #line 728 "parser.yy"
     5628  case 157:
     5629
     5630/* Line 1806 of yacc.c  */
     5631#line 751 "parser.yy"
    57395632    { (yyval.sn) = new StatementNode( build_if( (yyvsp[(3) - (5)].en), (yyvsp[(5) - (5)].sn), nullptr ) ); }
    57405633    break;
    57415634
    5742   case 152:
    5743 
    5744 /* Line 1806 of yacc.c  */
    5745 #line 730 "parser.yy"
     5635  case 158:
     5636
     5637/* Line 1806 of yacc.c  */
     5638#line 753 "parser.yy"
    57465639    { (yyval.sn) = new StatementNode( build_if( (yyvsp[(3) - (7)].en), (yyvsp[(5) - (7)].sn), (yyvsp[(7) - (7)].sn) ) ); }
    57475640    break;
    57485641
    5749   case 153:
    5750 
    5751 /* Line 1806 of yacc.c  */
    5752 #line 732 "parser.yy"
     5642  case 159:
     5643
     5644/* Line 1806 of yacc.c  */
     5645#line 755 "parser.yy"
    57535646    { (yyval.sn) = new StatementNode( build_switch( (yyvsp[(3) - (5)].en), (yyvsp[(5) - (5)].sn) ) ); }
    57545647    break;
    57555648
    5756   case 154:
    5757 
    5758 /* Line 1806 of yacc.c  */
    5759 #line 734 "parser.yy"
     5649  case 160:
     5650
     5651/* Line 1806 of yacc.c  */
     5652#line 757 "parser.yy"
    57605653    {
    57615654                        StatementNode *sw = new StatementNode( build_switch( (yyvsp[(3) - (9)].en), (yyvsp[(8) - (9)].sn) ) );
     
    57695662    break;
    57705663
    5771   case 155:
    5772 
    5773 /* Line 1806 of yacc.c  */
    5774 #line 744 "parser.yy"
     5664  case 161:
     5665
     5666/* Line 1806 of yacc.c  */
     5667#line 767 "parser.yy"
    57755668    { (yyval.sn) = new StatementNode( build_switch( (yyvsp[(3) - (5)].en), (yyvsp[(5) - (5)].sn) ) ); }
    57765669    break;
    57775670
    5778   case 156:
    5779 
    5780 /* Line 1806 of yacc.c  */
    5781 #line 746 "parser.yy"
     5671  case 162:
     5672
     5673/* Line 1806 of yacc.c  */
     5674#line 769 "parser.yy"
    57825675    {
    57835676                        StatementNode *sw = new StatementNode( build_switch( (yyvsp[(3) - (9)].en), (yyvsp[(8) - (9)].sn) ) );
     
    57865679    break;
    57875680
    5788   case 157:
    5789 
    5790 /* Line 1806 of yacc.c  */
    5791 #line 756 "parser.yy"
     5681  case 163:
     5682
     5683/* Line 1806 of yacc.c  */
     5684#line 779 "parser.yy"
    57925685    { (yyval.en) = (yyvsp[(1) - (1)].en); }
    57935686    break;
    57945687
    5795   case 158:
    5796 
    5797 /* Line 1806 of yacc.c  */
    5798 #line 758 "parser.yy"
     5688  case 164:
     5689
     5690/* Line 1806 of yacc.c  */
     5691#line 781 "parser.yy"
    57995692    { (yyval.en) = new ExpressionNode( build_range( (yyvsp[(1) - (3)].en), (yyvsp[(3) - (3)].en) ) ); }
    58005693    break;
    58015694
    5802   case 160:
    5803 
    5804 /* Line 1806 of yacc.c  */
    5805 #line 763 "parser.yy"
     5695  case 166:
     5696
     5697/* Line 1806 of yacc.c  */
     5698#line 786 "parser.yy"
    58065699    { (yyval.sn) = new StatementNode( build_case( (yyvsp[(1) - (1)].en) ) ); }
    58075700    break;
    58085701
    5809   case 161:
    5810 
    5811 /* Line 1806 of yacc.c  */
    5812 #line 765 "parser.yy"
     5702  case 167:
     5703
     5704/* Line 1806 of yacc.c  */
     5705#line 788 "parser.yy"
    58135706    { (yyval.sn) = (StatementNode *)((yyvsp[(1) - (3)].sn)->set_last( new StatementNode( build_case( (yyvsp[(3) - (3)].en) ) ) ) ); }
    58145707    break;
    58155708
    5816   case 162:
    5817 
    5818 /* Line 1806 of yacc.c  */
    5819 #line 769 "parser.yy"
     5709  case 168:
     5710
     5711/* Line 1806 of yacc.c  */
     5712#line 792 "parser.yy"
    58205713    { (yyval.sn) = (yyvsp[(2) - (3)].sn); }
    58215714    break;
    58225715
    5823   case 163:
    5824 
    5825 /* Line 1806 of yacc.c  */
    5826 #line 770 "parser.yy"
     5716  case 169:
     5717
     5718/* Line 1806 of yacc.c  */
     5719#line 793 "parser.yy"
    58275720    { (yyval.sn) = new StatementNode( build_default() ); }
    58285721    break;
    58295722
    5830   case 165:
    5831 
    5832 /* Line 1806 of yacc.c  */
    5833 #line 776 "parser.yy"
     5723  case 171:
     5724
     5725/* Line 1806 of yacc.c  */
     5726#line 799 "parser.yy"
    58345727    { (yyval.sn) = (StatementNode *)( (yyvsp[(1) - (2)].sn)->set_last( (yyvsp[(2) - (2)].sn) )); }
    58355728    break;
    58365729
    5837   case 166:
    5838 
    5839 /* Line 1806 of yacc.c  */
    5840 #line 780 "parser.yy"
     5730  case 172:
     5731
     5732/* Line 1806 of yacc.c  */
     5733#line 803 "parser.yy"
    58415734    { (yyval.sn) = (yyvsp[(1) - (2)].sn)->append_last_case( new StatementNode( build_compound( (yyvsp[(2) - (2)].sn) ) ) ); }
    58425735    break;
    58435736
    5844   case 167:
    5845 
    5846 /* Line 1806 of yacc.c  */
    5847 #line 785 "parser.yy"
     5737  case 173:
     5738
     5739/* Line 1806 of yacc.c  */
     5740#line 808 "parser.yy"
    58485741    { (yyval.sn) = 0; }
    58495742    break;
    58505743
    5851   case 169:
    5852 
    5853 /* Line 1806 of yacc.c  */
    5854 #line 791 "parser.yy"
     5744  case 175:
     5745
     5746/* Line 1806 of yacc.c  */
     5747#line 814 "parser.yy"
    58555748    { (yyval.sn) = (yyvsp[(1) - (2)].sn)->append_last_case( new StatementNode( build_compound( (yyvsp[(2) - (2)].sn) ) ) ); }
    58565749    break;
    58575750
    5858   case 170:
    5859 
    5860 /* Line 1806 of yacc.c  */
    5861 #line 793 "parser.yy"
     5751  case 176:
     5752
     5753/* Line 1806 of yacc.c  */
     5754#line 816 "parser.yy"
    58625755    { (yyval.sn) = (StatementNode *)( (yyvsp[(1) - (3)].sn)->set_last( (yyvsp[(2) - (3)].sn)->append_last_case( new StatementNode( build_compound( (yyvsp[(3) - (3)].sn) ) ) ) ) ); }
    58635756    break;
    58645757
    5865   case 171:
    5866 
    5867 /* Line 1806 of yacc.c  */
    5868 #line 798 "parser.yy"
    5869     { (yyval.sn) = 0; }
    5870     break;
    5871 
    5872   case 173:
    5873 
    5874 /* Line 1806 of yacc.c  */
    5875 #line 804 "parser.yy"
    5876     { (yyval.sn) = (yyvsp[(1) - (2)].sn)->append_last_case( (yyvsp[(2) - (2)].sn) ); }
    5877     break;
    5878 
    5879   case 174:
    5880 
    5881 /* Line 1806 of yacc.c  */
    5882 #line 806 "parser.yy"
    5883     { (yyval.sn) = (yyvsp[(1) - (3)].sn)->append_last_case( new StatementNode( build_compound( (StatementNode *)(yyvsp[(2) - (3)].sn)->set_last( (yyvsp[(3) - (3)].sn) ) ) ) ); }
    5884     break;
    5885 
    5886   case 175:
    5887 
    5888 /* Line 1806 of yacc.c  */
    5889 #line 808 "parser.yy"
    5890     { (yyval.sn) = (StatementNode *)( (yyvsp[(1) - (3)].sn)->set_last( (yyvsp[(2) - (3)].sn)->append_last_case( (yyvsp[(3) - (3)].sn) ))); }
    5891     break;
    5892 
    5893   case 176:
    5894 
    5895 /* Line 1806 of yacc.c  */
    5896 #line 810 "parser.yy"
    5897     { (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) ) ) ) ) ) ); }
    5898     break;
    5899 
    59005758  case 177:
    5901 
    5902 /* Line 1806 of yacc.c  */
    5903 #line 815 "parser.yy"
    5904     { (yyval.sn) = new StatementNode( build_branch( BranchStmt::Break ) ); }
    5905     break;
    5906 
    5907   case 179:
    59085759
    59095760/* Line 1806 of yacc.c  */
     
    59125763    break;
    59135764
     5765  case 179:
     5766
     5767/* Line 1806 of yacc.c  */
     5768#line 827 "parser.yy"
     5769    { (yyval.sn) = (yyvsp[(1) - (2)].sn)->append_last_case( (yyvsp[(2) - (2)].sn) ); }
     5770    break;
     5771
    59145772  case 180:
    59155773
    59165774/* Line 1806 of yacc.c  */
    5917 #line 823 "parser.yy"
     5775#line 829 "parser.yy"
     5776    { (yyval.sn) = (yyvsp[(1) - (3)].sn)->append_last_case( new StatementNode( build_compound( (StatementNode *)(yyvsp[(2) - (3)].sn)->set_last( (yyvsp[(3) - (3)].sn) ) ) ) ); }
     5777    break;
     5778
     5779  case 181:
     5780
     5781/* Line 1806 of yacc.c  */
     5782#line 831 "parser.yy"
     5783    { (yyval.sn) = (StatementNode *)( (yyvsp[(1) - (3)].sn)->set_last( (yyvsp[(2) - (3)].sn)->append_last_case( (yyvsp[(3) - (3)].sn) ))); }
     5784    break;
     5785
     5786  case 182:
     5787
     5788/* Line 1806 of yacc.c  */
     5789#line 833 "parser.yy"
     5790    { (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) ) ) ) ) ) ); }
     5791    break;
     5792
     5793  case 183:
     5794
     5795/* Line 1806 of yacc.c  */
     5796#line 838 "parser.yy"
     5797    { (yyval.sn) = new StatementNode( build_branch( BranchStmt::Break ) ); }
     5798    break;
     5799
     5800  case 185:
     5801
     5802/* Line 1806 of yacc.c  */
     5803#line 844 "parser.yy"
    59185804    { (yyval.sn) = 0; }
    59195805    break;
    59205806
    5921   case 181:
    5922 
    5923 /* Line 1806 of yacc.c  */
    5924 #line 828 "parser.yy"
     5807  case 186:
     5808
     5809/* Line 1806 of yacc.c  */
     5810#line 846 "parser.yy"
     5811    { (yyval.sn) = 0; }
     5812    break;
     5813
     5814  case 187:
     5815
     5816/* Line 1806 of yacc.c  */
     5817#line 851 "parser.yy"
    59255818    { (yyval.sn) = new StatementNode( build_while( (yyvsp[(3) - (5)].en), (yyvsp[(5) - (5)].sn) ) ); }
    59265819    break;
    59275820
    5928   case 182:
    5929 
    5930 /* Line 1806 of yacc.c  */
    5931 #line 830 "parser.yy"
     5821  case 188:
     5822
     5823/* Line 1806 of yacc.c  */
     5824#line 853 "parser.yy"
    59325825    { (yyval.sn) = new StatementNode( build_while( (yyvsp[(5) - (7)].en), (yyvsp[(2) - (7)].sn), true ) ); }
    59335826    break;
    59345827
    5935   case 183:
    5936 
    5937 /* Line 1806 of yacc.c  */
    5938 #line 832 "parser.yy"
     5828  case 189:
     5829
     5830/* Line 1806 of yacc.c  */
     5831#line 855 "parser.yy"
    59395832    { (yyval.sn) = new StatementNode( build_for( (yyvsp[(4) - (6)].fctl), (yyvsp[(6) - (6)].sn) ) ); }
    59405833    break;
    59415834
    5942   case 184:
    5943 
    5944 /* Line 1806 of yacc.c  */
    5945 #line 837 "parser.yy"
     5835  case 190:
     5836
     5837/* Line 1806 of yacc.c  */
     5838#line 860 "parser.yy"
    59465839    { (yyval.fctl) = new ForCtl( (yyvsp[(1) - (6)].en), (yyvsp[(4) - (6)].en), (yyvsp[(6) - (6)].en) ); }
    59475840    break;
    59485841
    5949   case 185:
    5950 
    5951 /* Line 1806 of yacc.c  */
    5952 #line 839 "parser.yy"
     5842  case 191:
     5843
     5844/* Line 1806 of yacc.c  */
     5845#line 862 "parser.yy"
    59535846    { (yyval.fctl) = new ForCtl( (yyvsp[(1) - (4)].decl), (yyvsp[(2) - (4)].en), (yyvsp[(4) - (4)].en) ); }
    59545847    break;
    59555848
    5956   case 186:
    5957 
    5958 /* Line 1806 of yacc.c  */
    5959 #line 844 "parser.yy"
     5849  case 192:
     5850
     5851/* Line 1806 of yacc.c  */
     5852#line 867 "parser.yy"
    59605853    { (yyval.sn) = new StatementNode( build_branch( (yyvsp[(2) - (3)].tok), BranchStmt::Goto ) ); }
    59615854    break;
    59625855
    5963   case 187:
    5964 
    5965 /* Line 1806 of yacc.c  */
    5966 #line 848 "parser.yy"
     5856  case 193:
     5857
     5858/* Line 1806 of yacc.c  */
     5859#line 871 "parser.yy"
    59675860    { (yyval.sn) = new StatementNode( build_computedgoto( (yyvsp[(3) - (4)].en) ) ); }
    59685861    break;
    59695862
    5970   case 188:
    5971 
    5972 /* Line 1806 of yacc.c  */
    5973 #line 851 "parser.yy"
     5863  case 194:
     5864
     5865/* Line 1806 of yacc.c  */
     5866#line 874 "parser.yy"
    59745867    { (yyval.sn) = new StatementNode( build_branch( BranchStmt::Continue ) ); }
    59755868    break;
    59765869
    5977   case 189:
    5978 
    5979 /* Line 1806 of yacc.c  */
    5980 #line 855 "parser.yy"
     5870  case 195:
     5871
     5872/* Line 1806 of yacc.c  */
     5873#line 878 "parser.yy"
    59815874    { (yyval.sn) = new StatementNode( build_branch( (yyvsp[(2) - (3)].tok), BranchStmt::Continue ) ); }
    59825875    break;
    59835876
    5984   case 190:
    5985 
    5986 /* Line 1806 of yacc.c  */
    5987 #line 858 "parser.yy"
     5877  case 196:
     5878
     5879/* Line 1806 of yacc.c  */
     5880#line 881 "parser.yy"
    59885881    { (yyval.sn) = new StatementNode( build_branch( BranchStmt::Break ) ); }
    59895882    break;
    59905883
    5991   case 191:
    5992 
    5993 /* Line 1806 of yacc.c  */
    5994 #line 862 "parser.yy"
     5884  case 197:
     5885
     5886/* Line 1806 of yacc.c  */
     5887#line 885 "parser.yy"
    59955888    { (yyval.sn) = new StatementNode( build_branch( (yyvsp[(2) - (3)].tok), BranchStmt::Break ) ); }
    59965889    break;
    59975890
    5998   case 192:
    5999 
    6000 /* Line 1806 of yacc.c  */
    6001 #line 864 "parser.yy"
     5891  case 198:
     5892
     5893/* Line 1806 of yacc.c  */
     5894#line 887 "parser.yy"
    60025895    { (yyval.sn) = new StatementNode( build_return( (yyvsp[(2) - (3)].en) ) ); }
    60035896    break;
    60045897
    6005   case 193:
    6006 
    6007 /* Line 1806 of yacc.c  */
    6008 #line 866 "parser.yy"
     5898  case 199:
     5899
     5900/* Line 1806 of yacc.c  */
     5901#line 889 "parser.yy"
    60095902    { (yyval.sn) = new StatementNode( build_throw( (yyvsp[(2) - (3)].en) ) ); }
    60105903    break;
    60115904
    6012   case 194:
    6013 
    6014 /* Line 1806 of yacc.c  */
    6015 #line 868 "parser.yy"
     5905  case 200:
     5906
     5907/* Line 1806 of yacc.c  */
     5908#line 891 "parser.yy"
    60165909    { (yyval.sn) = new StatementNode( build_throw( (yyvsp[(2) - (3)].en) ) ); }
    60175910    break;
    60185911
    6019   case 195:
    6020 
    6021 /* Line 1806 of yacc.c  */
    6022 #line 870 "parser.yy"
     5912  case 201:
     5913
     5914/* Line 1806 of yacc.c  */
     5915#line 893 "parser.yy"
    60235916    { (yyval.sn) = new StatementNode( build_throw( (yyvsp[(2) - (5)].en) ) ); }
    60245917    break;
    60255918
    6026   case 196:
    6027 
    6028 /* Line 1806 of yacc.c  */
    6029 #line 875 "parser.yy"
     5919  case 202:
     5920
     5921/* Line 1806 of yacc.c  */
     5922#line 898 "parser.yy"
    60305923    { (yyval.sn) = new StatementNode( build_try( (yyvsp[(2) - (3)].sn), (yyvsp[(3) - (3)].sn), 0 ) ); }
    60315924    break;
    60325925
    6033   case 197:
    6034 
    6035 /* Line 1806 of yacc.c  */
    6036 #line 877 "parser.yy"
     5926  case 203:
     5927
     5928/* Line 1806 of yacc.c  */
     5929#line 900 "parser.yy"
    60375930    { (yyval.sn) = new StatementNode( build_try( (yyvsp[(2) - (3)].sn), 0, (yyvsp[(3) - (3)].sn) ) ); }
    60385931    break;
    60395932
    6040   case 198:
    6041 
    6042 /* Line 1806 of yacc.c  */
    6043 #line 879 "parser.yy"
     5933  case 204:
     5934
     5935/* Line 1806 of yacc.c  */
     5936#line 902 "parser.yy"
    60445937    { (yyval.sn) = new StatementNode( build_try( (yyvsp[(2) - (4)].sn), (yyvsp[(3) - (4)].sn), (yyvsp[(4) - (4)].sn) ) ); }
    60455938    break;
    60465939
    6047   case 200:
    6048 
    6049 /* Line 1806 of yacc.c  */
    6050 #line 886 "parser.yy"
     5940  case 206:
     5941
     5942/* Line 1806 of yacc.c  */
     5943#line 909 "parser.yy"
    60515944    { (yyval.sn) = new StatementNode( build_catch( 0, (yyvsp[(5) - (5)].sn), true ) ); }
    60525945    break;
    60535946
    6054   case 201:
    6055 
    6056 /* Line 1806 of yacc.c  */
    6057 #line 888 "parser.yy"
     5947  case 207:
     5948
     5949/* Line 1806 of yacc.c  */
     5950#line 911 "parser.yy"
    60585951    { (yyval.sn) = (StatementNode *)(yyvsp[(1) - (6)].sn)->set_last( new StatementNode( build_catch( 0, (yyvsp[(6) - (6)].sn), true ) ) ); }
    60595952    break;
    60605953
    6061   case 202:
    6062 
    6063 /* Line 1806 of yacc.c  */
    6064 #line 890 "parser.yy"
     5954  case 208:
     5955
     5956/* Line 1806 of yacc.c  */
     5957#line 913 "parser.yy"
    60655958    { (yyval.sn) = new StatementNode( build_catch( 0, (yyvsp[(5) - (5)].sn), true ) ); }
    60665959    break;
    60675960
    6068   case 203:
    6069 
    6070 /* Line 1806 of yacc.c  */
    6071 #line 892 "parser.yy"
     5961  case 209:
     5962
     5963/* Line 1806 of yacc.c  */
     5964#line 915 "parser.yy"
    60725965    { (yyval.sn) = (StatementNode *)(yyvsp[(1) - (6)].sn)->set_last( new StatementNode( build_catch( 0, (yyvsp[(6) - (6)].sn), true ) ) ); }
    60735966    break;
    60745967
    6075   case 204:
    6076 
    6077 /* Line 1806 of yacc.c  */
    6078 #line 897 "parser.yy"
     5968  case 210:
     5969
     5970/* Line 1806 of yacc.c  */
     5971#line 920 "parser.yy"
    60795972    { (yyval.sn) = new StatementNode( build_catch( (yyvsp[(5) - (9)].decl), (yyvsp[(8) - (9)].sn) ) ); }
    60805973    break;
    60815974
    6082   case 205:
    6083 
    6084 /* Line 1806 of yacc.c  */
    6085 #line 899 "parser.yy"
     5975  case 211:
     5976
     5977/* Line 1806 of yacc.c  */
     5978#line 922 "parser.yy"
    60865979    { (yyval.sn) = (StatementNode *)(yyvsp[(1) - (10)].sn)->set_last( new StatementNode( build_catch( (yyvsp[(6) - (10)].decl), (yyvsp[(9) - (10)].sn) ) ) ); }
    60875980    break;
    60885981
    6089   case 206:
    6090 
    6091 /* Line 1806 of yacc.c  */
    6092 #line 901 "parser.yy"
     5982  case 212:
     5983
     5984/* Line 1806 of yacc.c  */
     5985#line 924 "parser.yy"
    60935986    { (yyval.sn) = new StatementNode( build_catch( (yyvsp[(5) - (9)].decl), (yyvsp[(8) - (9)].sn) ) ); }
    60945987    break;
    60955988
    6096   case 207:
    6097 
    6098 /* Line 1806 of yacc.c  */
    6099 #line 903 "parser.yy"
     5989  case 213:
     5990
     5991/* Line 1806 of yacc.c  */
     5992#line 926 "parser.yy"
    61005993    { (yyval.sn) = (StatementNode *)(yyvsp[(1) - (10)].sn)->set_last( new StatementNode( build_catch( (yyvsp[(6) - (10)].decl), (yyvsp[(9) - (10)].sn) ) ) ); }
    61015994    break;
    61025995
    6103   case 208:
    6104 
    6105 /* Line 1806 of yacc.c  */
    6106 #line 908 "parser.yy"
     5996  case 214:
     5997
     5998/* Line 1806 of yacc.c  */
     5999#line 931 "parser.yy"
    61076000    {
    61086001                        (yyval.sn) = new StatementNode( build_finally( (yyvsp[(2) - (2)].sn) ) );
     
    61106003    break;
    61116004
    6112   case 210:
    6113 
    6114 /* Line 1806 of yacc.c  */
    6115 #line 921 "parser.yy"
     6005  case 216:
     6006
     6007/* Line 1806 of yacc.c  */
     6008#line 944 "parser.yy"
    61166009    {
    61176010                        typedefTable.addToEnclosingScope( TypedefTable::ID );
     
    61206013    break;
    61216014
    6122   case 211:
    6123 
    6124 /* Line 1806 of yacc.c  */
    6125 #line 926 "parser.yy"
     6015  case 217:
     6016
     6017/* Line 1806 of yacc.c  */
     6018#line 949 "parser.yy"
    61266019    { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addType( (yyvsp[(1) - (2)].decl) ); }
    61276020    break;
    61286021
    6129   case 212:
    6130 
    6131 /* Line 1806 of yacc.c  */
    6132 #line 928 "parser.yy"
     6022  case 218:
     6023
     6024/* Line 1806 of yacc.c  */
     6025#line 951 "parser.yy"
    61336026    {
    61346027                        typedefTable.addToEnclosingScope( TypedefTable::ID );
     
    61376030    break;
    61386031
    6139   case 214:
    6140 
    6141 /* Line 1806 of yacc.c  */
    6142 #line 937 "parser.yy"
     6032  case 220:
     6033
     6034/* Line 1806 of yacc.c  */
     6035#line 960 "parser.yy"
    61436036    { (yyval.sn) = new StatementNode( build_asmstmt( (yyvsp[(2) - (6)].flag), (yyvsp[(4) - (6)].constant), 0 ) ); }
    61446037    break;
    61456038
    6146   case 215:
    6147 
    6148 /* Line 1806 of yacc.c  */
    6149 #line 939 "parser.yy"
     6039  case 221:
     6040
     6041/* Line 1806 of yacc.c  */
     6042#line 962 "parser.yy"
    61506043    { (yyval.sn) = new StatementNode( build_asmstmt( (yyvsp[(2) - (8)].flag), (yyvsp[(4) - (8)].constant), (yyvsp[(6) - (8)].en) ) ); }
    61516044    break;
    61526045
    6153   case 216:
    6154 
    6155 /* Line 1806 of yacc.c  */
    6156 #line 941 "parser.yy"
     6046  case 222:
     6047
     6048/* Line 1806 of yacc.c  */
     6049#line 964 "parser.yy"
    61576050    { (yyval.sn) = new StatementNode( build_asmstmt( (yyvsp[(2) - (10)].flag), (yyvsp[(4) - (10)].constant), (yyvsp[(6) - (10)].en), (yyvsp[(8) - (10)].en) ) ); }
    61586051    break;
    61596052
    6160   case 217:
    6161 
    6162 /* Line 1806 of yacc.c  */
    6163 #line 943 "parser.yy"
     6053  case 223:
     6054
     6055/* Line 1806 of yacc.c  */
     6056#line 966 "parser.yy"
    61646057    { (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) ) ); }
    61656058    break;
    61666059
    6167   case 218:
    6168 
    6169 /* Line 1806 of yacc.c  */
    6170 #line 945 "parser.yy"
     6060  case 224:
     6061
     6062/* Line 1806 of yacc.c  */
     6063#line 968 "parser.yy"
    61716064    { (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) ) ); }
    61726065    break;
    61736066
    6174   case 219:
    6175 
    6176 /* Line 1806 of yacc.c  */
    6177 #line 950 "parser.yy"
     6067  case 225:
     6068
     6069/* Line 1806 of yacc.c  */
     6070#line 973 "parser.yy"
    61786071    { (yyval.flag) = false; }
    61796072    break;
    61806073
    6181   case 220:
    6182 
    6183 /* Line 1806 of yacc.c  */
    6184 #line 952 "parser.yy"
     6074  case 226:
     6075
     6076/* Line 1806 of yacc.c  */
     6077#line 975 "parser.yy"
    61856078    { (yyval.flag) = true; }
    61866079    break;
    61876080
    6188   case 221:
    6189 
    6190 /* Line 1806 of yacc.c  */
    6191 #line 957 "parser.yy"
     6081  case 227:
     6082
     6083/* Line 1806 of yacc.c  */
     6084#line 980 "parser.yy"
    61926085    { (yyval.en) = 0; }
    61936086    break;
    61946087
    6195   case 224:
    6196 
    6197 /* Line 1806 of yacc.c  */
    6198 #line 964 "parser.yy"
     6088  case 230:
     6089
     6090/* Line 1806 of yacc.c  */
     6091#line 987 "parser.yy"
    61996092    { (yyval.en) = (ExpressionNode *)(yyvsp[(1) - (3)].en)->set_last( (yyvsp[(3) - (3)].en) ); }
    62006093    break;
    62016094
    6202   case 225:
    6203 
    6204 /* Line 1806 of yacc.c  */
    6205 #line 969 "parser.yy"
     6095  case 231:
     6096
     6097/* Line 1806 of yacc.c  */
     6098#line 992 "parser.yy"
    62066099    { (yyval.en) = new ExpressionNode( build_asmexpr( 0, (yyvsp[(1) - (4)].constant), (yyvsp[(3) - (4)].en) ) ); }
    62076100    break;
    62086101
    6209   case 226:
    6210 
    6211 /* Line 1806 of yacc.c  */
    6212 #line 971 "parser.yy"
     6102  case 232:
     6103
     6104/* Line 1806 of yacc.c  */
     6105#line 994 "parser.yy"
    62136106    { (yyval.en) = new ExpressionNode( build_asmexpr( (yyvsp[(2) - (7)].en), (yyvsp[(4) - (7)].constant), (yyvsp[(6) - (7)].en) ) ); }
    62146107    break;
    62156108
    6216   case 227:
    6217 
    6218 /* Line 1806 of yacc.c  */
    6219 #line 976 "parser.yy"
     6109  case 233:
     6110
     6111/* Line 1806 of yacc.c  */
     6112#line 999 "parser.yy"
    62206113    { (yyval.en) = 0; }
    62216114    break;
    62226115
    6223   case 228:
    6224 
    6225 /* Line 1806 of yacc.c  */
    6226 #line 978 "parser.yy"
     6116  case 234:
     6117
     6118/* Line 1806 of yacc.c  */
     6119#line 1001 "parser.yy"
    62276120    { (yyval.en) = new ExpressionNode( (yyvsp[(1) - (1)].constant) ); }
    62286121    break;
    62296122
    6230   case 229:
    6231 
    6232 /* Line 1806 of yacc.c  */
    6233 #line 980 "parser.yy"
     6123  case 235:
     6124
     6125/* Line 1806 of yacc.c  */
     6126#line 1003 "parser.yy"
    62346127    { (yyval.en) = (ExpressionNode *)(yyvsp[(1) - (3)].en)->set_last( new ExpressionNode( (yyvsp[(3) - (3)].constant) ) ); }
    62356128    break;
    62366129
    6237   case 230:
    6238 
    6239 /* Line 1806 of yacc.c  */
    6240 #line 985 "parser.yy"
     6130  case 236:
     6131
     6132/* Line 1806 of yacc.c  */
     6133#line 1008 "parser.yy"
    62416134    {
    62426135                        (yyval.label) = new LabelNode(); (yyval.label)->labels.push_back( *(yyvsp[(1) - (1)].tok) );
     
    62456138    break;
    62466139
    6247   case 231:
    6248 
    6249 /* Line 1806 of yacc.c  */
    6250 #line 990 "parser.yy"
     6140  case 237:
     6141
     6142/* Line 1806 of yacc.c  */
     6143#line 1013 "parser.yy"
    62516144    {
    62526145                        (yyval.label) = (yyvsp[(1) - (3)].label); (yyvsp[(1) - (3)].label)->labels.push_back( *(yyvsp[(3) - (3)].tok) );
     
    62556148    break;
    62566149
    6257   case 232:
    6258 
    6259 /* Line 1806 of yacc.c  */
    6260 #line 1000 "parser.yy"
     6150  case 238:
     6151
     6152/* Line 1806 of yacc.c  */
     6153#line 1023 "parser.yy"
    62616154    { (yyval.decl) = 0; }
    62626155    break;
    62636156
    6264   case 235:
    6265 
    6266 /* Line 1806 of yacc.c  */
    6267 #line 1007 "parser.yy"
     6157  case 241:
     6158
     6159/* Line 1806 of yacc.c  */
     6160#line 1030 "parser.yy"
    62686161    { (yyval.decl) = (yyvsp[(1) - (3)].decl)->appendList( (yyvsp[(3) - (3)].decl) ); }
    62696162    break;
    62706163
    6271   case 236:
    6272 
    6273 /* Line 1806 of yacc.c  */
    6274 #line 1012 "parser.yy"
     6164  case 242:
     6165
     6166/* Line 1806 of yacc.c  */
     6167#line 1035 "parser.yy"
    62756168    { (yyval.decl) = 0; }
    62766169    break;
    62776170
    6278   case 239:
    6279 
    6280 /* Line 1806 of yacc.c  */
    6281 #line 1019 "parser.yy"
     6171  case 245:
     6172
     6173/* Line 1806 of yacc.c  */
     6174#line 1042 "parser.yy"
    62826175    { (yyval.decl) = (yyvsp[(1) - (3)].decl)->appendList( (yyvsp[(3) - (3)].decl) ); }
    62836176    break;
    62846177
    6285   case 244:
    6286 
    6287 /* Line 1806 of yacc.c  */
    6288 #line 1033 "parser.yy"
     6178  case 250:
     6179
     6180/* Line 1806 of yacc.c  */
     6181#line 1056 "parser.yy"
    62896182    {}
    62906183    break;
    62916184
    6292   case 245:
    6293 
    6294 /* Line 1806 of yacc.c  */
    6295 #line 1034 "parser.yy"
     6185  case 251:
     6186
     6187/* Line 1806 of yacc.c  */
     6188#line 1057 "parser.yy"
    62966189    {}
    62976190    break;
    62986191
    6299   case 253:
    6300 
    6301 /* Line 1806 of yacc.c  */
    6302 #line 1063 "parser.yy"
     6192  case 259:
     6193
     6194/* Line 1806 of yacc.c  */
     6195#line 1086 "parser.yy"
    63036196    {
    63046197                        typedefTable.addToEnclosingScope( TypedefTable::ID );
     
    63076200    break;
    63086201
    6309   case 254:
    6310 
    6311 /* Line 1806 of yacc.c  */
    6312 #line 1070 "parser.yy"
     6202  case 260:
     6203
     6204/* Line 1806 of yacc.c  */
     6205#line 1093 "parser.yy"
    63136206    {
    63146207                        typedefTable.addToEnclosingScope( TypedefTable::ID );
     
    63176210    break;
    63186211
    6319   case 255:
    6320 
    6321 /* Line 1806 of yacc.c  */
    6322 #line 1075 "parser.yy"
     6212  case 261:
     6213
     6214/* Line 1806 of yacc.c  */
     6215#line 1098 "parser.yy"
    63236216    {
    63246217                        typedefTable.addToEnclosingScope( *(yyvsp[(5) - (6)].tok), TypedefTable::ID );
     
    63276220    break;
    63286221
    6329   case 256:
    6330 
    6331 /* Line 1806 of yacc.c  */
    6332 #line 1085 "parser.yy"
     6222  case 262:
     6223
     6224/* Line 1806 of yacc.c  */
     6225#line 1108 "parser.yy"
    63336226    {
    63346227                        typedefTable.setNextIdentifier( *(yyvsp[(2) - (3)].tok) );
     
    63376230    break;
    63386231
    6339   case 257:
    6340 
    6341 /* Line 1806 of yacc.c  */
    6342 #line 1090 "parser.yy"
     6232  case 263:
     6233
     6234/* Line 1806 of yacc.c  */
     6235#line 1113 "parser.yy"
    63436236    {
    63446237                        typedefTable.setNextIdentifier( *(yyvsp[(2) - (3)].tok) );
     
    63476240    break;
    63486241
    6349   case 258:
    6350 
    6351 /* Line 1806 of yacc.c  */
    6352 #line 1095 "parser.yy"
     6242  case 264:
     6243
     6244/* Line 1806 of yacc.c  */
     6245#line 1118 "parser.yy"
    63536246    {
    63546247                        typedefTable.setNextIdentifier( *(yyvsp[(3) - (4)].tok) );
     
    63576250    break;
    63586251
    6359   case 259:
    6360 
    6361 /* Line 1806 of yacc.c  */
    6362 #line 1103 "parser.yy"
     6252  case 265:
     6253
     6254/* Line 1806 of yacc.c  */
     6255#line 1126 "parser.yy"
    63636256    {
    63646257                        typedefTable.addToEnclosingScope( TypedefTable::ID );
     
    63676260    break;
    63686261
    6369   case 260:
    6370 
    6371 /* Line 1806 of yacc.c  */
    6372 #line 1108 "parser.yy"
     6262  case 266:
     6263
     6264/* Line 1806 of yacc.c  */
     6265#line 1131 "parser.yy"
    63736266    {
    63746267                        typedefTable.addToEnclosingScope( TypedefTable::ID );
     
    63776270    break;
    63786271
    6379   case 261:
    6380 
    6381 /* Line 1806 of yacc.c  */
    6382 #line 1113 "parser.yy"
     6272  case 267:
     6273
     6274/* Line 1806 of yacc.c  */
     6275#line 1136 "parser.yy"
    63836276    {
    63846277                        typedefTable.addToEnclosingScope( TypedefTable::ID );
     
    63876280    break;
    63886281
    6389   case 262:
    6390 
    6391 /* Line 1806 of yacc.c  */
    6392 #line 1118 "parser.yy"
     6282  case 268:
     6283
     6284/* Line 1806 of yacc.c  */
     6285#line 1141 "parser.yy"
    63936286    {
    63946287                        typedefTable.addToEnclosingScope( TypedefTable::ID );
     
    63976290    break;
    63986291
    6399   case 263:
    6400 
    6401 /* Line 1806 of yacc.c  */
    6402 #line 1123 "parser.yy"
     6292  case 269:
     6293
     6294/* Line 1806 of yacc.c  */
     6295#line 1146 "parser.yy"
    64036296    {
    64046297                        typedefTable.addToEnclosingScope( *(yyvsp[(5) - (5)].tok), TypedefTable::ID );
     
    64076300    break;
    64086301
    6409   case 264:
    6410 
    6411 /* Line 1806 of yacc.c  */
    6412 #line 1131 "parser.yy"
    6413     {
    6414                         (yyval.decl) = DeclarationNode::newFunction( (yyvsp[(3) - (8)].tok), DeclarationNode::newTuple( 0 ), (yyvsp[(6) - (8)].decl), 0, true );
    6415                 }
    6416     break;
    6417 
    6418   case 265:
    6419 
    6420 /* Line 1806 of yacc.c  */
    6421 #line 1154 "parser.yy"
     6302  case 270:
     6303
     6304/* Line 1806 of yacc.c  */
     6305#line 1177 "parser.yy"
    64226306    {
    64236307                        (yyval.decl) = DeclarationNode::newFunction( (yyvsp[(2) - (7)].tok), (yyvsp[(1) - (7)].decl), (yyvsp[(5) - (7)].decl), 0, true );
     
    64256309    break;
    64266310
    6427   case 266:
    6428 
    6429 /* Line 1806 of yacc.c  */
    6430 #line 1158 "parser.yy"
     6311  case 271:
     6312
     6313/* Line 1806 of yacc.c  */
     6314#line 1181 "parser.yy"
    64316315    {
    64326316                        (yyval.decl) = DeclarationNode::newFunction( (yyvsp[(2) - (7)].tok), (yyvsp[(1) - (7)].decl), (yyvsp[(5) - (7)].decl), 0, true );
     
    64346318    break;
    64356319
    6436   case 267:
    6437 
    6438 /* Line 1806 of yacc.c  */
    6439 #line 1165 "parser.yy"
     6320  case 272:
     6321
     6322/* Line 1806 of yacc.c  */
     6323#line 1188 "parser.yy"
    64406324    { (yyval.decl) = DeclarationNode::newTuple( (yyvsp[(3) - (5)].decl) ); }
    64416325    break;
    64426326
    6443   case 268:
    6444 
    6445 /* Line 1806 of yacc.c  */
    6446 #line 1169 "parser.yy"
     6327  case 273:
     6328
     6329/* Line 1806 of yacc.c  */
     6330#line 1192 "parser.yy"
    64476331    { (yyval.decl) = DeclarationNode::newTuple( (yyvsp[(3) - (9)].decl)->appendList( (yyvsp[(7) - (9)].decl) ) ); }
    64486332    break;
    64496333
    6450   case 269:
    6451 
    6452 /* Line 1806 of yacc.c  */
    6453 #line 1174 "parser.yy"
     6334  case 274:
     6335
     6336/* Line 1806 of yacc.c  */
     6337#line 1197 "parser.yy"
    64546338    {
    64556339                        typedefTable.addToEnclosingScope( TypedefTable::TD );
     
    64586342    break;
    64596343
    6460   case 270:
    6461 
    6462 /* Line 1806 of yacc.c  */
    6463 #line 1179 "parser.yy"
     6344  case 275:
     6345
     6346/* Line 1806 of yacc.c  */
     6347#line 1202 "parser.yy"
    64646348    {
    64656349                        typedefTable.addToEnclosingScope( TypedefTable::TD );
     
    64686352    break;
    64696353
    6470   case 271:
    6471 
    6472 /* Line 1806 of yacc.c  */
    6473 #line 1184 "parser.yy"
     6354  case 276:
     6355
     6356/* Line 1806 of yacc.c  */
     6357#line 1207 "parser.yy"
    64746358    {
    64756359                        typedefTable.addToEnclosingScope( *(yyvsp[(5) - (5)].tok), TypedefTable::TD );
     
    64786362    break;
    64796363
    6480   case 272:
    6481 
    6482 /* Line 1806 of yacc.c  */
    6483 #line 1195 "parser.yy"
     6364  case 277:
     6365
     6366/* Line 1806 of yacc.c  */
     6367#line 1218 "parser.yy"
    64846368    {
    64856369                        typedefTable.addToEnclosingScope( TypedefTable::TD );
     
    64886372    break;
    64896373
    6490   case 273:
    6491 
    6492 /* Line 1806 of yacc.c  */
    6493 #line 1200 "parser.yy"
     6374  case 278:
     6375
     6376/* Line 1806 of yacc.c  */
     6377#line 1223 "parser.yy"
    64946378    {
    64956379                        typedefTable.addToEnclosingScope( TypedefTable::TD );
     
    64986382    break;
    64996383
    6500   case 274:
    6501 
    6502 /* Line 1806 of yacc.c  */
    6503 #line 1205 "parser.yy"
     6384  case 279:
     6385
     6386/* Line 1806 of yacc.c  */
     6387#line 1228 "parser.yy"
    65046388    {
    65056389                        typedefTable.addToEnclosingScope( TypedefTable::TD );
     
    65086392    break;
    65096393
    6510   case 275:
    6511 
    6512 /* Line 1806 of yacc.c  */
    6513 #line 1210 "parser.yy"
     6394  case 280:
     6395
     6396/* Line 1806 of yacc.c  */
     6397#line 1233 "parser.yy"
    65146398    {
    65156399                        typedefTable.addToEnclosingScope( TypedefTable::TD );
     
    65186402    break;
    65196403
    6520   case 276:
    6521 
    6522 /* Line 1806 of yacc.c  */
    6523 #line 1215 "parser.yy"
     6404  case 281:
     6405
     6406/* Line 1806 of yacc.c  */
     6407#line 1238 "parser.yy"
    65246408    {
    65256409                        typedefTable.addToEnclosingScope( TypedefTable::TD );
     
    65286412    break;
    65296413
    6530   case 277:
    6531 
    6532 /* Line 1806 of yacc.c  */
    6533 #line 1224 "parser.yy"
     6414  case 282:
     6415
     6416/* Line 1806 of yacc.c  */
     6417#line 1247 "parser.yy"
    65346418    {
    65356419                        typedefTable.addToEnclosingScope( *(yyvsp[(2) - (4)].tok), TypedefTable::TD );
     
    65386422    break;
    65396423
    6540   case 278:
    6541 
    6542 /* Line 1806 of yacc.c  */
    6543 #line 1229 "parser.yy"
     6424  case 283:
     6425
     6426/* Line 1806 of yacc.c  */
     6427#line 1252 "parser.yy"
    65446428    {
    65456429                        typedefTable.addToEnclosingScope( *(yyvsp[(5) - (7)].tok), TypedefTable::TD );
     
    65486432    break;
    65496433
    6550   case 283:
    6551 
    6552 /* Line 1806 of yacc.c  */
    6553 #line 1246 "parser.yy"
     6434  case 288:
     6435
     6436/* Line 1806 of yacc.c  */
     6437#line 1269 "parser.yy"
    65546438    {
    65556439                        typedefTable.addToEnclosingScope( TypedefTable::ID );
     
    65586442    break;
    65596443
    6560   case 284:
    6561 
    6562 /* Line 1806 of yacc.c  */
    6563 #line 1251 "parser.yy"
     6444  case 289:
     6445
     6446/* Line 1806 of yacc.c  */
     6447#line 1274 "parser.yy"
    65646448    {
    65656449                        typedefTable.addToEnclosingScope( TypedefTable::ID );
     
    65686452    break;
    65696453
    6570   case 293:
    6571 
    6572 /* Line 1806 of yacc.c  */
    6573 #line 1273 "parser.yy"
     6454  case 298:
     6455
     6456/* Line 1806 of yacc.c  */
     6457#line 1296 "parser.yy"
    65746458    { (yyval.decl) = 0; }
    65756459    break;
    65766460
    6577   case 296:
    6578 
    6579 /* Line 1806 of yacc.c  */
    6580 #line 1285 "parser.yy"
     6461  case 301:
     6462
     6463/* Line 1806 of yacc.c  */
     6464#line 1308 "parser.yy"
    65816465    { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); }
    65826466    break;
    65836467
    6584   case 299:
    6585 
    6586 /* Line 1806 of yacc.c  */
    6587 #line 1296 "parser.yy"
     6468  case 304:
     6469
     6470/* Line 1806 of yacc.c  */
     6471#line 1319 "parser.yy"
    65886472    { (yyval.decl) = DeclarationNode::newQualifier( DeclarationNode::Const ); }
    65896473    break;
    65906474
    6591   case 300:
    6592 
    6593 /* Line 1806 of yacc.c  */
    6594 #line 1298 "parser.yy"
     6475  case 305:
     6476
     6477/* Line 1806 of yacc.c  */
     6478#line 1321 "parser.yy"
    65956479    { (yyval.decl) = DeclarationNode::newQualifier( DeclarationNode::Restrict ); }
    65966480    break;
    65976481
    6598   case 301:
    6599 
    6600 /* Line 1806 of yacc.c  */
    6601 #line 1300 "parser.yy"
     6482  case 306:
     6483
     6484/* Line 1806 of yacc.c  */
     6485#line 1323 "parser.yy"
    66026486    { (yyval.decl) = DeclarationNode::newQualifier( DeclarationNode::Volatile ); }
    66036487    break;
    66046488
    6605   case 302:
    6606 
    6607 /* Line 1806 of yacc.c  */
    6608 #line 1302 "parser.yy"
     6489  case 307:
     6490
     6491/* Line 1806 of yacc.c  */
     6492#line 1325 "parser.yy"
    66096493    { (yyval.decl) = DeclarationNode::newQualifier( DeclarationNode::Lvalue ); }
    66106494    break;
    66116495
    6612   case 303:
    6613 
    6614 /* Line 1806 of yacc.c  */
    6615 #line 1304 "parser.yy"
     6496  case 308:
     6497
     6498/* Line 1806 of yacc.c  */
     6499#line 1327 "parser.yy"
    66166500    { (yyval.decl) = DeclarationNode::newQualifier( DeclarationNode::Atomic ); }
    66176501    break;
    66186502
    6619   case 304:
    6620 
    6621 /* Line 1806 of yacc.c  */
    6622 #line 1306 "parser.yy"
     6503  case 309:
     6504
     6505/* Line 1806 of yacc.c  */
     6506#line 1329 "parser.yy"
    66236507    {
    66246508                        typedefTable.enterScope();
     
    66266510    break;
    66276511
    6628   case 305:
    6629 
    6630 /* Line 1806 of yacc.c  */
    6631 #line 1310 "parser.yy"
     6512  case 310:
     6513
     6514/* Line 1806 of yacc.c  */
     6515#line 1333 "parser.yy"
    66326516    {
    66336517                        typedefTable.leaveScope();
     
    66366520    break;
    66376521
    6638   case 307:
    6639 
    6640 /* Line 1806 of yacc.c  */
    6641 #line 1319 "parser.yy"
     6522  case 312:
     6523
     6524/* Line 1806 of yacc.c  */
     6525#line 1342 "parser.yy"
    66426526    { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); }
    66436527    break;
    66446528
    6645   case 308:
    6646 
    6647 /* Line 1806 of yacc.c  */
    6648 #line 1321 "parser.yy"
     6529  case 313:
     6530
     6531/* Line 1806 of yacc.c  */
     6532#line 1344 "parser.yy"
    66496533    { (yyval.decl) = (yyvsp[(1) - (3)].decl)->addQualifiers( (yyvsp[(2) - (3)].decl) )->addQualifiers( (yyvsp[(3) - (3)].decl) ); }
    66506534    break;
    66516535
    6652   case 310:
    6653 
    6654 /* Line 1806 of yacc.c  */
    6655 #line 1332 "parser.yy"
     6536  case 315:
     6537
     6538/* Line 1806 of yacc.c  */
     6539#line 1355 "parser.yy"
    66566540    { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); }
    66576541    break;
    66586542
    6659   case 311:
    6660 
    6661 /* Line 1806 of yacc.c  */
    6662 #line 1337 "parser.yy"
     6543  case 316:
     6544
     6545/* Line 1806 of yacc.c  */
     6546#line 1360 "parser.yy"
    66636547    { (yyval.decl) = DeclarationNode::newStorageClass( DeclarationNode::Extern ); }
    66646548    break;
    66656549
    6666   case 312:
    6667 
    6668 /* Line 1806 of yacc.c  */
    6669 #line 1339 "parser.yy"
     6550  case 317:
     6551
     6552/* Line 1806 of yacc.c  */
     6553#line 1362 "parser.yy"
    66706554    { (yyval.decl) = DeclarationNode::newStorageClass( DeclarationNode::Static ); }
    66716555    break;
    66726556
    6673   case 313:
    6674 
    6675 /* Line 1806 of yacc.c  */
    6676 #line 1341 "parser.yy"
     6557  case 318:
     6558
     6559/* Line 1806 of yacc.c  */
     6560#line 1364 "parser.yy"
    66776561    { (yyval.decl) = DeclarationNode::newStorageClass( DeclarationNode::Auto ); }
    66786562    break;
    66796563
    6680   case 314:
    6681 
    6682 /* Line 1806 of yacc.c  */
    6683 #line 1343 "parser.yy"
     6564  case 319:
     6565
     6566/* Line 1806 of yacc.c  */
     6567#line 1366 "parser.yy"
    66846568    { (yyval.decl) = DeclarationNode::newStorageClass( DeclarationNode::Register ); }
    66856569    break;
    66866570
    6687   case 315:
    6688 
    6689 /* Line 1806 of yacc.c  */
    6690 #line 1346 "parser.yy"
     6571  case 320:
     6572
     6573/* Line 1806 of yacc.c  */
     6574#line 1369 "parser.yy"
    66916575    { (yyval.decl) = new DeclarationNode; (yyval.decl)->isInline = true; }
    66926576    break;
    66936577
    6694   case 316:
    6695 
    6696 /* Line 1806 of yacc.c  */
    6697 #line 1348 "parser.yy"
     6578  case 321:
     6579
     6580/* Line 1806 of yacc.c  */
     6581#line 1371 "parser.yy"
    66986582    { (yyval.decl) = DeclarationNode::newStorageClass( DeclarationNode::Fortran ); }
    66996583    break;
    67006584
    6701   case 317:
    6702 
    6703 /* Line 1806 of yacc.c  */
    6704 #line 1351 "parser.yy"
     6585  case 322:
     6586
     6587/* Line 1806 of yacc.c  */
     6588#line 1374 "parser.yy"
    67056589    { (yyval.decl) = new DeclarationNode; (yyval.decl)->isNoreturn = true; }
    67066590    break;
    67076591
    6708   case 318:
    6709 
    6710 /* Line 1806 of yacc.c  */
    6711 #line 1353 "parser.yy"
     6592  case 323:
     6593
     6594/* Line 1806 of yacc.c  */
     6595#line 1376 "parser.yy"
    67126596    { (yyval.decl) = DeclarationNode::newStorageClass( DeclarationNode::Threadlocal ); }
    67136597    break;
    67146598
    6715   case 319:
    6716 
    6717 /* Line 1806 of yacc.c  */
    6718 #line 1358 "parser.yy"
     6599  case 324:
     6600
     6601/* Line 1806 of yacc.c  */
     6602#line 1381 "parser.yy"
    67196603    { (yyval.decl) = DeclarationNode::newBasicType( DeclarationNode::Char ); }
    67206604    break;
    67216605
    6722   case 320:
    6723 
    6724 /* Line 1806 of yacc.c  */
    6725 #line 1360 "parser.yy"
     6606  case 325:
     6607
     6608/* Line 1806 of yacc.c  */
     6609#line 1383 "parser.yy"
    67266610    { (yyval.decl) = DeclarationNode::newBasicType( DeclarationNode::Double ); }
    67276611    break;
    67286612
    6729   case 321:
    6730 
    6731 /* Line 1806 of yacc.c  */
    6732 #line 1362 "parser.yy"
     6613  case 326:
     6614
     6615/* Line 1806 of yacc.c  */
     6616#line 1385 "parser.yy"
    67336617    { (yyval.decl) = DeclarationNode::newBasicType( DeclarationNode::Float ); }
    67346618    break;
    67356619
    6736   case 322:
    6737 
    6738 /* Line 1806 of yacc.c  */
    6739 #line 1364 "parser.yy"
     6620  case 327:
     6621
     6622/* Line 1806 of yacc.c  */
     6623#line 1387 "parser.yy"
    67406624    { (yyval.decl) = DeclarationNode::newBasicType( DeclarationNode::Int ); }
    67416625    break;
    67426626
    6743   case 323:
    6744 
    6745 /* Line 1806 of yacc.c  */
    6746 #line 1366 "parser.yy"
     6627  case 328:
     6628
     6629/* Line 1806 of yacc.c  */
     6630#line 1389 "parser.yy"
    67476631    { (yyval.decl) = DeclarationNode::newLength( DeclarationNode::Long ); }
    67486632    break;
    67496633
    6750   case 324:
    6751 
    6752 /* Line 1806 of yacc.c  */
    6753 #line 1368 "parser.yy"
     6634  case 329:
     6635
     6636/* Line 1806 of yacc.c  */
     6637#line 1391 "parser.yy"
    67546638    { (yyval.decl) = DeclarationNode::newLength( DeclarationNode::Short ); }
    67556639    break;
    67566640
    6757   case 325:
    6758 
    6759 /* Line 1806 of yacc.c  */
    6760 #line 1370 "parser.yy"
     6641  case 330:
     6642
     6643/* Line 1806 of yacc.c  */
     6644#line 1393 "parser.yy"
    67616645    { (yyval.decl) = DeclarationNode::newSignedNess( DeclarationNode::Signed ); }
    67626646    break;
    67636647
    6764   case 326:
    6765 
    6766 /* Line 1806 of yacc.c  */
    6767 #line 1372 "parser.yy"
     6648  case 331:
     6649
     6650/* Line 1806 of yacc.c  */
     6651#line 1395 "parser.yy"
    67686652    { (yyval.decl) = DeclarationNode::newSignedNess( DeclarationNode::Unsigned ); }
    67696653    break;
    67706654
    6771   case 327:
    6772 
    6773 /* Line 1806 of yacc.c  */
    6774 #line 1374 "parser.yy"
     6655  case 332:
     6656
     6657/* Line 1806 of yacc.c  */
     6658#line 1397 "parser.yy"
    67756659    { (yyval.decl) = DeclarationNode::newBasicType( DeclarationNode::Void ); }
    67766660    break;
    67776661
    6778   case 328:
    6779 
    6780 /* Line 1806 of yacc.c  */
    6781 #line 1376 "parser.yy"
     6662  case 333:
     6663
     6664/* Line 1806 of yacc.c  */
     6665#line 1399 "parser.yy"
    67826666    { (yyval.decl) = DeclarationNode::newBasicType( DeclarationNode::Bool ); }
    67836667    break;
    67846668
    6785   case 329:
    6786 
    6787 /* Line 1806 of yacc.c  */
    6788 #line 1378 "parser.yy"
     6669  case 334:
     6670
     6671/* Line 1806 of yacc.c  */
     6672#line 1401 "parser.yy"
    67896673    { (yyval.decl) = DeclarationNode::newComplexType( DeclarationNode::Complex ); }
    67906674    break;
    67916675
    6792   case 330:
    6793 
    6794 /* Line 1806 of yacc.c  */
    6795 #line 1380 "parser.yy"
     6676  case 335:
     6677
     6678/* Line 1806 of yacc.c  */
     6679#line 1403 "parser.yy"
    67966680    { (yyval.decl) = DeclarationNode::newComplexType( DeclarationNode::Imaginary ); }
    67976681    break;
    67986682
    6799   case 331:
    6800 
    6801 /* Line 1806 of yacc.c  */
    6802 #line 1382 "parser.yy"
     6683  case 336:
     6684
     6685/* Line 1806 of yacc.c  */
     6686#line 1405 "parser.yy"
    68036687    { (yyval.decl) = DeclarationNode::newBuiltinType( DeclarationNode::Valist ); }
    68046688    break;
    68056689
    6806   case 333:
    6807 
    6808 /* Line 1806 of yacc.c  */
    6809 #line 1389 "parser.yy"
     6690  case 338:
     6691
     6692/* Line 1806 of yacc.c  */
     6693#line 1412 "parser.yy"
    68106694    { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addQualifiers( (yyvsp[(1) - (2)].decl) ); }
    68116695    break;
    68126696
    6813   case 334:
    6814 
    6815 /* Line 1806 of yacc.c  */
    6816 #line 1391 "parser.yy"
     6697  case 339:
     6698
     6699/* Line 1806 of yacc.c  */
     6700#line 1414 "parser.yy"
    68176701    { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); }
    68186702    break;
    68196703
    6820   case 335:
    6821 
    6822 /* Line 1806 of yacc.c  */
    6823 #line 1393 "parser.yy"
     6704  case 340:
     6705
     6706/* Line 1806 of yacc.c  */
     6707#line 1416 "parser.yy"
    68246708    { (yyval.decl) = (yyvsp[(1) - (3)].decl)->addQualifiers( (yyvsp[(2) - (3)].decl) )->addQualifiers( (yyvsp[(3) - (3)].decl) ); }
    68256709    break;
    68266710
    6827   case 336:
    6828 
    6829 /* Line 1806 of yacc.c  */
    6830 #line 1395 "parser.yy"
     6711  case 341:
     6712
     6713/* Line 1806 of yacc.c  */
     6714#line 1418 "parser.yy"
    68316715    { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addQualifiers( (yyvsp[(2) - (3)].decl) )->addType( (yyvsp[(1) - (3)].decl) ); }
    68326716    break;
    68336717
    6834   case 338:
    6835 
    6836 /* Line 1806 of yacc.c  */
    6837 #line 1401 "parser.yy"
     6718  case 343:
     6719
     6720/* Line 1806 of yacc.c  */
     6721#line 1424 "parser.yy"
    68386722    { (yyval.decl) = (yyvsp[(2) - (3)].decl)->addQualifiers( (yyvsp[(1) - (3)].decl) )->addQualifiers( (yyvsp[(3) - (3)].decl) ); }
    68396723    break;
    68406724
    6841   case 340:
    6842 
    6843 /* Line 1806 of yacc.c  */
    6844 #line 1408 "parser.yy"
     6725  case 345:
     6726
     6727/* Line 1806 of yacc.c  */
     6728#line 1431 "parser.yy"
    68456729    { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addQualifiers( (yyvsp[(1) - (2)].decl) ); }
    68466730    break;
    68476731
    6848   case 341:
    6849 
    6850 /* Line 1806 of yacc.c  */
    6851 #line 1410 "parser.yy"
     6732  case 346:
     6733
     6734/* Line 1806 of yacc.c  */
     6735#line 1433 "parser.yy"
    68526736    { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); }
    68536737    break;
    68546738
    6855   case 342:
    6856 
    6857 /* Line 1806 of yacc.c  */
    6858 #line 1412 "parser.yy"
     6739  case 347:
     6740
     6741/* Line 1806 of yacc.c  */
     6742#line 1435 "parser.yy"
    68596743    { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addType( (yyvsp[(2) - (2)].decl) ); }
    68606744    break;
    68616745
    6862   case 343:
    6863 
    6864 /* Line 1806 of yacc.c  */
    6865 #line 1417 "parser.yy"
     6746  case 348:
     6747
     6748/* Line 1806 of yacc.c  */
     6749#line 1440 "parser.yy"
    68666750    { (yyval.decl) = (yyvsp[(3) - (4)].decl); }
    68676751    break;
    68686752
    6869   case 344:
    6870 
    6871 /* Line 1806 of yacc.c  */
    6872 #line 1419 "parser.yy"
     6753  case 349:
     6754
     6755/* Line 1806 of yacc.c  */
     6756#line 1442 "parser.yy"
    68736757    { (yyval.decl) = DeclarationNode::newTypeof( (yyvsp[(3) - (4)].en) ); }
    68746758    break;
    68756759
    6876   case 345:
    6877 
    6878 /* Line 1806 of yacc.c  */
    6879 #line 1421 "parser.yy"
     6760  case 350:
     6761
     6762/* Line 1806 of yacc.c  */
     6763#line 1444 "parser.yy"
    68806764    { (yyval.decl) = DeclarationNode::newAttr( (yyvsp[(1) - (4)].tok), (yyvsp[(3) - (4)].decl) ); }
    68816765    break;
    68826766
    6883   case 346:
    6884 
    6885 /* Line 1806 of yacc.c  */
    6886 #line 1423 "parser.yy"
     6767  case 351:
     6768
     6769/* Line 1806 of yacc.c  */
     6770#line 1446 "parser.yy"
    68876771    { (yyval.decl) = DeclarationNode::newAttr( (yyvsp[(1) - (4)].tok), (yyvsp[(3) - (4)].en) ); }
    68886772    break;
    68896773
    6890   case 348:
    6891 
    6892 /* Line 1806 of yacc.c  */
    6893 #line 1429 "parser.yy"
     6774  case 353:
     6775
     6776/* Line 1806 of yacc.c  */
     6777#line 1452 "parser.yy"
    68946778    { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addQualifiers( (yyvsp[(1) - (2)].decl) ); }
    68956779    break;
    68966780
    6897   case 349:
    6898 
    6899 /* Line 1806 of yacc.c  */
    6900 #line 1431 "parser.yy"
     6781  case 354:
     6782
     6783/* Line 1806 of yacc.c  */
     6784#line 1454 "parser.yy"
    69016785    { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); }
    69026786    break;
    69036787
    6904   case 350:
    6905 
    6906 /* Line 1806 of yacc.c  */
    6907 #line 1433 "parser.yy"
     6788  case 355:
     6789
     6790/* Line 1806 of yacc.c  */
     6791#line 1456 "parser.yy"
    69086792    { (yyval.decl) = (yyvsp[(1) - (3)].decl)->addQualifiers( (yyvsp[(2) - (3)].decl) )->addQualifiers( (yyvsp[(3) - (3)].decl) ); }
    69096793    break;
    69106794
    6911   case 352:
    6912 
    6913 /* Line 1806 of yacc.c  */
    6914 #line 1439 "parser.yy"
     6795  case 357:
     6796
     6797/* Line 1806 of yacc.c  */
     6798#line 1462 "parser.yy"
    69156799    { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addQualifiers( (yyvsp[(1) - (2)].decl) ); }
    69166800    break;
    69176801
    6918   case 353:
    6919 
    6920 /* Line 1806 of yacc.c  */
    6921 #line 1441 "parser.yy"
     6802  case 358:
     6803
     6804/* Line 1806 of yacc.c  */
     6805#line 1464 "parser.yy"
    69226806    { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); }
    69236807    break;
    69246808
    6925   case 355:
    6926 
    6927 /* Line 1806 of yacc.c  */
    6928 #line 1447 "parser.yy"
     6809  case 360:
     6810
     6811/* Line 1806 of yacc.c  */
     6812#line 1470 "parser.yy"
    69296813    { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addQualifiers( (yyvsp[(1) - (2)].decl) ); }
    69306814    break;
    69316815
    6932   case 356:
    6933 
    6934 /* Line 1806 of yacc.c  */
    6935 #line 1449 "parser.yy"
     6816  case 361:
     6817
     6818/* Line 1806 of yacc.c  */
     6819#line 1472 "parser.yy"
    69366820    { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); }
    69376821    break;
    69386822
    6939   case 357:
    6940 
    6941 /* Line 1806 of yacc.c  */
    6942 #line 1451 "parser.yy"
     6823  case 362:
     6824
     6825/* Line 1806 of yacc.c  */
     6826#line 1474 "parser.yy"
    69436827    { (yyval.decl) = (yyvsp[(1) - (3)].decl)->addQualifiers( (yyvsp[(2) - (3)].decl) )->addQualifiers( (yyvsp[(3) - (3)].decl) ); }
    69446828    break;
    69456829
    6946   case 358:
    6947 
    6948 /* Line 1806 of yacc.c  */
    6949 #line 1456 "parser.yy"
     6830  case 363:
     6831
     6832/* Line 1806 of yacc.c  */
     6833#line 1479 "parser.yy"
    69506834    { (yyval.decl) = DeclarationNode::newFromTypedef( (yyvsp[(1) - (1)].tok) ); }
    69516835    break;
    69526836
    6953   case 359:
    6954 
    6955 /* Line 1806 of yacc.c  */
    6956 #line 1458 "parser.yy"
     6837  case 364:
     6838
     6839/* Line 1806 of yacc.c  */
     6840#line 1481 "parser.yy"
    69576841    { (yyval.decl) = DeclarationNode::newFromTypedef( (yyvsp[(2) - (2)].tok) )->addQualifiers( (yyvsp[(1) - (2)].decl) ); }
    69586842    break;
    69596843
    6960   case 360:
    6961 
    6962 /* Line 1806 of yacc.c  */
    6963 #line 1460 "parser.yy"
     6844  case 365:
     6845
     6846/* Line 1806 of yacc.c  */
     6847#line 1483 "parser.yy"
    69646848    { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); }
    69656849    break;
    69666850
    6967   case 363:
    6968 
    6969 /* Line 1806 of yacc.c  */
    6970 #line 1470 "parser.yy"
     6851  case 368:
     6852
     6853/* Line 1806 of yacc.c  */
     6854#line 1493 "parser.yy"
    69716855    { (yyval.decl) = DeclarationNode::newAggregate( (yyvsp[(1) - (4)].aggKey), nullptr, nullptr, (yyvsp[(3) - (4)].decl), true ); }
    69726856    break;
    69736857
    6974   case 364:
    6975 
    6976 /* Line 1806 of yacc.c  */
    6977 #line 1472 "parser.yy"
     6858  case 369:
     6859
     6860/* Line 1806 of yacc.c  */
     6861#line 1495 "parser.yy"
    69786862    {
    69796863                        typedefTable.makeTypedef( *(yyvsp[(2) - (2)].tok) );
     
    69826866    break;
    69836867
    6984   case 365:
    6985 
    6986 /* Line 1806 of yacc.c  */
    6987 #line 1477 "parser.yy"
     6868  case 370:
     6869
     6870/* Line 1806 of yacc.c  */
     6871#line 1500 "parser.yy"
    69886872    { typedefTable.makeTypedef( *(yyvsp[(2) - (2)].tok) ); }
    69896873    break;
    69906874
    6991   case 366:
    6992 
    6993 /* Line 1806 of yacc.c  */
    6994 #line 1479 "parser.yy"
     6875  case 371:
     6876
     6877/* Line 1806 of yacc.c  */
     6878#line 1502 "parser.yy"
    69956879    { (yyval.decl) = DeclarationNode::newAggregate( (yyvsp[(1) - (6)].aggKey), (yyvsp[(2) - (6)].tok), nullptr, (yyvsp[(5) - (6)].decl), true ); }
    69966880    break;
    69976881
    6998   case 367:
    6999 
    7000 /* Line 1806 of yacc.c  */
    7001 #line 1481 "parser.yy"
     6882  case 372:
     6883
     6884/* Line 1806 of yacc.c  */
     6885#line 1504 "parser.yy"
    70026886    { (yyval.decl) = DeclarationNode::newAggregate( (yyvsp[(1) - (7)].aggKey), nullptr, (yyvsp[(3) - (7)].en), (yyvsp[(6) - (7)].decl), false ); }
    70036887    break;
    70046888
    7005   case 368:
    7006 
    7007 /* Line 1806 of yacc.c  */
    7008 #line 1483 "parser.yy"
     6889  case 373:
     6890
     6891/* Line 1806 of yacc.c  */
     6892#line 1506 "parser.yy"
    70096893    { (yyval.decl) = (yyvsp[(2) - (2)].decl); }
    70106894    break;
    70116895
    7012   case 369:
    7013 
    7014 /* Line 1806 of yacc.c  */
    7015 #line 1488 "parser.yy"
     6896  case 374:
     6897
     6898/* Line 1806 of yacc.c  */
     6899#line 1511 "parser.yy"
    70166900    { (yyval.aggKey) = DeclarationNode::Struct; }
    70176901    break;
    70186902
    7019   case 370:
    7020 
    7021 /* Line 1806 of yacc.c  */
    7022 #line 1490 "parser.yy"
     6903  case 375:
     6904
     6905/* Line 1806 of yacc.c  */
     6906#line 1513 "parser.yy"
    70236907    { (yyval.aggKey) = DeclarationNode::Union; }
    70246908    break;
    70256909
    7026   case 371:
    7027 
    7028 /* Line 1806 of yacc.c  */
    7029 #line 1495 "parser.yy"
     6910  case 376:
     6911
     6912/* Line 1806 of yacc.c  */
     6913#line 1518 "parser.yy"
    70306914    { (yyval.decl) = 0; }
    70316915    break;
    70326916
    7033   case 372:
    7034 
    7035 /* Line 1806 of yacc.c  */
    7036 #line 1497 "parser.yy"
     6917  case 377:
     6918
     6919/* Line 1806 of yacc.c  */
     6920#line 1520 "parser.yy"
    70376921    { (yyval.decl) = (yyvsp[(1) - (2)].decl) != 0 ? (yyvsp[(1) - (2)].decl)->appendList( (yyvsp[(2) - (2)].decl) ) : (yyvsp[(2) - (2)].decl); }
    70386922    break;
    70396923
    7040   case 374:
    7041 
    7042 /* Line 1806 of yacc.c  */
    7043 #line 1503 "parser.yy"
     6924  case 379:
     6925
     6926/* Line 1806 of yacc.c  */
     6927#line 1526 "parser.yy"
    70446928    { (yyval.decl) = (yyvsp[(2) - (3)].decl)->set_extension( true ); }
    70456929    break;
    70466930
    7047   case 376:
    7048 
    7049 /* Line 1806 of yacc.c  */
    7050 #line 1506 "parser.yy"
     6931  case 381:
     6932
     6933/* Line 1806 of yacc.c  */
     6934#line 1529 "parser.yy"
    70516935    {   // mark all fields in list
    70526936                        for ( DeclarationNode *iter = (yyvsp[(2) - (3)].decl); iter != nullptr; iter = (DeclarationNode *)iter->get_next() )
     
    70566940    break;
    70576941
    7058   case 378:
    7059 
    7060 /* Line 1806 of yacc.c  */
    7061 #line 1516 "parser.yy"
     6942  case 383:
     6943
     6944/* Line 1806 of yacc.c  */
     6945#line 1539 "parser.yy"
    70626946    { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addName( (yyvsp[(2) - (2)].tok) ); }
    70636947    break;
    70646948
    7065   case 379:
    7066 
    7067 /* Line 1806 of yacc.c  */
    7068 #line 1518 "parser.yy"
     6949  case 384:
     6950
     6951/* Line 1806 of yacc.c  */
     6952#line 1541 "parser.yy"
    70696953    { (yyval.decl) = (yyvsp[(1) - (3)].decl)->appendList( (yyvsp[(1) - (3)].decl)->cloneType( (yyvsp[(3) - (3)].tok) ) ); }
    70706954    break;
    70716955
    7072   case 380:
    7073 
    7074 /* Line 1806 of yacc.c  */
    7075 #line 1520 "parser.yy"
     6956  case 385:
     6957
     6958/* Line 1806 of yacc.c  */
     6959#line 1543 "parser.yy"
    70766960    { (yyval.decl) = (yyvsp[(1) - (2)].decl)->appendList( (yyvsp[(1) - (2)].decl)->cloneType( 0 ) ); }
    70776961    break;
    70786962
    7079   case 381:
    7080 
    7081 /* Line 1806 of yacc.c  */
    7082 #line 1525 "parser.yy"
     6963  case 386:
     6964
     6965/* Line 1806 of yacc.c  */
     6966#line 1548 "parser.yy"
    70836967    { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addType( (yyvsp[(1) - (2)].decl) ); }
    70846968    break;
    70856969
    7086   case 382:
    7087 
    7088 /* Line 1806 of yacc.c  */
    7089 #line 1527 "parser.yy"
     6970  case 387:
     6971
     6972/* Line 1806 of yacc.c  */
     6973#line 1550 "parser.yy"
    70906974    { (yyval.decl) = (yyvsp[(1) - (4)].decl)->appendList( (yyvsp[(1) - (4)].decl)->cloneBaseType( (yyvsp[(4) - (4)].decl) ) ); }
    70916975    break;
    70926976
    7093   case 383:
    7094 
    7095 /* Line 1806 of yacc.c  */
    7096 #line 1532 "parser.yy"
     6977  case 388:
     6978
     6979/* Line 1806 of yacc.c  */
     6980#line 1555 "parser.yy"
    70976981    { (yyval.decl) = DeclarationNode::newName( 0 ); /* XXX */ }
    70986982    break;
    70996983
    7100   case 384:
    7101 
    7102 /* Line 1806 of yacc.c  */
    7103 #line 1534 "parser.yy"
     6984  case 389:
     6985
     6986/* Line 1806 of yacc.c  */
     6987#line 1557 "parser.yy"
    71046988    { (yyval.decl) = DeclarationNode::newBitfield( (yyvsp[(1) - (1)].en) ); }
    71056989    break;
    71066990
    7107   case 385:
    7108 
    7109 /* Line 1806 of yacc.c  */
    7110 #line 1537 "parser.yy"
     6991  case 390:
     6992
     6993/* Line 1806 of yacc.c  */
     6994#line 1560 "parser.yy"
    71116995    { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addBitfield( (yyvsp[(2) - (2)].en) ); }
    71126996    break;
    71136997
    7114   case 386:
    7115 
    7116 /* Line 1806 of yacc.c  */
    7117 #line 1540 "parser.yy"
     6998  case 391:
     6999
     7000/* Line 1806 of yacc.c  */
     7001#line 1563 "parser.yy"
    71187002    { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addBitfield( (yyvsp[(2) - (2)].en) ); }
    71197003    break;
    71207004
    7121   case 388:
    7122 
    7123 /* Line 1806 of yacc.c  */
    7124 #line 1546 "parser.yy"
     7005  case 393:
     7006
     7007/* Line 1806 of yacc.c  */
     7008#line 1569 "parser.yy"
    71257009    { (yyval.en) = 0; }
    71267010    break;
    71277011
    7128   case 389:
    7129 
    7130 /* Line 1806 of yacc.c  */
    7131 #line 1548 "parser.yy"
     7012  case 394:
     7013
     7014/* Line 1806 of yacc.c  */
     7015#line 1571 "parser.yy"
    71327016    { (yyval.en) = (yyvsp[(1) - (1)].en); }
    71337017    break;
    71347018
    7135   case 390:
    7136 
    7137 /* Line 1806 of yacc.c  */
    7138 #line 1553 "parser.yy"
     7019  case 395:
     7020
     7021/* Line 1806 of yacc.c  */
     7022#line 1576 "parser.yy"
    71397023    { (yyval.en) = (yyvsp[(2) - (2)].en); }
    71407024    break;
    71417025
    7142   case 392:
    7143 
    7144 /* Line 1806 of yacc.c  */
    7145 #line 1562 "parser.yy"
     7026  case 397:
     7027
     7028/* Line 1806 of yacc.c  */
     7029#line 1585 "parser.yy"
    71467030    { (yyval.decl) = DeclarationNode::newEnum( nullptr, (yyvsp[(3) - (5)].decl) ); }
    71477031    break;
    71487032
    7149   case 393:
    7150 
    7151 /* Line 1806 of yacc.c  */
    7152 #line 1564 "parser.yy"
     7033  case 398:
     7034
     7035/* Line 1806 of yacc.c  */
     7036#line 1587 "parser.yy"
    71537037    {
    71547038                        typedefTable.makeTypedef( *(yyvsp[(2) - (2)].tok) );
     
    71577041    break;
    71587042
    7159   case 394:
    7160 
    7161 /* Line 1806 of yacc.c  */
    7162 #line 1569 "parser.yy"
     7043  case 399:
     7044
     7045/* Line 1806 of yacc.c  */
     7046#line 1592 "parser.yy"
    71637047    { typedefTable.makeTypedef( *(yyvsp[(2) - (2)].tok) ); }
    71647048    break;
    71657049
    7166   case 395:
    7167 
    7168 /* Line 1806 of yacc.c  */
    7169 #line 1571 "parser.yy"
     7050  case 400:
     7051
     7052/* Line 1806 of yacc.c  */
     7053#line 1594 "parser.yy"
    71707054    { (yyval.decl) = DeclarationNode::newEnum( (yyvsp[(2) - (7)].tok), (yyvsp[(5) - (7)].decl) ); }
    71717055    break;
    71727056
    7173   case 396:
    7174 
    7175 /* Line 1806 of yacc.c  */
    7176 #line 1576 "parser.yy"
     7057  case 401:
     7058
     7059/* Line 1806 of yacc.c  */
     7060#line 1599 "parser.yy"
    71777061    { (yyval.decl) = DeclarationNode::newEnumConstant( (yyvsp[(1) - (2)].tok), (yyvsp[(2) - (2)].en) ); }
    71787062    break;
    71797063
    7180   case 397:
    7181 
    7182 /* Line 1806 of yacc.c  */
    7183 #line 1578 "parser.yy"
     7064  case 402:
     7065
     7066/* Line 1806 of yacc.c  */
     7067#line 1601 "parser.yy"
    71847068    { (yyval.decl) = (yyvsp[(1) - (4)].decl)->appendList( DeclarationNode::newEnumConstant( (yyvsp[(3) - (4)].tok), (yyvsp[(4) - (4)].en) ) ); }
    71857069    break;
    71867070
    7187   case 398:
    7188 
    7189 /* Line 1806 of yacc.c  */
    7190 #line 1583 "parser.yy"
     7071  case 403:
     7072
     7073/* Line 1806 of yacc.c  */
     7074#line 1606 "parser.yy"
    71917075    { (yyval.en) = 0; }
    71927076    break;
    71937077
    7194   case 399:
    7195 
    7196 /* Line 1806 of yacc.c  */
    7197 #line 1585 "parser.yy"
     7078  case 404:
     7079
     7080/* Line 1806 of yacc.c  */
     7081#line 1608 "parser.yy"
    71987082    { (yyval.en) = (yyvsp[(2) - (2)].en); }
    71997083    break;
    72007084
    7201   case 400:
    7202 
    7203 /* Line 1806 of yacc.c  */
    7204 #line 1592 "parser.yy"
     7085  case 405:
     7086
     7087/* Line 1806 of yacc.c  */
     7088#line 1615 "parser.yy"
    72057089    { (yyval.decl) = 0; }
    72067090    break;
    72077091
    7208   case 404:
    7209 
    7210 /* Line 1806 of yacc.c  */
    7211 #line 1600 "parser.yy"
     7092  case 409:
     7093
     7094/* Line 1806 of yacc.c  */
     7095#line 1623 "parser.yy"
    72127096    { (yyval.decl) = (yyvsp[(1) - (5)].decl)->appendList( (yyvsp[(5) - (5)].decl) ); }
    72137097    break;
    72147098
    7215   case 405:
    7216 
    7217 /* Line 1806 of yacc.c  */
    7218 #line 1602 "parser.yy"
     7099  case 410:
     7100
     7101/* Line 1806 of yacc.c  */
     7102#line 1625 "parser.yy"
    72197103    { (yyval.decl) = (yyvsp[(1) - (5)].decl)->addVarArgs(); }
    72207104    break;
    72217105
    7222   case 406:
    7223 
    7224 /* Line 1806 of yacc.c  */
    7225 #line 1604 "parser.yy"
     7106  case 411:
     7107
     7108/* Line 1806 of yacc.c  */
     7109#line 1627 "parser.yy"
    72267110    { (yyval.decl) = (yyvsp[(1) - (5)].decl)->addVarArgs(); }
    72277111    break;
    72287112
    7229   case 408:
    7230 
    7231 /* Line 1806 of yacc.c  */
    7232 #line 1612 "parser.yy"
     7113  case 413:
     7114
     7115/* Line 1806 of yacc.c  */
     7116#line 1635 "parser.yy"
    72337117    { (yyval.decl) = (yyvsp[(1) - (5)].decl)->appendList( (yyvsp[(5) - (5)].decl) ); }
    72347118    break;
    72357119
    7236   case 409:
    7237 
    7238 /* Line 1806 of yacc.c  */
    7239 #line 1614 "parser.yy"
     7120  case 414:
     7121
     7122/* Line 1806 of yacc.c  */
     7123#line 1637 "parser.yy"
    72407124    { (yyval.decl) = (yyvsp[(1) - (5)].decl)->appendList( (yyvsp[(5) - (5)].decl) ); }
    72417125    break;
    72427126
    7243   case 410:
    7244 
    7245 /* Line 1806 of yacc.c  */
    7246 #line 1616 "parser.yy"
     7127  case 415:
     7128
     7129/* Line 1806 of yacc.c  */
     7130#line 1639 "parser.yy"
    72477131    { (yyval.decl) = (yyvsp[(1) - (9)].decl)->appendList( (yyvsp[(5) - (9)].decl) )->appendList( (yyvsp[(9) - (9)].decl) ); }
    72487132    break;
    72497133
    7250   case 412:
    7251 
    7252 /* Line 1806 of yacc.c  */
    7253 #line 1622 "parser.yy"
     7134  case 417:
     7135
     7136/* Line 1806 of yacc.c  */
     7137#line 1645 "parser.yy"
    72547138    { (yyval.decl) = (yyvsp[(1) - (5)].decl)->appendList( (yyvsp[(5) - (5)].decl) ); }
    72557139    break;
    72567140
    7257   case 413:
    7258 
    7259 /* Line 1806 of yacc.c  */
    7260 #line 1627 "parser.yy"
     7141  case 418:
     7142
     7143/* Line 1806 of yacc.c  */
     7144#line 1650 "parser.yy"
    72617145    { (yyval.decl) = 0; }
    72627146    break;
    72637147
    7264   case 416:
    7265 
    7266 /* Line 1806 of yacc.c  */
    7267 #line 1634 "parser.yy"
     7148  case 421:
     7149
     7150/* Line 1806 of yacc.c  */
     7151#line 1657 "parser.yy"
    72687152    { (yyval.decl) = (yyvsp[(1) - (5)].decl)->addVarArgs(); }
    72697153    break;
    72707154
    7271   case 419:
    7272 
    7273 /* Line 1806 of yacc.c  */
    7274 #line 1641 "parser.yy"
     7155  case 424:
     7156
     7157/* Line 1806 of yacc.c  */
     7158#line 1664 "parser.yy"
    72757159    { (yyval.decl) = (yyvsp[(1) - (5)].decl)->appendList( (yyvsp[(5) - (5)].decl) ); }
    72767160    break;
    72777161
    7278   case 420:
    7279 
    7280 /* Line 1806 of yacc.c  */
    7281 #line 1643 "parser.yy"
     7162  case 425:
     7163
     7164/* Line 1806 of yacc.c  */
     7165#line 1666 "parser.yy"
    72827166    { (yyval.decl) = (yyvsp[(1) - (5)].decl)->appendList( (yyvsp[(5) - (5)].decl) ); }
    72837167    break;
    72847168
    7285   case 422:
    7286 
    7287 /* Line 1806 of yacc.c  */
    7288 #line 1652 "parser.yy"
     7169  case 427:
     7170
     7171/* Line 1806 of yacc.c  */
     7172#line 1675 "parser.yy"
    72897173    { (yyval.decl) = (yyvsp[(1) - (3)].decl)->addName( (yyvsp[(2) - (3)].tok) ); }
    72907174    break;
    72917175
    7292   case 423:
    7293 
    7294 /* Line 1806 of yacc.c  */
    7295 #line 1655 "parser.yy"
     7176  case 428:
     7177
     7178/* Line 1806 of yacc.c  */
     7179#line 1678 "parser.yy"
    72967180    { (yyval.decl) = (yyvsp[(1) - (3)].decl)->addName( (yyvsp[(2) - (3)].tok) ); }
    72977181    break;
    72987182
    7299   case 424:
    7300 
    7301 /* Line 1806 of yacc.c  */
    7302 #line 1657 "parser.yy"
     7183  case 429:
     7184
     7185/* Line 1806 of yacc.c  */
     7186#line 1680 "parser.yy"
    73037187    { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addName( (yyvsp[(3) - (4)].tok) )->addQualifiers( (yyvsp[(1) - (4)].decl) ); }
    73047188    break;
    73057189
    7306   case 429:
    7307 
    7308 /* Line 1806 of yacc.c  */
    7309 #line 1667 "parser.yy"
     7190  case 434:
     7191
     7192/* Line 1806 of yacc.c  */
     7193#line 1690 "parser.yy"
    73107194    { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addQualifiers( (yyvsp[(1) - (2)].decl) ); }
    73117195    break;
    73127196
    7313   case 431:
    7314 
    7315 /* Line 1806 of yacc.c  */
    7316 #line 1673 "parser.yy"
     7197  case 436:
     7198
     7199/* Line 1806 of yacc.c  */
     7200#line 1696 "parser.yy"
    73177201    {
    73187202                        typedefTable.addToEnclosingScope( TypedefTable::ID );
     
    73217205    break;
    73227206
    7323   case 432:
    7324 
    7325 /* Line 1806 of yacc.c  */
    7326 #line 1678 "parser.yy"
     7207  case 437:
     7208
     7209/* Line 1806 of yacc.c  */
     7210#line 1701 "parser.yy"
    73277211    {
    73287212                        typedefTable.addToEnclosingScope( TypedefTable::ID );
     
    73317215    break;
    73327216
    7333   case 434:
    7334 
    7335 /* Line 1806 of yacc.c  */
    7336 #line 1687 "parser.yy"
     7217  case 439:
     7218
     7219/* Line 1806 of yacc.c  */
     7220#line 1710 "parser.yy"
    73377221    { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addType( (yyvsp[(1) - (2)].decl) ); }
    73387222    break;
    73397223
    7340   case 435:
    7341 
    7342 /* Line 1806 of yacc.c  */
    7343 #line 1696 "parser.yy"
     7224  case 440:
     7225
     7226/* Line 1806 of yacc.c  */
     7227#line 1719 "parser.yy"
    73447228    { (yyval.decl) = DeclarationNode::newName( (yyvsp[(1) - (1)].tok) ); }
    73457229    break;
    73467230
    7347   case 436:
    7348 
    7349 /* Line 1806 of yacc.c  */
    7350 #line 1698 "parser.yy"
     7231  case 441:
     7232
     7233/* Line 1806 of yacc.c  */
     7234#line 1721 "parser.yy"
    73517235    { (yyval.decl) = (yyvsp[(1) - (3)].decl)->appendList( DeclarationNode::newName( (yyvsp[(3) - (3)].tok) ) ); }
    73527236    break;
    73537237
    7354   case 448:
    7355 
    7356 /* Line 1806 of yacc.c  */
    7357 #line 1723 "parser.yy"
     7238  case 453:
     7239
     7240/* Line 1806 of yacc.c  */
     7241#line 1746 "parser.yy"
    73587242    { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addType( (yyvsp[(1) - (2)].decl) ); }
    73597243    break;
    73607244
    7361   case 452:
    7362 
    7363 /* Line 1806 of yacc.c  */
    7364 #line 1731 "parser.yy"
     7245  case 457:
     7246
     7247/* Line 1806 of yacc.c  */
     7248#line 1754 "parser.yy"
    73657249    { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addType( (yyvsp[(1) - (2)].decl) ); }
    73667250    break;
    73677251
    7368   case 453:
    7369 
    7370 /* Line 1806 of yacc.c  */
    7371 #line 1736 "parser.yy"
     7252  case 458:
     7253
     7254/* Line 1806 of yacc.c  */
     7255#line 1759 "parser.yy"
    73727256    { (yyval.in) = 0; }
    73737257    break;
    73747258
    7375   case 454:
    7376 
    7377 /* Line 1806 of yacc.c  */
    7378 #line 1738 "parser.yy"
     7259  case 459:
     7260
     7261/* Line 1806 of yacc.c  */
     7262#line 1761 "parser.yy"
    73797263    { (yyval.in) = (yyvsp[(2) - (2)].in); }
    73807264    break;
    73817265
    7382   case 455:
    7383 
    7384 /* Line 1806 of yacc.c  */
    7385 #line 1740 "parser.yy"
     7266  case 460:
     7267
     7268/* Line 1806 of yacc.c  */
     7269#line 1763 "parser.yy"
    73867270    { (yyval.in) = (yyvsp[(2) - (2)].in)->set_maybeConstructed( false ); }
    73877271    break;
    73887272
    7389   case 456:
    7390 
    7391 /* Line 1806 of yacc.c  */
    7392 #line 1744 "parser.yy"
     7273  case 461:
     7274
     7275/* Line 1806 of yacc.c  */
     7276#line 1767 "parser.yy"
    73937277    { (yyval.in) = new InitializerNode( (yyvsp[(1) - (1)].en) ); }
    73947278    break;
    73957279
    7396   case 457:
    7397 
    7398 /* Line 1806 of yacc.c  */
    7399 #line 1745 "parser.yy"
     7280  case 462:
     7281
     7282/* Line 1806 of yacc.c  */
     7283#line 1768 "parser.yy"
    74007284    { (yyval.in) = new InitializerNode( (yyvsp[(2) - (4)].in), true ); }
    74017285    break;
    74027286
    7403   case 458:
    7404 
    7405 /* Line 1806 of yacc.c  */
    7406 #line 1750 "parser.yy"
     7287  case 463:
     7288
     7289/* Line 1806 of yacc.c  */
     7290#line 1773 "parser.yy"
    74077291    { (yyval.in) = 0; }
    74087292    break;
    74097293
    7410   case 460:
    7411 
    7412 /* Line 1806 of yacc.c  */
    7413 #line 1752 "parser.yy"
     7294  case 465:
     7295
     7296/* Line 1806 of yacc.c  */
     7297#line 1775 "parser.yy"
    74147298    { (yyval.in) = (yyvsp[(2) - (2)].in)->set_designators( (yyvsp[(1) - (2)].en) ); }
    74157299    break;
    74167300
    7417   case 461:
    7418 
    7419 /* Line 1806 of yacc.c  */
    7420 #line 1753 "parser.yy"
     7301  case 466:
     7302
     7303/* Line 1806 of yacc.c  */
     7304#line 1776 "parser.yy"
    74217305    { (yyval.in) = (InitializerNode *)( (yyvsp[(1) - (3)].in)->set_last( (yyvsp[(3) - (3)].in) ) ); }
    74227306    break;
    74237307
    7424   case 462:
    7425 
    7426 /* Line 1806 of yacc.c  */
    7427 #line 1755 "parser.yy"
     7308  case 467:
     7309
     7310/* Line 1806 of yacc.c  */
     7311#line 1778 "parser.yy"
    74287312    { (yyval.in) = (InitializerNode *)( (yyvsp[(1) - (4)].in)->set_last( (yyvsp[(4) - (4)].in)->set_designators( (yyvsp[(3) - (4)].en) ) ) ); }
    74297313    break;
    74307314
    7431   case 464:
    7432 
    7433 /* Line 1806 of yacc.c  */
    7434 #line 1771 "parser.yy"
     7315  case 469:
     7316
     7317/* Line 1806 of yacc.c  */
     7318#line 1794 "parser.yy"
    74357319    { (yyval.en) = new ExpressionNode( build_varref( (yyvsp[(1) - (2)].tok) ) ); }
    74367320    break;
    74377321
    7438   case 466:
    7439 
    7440 /* Line 1806 of yacc.c  */
    7441 #line 1777 "parser.yy"
     7322  case 471:
     7323
     7324/* Line 1806 of yacc.c  */
     7325#line 1800 "parser.yy"
    74427326    { (yyval.en) = (ExpressionNode *)( (yyvsp[(1) - (2)].en)->set_last( (yyvsp[(2) - (2)].en) ) ); }
    74437327    break;
    74447328
    7445   case 467:
    7446 
    7447 /* Line 1806 of yacc.c  */
    7448 #line 1783 "parser.yy"
     7329  case 472:
     7330
     7331/* Line 1806 of yacc.c  */
     7332#line 1806 "parser.yy"
    74497333    { (yyval.en) = new ExpressionNode( build_varref( (yyvsp[(2) - (2)].tok) ) ); }
    74507334    break;
    74517335
    7452   case 468:
    7453 
    7454 /* Line 1806 of yacc.c  */
    7455 #line 1786 "parser.yy"
     7336  case 473:
     7337
     7338/* Line 1806 of yacc.c  */
     7339#line 1809 "parser.yy"
    74567340    { (yyval.en) = (yyvsp[(3) - (5)].en); }
    74577341    break;
    74587342
    7459   case 469:
    7460 
    7461 /* Line 1806 of yacc.c  */
    7462 #line 1788 "parser.yy"
     7343  case 474:
     7344
     7345/* Line 1806 of yacc.c  */
     7346#line 1811 "parser.yy"
    74637347    { (yyval.en) = (yyvsp[(3) - (5)].en); }
    74647348    break;
    74657349
    7466   case 470:
    7467 
    7468 /* Line 1806 of yacc.c  */
    7469 #line 1790 "parser.yy"
     7350  case 475:
     7351
     7352/* Line 1806 of yacc.c  */
     7353#line 1813 "parser.yy"
    74707354    { (yyval.en) = new ExpressionNode( build_range( (yyvsp[(3) - (7)].en), (yyvsp[(5) - (7)].en) ) ); }
    74717355    break;
    74727356
    7473   case 471:
    7474 
    7475 /* Line 1806 of yacc.c  */
    7476 #line 1792 "parser.yy"
     7357  case 476:
     7358
     7359/* Line 1806 of yacc.c  */
     7360#line 1815 "parser.yy"
    74777361    { (yyval.en) = (yyvsp[(4) - (6)].en); }
    74787362    break;
    74797363
    7480   case 473:
    7481 
    7482 /* Line 1806 of yacc.c  */
    7483 #line 1816 "parser.yy"
     7364  case 478:
     7365
     7366/* Line 1806 of yacc.c  */
     7367#line 1839 "parser.yy"
    74847368    { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addQualifiers( (yyvsp[(1) - (2)].decl) ); }
    74857369    break;
    74867370
    7487   case 474:
    7488 
    7489 /* Line 1806 of yacc.c  */
    7490 #line 1818 "parser.yy"
     7371  case 479:
     7372
     7373/* Line 1806 of yacc.c  */
     7374#line 1841 "parser.yy"
    74917375    { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); }
    74927376    break;
    74937377
    7494   case 475:
    7495 
    7496 /* Line 1806 of yacc.c  */
    7497 #line 1820 "parser.yy"
     7378  case 480:
     7379
     7380/* Line 1806 of yacc.c  */
     7381#line 1843 "parser.yy"
    74987382    { (yyval.decl) = (yyvsp[(1) - (3)].decl)->addQualifiers( (yyvsp[(2) - (3)].decl) )->addQualifiers( (yyvsp[(3) - (3)].decl) ); }
    74997383    break;
    75007384
    7501   case 477:
    7502 
    7503 /* Line 1806 of yacc.c  */
    7504 #line 1826 "parser.yy"
     7385  case 482:
     7386
     7387/* Line 1806 of yacc.c  */
     7388#line 1849 "parser.yy"
    75057389    { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addQualifiers( (yyvsp[(1) - (2)].decl) ); }
    75067390    break;
    75077391
    7508   case 478:
    7509 
    7510 /* Line 1806 of yacc.c  */
    7511 #line 1828 "parser.yy"
     7392  case 483:
     7393
     7394/* Line 1806 of yacc.c  */
     7395#line 1851 "parser.yy"
    75127396    { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); }
    75137397    break;
    75147398
    7515   case 479:
    7516 
    7517 /* Line 1806 of yacc.c  */
    7518 #line 1833 "parser.yy"
     7399  case 484:
     7400
     7401/* Line 1806 of yacc.c  */
     7402#line 1856 "parser.yy"
    75197403    { (yyval.decl) = DeclarationNode::newFromTypeGen( (yyvsp[(1) - (4)].tok), (yyvsp[(3) - (4)].en) ); }
    75207404    break;
    75217405
    7522   case 481:
    7523 
    7524 /* Line 1806 of yacc.c  */
    7525 #line 1839 "parser.yy"
     7406  case 486:
     7407
     7408/* Line 1806 of yacc.c  */
     7409#line 1862 "parser.yy"
    75267410    { (yyval.decl) = (yyvsp[(1) - (4)].decl)->appendList( (yyvsp[(3) - (4)].decl) ); }
    75277411    break;
    75287412
    7529   case 482:
    7530 
    7531 /* Line 1806 of yacc.c  */
    7532 #line 1844 "parser.yy"
     7413  case 487:
     7414
     7415/* Line 1806 of yacc.c  */
     7416#line 1867 "parser.yy"
    75337417    { typedefTable.addToEnclosingScope( *(yyvsp[(2) - (2)].tok), TypedefTable::TD ); }
    75347418    break;
    75357419
    7536   case 483:
    7537 
    7538 /* Line 1806 of yacc.c  */
    7539 #line 1846 "parser.yy"
     7420  case 488:
     7421
     7422/* Line 1806 of yacc.c  */
     7423#line 1869 "parser.yy"
    75407424    { (yyval.decl) = DeclarationNode::newTypeParam( (yyvsp[(1) - (4)].tclass), (yyvsp[(2) - (4)].tok) )->addAssertions( (yyvsp[(4) - (4)].decl) ); }
    75417425    break;
    75427426
    7543   case 485:
    7544 
    7545 /* Line 1806 of yacc.c  */
    7546 #line 1852 "parser.yy"
     7427  case 490:
     7428
     7429/* Line 1806 of yacc.c  */
     7430#line 1875 "parser.yy"
    75477431    { (yyval.tclass) = DeclarationNode::Otype; }
    75487432    break;
    75497433
    7550   case 486:
    7551 
    7552 /* Line 1806 of yacc.c  */
    7553 #line 1854 "parser.yy"
     7434  case 491:
     7435
     7436/* Line 1806 of yacc.c  */
     7437#line 1877 "parser.yy"
    75547438    { (yyval.tclass) = DeclarationNode::Ftype; }
    75557439    break;
    75567440
    7557   case 487:
    7558 
    7559 /* Line 1806 of yacc.c  */
    7560 #line 1856 "parser.yy"
     7441  case 492:
     7442
     7443/* Line 1806 of yacc.c  */
     7444#line 1879 "parser.yy"
    75617445    { (yyval.tclass) = DeclarationNode::Dtype; }
    75627446    break;
    75637447
    7564   case 488:
    7565 
    7566 /* Line 1806 of yacc.c  */
    7567 #line 1861 "parser.yy"
     7448  case 493:
     7449
     7450/* Line 1806 of yacc.c  */
     7451#line 1884 "parser.yy"
    75687452    { (yyval.decl) = 0; }
    75697453    break;
    75707454
    7571   case 489:
    7572 
    7573 /* Line 1806 of yacc.c  */
    7574 #line 1863 "parser.yy"
     7455  case 494:
     7456
     7457/* Line 1806 of yacc.c  */
     7458#line 1886 "parser.yy"
    75757459    { (yyval.decl) = (yyvsp[(1) - (2)].decl) != 0 ? (yyvsp[(1) - (2)].decl)->appendList( (yyvsp[(2) - (2)].decl) ) : (yyvsp[(2) - (2)].decl); }
    75767460    break;
    75777461
    7578   case 490:
    7579 
    7580 /* Line 1806 of yacc.c  */
    7581 #line 1868 "parser.yy"
     7462  case 495:
     7463
     7464/* Line 1806 of yacc.c  */
     7465#line 1891 "parser.yy"
    75827466    {
    75837467                        typedefTable.openTrait( *(yyvsp[(2) - (5)].tok) );
     
    75867470    break;
    75877471
    7588   case 491:
    7589 
    7590 /* Line 1806 of yacc.c  */
    7591 #line 1873 "parser.yy"
     7472  case 496:
     7473
     7474/* Line 1806 of yacc.c  */
     7475#line 1896 "parser.yy"
    75927476    { (yyval.decl) = (yyvsp[(4) - (5)].decl); }
    75937477    break;
    75947478
    7595   case 492:
    7596 
    7597 /* Line 1806 of yacc.c  */
    7598 #line 1875 "parser.yy"
     7479  case 497:
     7480
     7481/* Line 1806 of yacc.c  */
     7482#line 1898 "parser.yy"
    75997483    { (yyval.decl) = 0; }
    76007484    break;
    76017485
    7602   case 493:
    7603 
    7604 /* Line 1806 of yacc.c  */
    7605 #line 1880 "parser.yy"
     7486  case 498:
     7487
     7488/* Line 1806 of yacc.c  */
     7489#line 1903 "parser.yy"
    76067490    { (yyval.en) = new ExpressionNode( build_typevalue( (yyvsp[(1) - (1)].decl) ) ); }
    76077491    break;
    76087492
    7609   case 495:
    7610 
    7611 /* Line 1806 of yacc.c  */
    7612 #line 1883 "parser.yy"
     7493  case 500:
     7494
     7495/* Line 1806 of yacc.c  */
     7496#line 1906 "parser.yy"
    76137497    { (yyval.en) = (ExpressionNode *)( (yyvsp[(1) - (3)].en)->set_last( new ExpressionNode( build_typevalue( (yyvsp[(3) - (3)].decl) ) ) ) ); }
    76147498    break;
    76157499
    7616   case 496:
    7617 
    7618 /* Line 1806 of yacc.c  */
    7619 #line 1885 "parser.yy"
     7500  case 501:
     7501
     7502/* Line 1806 of yacc.c  */
     7503#line 1908 "parser.yy"
    76207504    { (yyval.en) = (ExpressionNode *)( (yyvsp[(1) - (3)].en)->set_last( (yyvsp[(3) - (3)].en) )); }
    76217505    break;
    76227506
    7623   case 497:
    7624 
    7625 /* Line 1806 of yacc.c  */
    7626 #line 1890 "parser.yy"
     7507  case 502:
     7508
     7509/* Line 1806 of yacc.c  */
     7510#line 1913 "parser.yy"
    76277511    { (yyval.decl) = (yyvsp[(2) - (2)].decl); }
    76287512    break;
    76297513
    7630   case 498:
    7631 
    7632 /* Line 1806 of yacc.c  */
    7633 #line 1892 "parser.yy"
     7514  case 503:
     7515
     7516/* Line 1806 of yacc.c  */
     7517#line 1915 "parser.yy"
    76347518    { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addQualifiers( (yyvsp[(1) - (3)].decl) ); }
    76357519    break;
    76367520
    7637   case 499:
    7638 
    7639 /* Line 1806 of yacc.c  */
    7640 #line 1894 "parser.yy"
     7521  case 504:
     7522
     7523/* Line 1806 of yacc.c  */
     7524#line 1917 "parser.yy"
    76417525    { (yyval.decl) = (yyvsp[(1) - (3)].decl)->appendList( (yyvsp[(3) - (3)].decl)->copyStorageClasses( (yyvsp[(1) - (3)].decl) ) ); }
    76427526    break;
    76437527
    7644   case 500:
    7645 
    7646 /* Line 1806 of yacc.c  */
    7647 #line 1899 "parser.yy"
     7528  case 505:
     7529
     7530/* Line 1806 of yacc.c  */
     7531#line 1922 "parser.yy"
    76487532    { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addAssertions( (yyvsp[(2) - (2)].decl) ); }
    76497533    break;
    76507534
    7651   case 501:
    7652 
    7653 /* Line 1806 of yacc.c  */
    7654 #line 1901 "parser.yy"
     7535  case 506:
     7536
     7537/* Line 1806 of yacc.c  */
     7538#line 1924 "parser.yy"
    76557539    { (yyval.decl) = (yyvsp[(1) - (4)].decl)->addAssertions( (yyvsp[(2) - (4)].decl) )->addType( (yyvsp[(4) - (4)].decl) ); }
    76567540    break;
    76577541
    7658   case 502:
    7659 
    7660 /* Line 1806 of yacc.c  */
    7661 #line 1906 "parser.yy"
     7542  case 507:
     7543
     7544/* Line 1806 of yacc.c  */
     7545#line 1929 "parser.yy"
    76627546    {
    76637547                        typedefTable.addToEnclosingScope( *(yyvsp[(1) - (1)].tok), TypedefTable::TD );
     
    76667550    break;
    76677551
    7668   case 503:
    7669 
    7670 /* Line 1806 of yacc.c  */
    7671 #line 1911 "parser.yy"
     7552  case 508:
     7553
     7554/* Line 1806 of yacc.c  */
     7555#line 1934 "parser.yy"
    76727556    {
    76737557                        typedefTable.addToEnclosingScope( *(yyvsp[(1) - (6)].tok), TypedefTable::TG );
     
    76767560    break;
    76777561
    7678   case 504:
    7679 
    7680 /* Line 1806 of yacc.c  */
    7681 #line 1919 "parser.yy"
     7562  case 509:
     7563
     7564/* Line 1806 of yacc.c  */
     7565#line 1942 "parser.yy"
    76827566    {
    76837567                        typedefTable.addToEnclosingScope( *(yyvsp[(2) - (9)].tok), TypedefTable::ID );
     
    76867570    break;
    76877571
    7688   case 505:
    7689 
    7690 /* Line 1806 of yacc.c  */
    7691 #line 1924 "parser.yy"
     7572  case 510:
     7573
     7574/* Line 1806 of yacc.c  */
     7575#line 1947 "parser.yy"
    76927576    {
    76937577                        typedefTable.enterTrait( *(yyvsp[(2) - (8)].tok) );
     
    76967580    break;
    76977581
    7698   case 506:
    7699 
    7700 /* Line 1806 of yacc.c  */
    7701 #line 1929 "parser.yy"
     7582  case 511:
     7583
     7584/* Line 1806 of yacc.c  */
     7585#line 1952 "parser.yy"
    77027586    {
    77037587                        typedefTable.leaveTrait();
     
    77077591    break;
    77087592
    7709   case 508:
    7710 
    7711 /* Line 1806 of yacc.c  */
    7712 #line 1939 "parser.yy"
     7593  case 513:
     7594
     7595/* Line 1806 of yacc.c  */
     7596#line 1962 "parser.yy"
    77137597    { (yyval.decl) = (yyvsp[(1) - (3)].decl)->appendList( (yyvsp[(3) - (3)].decl) ); }
    77147598    break;
    77157599
    7716   case 511:
    7717 
    7718 /* Line 1806 of yacc.c  */
    7719 #line 1949 "parser.yy"
     7600  case 516:
     7601
     7602/* Line 1806 of yacc.c  */
     7603#line 1972 "parser.yy"
    77207604    {
    77217605                        typedefTable.addToEnclosingScope2( TypedefTable::ID );
     
    77247608    break;
    77257609
    7726   case 512:
    7727 
    7728 /* Line 1806 of yacc.c  */
    7729 #line 1954 "parser.yy"
     7610  case 517:
     7611
     7612/* Line 1806 of yacc.c  */
     7613#line 1977 "parser.yy"
    77307614    {
    77317615                        typedefTable.addToEnclosingScope2( TypedefTable::ID );
     
    77347618    break;
    77357619
    7736   case 513:
    7737 
    7738 /* Line 1806 of yacc.c  */
    7739 #line 1959 "parser.yy"
     7620  case 518:
     7621
     7622/* Line 1806 of yacc.c  */
     7623#line 1982 "parser.yy"
    77407624    {
    77417625                        typedefTable.addToEnclosingScope2( *(yyvsp[(5) - (5)].tok), TypedefTable::ID );
     
    77447628    break;
    77457629
    7746   case 514:
    7747 
    7748 /* Line 1806 of yacc.c  */
    7749 #line 1967 "parser.yy"
     7630  case 519:
     7631
     7632/* Line 1806 of yacc.c  */
     7633#line 1990 "parser.yy"
    77507634    {
    77517635                        typedefTable.addToEnclosingScope2( TypedefTable::ID );
     
    77547638    break;
    77557639
    7756   case 515:
    7757 
    7758 /* Line 1806 of yacc.c  */
    7759 #line 1972 "parser.yy"
     7640  case 520:
     7641
     7642/* Line 1806 of yacc.c  */
     7643#line 1995 "parser.yy"
    77607644    {
    77617645                        typedefTable.addToEnclosingScope2( TypedefTable::ID );
     
    77647648    break;
    77657649
    7766   case 516:
    7767 
    7768 /* Line 1806 of yacc.c  */
    7769 #line 1982 "parser.yy"
     7650  case 521:
     7651
     7652/* Line 1806 of yacc.c  */
     7653#line 2005 "parser.yy"
    77707654    {}
    77717655    break;
    77727656
    7773   case 517:
    7774 
    7775 /* Line 1806 of yacc.c  */
    7776 #line 1984 "parser.yy"
     7657  case 522:
     7658
     7659/* Line 1806 of yacc.c  */
     7660#line 2007 "parser.yy"
    77777661    { parseTree = parseTree != nullptr ? parseTree->appendList( (yyvsp[(1) - (1)].decl) ) : (yyvsp[(1) - (1)].decl);    }
    77787662    break;
    77797663
    7780   case 519:
    7781 
    7782 /* Line 1806 of yacc.c  */
    7783 #line 1990 "parser.yy"
     7664  case 524:
     7665
     7666/* Line 1806 of yacc.c  */
     7667#line 2013 "parser.yy"
    77847668    { (yyval.decl) = (yyvsp[(1) - (3)].decl) != nullptr ? (yyvsp[(1) - (3)].decl)->appendList( (yyvsp[(3) - (3)].decl) ) : (yyvsp[(3) - (3)].decl); }
    77857669    break;
    77867670
    7787   case 520:
    7788 
    7789 /* Line 1806 of yacc.c  */
    7790 #line 1995 "parser.yy"
     7671  case 525:
     7672
     7673/* Line 1806 of yacc.c  */
     7674#line 2018 "parser.yy"
    77917675    { (yyval.decl) = 0; }
    77927676    break;
    77937677
    7794   case 524:
    7795 
    7796 /* Line 1806 of yacc.c  */
    7797 #line 2003 "parser.yy"
     7678  case 529:
     7679
     7680/* Line 1806 of yacc.c  */
     7681#line 2026 "parser.yy"
    77987682    {}
    77997683    break;
    78007684
    7801   case 525:
    7802 
    7803 /* Line 1806 of yacc.c  */
    7804 #line 2005 "parser.yy"
     7685  case 530:
     7686
     7687/* Line 1806 of yacc.c  */
     7688#line 2028 "parser.yy"
    78057689    {
    78067690                        linkageStack.push( linkage );                           // handle nested extern "C"/"Cforall"
    7807                         linkage = LinkageSpec::fromString( *(yyvsp[(2) - (2)].tok) );
     7691                        linkage = LinkageSpec::linkageCheck( (yyvsp[(2) - (2)].tok) );
    78087692                }
    78097693    break;
    78107694
    7811   case 526:
    7812 
    7813 /* Line 1806 of yacc.c  */
    7814 #line 2010 "parser.yy"
     7695  case 531:
     7696
     7697/* Line 1806 of yacc.c  */
     7698#line 2033 "parser.yy"
    78157699    {
    78167700                        linkage = linkageStack.top();
     
    78207704    break;
    78217705
    7822   case 527:
    7823 
    7824 /* Line 1806 of yacc.c  */
    7825 #line 2016 "parser.yy"
     7706  case 532:
     7707
     7708/* Line 1806 of yacc.c  */
     7709#line 2039 "parser.yy"
    78267710    {   // mark all fields in list
    78277711                        for ( DeclarationNode *iter = (yyvsp[(2) - (2)].decl); iter != nullptr; iter = (DeclarationNode *)iter->get_next() )
     
    78317715    break;
    78327716
    7833   case 529:
    7834 
    7835 /* Line 1806 of yacc.c  */
    7836 #line 2031 "parser.yy"
     7717  case 534:
     7718
     7719/* Line 1806 of yacc.c  */
     7720#line 2054 "parser.yy"
    78377721    {
    78387722                        typedefTable.addToEnclosingScope( TypedefTable::ID );
     
    78427726    break;
    78437727
    7844   case 530:
    7845 
    7846 /* Line 1806 of yacc.c  */
    7847 #line 2037 "parser.yy"
     7728  case 535:
     7729
     7730/* Line 1806 of yacc.c  */
     7731#line 2060 "parser.yy"
    78487732    {
    78497733                        typedefTable.addToEnclosingScope( TypedefTable::ID );
     
    78537737    break;
    78547738
    7855   case 531:
    7856 
    7857 /* Line 1806 of yacc.c  */
    7858 #line 2046 "parser.yy"
     7739  case 536:
     7740
     7741/* Line 1806 of yacc.c  */
     7742#line 2069 "parser.yy"
    78597743    {
    78607744                        typedefTable.addToEnclosingScope( TypedefTable::ID );
     
    78647748    break;
    78657749
    7866   case 532:
    7867 
    7868 /* Line 1806 of yacc.c  */
    7869 #line 2052 "parser.yy"
     7750  case 537:
     7751
     7752/* Line 1806 of yacc.c  */
     7753#line 2075 "parser.yy"
    78707754    {
    78717755                        typedefTable.addToEnclosingScope( TypedefTable::ID );
     
    78757759    break;
    78767760
    7877   case 533:
    7878 
    7879 /* Line 1806 of yacc.c  */
    7880 #line 2058 "parser.yy"
     7761  case 538:
     7762
     7763/* Line 1806 of yacc.c  */
     7764#line 2081 "parser.yy"
    78817765    {
    78827766                        typedefTable.addToEnclosingScope( TypedefTable::ID );
     
    78867770    break;
    78877771
    7888   case 534:
    7889 
    7890 /* Line 1806 of yacc.c  */
    7891 #line 2064 "parser.yy"
     7772  case 539:
     7773
     7774/* Line 1806 of yacc.c  */
     7775#line 2087 "parser.yy"
    78927776    {
    78937777                        typedefTable.addToEnclosingScope( TypedefTable::ID );
     
    78977781    break;
    78987782
    7899   case 535:
    7900 
    7901 /* Line 1806 of yacc.c  */
    7902 #line 2070 "parser.yy"
     7783  case 540:
     7784
     7785/* Line 1806 of yacc.c  */
     7786#line 2093 "parser.yy"
    79037787    {
    79047788                        typedefTable.addToEnclosingScope( TypedefTable::ID );
     
    79087792    break;
    79097793
    7910   case 536:
    7911 
    7912 /* Line 1806 of yacc.c  */
    7913 #line 2078 "parser.yy"
     7794  case 541:
     7795
     7796/* Line 1806 of yacc.c  */
     7797#line 2101 "parser.yy"
    79147798    {
    79157799                        typedefTable.addToEnclosingScope( TypedefTable::ID );
     
    79197803    break;
    79207804
    7921   case 537:
    7922 
    7923 /* Line 1806 of yacc.c  */
    7924 #line 2084 "parser.yy"
     7805  case 542:
     7806
     7807/* Line 1806 of yacc.c  */
     7808#line 2107 "parser.yy"
    79257809    {
    79267810                        typedefTable.addToEnclosingScope( TypedefTable::ID );
     
    79307814    break;
    79317815
    7932   case 538:
    7933 
    7934 /* Line 1806 of yacc.c  */
    7935 #line 2092 "parser.yy"
     7816  case 543:
     7817
     7818/* Line 1806 of yacc.c  */
     7819#line 2115 "parser.yy"
    79367820    {
    79377821                        typedefTable.addToEnclosingScope( TypedefTable::ID );
     
    79417825    break;
    79427826
    7943   case 539:
    7944 
    7945 /* Line 1806 of yacc.c  */
    7946 #line 2098 "parser.yy"
     7827  case 544:
     7828
     7829/* Line 1806 of yacc.c  */
     7830#line 2121 "parser.yy"
    79477831    {
    79487832                        typedefTable.addToEnclosingScope( TypedefTable::ID );
     
    79527836    break;
    79537837
    7954   case 543:
    7955 
    7956 /* Line 1806 of yacc.c  */
    7957 #line 2113 "parser.yy"
     7838  case 548:
     7839
     7840/* Line 1806 of yacc.c  */
     7841#line 2136 "parser.yy"
    79587842    { (yyval.en) = new ExpressionNode( build_range( (yyvsp[(1) - (3)].en), (yyvsp[(3) - (3)].en) ) ); }
    79597843    break;
    79607844
    7961   case 545:
    7962 
    7963 /* Line 1806 of yacc.c  */
    7964 #line 2118 "parser.yy"
     7845  case 550:
     7846
     7847/* Line 1806 of yacc.c  */
     7848#line 2141 "parser.yy"
    79657849    { delete (yyvsp[(3) - (5)].str); }
    79667850    break;
    79677851
    7968   case 546:
    7969 
    7970 /* Line 1806 of yacc.c  */
    7971 #line 2123 "parser.yy"
     7852  case 551:
     7853
     7854/* Line 1806 of yacc.c  */
     7855#line 2146 "parser.yy"
    79727856    { (yyval.decl) = 0; }
    79737857    break;
    79747858
    7975   case 549:
    7976 
    7977 /* Line 1806 of yacc.c  */
    7978 #line 2130 "parser.yy"
     7859  case 554:
     7860
     7861/* Line 1806 of yacc.c  */
     7862#line 2153 "parser.yy"
    79797863    { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addQualifiers( (yyvsp[(1) - (2)].decl) ); }
    79807864    break;
    79817865
    7982   case 550:
    7983 
    7984 /* Line 1806 of yacc.c  */
    7985 #line 2136 "parser.yy"
     7866  case 555:
     7867
     7868/* Line 1806 of yacc.c  */
     7869#line 2159 "parser.yy"
    79867870    { (yyval.decl) = 0; }
    79877871    break;
    79887872
    7989   case 555:
    7990 
    7991 /* Line 1806 of yacc.c  */
    7992 #line 2147 "parser.yy"
     7873  case 560:
     7874
     7875/* Line 1806 of yacc.c  */
     7876#line 2170 "parser.yy"
    79937877    { delete (yyvsp[(3) - (4)].en); }
    79947878    break;
    79957879
    7996   case 556:
    7997 
    7998 /* Line 1806 of yacc.c  */
    7999 #line 2151 "parser.yy"
     7880  case 561:
     7881
     7882/* Line 1806 of yacc.c  */
     7883#line 2174 "parser.yy"
    80007884    { delete (yyvsp[(1) - (1)].tok); }
    80017885    break;
    80027886
    8003   case 557:
    8004 
    8005 /* Line 1806 of yacc.c  */
    8006 #line 2152 "parser.yy"
     7887  case 562:
     7888
     7889/* Line 1806 of yacc.c  */
     7890#line 2175 "parser.yy"
    80077891    { delete (yyvsp[(1) - (1)].decl); }
    80087892    break;
    80097893
    8010   case 558:
    8011 
    8012 /* Line 1806 of yacc.c  */
    8013 #line 2153 "parser.yy"
     7894  case 563:
     7895
     7896/* Line 1806 of yacc.c  */
     7897#line 2176 "parser.yy"
    80147898    { delete (yyvsp[(1) - (1)].decl); }
    80157899    break;
    80167900
    8017   case 559:
    8018 
    8019 /* Line 1806 of yacc.c  */
    8020 #line 2154 "parser.yy"
     7901  case 564:
     7902
     7903/* Line 1806 of yacc.c  */
     7904#line 2177 "parser.yy"
    80217905    { delete (yyvsp[(1) - (1)].decl); }
    80227906    break;
    80237907
    8024   case 560:
    8025 
    8026 /* Line 1806 of yacc.c  */
    8027 #line 2189 "parser.yy"
     7908  case 565:
     7909
     7910/* Line 1806 of yacc.c  */
     7911#line 2212 "parser.yy"
    80287912    { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); }
    80297913    break;
    80307914
    8031   case 562:
    8032 
    8033 /* Line 1806 of yacc.c  */
    8034 #line 2192 "parser.yy"
     7915  case 567:
     7916
     7917/* Line 1806 of yacc.c  */
     7918#line 2215 "parser.yy"
    80357919    { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); }
    80367920    break;
    80377921
    8038   case 563:
    8039 
    8040 /* Line 1806 of yacc.c  */
    8041 #line 2194 "parser.yy"
     7922  case 568:
     7923
     7924/* Line 1806 of yacc.c  */
     7925#line 2217 "parser.yy"
    80427926    { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); }
    80437927    break;
    80447928
    8045   case 564:
    8046 
    8047 /* Line 1806 of yacc.c  */
    8048 #line 2199 "parser.yy"
     7929  case 569:
     7930
     7931/* Line 1806 of yacc.c  */
     7932#line 2222 "parser.yy"
    80497933    {
    80507934                        typedefTable.setNextIdentifier( *(yyvsp[(1) - (1)].tok) );
     
    80537937    break;
    80547938
    8055   case 565:
    8056 
    8057 /* Line 1806 of yacc.c  */
    8058 #line 2204 "parser.yy"
     7939  case 570:
     7940
     7941/* Line 1806 of yacc.c  */
     7942#line 2227 "parser.yy"
    80597943    { (yyval.decl) = (yyvsp[(2) - (3)].decl); }
    80607944    break;
    80617945
    8062   case 566:
    8063 
    8064 /* Line 1806 of yacc.c  */
    8065 #line 2209 "parser.yy"
     7946  case 571:
     7947
     7948/* Line 1806 of yacc.c  */
     7949#line 2232 "parser.yy"
    80667950    { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addPointer( DeclarationNode::newPointer( 0 ) ); }
    80677951    break;
    80687952
    8069   case 567:
    8070 
    8071 /* Line 1806 of yacc.c  */
    8072 #line 2211 "parser.yy"
     7953  case 572:
     7954
     7955/* Line 1806 of yacc.c  */
     7956#line 2234 "parser.yy"
    80737957    { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addPointer( DeclarationNode::newPointer( (yyvsp[(2) - (3)].decl) ) ); }
    80747958    break;
    80757959
    8076   case 568:
    8077 
    8078 /* Line 1806 of yacc.c  */
    8079 #line 2213 "parser.yy"
     7960  case 573:
     7961
     7962/* Line 1806 of yacc.c  */
     7963#line 2236 "parser.yy"
    80807964    { (yyval.decl) = (yyvsp[(2) - (3)].decl); }
    80817965    break;
    80827966
    8083   case 569:
    8084 
    8085 /* Line 1806 of yacc.c  */
    8086 #line 2218 "parser.yy"
     7967  case 574:
     7968
     7969/* Line 1806 of yacc.c  */
     7970#line 2241 "parser.yy"
    80877971    { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addArray( (yyvsp[(2) - (2)].decl) ); }
    80887972    break;
    80897973
    8090   case 570:
    8091 
    8092 /* Line 1806 of yacc.c  */
    8093 #line 2220 "parser.yy"
     7974  case 575:
     7975
     7976/* Line 1806 of yacc.c  */
     7977#line 2243 "parser.yy"
    80947978    { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addArray( (yyvsp[(4) - (4)].decl) ); }
    80957979    break;
    80967980
    8097   case 571:
    8098 
    8099 /* Line 1806 of yacc.c  */
    8100 #line 2222 "parser.yy"
     7981  case 576:
     7982
     7983/* Line 1806 of yacc.c  */
     7984#line 2245 "parser.yy"
    81017985    { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addArray( (yyvsp[(4) - (4)].decl) ); }
    81027986    break;
    81037987
    8104   case 572:
    8105 
    8106 /* Line 1806 of yacc.c  */
    8107 #line 2224 "parser.yy"
     7988  case 577:
     7989
     7990/* Line 1806 of yacc.c  */
     7991#line 2247 "parser.yy"
    81087992    { (yyval.decl) = (yyvsp[(2) - (3)].decl); }
    81097993    break;
    81107994
    8111   case 573:
    8112 
    8113 /* Line 1806 of yacc.c  */
    8114 #line 2229 "parser.yy"
     7995  case 578:
     7996
     7997/* Line 1806 of yacc.c  */
     7998#line 2252 "parser.yy"
    81157999    { (yyval.decl) = (yyvsp[(2) - (8)].decl)->addParamList( (yyvsp[(6) - (8)].decl) ); }
    81168000    break;
    81178001
    8118   case 574:
    8119 
    8120 /* Line 1806 of yacc.c  */
    8121 #line 2231 "parser.yy"
     8002  case 579:
     8003
     8004/* Line 1806 of yacc.c  */
     8005#line 2254 "parser.yy"
    81228006    { (yyval.decl) = (yyvsp[(2) - (3)].decl); }
    81238007    break;
    81248008
    8125   case 575:
    8126 
    8127 /* Line 1806 of yacc.c  */
    8128 #line 2240 "parser.yy"
     8009  case 580:
     8010
     8011/* Line 1806 of yacc.c  */
     8012#line 2263 "parser.yy"
    81298013    { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); }
    81308014    break;
    81318015
    8132   case 577:
    8133 
    8134 /* Line 1806 of yacc.c  */
    8135 #line 2243 "parser.yy"
     8016  case 582:
     8017
     8018/* Line 1806 of yacc.c  */
     8019#line 2266 "parser.yy"
    81368020    { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); }
    81378021    break;
    81388022
    8139   case 578:
    8140 
    8141 /* Line 1806 of yacc.c  */
    8142 #line 2248 "parser.yy"
     8023  case 583:
     8024
     8025/* Line 1806 of yacc.c  */
     8026#line 2271 "parser.yy"
    81438027    { (yyval.decl) = (yyvsp[(1) - (6)].decl)->addParamList( (yyvsp[(4) - (6)].decl) ); }
    81448028    break;
    81458029
    8146   case 579:
    8147 
    8148 /* Line 1806 of yacc.c  */
    8149 #line 2250 "parser.yy"
     8030  case 584:
     8031
     8032/* Line 1806 of yacc.c  */
     8033#line 2273 "parser.yy"
    81508034    { (yyval.decl) = (yyvsp[(2) - (8)].decl)->addParamList( (yyvsp[(6) - (8)].decl) ); }
    81518035    break;
    81528036
    8153   case 580:
    8154 
    8155 /* Line 1806 of yacc.c  */
    8156 #line 2252 "parser.yy"
     8037  case 585:
     8038
     8039/* Line 1806 of yacc.c  */
     8040#line 2275 "parser.yy"
    81578041    { (yyval.decl) = (yyvsp[(2) - (3)].decl); }
    81588042    break;
    81598043
    8160   case 581:
    8161 
    8162 /* Line 1806 of yacc.c  */
    8163 #line 2257 "parser.yy"
     8044  case 586:
     8045
     8046/* Line 1806 of yacc.c  */
     8047#line 2280 "parser.yy"
    81648048    { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addPointer( DeclarationNode::newPointer( 0 ) ); }
    81658049    break;
    81668050
    8167   case 582:
    8168 
    8169 /* Line 1806 of yacc.c  */
    8170 #line 2259 "parser.yy"
     8051  case 587:
     8052
     8053/* Line 1806 of yacc.c  */
     8054#line 2282 "parser.yy"
    81718055    { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addPointer( DeclarationNode::newPointer( (yyvsp[(2) - (3)].decl) ) ); }
    81728056    break;
    81738057
    8174   case 583:
    8175 
    8176 /* Line 1806 of yacc.c  */
    8177 #line 2261 "parser.yy"
     8058  case 588:
     8059
     8060/* Line 1806 of yacc.c  */
     8061#line 2284 "parser.yy"
    81788062    { (yyval.decl) = (yyvsp[(2) - (3)].decl); }
    81798063    break;
    81808064
    8181   case 584:
    8182 
    8183 /* Line 1806 of yacc.c  */
    8184 #line 2266 "parser.yy"
     8065  case 589:
     8066
     8067/* Line 1806 of yacc.c  */
     8068#line 2289 "parser.yy"
    81858069    { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addArray( (yyvsp[(4) - (4)].decl) ); }
    81868070    break;
    81878071
    8188   case 585:
    8189 
    8190 /* Line 1806 of yacc.c  */
    8191 #line 2268 "parser.yy"
     8072  case 590:
     8073
     8074/* Line 1806 of yacc.c  */
     8075#line 2291 "parser.yy"
    81928076    { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addArray( (yyvsp[(4) - (4)].decl) ); }
    81938077    break;
    81948078
    8195   case 586:
    8196 
    8197 /* Line 1806 of yacc.c  */
    8198 #line 2270 "parser.yy"
     8079  case 591:
     8080
     8081/* Line 1806 of yacc.c  */
     8082#line 2293 "parser.yy"
    81998083    { (yyval.decl) = (yyvsp[(2) - (3)].decl); }
    82008084    break;
    82018085
    8202   case 590:
    8203 
    8204 /* Line 1806 of yacc.c  */
    8205 #line 2285 "parser.yy"
     8086  case 595:
     8087
     8088/* Line 1806 of yacc.c  */
     8089#line 2308 "parser.yy"
    82068090    { (yyval.decl) = (yyvsp[(1) - (4)].decl)->addIdList( (yyvsp[(3) - (4)].decl) ); }
    82078091    break;
    82088092
    8209   case 591:
    8210 
    8211 /* Line 1806 of yacc.c  */
    8212 #line 2287 "parser.yy"
     8093  case 596:
     8094
     8095/* Line 1806 of yacc.c  */
     8096#line 2310 "parser.yy"
    82138097    { (yyval.decl) = (yyvsp[(2) - (6)].decl)->addIdList( (yyvsp[(5) - (6)].decl) ); }
    82148098    break;
    82158099
    8216   case 592:
    8217 
    8218 /* Line 1806 of yacc.c  */
    8219 #line 2289 "parser.yy"
     8100  case 597:
     8101
     8102/* Line 1806 of yacc.c  */
     8103#line 2312 "parser.yy"
    82208104    { (yyval.decl) = (yyvsp[(2) - (3)].decl); }
    82218105    break;
    82228106
    8223   case 593:
    8224 
    8225 /* Line 1806 of yacc.c  */
    8226 #line 2294 "parser.yy"
     8107  case 598:
     8108
     8109/* Line 1806 of yacc.c  */
     8110#line 2317 "parser.yy"
    82278111    { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addPointer( DeclarationNode::newPointer( 0 ) ); }
    82288112    break;
    82298113
    8230   case 594:
    8231 
    8232 /* Line 1806 of yacc.c  */
    8233 #line 2296 "parser.yy"
     8114  case 599:
     8115
     8116/* Line 1806 of yacc.c  */
     8117#line 2319 "parser.yy"
    82348118    { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addPointer( DeclarationNode::newPointer( (yyvsp[(2) - (3)].decl) ) ); }
    82358119    break;
    82368120
    8237   case 595:
    8238 
    8239 /* Line 1806 of yacc.c  */
    8240 #line 2298 "parser.yy"
     8121  case 600:
     8122
     8123/* Line 1806 of yacc.c  */
     8124#line 2321 "parser.yy"
    82418125    { (yyval.decl) = (yyvsp[(2) - (3)].decl); }
    82428126    break;
    82438127
    8244   case 596:
    8245 
    8246 /* Line 1806 of yacc.c  */
    8247 #line 2303 "parser.yy"
     8128  case 601:
     8129
     8130/* Line 1806 of yacc.c  */
     8131#line 2326 "parser.yy"
    82488132    { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addArray( (yyvsp[(4) - (4)].decl) ); }
    82498133    break;
    82508134
    8251   case 597:
    8252 
    8253 /* Line 1806 of yacc.c  */
    8254 #line 2305 "parser.yy"
     8135  case 602:
     8136
     8137/* Line 1806 of yacc.c  */
     8138#line 2328 "parser.yy"
    82558139    { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addArray( (yyvsp[(4) - (4)].decl) ); }
    82568140    break;
    82578141
    8258   case 598:
    8259 
    8260 /* Line 1806 of yacc.c  */
    8261 #line 2307 "parser.yy"
     8142  case 603:
     8143
     8144/* Line 1806 of yacc.c  */
     8145#line 2330 "parser.yy"
    82628146    { (yyval.decl) = (yyvsp[(2) - (3)].decl); }
    82638147    break;
    82648148
    8265   case 599:
    8266 
    8267 /* Line 1806 of yacc.c  */
    8268 #line 2322 "parser.yy"
     8149  case 604:
     8150
     8151/* Line 1806 of yacc.c  */
     8152#line 2345 "parser.yy"
    82698153    { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); }
    82708154    break;
    82718155
    8272   case 601:
    8273 
    8274 /* Line 1806 of yacc.c  */
    8275 #line 2325 "parser.yy"
     8156  case 606:
     8157
     8158/* Line 1806 of yacc.c  */
     8159#line 2348 "parser.yy"
    82768160    { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); }
    82778161    break;
    82788162
    8279   case 602:
    8280 
    8281 /* Line 1806 of yacc.c  */
    8282 #line 2327 "parser.yy"
     8163  case 607:
     8164
     8165/* Line 1806 of yacc.c  */
     8166#line 2350 "parser.yy"
    82838167    { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); }
    82848168    break;
    82858169
    8286   case 604:
    8287 
    8288 /* Line 1806 of yacc.c  */
    8289 #line 2333 "parser.yy"
     8170  case 609:
     8171
     8172/* Line 1806 of yacc.c  */
     8173#line 2356 "parser.yy"
    82908174    { (yyval.decl) = (yyvsp[(2) - (3)].decl); }
    82918175    break;
    82928176
    8293   case 605:
    8294 
    8295 /* Line 1806 of yacc.c  */
    8296 #line 2338 "parser.yy"
     8177  case 610:
     8178
     8179/* Line 1806 of yacc.c  */
     8180#line 2361 "parser.yy"
    82978181    { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addPointer( DeclarationNode::newPointer( 0 ) ); }
    82988182    break;
    82998183
    8300   case 606:
    8301 
    8302 /* Line 1806 of yacc.c  */
    8303 #line 2340 "parser.yy"
     8184  case 611:
     8185
     8186/* Line 1806 of yacc.c  */
     8187#line 2363 "parser.yy"
    83048188    { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addPointer( DeclarationNode::newPointer( (yyvsp[(2) - (3)].decl) ) ); }
    83058189    break;
    83068190
    8307   case 607:
    8308 
    8309 /* Line 1806 of yacc.c  */
    8310 #line 2342 "parser.yy"
     8191  case 612:
     8192
     8193/* Line 1806 of yacc.c  */
     8194#line 2365 "parser.yy"
    83118195    { (yyval.decl) = (yyvsp[(2) - (3)].decl); }
    83128196    break;
    83138197
    8314   case 608:
    8315 
    8316 /* Line 1806 of yacc.c  */
    8317 #line 2347 "parser.yy"
     8198  case 613:
     8199
     8200/* Line 1806 of yacc.c  */
     8201#line 2370 "parser.yy"
    83188202    { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addArray( (yyvsp[(2) - (2)].decl) ); }
    83198203    break;
    83208204
    8321   case 609:
    8322 
    8323 /* Line 1806 of yacc.c  */
    8324 #line 2349 "parser.yy"
     8205  case 614:
     8206
     8207/* Line 1806 of yacc.c  */
     8208#line 2372 "parser.yy"
    83258209    { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addArray( (yyvsp[(4) - (4)].decl) ); }
    83268210    break;
    83278211
    8328   case 610:
    8329 
    8330 /* Line 1806 of yacc.c  */
    8331 #line 2351 "parser.yy"
     8212  case 615:
     8213
     8214/* Line 1806 of yacc.c  */
     8215#line 2374 "parser.yy"
    83328216    { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addArray( (yyvsp[(4) - (4)].decl) ); }
    83338217    break;
    83348218
    8335   case 611:
    8336 
    8337 /* Line 1806 of yacc.c  */
    8338 #line 2353 "parser.yy"
     8219  case 616:
     8220
     8221/* Line 1806 of yacc.c  */
     8222#line 2376 "parser.yy"
    83398223    { (yyval.decl) = (yyvsp[(2) - (3)].decl); }
    83408224    break;
    83418225
    8342   case 612:
    8343 
    8344 /* Line 1806 of yacc.c  */
    8345 #line 2358 "parser.yy"
     8226  case 617:
     8227
     8228/* Line 1806 of yacc.c  */
     8229#line 2381 "parser.yy"
    83468230    { (yyval.decl) = (yyvsp[(1) - (6)].decl)->addParamList( (yyvsp[(4) - (6)].decl) ); }
    83478231    break;
    83488232
    8349   case 613:
    8350 
    8351 /* Line 1806 of yacc.c  */
    8352 #line 2360 "parser.yy"
     8233  case 618:
     8234
     8235/* Line 1806 of yacc.c  */
     8236#line 2383 "parser.yy"
    83538237    { (yyval.decl) = (yyvsp[(2) - (8)].decl)->addParamList( (yyvsp[(6) - (8)].decl) ); }
    83548238    break;
    83558239
    8356   case 614:
    8357 
    8358 /* Line 1806 of yacc.c  */
    8359 #line 2362 "parser.yy"
     8240  case 619:
     8241
     8242/* Line 1806 of yacc.c  */
     8243#line 2385 "parser.yy"
    83608244    { (yyval.decl) = (yyvsp[(2) - (3)].decl); }
    83618245    break;
    83628246
    8363   case 615:
    8364 
    8365 /* Line 1806 of yacc.c  */
    8366 #line 2372 "parser.yy"
     8247  case 620:
     8248
     8249/* Line 1806 of yacc.c  */
     8250#line 2395 "parser.yy"
    83678251    { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); }
    83688252    break;
    83698253
    8370   case 617:
    8371 
    8372 /* Line 1806 of yacc.c  */
    8373 #line 2375 "parser.yy"
     8254  case 622:
     8255
     8256/* Line 1806 of yacc.c  */
     8257#line 2398 "parser.yy"
    83748258    { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); }
    83758259    break;
    83768260
    8377   case 618:
    8378 
    8379 /* Line 1806 of yacc.c  */
    8380 #line 2377 "parser.yy"
     8261  case 623:
     8262
     8263/* Line 1806 of yacc.c  */
     8264#line 2400 "parser.yy"
    83818265    { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); }
    83828266    break;
    83838267
    8384   case 619:
    8385 
    8386 /* Line 1806 of yacc.c  */
    8387 #line 2382 "parser.yy"
     8268  case 624:
     8269
     8270/* Line 1806 of yacc.c  */
     8271#line 2405 "parser.yy"
    83888272    { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addPointer( DeclarationNode::newPointer( 0 ) ); }
    83898273    break;
    83908274
    8391   case 620:
    8392 
    8393 /* Line 1806 of yacc.c  */
    8394 #line 2384 "parser.yy"
     8275  case 625:
     8276
     8277/* Line 1806 of yacc.c  */
     8278#line 2407 "parser.yy"
    83958279    { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addPointer( DeclarationNode::newPointer( (yyvsp[(2) - (3)].decl) ) ); }
    83968280    break;
    83978281
    8398   case 621:
    8399 
    8400 /* Line 1806 of yacc.c  */
    8401 #line 2386 "parser.yy"
     8282  case 626:
     8283
     8284/* Line 1806 of yacc.c  */
     8285#line 2409 "parser.yy"
    84028286    { (yyval.decl) = (yyvsp[(2) - (3)].decl); }
    84038287    break;
    84048288
    8405   case 622:
    8406 
    8407 /* Line 1806 of yacc.c  */
    8408 #line 2391 "parser.yy"
     8289  case 627:
     8290
     8291/* Line 1806 of yacc.c  */
     8292#line 2414 "parser.yy"
    84098293    { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addArray( (yyvsp[(2) - (2)].decl) ); }
    84108294    break;
    84118295
    8412   case 623:
    8413 
    8414 /* Line 1806 of yacc.c  */
    8415 #line 2393 "parser.yy"
     8296  case 628:
     8297
     8298/* Line 1806 of yacc.c  */
     8299#line 2416 "parser.yy"
    84168300    { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addArray( (yyvsp[(4) - (4)].decl) ); }
    84178301    break;
    84188302
    8419   case 624:
    8420 
    8421 /* Line 1806 of yacc.c  */
    8422 #line 2395 "parser.yy"
     8303  case 629:
     8304
     8305/* Line 1806 of yacc.c  */
     8306#line 2418 "parser.yy"
    84238307    { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addArray( (yyvsp[(4) - (4)].decl) ); }
    84248308    break;
    84258309
    8426   case 625:
    8427 
    8428 /* Line 1806 of yacc.c  */
    8429 #line 2397 "parser.yy"
     8310  case 630:
     8311
     8312/* Line 1806 of yacc.c  */
     8313#line 2420 "parser.yy"
    84308314    { (yyval.decl) = (yyvsp[(2) - (3)].decl); }
    84318315    break;
    84328316
    8433   case 626:
    8434 
    8435 /* Line 1806 of yacc.c  */
    8436 #line 2402 "parser.yy"
     8317  case 631:
     8318
     8319/* Line 1806 of yacc.c  */
     8320#line 2425 "parser.yy"
    84378321    { (yyval.decl) = (yyvsp[(1) - (6)].decl)->addParamList( (yyvsp[(4) - (6)].decl) ); }
    84388322    break;
    84398323
    8440   case 627:
    8441 
    8442 /* Line 1806 of yacc.c  */
    8443 #line 2404 "parser.yy"
     8324  case 632:
     8325
     8326/* Line 1806 of yacc.c  */
     8327#line 2427 "parser.yy"
    84448328    { (yyval.decl) = (yyvsp[(2) - (8)].decl)->addParamList( (yyvsp[(6) - (8)].decl) ); }
    84458329    break;
    84468330
    8447   case 628:
    8448 
    8449 /* Line 1806 of yacc.c  */
    8450 #line 2406 "parser.yy"
     8331  case 633:
     8332
     8333/* Line 1806 of yacc.c  */
     8334#line 2429 "parser.yy"
    84518335    { (yyval.decl) = (yyvsp[(2) - (3)].decl); }
    84528336    break;
    84538337
    8454   case 629:
    8455 
    8456 /* Line 1806 of yacc.c  */
    8457 #line 2437 "parser.yy"
     8338  case 634:
     8339
     8340/* Line 1806 of yacc.c  */
     8341#line 2460 "parser.yy"
    84588342    { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); }
    84598343    break;
    84608344
    8461   case 631:
    8462 
    8463 /* Line 1806 of yacc.c  */
    8464 #line 2440 "parser.yy"
     8345  case 636:
     8346
     8347/* Line 1806 of yacc.c  */
     8348#line 2463 "parser.yy"
    84658349    { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); }
    84668350    break;
    84678351
    8468   case 632:
    8469 
    8470 /* Line 1806 of yacc.c  */
    8471 #line 2442 "parser.yy"
     8352  case 637:
     8353
     8354/* Line 1806 of yacc.c  */
     8355#line 2465 "parser.yy"
    84728356    { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); }
    84738357    break;
    84748358
    8475   case 633:
    8476 
    8477 /* Line 1806 of yacc.c  */
    8478 #line 2447 "parser.yy"
     8359  case 638:
     8360
     8361/* Line 1806 of yacc.c  */
     8362#line 2470 "parser.yy"
    84798363    {
    84808364                        typedefTable.setNextIdentifier( *(yyvsp[(1) - (1)].tok) );
     
    84838367    break;
    84848368
    8485   case 634:
    8486 
    8487 /* Line 1806 of yacc.c  */
    8488 #line 2452 "parser.yy"
     8369  case 639:
     8370
     8371/* Line 1806 of yacc.c  */
     8372#line 2475 "parser.yy"
    84898373    {
    84908374                        typedefTable.setNextIdentifier( *(yyvsp[(1) - (1)].tok) );
     
    84938377    break;
    84948378
    8495   case 635:
    8496 
    8497 /* Line 1806 of yacc.c  */
    8498 #line 2460 "parser.yy"
     8379  case 640:
     8380
     8381/* Line 1806 of yacc.c  */
     8382#line 2483 "parser.yy"
    84998383    { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addPointer( DeclarationNode::newPointer( 0 ) ); }
    85008384    break;
    85018385
    8502   case 636:
    8503 
    8504 /* Line 1806 of yacc.c  */
    8505 #line 2462 "parser.yy"
     8386  case 641:
     8387
     8388/* Line 1806 of yacc.c  */
     8389#line 2485 "parser.yy"
    85068390    { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addPointer( DeclarationNode::newPointer( (yyvsp[(2) - (3)].decl) ) ); }
    85078391    break;
    85088392
    8509   case 637:
    8510 
    8511 /* Line 1806 of yacc.c  */
    8512 #line 2464 "parser.yy"
     8393  case 642:
     8394
     8395/* Line 1806 of yacc.c  */
     8396#line 2487 "parser.yy"
    85138397    { (yyval.decl) = (yyvsp[(2) - (3)].decl); }
    85148398    break;
    85158399
    8516   case 638:
    8517 
    8518 /* Line 1806 of yacc.c  */
    8519 #line 2469 "parser.yy"
     8400  case 643:
     8401
     8402/* Line 1806 of yacc.c  */
     8403#line 2492 "parser.yy"
    85208404    { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addArray( (yyvsp[(2) - (2)].decl) ); }
    85218405    break;
    85228406
    8523   case 639:
    8524 
    8525 /* Line 1806 of yacc.c  */
    8526 #line 2471 "parser.yy"
     8407  case 644:
     8408
     8409/* Line 1806 of yacc.c  */
     8410#line 2494 "parser.yy"
    85278411    { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addArray( (yyvsp[(4) - (4)].decl) ); }
    85288412    break;
    85298413
    8530   case 640:
    8531 
    8532 /* Line 1806 of yacc.c  */
    8533 #line 2476 "parser.yy"
     8414  case 645:
     8415
     8416/* Line 1806 of yacc.c  */
     8417#line 2499 "parser.yy"
    85348418    { (yyval.decl) = (yyvsp[(1) - (6)].decl)->addParamList( (yyvsp[(4) - (6)].decl) ); }
    85358419    break;
    85368420
    8537   case 641:
    8538 
    8539 /* Line 1806 of yacc.c  */
    8540 #line 2478 "parser.yy"
     8421  case 646:
     8422
     8423/* Line 1806 of yacc.c  */
     8424#line 2501 "parser.yy"
    85418425    { (yyval.decl) = (yyvsp[(2) - (8)].decl)->addParamList( (yyvsp[(6) - (8)].decl) ); }
    85428426    break;
    85438427
    8544   case 643:
    8545 
    8546 /* Line 1806 of yacc.c  */
    8547 #line 2493 "parser.yy"
     8428  case 648:
     8429
     8430/* Line 1806 of yacc.c  */
     8431#line 2516 "parser.yy"
    85488432    { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); }
    85498433    break;
    85508434
    8551   case 644:
    8552 
    8553 /* Line 1806 of yacc.c  */
    8554 #line 2495 "parser.yy"
     8435  case 649:
     8436
     8437/* Line 1806 of yacc.c  */
     8438#line 2518 "parser.yy"
    85558439    { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); }
    85568440    break;
    85578441
    8558   case 645:
    8559 
    8560 /* Line 1806 of yacc.c  */
    8561 #line 2500 "parser.yy"
     8442  case 650:
     8443
     8444/* Line 1806 of yacc.c  */
     8445#line 2523 "parser.yy"
    85628446    { (yyval.decl) = DeclarationNode::newPointer( 0 ); }
    85638447    break;
    85648448
    8565   case 646:
    8566 
    8567 /* Line 1806 of yacc.c  */
    8568 #line 2502 "parser.yy"
     8449  case 651:
     8450
     8451/* Line 1806 of yacc.c  */
     8452#line 2525 "parser.yy"
    85698453    { (yyval.decl) = DeclarationNode::newPointer( (yyvsp[(2) - (2)].decl) ); }
    85708454    break;
    85718455
    8572   case 647:
    8573 
    8574 /* Line 1806 of yacc.c  */
    8575 #line 2504 "parser.yy"
     8456  case 652:
     8457
     8458/* Line 1806 of yacc.c  */
     8459#line 2527 "parser.yy"
    85768460    { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addPointer( DeclarationNode::newPointer( 0 ) ); }
    85778461    break;
    85788462
    8579   case 648:
    8580 
    8581 /* Line 1806 of yacc.c  */
    8582 #line 2506 "parser.yy"
     8463  case 653:
     8464
     8465/* Line 1806 of yacc.c  */
     8466#line 2529 "parser.yy"
    85838467    { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addPointer( DeclarationNode::newPointer( (yyvsp[(2) - (3)].decl) ) ); }
    85848468    break;
    85858469
    8586   case 649:
    8587 
    8588 /* Line 1806 of yacc.c  */
    8589 #line 2508 "parser.yy"
     8470  case 654:
     8471
     8472/* Line 1806 of yacc.c  */
     8473#line 2531 "parser.yy"
    85908474    { (yyval.decl) = (yyvsp[(2) - (3)].decl); }
    85918475    break;
    85928476
    8593   case 651:
    8594 
    8595 /* Line 1806 of yacc.c  */
    8596 #line 2514 "parser.yy"
     8477  case 656:
     8478
     8479/* Line 1806 of yacc.c  */
     8480#line 2537 "parser.yy"
    85978481    { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addArray( (yyvsp[(4) - (4)].decl) ); }
    85988482    break;
    85998483
    8600   case 652:
    8601 
    8602 /* Line 1806 of yacc.c  */
    8603 #line 2516 "parser.yy"
     8484  case 657:
     8485
     8486/* Line 1806 of yacc.c  */
     8487#line 2539 "parser.yy"
    86048488    { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addArray( (yyvsp[(4) - (4)].decl) ); }
    86058489    break;
    86068490
    8607   case 653:
    8608 
    8609 /* Line 1806 of yacc.c  */
    8610 #line 2518 "parser.yy"
     8491  case 658:
     8492
     8493/* Line 1806 of yacc.c  */
     8494#line 2541 "parser.yy"
    86118495    { (yyval.decl) = (yyvsp[(2) - (3)].decl); }
    86128496    break;
    86138497
    8614   case 654:
    8615 
    8616 /* Line 1806 of yacc.c  */
    8617 #line 2523 "parser.yy"
     8498  case 659:
     8499
     8500/* Line 1806 of yacc.c  */
     8501#line 2546 "parser.yy"
    86188502    { (yyval.decl) = DeclarationNode::newFunction( nullptr, nullptr, (yyvsp[(3) - (5)].decl), nullptr ); }
    86198503    break;
    86208504
    8621   case 655:
    8622 
    8623 /* Line 1806 of yacc.c  */
    8624 #line 2525 "parser.yy"
     8505  case 660:
     8506
     8507/* Line 1806 of yacc.c  */
     8508#line 2548 "parser.yy"
    86258509    { (yyval.decl) = (yyvsp[(2) - (8)].decl)->addParamList( (yyvsp[(6) - (8)].decl) ); }
    86268510    break;
    86278511
    8628   case 656:
    8629 
    8630 /* Line 1806 of yacc.c  */
    8631 #line 2527 "parser.yy"
     8512  case 661:
     8513
     8514/* Line 1806 of yacc.c  */
     8515#line 2550 "parser.yy"
    86328516    { (yyval.decl) = (yyvsp[(2) - (3)].decl); }
    86338517    break;
    86348518
    8635   case 657:
    8636 
    8637 /* Line 1806 of yacc.c  */
    8638 #line 2533 "parser.yy"
     8519  case 662:
     8520
     8521/* Line 1806 of yacc.c  */
     8522#line 2556 "parser.yy"
    86398523    { (yyval.decl) = DeclarationNode::newArray( 0, 0, false ); }
    86408524    break;
    86418525
    8642   case 658:
    8643 
    8644 /* Line 1806 of yacc.c  */
    8645 #line 2535 "parser.yy"
     8526  case 663:
     8527
     8528/* Line 1806 of yacc.c  */
     8529#line 2558 "parser.yy"
    86468530    { (yyval.decl) = DeclarationNode::newArray( 0, 0, false )->addArray( (yyvsp[(3) - (3)].decl) ); }
    86478531    break;
    86488532
    8649   case 660:
    8650 
    8651 /* Line 1806 of yacc.c  */
    8652 #line 2541 "parser.yy"
     8533  case 665:
     8534
     8535/* Line 1806 of yacc.c  */
     8536#line 2564 "parser.yy"
    86538537    { (yyval.decl) = DeclarationNode::newArray( (yyvsp[(3) - (5)].en), 0, false ); }
    86548538    break;
    86558539
    8656   case 661:
    8657 
    8658 /* Line 1806 of yacc.c  */
    8659 #line 2543 "parser.yy"
     8540  case 666:
     8541
     8542/* Line 1806 of yacc.c  */
     8543#line 2566 "parser.yy"
    86608544    { (yyval.decl) = DeclarationNode::newVarArray( 0 ); }
    86618545    break;
    86628546
    8663   case 662:
    8664 
    8665 /* Line 1806 of yacc.c  */
    8666 #line 2545 "parser.yy"
     8547  case 667:
     8548
     8549/* Line 1806 of yacc.c  */
     8550#line 2568 "parser.yy"
    86678551    { (yyval.decl) = (yyvsp[(1) - (6)].decl)->addArray( DeclarationNode::newArray( (yyvsp[(4) - (6)].en), 0, false ) ); }
    86688552    break;
    86698553
    8670   case 663:
    8671 
    8672 /* Line 1806 of yacc.c  */
    8673 #line 2547 "parser.yy"
     8554  case 668:
     8555
     8556/* Line 1806 of yacc.c  */
     8557#line 2570 "parser.yy"
    86748558    { (yyval.decl) = (yyvsp[(1) - (6)].decl)->addArray( DeclarationNode::newVarArray( 0 ) ); }
    86758559    break;
    86768560
    8677   case 665:
    8678 
    8679 /* Line 1806 of yacc.c  */
    8680 #line 2562 "parser.yy"
     8561  case 670:
     8562
     8563/* Line 1806 of yacc.c  */
     8564#line 2585 "parser.yy"
    86818565    { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); }
    86828566    break;
    86838567
    8684   case 666:
    8685 
    8686 /* Line 1806 of yacc.c  */
    8687 #line 2564 "parser.yy"
     8568  case 671:
     8569
     8570/* Line 1806 of yacc.c  */
     8571#line 2587 "parser.yy"
    86888572    { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); }
    86898573    break;
    86908574
    8691   case 667:
    8692 
    8693 /* Line 1806 of yacc.c  */
    8694 #line 2569 "parser.yy"
     8575  case 672:
     8576
     8577/* Line 1806 of yacc.c  */
     8578#line 2592 "parser.yy"
    86958579    { (yyval.decl) = DeclarationNode::newPointer( 0 ); }
    86968580    break;
    86978581
    8698   case 668:
    8699 
    8700 /* Line 1806 of yacc.c  */
    8701 #line 2571 "parser.yy"
     8582  case 673:
     8583
     8584/* Line 1806 of yacc.c  */
     8585#line 2594 "parser.yy"
    87028586    { (yyval.decl) = DeclarationNode::newPointer( (yyvsp[(2) - (2)].decl) ); }
    87038587    break;
    87048588
    8705   case 669:
    8706 
    8707 /* Line 1806 of yacc.c  */
    8708 #line 2573 "parser.yy"
     8589  case 674:
     8590
     8591/* Line 1806 of yacc.c  */
     8592#line 2596 "parser.yy"
    87098593    { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addPointer( DeclarationNode::newPointer( 0 ) ); }
    87108594    break;
    87118595
    8712   case 670:
    8713 
    8714 /* Line 1806 of yacc.c  */
    8715 #line 2575 "parser.yy"
     8596  case 675:
     8597
     8598/* Line 1806 of yacc.c  */
     8599#line 2598 "parser.yy"
    87168600    { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addPointer( DeclarationNode::newPointer( (yyvsp[(2) - (3)].decl) ) ); }
    87178601    break;
    87188602
    8719   case 671:
    8720 
    8721 /* Line 1806 of yacc.c  */
    8722 #line 2577 "parser.yy"
     8603  case 676:
     8604
     8605/* Line 1806 of yacc.c  */
     8606#line 2600 "parser.yy"
    87238607    { (yyval.decl) = (yyvsp[(2) - (3)].decl); }
    87248608    break;
    87258609
    8726   case 673:
    8727 
    8728 /* Line 1806 of yacc.c  */
    8729 #line 2583 "parser.yy"
     8610  case 678:
     8611
     8612/* Line 1806 of yacc.c  */
     8613#line 2606 "parser.yy"
    87308614    { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addArray( (yyvsp[(4) - (4)].decl) ); }
    87318615    break;
    87328616
    8733   case 674:
    8734 
    8735 /* Line 1806 of yacc.c  */
    8736 #line 2585 "parser.yy"
     8617  case 679:
     8618
     8619/* Line 1806 of yacc.c  */
     8620#line 2608 "parser.yy"
    87378621    { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addArray( (yyvsp[(4) - (4)].decl) ); }
    87388622    break;
    87398623
    8740   case 675:
    8741 
    8742 /* Line 1806 of yacc.c  */
    8743 #line 2587 "parser.yy"
     8624  case 680:
     8625
     8626/* Line 1806 of yacc.c  */
     8627#line 2610 "parser.yy"
    87448628    { (yyval.decl) = (yyvsp[(2) - (3)].decl); }
    87458629    break;
    87468630
    8747   case 676:
    8748 
    8749 /* Line 1806 of yacc.c  */
    8750 #line 2592 "parser.yy"
     8631  case 681:
     8632
     8633/* Line 1806 of yacc.c  */
     8634#line 2615 "parser.yy"
    87518635    { (yyval.decl) = DeclarationNode::newFunction( nullptr, nullptr, (yyvsp[(3) - (5)].decl), nullptr ); }
    87528636    break;
    87538637
    8754   case 677:
    8755 
    8756 /* Line 1806 of yacc.c  */
    8757 #line 2594 "parser.yy"
     8638  case 682:
     8639
     8640/* Line 1806 of yacc.c  */
     8641#line 2617 "parser.yy"
    87588642    { (yyval.decl) = (yyvsp[(2) - (8)].decl)->addParamList( (yyvsp[(6) - (8)].decl) ); }
    87598643    break;
    87608644
    8761   case 678:
    8762 
    8763 /* Line 1806 of yacc.c  */
    8764 #line 2596 "parser.yy"
     8645  case 683:
     8646
     8647/* Line 1806 of yacc.c  */
     8648#line 2619 "parser.yy"
    87658649    { (yyval.decl) = (yyvsp[(2) - (3)].decl); }
    87668650    break;
    87678651
    8768   case 680:
    8769 
    8770 /* Line 1806 of yacc.c  */
    8771 #line 2603 "parser.yy"
     8652  case 685:
     8653
     8654/* Line 1806 of yacc.c  */
     8655#line 2626 "parser.yy"
    87728656    { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addArray( (yyvsp[(2) - (2)].decl) ); }
    87738657    break;
    87748658
    8775   case 682:
    8776 
    8777 /* Line 1806 of yacc.c  */
    8778 #line 2614 "parser.yy"
     8659  case 687:
     8660
     8661/* Line 1806 of yacc.c  */
     8662#line 2637 "parser.yy"
    87798663    { (yyval.decl) = DeclarationNode::newArray( 0, 0, false ); }
    87808664    break;
    87818665
    8782   case 683:
    8783 
    8784 /* Line 1806 of yacc.c  */
    8785 #line 2617 "parser.yy"
     8666  case 688:
     8667
     8668/* Line 1806 of yacc.c  */
     8669#line 2640 "parser.yy"
    87868670    { (yyval.decl) = DeclarationNode::newVarArray( (yyvsp[(3) - (6)].decl) ); }
    87878671    break;
    87888672
    8789   case 684:
    8790 
    8791 /* Line 1806 of yacc.c  */
    8792 #line 2619 "parser.yy"
     8673  case 689:
     8674
     8675/* Line 1806 of yacc.c  */
     8676#line 2642 "parser.yy"
    87938677    { (yyval.decl) = DeclarationNode::newArray( 0, (yyvsp[(3) - (5)].decl), false ); }
    87948678    break;
    87958679
    8796   case 685:
    8797 
    8798 /* Line 1806 of yacc.c  */
    8799 #line 2622 "parser.yy"
     8680  case 690:
     8681
     8682/* Line 1806 of yacc.c  */
     8683#line 2645 "parser.yy"
    88008684    { (yyval.decl) = DeclarationNode::newArray( (yyvsp[(4) - (6)].en), (yyvsp[(3) - (6)].decl), false ); }
    88018685    break;
    88028686
    8803   case 686:
    8804 
    8805 /* Line 1806 of yacc.c  */
    8806 #line 2624 "parser.yy"
     8687  case 691:
     8688
     8689/* Line 1806 of yacc.c  */
     8690#line 2647 "parser.yy"
    88078691    { (yyval.decl) = DeclarationNode::newArray( (yyvsp[(5) - (7)].en), (yyvsp[(4) - (7)].decl), true ); }
    88088692    break;
    88098693
    8810   case 687:
    8811 
    8812 /* Line 1806 of yacc.c  */
    8813 #line 2626 "parser.yy"
     8694  case 692:
     8695
     8696/* Line 1806 of yacc.c  */
     8697#line 2649 "parser.yy"
    88148698    { (yyval.decl) = DeclarationNode::newArray( (yyvsp[(5) - (7)].en), (yyvsp[(3) - (7)].decl), true ); }
    88158699    break;
    88168700
    8817   case 689:
    8818 
    8819 /* Line 1806 of yacc.c  */
    8820 #line 2640 "parser.yy"
     8701  case 694:
     8702
     8703/* Line 1806 of yacc.c  */
     8704#line 2663 "parser.yy"
    88218705    { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); }
    88228706    break;
    88238707
    8824   case 690:
    8825 
    8826 /* Line 1806 of yacc.c  */
    8827 #line 2642 "parser.yy"
     8708  case 695:
     8709
     8710/* Line 1806 of yacc.c  */
     8711#line 2665 "parser.yy"
    88288712    { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); }
    88298713    break;
    88308714
    8831   case 691:
    8832 
    8833 /* Line 1806 of yacc.c  */
    8834 #line 2647 "parser.yy"
     8715  case 696:
     8716
     8717/* Line 1806 of yacc.c  */
     8718#line 2670 "parser.yy"
    88358719    { (yyval.decl) = DeclarationNode::newPointer( 0 ); }
    88368720    break;
    88378721
    8838   case 692:
    8839 
    8840 /* Line 1806 of yacc.c  */
    8841 #line 2649 "parser.yy"
     8722  case 697:
     8723
     8724/* Line 1806 of yacc.c  */
     8725#line 2672 "parser.yy"
    88428726    { (yyval.decl) = DeclarationNode::newPointer( (yyvsp[(2) - (2)].decl) ); }
    88438727    break;
    88448728
    8845   case 693:
    8846 
    8847 /* Line 1806 of yacc.c  */
    8848 #line 2651 "parser.yy"
     8729  case 698:
     8730
     8731/* Line 1806 of yacc.c  */
     8732#line 2674 "parser.yy"
    88498733    { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addPointer( DeclarationNode::newPointer( 0 ) ); }
    88508734    break;
    88518735
    8852   case 694:
    8853 
    8854 /* Line 1806 of yacc.c  */
    8855 #line 2653 "parser.yy"
     8736  case 699:
     8737
     8738/* Line 1806 of yacc.c  */
     8739#line 2676 "parser.yy"
    88568740    { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addPointer( DeclarationNode::newPointer( (yyvsp[(2) - (3)].decl) ) ); }
    88578741    break;
    88588742
    8859   case 695:
    8860 
    8861 /* Line 1806 of yacc.c  */
    8862 #line 2655 "parser.yy"
     8743  case 700:
     8744
     8745/* Line 1806 of yacc.c  */
     8746#line 2678 "parser.yy"
    88638747    { (yyval.decl) = (yyvsp[(2) - (3)].decl); }
    88648748    break;
    88658749
    8866   case 697:
    8867 
    8868 /* Line 1806 of yacc.c  */
    8869 #line 2661 "parser.yy"
     8750  case 702:
     8751
     8752/* Line 1806 of yacc.c  */
     8753#line 2684 "parser.yy"
    88708754    { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addArray( (yyvsp[(4) - (4)].decl) ); }
    88718755    break;
    88728756
    8873   case 698:
    8874 
    8875 /* Line 1806 of yacc.c  */
    8876 #line 2663 "parser.yy"
     8757  case 703:
     8758
     8759/* Line 1806 of yacc.c  */
     8760#line 2686 "parser.yy"
    88778761    { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addArray( (yyvsp[(4) - (4)].decl) ); }
    88788762    break;
    88798763
    8880   case 699:
    8881 
    8882 /* Line 1806 of yacc.c  */
    8883 #line 2665 "parser.yy"
     8764  case 704:
     8765
     8766/* Line 1806 of yacc.c  */
     8767#line 2688 "parser.yy"
    88848768    { (yyval.decl) = (yyvsp[(2) - (3)].decl); }
    88858769    break;
    88868770
    8887   case 700:
    8888 
    8889 /* Line 1806 of yacc.c  */
    8890 #line 2670 "parser.yy"
     8771  case 705:
     8772
     8773/* Line 1806 of yacc.c  */
     8774#line 2693 "parser.yy"
    88918775    { (yyval.decl) = (yyvsp[(2) - (8)].decl)->addParamList( (yyvsp[(6) - (8)].decl) ); }
    88928776    break;
    88938777
    8894   case 701:
    8895 
    8896 /* Line 1806 of yacc.c  */
    8897 #line 2672 "parser.yy"
     8778  case 706:
     8779
     8780/* Line 1806 of yacc.c  */
     8781#line 2695 "parser.yy"
    88988782    { (yyval.decl) = (yyvsp[(2) - (3)].decl); }
    88998783    break;
    89008784
    8901   case 704:
    8902 
    8903 /* Line 1806 of yacc.c  */
    8904 #line 2682 "parser.yy"
     8785  case 709:
     8786
     8787/* Line 1806 of yacc.c  */
     8788#line 2705 "parser.yy"
    89058789    { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addQualifiers( (yyvsp[(1) - (2)].decl) ); }
    89068790    break;
    89078791
    8908   case 707:
    8909 
    8910 /* Line 1806 of yacc.c  */
    8911 #line 2692 "parser.yy"
     8792  case 712:
     8793
     8794/* Line 1806 of yacc.c  */
     8795#line 2715 "parser.yy"
    89128796    { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addNewPointer( DeclarationNode::newPointer( 0 ) ); }
    89138797    break;
    89148798
    8915   case 708:
    8916 
    8917 /* Line 1806 of yacc.c  */
    8918 #line 2694 "parser.yy"
     8799  case 713:
     8800
     8801/* Line 1806 of yacc.c  */
     8802#line 2717 "parser.yy"
    89198803    { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addNewPointer( DeclarationNode::newPointer( (yyvsp[(1) - (3)].decl) ) ); }
    89208804    break;
    89218805
    8922   case 709:
    8923 
    8924 /* Line 1806 of yacc.c  */
    8925 #line 2696 "parser.yy"
     8806  case 714:
     8807
     8808/* Line 1806 of yacc.c  */
     8809#line 2719 "parser.yy"
    89268810    { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addNewPointer( DeclarationNode::newPointer( 0 ) ); }
    89278811    break;
    89288812
    8929   case 710:
    8930 
    8931 /* Line 1806 of yacc.c  */
    8932 #line 2698 "parser.yy"
     8813  case 715:
     8814
     8815/* Line 1806 of yacc.c  */
     8816#line 2721 "parser.yy"
    89338817    { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addNewPointer( DeclarationNode::newPointer( (yyvsp[(1) - (3)].decl) ) ); }
    89348818    break;
    89358819
    8936   case 711:
    8937 
    8938 /* Line 1806 of yacc.c  */
    8939 #line 2700 "parser.yy"
     8820  case 716:
     8821
     8822/* Line 1806 of yacc.c  */
     8823#line 2723 "parser.yy"
    89408824    { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addNewPointer( DeclarationNode::newPointer( 0 ) ); }
    89418825    break;
    89428826
    8943   case 712:
    8944 
    8945 /* Line 1806 of yacc.c  */
    8946 #line 2702 "parser.yy"
     8827  case 717:
     8828
     8829/* Line 1806 of yacc.c  */
     8830#line 2725 "parser.yy"
    89478831    { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addNewPointer( DeclarationNode::newPointer( (yyvsp[(1) - (3)].decl) ) ); }
    89488832    break;
    89498833
    8950   case 713:
    8951 
    8952 /* Line 1806 of yacc.c  */
    8953 #line 2709 "parser.yy"
     8834  case 718:
     8835
     8836/* Line 1806 of yacc.c  */
     8837#line 2732 "parser.yy"
    89548838    { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addNewArray( DeclarationNode::newArray( 0, 0, false ) ); }
    89558839    break;
    89568840
    8957   case 714:
    8958 
    8959 /* Line 1806 of yacc.c  */
    8960 #line 2711 "parser.yy"
     8841  case 719:
     8842
     8843/* Line 1806 of yacc.c  */
     8844#line 2734 "parser.yy"
    89618845    { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addNewArray( (yyvsp[(1) - (2)].decl) ); }
    89628846    break;
    89638847
    8964   case 715:
    8965 
    8966 /* Line 1806 of yacc.c  */
    8967 #line 2713 "parser.yy"
     8848  case 720:
     8849
     8850/* Line 1806 of yacc.c  */
     8851#line 2736 "parser.yy"
    89688852    { (yyval.decl) = (yyvsp[(4) - (4)].decl)->addNewArray( (yyvsp[(3) - (4)].decl) )->addNewArray( DeclarationNode::newArray( 0, 0, false ) ); }
    89698853    break;
    89708854
    8971   case 716:
    8972 
    8973 /* Line 1806 of yacc.c  */
    8974 #line 2715 "parser.yy"
     8855  case 721:
     8856
     8857/* Line 1806 of yacc.c  */
     8858#line 2738 "parser.yy"
    89758859    { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addNewArray( (yyvsp[(2) - (3)].decl) )->addNewArray( (yyvsp[(1) - (3)].decl) ); }
    89768860    break;
    89778861
    8978   case 717:
    8979 
    8980 /* Line 1806 of yacc.c  */
    8981 #line 2717 "parser.yy"
     8862  case 722:
     8863
     8864/* Line 1806 of yacc.c  */
     8865#line 2740 "parser.yy"
    89828866    { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addNewArray( (yyvsp[(1) - (2)].decl) ); }
    89838867    break;
    89848868
    8985   case 718:
    8986 
    8987 /* Line 1806 of yacc.c  */
    8988 #line 2719 "parser.yy"
     8869  case 723:
     8870
     8871/* Line 1806 of yacc.c  */
     8872#line 2743 "parser.yy"
    89898873    { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addNewArray( DeclarationNode::newArray( 0, 0, false ) ); }
    89908874    break;
    89918875
    8992   case 719:
    8993 
    8994 /* Line 1806 of yacc.c  */
    8995 #line 2721 "parser.yy"
     8876  case 724:
     8877
     8878/* Line 1806 of yacc.c  */
     8879#line 2745 "parser.yy"
    89968880    { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addNewArray( (yyvsp[(1) - (2)].decl) ); }
    89978881    break;
    89988882
    8999   case 720:
    9000 
    9001 /* Line 1806 of yacc.c  */
    9002 #line 2723 "parser.yy"
     8883  case 725:
     8884
     8885/* Line 1806 of yacc.c  */
     8886#line 2747 "parser.yy"
    90038887    { (yyval.decl) = (yyvsp[(4) - (4)].decl)->addNewArray( (yyvsp[(3) - (4)].decl) )->addNewArray( DeclarationNode::newArray( 0, 0, false ) ); }
    90048888    break;
    90058889
    9006   case 721:
    9007 
    9008 /* Line 1806 of yacc.c  */
    9009 #line 2725 "parser.yy"
     8890  case 726:
     8891
     8892/* Line 1806 of yacc.c  */
     8893#line 2749 "parser.yy"
    90108894    { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addNewArray( (yyvsp[(2) - (3)].decl) )->addNewArray( (yyvsp[(1) - (3)].decl) ); }
    90118895    break;
    90128896
    9013   case 722:
    9014 
    9015 /* Line 1806 of yacc.c  */
    9016 #line 2727 "parser.yy"
     8897  case 727:
     8898
     8899/* Line 1806 of yacc.c  */
     8900#line 2751 "parser.yy"
    90178901    { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addNewArray( (yyvsp[(1) - (2)].decl) ); }
    90188902    break;
    90198903
    9020   case 723:
    9021 
    9022 /* Line 1806 of yacc.c  */
    9023 #line 2732 "parser.yy"
     8904  case 728:
     8905
     8906/* Line 1806 of yacc.c  */
     8907#line 2756 "parser.yy"
    90248908    { (yyval.decl) = DeclarationNode::newVarArray( (yyvsp[(3) - (6)].decl) ); }
    90258909    break;
    90268910
    9027   case 724:
    9028 
    9029 /* Line 1806 of yacc.c  */
    9030 #line 2734 "parser.yy"
     8911  case 729:
     8912
     8913/* Line 1806 of yacc.c  */
     8914#line 2758 "parser.yy"
    90318915    { (yyval.decl) = DeclarationNode::newArray( (yyvsp[(4) - (6)].en), (yyvsp[(3) - (6)].decl), false ); }
    90328916    break;
    90338917
    9034   case 725:
    9035 
    9036 /* Line 1806 of yacc.c  */
    9037 #line 2739 "parser.yy"
     8918  case 730:
     8919
     8920/* Line 1806 of yacc.c  */
     8921#line 2763 "parser.yy"
    90388922    { (yyval.decl) = DeclarationNode::newArray( (yyvsp[(4) - (6)].en), (yyvsp[(3) - (6)].decl), true ); }
    90398923    break;
    90408924
    9041   case 726:
    9042 
    9043 /* Line 1806 of yacc.c  */
    9044 #line 2741 "parser.yy"
     8925  case 731:
     8926
     8927/* Line 1806 of yacc.c  */
     8928#line 2765 "parser.yy"
    90458929    { (yyval.decl) = DeclarationNode::newArray( (yyvsp[(5) - (7)].en), (yyvsp[(4) - (7)].decl)->addQualifiers( (yyvsp[(3) - (7)].decl) ), true ); }
    90468930    break;
    90478931
    9048   case 728:
    9049 
    9050 /* Line 1806 of yacc.c  */
    9051 #line 2768 "parser.yy"
     8932  case 733:
     8933
     8934/* Line 1806 of yacc.c  */
     8935#line 2792 "parser.yy"
    90528936    { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addQualifiers( (yyvsp[(1) - (2)].decl) ); }
    90538937    break;
    90548938
    9055   case 732:
    9056 
    9057 /* Line 1806 of yacc.c  */
    9058 #line 2779 "parser.yy"
     8939  case 737:
     8940
     8941/* Line 1806 of yacc.c  */
     8942#line 2803 "parser.yy"
    90598943    { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addNewPointer( DeclarationNode::newPointer( 0 ) ); }
    90608944    break;
    90618945
    9062   case 733:
    9063 
    9064 /* Line 1806 of yacc.c  */
    9065 #line 2781 "parser.yy"
     8946  case 738:
     8947
     8948/* Line 1806 of yacc.c  */
     8949#line 2805 "parser.yy"
    90668950    { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addNewPointer( DeclarationNode::newPointer( (yyvsp[(1) - (3)].decl) ) ); }
    90678951    break;
    90688952
    9069   case 734:
    9070 
    9071 /* Line 1806 of yacc.c  */
    9072 #line 2783 "parser.yy"
     8953  case 739:
     8954
     8955/* Line 1806 of yacc.c  */
     8956#line 2807 "parser.yy"
    90738957    { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addNewPointer( DeclarationNode::newPointer( 0 ) ); }
    90748958    break;
    90758959
    9076   case 735:
    9077 
    9078 /* Line 1806 of yacc.c  */
    9079 #line 2785 "parser.yy"
     8960  case 740:
     8961
     8962/* Line 1806 of yacc.c  */
     8963#line 2809 "parser.yy"
    90808964    { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addNewPointer( DeclarationNode::newPointer( (yyvsp[(1) - (3)].decl) ) ); }
    90818965    break;
    90828966
    9083   case 736:
    9084 
    9085 /* Line 1806 of yacc.c  */
    9086 #line 2787 "parser.yy"
     8967  case 741:
     8968
     8969/* Line 1806 of yacc.c  */
     8970#line 2811 "parser.yy"
    90878971    { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addNewPointer( DeclarationNode::newPointer( 0 ) ); }
    90888972    break;
    90898973
    9090   case 737:
    9091 
    9092 /* Line 1806 of yacc.c  */
    9093 #line 2789 "parser.yy"
     8974  case 742:
     8975
     8976/* Line 1806 of yacc.c  */
     8977#line 2813 "parser.yy"
    90948978    { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addNewPointer( DeclarationNode::newPointer( (yyvsp[(1) - (3)].decl) ) ); }
    90958979    break;
    90968980
    9097   case 738:
    9098 
    9099 /* Line 1806 of yacc.c  */
    9100 #line 2796 "parser.yy"
     8981  case 743:
     8982
     8983/* Line 1806 of yacc.c  */
     8984#line 2820 "parser.yy"
    91018985    { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addNewArray( DeclarationNode::newArray( nullptr, nullptr, false ) ); }
    91028986    break;
    91038987
    9104   case 739:
    9105 
    9106 /* Line 1806 of yacc.c  */
    9107 #line 2798 "parser.yy"
     8988  case 744:
     8989
     8990/* Line 1806 of yacc.c  */
     8991#line 2822 "parser.yy"
    91088992    { (yyval.decl) = (yyvsp[(4) - (4)].decl)->addNewArray( (yyvsp[(3) - (4)].decl) )->addNewArray( DeclarationNode::newArray( nullptr, nullptr, false ) ); }
    91098993    break;
    91108994
    9111   case 740:
    9112 
    9113 /* Line 1806 of yacc.c  */
    9114 #line 2800 "parser.yy"
     8995  case 745:
     8996
     8997/* Line 1806 of yacc.c  */
     8998#line 2824 "parser.yy"
    91158999    { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addNewArray( (yyvsp[(1) - (2)].decl) ); }
    91169000    break;
    91179001
    9118   case 741:
    9119 
    9120 /* Line 1806 of yacc.c  */
    9121 #line 2802 "parser.yy"
     9002  case 746:
     9003
     9004/* Line 1806 of yacc.c  */
     9005#line 2826 "parser.yy"
    91229006    { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addNewArray( DeclarationNode::newArray( nullptr, nullptr, false ) ); }
    91239007    break;
    91249008
    9125   case 742:
    9126 
    9127 /* Line 1806 of yacc.c  */
    9128 #line 2804 "parser.yy"
     9009  case 747:
     9010
     9011/* Line 1806 of yacc.c  */
     9012#line 2828 "parser.yy"
    91299013    { (yyval.decl) = (yyvsp[(4) - (4)].decl)->addNewArray( (yyvsp[(3) - (4)].decl) )->addNewArray( DeclarationNode::newArray( nullptr, nullptr, false ) ); }
    91309014    break;
    91319015
    9132   case 743:
    9133 
    9134 /* Line 1806 of yacc.c  */
    9135 #line 2806 "parser.yy"
     9016  case 748:
     9017
     9018/* Line 1806 of yacc.c  */
     9019#line 2830 "parser.yy"
    91369020    { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addNewArray( (yyvsp[(1) - (2)].decl) ); }
    91379021    break;
    91389022
    9139   case 744:
    9140 
    9141 /* Line 1806 of yacc.c  */
    9142 #line 2811 "parser.yy"
     9023  case 749:
     9024
     9025/* Line 1806 of yacc.c  */
     9026#line 2835 "parser.yy"
    91439027    { (yyval.decl) = DeclarationNode::newTuple( (yyvsp[(3) - (5)].decl) ); }
    91449028    break;
    91459029
    9146   case 745:
    9147 
    9148 /* Line 1806 of yacc.c  */
    9149 #line 2816 "parser.yy"
    9150     { (yyval.decl) = DeclarationNode::newFunction( nullptr, DeclarationNode::newTuple( nullptr ), (yyvsp[(4) - (5)].decl), nullptr ); }
    9151     break;
    9152 
    9153   case 746:
    9154 
    9155 /* Line 1806 of yacc.c  */
    9156 #line 2818 "parser.yy"
     9030  case 750:
     9031
     9032/* Line 1806 of yacc.c  */
     9033#line 2842 "parser.yy"
    91579034    { (yyval.decl) = DeclarationNode::newFunction( nullptr, (yyvsp[(1) - (6)].decl), (yyvsp[(4) - (6)].decl), nullptr ); }
    91589035    break;
    91599036
    9160   case 747:
    9161 
    9162 /* Line 1806 of yacc.c  */
    9163 #line 2820 "parser.yy"
     9037  case 751:
     9038
     9039/* Line 1806 of yacc.c  */
     9040#line 2844 "parser.yy"
    91649041    { (yyval.decl) = DeclarationNode::newFunction( nullptr, (yyvsp[(1) - (6)].decl), (yyvsp[(4) - (6)].decl), nullptr ); }
    91659042    break;
    91669043
    9167   case 750:
    9168 
    9169 /* Line 1806 of yacc.c  */
    9170 #line 2844 "parser.yy"
     9044  case 754:
     9045
     9046/* Line 1806 of yacc.c  */
     9047#line 2868 "parser.yy"
    91719048    { (yyval.en) = 0; }
    91729049    break;
    91739050
    9174   case 751:
    9175 
    9176 /* Line 1806 of yacc.c  */
    9177 #line 2846 "parser.yy"
     9051  case 755:
     9052
     9053/* Line 1806 of yacc.c  */
     9054#line 2870 "parser.yy"
    91789055    { (yyval.en) = (yyvsp[(2) - (2)].en); }
    91799056    break;
     
    91829059
    91839060/* Line 1806 of yacc.c  */
    9184 #line 9185 "Parser/parser.cc"
     9061#line 9062 "Parser/parser.cc"
    91859062      default: break;
    91869063    }
     
    94139290
    94149291/* Line 2067 of yacc.c  */
    9415 #line 2849 "parser.yy"
     9292#line 2873 "parser.yy"
    94169293
    94179294// ----end of grammar----
Note: See TracChangeset for help on using the changeset viewer.