Changeset dd51906


Ignore:
Timestamp:
Jun 7, 2016, 1:47:52 PM (9 years ago)
Author:
Peter A. Buhr <pabuhr@…>
Branches:
ADT, aaron-thesis, arm-eh, ast-experimental, cleanup-dtors, ctor, deferred_resn, demangler, enum, forall-pointer-decay, gc_noraii, jacob/cs343-translation, jenkins-sandbox, master, memory, new-ast, new-ast-unique-expr, new-env, no_list, persistent-indexer, pthread-emulation, qualifiedEnum, resolv-new, with_gc
Children:
ac78e25
Parents:
d5f1cfc
Message:

automake change gnu back to foreign (do not know why it changed), add := and & (reference) to lexer/parser

Location:
src
Files:
12 edited

Legend:

Unmodified
Added
Removed
  • src/Makefile.in

    rd5f1cfc rdd51906  
    414414          esac; \
    415415        done; \
    416         echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu src/Makefile'; \
     416        echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign src/Makefile'; \
    417417        $(am__cd) $(top_srcdir) && \
    418           $(AUTOMAKE) --gnu src/Makefile
     418          $(AUTOMAKE) --foreign src/Makefile
    419419.PRECIOUS: Makefile
    420420Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
  • src/Parser/lex.cc

    rd5f1cfc rdd51906  
    382382        (yy_c_buf_p) = yy_cp;
    383383
    384 #define YY_NUM_RULES 180
    385 #define YY_END_OF_BUFFER 181
     384#define YY_NUM_RULES 181
     385#define YY_END_OF_BUFFER 182
    386386/* This struct is not used in this scanner,
    387387   but its presence is necessary. */
     
    391391        flex_int32_t yy_nxt;
    392392        };
    393 static yyconst flex_int16_t yy_accept[888] =
     393static yyconst flex_int16_t yy_accept[889] =
    394394    {   0,
    395395        0,    0,    0,    0,    0,    0,  115,  115,  118,  118,
    396       181,  179,    7,    9,    8,  138,  117,  102,  143,  146,
     396      182,  180,    7,    9,    8,  138,  117,  102,  143,  146,
    397397      114,  125,  126,  141,  139,  129,  140,  132,  142,  107,
    398       108,  109,  130,  131,  148,  150,  149,  151,  179,  102,
    399       123,  179,  124,  144,  102,  104,  102,  102,  102,  102,
     398      108,  109,  130,  131,  148,  150,  149,  151,  180,  102,
     399      123,  180,  124,  144,  102,  104,  102,  102,  102,  102,
    400400      102,  102,  102,  102,  102,  102,  102,  102,  102,  102,
    401       102,  102,  127,  147,  128,  145,    7,  179,    4,    4,
    402       180,  105,  180,  106,  115,  116,  122,  118,  119,    7,
    403         9,    0,    8,  155,  174,  102,    0,  167,  137,  160,
     401      102,  102,  127,  147,  128,  145,    7,  180,    4,    4,
     402      181,  105,  181,  106,  115,  116,  122,  118,  119,    7,
     403        9,    0,    8,  155,  175,  102,    0,  167,  137,  160,
    404404      168,  165,  152,  163,  153,  164,  162,    0,  112,    3,
    405405
    406406        0,  166,  112,  110,    0,    0,  110,  110,    0,    0,
    407       110,  109,  109,  109,    0,  109,  135,  136,  134,  156,
    408       158,  154,  159,  157,    0,    0,    0,    0,    0,    0,
    409         0,    0,    0,    0,    0,    0,    0,    0,    0,  103,
    410       173,    0,  117,  114,  102,    0,    0,  170,    0,  102,
     407      110,  109,  109,  109,    0,  109,  174,  135,  136,  134,
     408      156,  158,  154,  159,  157,    0,    0,    0,    0,    0,
     409        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
     410      103,  173,    0,  117,  114,  102,    0,    0,  170,    0,
    411411      102,  102,  102,  102,  102,  102,  102,  102,  102,  102,
    412       102,  102,  102,  102,  102,  102,   38,  102,  102,  102,
    413       102,  102,  102,  102,  102,  102,  102,   56,  102,  102,
     412      102,  102,  102,  102,  102,  102,  102,   38,  102,  102,
     413      102,  102,  102,  102,  102,  102,  102,  102,   56,  102,
    414414      102,  102,  102,  102,  102,  102,  102,  102,  102,  102,
    415       102,  102,  102,  102,  169,  161,    7,    0,    0,    0,
    416 
    417         2,    0,    5,  105,    0,    0,    0,  115,    0,  121,
    418       120,  120,    0,    0,    0,  118,    0,    0,    0,    0,
     415      102,  102,  102,  102,  102,  169,  161,    7,    0,    0,
     416
     417        0,    2,    0,    5,  105,    0,    0,    0,  115,    0,
     418      121,  120,  120,    0,    0,    0,  118,    0,    0,    0,
    419419        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    420         0,  133,  112,  112,    0,  112,  112,    0,    0,    6,
    421         0,  110,    0,    0,    0,  112,    0,  110,  110,  110,
    422       110,    0,  111,    0,    0,  109,  109,  109,  109,    0,
    423       171,  172,    0,  177,  175,    0,    0,    0,  103,    0,
    424         0,    0,    0,    0,    0,    0,    0,  102,   17,  102,
     420        0,    0,  133,  112,  112,    0,  112,  112,    0,    0,
     421        6,    0,  110,    0,    0,    0,  112,    0,  110,  110,
     422      110,  110,    0,  111,    0,    0,  109,  109,  109,  109,
     423        0,  171,  172,    0,  178,  176,    0,    0,    0,  103,
     424        0,    0,    0,    0,    0,    0,    0,    0,  102,   17,
    425425      102,  102,  102,  102,  102,  102,  102,  102,  102,  102,
    426       102,  102,  102,  102,  102,  102,  102,   14,  102,  102,
     426      102,  102,  102,  102,  102,  102,  102,  102,   14,  102,
    427427
    428428      102,  102,  102,  102,  102,  102,  102,  102,  102,  102,
    429       102,  102,  102,  102,  102,  102,   50,  102,  102,  102,
    430        63,  102,  102,  102,  102,  102,  102,  102,  102,  102,
    431       102,  102,  102,  102,  102,   89,  102,  102,  102,  102,
    432       102,  102,  102,    0,    0,    0,    0,    0,    0,    0,
    433         0,  120,    0,    0,    0,    0,    0,  120,    0,    0,
    434       178,    0,    0,    0,    0,    0,    0,    0,  112,    0,
    435       112,    0,  112,    0,    0,  112,    0,  110,  110,    0,
    436         0,  111,  111,    0,  111,    0,  111,  109,  109,    0,
    437         0,    0,    0,    0,    0,    0,    0,    0,    0,  176,
    438 
     429      102,  102,  102,  102,  102,  102,  102,   50,  102,  102,
     430      102,   63,  102,  102,  102,  102,  102,  102,  102,  102,
     431      102,  102,  102,  102,  102,  102,   89,  102,  102,  102,
     432      102,  102,  102,  102,    0,    0,    0,    0,    0,    0,
     433        0,    0,  120,    0,    0,    0,    0,    0,  120,    0,
     434        0,  179,    0,    0,    0,    0,    0,    0,    0,  112,
     435        0,  112,    0,  112,    0,    0,  112,    0,  110,  110,
     436        0,    0,  111,  111,    0,  111,    0,  111,  109,  109,
     437        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
     438
     439      177,  102,  102,  102,  102,  102,  102,  102,  102,  102,
    439440      102,  102,  102,  102,  102,  102,  102,  102,  102,  102,
     441      102,  102,  102,  102,   21,  102,   24,  102,   27,  102,
     442      102,  102,  102,  102,  102,  102,   41,  102,   43,  102,
     443      102,  102,  102,  102,  102,  102,   55,  102,   66,  102,
    440444      102,  102,  102,  102,  102,  102,  102,  102,  102,  102,
    441       102,  102,  102,   21,  102,   24,  102,   27,  102,  102,
    442       102,  102,  102,  102,  102,   41,  102,   43,  102,  102,
    443       102,  102,  102,  102,  102,   55,  102,   66,  102,  102,
     445      102,  102,  102,  102,  102,   97,  102,  102,    0,    0,
     446        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
     447        0,    0,  120,    0,    0,    0,    0,    0,  112,    0,
     448        0,    0,    0,    0,    0,  111,  111,    0,  113,    0,
     449
     450      111,  111,    0,    0,    0,    0,    0,    0,    0,    0,
     451        0,    0,    0,    0,    0,  102,  102,   22,  102,  102,
     452      102,  102,  102,  102,  102,   15,  102,  102,  102,  102,
    444453      102,  102,  102,  102,  102,  102,  102,  102,  102,  102,
    445       102,  102,  102,  102,   97,  102,  102,    0,    0,    0,
     454       23,   25,  102,   32,  102,  102,  102,  102,   40,  102,
     455      102,  102,  102,   48,  102,  102,   53,  102,  102,   70,
     456      102,  102,  102,   76,  102,  102,  102,  102,  102,   86,
     457       88,  102,  102,   94,  102,  102,  101,    0,    0,    0,
    446458        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    447         0,  120,    0,    0,    0,    0,    0,  112,    0,    0,
    448         0,    0,    0,    0,  111,  111,    0,  113,    0,  111,
    449 
    450       111,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    451         0,    0,    0,    0,  102,  102,   22,  102,  102,  102,
    452       102,  102,  102,  102,   15,  102,  102,  102,  102,  102,
    453       102,  102,  102,  102,  102,  102,  102,  102,  102,   23,
    454        25,  102,   32,  102,  102,  102,  102,   40,  102,  102,
    455       102,  102,   48,  102,  102,   53,  102,  102,   70,  102,
    456       102,  102,   76,  102,  102,  102,  102,  102,   86,   88,
    457       102,  102,   94,  102,  102,  101,    0,    0,    0,    0,
     459        0,    0,    0,    0,    0,    0,  113,    0,    0,  111,
     460
     461      113,  113,  113,  113,    0,  111,    0,    0,    0,    0,
     462        0,    0,    0,    0,    0,    0,  102,    0,  102,  102,
     463      102,  102,  102,  102,  102,  102,  102,  102,  102,  102,
     464      102,  102,  102,  102,   58,  102,  102,  102,  102,  102,
     465      102,  102,  102,   28,  102,  102,  102,   39,   42,   45,
     466      102,  102,   51,  102,   60,   67,  102,  102,   75,   77,
     467       80,   81,   83,   84,  102,  102,   91,  102,  102,    0,
     468        1,    0,    0,    0,    0,    0,    0,  105,    0,    0,
     469        0,  120,    0,    0,    0,    0,  113,    0,  113,  113,
     470        0,    0,    0,    0,    0,    0,    0,    0,    0,  102,
     471
     472      102,   18,  102,  102,  102,  102,  102,  102,  102,   16,
     473      102,  102,  102,   33,  102,  102,  102,  102,  102,  102,
     474      102,  102,  102,  102,  102,  102,   36,   37,  102,   47,
     475       52,  102,  102,  102,   90,  102,  102,    0,    0,    0,
    458476        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    459         0,    0,    0,    0,    0,  113,    0,    0,  111,  113,
    460 
    461       113,  113,  113,    0,  111,    0,    0,    0,    0,    0,
    462         0,    0,    0,    0,    0,  102,    0,  102,  102,  102,
    463       102,  102,  102,  102,  102,  102,  102,  102,  102,  102,
    464       102,  102,  102,   58,  102,  102,  102,  102,  102,  102,
    465       102,  102,   28,  102,  102,  102,   39,   42,   45,  102,
    466       102,   51,  102,   60,   67,  102,  102,   75,   77,   80,
    467        81,   83,   84,  102,  102,   91,  102,  102,    0,    1,
    468         0,    0,    0,    0,    0,    0,  105,    0,    0,    0,
    469       120,    0,    0,    0,    0,  113,    0,  113,  113,    0,
    470         0,    0,    0,    0,    0,    0,    0,    0,  102,  102,
    471 
    472        18,  102,  102,  102,  102,  102,  102,  102,   16,  102,
    473       102,  102,   33,  102,  102,  102,  102,  102,  102,  102,
    474       102,  102,  102,  102,  102,   36,   37,  102,   47,   52,
    475       102,  102,  102,   90,  102,  102,    0,    0,    0,    0,
    476         0,    0,    0,    0,    0,    0,    0,    0,    0,   10,
    477        11,   29,   54,  102,  102,  102,  102,  102,  102,  102,
    478       102,  102,  102,  102,   59,   61,   64,  102,  102,   78,
    479        92,  102,  102,   35,   46,   71,   72,  102,   95,   98,
    480         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    481         0,    0,  102,   68,  102,  102,   12,  102,  102,   30,
    482 
    483        34,  102,  102,  102,   65,  102,  102,  102,  102,  102,
    484       102,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    485         0,    0,    0,    0,   57,  102,  102,  102,  102,  102,
    486       102,  102,   49,   62,   73,   79,   93,   99,  102,  102,
    487         0,    0,    0,    0,    0,    0,    0,    0,  102,  102,
    488        13,   19,  102,  102,   31,  102,  102,  102,   26,   87,
    489         0,    0,  102,  102,  102,  102,  102,  102,   74,  100,
    490       102,   85,   20,  102,  102,   44,   82,  102,  102,  102,
    491       102,  102,  102,  102,   96,   69,    0
     477       10,   11,   29,   54,  102,  102,  102,  102,  102,  102,
     478      102,  102,  102,  102,  102,   59,   61,   64,  102,  102,
     479       78,   92,  102,  102,   35,   46,   71,   72,  102,   95,
     480       98,    0,    0,    0,    0,    0,    0,    0,    0,    0,
     481        0,    0,    0,  102,   68,  102,  102,   12,  102,  102,
     482
     483       30,   34,  102,  102,  102,   65,  102,  102,  102,  102,
     484      102,  102,    0,    0,    0,    0,    0,    0,    0,    0,
     485        0,    0,    0,    0,    0,   57,  102,  102,  102,  102,
     486      102,  102,  102,   49,   62,   73,   79,   93,   99,  102,
     487      102,    0,    0,    0,    0,    0,    0,    0,    0,  102,
     488      102,   13,   19,  102,  102,   31,  102,  102,  102,   26,
     489       87,    0,    0,  102,  102,  102,  102,  102,  102,   74,
     490      100,  102,   85,   20,  102,  102,   44,   82,  102,  102,
     491      102,  102,  102,  102,  102,   96,   69,    0
    492492    } ;
    493493
     
    537537    } ;
    538538
    539 static yyconst flex_int16_t yy_base[1062] =
     539static yyconst flex_int16_t yy_base[1063] =
    540540    {   0,
    541         0,   84, 2272, 2269,   94,    0,  177,  178,  179,  180,
    542      2285, 2822,  191, 2822,  197,   55, 2822, 2231,   60,  173,
    543      2822, 2822, 2822,   56,  188, 2822,  191,  189,  204,  216,
    544       275,    0, 2249, 2822,  216, 2247,  152,  344,  155,  220,
    545      2822,  159, 2822,  217,  226, 2822,  185,  154,  212,  251,
    546       237,  270,  235,  257,  241,  205,  193,  305,  314,  333,
    547       238,  228, 2822,  225, 2822, 2242,  402,  390, 2822, 2253,
    548      2822, 2221,  235, 2822,    0, 2822,  426,    0, 2822,  417,
    549      2822,  439,  451, 2822,  498, 2219,  264, 2822, 2822, 2822,
    550      2822, 2822, 2235, 2822, 2232, 2822, 2822, 2244,  559, 2822,
    551 
    552      2261, 2822,  438,  444,  511,  534,  289,  253,  197,  380,
    553       305,    0,  319,  280,  198,  322, 2822, 2822, 2822, 2230,
    554      2822, 2822, 2822, 2227, 2224,  218,  255, 2239,  298,  350,
    555       368,  312,  440,  398,  405, 2220,  441, 2168,  446, 2196,
    556      2822,  335, 2822, 2822,  468, 2190, 2189, 2822, 2162,  439,
    557       282,  433,  372,  281,  437,  434,  428,  570,  444,  466,
    558       464,  469,  475,  321,  492,  438,  471,  445,  474,  512,
    559       489,  503,  496,  521,  276,  515,  516, 2189,  526,  510,
    560       519,  525,  543,  522,  560,  553,  523,  561,  551,  544,
    561       599,  582,  593,  584, 2822, 2822,  660,  651, 2236,  666,
    562 
    563      2822,  678, 2822, 2183,  607, 2179, 2178,    0,  693, 2822,
    564      2822,  684, 2176, 2156, 2154,    0, 2177,  578,  608,  617,
    565       654,  679,  650,  683,  684,  687, 2172,  690,  691, 2147,
    566      2146, 2822,    0,  683,  710,  686,  700, 2145, 2196, 2822,
    567       714,    0,  427,  746,  764,  786,  808,  621, 2822, 2152,
    568      2125,    0,  794, 2171,  795,  709, 2822, 2147, 2121,  832,
    569      2822, 2822, 2152, 2822, 2822,  711,  714, 2129, 2129,  717,
    570      2125, 2123, 2120,    0, 2117,    0, 2088,  694,  679,  712,
    571       709,  711,  698,  566,  726,  743,  771,  741,  790,  784,
    572       800,  795,  742,  744,  814,  816,  818, 2118,  819,  745,
    573 
    574       820,  821,  822,  823,  824,  746,  825,  748,  659,  831,
    575       826,  833,  838,  839,  848,  850,  851,  844,  834,  857,
    576      2116,  858,  859,  860,  862,  861,  864,  865,  867,  868,
    577       866,  871,  876,  872,  878, 2113,  880,  689,  881,  882,
    578       892,  896,  893,  953,  954, 2109, 2108, 2106,    0, 2103,
    579         0,  941,  945, 2102,    0, 2101,    0, 2099,    0, 2118,
    580      2822,  940,  941, 2094, 2088,    0, 2086,    0, 2822,  953,
    581       975,  964, 2822,  981,  997, 1021, 2084, 2822, 2822,  939,
    582       940, 1006,  982, 1041,  310, 1039, 1004, 2822, 2822, 2081,
    583      2079, 2077,    0, 2074,    0, 2071,    0, 2070,    0, 2822,
    584 
    585       886,  941,  960,  962,  977,  976,  980,  982, 1017, 1010,
    586      1002,  998, 1022, 1031, 1028, 1033, 1034, 1037, 1040, 1043,
    587      1038, 1041, 1053, 2072, 1055, 2070, 1045, 2067, 1056, 1061,
    588      1063, 1065, 1066, 1067, 1070, 2064, 1071, 2063, 1073, 1074,
    589      1075, 1078, 1080, 1081, 1085, 2062, 1087, 2060, 1084, 1089,
    590      1091, 1097, 1099, 1092, 1102, 1103, 1105, 1106, 1108,  905,
    591      1109, 1116, 1110, 1122, 2057, 1120, 1123, 1179, 2051,    0,
    592      2050,    0, 2049,    0, 2047,    0, 1166, 2044,    0, 2041,
    593         0, 2040, 2039, 2037,    0, 2034,    0, 1173, 2031, 1179,
    594      1137, 1195, 1181, 1178, 1176, 2822, 1219, 1231, 1253, 2042,
    595 
    596      2017, 2027, 2024,    0, 2021,    0, 2020,    0, 2019,    0,
    597      2017,    0, 2014,    0, 1141, 1172, 2014, 1180, 1155, 1196,
    598      1157, 1216, 1207, 1231, 1125, 1210, 1232, 1214, 1187, 1236,
    599      1235, 1237, 1238, 1272, 1249, 1252, 1250, 1253, 1254, 2013,
    600      1261, 1256, 2012, 1260, 1263, 1264, 1257, 2010, 1271, 1268,
    601      1269, 1273, 2007, 1275, 1282, 2006, 1283, 1284, 2005, 1276,
    602      1286, 1289, 2003, 1294, 1291, 1296, 1295, 1297, 1310, 2000,
    603      1305, 1308, 1999, 1307, 1300, 1998, 2046, 1960,    0, 1958,
    604         0, 1957,    0, 1954,    0, 1951,    0, 1950,    0, 1949,
    605         0, 1947,    0, 1355, 1361, 1389, 1372, 1944, 2822, 1378,
    606 
    607      1325, 1365, 1379, 1941, 2822, 1940,    0, 1939,    0, 1937,
    608         0, 1934,    0,    0,    0, 1936,    0, 1366, 1312, 1311,
    609      1341, 1323, 1368, 1369, 1374, 1356, 1383, 1372, 1388, 1390,
    610      1393, 1395, 1396, 1398, 1400, 1431, 1406, 1407, 1411, 1408,
    611      1413, 1414, 1935, 1409, 1416, 1419, 1933, 1930, 1929, 1422,
    612      1424, 1928, 1429, 1926, 1923, 1425, 1430, 1919, 1915, 1911,
    613      1895, 1894, 1893, 1436, 1433, 1891, 1439, 1440, 1938, 2822,
    614      1884,    0, 1883,    0,    0,    0, 1884,    0,    0,    0,
    615      2822,    0,    0,    0,    0, 1486, 1878, 2822, 2822, 1492,
    616      1877,    0, 1876,    0,    0,    0,    0, 1874, 1447, 1444,
    617 
    618      1874, 1449, 1471, 1479, 1450, 1480, 1482, 1469, 1873, 1486,
    619      1490, 1488, 1502, 1452, 1510, 1504, 1491, 1519, 1506, 1498,
    620      1508, 1512, 1513, 1514, 1515, 1872, 1870, 1517, 1867, 1866,
    621      1518, 1520, 1523, 1865, 1521, 1525,    0,    0,    0, 1860,
    622      1857, 1856, 1575,    0, 1855, 1853, 1850, 1849, 1848, 1849,
    623      1846, 1845, 1844, 1531, 1536, 1527, 1528, 1552, 1533, 1537,
    624      1539, 1555, 1557, 1569, 1842, 1560, 1839, 1561, 1559, 1568,
    625      1572, 1567, 1573, 1838, 1837, 1835, 1828, 1574, 1826, 1825,
    626      1819, 1818, 1817, 1815, 1798, 1789, 1788, 1785, 1778, 1775,
    627      1768, 1766, 1576, 1768, 1577, 1581, 1580, 1579, 1584, 1585,
    628 
    629      1747, 1586, 1615, 1590, 1746, 1591, 1592, 1602, 1600, 1594,
    630      1606, 1742, 1735, 1733, 1732, 1690, 1689, 1686, 1685, 1683,
    631      1682, 1678, 1677, 1674, 1676, 1607, 1611, 1614, 1612, 1608,
    632      1616, 1620, 1675, 1623, 1624, 1530, 1453, 1630, 1625, 1629,
    633      1438, 1354, 1319, 1318, 1267, 1212, 1210, 1208, 1631, 1636,
    634      1178, 1639, 1635, 1643, 1177, 1644, 1646, 1650, 1126,  964,
    635       937,  903, 1651, 1652, 1654, 1655, 1656, 1658,  788,  752,
    636      1660,  607,  487, 1662, 1663,  394,  357, 1664, 1666, 1668,
    637      1670, 1669, 1672, 1674,  233,  137, 2822, 1747, 1760, 1773,
    638      1783, 1793, 1806, 1816, 1829, 1842, 1855, 1863, 1873, 1880,
    639 
    640      1887, 1894, 1901, 1908, 1915, 1922, 1929, 1936, 1949, 1956,
    641      1960, 1968, 1971, 1978, 1985, 1992, 1995, 2002, 2008, 2021,
    642      2034, 2041, 2048, 2055, 2062, 2065, 2072, 2075, 2082, 2085,
    643      2092, 2095, 2102, 2105, 2112, 2115, 2122, 2125, 2132, 2140,
    644      2147, 2154, 2161, 2168, 2171, 2178, 2181, 2188, 2191, 2198,
    645      2204, 2217, 2224, 2231, 2234, 2241, 2244, 2251, 2254, 2261,
    646      2264, 2271, 2274, 2281, 2284, 2291, 2298, 2301, 2308, 2311,
    647      2318, 2325, 2332, 2335, 2342, 2345, 2352, 2355, 2362, 2365,
    648      2372, 2375, 2382, 2388, 2401, 2408, 2415, 2418, 2425, 2428,
    649      2435, 2438, 2445, 2448, 2455, 2458, 2465, 2468, 2475, 2478,
    650 
    651      2485, 2488, 2495, 2502, 2505, 2512, 2515, 2522, 2525, 2532,
    652      2535, 2538, 2544, 2551, 2560, 2567, 2574, 2577, 2584, 2587,
    653      2590, 2596, 2603, 2606, 2609, 2612, 2615, 2618, 2621, 2624,
    654      2631, 2634, 2641, 2644, 2647, 2650, 2653, 2663, 2670, 2673,
    655      2676, 2679, 2686, 2693, 2700, 2703, 2710, 2717, 2724, 2731,
    656      2738, 2745, 2752, 2759, 2766, 2773, 2780, 2787, 2794, 2801,
    657      2808
     541        0,   84, 2279, 2277,   94,    0,  177,  178,  179,  180,
     542     2291, 2817,  191, 2817,  197,   55, 2817, 2237,   60,  173,
     543     2817, 2817, 2817,   56,  188, 2817,  191,  189,  204,  216,
     544      275,    0,  152, 2817,  216, 2257,  175,  344,  197,  237,
     545     2817,  159, 2817,  220,  226, 2817,  181,  165,  212,  251,
     546      241,  270,  205,  244,  235,  174,  227,  305,  274,  341,
     547      220,  265, 2817,  227, 2817, 2253,  382,  405, 2817, 2262,
     548     2817, 2228,  211, 2817,    0, 2817,  432,    0, 2817,  398,
     549     2817,  411,  417, 2817,  504, 2227,  258, 2817, 2817, 2817,
     550     2817, 2817, 2245, 2817, 2243, 2817, 2817, 2253,  565, 2817,
     551
     552     2268, 2817,  424,  419,  504,  522,  296,  237,  265,  417,
     553      386,    0,  298,  285,  311,  403, 2817, 2817, 2817, 2817,
     554     2238, 2817, 2817, 2817, 2237, 2235,  301,  331, 2248,  347,
     555      442,  449,  359,  433,  427,  454, 2227,  465, 2176,  469,
     556     2206, 2817,  319, 2817, 2817,  501, 2201, 2198, 2817, 2169,
     557      425,  307,  467,  320,  337,  470,  431,  345,  509,  356,
     558      439,  410,  490,  481,  500,  498,  502,  504,  424,  505,
     559      541,  510,  465,  528,  542,  271,  520,  521, 2197,  544,
     560      548,  549,  550,  561,  558,  570,  579,  587,  569,  585,
     561      567,  601,  592,  593,  594, 2817, 2817,  665,  671, 2246,
     562
     563      677, 2817,  683, 2817, 2194,  565, 2188, 2185,    0,  674,
     564     2817, 2817,  689, 2184, 2183, 2181,    0, 2202,  616,  630,
     565      655,  698,  697,  659,  687,  688,  691, 2197,  694,  701,
     566     2174, 2173, 2817,    0,  693,  723,  691,  714, 2171, 2204,
     567     2817,  722,    0,  717,  768,  744,  808,  779,  606, 2817,
     568     2161, 2136,    0,  794, 2180,  786,  702, 2817, 2154, 2129,
     569      830, 2817, 2817, 2162, 2817, 2817,  708,  722, 2140, 2138,
     570      710, 2132, 2131, 2130,    0, 2128,    0, 2097,  721,  727,
     571      747,  748,  674,  591,  610,  723,  766,  793,  767,  770,
     572      769,  792,  810,  763,  775,  806,  812,  820, 2125,  822,
     573
     574      824,  825,  828,  830,  831,  832,  836,  837,  460,  843,
     575      846,  845,  844,  847,  848,  852,  859,  861,  858,  867,
     576      865, 2124,  868,  869,  870,  873,  871,  872,  874,  875,
     577      881,  876,  880,  882,  887,  888, 2123,  891,  940,  897,
     578      899,  563,  902,  906,  960,  961, 2118, 2115, 2112,    0,
     579     2111,    0,  952,  956, 2110,    0, 2108,    0, 2105,    0,
     580     2126, 2817,  793,  939, 2105, 2101,    0, 2098,    0, 2817,
     581      960,  986,  971, 2817,  977,  992, 1011, 2097, 2817, 2817,
     582      985,  994, 1024,  982, 1058,  922, 1043,  993, 2817, 2817,
     583     2096, 2094, 2091,    0, 2087,    0, 2083,    0, 2081,    0,
     584
     585     2817,  908,  953,  939,  991,  993,  998, 1003, 1000, 1026,
     586     1006, 1037, 1020, 1038, 1048, 1041, 1049,  970, 1054, 1018,
     587     1050, 1044, 1056, 1045, 2082, 1059, 2079, 1068, 2077, 1057,
     588     1052, 1070, 1072, 1079, 1077, 1081, 2075, 1082, 2072, 1084,
     589     1086, 1087, 1088, 1091, 1089, 1094, 2069, 1096, 2068, 1093,
     590     1098, 1099, 1101, 1105, 1100, 1114, 1111, 1115, 1112, 1117,
     591      686, 1118, 1126, 1130, 1127, 2067, 1131, 1132, 1183, 2062,
     592        0, 2059,    0, 2056,    0, 2055,    0, 1178, 2054,    0,
     593     2052,    0, 2049, 2046, 2045,    0, 2044,    0, 1184, 2042,
     594     1190, 1149, 1206, 1192, 1150, 1185, 2817, 1230, 1242, 1264,
     595
     596     2051, 2024, 2035, 2034,    0, 2032,    0, 2029,    0, 2026,
     597        0, 2025,    0, 2024,    0, 1166, 1206, 2025, 1207, 1190,
     598     1227, 1145, 1241, 1184, 1135,  134, 1198, 1243, 1223, 1225,
     599     1244, 1186, 1248, 1247, 1249, 1256, 1251, 1261, 1262, 1221,
     600     2022, 1269, 1266, 2019, 1264, 1267, 1268, 1270, 2018, 1276,
     601     1272, 1274, 1277, 2017, 1280, 1288, 2015, 1287, 1290, 2012,
     602     1284, 1291, 1294, 2009, 1188, 1297, 1298, 1300, 1301, 1308,
     603     2008, 1303, 1309, 2007, 1310, 1315, 2005, 2052, 1998,    0,
     604     1997,    0, 1995,    0, 1992,    0, 1991,    0, 1990,    0,
     605     1988,    0, 1955,    0, 1359, 1365, 1393, 1376, 1953, 2817,
     606
     607     1382, 1369, 1331, 1383, 1952, 2817, 1949,    0, 1946,    0,
     608     1945,    0, 1944,    0,    0,    0, 1945,    0, 1370, 1316,
     609     1317, 1345, 1325, 1372, 1373, 1378, 1377,  384, 1376, 1387,
     610     1390, 1392, 1399, 1397,  773, 1400, 1430, 1407, 1404, 1411,
     611     1410, 1412, 1418, 1942, 1413, 1415, 1423, 1939, 1938, 1937,
     612     1421, 1425, 1935, 1426, 1932, 1931, 1429, 1433, 1930, 1928,
     613     1925, 1924, 1923, 1921, 1435, 1314, 1918, 1439, 1431, 1964,
     614     2817, 1907,    0, 1903,    0,    0,    0, 1890,    0,    0,
     615        0, 2817,    0,    0,    0,    0, 1483, 1886, 2817, 2817,
     616     1489, 1885,    0, 1883,    0,    0,    0,    0, 1880, 1445,
     617
     618     1465, 1882, 1442, 1470, 1467, 1479,  968, 1447, 1476, 1881,
     619     1478, 1482, 1480, 1485, 1481, 1512, 1487, 1497, 1526, 1501,
     620     1503, 1505, 1507, 1508, 1509, 1510, 1879, 1876, 1511, 1875,
     621     1874, 1515, 1514, 1518, 1872, 1520, 1522,    0,    0,    0,
     622     1866, 1865, 1864, 1570,    0, 1862, 1859, 1858, 1857, 1855,
     623     1855, 1854, 1853, 1851, 1527, 1529, 1532, 1523, 1548, 1533,
     624     1549, 1524, 1551, 1552, 1553, 1848, 1557, 1847, 1559, 1561,
     625     1564, 1569, 1555, 1563, 1846, 1844, 1841, 1840, 1571, 1839,
     626     1837, 1831, 1830, 1829, 1827, 1820, 1818, 1817, 1814, 1813,
     627     1812, 1810, 1793, 1574, 1787, 1575, 1577, 1576, 1578, 1580,
     628
     629     1581, 1786, 1585, 1608, 1587, 1783, 1588, 1589, 1599, 1597,
     630     1591, 1593, 1773, 1770, 1763, 1761, 1760, 1739, 1738, 1737,
     631     1730, 1728, 1727, 1685, 1684, 1683, 1598, 1604, 1612, 1605,
     632     1613, 1617, 1616, 1682, 1681, 1618, 1677, 1676, 1622, 1623,
     633     1626, 1670, 1669, 1668, 1665, 1448, 1446, 1358, 1317, 1627,
     634     1624, 1318, 1638, 1630, 1634, 1224, 1642, 1643, 1644, 1137,
     635     1136, 1004,  733, 1628, 1649, 1650, 1651, 1652, 1654,  635,
     636      602, 1656,  436,  296, 1658, 1659,  263,  232, 1660, 1662,
     637     1663, 1665, 1666, 1667, 1670,  200,  166, 2817, 1742, 1755,
     638     1768, 1778, 1788, 1801, 1811, 1824, 1837, 1850, 1858, 1868,
     639
     640     1875, 1882, 1889, 1896, 1903, 1910, 1917, 1924, 1931, 1944,
     641     1951, 1955, 1963, 1966, 1973, 1980, 1987, 1990, 1997, 2003,
     642     2016, 2029, 2036, 2043, 2050, 2057, 2060, 2067, 2070, 2077,
     643     2080, 2087, 2090, 2097, 2100, 2107, 2110, 2117, 2120, 2127,
     644     2135, 2142, 2149, 2156, 2163, 2166, 2173, 2176, 2183, 2186,
     645     2193, 2199, 2212, 2219, 2226, 2229, 2236, 2239, 2246, 2249,
     646     2256, 2259, 2266, 2269, 2276, 2279, 2286, 2293, 2296, 2303,
     647     2306, 2313, 2320, 2327, 2330, 2337, 2340, 2347, 2350, 2357,
     648     2360, 2367, 2370, 2377, 2383, 2396, 2403, 2410, 2413, 2420,
     649     2423, 2430, 2433, 2440, 2443, 2450, 2453, 2460, 2463, 2470,
     650
     651     2473, 2480, 2483, 2490, 2497, 2500, 2507, 2510, 2517, 2520,
     652     2527, 2530, 2533, 2539, 2546, 2555, 2562, 2569, 2572, 2579,
     653     2582, 2585, 2591, 2598, 2601, 2604, 2607, 2610, 2613, 2616,
     654     2619, 2626, 2629, 2636, 2639, 2642, 2645, 2648, 2658, 2665,
     655     2668, 2671, 2674, 2681, 2688, 2695, 2698, 2705, 2712, 2719,
     656     2726, 2733, 2740, 2747, 2754, 2761, 2768, 2775, 2782, 2789,
     657     2796, 2803
    658658    } ;
    659659
    660 static yyconst flex_int16_t yy_def[1062] =
     660static yyconst flex_int16_t yy_def[1063] =
    661661    {   0,
    662       887,    1,  888,  888,  887,    5,  889,  889,  890,  890,
    663       887,  887,  887,  887,  887,  887,  887,  891,  887,  887,
    664       887,  887,  887,  887,  887,  887,  887,  887,  887,  887,
    665       887,   31,  887,  887,  887,  887,  887,  887,  892,  891,
    666       887,  887,  887,  887,  891,  887,  891,  891,  891,  891,
    667       891,  891,  891,  891,  891,  891,  891,  891,  891,  891,
    668       891,  891,  887,  887,  887,  887,  887,  893,  887,  887,
    669       887,  894,  887,  887,  895,  887,  887,  896,  887,  887,
    670       887,  887,  887,  887,  887,  891,  887,  887,  887,  887,
    671       887,  887,  887,  887,  887,  887,  887,  887,  887,  887,
    672 
    673       897,  887,   99,   30,  887,  887,  887,  887,  898,   30,
    674       887,   31,  887,  887,   31,  887,  887,  887,  887,  887,
    675       887,  887,  887,  887,  887,  887,  887,  887,  887,  887,
    676       887,  887,  887,  887,  887,  887,  887,  887,  887,  899,
    677       887,  887,  887,  887,  891,  900,  901,  887,  887,  891,
    678       891,  891,  891,  891,  891,  891,  891,  891,  891,  891,
    679       891,  891,  891,  891,  891,  891,  891,  891,  891,  891,
    680       891,  891,  891,  891,  891,  891,  891,  891,  891,  891,
    681       891,  891,  891,  891,  891,  891,  891,  891,  891,  891,
    682       891,  891,  891,  891,  887,  887,  887,  893,  893,  893,
    683 
    684       887,  893,  887,  894,  887,  902,  903,  895,  887,  887,
    685       887,  887,  904,  905,  906,  896,  887,  887,  887,  887,
    686       887,  887,  887,  887,  887,  887,  887,  887,  887,  907,
    687       908,  887,   99,  887,  887,  887,  887,   99,  909,  887,
    688       887,  104,  104,  887,  887,  887,  887,  887,  887,  887,
    689       887,  910,  911,  912,  887,  887,  887,  887,  887,  887,
    690       887,  887,  887,  887,  887,  887,  887,  887,  899,  887,
    691       913,  914,  915,  916,  917,  918,  887,  919,  919,  919,
    692       919,  919,  919,  919,  919,  919,  919,  919,  919,  919,
    693       919,  919,  919,  919,  919,  919,  919,  919,  919,  919,
    694 
    695       919,  919,  919,  919,  919,  919,  919,  919,  919,  919,
    696       919,  919,  919,  919,  919,  919,  919,  919,  919,  919,
    697       919,  919,  919,  919,  919,  919,  919,  919,  919,  919,
    698       919,  919,  919,  919,  919,  919,  919,  919,  919,  919,
    699       919,  919,  919,  920,  921,  922,  923,  924,  925,  926,
    700       927,  887,  887,  928,  929,  930,  931,  932,  933,  887,
    701       887,  887,  887,  887,  934,  935,  936,  937,  887,  887,
    702       887,  887,  887,  887,  887,  371,  376,  887,  887,  938,
    703       939,  940,  887,  887,  887,  940,  887,  887,  887,  941,
    704       942,  943,  944,  945,  946,  947,  948,  949,  950,  887,
    705 
    706       951,  951,  951,  951,  951,  951,  951,  951,  951,  951,
    707       951,  951,  951,  951,  951,  951,  951,  951,  951,  951,
    708       951,  951,  951,  951,  951,  951,  951,  951,  951,  951,
    709       951,  951,  951,  951,  951,  951,  951,  951,  951,  951,
    710       951,  951,  951,  951,  951,  951,  951,  951,  951,  951,
    711       951,  951,  951,  951,  951,  951,  951,  951,  951,  951,
    712       951,  951,  951,  951,  951,  951,  951,  952,  953,  954,
    713       955,  956,  957,  958,  959,  960,  887,  961,  962,  963,
    714       964,  965,  965,  966,  967,  968,  969,  887,  488,  887,
    715       970,  887,  970,  887,  887,  887,  887,  887,  887,  887,
    716 
    717       887,  971,  972,  973,  974,  975,  976,  977,  978,  979,
    718       980,  981,  982,  983,  984,  984,  984,  984,  984,  984,
    719       984,  984,  984,  984,  984,  984,  984,  984,  984,  984,
    720       984,  984,  984,  984,  984,  984,  984,  984,  984,  984,
    721       984,  984,  984,  984,  984,  984,  984,  984,  984,  984,
    722       984,  984,  984,  984,  984,  984,  984,  984,  984,  984,
    723       984,  984,  984,  984,  984,  984,  984,  984,  984,  984,
    724       984,  984,  984,  984,  984,  984,  985,  986,  987,  988,
     662      888,    1,  889,  889,  888,    5,  890,  890,  891,  891,
     663      888,  888,  888,  888,  888,  888,  888,  892,  888,  888,
     664      888,  888,  888,  888,  888,  888,  888,  888,  888,  888,
     665      888,   31,  888,  888,  888,  888,  888,  888,  893,  892,
     666      888,  888,  888,  888,  892,  888,  892,  892,  892,  892,
     667      892,  892,  892,  892,  892,  892,  892,  892,  892,  892,
     668      892,  892,  888,  888,  888,  888,  888,  894,  888,  888,
     669      888,  895,  888,  888,  896,  888,  888,  897,  888,  888,
     670      888,  888,  888,  888,  888,  892,  888,  888,  888,  888,
     671      888,  888,  888,  888,  888,  888,  888,  888,  888,  888,
     672
     673      898,  888,   99,   30,  888,  888,  888,  888,  899,   30,
     674      888,   31,  888,  888,   31,  888,  888,  888,  888,  888,
     675      888,  888,  888,  888,  888,  888,  888,  888,  888,  888,
     676      888,  888,  888,  888,  888,  888,  888,  888,  888,  888,
     677      900,  888,  888,  888,  888,  892,  901,  902,  888,  888,
     678      892,  892,  892,  892,  892,  892,  892,  892,  892,  892,
     679      892,  892,  892,  892,  892,  892,  892,  892,  892,  892,
     680      892,  892,  892,  892,  892,  892,  892,  892,  892,  892,
     681      892,  892,  892,  892,  892,  892,  892,  892,  892,  892,
     682      892,  892,  892,  892,  892,  888,  888,  888,  894,  894,
     683
     684      894,  888,  894,  888,  895,  888,  903,  904,  896,  888,
     685      888,  888,  888,  905,  906,  907,  897,  888,  888,  888,
     686      888,  888,  888,  888,  888,  888,  888,  888,  888,  888,
     687      908,  909,  888,   99,  888,  888,  888,  888,   99,  910,
     688      888,  888,  104,  104,  888,  888,  888,  888,  888,  888,
     689      888,  888,  911,  912,  913,  888,  888,  888,  888,  888,
     690      888,  888,  888,  888,  888,  888,  888,  888,  888,  900,
     691      888,  914,  915,  916,  917,  918,  919,  888,  920,  920,
     692      920,  920,  920,  920,  920,  920,  920,  920,  920,  920,
     693      920,  920,  920,  920,  920,  920,  920,  920,  920,  920,
     694
     695      920,  920,  920,  920,  920,  920,  920,  920,  920,  920,
     696      920,  920,  920,  920,  920,  920,  920,  920,  920,  920,
     697      920,  920,  920,  920,  920,  920,  920,  920,  920,  920,
     698      920,  920,  920,  920,  920,  920,  920,  920,  920,  920,
     699      920,  920,  920,  920,  921,  922,  923,  924,  925,  926,
     700      927,  928,  888,  888,  929,  930,  931,  932,  933,  934,
     701      888,  888,  888,  888,  888,  935,  936,  937,  938,  888,
     702      888,  888,  888,  888,  888,  888,  372,  377,  888,  888,
     703      939,  940,  941,  888,  888,  888,  941,  888,  888,  888,
     704      942,  943,  944,  945,  946,  947,  948,  949,  950,  951,
     705
     706      888,  952,  952,  952,  952,  952,  952,  952,  952,  952,
     707      952,  952,  952,  952,  952,  952,  952,  952,  952,  952,
     708      952,  952,  952,  952,  952,  952,  952,  952,  952,  952,
     709      952,  952,  952,  952,  952,  952,  952,  952,  952,  952,
     710      952,  952,  952,  952,  952,  952,  952,  952,  952,  952,
     711      952,  952,  952,  952,  952,  952,  952,  952,  952,  952,
     712      952,  952,  952,  952,  952,  952,  952,  952,  953,  954,
     713      955,  956,  957,  958,  959,  960,  961,  888,  962,  963,
     714      964,  965,  966,  966,  967,  968,  969,  970,  888,  489,
     715      888,  971,  888,  971,  888,  888,  888,  888,  888,  888,
     716
     717      888,  888,  972,  973,  974,  975,  976,  977,  978,  979,
     718      980,  981,  982,  983,  984,  985,  985,  985,  985,  985,
     719      985,  985,  985,  985,  985,  985,  985,  985,  985,  985,
     720      985,  985,  985,  985,  985,  985,  985,  985,  985,  985,
     721      985,  985,  985,  985,  985,  985,  985,  985,  985,  985,
     722      985,  985,  985,  985,  985,  985,  985,  985,  985,  985,
     723      985,  985,  985,  985,  985,  985,  985,  985,  985,  985,
     724      985,  985,  985,  985,  985,  985,  985,  986,  987,  988,
    725725      989,  990,  991,  992,  993,  994,  995,  996,  997,  998,
    726       999, 1000, 1001,  887,  887,  887,  887, 1002,  887,  596,
    727 
    728       887,  887,  887,  600,  887, 1003, 1004, 1005, 1006, 1007,
    729      1008, 1009, 1010, 1011, 1012, 1013, 1014, 1013, 1013, 1013,
    730      1013, 1013, 1013, 1013, 1013, 1013, 1013, 1013, 1013, 1013,
    731      1013, 1013, 1013, 1013, 1013, 1013, 1013, 1013, 1013, 1013,
    732      1013, 1013, 1013, 1013, 1013, 1013, 1013, 1013, 1013, 1013,
    733      1013, 1013, 1013, 1013, 1013, 1013, 1013, 1013, 1013, 1013,
    734      1013, 1013, 1013, 1013, 1013, 1013, 1013, 1013, 1015,  887,
    735      1016, 1017, 1018, 1019, 1020, 1021, 1022, 1023, 1024, 1025,
    736       887, 1026, 1027, 1028, 1029,  887,  686,  887,  887,  887,
    737      1030, 1031, 1032, 1033, 1034, 1035, 1036, 1037, 1038, 1038,
    738 
    739      1038, 1038, 1038, 1038, 1038, 1038, 1038, 1038, 1038, 1038,
    740      1038, 1038, 1038, 1038, 1038, 1038, 1038, 1038, 1038, 1038,
    741      1038, 1038, 1038, 1038, 1038, 1038, 1038, 1038, 1038, 1038,
    742      1038, 1038, 1038, 1038, 1038, 1038, 1039, 1040, 1041, 1042,
    743      1043, 1044,  887, 1045, 1030, 1032, 1046, 1047, 1037, 1038,
    744      1038, 1038, 1038, 1038, 1038, 1038, 1038, 1038, 1038, 1038,
    745      1038, 1038, 1038, 1038, 1038, 1038, 1038, 1038, 1038, 1038,
    746      1038, 1038, 1038, 1038, 1038, 1038, 1038, 1038, 1038, 1038,
    747      1048, 1049, 1042, 1050, 1043, 1051, 1044, 1052, 1053, 1046,
    748      1054, 1047, 1038, 1038, 1038, 1038, 1038, 1038, 1038, 1038,
    749 
    750      1038, 1038, 1038, 1038, 1038, 1038, 1038, 1038, 1038, 1038,
    751      1038, 1055, 1048, 1056, 1049, 1057, 1050, 1058, 1051, 1059,
    752      1052, 1060, 1053, 1054, 1038, 1038, 1038, 1038, 1038, 1038,
    753      1038, 1038, 1038, 1038, 1038, 1038, 1038, 1038, 1038, 1038,
    754      1061, 1055, 1056, 1057, 1058, 1032, 1059, 1060, 1038, 1038,
    755      1038, 1038, 1038, 1038, 1038, 1038, 1038, 1038, 1038, 1038,
    756      1061, 1032, 1038, 1038, 1038, 1038, 1038, 1038, 1038, 1038,
    757      1038, 1038, 1038, 1038, 1038, 1038, 1038, 1038, 1038, 1038,
    758      1038, 1038, 1038, 1038, 1038, 1038,    0,  887,  887,  887,
    759       887,  887,  887,  887,  887,  887,  887,  887,  887,  887,
    760 
    761       887,  887,  887,  887,  887,  887,  887,  887,  887,  887,
    762       887,  887,  887,  887,  887,  887,  887,  887,  887,  887,
    763       887,  887,  887,  887,  887,  887,  887,  887,  887,  887,
    764       887,  887,  887,  887,  887,  887,  887,  887,  887,  887,
    765       887,  887,  887,  887,  887,  887,  887,  887,  887,  887,
    766       887,  887,  887,  887,  887,  887,  887,  887,  887,  887,
    767       887,  887,  887,  887,  887,  887,  887,  887,  887,  887,
    768       887,  887,  887,  887,  887,  887,  887,  887,  887,  887,
    769       887,  887,  887,  887,  887,  887,  887,  887,  887,  887,
    770       887,  887,  887,  887,  887,  887,  887,  887,  887,  887,
    771 
    772       887,  887,  887,  887,  887,  887,  887,  887,  887,  887,
    773       887,  887,  887,  887,  887,  887,  887,  887,  887,  887,
    774       887,  887,  887,  887,  887,  887,  887,  887,  887,  887,
    775       887,  887,  887,  887,  887,  887,  887,  887,  887,  887,
    776       887,  887,  887,  887,  887,  887,  887,  887,  887,  887,
    777       887,  887,  887,  887,  887,  887,  887,  887,  887,  887,
    778       887
     726      999, 1000, 1001, 1002,  888,  888,  888,  888, 1003,  888,
     727
     728      597,  888,  888,  888,  601,  888, 1004, 1005, 1006, 1007,
     729     1008, 1009, 1010, 1011, 1012, 1013, 1014, 1015, 1014, 1014,
     730     1014, 1014, 1014, 1014, 1014, 1014, 1014, 1014, 1014, 1014,
     731     1014, 1014, 1014, 1014, 1014, 1014, 1014, 1014, 1014, 1014,
     732     1014, 1014, 1014, 1014, 1014, 1014, 1014, 1014, 1014, 1014,
     733     1014, 1014, 1014, 1014, 1014, 1014, 1014, 1014, 1014, 1014,
     734     1014, 1014, 1014, 1014, 1014, 1014, 1014, 1014, 1014, 1016,
     735      888, 1017, 1018, 1019, 1020, 1021, 1022, 1023, 1024, 1025,
     736     1026,  888, 1027, 1028, 1029, 1030,  888,  687,  888,  888,
     737      888, 1031, 1032, 1033, 1034, 1035, 1036, 1037, 1038, 1039,
     738
     739     1039, 1039, 1039, 1039, 1039, 1039, 1039, 1039, 1039, 1039,
     740     1039, 1039, 1039, 1039, 1039, 1039, 1039, 1039, 1039, 1039,
     741     1039, 1039, 1039, 1039, 1039, 1039, 1039, 1039, 1039, 1039,
     742     1039, 1039, 1039, 1039, 1039, 1039, 1039, 1040, 1041, 1042,
     743     1043, 1044, 1045,  888, 1046, 1031, 1033, 1047, 1048, 1038,
     744     1039, 1039, 1039, 1039, 1039, 1039, 1039, 1039, 1039, 1039,
     745     1039, 1039, 1039, 1039, 1039, 1039, 1039, 1039, 1039, 1039,
     746     1039, 1039, 1039, 1039, 1039, 1039, 1039, 1039, 1039, 1039,
     747     1039, 1049, 1050, 1043, 1051, 1044, 1052, 1045, 1053, 1054,
     748     1047, 1055, 1048, 1039, 1039, 1039, 1039, 1039, 1039, 1039,
     749
     750     1039, 1039, 1039, 1039, 1039, 1039, 1039, 1039, 1039, 1039,
     751     1039, 1039, 1056, 1049, 1057, 1050, 1058, 1051, 1059, 1052,
     752     1060, 1053, 1061, 1054, 1055, 1039, 1039, 1039, 1039, 1039,
     753     1039, 1039, 1039, 1039, 1039, 1039, 1039, 1039, 1039, 1039,
     754     1039, 1062, 1056, 1057, 1058, 1059, 1033, 1060, 1061, 1039,
     755     1039, 1039, 1039, 1039, 1039, 1039, 1039, 1039, 1039, 1039,
     756     1039, 1062, 1033, 1039, 1039, 1039, 1039, 1039, 1039, 1039,
     757     1039, 1039, 1039, 1039, 1039, 1039, 1039, 1039, 1039, 1039,
     758     1039, 1039, 1039, 1039, 1039, 1039, 1039,    0,  888,  888,
     759      888,  888,  888,  888,  888,  888,  888,  888,  888,  888,
     760
     761      888,  888,  888,  888,  888,  888,  888,  888,  888,  888,
     762      888,  888,  888,  888,  888,  888,  888,  888,  888,  888,
     763      888,  888,  888,  888,  888,  888,  888,  888,  888,  888,
     764      888,  888,  888,  888,  888,  888,  888,  888,  888,  888,
     765      888,  888,  888,  888,  888,  888,  888,  888,  888,  888,
     766      888,  888,  888,  888,  888,  888,  888,  888,  888,  888,
     767      888,  888,  888,  888,  888,  888,  888,  888,  888,  888,
     768      888,  888,  888,  888,  888,  888,  888,  888,  888,  888,
     769      888,  888,  888,  888,  888,  888,  888,  888,  888,  888,
     770      888,  888,  888,  888,  888,  888,  888,  888,  888,  888,
     771
     772      888,  888,  888,  888,  888,  888,  888,  888,  888,  888,
     773      888,  888,  888,  888,  888,  888,  888,  888,  888,  888,
     774      888,  888,  888,  888,  888,  888,  888,  888,  888,  888,
     775      888,  888,  888,  888,  888,  888,  888,  888,  888,  888,
     776      888,  888,  888,  888,  888,  888,  888,  888,  888,  888,
     777      888,  888,  888,  888,  888,  888,  888,  888,  888,  888,
     778      888,  888
    779779    } ;
    780780
    781 static yyconst flex_int16_t yy_nxt[2908] =
     781static yyconst flex_int16_t yy_nxt[2903] =
    782782    {   0,
    783783       12,   13,   14,   15,   15,   15,   13,   16,   17,   12,
     
    800800       72,   72,   72,   72,   72,   72,   72,   72,   72,   72,
    801801       72,   72,   72,   72,   72,   71,   71,   71,   71,   76,
    802        76,   79,   79,  123,  124,   90,  141,   79,   79,   87,
     802       76,   79,   79,  117,  118,   90,   87,   79,   79,  628,
    803803       76,   76,   80,   81,   82,   82,   82,   80,   82,   81,
    804804
    805        83,   83,   83,   82,   91,   93,   87,  142,  146,   98,
    806        95,   99,   99,   99,   99,   99,   99,  252,  887,   94,
    807       100,   85,   96,   97,   85,  101,  161,  118,  143,   77,
    808        77,   77,   77,  144,  147,  102,  103,   87,  104,  104,
    809       104,  104,  105,  105,  119,   87,  120,  121,  148,  263,
    810       149,  264,  254,  260,  183,  106,  195,   87,  159,  107,
    811       160,  150,  151,  152,   87,  108,  109,  153,  154,  162,
    812       155,  110,   87,  156,  157,  145,  163,  106,   87,  182,
    813        87,  158,  164,  111,  206,   87,  263,   87,  264,   87,
    814        87,  108,  194,   87,  109,  103,  250,  112,  112,  112,
    815 
    816       112,  112,  112,   87,  169,  177,  170,  196,  193,   87,
    817       207,  180,  165,  230,  106,  171,  166,  181,  113,  178,
    818       251,  167,   87,  258,  114,  168,  179,  172,   87,  263,
    819       115,  264,  248,   87,   87,  173,  106,  174,  249,  231,
    820       175,  143,  116,  263,  176,  264,  144,  259,  317,  283,
    821       114,  125,  280,  500,  249,  126,  127,   87,  128,  191,
    822       129,  130,  256,  131,  249,  132,   87,  265,  257,  184,
    823       185,  257,  248,   87,  133,  134,  135,  501,  188,  186,
    824       249,  263,  187,  264,  271,   87,  189,  265,  145,  256,
    825       305,  200,  201,  190,  257,  136,  200,  257,  137,  263,
    826 
    827       887,  264,  192,  197,   81,   82,   82,   82,  197,   87,
    828       272,  198,  202,  202,  202,  202,  202,  202,   80,   81,
    829        82,   82,   82,   80,   87,  138,  139,  209,  210,  263,
    830       887,  264,  209,  282,  211,  255,  263,  267,  264,  211,
    831        82,   81,   82,   82,   82,   82,   87,  887,  212,  212,
    832       212,  212,   82,   81,   83,   83,   83,   82,  887,  211,
    833        99,   99,   99,   99,   99,   99,  242,  242,  242,  242,
    834       266,  263,  263,  264,  264,  213,  143,  263,  211,  264,
    835        87,  144,  375,  211,  211,   87,   87,  211,  211,   87,
    836        87,   87,  286,  241,  887,  211,   87,   87,  211,  243,
    837 
    838       211,  214,  211,  281,  215,  217,  278,  284,  285,  218,
    839       219,  307,  298,  279,  220,  221,   87,  222,   87,  223,
    840        87,   87,  887,   87,  309,  300,   87,   87,  224,  225,
    841       226,  103,  303,  105,  105,  105,  105,  105,  105,   87,
    842       299,   87,  301,  302,   87,  304,  308,  310,   87,  227,
    843       106,  245,  228,  245,  306,   87,  246,  246,  246,  246,
    844       246,  246,   87,  313,   87,  315,  244,   87,   87,  311,
    845       314,   87,  106,   87,   87,   87,  323,   87,   87,  322,
    846       229,  233,  233,  233,  233,  233,  233,  312,  333,  247,
    847       319,  316,  328,  320,  318,   87,   87,  234,  235,  236,
    848 
    849       321,  237,  236,   87,  324,   87,  325,  143,  335,  360,
    850       331,  361,   87,   87,  238,  337,  326,  327,   87,  236,
    851       235,  236,   87,  329,  237,  332,  236,  287,  288,  289,
    852       336,  290,  291,  334,   87,  292,   87,  293,  407,  360,
    853       330,  361,  294,  295,  296,   87,  297,  339,  360,  343,
    854       361,   87,  200,  201,  338,  340,  346,  200,  341,   87,
    855       342,  197,   81,   82,   82,   82,  197,  200,  201,  198,
    856       378,  361,  200,  202,  202,  202,  202,  202,  202,  344,
    857       201,  360,  347,  361,  344,  360,  345,  361,  202,  202,
    858       202,  202,  202,  202,  209,  210,  378,  143,  361,  209,
    859 
    860       202,  202,  202,  202,  202,  202,  352,  352,  352,  352,
    861       360,   87,  361,  362,  360,  360,  361,  361,  360,  363,
    862       361,  360,  360,  361,  361,  369,  369,  370,  369,  370,
    863       435,   87,  371,  371,  371,  371,  371,  371,  373,  353,
    864       373,   87,  263,  373,  264,  263,   87,  264,  369,  402,
    865        87,  369,  234,  235,  236,  406,  237,  236,  388,  401,
    866       373,   87,  373,   87,   87,  372,  390,  373,  105,  105,
    867       105,  105,  105,  105,  236,  235,  236,  404,   87,  237,
    868       405,  236,  403,  408,  388,  106,  246,  246,  246,  246,
    869       246,  246,  391,   87,   87,   87,   87,   87,   87,  419,
    870 
    871        87,  255,  425,  432,   87,  420,  434,  106,  376,  376,
    872       376,  376,  376,  376,  381,  409,  413,  105,  105,  105,
    873       105,  105,  105,   87,  234,  245,  236,  245,  237,  236,
    874       246,  246,  246,  246,  246,  246,   87,  383,  410,  384,
    875        87,  377,   87,  385,  411,  412,  236,   87,  236,  386,
    876       255,  237,   87,  236,  112,  112,  112,  112,  112,  112,
    877       414,  387,  415,  417,  418,  384,   87,  416,   87,  385,
    878        87,   87,   87,   87,   87,   87,   87,   87,   87,  421,
    879       427,  426,  433,   87,  437,   87,   87,  260,  423,  424,
    880        87,   87,  436,  429,  428,  422,   87,  430,  431,  439,
    881 
    882        87,  438,   87,   87,  446,  441,  440,  442,  443,   87,
    883        87,   87,   87,   87,   87,  445,   87,   87,   87,   87,
    884        87,  448,  447,   87,   87,  444,  449,  451,   87,  456,
    885        87,  450,   87,   87,   87,  452,  455,  454,   87,  453,
    886       457,  462,  460,  461,   87,   87,  458,  464,   87,  515,
    887       459,  463,  465,  466,  344,  201,  201,   87,  887,  344,
    888       467,  345,  199,  211,  211,  211,  211,  352,  352,  352,
    889       352,  360,  360,  361,  361,  371,  371,  371,  371,  371,
    890       371,  370,  569,  370,  492,  492,  371,  371,  371,  371,
    891       371,  371,  887,   87,  493,  494,  477,  488,  488,  488,
    892 
    893       488,  488,  488,  233,  233,  233,  233,  233,  233,  516,
    894       492,  492,   87,  234,   87,  236,   87,  237,  236,  242,
    895       242,  242,  242,  105,  105,  495,  381,  517,   87,   87,
    896       489,  496,   87,  518,   87,  236,  374,  236,  519,  520,
    897       237,  521,  236,  376,  376,  376,  376,  376,  376,  383,
    898        87,  384,  375,  496,   87,  385,  522,  496,  497,  887,
    899       497,  386,   87,  498,  498,  498,  498,  498,  498,   87,
    900       525,  495,  526,  387,   87,  524,  377,  384,  523,  496,
    901        87,  385,  383,   87,  384,   87,   87,  527,  385,   87,
    902        87,  532,   87,   87,  502,   87,  499,   87,  535,  528,
    903 
    904       529,  537,  530,  531,  533,   87,  387,   87,   87,  541,
    905       384,  534,  538,   87,  385,   87,  536,   87,   87,   87,
    906       539,  540,   87,   87,  546,   87,   87,   87,  544,  542,
    907        87,  548,   87,   87,  547,  543,   87,   87,  549,   87,
    908       545,   87,  552,   87,   87,  550,  556,  554,  551,   87,
    909       559,   87,  553,  555,   87,   87,  557,   87,   87,  558,
    910        87,   87,   87,  564,  560,  567,  563,  568,   87,  561,
    911       566,  562,   87,  565,   87,   87,  571,   87,   87,  573,
    912       627,  201,  492,  570,  576,  574,  572,  577,  211,  211,
    913       211,  211,  493,   87,  575,  488,  488,  488,  488,  488,
    914 
    915       488,  376,  376,  376,  376,  376,  376,   87,  492,   87,
    916       618,  234,  595,  236,  595,  237,  236,  596,  596,  596,
    917       596,  596,  596,  492,   87,  599,  492,  621,  489,   87,
    918        87,  623,   87,  236,  490,  236,  598,  619,  237,   87,
    919       236,  498,  498,  498,  498,  498,  498,  620,   87,  492,
    920       597,  599,  492,  600,  600,  600,  600,  600,  600,   87,
    921       631,  622,   87,  887,  625,  887,   87,  862,   87,  601,
    922       497,  602,  497,  603,  602,  498,  498,  498,  498,  498,
    923       498,  624,  628,   87,   87,  630,  604,   87,   87,   87,
    924        87,  602,  633,  602,  626,  636,  603,  632,  602,  629,
    925 
    926       634,   87,   87,  635,   87,   87,   87,  642,   87,   87,
    927       637,  641,   87,   87,  640,   87,   87,  643,  647,  639,
    928        87,   87,  887,   87,   87,   87,  638,   87,   87,  644,
    929       645,  646,  648,  650,   87,   87,   87,  649,   87,  653,
    930       651,   87,  652,   87,  654,  655,   87,   87,   87,   87,
    931       656,  657,   87,  660,  659,  661,  664,   87,  658,   87,
    932        87,  663,   87,   87,   87,  668,  665,  688,  688,  662,
    933       666,  701,  702,  887,  887,   87,  667,  488,  488,  488,
    934       488,  488,  488,  596,  596,  596,  596,  596,  596,  595,
    935       688,  595,  704,   87,  596,  596,  596,  596,  596,  596,
    936 
    937       600,  600,  600,  600,  600,  600,  703,  688,   87,  887,
    938       594,  686,  686,  686,  686,  686,  686,  689,   87,  689,
    939        87,   87,  689,  699,   87,  708,   87,  601,  706,  602,
    940       688,  603,  602,  604,  707,   87,  700,  710,  709,  689,
    941        87,  689,   87,  705,  687,   87,  689,   87,   87,  602,
    942        87,  602,   87,  716,  603,  718,  602,  712,   87,   87,
    943        87,   87,  711,   87,  714,   87,   87,  713,   87,  717,
    944       715,   87,  721,  719,   87,  724,   87,   87,  722,  720,
    945       727,   87,   87,   87,  725,   87,  731,  723,   87,  732,
    946       726,   87,   87,  861,  728,  734,   87,  733,  730,   87,
    947 
    948       735,   87,   87,  729,   87,   87,  751,  736,  686,  686,
    949       686,  686,  686,  686,  600,  600,  600,  600,  600,  600,
    950       750,   87,  755,   87,  601,  763,  602,  752,  603,  602,
    951       753,   87,   87,  764,   87,  756,  754,  757,   87,  758,
    952        87,  687,   87,   87,  759,  767,  602,  690,  602,  761,
    953        87,  603,  766,  602,   87,  760,   87,  762,   87,  765,
    954        87,  768,   87,  769,   87,   87,   87,   87,  770,   87,
    955        87,   87,   87,   87,  771,   87,  774,   87,  772,   87,
    956        87,  779,   87,   87,  795,   87,  780,  773,   87,   87,
    957       776,   87,  775,  803,  777,  796,  778,  686,  686,  686,
    958 
    959       686,  686,  686,  793,   87,  794,  799,   87,  798,   87,
    960       801,   87,   87,   87,  797,  804,  805,  800,  806,   87,
    961        87,   87,  802,  807,   87,   87,   87,  808,   87,   87,
    962       743,   87,   87,   87,  809,  828,   87,   87,   87,  830,
    963       831,  833,   87,   87,   87,  834,   87,  836,  810,  811,
    964       826,  827,   87,  829,   87,  825,  832,  837,   87,   87,
    965        87,  838,  839,   87,   87,  835,   87,   87,   87,  851,
    966       850,  855,   87,  852,  840,   87,   87,   87,  853,  857,
    967       849,   87,   87,   87,  854,  858,  859,   87,   87,  856,
    968       860,   87,  863,  864,  865,   87,   87,  866,   87,  868,
    969 
    970       867,  869,   87,   87,   87,  870,   87,   87,   87,  873,
    971        87,  875,   87,  876,   87,   87,   87,  874,   87,  872,
    972        87,   87,   87,  871,   87,  880,   87,   87,   87,  887,
    973       879,  881,  887,  848,  877,  878,  886,  887,  847,  884,
    974       887,  845,  882,  883,  887,  844,  885,   69,   69,   69,
    975        69,   69,   69,   69,   69,   69,   69,   69,   69,   69,
    976        75,   75,   75,   75,   75,   75,   75,   75,   75,   75,
    977        75,   75,   75,   78,   78,   78,   78,   78,   78,   78,
    978        78,   78,   78,   78,   78,   78,   86,  887,  843,   86,
    979       887,   86,   86,   86,   86,   86,  140,  842,   87,   87,
    980 
    981       140,  140,  140,  140,  140,  140,  199,  199,  199,  199,
    982       199,  199,  199,  199,  199,  199,  199,  199,  199,  204,
    983        87,  887,  204,  824,  204,  204,  204,  204,  204,  208,
    984       887,  208,  208,  823,  208,  208,  208,  208,  208,  208,
    985       821,  208,  216,  887,  819,  216,  216,  216,  216,  216,
    986       216,  216,  216,  887,  216,  239,  239,  239,  239,  239,
    987       239,  239,  239,  239,  239,  239,  239,  239,  253,  253,
    988       817,  253,  887,  815,  813,  253,  269,   87,   87,  269,
    989        87,  269,  269,  269,  269,  269,  273,   87,  273,   87,
    990        87,   87,  273,  275,   87,  275,   87,   87,   87,  275,
    991 
    992       348,   87,  348,  887,  792,  790,  348,  350,  887,  350,
    993       887,  787,  785,  350,  354,  783,  354,   87,   87,   87,
    994       354,  356,   87,  356,   87,   87,   87,  356,  358,  749,
    995       358,  746,  745,  743,  358,  365,  205,  365,  739,  738,
    996       670,  365,  367,   87,  367,   87,   87,   87,  367,  239,
    997       239,  239,  239,  239,  239,  239,  239,  239,  239,  239,
    998       239,  239,  380,   87,  380,  382,  382,   87,  382,  382,
    999       382,   87,  382,  253,  253,   87,  253,  392,   87,  392,
    1000        87,   87,   87,  392,  394,   87,  394,   87,   87,  697,
    1001       394,  396,  696,  396,  694,  692,  690,  396,  273,  598,
    1002 
    1003       273,  398,  685,  398,  684,  682,  680,  398,  275,  678,
    1004       275,   86,  676,  674,   86,  672,   86,   86,   86,   86,
    1005        86,  199,  199,  199,  199,  199,  199,  199,  199,  199,
    1006       199,  199,  199,  199,  468,  468,  468,  468,  468,  468,
    1007       468,  468,  468,  468,  468,  468,  468,  469,  670,  469,
    1008        87,   87,   87,  469,  471,   87,  471,   87,   87,   87,
    1009       471,  473,   87,  473,   87,   87,   87,  473,  348,  617,
    1010       348,  475,  615,  475,  613,  611,  609,  475,  350,  607,
    1011       350,  478,  502,  478,  605,  605,  594,  478,  354,  593,
    1012       354,  480,  591,  480,  483,  483,  589,  480,  356,  587,
    1013 
    1014       356,  482,  585,  482,  583,  581,  579,  482,  358,   87,
    1015       358,  484,   87,  484,   87,   87,   87,  484,  365,   87,
    1016       365,  486,   87,  486,   87,  514,  512,  486,  367,  510,
    1017       367,  491,  508,  491,  506,  491,  504,  491,  380,  490,
    1018       380,  487,  380,  485,  380,  382,  382,  361,  382,  382,
    1019       382,  361,  382,  503,  483,  503,  481,  479,  476,  503,
    1020       505,  474,  505,  472,  470,   87,  505,  507,   87,  507,
    1021        87,  400,  399,  507,  392,  397,  392,  509,  395,  509,
    1022       393,  270,  265,  509,  394,  264,  394,  511,  389,  511,
    1023       389,  252,  379,  511,  396,  379,  396,  513,  240,  513,
    1024 
    1025       374,  368,  366,  513,  398,  364,  398,   86,  360,  359,
    1026        86,  357,   86,   86,   86,   86,   86,  468,  468,  468,
    1027       468,  468,  468,  468,  468,  468,  468,  468,  468,  468,
    1028       578,  355,  578,  351,  349,  205,  578,  469,  201,  469,
    1029       580,   87,  580,  277,  276,  274,  580,  471,  270,  471,
    1030       582,  265,  582,  268,  265,  263,  582,  473,  262,  473,
    1031       584,  261,  584,  240,  232,   85,  584,  475,   85,  475,
    1032       586,   87,  586,  205,  203,   85,  586,  478,  122,  478,
    1033       588,  117,  588,   87,  887,   70,  588,  480,   70,  480,
    1034       482,  887,  482,  887,  887,  887,  482,  590,  887,  590,
    1035 
    1036       887,  887,  887,  590,  484,  887,  484,  592,  887,  592,
    1037       887,  887,  887,  592,  486,  887,  486,  491,  887,  491,
    1038       887,  491,  887,  491,  382,  887,  382,  887,  887,  887,
    1039       382,  606,  887,  606,  887,  887,  887,  606,  503,  887,
    1040       503,  608,  887,  608,  887,  887,  887,  608,  505,  887,
    1041       505,  610,  887,  610,  887,  887,  887,  610,  507,  887,
    1042       507,  612,  887,  612,  887,  887,  887,  612,  509,  887,
    1043       509,  614,  887,  614,  887,  887,  887,  614,  511,  887,
    1044       511,  616,  887,  616,  887,  887,  887,  616,  513,  887,
    1045       513,   86,  887,  887,   86,  887,   86,   86,   86,   86,
    1046 
    1047        86,  669,  669,  669,  669,  669,  669,  669,  669,  669,
    1048       669,  669,  669,  669,  671,  887,  671,  887,  887,  887,
    1049       671,  578,  887,  578,  673,  887,  673,  887,  887,  887,
    1050       673,  580,  887,  580,  675,  887,  675,  887,  887,  887,
    1051       675,  582,  887,  582,  677,  887,  677,  887,  887,  887,
    1052       677,  584,  887,  584,  679,  887,  679,  887,  887,  887,
    1053       679,  586,  887,  586,  681,  887,  681,  887,  887,  887,
    1054       681,  588,  887,  588,  683,  887,  683,  887,  887,  887,
    1055       683,  590,  887,  590,   86,  887,   86,  887,  887,  887,
    1056        86,  592,  887,  592,  491,  887,  491,  887,  887,  887,
    1057 
    1058       491,  691,  887,  691,  887,  887,  887,  691,  606,  887,
    1059       606,  693,  887,  693,  887,  887,  887,  693,  608,  887,
    1060       608,  695,  887,  695,  887,  887,  887,  695,  610,  887,
    1061       610,  140,  887,  140,  887,  887,  887,  140,  612,  887,
    1062       612,  698,  887,  698,  614,  887,  614,   86,  887,  887,
    1063        86,  887,   86,   86,   86,   86,   86,  616,  887,  616,
    1064       669,  669,  669,  669,  669,  669,  669,  669,  669,  669,
    1065       669,  669,  669,  737,  887,  737,  887,  887,  887,  737,
    1066       671,  887,  671,  204,  887,  204,  887,  887,  887,  204,
    1067       673,  887,  673,  740,  887,  740,  675,  887,  675,  204,
    1068 
    1069       887,  887,  204,  887,  204,  204,  204,  204,  204,  677,
    1070       887,  677,  741,  887,  741,  679,  887,  679,  681,  887,
    1071       681,  742,  887,  742,  683,  887,  683,   86,  887,   86,
    1072       744,  887,  744,  887,  887,  887,  744,  691,  887,  691,
    1073       269,  887,  269,  887,  887,  887,  269,  693,  887,  693,
    1074       747,  887,  747,  695,  887,  695,  140,  887,  140,  748,
    1075       887,  748,  887,  887,  887,  748,   86,  887,  887,   86,
    1076       887,   86,   86,   86,   86,   86,  781,  887,  781,  737,
    1077       887,  737,  204,  887,  204,  782,  887,  782,  887,  887,
    1078       887,  782,  784,  887,  784,  887,  887,  887,  784,  786,
    1079 
    1080       887,  786,  887,  887,  887,  786,  788,  887,  788,  789,
    1081       887,  789,  887,  887,  887,  789,  791,  887,  791,  887,
    1082       887,  887,  791,  812,  887,  812,  887,  887,  887,  812,
    1083       814,  887,  814,  887,  887,  887,  814,  816,  887,  816,
    1084       887,  887,  887,  816,  818,  887,  818,  887,  887,  887,
    1085       818,  820,  887,  820,  887,  887,  887,  820,  822,  887,
    1086       822,  887,  887,  887,  822,  616,  887,  616,  887,  887,
    1087       887,  616,  841,  887,  841,  887,  887,  887,  841,  677,
    1088       887,  677,  887,  887,  887,  677,  681,  887,  681,  887,
    1089       887,  887,  681,   86,  887,   86,  887,  887,  887,   86,
    1090 
    1091       846,  887,  846,  887,  887,  887,  846,  140,  887,  140,
    1092       887,  887,  887,  140,  204,  887,  204,  887,  887,  887,
    1093       204,   11,  887,  887,  887,  887,  887,  887,  887,  887,
    1094       887,  887,  887,  887,  887,  887,  887,  887,  887,  887,
    1095       887,  887,  887,  887,  887,  887,  887,  887,  887,  887,
    1096       887,  887,  887,  887,  887,  887,  887,  887,  887,  887,
    1097       887,  887,  887,  887,  887,  887,  887,  887,  887,  887,
    1098       887,  887,  887,  887,  887,  887,  887,  887,  887,  887,
    1099       887,  887,  887,  887,  887,  887,  887,  887,  887,  887,
    1100       887,  887,  887,  887,  887,  887,  887,  887,  887,  887,
    1101 
    1102       887,  887,  887,  887,  887,  887,  887
     805       83,   83,   83,   82,   91,   93,  124,  125,  147,   98,
     806       95,   99,   99,   99,   99,   99,   99,   87,   87,   94,
     807      100,   85,   96,   97,   85,  101,   87,  119,  142,   77,
     808       77,   77,   77,   87,  148,  102,  103,  162,  104,  104,
     809      104,  104,  105,  105,  120,  144,  121,  122,  183,  143,
     810      145,  149,   87,  150,  160,  106,  161,   87,  196,  107,
     811      207,  151,  152,  153,   87,  108,  109,  154,  155,  163,
     812      156,  110,   87,  157,  158,  178,  164,  106,   87,   87,
     813      251,  159,  165,  111,   87,  253,  208,   87,  184,   87,
     814      194,  108,  146,   87,  109,  103,   87,  112,  112,  112,
     815
     816      112,  112,  112,   87,  252,  181,  179,  231,  170,  197,
     817      171,  182,  166,  180,  106,   87,  167,   87,  113,  172,
     818      255,  168,   87,   87,  114,  169,   87,  173,  259,  195,
     819      115,  888,  264,  232,  265,  174,  106,  175,  189,  249,
     820      176,  257,  116,  318,  177,  250,  190,  258,   87,  144,
     821      114,  126,  260,  191,  145,  127,  128,   87,  129,   87,
     822      130,  131,  264,  132,  265,  133,  261,  192,  272,  185,
     823      186,  250,   87,  258,  134,  135,  136,  281,  264,  187,
     824      265,  283,  188,  198,   81,   82,   82,   82,  198,   87,
     825      264,  199,  265,   87,  273,  137,  146,   87,  138,   80,
     826
     827       81,   82,   82,   82,   80,  284,  201,  202,   87,  287,
     828      193,  201,   82,   81,   82,   82,   82,   82,   82,   81,
     829       83,   83,   83,   82,  299,  139,  140,  203,  203,  203,
     830      203,  203,  203,  210,  211,  250,   87,  888,  210,  710,
     831      212,  243,  243,  243,  243,  212,   99,   99,   99,   99,
     832       99,   99,  258,  249,  213,  213,  213,  213,  264,  266,
     833      265,  250,   87,  267,  264,  212,  265,  888,  266,  888,
     834      257,  301,  256,  264,  244,  265,   87,   87,  258,  242,
     835      264,  214,  265,   87,  212,  264,  268,  265,   87,  212,
     836      212,   87,  279,  212,  212,  888,  264,  888,  265,  280,
     837
     838      264,  212,  265,  310,  212,  286,  212,  215,  212,  144,
     839      216,  218,   87,  300,  145,  219,  220,   87,  435,   87,
     840      221,  222,   87,  223,  103,  224,  105,  105,  105,  105,
     841      105,  105,  315,   87,  225,  226,  227,  282,  304,  246,
     842      285,  246,   87,  106,  247,  247,  247,  247,  247,  247,
     843       87,  305,   87,   87,   87,  228,   87,   87,  229,  245,
     844      307,   87,   87,  302,  303,  106,  288,  289,  290,  306,
     845      291,  292,   87,   87,  293,  308,  294,  248,  311,  309,
     846       87,  295,  296,  297,  314,  298,  230,  234,  234,  234,
     847      234,  234,  234,   87,   87,  320,   87,  316,  312,  319,
     848
     849       87,   87,   87,  235,  236,  237,  324,  238,  237,  144,
     850       87,  321,  317,   87,  347,   87,  313,  323,  322,   87,
     851      239,   87,   87,  466,  326,  237,  236,  237,  329,  325,
     852      238,   87,  237,  330,  327,  328,  332,   87,  338,   87,
     853      348,  335,  336,   87,   87,   87,   87,  361,  407,  362,
     854      331,  333,  334,   87,   87,  379,  339,  340,  342,  344,
     855      343,  361,   87,  362,  337,  341,  198,   81,   82,   82,
     856       82,  198,  201,  202,  199,  210,  211,  201,  201,  202,
     857      210,  379,  408,  201,  345,  202,  361,   87,  362,  345,
     858      361,  346,  362,  203,  203,  203,  203,  203,  203,  203,
     859
     860      203,  203,  203,  203,  203,  203,  203,  203,  203,  203,
     861      203,  353,  353,  353,  353,  362,  362,  363,  361,  361,
     862      362,  362,  361,  364,  362,  361,   87,  362,  361,  361,
     863      362,  362,  361,  370,  362,  370,  370,  888,   87,  264,
     864      371,  265,  371,  406,  354,  372,  372,  372,  372,  372,
     865      372,  389,  374,  264,  374,  265,  370,  374,  370,  391,
     866      235,  236,  237,  570,  238,  237,  247,  247,  247,  247,
     867      247,  247,  376,   87,  374,   87,  374,  389,  373,   87,
     868      409,  374,  237,  236,  237,  392,  402,  238,  888,  237,
     869      105,  105,  105,  105,  105,  105,  246,  403,  246,   87,
     870
     871       87,  247,  247,  247,  247,  247,  247,  106,  105,  105,
     872      105,  105,  105,  105,  382,   87,  405,  404,   87,   87,
     873      420,   87,   87,  256,  361,   87,  362,   87,  717,  106,
     874      377,  377,  377,  377,  377,  377,  421,  384,  410,  385,
     875      415,  256,  414,  386,   87,   87,  235,  416,  237,  387,
     876      238,  237,  112,  112,  112,  112,  112,  112,   87,  417,
     877      411,  388,   87,  378,   87,  385,  412,  413,  237,  386,
     878      237,  422,   87,  238,   87,  237,   87,   87,  418,  419,
     879       87,  426,   87,   87,   87,  261,  427,  428,   87,   87,
     880      424,  423,  425,  433,  434,   87,   87,   87,   87,   87,
     881
     882       87,  430,  429,  438,   87,  431,  432,  437,  440,  442,
     883       87,   87,  439,   87,  436,  441,  443,   87,  444,   87,
     884       87,   87,   87,   87,   87,   87,   87,   87,   87,  446,
     885      448,  449,   87,   87,   87,  445,  450,  447,  452,   87,
     886       87,  451,  457,   87,  456,  453,  455,  454,  144,   87,
     887      458,   87,  463,  462,   87,  459,  460,  461,   87,  467,
     888       87,  345,  202,  202,  465,  501,  345,  464,  346,  200,
     889      361,  516,  362,  468,  212,  212,  212,  212,  353,  353,
     890      353,  353,  372,  372,  372,  372,  372,  372,  371,  502,
     891      371,   87,   87,  372,  372,  372,  372,  372,  372,  234,
     892
     893      234,  234,  234,  234,  234,   87,  518,  478,  489,  489,
     894      489,  489,  489,  489,  243,  243,  243,  243,  105,  105,
     895       87,  517,   87,  757,  235,  496,  237,  533,  238,  237,
     896      493,  497,  375,  377,  377,  377,  377,  377,  377,  493,
     897      494,  490,  497,   87,  382,   87,  237,  376,  237,  495,
     898       87,  238,   87,  237,  520,   87,  493,  497,   87,  888,
     899      496,  521,  519,  888,  522,  493,  378,  384,  497,  385,
     900       87,  525,   87,  386,  523,  498,  536,  498,   87,  387,
     901      499,  499,  499,  499,  499,  499,  384,  524,  385,   87,
     902       87,  388,  386,   87,  527,  385,   87,   87,  503,  386,
     903
     904       87,   87,   87,  528,   87,  526,   87,  538,   87,   87,
     905      388,   87,  540,  500,  385,  531,  529,  530,  386,  532,
     906       87,  534,   87,  537,   87,  541,  544,  539,  535,   87,
     907      543,   87,  542,   87,   87,  545,   87,  547,   87,   87,
     908       87,   87,  549,   87,  548,   87,   87,  546,   87,  550,
     909       87,   87,   87,   87,  553,  557,  551,   87,  555,  560,
     910      552,  556,  554,   87,   87,  558,   87,   87,  559,   87,
     911       87,  568,  561,  562,  564,  565,  569,  563,   87,   87,
     912      567,  566,   87,   87,   87,  202,  572,   87,   87,   87,
     913      575,  578,  571,  577,  493,  493,  573,   87,  627,  574,
     914
     915      212,  212,  212,  212,  494,  576,  489,  489,  489,  489,
     916      489,  489,  377,  377,  377,  377,  377,  377,   87,  624,
     917      493,  493,  235,  596,  237,  596,  238,  237,  597,  597,
     918      597,  597,  597,  597,  600,  619,   87,  493,   87,  490,
     919       87,  626,   87,  634,  237,  491,  237,  599,  660,  238,
     920       87,  237,  499,  499,  499,  499,  499,  499,   87,   87,
     921      600,  598,  622,  493,  601,  601,  601,  601,  601,  601,
     922      629,  620,  637,   87,  621,   87,   87,   87,  642,   87,
     923      602,  498,  603,  498,  604,  603,  499,  499,  499,  499,
     924      499,  499,  623,   87,  631,   87,   87,  605,  632,   87,
     925
     926       87,   87,  603,   87,  603,  633,  625,  604,   87,  603,
     927      630,  635,  636,   87,   87,  643,   87,  638,   87,   87,
     928       87,   87,   87,  641,   87,  639,   87,  644,   87,   87,
     929      640,  648,   87,  645,  646,  647,   87,  649,  651,   87,
     930       87,  650,   87,   87,  652,  654,   87,  653,  655,   87,
     931       87,  656,   87,   87,  665,   87,  658,  662,  657,  661,
     932       87,   87,   87,  659,  666,  664,   87,   87,   87,   87,
     933       87,  667,  888,  689,  663,  702,  735,   87,  703,  668,
     934      669,  489,  489,  489,  489,  489,  489,  597,  597,  597,
     935      597,  597,  597,  596,  705,  596,  689,   87,  597,  597,
     936
     937      597,  597,  597,  597,  601,  601,  601,  601,  601,  601,
     938      704,  689,  689,  888,  595,  687,  687,  687,  687,  687,
     939      687,  690,   87,  690,   87,   87,  690,  700,   87,   87,
     940       87,  602,  707,  603,  689,  604,  603,  605,  708,   87,
     941      701,  711,   87,  690,   87,  690,  709,  706,  688,   87,
     942      690,   87,   87,  603,  719,  603,   87,  713,  604,   87,
     943      603,  712,   87,   87,   87,   87,  714,   87,  715,  718,
     944       87,  716,  722,   87,  720,   87,  721,   87,   87,  725,
     945      723,   87,   87,   87,  728,   87,  724,   87,  726,  727,
     946      732,   87,  733,  729,   87,  731,  734,   87,  737,   87,
     947
     948      736,  863,  758,  888,  730,  687,  687,  687,  687,  687,
     949      687,  601,  601,  601,  601,  601,  601,   87,  751,   87,
     950      753,  602,   87,  603,  755,  604,  603,  752,   87,  754,
     951       87,   87,   87,   87,   87,  765,  760,   87,  688,   87,
     952      763,  762,  766,  603,  691,  603,  759,  761,  604,   87,
     953      603,  756,  768,   87,  764,   87,  769,   87,  767,   87,
     954       87,   87,   87,   87,   87,  771,   87,   87,  770,  772,
     955       87,  775,   87,  773,   87,   87,   87,  804,   87,   87,
     956      780,   87,  774,  781,   87,   87,  776,  777,  778,  796,
     957      797,  779,  687,  687,  687,  687,  687,  687,  795,  794,
     958
     959       87,   87,  801,   87,   87,   87,  802,   87,  799,   87,
     960      798,   87,  805,   87,  806,   87,   87,  803,  800,  808,
     961      807,   87,  810,   87,  809,  744,   87,   87,   87,   87,
     962       87,  829,   87,   87,  834,  831,  832,   87,  811,   87,
     963       87,   87,  835,   87,  837,   87,  812,  828,  827,   87,
     964       87,   87,  830,  826,  838,  833,   87,   87,  839,  840,
     965       87,  841,  836,  851,   87,   87,  853,  852,   87,   87,
     966       87,  850,  856,  858,   87,   87,   87,  859,   87,   87,
     967       87,  865,   87,  854,  860,  857,   87,  861,  864,  855,
     968       87,  868,  867,  866,   87,   87,   87,  869,  870,  871,
     969
     970      872,   87,   87,   87,   87,  874,   87,  876,   87,  877,
     971       87,   87,   87,  875,   87,   87,  873,   87,   87,   87,
     972      888,  881,   87,  888,  888,  862,  880,  882,   87,   87,
     973      878,  879,  887,   87,   87,   87,  885,  883,  884,  888,
     974      888,  886,   69,   69,   69,   69,   69,   69,   69,   69,
     975       69,   69,   69,   69,   69,   75,   75,   75,   75,   75,
     976       75,   75,   75,   75,   75,   75,   75,   75,   78,   78,
     977       78,   78,   78,   78,   78,   78,   78,   78,   78,   78,
     978       78,   86,  849,  888,   86,  848,   86,   86,   86,   86,
     979       86,  141,  888,  846,  888,  141,  141,  141,  141,  141,
     980
     981      141,  200,  200,  200,  200,  200,  200,  200,  200,  200,
     982      200,  200,  200,  200,  205,  845,  888,  205,  844,  205,
     983      205,  205,  205,  205,  209,  888,  209,  209,  843,  209,
     984      209,  209,  209,  209,  209,   87,  209,  217,   87,   87,
     985      217,  217,  217,  217,  217,  217,  217,  217,  888,  217,
     986      240,  240,  240,  240,  240,  240,  240,  240,  240,  240,
     987      240,  240,  240,  254,  254,  825,  254,  888,  824,  822,
     988      254,  270,  888,  820,  270,  888,  270,  270,  270,  270,
     989      270,  274,  818,  274,  888,  816,  814,  274,  276,   87,
     990      276,   87,   87,   87,  276,  349,   87,  349,   87,   87,
     991
     992       87,  349,  351,   87,  351,   87,   87,   87,  351,  355,
     993      888,  355,  793,  791,  888,  355,  357,  888,  357,  788,
     994      786,  784,  357,  359,   87,  359,   87,   87,   87,  359,
     995      366,   87,  366,   87,   87,  750,  366,  368,  747,  368,
     996      746,  744,  206,  368,  240,  240,  240,  240,  240,  240,
     997      240,  240,  240,  240,  240,  240,  240,  381,  740,  381,
     998      383,  383,  739,  383,  383,  383,  671,  383,  254,  254,
     999       87,  254,  393,   87,  393,   87,   87,   87,  393,  395,
     1000       87,  395,   87,   87,   87,  395,  397,   87,  397,   87,
     1001       87,   87,  397,  274,   87,  274,  399,   87,  399,  698,
     1002
     1003      697,  695,  399,  276,  693,  276,   86,  691,  599,   86,
     1004      686,   86,   86,   86,   86,   86,  200,  200,  200,  200,
     1005      200,  200,  200,  200,  200,  200,  200,  200,  200,  469,
     1006      469,  469,  469,  469,  469,  469,  469,  469,  469,  469,
     1007      469,  469,  470,  685,  470,  683,  681,  679,  470,  472,
     1008      677,  472,  675,  673,  671,  472,  474,   87,  474,   87,
     1009       87,   87,  474,  349,   87,  349,  476,   87,  476,   87,
     1010       87,   87,  476,  351,   87,  351,  479,   87,  479,  618,
     1011      616,  614,  479,  355,  612,  355,  481,  610,  481,  608,
     1012      503,  606,  481,  357,  606,  357,  483,  595,  483,  594,
     1013
     1014      592,  484,  483,  359,  484,  359,  485,  590,  485,  588,
     1015      586,  584,  485,  366,  582,  366,  487,  580,  487,   87,
     1016       87,   87,  487,  368,   87,  368,  492,   87,  492,   87,
     1017      492,   87,  492,  381,   87,  381,  515,  381,  513,  381,
     1018      383,  383,  511,  383,  383,  383,  509,  383,  504,  507,
     1019      504,  505,  491,  488,  504,  506,  486,  506,  362,  362,
     1020      484,  506,  508,  482,  508,  480,  477,  475,  508,  393,
     1021      473,  393,  510,  471,  510,   87,   87,   87,  510,  395,
     1022      401,  395,  512,  400,  512,  398,  396,  394,  512,  397,
     1023      271,  397,  514,  266,  514,  265,  390,  390,  514,  399,
     1024
     1025      253,  399,   86,  380,  380,   86,  241,   86,   86,   86,
     1026       86,   86,  469,  469,  469,  469,  469,  469,  469,  469,
     1027      469,  469,  469,  469,  469,  579,  375,  579,  369,  367,
     1028      365,  579,  470,  361,  470,  581,  360,  581,  358,  356,
     1029      352,  581,  472,  350,  472,  583,  206,  583,  202,   87,
     1030      278,  583,  474,  277,  474,  585,  275,  585,  271,  266,
     1031      269,  585,  476,  266,  476,  587,  264,  587,  263,  262,
     1032      241,  587,  479,  233,  479,  589,   85,  589,   85,   87,
     1033      206,  589,  481,  204,  481,  483,   85,  483,  123,   87,
     1034      888,  483,  591,   70,  591,   70,  888,  888,  591,  485,
     1035
     1036      888,  485,  593,  888,  593,  888,  888,  888,  593,  487,
     1037      888,  487,  492,  888,  492,  888,  492,  888,  492,  383,
     1038      888,  383,  888,  888,  888,  383,  607,  888,  607,  888,
     1039      888,  888,  607,  504,  888,  504,  609,  888,  609,  888,
     1040      888,  888,  609,  506,  888,  506,  611,  888,  611,  888,
     1041      888,  888,  611,  508,  888,  508,  613,  888,  613,  888,
     1042      888,  888,  613,  510,  888,  510,  615,  888,  615,  888,
     1043      888,  888,  615,  512,  888,  512,  617,  888,  617,  888,
     1044      888,  888,  617,  514,  888,  514,   86,  888,  888,   86,
     1045      888,   86,   86,   86,   86,   86,  670,  670,  670,  670,
     1046
     1047      670,  670,  670,  670,  670,  670,  670,  670,  670,  672,
     1048      888,  672,  888,  888,  888,  672,  579,  888,  579,  674,
     1049      888,  674,  888,  888,  888,  674,  581,  888,  581,  676,
     1050      888,  676,  888,  888,  888,  676,  583,  888,  583,  678,
     1051      888,  678,  888,  888,  888,  678,  585,  888,  585,  680,
     1052      888,  680,  888,  888,  888,  680,  587,  888,  587,  682,
     1053      888,  682,  888,  888,  888,  682,  589,  888,  589,  684,
     1054      888,  684,  888,  888,  888,  684,  591,  888,  591,   86,
     1055      888,   86,  888,  888,  888,   86,  593,  888,  593,  492,
     1056      888,  492,  888,  888,  888,  492,  692,  888,  692,  888,
     1057
     1058      888,  888,  692,  607,  888,  607,  694,  888,  694,  888,
     1059      888,  888,  694,  609,  888,  609,  696,  888,  696,  888,
     1060      888,  888,  696,  611,  888,  611,  141,  888,  141,  888,
     1061      888,  888,  141,  613,  888,  613,  699,  888,  699,  615,
     1062      888,  615,   86,  888,  888,   86,  888,   86,   86,   86,
     1063       86,   86,  617,  888,  617,  670,  670,  670,  670,  670,
     1064      670,  670,  670,  670,  670,  670,  670,  670,  738,  888,
     1065      738,  888,  888,  888,  738,  672,  888,  672,  205,  888,
     1066      205,  888,  888,  888,  205,  674,  888,  674,  741,  888,
     1067      741,  676,  888,  676,  205,  888,  888,  205,  888,  205,
     1068
     1069      205,  205,  205,  205,  678,  888,  678,  742,  888,  742,
     1070      680,  888,  680,  682,  888,  682,  743,  888,  743,  684,
     1071      888,  684,   86,  888,   86,  745,  888,  745,  888,  888,
     1072      888,  745,  692,  888,  692,  270,  888,  270,  888,  888,
     1073      888,  270,  694,  888,  694,  748,  888,  748,  696,  888,
     1074      696,  141,  888,  141,  749,  888,  749,  888,  888,  888,
     1075      749,   86,  888,  888,   86,  888,   86,   86,   86,   86,
     1076       86,  782,  888,  782,  738,  888,  738,  205,  888,  205,
     1077      783,  888,  783,  888,  888,  888,  783,  785,  888,  785,
     1078      888,  888,  888,  785,  787,  888,  787,  888,  888,  888,
     1079
     1080      787,  789,  888,  789,  790,  888,  790,  888,  888,  888,
     1081      790,  792,  888,  792,  888,  888,  888,  792,  813,  888,
     1082      813,  888,  888,  888,  813,  815,  888,  815,  888,  888,
     1083      888,  815,  817,  888,  817,  888,  888,  888,  817,  819,
     1084      888,  819,  888,  888,  888,  819,  821,  888,  821,  888,
     1085      888,  888,  821,  823,  888,  823,  888,  888,  888,  823,
     1086      617,  888,  617,  888,  888,  888,  617,  842,  888,  842,
     1087      888,  888,  888,  842,  678,  888,  678,  888,  888,  888,
     1088      678,  682,  888,  682,  888,  888,  888,  682,   86,  888,
     1089       86,  888,  888,  888,   86,  847,  888,  847,  888,  888,
     1090
     1091      888,  847,  141,  888,  141,  888,  888,  888,  141,  205,
     1092      888,  205,  888,  888,  888,  205,   11,  888,  888,  888,
     1093      888,  888,  888,  888,  888,  888,  888,  888,  888,  888,
     1094      888,  888,  888,  888,  888,  888,  888,  888,  888,  888,
     1095      888,  888,  888,  888,  888,  888,  888,  888,  888,  888,
     1096      888,  888,  888,  888,  888,  888,  888,  888,  888,  888,
     1097      888,  888,  888,  888,  888,  888,  888,  888,  888,  888,
     1098      888,  888,  888,  888,  888,  888,  888,  888,  888,  888,
     1099      888,  888,  888,  888,  888,  888,  888,  888,  888,  888,
     1100      888,  888,  888,  888,  888,  888,  888,  888,  888,  888,
     1101
     1102      888,  888
    11031103    } ;
    11041104
    1105 static yyconst flex_int16_t yy_chk[2908] =
     1105static yyconst flex_int16_t yy_chk[2903] =
    11061106    {   0,
    11071107        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
     
    11241124        5,    5,    5,    5,    5,    5,    5,    5,    5,    5,
    11251125        5,    5,    5,    5,    5,    5,    5,    5,    5,    7,
    1126         8,    9,   10,   37,   37,   20,   39,    9,   10,  886,
     1126        8,    9,   10,   33,   33,   20,  526,    9,   10,  526,
    11271127        7,    8,   13,   13,   13,   13,   13,   13,   15,   15,
    11281128
    1129        15,   15,   15,   15,   20,   25,   48,   39,   42,   28,
    1130        27,   28,   28,   28,   28,   28,   28,  109,  115,   25,
    1131        29,   25,   27,   27,   27,   29,   48,   35,   40,    7,
    1132         8,    9,   10,   40,   42,   29,   30,   47,   30,   30,
    1133        30,   30,   30,   30,   35,   57,   35,   35,   44,  126,
    1134        44,  126,  109,  115,   57,   30,   64,   56,   47,   30,
    1135        47,   45,   45,   45,   49,   30,   30,   45,   45,   49,
    1136        45,   30,   40,   45,   45,   40,   49,   30,   45,   56,
    1137        62,   45,   49,   30,   73,  885,  127,   53,  127,   51,
    1138        61,   30,   62,   55,   30,   31,  108,   31,   31,   31,
    1139 
    1140        31,   31,   31,   50,   51,   53,   51,   64,   61,   54,
    1141        73,   55,   50,   87,   31,   51,   50,   55,   31,   54,
    1142       108,   50,   52,  114,   31,   50,   54,   52,  175,  129,
    1143        31,  129,  107,  154,  151,   52,   31,   52,  107,   87,
    1144        52,   60,   31,  132,   52,  132,   60,  114,  175,  154,
    1145        31,   38,  151,  385,  111,   38,   38,   58,   38,   60,
    1146        38,   38,  113,   38,  107,   38,   59,  130,  113,   58,
    1147        58,  116,  111,  164,   38,   38,   38,  385,   59,   58,
    1148       111,  130,   58,  130,  142,   60,   59,  131,   60,  116,
    1149       164,   68,   68,   59,  113,   38,   68,  116,   38,  131,
    1150 
    1151       110,  131,   60,   67,   67,   67,   67,   67,   67,  877,
    1152       142,   67,   68,   68,   68,   68,   68,   68,   80,   80,
    1153        80,   80,   80,   80,  153,   38,   38,   77,   77,  134,
    1154       110,  134,   77,  153,   77,  110,  135,  135,  135,   77,
    1155        82,   82,   82,   82,   82,   82,  876,  243,   77,   77,
    1156        77,   77,   83,   83,   83,   83,   83,   83,  110,   77,
    1157       103,  103,  103,  103,  103,  103,  104,  104,  104,  104,
    1158       133,  133,  137,  133,  137,   77,  145,  139,   77,  139,
    1159       157,  145,  243,   77,   77,  152,  156,   77,   77,  155,
    1160       166,  150,  157,  103,  104,   77,  159,  168,   77,  104,
    1161 
    1162        77,   77,   77,  152,   77,   85,  150,  155,  156,   85,
    1163        85,  166,  159,  150,   85,   85,  161,   85,  160,   85,
    1164       145,  162,  104,  167,  168,  161,  169,  163,   85,   85,
    1165        85,  105,  163,  105,  105,  105,  105,  105,  105,  873,
    1166       160,  171,  162,  162,  165,  163,  167,  169,  173,   85,
    1167       105,  106,   85,  106,  165,  172,  106,  106,  106,  106,
    1168       106,  106,  180,  171,  170,  173,  105,  176,  177,  170,
    1169       172,  181,  105,  174,  184,  187,  181,  182,  179,  180,
    1170        85,   99,   99,   99,   99,   99,   99,  170,  187,  106,
    1171       177,  174,  184,  179,  176,  183,  190,   99,   99,   99,
    1172 
    1173       179,   99,   99,  189,  182,  186,  183,  191,  189,  218,
    1174       186,  218,  185,  188,   99,  190,  183,  183,  284,   99,
    1175        99,   99,  158,  185,   99,  186,   99,  158,  158,  158,
    1176       189,  158,  158,  188,  192,  158,  194,  158,  284,  219,
    1177       185,  219,  158,  158,  158,  193,  158,  192,  220,  194,
    1178       220,  191,  198,  198,  191,  192,  205,  198,  193,  872,
    1179       193,  197,  197,  197,  197,  197,  197,  200,  200,  197,
    1180       248,  221,  200,  198,  198,  198,  198,  198,  198,  202,
    1181       202,  223,  205,  223,  202,  221,  202,  221,  200,  200,
    1182       200,  200,  200,  200,  209,  209,  248,  338,  222,  209,
    1183 
    1184       202,  202,  202,  202,  202,  202,  212,  212,  212,  212,
    1185       222,  309,  222,  224,  224,  225,  224,  225,  226,  226,
    1186       226,  228,  229,  228,  229,  234,  234,  235,  236,  235,
    1187       309,  279,  235,  235,  235,  235,  235,  235,  237,  212,
    1188       237,  338,  266,  237,  266,  267,  278,  267,  234,  279,
    1189       283,  236,  241,  241,  241,  283,  241,  241,  256,  278,
    1190       237,  281,  237,  282,  280,  235,  270,  237,  244,  244,
    1191       244,  244,  244,  244,  241,  241,  241,  281,  285,  241,
    1192       282,  241,  280,  285,  256,  244,  245,  245,  245,  245,
    1193       245,  245,  270,  288,  293,  286,  294,  300,  306,  293,
    1194 
    1195       308,  244,  300,  306,  870,  294,  308,  244,  246,  246,
    1196       246,  246,  246,  246,  253,  286,  288,  255,  255,  255,
    1197       255,  255,  255,  287,  246,  247,  246,  247,  246,  246,
    1198       247,  247,  247,  247,  247,  247,  290,  253,  287,  253,
    1199       869,  246,  289,  253,  287,  287,  246,  292,  246,  253,
    1200       255,  246,  291,  246,  260,  260,  260,  260,  260,  260,
    1201       289,  253,  290,  292,  292,  253,  295,  291,  296,  253,
    1202       297,  299,  301,  302,  303,  304,  305,  307,  311,  295,
    1203       302,  301,  307,  310,  311,  312,  319,  260,  297,  299,
    1204       313,  314,  310,  304,  303,  296,  318,  305,  305,  313,
    1205 
    1206       315,  312,  316,  317,  319,  315,  314,  316,  317,  320,
    1207       322,  323,  324,  326,  325,  318,  327,  328,  331,  329,
    1208       330,  322,  320,  332,  334,  317,  323,  325,  333,  330,
    1209       335,  324,  337,  339,  340,  326,  329,  328,  401,  327,
    1210       331,  337,  334,  335,  341,  343,  332,  340,  342,  401,
    1211       333,  339,  341,  342,  344,  344,  345,  460,  862,  344,
    1212       343,  344,  345,  352,  352,  352,  352,  353,  353,  353,
    1213       353,  362,  363,  362,  363,  370,  370,  370,  370,  370,
    1214       370,  372,  460,  372,  380,  381,  372,  372,  372,  372,
    1215       372,  372,  861,  402,  380,  381,  352,  371,  371,  371,
    1216 
    1217       371,  371,  371,  374,  374,  374,  374,  374,  374,  402,
    1218       380,  381,  403,  371,  404,  371,  860,  371,  371,  375,
    1219       375,  375,  375,  375,  375,  383,  382,  403,  406,  405,
    1220       371,  383,  407,  404,  408,  371,  374,  371,  405,  406,
    1221       371,  407,  371,  376,  376,  376,  376,  376,  376,  382,
    1222       412,  382,  375,  387,  411,  382,  408,  383,  384,  386,
    1223       384,  382,  410,  384,  384,  384,  384,  384,  384,  409,
    1224       411,  387,  412,  382,  413,  410,  376,  382,  409,  387,
    1225       415,  382,  386,  414,  386,  416,  417,  413,  386,  418,
    1226       421,  417,  419,  422,  386,  420,  384,  427,  419,  414,
    1227 
    1228       414,  421,  415,  416,  418,  423,  386,  425,  429,  427,
    1229       386,  418,  422,  430,  386,  431,  420,  432,  433,  434,
    1230       423,  425,  435,  437,  433,  439,  440,  441,  431,  429,
    1231       442,  435,  443,  444,  434,  430,  449,  445,  437,  447,
    1232       432,  450,  441,  451,  454,  439,  445,  443,  440,  452,
    1233       450,  453,  442,  444,  455,  456,  447,  457,  458,  449,
    1234       459,  461,  463,  455,  451,  458,  454,  459,  462,  452,
    1235       457,  453,  466,  456,  464,  467,  462,  525,  859,  463,
    1236       525,  468,  491,  461,  467,  464,  462,  468,  477,  477,
    1237       477,  477,  491,  515,  466,  488,  488,  488,  488,  488,
    1238 
    1239       488,  490,  490,  490,  490,  490,  490,  519,  491,  521,
    1240       515,  488,  492,  488,  492,  488,  488,  492,  492,  492,
    1241       492,  492,  492,  494,  516,  495,  493,  519,  488,  855,
    1242       851,  521,  518,  488,  490,  488,  493,  516,  488,  529,
    1243       488,  497,  497,  497,  497,  497,  497,  518,  520,  494,
    1244       492,  495,  493,  498,  498,  498,  498,  498,  498,  523,
    1245       529,  520,  526,  848,  523,  847,  528,  846,  522,  498,
    1246       499,  498,  499,  498,  498,  499,  499,  499,  499,  499,
    1247       499,  522,  526,  524,  527,  528,  498,  531,  530,  532,
    1248       533,  498,  531,  498,  524,  534,  498,  530,  498,  527,
    1249 
    1250       532,  535,  537,  533,  536,  538,  539,  541,  542,  547,
    1251       535,  539,  544,  541,  538,  545,  546,  542,  547,  537,
    1252       550,  551,  845,  549,  534,  552,  536,  554,  560,  544,
    1253       545,  546,  549,  551,  555,  557,  558,  550,  561,  555,
    1254       552,  562,  554,  565,  557,  558,  564,  567,  566,  568,
    1255       560,  561,  575,  565,  564,  566,  569,  571,  562,  574,
    1256       572,  568,  569,  620,  619,  575,  571,  601,  601,  567,
    1257       572,  619,  620,  844,  843,  622,  574,  594,  594,  594,
    1258       594,  594,  594,  595,  595,  595,  595,  595,  595,  597,
    1259       601,  597,  622,  621,  597,  597,  597,  597,  597,  597,
    1260 
    1261       600,  600,  600,  600,  600,  600,  621,  602,  626,  842,
    1262       594,  596,  596,  596,  596,  596,  596,  603,  618,  603,
    1263       623,  624,  603,  618,  628,  626,  625,  596,  624,  596,
    1264       602,  596,  596,  600,  625,  627,  618,  628,  627,  603,
    1265       629,  603,  630,  623,  596,  631,  603,  632,  633,  596,
    1266       634,  596,  635,  634,  596,  636,  596,  630,  637,  638,
    1267       640,  644,  629,  639,  632,  641,  642,  631,  645,  635,
    1268       633,  646,  639,  637,  650,  642,  651,  656,  640,  638,
    1269       646,  653,  657,  636,  644,  665,  656,  641,  664,  657,
    1270       645,  667,  668,  841,  650,  665,  700,  664,  653,  699,
    1271 
    1272       667,  702,  705,  651,  714,  837,  700,  668,  686,  686,
    1273       686,  686,  686,  686,  690,  690,  690,  690,  690,  690,
    1274       699,  708,  705,  703,  686,  714,  686,  702,  686,  686,
    1275       703,  704,  706,  715,  707,  706,  704,  707,  710,  708,
    1276       712,  686,  711,  717,  710,  718,  686,  690,  686,  712,
    1277       720,  686,  717,  686,  713,  711,  716,  713,  719,  716,
    1278       721,  719,  715,  720,  722,  723,  724,  725,  721,  728,
    1279       731,  718,  732,  735,  722,  733,  725,  736,  723,  756,
    1280       757,  735,  836,  754,  756,  759,  736,  724,  755,  760,
    1281       731,  761,  728,  764,  732,  757,  733,  743,  743,  743,
    1282 
    1283       743,  743,  743,  754,  758,  755,  760,  762,  759,  763,
    1284       762,  769,  766,  768,  758,  766,  768,  761,  769,  772,
    1285       770,  764,  763,  770,  771,  773,  778,  771,  793,  795,
    1286       743,  798,  797,  796,  772,  797,  799,  800,  802,  799,
    1287       800,  803,  804,  806,  807,  804,  810,  807,  773,  778,
    1288       795,  796,  809,  798,  808,  793,  802,  808,  811,  826,
    1289       830,  809,  810,  827,  829,  806,  828,  803,  831,  828,
    1290       827,  831,  832,  829,  811,  834,  835,  839,  830,  835,
    1291       826,  840,  838,  849,  830,  838,  839,  853,  850,  832,
    1292       840,  852,  849,  850,  852,  854,  856,  853,  857,  856,
    1293 
    1294       854,  857,  858,  863,  864,  858,  865,  866,  867,  865,
    1295       868,  867,  871,  868,  874,  875,  878,  866,  879,  864,
    1296       880,  882,  881,  863,  883,  878,  884,  833,  825,  824,
    1297       875,  879,  823,  822,  871,  874,  884,  821,  820,  882,
    1298       819,  818,  880,  881,  817,  816,  883,  888,  888,  888,
     1129       15,   15,   15,   15,   20,   25,   37,   37,   42,   28,
     1130       27,   28,   28,   28,   28,   28,   28,   48,  887,   25,
     1131       29,   25,   27,   27,   27,   29,   56,   35,   39,    7,
     1132        8,    9,   10,   47,   42,   29,   30,   48,   30,   30,
     1133       30,   30,   30,   30,   35,   40,   35,   35,   56,   39,
     1134       40,   44,  886,   44,   47,   30,   47,   53,   64,   30,
     1135       73,   45,   45,   45,   49,   30,   30,   45,   45,   49,
     1136       45,   30,   61,   45,   45,   53,   49,   30,   45,   57,
     1137      108,   45,   49,   30,  878,  109,   73,   55,   57,   40,
     1138       61,   30,   40,   51,   30,   31,   54,   31,   31,   31,
     1139
     1140       31,   31,   31,   50,  108,   55,   54,   87,   51,   64,
     1141       51,   55,   50,   54,   31,  877,   50,   62,   31,   51,
     1142      109,   50,   52,  176,   31,   50,   59,   52,  114,   62,
     1143       31,  115,  127,   87,  127,   52,   31,   52,   59,  107,
     1144       52,  113,   31,  176,   52,  107,   59,  113,  874,   60,
     1145       31,   38,  114,   59,   60,   38,   38,   58,   38,  152,
     1146       38,   38,  128,   38,  128,   38,  115,   60,  143,   58,
     1147       58,  107,  154,  113,   38,   38,   38,  152,  130,   58,
     1148      130,  154,   58,   67,   67,   67,   67,   67,   67,  155,
     1149      133,   67,  133,   60,  143,   38,   60,  158,   38,   80,
     1150
     1151       80,   80,   80,   80,   80,  155,   68,   68,  160,  158,
     1152       60,   68,   82,   82,   82,   82,   82,   82,   83,   83,
     1153       83,   83,   83,   83,  160,   38,   38,   68,   68,   68,
     1154       68,   68,   68,   77,   77,  111,  628,  110,   77,  628,
     1155       77,  104,  104,  104,  104,   77,  103,  103,  103,  103,
     1156      103,  103,  116,  111,   77,   77,   77,   77,  135,  131,
     1157      135,  111,  162,  134,  134,   77,  134,  110,  132,  104,
     1158      116,  162,  110,  131,  104,  131,  169,  151,  116,  103,
     1159      132,   77,  132,  157,   77,  136,  136,  136,  873,   77,
     1160       77,  161,  151,   77,   77,  110,  138,  104,  138,  151,
     1161
     1162      140,   77,  140,  169,   77,  157,   77,   77,   77,  146,
     1163       77,   85,  309,  161,  146,   85,   85,  173,  309,  153,
     1164       85,   85,  156,   85,  105,   85,  105,  105,  105,  105,
     1165      105,  105,  173,  164,   85,   85,   85,  153,  164,  106,
     1166      156,  106,  163,  105,  106,  106,  106,  106,  106,  106,
     1167      166,  164,  165,  146,  167,   85,  168,  170,   85,  105,
     1168      166,  159,  172,  163,  163,  105,  159,  159,  159,  165,
     1169      159,  159,  177,  178,  159,  167,  159,  106,  170,  168,
     1170      174,  159,  159,  159,  172,  159,   85,   99,   99,   99,
     1171       99,   99,   99,  171,  175,  178,  180,  174,  171,  177,
     1172
     1173      181,  182,  183,   99,   99,   99,  182,   99,   99,  192,
     1174      185,  180,  175,  184,  206,  342,  171,  181,  180,  191,
     1175       99,  189,  186,  342,  184,   99,   99,   99,  185,  183,
     1176       99,  187,   99,  186,  184,  184,  187,  190,  191,  188,
     1177      206,  189,  190,  284,  193,  194,  195,  219,  284,  219,
     1178      186,  187,  188,  192,  871,  249,  192,  193,  194,  195,
     1179      194,  220,  285,  220,  190,  193,  198,  198,  198,  198,
     1180      198,  198,  199,  199,  198,  210,  210,  199,  201,  201,
     1181      210,  249,  285,  201,  203,  203,  221,  870,  221,  203,
     1182      224,  203,  224,  199,  199,  199,  199,  199,  199,  201,
     1183
     1184      201,  201,  201,  201,  201,  203,  203,  203,  203,  203,
     1185      203,  213,  213,  213,  213,  222,  223,  225,  225,  226,
     1186      225,  226,  227,  227,  227,  229,  283,  229,  223,  222,
     1187      223,  222,  230,  237,  230,  235,  235,  244,  461,  267,
     1188      236,  267,  236,  283,  213,  236,  236,  236,  236,  236,
     1189      236,  257,  238,  268,  238,  268,  237,  238,  235,  271,
     1190      242,  242,  242,  461,  242,  242,  246,  246,  246,  246,
     1191      246,  246,  244,  279,  238,  286,  238,  257,  236,  280,
     1192      286,  238,  242,  242,  242,  271,  279,  242,  863,  242,
     1193      245,  245,  245,  245,  245,  245,  248,  280,  248,  281,
     1194
     1195      282,  248,  248,  248,  248,  248,  248,  245,  256,  256,
     1196      256,  256,  256,  256,  254,  294,  282,  281,  287,  289,
     1197      294,  291,  290,  245,  363,  635,  363,  295,  635,  245,
     1198      247,  247,  247,  247,  247,  247,  295,  254,  287,  254,
     1199      290,  256,  289,  254,  292,  288,  247,  291,  247,  254,
     1200      247,  247,  261,  261,  261,  261,  261,  261,  296,  292,
     1201      288,  254,  293,  247,  297,  254,  288,  288,  247,  254,
     1202      247,  296,  298,  247,  300,  247,  301,  302,  293,  293,
     1203      303,  301,  304,  305,  306,  261,  302,  303,  307,  308,
     1204      298,  297,  300,  307,  308,  310,  313,  312,  311,  314,
     1205
     1206      315,  305,  304,  312,  316,  306,  306,  311,  314,  316,
     1207      319,  317,  313,  318,  310,  315,  317,  321,  318,  320,
     1208      323,  324,  325,  327,  328,  326,  329,  330,  332,  319,
     1209      321,  323,  333,  331,  334,  318,  324,  320,  326,  335,
     1210      336,  325,  331,  338,  330,  327,  329,  328,  339,  340,
     1211      332,  341,  338,  336,  343,  333,  334,  335,  344,  343,
     1212      402,  345,  345,  346,  341,  386,  345,  340,  345,  346,
     1213      364,  402,  364,  344,  353,  353,  353,  353,  354,  354,
     1214      354,  354,  371,  371,  371,  371,  371,  371,  373,  386,
     1215      373,  404,  339,  373,  373,  373,  373,  373,  373,  375,
     1216
     1217      375,  375,  375,  375,  375,  403,  404,  353,  372,  372,
     1218      372,  372,  372,  372,  376,  376,  376,  376,  376,  376,
     1219      707,  403,  418,  707,  372,  384,  372,  418,  372,  372,
     1220      381,  384,  375,  377,  377,  377,  377,  377,  377,  382,
     1221      381,  372,  388,  405,  383,  406,  372,  376,  372,  382,
     1222      407,  372,  409,  372,  406,  408,  381,  384,  411,  862,
     1223      388,  407,  405,  387,  408,  382,  377,  383,  388,  383,
     1224      420,  411,  413,  383,  409,  385,  420,  385,  410,  383,
     1225      385,  385,  385,  385,  385,  385,  387,  410,  387,  412,
     1226      414,  383,  387,  416,  413,  383,  422,  424,  387,  383,
     1227
     1228      415,  417,  421,  414,  431,  412,  419,  422,  423,  430,
     1229      387,  426,  424,  385,  387,  416,  415,  415,  387,  417,
     1230      428,  419,  432,  421,  433,  426,  431,  423,  419,  435,
     1231      430,  434,  428,  436,  438,  432,  440,  434,  441,  442,
     1232      443,  445,  436,  444,  435,  450,  446,  433,  448,  438,
     1233      451,  452,  455,  453,  442,  446,  440,  454,  444,  451,
     1234      441,  445,  443,  457,  459,  448,  456,  458,  450,  460,
     1235      462,  459,  452,  453,  455,  456,  460,  454,  463,  465,
     1236      458,  457,  464,  467,  468,  469,  463,  525,  861,  860,
     1237      465,  469,  462,  468,  492,  495,  463,  522,  525,  464,
     1238
     1239      478,  478,  478,  478,  492,  467,  489,  489,  489,  489,
     1240      489,  489,  491,  491,  491,  491,  491,  491,  516,  522,
     1241      492,  495,  489,  493,  489,  493,  489,  489,  493,  493,
     1242      493,  493,  493,  493,  496,  516,  524,  494,  532,  489,
     1243      565,  524,  520,  532,  489,  491,  489,  494,  565,  489,
     1244      527,  489,  498,  498,  498,  498,  498,  498,  517,  519,
     1245      496,  493,  520,  494,  499,  499,  499,  499,  499,  499,
     1246      527,  517,  535,  540,  519,  529,  856,  530,  540,  521,
     1247      499,  500,  499,  500,  499,  499,  500,  500,  500,  500,
     1248      500,  500,  521,  523,  529,  528,  531,  499,  530,  534,
     1249
     1250      533,  535,  499,  537,  499,  531,  523,  499,  536,  499,
     1251      528,  533,  534,  538,  539,  542,  545,  536,  543,  546,
     1252      547,  542,  548,  539,  551,  537,  552,  543,  550,  553,
     1253      538,  548,  555,  545,  546,  547,  561,  550,  552,  558,
     1254      556,  551,  559,  562,  553,  556,  563,  555,  558,  566,
     1255      567,  559,  568,  569,  570,  572,  562,  567,  561,  566,
     1256      570,  573,  575,  563,  572,  569,  666,  576,  620,  621,
     1257      852,  573,  849,  603,  568,  620,  666,  623,  621,  575,
     1258      576,  595,  595,  595,  595,  595,  595,  596,  596,  596,
     1259      596,  596,  596,  598,  623,  598,  603,  622,  598,  598,
     1260
     1261      598,  598,  598,  598,  601,  601,  601,  601,  601,  601,
     1262      622,  602,  602,  848,  595,  597,  597,  597,  597,  597,
     1263      597,  604,  619,  604,  624,  625,  604,  619,  629,  627,
     1264      626,  597,  625,  597,  602,  597,  597,  601,  626,  630,
     1265      619,  629,  631,  604,  632,  604,  627,  624,  597,  634,
     1266      604,  633,  636,  597,  637,  597,  639,  631,  597,  638,
     1267      597,  630,  641,  640,  642,  645,  632,  646,  633,  636,
     1268      643,  634,  640,  651,  638,  647,  639,  652,  654,  643,
     1269      641,  657,  637,  669,  647,  658,  642,  665,  645,  646,
     1270      657,  668,  658,  651,  703,  654,  665,  700,  669,  708,
     1271
     1272      668,  847,  708,  846,  652,  687,  687,  687,  687,  687,
     1273      687,  691,  691,  691,  691,  691,  691,  701,  700,  705,
     1274      703,  687,  704,  687,  705,  687,  687,  701,  709,  704,
     1275      711,  706,  713,  715,  712,  716,  711,  714,  687,  717,
     1276      714,  713,  717,  687,  691,  687,  709,  712,  687,  718,
     1277      687,  706,  719,  720,  715,  721,  720,  722,  718,  723,
     1278      724,  725,  726,  729,  716,  722,  733,  732,  721,  723,
     1279      734,  726,  736,  724,  737,  758,  762,  765,  719,  755,
     1280      736,  756,  725,  737,  757,  760,  729,  732,  733,  757,
     1281      758,  734,  744,  744,  744,  744,  744,  744,  756,  755,
     1282
     1283      759,  761,  762,  763,  764,  765,  763,  773,  760,  767,
     1284      759,  769,  767,  770,  769,  774,  771,  764,  761,  771,
     1285      770,  772,  773,  779,  772,  744,  794,  796,  798,  797,
     1286      799,  798,  800,  801,  804,  800,  801,  803,  774,  805,
     1287      807,  808,  805,  811,  808,  812,  779,  797,  796,  810,
     1288      827,  809,  799,  794,  809,  803,  828,  830,  810,  811,
     1289      804,  812,  807,  828,  829,  831,  830,  829,  833,  832,
     1290      836,  827,  832,  836,  839,  840,  851,  839,  841,  850,
     1291      864,  851,  854,  831,  840,  833,  855,  841,  850,  831,
     1292      853,  855,  854,  853,  857,  858,  859,  857,  858,  859,
     1293
     1294      864,  865,  866,  867,  868,  866,  869,  868,  872,  869,
     1295      875,  876,  879,  867,  880,  881,  865,  882,  883,  884,
     1296      845,  879,  885,  844,  843,  842,  876,  880,  838,  837,
     1297      872,  875,  885,  835,  834,  826,  883,  881,  882,  825,
     1298      824,  884,  889,  889,  889,  889,  889,  889,  889,  889,
     1299      889,  889,  889,  889,  889,  890,  890,  890,  890,  890,
     1300      890,  890,  890,  890,  890,  890,  890,  890,  891,  891,
     1301      891,  891,  891,  891,  891,  891,  891,  891,  891,  891,
     1302      891,  892,  823,  822,  892,  821,  892,  892,  892,  892,
     1303      892,  893,  820,  819,  818,  893,  893,  893,  893,  893,
     1304
     1305      893,  894,  894,  894,  894,  894,  894,  894,  894,  894,
     1306      894,  894,  894,  894,  895,  817,  816,  895,  815,  895,
     1307      895,  895,  895,  895,  896,  814,  896,  896,  813,  896,
     1308      896,  896,  896,  896,  896,  806,  896,  897,  802,  795,
     1309      897,  897,  897,  897,  897,  897,  897,  897,  793,  897,
     1310      898,  898,  898,  898,  898,  898,  898,  898,  898,  898,
     1311      898,  898,  898,  899,  899,  792,  899,  791,  790,  789,
     1312      899,  900,  788,  787,  900,  786,  900,  900,  900,  900,
     1313      900,  901,  785,  901,  784,  783,  782,  901,  902,  781,
     1314      902,  780,  778,  777,  902,  903,  776,  903,  775,  768,
     1315
     1316      766,  903,  904,  754,  904,  753,  752,  751,  904,  905,
     1317      750,  905,  749,  748,  747,  905,  906,  746,  906,  743,
     1318      742,  741,  906,  907,  735,  907,  731,  730,  728,  907,
     1319      908,  727,  908,  710,  702,  699,  908,  909,  694,  909,
     1320      692,  688,  678,  909,  910,  910,  910,  910,  910,  910,
     1321      910,  910,  910,  910,  910,  910,  910,  911,  674,  911,
     1322      912,  912,  672,  912,  912,  912,  670,  912,  913,  913,
     1323      667,  913,  914,  664,  914,  663,  662,  661,  914,  915,
     1324      660,  915,  659,  656,  655,  915,  916,  653,  916,  650,
     1325      649,  648,  916,  917,  644,  917,  918,  617,  918,  613,
     1326
     1327      611,  609,  918,  919,  607,  919,  920,  605,  599,  920,
     1328      593,  920,  920,  920,  920,  920,  921,  921,  921,  921,
     1329      921,  921,  921,  921,  921,  921,  921,  921,  921,  922,
     1330      922,  922,  922,  922,  922,  922,  922,  922,  922,  922,
     1331      922,  922,  923,  591,  923,  589,  587,  585,  923,  924,
     1332      583,  924,  581,  579,  578,  924,  925,  577,  925,  574,
     1333      571,  564,  925,  926,  560,  926,  927,  557,  927,  554,
     1334      549,  544,  927,  928,  541,  928,  929,  518,  929,  514,
     1335      512,  510,  929,  930,  508,  930,  931,  506,  931,  504,
     1336      503,  502,  931,  932,  501,  932,  933,  490,  933,  487,
     1337
     1338      485,  484,  933,  934,  483,  934,  935,  481,  935,  479,
     1339      476,  474,  935,  936,  472,  936,  937,  470,  937,  466,
     1340      449,  447,  937,  938,  439,  938,  939,  437,  939,  429,
     1341      939,  427,  939,  940,  425,  940,  399,  940,  397,  940,
     1342      941,  941,  395,  941,  941,  941,  393,  941,  942,  392,
     1343      942,  391,  378,  368,  942,  943,  366,  943,  365,  361,
     1344      359,  943,  944,  357,  944,  355,  351,  349,  944,  945,
     1345      348,  945,  946,  347,  946,  337,  322,  299,  946,  947,
     1346      278,  947,  948,  276,  948,  274,  273,  272,  948,  949,
     1347      270,  949,  950,  269,  950,  264,  260,  259,  950,  951,
     1348
     1349      255,  951,  952,  252,  251,  952,  240,  952,  952,  952,
     1350      952,  952,  953,  953,  953,  953,  953,  953,  953,  953,
     1351      953,  953,  953,  953,  953,  954,  239,  954,  232,  231,
     1352      228,  954,  955,  218,  955,  956,  216,  956,  215,  214,
     1353      208,  956,  957,  207,  957,  958,  205,  958,  200,  179,
     1354      150,  958,  959,  148,  959,  960,  147,  960,  141,  139,
     1355      137,  960,  961,  129,  961,  962,  126,  962,  125,  121,
     1356      101,  962,  963,   98,  963,  964,   95,  964,   93,   86,
     1357       72,  964,  965,   70,  965,  966,   66,  966,   36,   18,
     1358       11,  966,  967,    4,  967,    3,    0,    0,  967,  968,
     1359
     1360        0,  968,  969,    0,  969,    0,    0,    0,  969,  970,
     1361        0,  970,  971,    0,  971,    0,  971,    0,  971,  972,
     1362        0,  972,    0,    0,    0,  972,  973,    0,  973,    0,
     1363        0,    0,  973,  974,    0,  974,  975,    0,  975,    0,
     1364        0,    0,  975,  976,    0,  976,  977,    0,  977,    0,
     1365        0,    0,  977,  978,    0,  978,  979,    0,  979,    0,
     1366        0,    0,  979,  980,    0,  980,  981,    0,  981,    0,
     1367        0,    0,  981,  982,    0,  982,  983,    0,  983,    0,
     1368        0,    0,  983,  984,    0,  984,  985,    0,    0,  985,
     1369        0,  985,  985,  985,  985,  985,  986,  986,  986,  986,
     1370
     1371      986,  986,  986,  986,  986,  986,  986,  986,  986,  987,
     1372        0,  987,    0,    0,    0,  987,  988,    0,  988,  989,
     1373        0,  989,    0,    0,    0,  989,  990,    0,  990,  991,
     1374        0,  991,    0,    0,    0,  991,  992,    0,  992,  993,
     1375        0,  993,    0,    0,    0,  993,  994,    0,  994,  995,
     1376        0,  995,    0,    0,    0,  995,  996,    0,  996,  997,
     1377        0,  997,    0,    0,    0,  997,  998,    0,  998,  999,
     1378        0,  999,    0,    0,    0,  999, 1000,    0, 1000, 1001,
     1379        0, 1001,    0,    0,    0, 1001, 1002,    0, 1002, 1003,
     1380        0, 1003,    0,    0,    0, 1003, 1004,    0, 1004,    0,
     1381
     1382        0,    0, 1004, 1005,    0, 1005, 1006,    0, 1006,    0,
     1383        0,    0, 1006, 1007,    0, 1007, 1008,    0, 1008,    0,
     1384        0,    0, 1008, 1009,    0, 1009, 1010,    0, 1010,    0,
     1385        0,    0, 1010, 1011,    0, 1011, 1012,    0, 1012, 1013,
     1386        0, 1013, 1014,    0,    0, 1014,    0, 1014, 1014, 1014,
     1387     1014, 1014, 1015,    0, 1015, 1016, 1016, 1016, 1016, 1016,
     1388     1016, 1016, 1016, 1016, 1016, 1016, 1016, 1016, 1017,    0,
     1389     1017,    0,    0,    0, 1017, 1018,    0, 1018, 1019,    0,
     1390     1019,    0,    0,    0, 1019, 1020,    0, 1020, 1021,    0,
     1391     1021, 1022,    0, 1022, 1023,    0,    0, 1023,    0, 1023,
     1392
     1393     1023, 1023, 1023, 1023, 1024,    0, 1024, 1025,    0, 1025,
     1394     1026,    0, 1026, 1027,    0, 1027, 1028,    0, 1028, 1029,
     1395        0, 1029, 1030,    0, 1030, 1031,    0, 1031,    0,    0,
     1396        0, 1031, 1032,    0, 1032, 1033,    0, 1033,    0,    0,
     1397        0, 1033, 1034,    0, 1034, 1035,    0, 1035, 1036,    0,
     1398     1036, 1037,    0, 1037, 1038,    0, 1038,    0,    0,    0,
     1399     1038, 1039,    0,    0, 1039,    0, 1039, 1039, 1039, 1039,
     1400     1039, 1040,    0, 1040, 1041,    0, 1041, 1042,    0, 1042,
     1401     1043,    0, 1043,    0,    0,    0, 1043, 1044,    0, 1044,
     1402        0,    0,    0, 1044, 1045,    0, 1045,    0,    0,    0,
     1403
     1404     1045, 1046,    0, 1046, 1047,    0, 1047,    0,    0,    0,
     1405     1047, 1048,    0, 1048,    0,    0,    0, 1048, 1049,    0,
     1406     1049,    0,    0,    0, 1049, 1050,    0, 1050,    0,    0,
     1407        0, 1050, 1051,    0, 1051,    0,    0,    0, 1051, 1052,
     1408        0, 1052,    0,    0,    0, 1052, 1053,    0, 1053,    0,
     1409        0,    0, 1053, 1054,    0, 1054,    0,    0,    0, 1054,
     1410     1055,    0, 1055,    0,    0,    0, 1055, 1056,    0, 1056,
     1411        0,    0,    0, 1056, 1057,    0, 1057,    0,    0,    0,
     1412     1057, 1058,    0, 1058,    0,    0,    0, 1058, 1059,    0,
     1413     1059,    0,    0,    0, 1059, 1060,    0, 1060,    0,    0,
     1414
     1415        0, 1060, 1061,    0, 1061,    0,    0,    0, 1061, 1062,
     1416        0, 1062,    0,    0,    0, 1062,  888,  888,  888,  888,
    12991417      888,  888,  888,  888,  888,  888,  888,  888,  888,  888,
    1300       889,  889,  889,  889,  889,  889,  889,  889,  889,  889,
    1301       889,  889,  889,  890,  890,  890,  890,  890,  890,  890,
    1302       890,  890,  890,  890,  890,  890,  891,  815,  814,  891,
    1303       813,  891,  891,  891,  891,  891,  892,  812,  805,  801,
    1304 
    1305       892,  892,  892,  892,  892,  892,  893,  893,  893,  893,
    1306       893,  893,  893,  893,  893,  893,  893,  893,  893,  894,
    1307       794,  792,  894,  791,  894,  894,  894,  894,  894,  895,
    1308       790,  895,  895,  789,  895,  895,  895,  895,  895,  895,
    1309       788,  895,  896,  787,  786,  896,  896,  896,  896,  896,
    1310       896,  896,  896,  785,  896,  897,  897,  897,  897,  897,
    1311       897,  897,  897,  897,  897,  897,  897,  897,  898,  898,
    1312       784,  898,  783,  782,  781,  898,  899,  780,  779,  899,
    1313       777,  899,  899,  899,  899,  899,  900,  776,  900,  775,
    1314       774,  767,  900,  901,  765,  901,  753,  752,  751,  901,
    1315 
    1316       902,  750,  902,  749,  748,  747,  902,  903,  746,  903,
    1317       745,  742,  741,  903,  904,  740,  904,  734,  730,  729,
    1318       904,  905,  727,  905,  726,  709,  701,  905,  906,  698,
    1319       906,  693,  691,  687,  906,  907,  677,  907,  673,  671,
    1320       669,  907,  908,  666,  908,  663,  662,  661,  908,  909,
    1321       909,  909,  909,  909,  909,  909,  909,  909,  909,  909,
    1322       909,  909,  910,  660,  910,  911,  911,  659,  911,  911,
    1323       911,  658,  911,  912,  912,  655,  912,  913,  654,  913,
    1324       652,  649,  648,  913,  914,  647,  914,  643,  616,  612,
    1325       914,  915,  610,  915,  608,  606,  604,  915,  916,  598,
    1326 
    1327       916,  917,  592,  917,  590,  588,  586,  917,  918,  584,
    1328       918,  919,  582,  580,  919,  578,  919,  919,  919,  919,
    1329       919,  920,  920,  920,  920,  920,  920,  920,  920,  920,
    1330       920,  920,  920,  920,  921,  921,  921,  921,  921,  921,
    1331       921,  921,  921,  921,  921,  921,  921,  922,  577,  922,
    1332       576,  573,  570,  922,  923,  563,  923,  559,  556,  553,
    1333       923,  924,  548,  924,  543,  540,  517,  924,  925,  513,
    1334       925,  926,  511,  926,  509,  507,  505,  926,  927,  503,
    1335       927,  928,  502,  928,  501,  500,  489,  928,  929,  486,
    1336       929,  930,  484,  930,  483,  482,  480,  930,  931,  478,
    1337 
    1338       931,  932,  475,  932,  473,  471,  469,  932,  933,  465,
    1339       933,  934,  448,  934,  446,  438,  436,  934,  935,  428,
    1340       935,  936,  426,  936,  424,  398,  396,  936,  937,  394,
    1341       937,  938,  392,  938,  391,  938,  390,  938,  939,  377,
    1342       939,  367,  939,  365,  939,  940,  940,  364,  940,  940,
    1343       940,  360,  940,  941,  358,  941,  356,  354,  350,  941,
    1344       942,  348,  942,  347,  346,  336,  942,  943,  321,  943,
    1345       298,  277,  275,  943,  944,  273,  944,  945,  272,  945,
    1346       271,  269,  268,  945,  946,  263,  946,  947,  259,  947,
    1347       258,  254,  251,  947,  948,  250,  948,  949,  239,  949,
    1348 
    1349       238,  231,  230,  949,  950,  227,  950,  951,  217,  215,
    1350       951,  214,  951,  951,  951,  951,  951,  952,  952,  952,
    1351       952,  952,  952,  952,  952,  952,  952,  952,  952,  952,
    1352       953,  213,  953,  207,  206,  204,  953,  954,  199,  954,
    1353       955,  178,  955,  149,  147,  146,  955,  956,  140,  956,
    1354       957,  138,  957,  136,  128,  125,  957,  958,  124,  958,
    1355       959,  120,  959,  101,   98,   95,  959,  960,   93,  960,
    1356       961,   86,  961,   72,   70,   66,  961,  962,   36,  962,
    1357       963,   33,  963,   18,   11,    4,  963,  964,    3,  964,
    1358       965,    0,  965,    0,    0,    0,  965,  966,    0,  966,
    1359 
    1360         0,    0,    0,  966,  967,    0,  967,  968,    0,  968,
    1361         0,    0,    0,  968,  969,    0,  969,  970,    0,  970,
    1362         0,  970,    0,  970,  971,    0,  971,    0,    0,    0,
    1363       971,  972,    0,  972,    0,    0,    0,  972,  973,    0,
    1364       973,  974,    0,  974,    0,    0,    0,  974,  975,    0,
    1365       975,  976,    0,  976,    0,    0,    0,  976,  977,    0,
    1366       977,  978,    0,  978,    0,    0,    0,  978,  979,    0,
    1367       979,  980,    0,  980,    0,    0,    0,  980,  981,    0,
    1368       981,  982,    0,  982,    0,    0,    0,  982,  983,    0,
    1369       983,  984,    0,    0,  984,    0,  984,  984,  984,  984,
    1370 
    1371       984,  985,  985,  985,  985,  985,  985,  985,  985,  985,
    1372       985,  985,  985,  985,  986,    0,  986,    0,    0,    0,
    1373       986,  987,    0,  987,  988,    0,  988,    0,    0,    0,
    1374       988,  989,    0,  989,  990,    0,  990,    0,    0,    0,
    1375       990,  991,    0,  991,  992,    0,  992,    0,    0,    0,
    1376       992,  993,    0,  993,  994,    0,  994,    0,    0,    0,
    1377       994,  995,    0,  995,  996,    0,  996,    0,    0,    0,
    1378       996,  997,    0,  997,  998,    0,  998,    0,    0,    0,
    1379       998,  999,    0,  999, 1000,    0, 1000,    0,    0,    0,
    1380      1000, 1001,    0, 1001, 1002,    0, 1002,    0,    0,    0,
    1381 
    1382      1002, 1003,    0, 1003,    0,    0,    0, 1003, 1004,    0,
    1383      1004, 1005,    0, 1005,    0,    0,    0, 1005, 1006,    0,
    1384      1006, 1007,    0, 1007,    0,    0,    0, 1007, 1008,    0,
    1385      1008, 1009,    0, 1009,    0,    0,    0, 1009, 1010,    0,
    1386      1010, 1011,    0, 1011, 1012,    0, 1012, 1013,    0,    0,
    1387      1013,    0, 1013, 1013, 1013, 1013, 1013, 1014,    0, 1014,
    1388      1015, 1015, 1015, 1015, 1015, 1015, 1015, 1015, 1015, 1015,
    1389      1015, 1015, 1015, 1016,    0, 1016,    0,    0,    0, 1016,
    1390      1017,    0, 1017, 1018,    0, 1018,    0,    0,    0, 1018,
    1391      1019,    0, 1019, 1020,    0, 1020, 1021,    0, 1021, 1022,
    1392 
    1393         0,    0, 1022,    0, 1022, 1022, 1022, 1022, 1022, 1023,
    1394         0, 1023, 1024,    0, 1024, 1025,    0, 1025, 1026,    0,
    1395      1026, 1027,    0, 1027, 1028,    0, 1028, 1029,    0, 1029,
    1396      1030,    0, 1030,    0,    0,    0, 1030, 1031,    0, 1031,
    1397      1032,    0, 1032,    0,    0,    0, 1032, 1033,    0, 1033,
    1398      1034,    0, 1034, 1035,    0, 1035, 1036,    0, 1036, 1037,
    1399         0, 1037,    0,    0,    0, 1037, 1038,    0,    0, 1038,
    1400         0, 1038, 1038, 1038, 1038, 1038, 1039,    0, 1039, 1040,
    1401         0, 1040, 1041,    0, 1041, 1042,    0, 1042,    0,    0,
    1402         0, 1042, 1043,    0, 1043,    0,    0,    0, 1043, 1044,
    1403 
    1404         0, 1044,    0,    0,    0, 1044, 1045,    0, 1045, 1046,
    1405         0, 1046,    0,    0,    0, 1046, 1047,    0, 1047,    0,
    1406         0,    0, 1047, 1048,    0, 1048,    0,    0,    0, 1048,
    1407      1049,    0, 1049,    0,    0,    0, 1049, 1050,    0, 1050,
    1408         0,    0,    0, 1050, 1051,    0, 1051,    0,    0,    0,
    1409      1051, 1052,    0, 1052,    0,    0,    0, 1052, 1053,    0,
    1410      1053,    0,    0,    0, 1053, 1054,    0, 1054,    0,    0,
    1411         0, 1054, 1055,    0, 1055,    0,    0,    0, 1055, 1056,
    1412         0, 1056,    0,    0,    0, 1056, 1057,    0, 1057,    0,
    1413         0,    0, 1057, 1058,    0, 1058,    0,    0,    0, 1058,
    1414 
    1415      1059,    0, 1059,    0,    0,    0, 1059, 1060,    0, 1060,
    1416         0,    0,    0, 1060, 1061,    0, 1061,    0,    0,    0,
    1417      1061,  887,  887,  887,  887,  887,  887,  887,  887,  887,
    1418       887,  887,  887,  887,  887,  887,  887,  887,  887,  887,
    1419       887,  887,  887,  887,  887,  887,  887,  887,  887,  887,
    1420       887,  887,  887,  887,  887,  887,  887,  887,  887,  887,
    1421       887,  887,  887,  887,  887,  887,  887,  887,  887,  887,
    1422       887,  887,  887,  887,  887,  887,  887,  887,  887,  887,
    1423       887,  887,  887,  887,  887,  887,  887,  887,  887,  887,
    1424       887,  887,  887,  887,  887,  887,  887,  887,  887,  887,
    1425 
    1426       887,  887,  887,  887,  887,  887,  887
     1418      888,  888,  888,  888,  888,  888,  888,  888,  888,  888,
     1419      888,  888,  888,  888,  888,  888,  888,  888,  888,  888,
     1420      888,  888,  888,  888,  888,  888,  888,  888,  888,  888,
     1421      888,  888,  888,  888,  888,  888,  888,  888,  888,  888,
     1422      888,  888,  888,  888,  888,  888,  888,  888,  888,  888,
     1423      888,  888,  888,  888,  888,  888,  888,  888,  888,  888,
     1424      888,  888,  888,  888,  888,  888,  888,  888,  888,  888,
     1425
     1426      888,  888
    14271427    } ;
    14281428
    14291429/* Table of booleans, true if rule could match eol. */
    1430 static yyconst flex_int32_t yy_rule_can_match_eol[181] =
     1430static yyconst flex_int32_t yy_rule_can_match_eol[182] =
    14311431    {   0,
    143214321, 1, 0, 1, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
     
    14391439    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    14401440    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    1441     0,     };
     1441    0, 0,     };
    14421442
    14431443static yy_state_type yy_last_accepting_state;
     
    14671467 * Created On       : Sat Sep 22 08:58:10 2001
    14681468 * Last Modified By : Peter A. Buhr
    1469  * Last Modified On : Mon Mar 21 23:33:46 2016
    1470  * Update Count     : 450
     1469 * Last Modified On : Mon Jun  6 18:08:27 2016
     1470 * Update Count     : 451
    14711471 */
    14721472#line 20 "lex.ll"
     
    17771777                                {
    17781778                                yy_current_state = (int) yy_def[yy_current_state];
    1779                                 if ( yy_current_state >= 888 )
     1779                                if ( yy_current_state >= 889 )
    17801780                                        yy_c = yy_meta[(unsigned int) yy_c];
    17811781                                }
     
    17831783                        ++yy_cp;
    17841784                        }
    1785                 while ( yy_base[yy_current_state] != 2822 );
     1785                while ( yy_base[yy_current_state] != 2817 );
    17861786
    17871787yy_find_action:
     
    27252725{ NAMEDOP_RETURN(ATassign); }
    27262726        YY_BREAK
     2727case 174:
     2728YY_RULE_SETUP
     2729#line 364 "lex.ll"
     2730{ NAMEDOP_RETURN(REFassign); }
     2731        YY_BREAK
    27272732/* CFA, operator identifier */
    2728 case 174:
    2729 YY_RULE_SETUP
    2730 #line 366 "lex.ll"
     2733case 175:
     2734YY_RULE_SETUP
     2735#line 367 "lex.ll"
    27312736{ IDENTIFIER_RETURN(); }                                // unary
    2732         YY_BREAK
    2733 case 175:
    2734 YY_RULE_SETUP
    2735 #line 367 "lex.ll"
    2736 { IDENTIFIER_RETURN(); }
    27372737        YY_BREAK
    27382738case 176:
     
    27442744YY_RULE_SETUP
    27452745#line 369 "lex.ll"
     2746{ IDENTIFIER_RETURN(); }
     2747        YY_BREAK
     2748case 178:
     2749YY_RULE_SETUP
     2750#line 370 "lex.ll"
    27462751{ IDENTIFIER_RETURN(); }                // binary
    27472752        YY_BREAK
     
    27722777          an argument list.
    27732778        */
    2774 case 178:
    2775 YY_RULE_SETUP
    2776 #line 396 "lex.ll"
     2779case 179:
     2780YY_RULE_SETUP
     2781#line 397 "lex.ll"
    27772782{
    27782783        // 1 or 2 character unary operator ?
     
    27872792        YY_BREAK
    27882793/* unknown characters */
    2789 case 179:
    2790 YY_RULE_SETUP
    2791 #line 408 "lex.ll"
     2794case 180:
     2795YY_RULE_SETUP
     2796#line 409 "lex.ll"
    27922797{ printf("unknown character(s):\"%s\" on line %d\n", yytext, yylineno); }
    27932798        YY_BREAK
    2794 case 180:
    2795 YY_RULE_SETUP
    2796 #line 410 "lex.ll"
     2799case 181:
     2800YY_RULE_SETUP
     2801#line 411 "lex.ll"
    27972802ECHO;
    27982803        YY_BREAK
    2799 #line 2800 "Parser/lex.cc"
     2804#line 2805 "Parser/lex.cc"
    28002805case YY_STATE_EOF(INITIAL):
    28012806case YY_STATE_EOF(COMMENT):
     
    30943099                        {
    30953100                        yy_current_state = (int) yy_def[yy_current_state];
    3096                         if ( yy_current_state >= 888 )
     3101                        if ( yy_current_state >= 889 )
    30973102                                yy_c = yy_meta[(unsigned int) yy_c];
    30983103                        }
     
    31223127                {
    31233128                yy_current_state = (int) yy_def[yy_current_state];
    3124                 if ( yy_current_state >= 888 )
     3129                if ( yy_current_state >= 889 )
    31253130                        yy_c = yy_meta[(unsigned int) yy_c];
    31263131                }
    31273132        yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
    3128         yy_is_jam = (yy_current_state == 887);
     3133        yy_is_jam = (yy_current_state == 888);
    31293134
    31303135        return yy_is_jam ? 0 : yy_current_state;
     
    37723777#define YYTABLES_NAME "yytables"
    37733778
    3774 #line 410 "lex.ll"
     3779#line 411 "lex.ll"
    37753780
    37763781
  • src/Parser/lex.ll

    rd5f1cfc rdd51906  
    1010 * Created On       : Sat Sep 22 08:58:10 2001
    1111 * Last Modified By : Peter A. Buhr
    12  * Last Modified On : Mon Mar 21 23:33:46 2016
    13  * Update Count     : 450
     12 * Last Modified On : Mon Jun  6 18:08:27 2016
     13 * Update Count     : 451
    1414 */
    1515
     
    362362
    363363"@="                    { NAMEDOP_RETURN(ATassign); }
     364":="                    { NAMEDOP_RETURN(REFassign); }
    364365
    365366                                /* CFA, operator identifier */
  • src/Parser/parser.cc

    rd5f1cfc rdd51906  
    223223     ORassign = 361,
    224224     ATassign = 362,
    225      THEN = 363
     225     REFassign = 363,
     226     THEN = 364
    226227   };
    227228#endif
     
    332333#define ORassign 361
    333334#define ATassign 362
    334 #define THEN 363
     335#define REFassign 363
     336#define THEN 364
    335337
    336338
     
    359361
    360362/* Line 293 of yacc.c  */
    361 #line 362 "Parser/parser.cc"
     363#line 364 "Parser/parser.cc"
    362364} YYSTYPE;
    363365# define YYSTYPE_IS_TRIVIAL 1
     
    371373
    372374/* Line 343 of yacc.c  */
    373 #line 374 "Parser/parser.cc"
     375#line 376 "Parser/parser.cc"
    374376
    375377#ifdef short
     
    588590
    589591/* YYFINAL -- State number of the termination state.  */
    590 #define YYFINAL  249
     592#define YYFINAL  251
    591593/* YYLAST -- Last index in YYTABLE.  */
    592 #define YYLAST   11449
     594#define YYLAST   11311
    593595
    594596/* YYNTOKENS -- Number of terminals.  */
    595 #define YYNTOKENS  133
     597#define YYNTOKENS  134
    596598/* YYNNTS -- Number of nonterminals.  */
    597 #define YYNNTS  240
     599#define YYNNTS  241
    598600/* YYNRULES -- Number of rules.  */
    599 #define YYNRULES  754
     601#define YYNRULES  756
    600602/* YYNRULES -- Number of states.  */
    601 #define YYNSTATES  1581
     603#define YYNSTATES  1583
    602604
    603605/* YYTRANSLATE(YYLEX) -- Bison symbol number corresponding to YYLEX.  */
    604606#define YYUNDEFTOK  2
    605 #define YYMAXUTOK   363
     607#define YYMAXUTOK   364
    606608
    607609#define YYTRANSLATE(YYX)                                                \
     
    614616       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
    615617       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
    616        2,     2,     2,   118,     2,     2,     2,   125,   120,     2,
    617      109,   110,   119,   121,   116,   122,   113,   124,     2,     2,
    618        2,     2,     2,     2,     2,     2,     2,     2,   117,   132,
    619      126,   131,   127,   130,     2,     2,     2,     2,     2,     2,
     618       2,     2,     2,   123,     2,     2,     2,   126,   120,     2,
     619     110,   111,   119,   121,   117,   122,   114,   125,     2,     2,
     620       2,     2,     2,     2,     2,     2,     2,     2,   118,   133,
     621     127,   132,   128,   131,     2,     2,     2,     2,     2,     2,
    620622       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
    621623       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
    622        2,   111,     2,   112,   128,     2,     2,     2,     2,     2,
     624       2,   112,     2,   113,   129,     2,     2,     2,     2,     2,
    623625       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
    624626       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
    625        2,     2,     2,   114,   129,   115,   123,     2,     2,     2,
     627       2,     2,     2,   115,   130,   116,   124,     2,     2,     2,
    626628       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
    627629       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
     
    647649      85,    86,    87,    88,    89,    90,    91,    92,    93,    94,
    648650      95,    96,    97,    98,    99,   100,   101,   102,   103,   104,
    649      105,   106,   107,   108
     651     105,   106,   107,   108,   109
    650652};
    651653
     
    660662      87,    90,    98,   103,   105,   109,   110,   112,   116,   124,
    661663     134,   136,   140,   142,   146,   154,   158,   166,   168,   170,
    662      172,   175,   178,   181,   184,   187,   190,   193,   198,   205,
    663      207,   212,   217,   220,   225,   228,   230,   232,   234,   236,
    664      238,   243,   248,   250,   254,   258,   262,   264,   268,   272,
    665      274,   278,   282,   284,   288,   292,   296,   300,   302,   306,
    666      310,   312,   316,   318,   322,   324,   328,   330,   334,   336,
    667      340,   342,   348,   353,   359,   361,   363,   367,   371,   374,
    668      375,   377,   380,   386,   393,   401,   403,   407,   409,   411,
    669      413,   415,   417,   419,   421,   423,   425,   427,   429,   433,
    670      434,   436,   438,   440,   442,   444,   446,   448,   450,   452,
    671      459,   464,   467,   475,   477,   481,   483,   486,   488,   491,
    672      493,   496,   499,   505,   513,   519,   529,   535,   545,   547,
    673      551,   553,   555,   559,   563,   566,   568,   571,   574,   575,
    674      577,   580,   584,   585,   587,   590,   594,   598,   603,   604,
    675      606,   608,   611,   617,   625,   632,   639,   644,   648,   653,
    676      656,   660,   663,   667,   671,   675,   679,   685,   689,   693,
    677      698,   700,   706,   713,   719,   726,   736,   747,   757,   768,
    678      771,   773,   776,   779,   782,   784,   791,   800,   811,   824,
    679      839,   840,   842,   843,   845,   847,   851,   856,   864,   865,
    680      867,   871,   873,   877,   879,   881,   883,   887,   889,   891,
    681      893,   897,   898,   900,   904,   909,   911,   915,   917,   919,
    682      923,   927,   931,   935,   939,   942,   946,   953,   957,   961,
    683      966,   968,   971,   974,   978,   984,   993,  1001,  1009,  1015,
    684     1025,  1028,  1031,  1037,  1041,  1047,  1052,  1056,  1061,  1066,
    685     1074,  1078,  1082,  1086,  1090,  1095,  1102,  1104,  1106,  1108,
    686     1110,  1112,  1114,  1116,  1118,  1119,  1121,  1123,  1126,  1128,
    687     1130,  1132,  1134,  1136,  1138,  1140,  1141,  1147,  1149,  1152,
    688     1156,  1158,  1161,  1163,  1165,  1167,  1169,  1171,  1173,  1175,
    689     1177,  1179,  1181,  1183,  1185,  1187,  1189,  1191,  1193,  1195,
    690     1197,  1199,  1201,  1203,  1205,  1207,  1210,  1213,  1217,  1221,
    691     1223,  1227,  1229,  1232,  1235,  1238,  1243,  1248,  1253,  1258,
    692     1260,  1263,  1266,  1270,  1272,  1275,  1278,  1280,  1283,  1286,
    693     1290,  1292,  1295,  1298,  1300,  1302,  1307,  1310,  1311,  1318,
    694     1326,  1329,  1332,  1335,  1337,  1340,  1343,  1347,  1350,  1354,
    695     1356,  1359,  1363,  1366,  1369,  1374,  1375,  1377,  1380,  1383,
    696     1385,  1386,  1388,  1391,  1394,  1400,  1403,  1404,  1412,  1415,
    697     1420,  1421,  1424,  1425,  1427,  1429,  1431,  1437,  1443,  1449,
    698     1451,  1457,  1463,  1473,  1475,  1481,  1482,  1484,  1486,  1492,
    699     1494,  1496,  1502,  1508,  1510,  1514,  1518,  1523,  1525,  1527,
    700     1529,  1531,  1534,  1536,  1540,  1544,  1546,  1549,  1551,  1555,
    701     1557,  1559,  1561,  1563,  1565,  1567,  1569,  1571,  1573,  1575,
    702     1577,  1580,  1582,  1584,  1586,  1589,  1590,  1593,  1596,  1598,
    703     1603,  1604,  1606,  1609,  1613,  1618,  1621,  1624,  1626,  1629,
    704     1631,  1634,  1640,  1646,  1654,  1661,  1663,  1666,  1669,  1673,
    705     1675,  1678,  1681,  1686,  1689,  1694,  1695,  1700,  1703,  1705,
    706     1707,  1709,  1710,  1713,  1719,  1725,  1739,  1741,  1743,  1747,
    707     1751,  1754,  1758,  1762,  1765,  1770,  1772,  1779,  1789,  1790,
    708     1802,  1804,  1808,  1812,  1816,  1818,  1820,  1826,  1829,  1835,
    709     1836,  1838,  1840,  1844,  1845,  1847,  1849,  1851,  1853,  1854,
    710     1861,  1864,  1866,  1869,  1874,  1877,  1881,  1885,  1889,  1894,
    711     1900,  1906,  1912,  1919,  1921,  1923,  1925,  1929,  1930,  1936,
    712     1937,  1939,  1941,  1944,  1951,  1953,  1957,  1958,  1960,  1965,
    713     1967,  1969,  1971,  1973,  1976,  1978,  1981,  1984,  1986,  1990,
    714     1993,  1997,  2001,  2004,  2009,  2014,  2018,  2027,  2031,  2034,
    715     2036,  2039,  2046,  2055,  2059,  2062,  2066,  2070,  2075,  2080,
    716     2084,  2086,  2088,  2090,  2095,  2102,  2106,  2109,  2113,  2117,
    717     2122,  2127,  2131,  2134,  2136,  2139,  2142,  2144,  2148,  2151,
    718     2155,  2159,  2162,  2167,  2172,  2176,  2183,  2192,  2196,  2199,
    719     2201,  2204,  2207,  2210,  2214,  2218,  2221,  2226,  2231,  2235,
    720     2242,  2251,  2255,  2258,  2260,  2263,  2266,  2268,  2270,  2273,
    721     2277,  2281,  2284,  2289,  2296,  2305,  2307,  2310,  2313,  2315,
    722     2318,  2321,  2325,  2329,  2331,  2336,  2341,  2345,  2351,  2360,
    723     2364,  2367,  2371,  2373,  2379,  2385,  2392,  2399,  2401,  2404,
    724     2407,  2409,  2412,  2415,  2419,  2423,  2425,  2430,  2435,  2439,
    725     2445,  2454,  2458,  2460,  2463,  2465,  2468,  2475,  2481,  2488,
    726     2496,  2504,  2506,  2509,  2512,  2514,  2517,  2520,  2524,  2528,
    727     2530,  2535,  2540,  2544,  2553,  2557,  2559,  2561,  2564,  2566,
    728     2568,  2571,  2575,  2578,  2582,  2585,  2589,  2593,  2596,  2601,
    729     2605,  2608,  2612,  2615,  2620,  2624,  2627,  2634,  2641,  2648,
    730     2656,  2658,  2661,  2663,  2665,  2667,  2670,  2674,  2677,  2681,
    731     2684,  2688,  2692,  2697,  2700,  2704,  2709,  2712,  2718,  2724,
    732     2731,  2738,  2739,  2741,  2742
     664     172,   175,   178,   181,   184,   187,   190,   195,   202,   204,
     665     209,   214,   217,   222,   225,   227,   229,   231,   233,   235,
     666     237,   239,   244,   249,   251,   255,   259,   263,   265,   269,
     667     273,   275,   279,   283,   285,   289,   293,   297,   301,   303,
     668     307,   311,   313,   317,   319,   323,   325,   329,   331,   335,
     669     337,   341,   343,   349,   354,   360,   362,   364,   368,   372,
     670     376,   379,   380,   382,   385,   391,   398,   406,   408,   412,
     671     414,   416,   418,   420,   422,   424,   426,   428,   430,   432,
     672     434,   438,   439,   441,   443,   445,   447,   449,   451,   453,
     673     455,   457,   464,   469,   472,   480,   482,   486,   488,   491,
     674     493,   496,   498,   501,   504,   510,   518,   524,   534,   540,
     675     550,   552,   556,   558,   560,   564,   568,   571,   573,   576,
     676     579,   580,   582,   585,   589,   590,   592,   595,   599,   603,
     677     608,   609,   611,   613,   616,   622,   630,   637,   644,   649,
     678     653,   658,   661,   665,   668,   672,   676,   680,   684,   690,
     679     694,   698,   703,   705,   711,   718,   724,   731,   741,   752,
     680     762,   773,   776,   778,   781,   784,   787,   789,   796,   805,
     681     816,   829,   844,   845,   847,   848,   850,   852,   856,   861,
     682     869,   870,   872,   876,   878,   882,   884,   886,   888,   892,
     683     894,   896,   898,   902,   903,   905,   909,   914,   916,   920,
     684     922,   924,   928,   932,   936,   940,   944,   947,   951,   958,
     685     962,   966,   971,   973,   976,   979,   983,   989,   998,  1006,
     686    1014,  1020,  1030,  1033,  1036,  1042,  1046,  1052,  1057,  1061,
     687    1066,  1071,  1079,  1083,  1087,  1091,  1095,  1100,  1107,  1109,
     688    1111,  1113,  1115,  1117,  1119,  1121,  1123,  1124,  1126,  1128,
     689    1131,  1133,  1135,  1137,  1139,  1141,  1143,  1145,  1146,  1152,
     690    1154,  1157,  1161,  1163,  1166,  1168,  1170,  1172,  1174,  1176,
     691    1178,  1180,  1182,  1184,  1186,  1188,  1190,  1192,  1194,  1196,
     692    1198,  1200,  1202,  1204,  1206,  1208,  1210,  1212,  1215,  1218,
     693    1222,  1226,  1228,  1232,  1234,  1237,  1240,  1243,  1248,  1253,
     694    1258,  1263,  1265,  1268,  1271,  1275,  1277,  1280,  1283,  1285,
     695    1288,  1291,  1295,  1297,  1300,  1303,  1305,  1307,  1312,  1315,
     696    1316,  1323,  1331,  1334,  1337,  1340,  1342,  1345,  1348,  1352,
     697    1355,  1359,  1361,  1364,  1368,  1371,  1374,  1379,  1380,  1382,
     698    1385,  1388,  1390,  1391,  1393,  1396,  1399,  1405,  1408,  1409,
     699    1417,  1420,  1425,  1426,  1429,  1430,  1432,  1434,  1436,  1442,
     700    1448,  1454,  1456,  1462,  1468,  1478,  1480,  1486,  1487,  1489,
     701    1491,  1497,  1499,  1501,  1507,  1513,  1515,  1519,  1523,  1528,
     702    1530,  1532,  1534,  1536,  1539,  1541,  1545,  1549,  1551,  1554,
     703    1556,  1560,  1562,  1564,  1566,  1568,  1570,  1572,  1574,  1576,
     704    1578,  1580,  1582,  1585,  1587,  1589,  1591,  1594,  1595,  1598,
     705    1601,  1603,  1608,  1609,  1611,  1614,  1618,  1623,  1626,  1629,
     706    1631,  1634,  1636,  1639,  1645,  1651,  1659,  1666,  1668,  1671,
     707    1674,  1678,  1680,  1683,  1686,  1691,  1694,  1699,  1700,  1705,
     708    1708,  1710,  1712,  1714,  1715,  1718,  1724,  1730,  1744,  1746,
     709    1748,  1752,  1756,  1759,  1763,  1767,  1770,  1775,  1777,  1784,
     710    1794,  1795,  1807,  1809,  1813,  1817,  1821,  1823,  1825,  1831,
     711    1834,  1840,  1841,  1843,  1845,  1849,  1850,  1852,  1854,  1856,
     712    1858,  1859,  1866,  1869,  1871,  1874,  1879,  1882,  1886,  1890,
     713    1894,  1899,  1905,  1911,  1917,  1924,  1926,  1928,  1930,  1934,
     714    1935,  1941,  1942,  1944,  1946,  1949,  1956,  1958,  1962,  1963,
     715    1965,  1970,  1972,  1974,  1976,  1978,  1981,  1983,  1986,  1989,
     716    1991,  1995,  1998,  2002,  2006,  2009,  2014,  2019,  2023,  2032,
     717    2036,  2039,  2041,  2044,  2051,  2060,  2064,  2067,  2071,  2075,
     718    2080,  2085,  2089,  2091,  2093,  2095,  2100,  2107,  2111,  2114,
     719    2118,  2122,  2127,  2132,  2136,  2139,  2141,  2144,  2147,  2149,
     720    2153,  2156,  2160,  2164,  2167,  2172,  2177,  2181,  2188,  2197,
     721    2201,  2204,  2206,  2209,  2212,  2215,  2219,  2223,  2226,  2231,
     722    2236,  2240,  2247,  2256,  2260,  2263,  2265,  2268,  2271,  2273,
     723    2275,  2278,  2282,  2286,  2289,  2294,  2301,  2310,  2312,  2315,
     724    2318,  2320,  2323,  2326,  2330,  2334,  2336,  2341,  2346,  2350,
     725    2356,  2365,  2369,  2372,  2376,  2378,  2384,  2390,  2397,  2404,
     726    2406,  2409,  2412,  2414,  2417,  2420,  2424,  2428,  2430,  2435,
     727    2440,  2444,  2450,  2459,  2463,  2465,  2468,  2470,  2473,  2480,
     728    2486,  2493,  2501,  2509,  2511,  2514,  2517,  2519,  2522,  2525,
     729    2529,  2533,  2535,  2540,  2545,  2549,  2558,  2562,  2564,  2566,
     730    2569,  2571,  2573,  2576,  2580,  2583,  2587,  2590,  2594,  2598,
     731    2601,  2606,  2610,  2613,  2617,  2620,  2625,  2629,  2632,  2639,
     732    2646,  2653,  2661,  2663,  2666,  2668,  2670,  2672,  2675,  2679,
     733    2682,  2686,  2689,  2693,  2697,  2702,  2705,  2709,  2714,  2717,
     734    2723,  2729,  2736,  2743,  2744,  2746,  2747
    733735};
    734736
     
    736738static const yytype_int16 yyrhs[] =
    737739{
    738      301,     0,    -1,    -1,    -1,    79,    -1,    80,    -1,    81,
    739       -1,    72,    -1,    76,    -1,   140,    -1,    72,    -1,    76,
    740       -1,    72,    -1,   140,    -1,    83,    -1,    84,    -1,    82,
    741       -1,   141,    82,    -1,    72,    -1,   140,    -1,   109,   168,
    742      110,    -1,   109,   172,   110,    -1,   142,    -1,   143,   111,
    743      134,   163,   135,   112,    -1,   143,   109,   144,   110,    -1,
    744      143,   113,   139,    -1,   143,   113,   111,   134,   146,   135,
    745      112,    -1,   143,    85,   139,    -1,   143,    85,   111,   134,
    746      146,   135,   112,    -1,   143,    86,    -1,   143,    87,    -1,
    747      109,   274,   110,   114,   278,   371,   115,    -1,   143,   114,
    748      144,   115,    -1,   145,    -1,   144,   116,   145,    -1,    -1,
    749      163,    -1,   139,   117,   163,    -1,   111,   134,   163,   135,
    750      112,   117,   163,    -1,   111,   134,   163,   116,   166,   135,
    751      112,   117,   163,    -1,   147,    -1,   146,   116,   147,    -1,
    752      139,    -1,   139,   113,   147,    -1,   139,   113,   111,   134,
    753      146,   135,   112,    -1,   139,    85,   147,    -1,   139,    85,
    754      111,   134,   146,   135,   112,    -1,   143,    -1,   136,    -1,
    755      141,    -1,    86,   148,    -1,    87,   148,    -1,    40,   150,
    756       -1,   149,   150,    -1,   118,   150,    -1,   119,   150,    -1,
    757       37,   148,    -1,    37,   109,   274,   110,    -1,    38,   109,
    758      274,   116,   139,   110,    -1,    76,    -1,    76,   109,   275,
    759      110,    -1,    76,   109,   145,   110,    -1,    66,   148,    -1,
    760       66,   109,   274,   110,    -1,    94,   139,    -1,   120,    -1,
    761      121,    -1,   122,    -1,   123,    -1,   148,    -1,   109,   274,
    762      110,   150,    -1,   109,   274,   110,   165,    -1,   150,    -1,
    763      151,   119,   150,    -1,   151,   124,   150,    -1,   151,   125,
    764      150,    -1,   151,    -1,   152,   121,   151,    -1,   152,   122,
    765      151,    -1,   152,    -1,   153,    88,   152,    -1,   153,    89,
    766      152,    -1,   153,    -1,   154,   126,   153,    -1,   154,   127,
    767      153,    -1,   154,    90,   153,    -1,   154,    91,   153,    -1,
    768      154,    -1,   155,    92,   154,    -1,   155,    93,   154,    -1,
    769      155,    -1,   156,   120,   155,    -1,   156,    -1,   157,   128,
    770      156,    -1,   157,    -1,   158,   129,   157,    -1,   158,    -1,
    771      159,    94,   158,    -1,   159,    -1,   160,    95,   159,    -1,
    772      160,    -1,   160,   130,   168,   117,   161,    -1,   160,   130,
    773      117,   161,    -1,   160,   130,   168,   117,   165,    -1,   161,
    774       -1,   161,    -1,   148,   131,   163,    -1,   148,   167,   163,
    775       -1,   165,   372,    -1,    -1,   163,    -1,   111,   112,    -1,
    776      111,   134,   163,   135,   112,    -1,   111,   134,   116,   166,
    777      135,   112,    -1,   111,   134,   163,   116,   166,   135,   112,
    778       -1,   164,    -1,   166,   116,   164,    -1,    97,    -1,    98,
    779       -1,    99,    -1,   100,    -1,   101,    -1,   102,    -1,   103,
    780       -1,   104,    -1,   105,    -1,   106,    -1,   163,    -1,   168,
    781      116,   163,    -1,    -1,   168,    -1,   171,    -1,   172,    -1,
    782      176,    -1,   177,    -1,   189,    -1,   191,    -1,   192,    -1,
    783      197,    -1,   128,   143,   114,   144,   115,   132,    -1,   139,
    784      117,   311,   170,    -1,   114,   115,    -1,   114,   134,   134,
    785      208,   173,   135,   115,    -1,   174,    -1,   173,   134,   174,
    786       -1,   211,    -1,    40,   211,    -1,   307,    -1,   170,   135,
    787       -1,   170,    -1,   175,   170,    -1,   169,   132,    -1,    41,
    788      109,   168,   110,   170,    -1,    41,   109,   168,   110,   170,
    789       42,   170,    -1,    43,   109,   168,   110,   182,    -1,    43,
    790      109,   168,   110,   114,   134,   204,   183,   115,    -1,    53,
    791      109,   168,   110,   182,    -1,    53,   109,   168,   110,   114,
    792      134,   204,   185,   115,    -1,   162,    -1,   162,    96,   162,
    793       -1,   309,    -1,   178,    -1,   179,   116,   178,    -1,    44,
    794      179,   117,    -1,    45,   117,    -1,   180,    -1,   181,   180,
    795       -1,   181,   170,    -1,    -1,   184,    -1,   181,   175,    -1,
    796      184,   181,   175,    -1,    -1,   186,    -1,   181,   188,    -1,
    797      181,   175,   187,    -1,   186,   181,   188,    -1,   186,   181,
    798      175,   187,    -1,    -1,   188,    -1,    56,    -1,    56,   132,
    799       -1,    47,   109,   168,   110,   170,    -1,    46,   170,    47,
    800      109,   168,   110,   132,    -1,    48,   109,   134,   190,   110,
    801      170,    -1,   169,   135,   132,   169,   132,   169,    -1,   211,
    802      169,   132,   169,    -1,    51,   139,   132,    -1,    51,   119,
    803      168,   132,    -1,    50,   132,    -1,    50,   139,   132,    -1,
    804       49,   132,    -1,    49,   139,   132,    -1,    52,   169,   132,
    805       -1,    61,   164,   132,    -1,    62,   164,   132,    -1,    62,
    806      164,    63,   163,   132,    -1,    57,   172,   193,    -1,    57,
    807      172,   195,    -1,    57,   172,   193,   195,    -1,   194,    -1,
    808       58,   109,    96,   110,   172,    -1,   194,    58,   109,    96,
    809      110,   172,    -1,    59,   109,    96,   110,   172,    -1,   194,
    810       59,   109,    96,   110,   172,    -1,    58,   109,   134,   134,
    811      196,   135,   110,   172,   135,    -1,   194,    58,   109,   134,
    812      134,   196,   135,   110,   172,   135,    -1,    59,   109,   134,
    813      134,   196,   135,   110,   172,   135,    -1,   194,    59,   109,
    814      134,   134,   196,   135,   110,   172,   135,    -1,    60,   172,
    815       -1,   224,    -1,   224,   308,    -1,   224,   356,    -1,   365,
    816      139,    -1,   365,    -1,    64,   198,   109,   141,   110,   132,
    817       -1,    64,   198,   109,   141,   117,   199,   110,   132,    -1,
    818       64,   198,   109,   141,   117,   199,   117,   199,   110,   132,
    819       -1,    64,   198,   109,   141,   117,   199,   117,   199,   117,
    820      202,   110,   132,    -1,    64,   198,    51,   109,   141,   117,
    821      117,   199,   117,   202,   117,   203,   110,   132,    -1,    -1,
    822       11,    -1,    -1,   200,    -1,   201,    -1,   200,   116,   201,
    823       -1,   141,   109,   162,   110,    -1,   111,   162,   112,   141,
    824      109,   162,   110,    -1,    -1,   141,    -1,   202,   116,   141,
    825       -1,   139,    -1,   203,   116,   139,    -1,   135,    -1,   205,
    826       -1,   211,    -1,   205,   134,   211,    -1,   135,    -1,   207,
    827       -1,   221,    -1,   207,   134,   221,    -1,    -1,   209,    -1,
    828       29,   210,   132,    -1,   209,    29,   210,   132,    -1,   273,
    829       -1,   210,   116,   273,    -1,   212,    -1,   221,    -1,   213,
    830      135,   132,    -1,   218,   135,   132,    -1,   215,   135,   132,
    831       -1,   292,   135,   132,    -1,   295,   135,   132,    -1,   214,
    832      276,    -1,   230,   214,   276,    -1,   213,   135,   116,   134,
    833      271,   276,    -1,   366,   271,   310,    -1,   369,   271,   310,
    834       -1,   226,   369,   271,   310,    -1,   216,    -1,   226,   216,
    835       -1,   230,   216,    -1,   230,   226,   216,    -1,   215,   135,
    836      116,   134,   271,    -1,   111,   112,   271,   109,   134,   259,
    837      135,   110,    -1,   369,   271,   109,   134,   259,   135,   110,
    838       -1,   217,   271,   109,   134,   259,   135,   110,    -1,   111,
    839      134,   261,   135,   112,    -1,   111,   134,   261,   135,   116,
    840      134,   262,   135,   112,    -1,     3,   214,    -1,     3,   216,
    841       -1,   218,   135,   116,   134,   139,    -1,     3,   224,   308,
    842       -1,   219,   135,   116,   134,   308,    -1,   226,     3,   224,
    843      308,    -1,   224,     3,   308,    -1,   224,     3,   226,   308,
    844       -1,     3,   139,   131,   163,    -1,   220,   135,   116,   134,
    845      139,   131,   163,    -1,   222,   135,   132,    -1,   219,   135,
    846      132,    -1,   220,   135,   132,    -1,   239,   135,   132,    -1,
    847      223,   308,   310,   276,    -1,   222,   116,   311,   308,   310,
    848      276,    -1,   235,    -1,   239,    -1,   241,    -1,   282,    -1,
    849      236,    -1,   240,    -1,   242,    -1,   283,    -1,    -1,   226,
    850       -1,   227,    -1,   226,   227,    -1,   228,    -1,   313,    -1,
    851       10,    -1,    12,    -1,    11,    -1,    14,    -1,    67,    -1,
    852       -1,    13,   109,   229,   285,   110,    -1,   231,    -1,   226,
    853      231,    -1,   230,   226,   231,    -1,   232,    -1,   231,   232,
    854       -1,   233,    -1,     5,    -1,     7,    -1,     4,    -1,     6,
    855       -1,     8,    -1,     9,    -1,    69,    -1,    71,    -1,    16,
    856       -1,    21,    -1,    20,    -1,    18,    -1,    19,    -1,    17,
    857       -1,    22,    -1,    23,    -1,    15,    -1,    25,    -1,    26,
    858       -1,    27,    -1,    24,    -1,   236,    -1,   230,   236,    -1,
    859      235,   232,    -1,   235,   232,   226,    -1,   235,   232,   236,
    860       -1,   237,    -1,   225,   238,   225,    -1,   234,    -1,   226,
    861      234,    -1,   237,   227,    -1,   237,   234,    -1,    28,   109,
    862      275,   110,    -1,    28,   109,   168,   110,    -1,    78,   109,
    863      275,   110,    -1,    78,   109,   168,   110,    -1,   240,    -1,
    864      230,   240,    -1,   239,   232,    -1,   239,   232,   226,    -1,
    865      243,    -1,   226,   243,    -1,   240,   227,    -1,   242,    -1,
    866      230,   242,    -1,   241,   232,    -1,   241,   232,   226,    -1,
    867       74,    -1,   226,    74,    -1,   242,   227,    -1,   244,    -1,
    868      255,    -1,   246,   114,   247,   115,    -1,   246,   273,    -1,
    869       -1,   246,   273,   245,   114,   247,   115,    -1,   246,   109,
    870      291,   110,   114,   247,   115,    -1,   246,   284,    -1,    31,
    871      311,    -1,    32,   311,    -1,   248,    -1,   247,   248,    -1,
    872      249,   132,    -1,    40,   249,   132,    -1,   250,   132,    -1,
    873       40,   250,   132,    -1,   365,    -1,   365,   273,    -1,   249,
    874      116,   273,    -1,   249,   116,    -1,   224,   251,    -1,   250,
    875      116,   311,   251,    -1,    -1,   253,    -1,   317,   252,    -1,
    876      330,   252,    -1,   356,    -1,    -1,   253,    -1,   117,   162,
    877       -1,    30,   311,    -1,   254,   114,   257,   371,   115,    -1,
    878      254,   273,    -1,    -1,   254,   273,   256,   114,   257,   371,
    879      115,    -1,   273,   258,    -1,   257,   116,   273,   258,    -1,
    880       -1,   131,   162,    -1,    -1,   260,    -1,   262,    -1,   261,
    881       -1,   261,   135,   116,   134,   262,    -1,   262,   135,   116,
    882      134,    96,    -1,   261,   135,   116,   134,    96,    -1,   266,
    883       -1,   262,   135,   116,   134,   266,    -1,   261,   135,   116,
    884      134,   266,    -1,   261,   135,   116,   134,   262,   135,   116,
    885      134,   266,    -1,   267,    -1,   262,   135,   116,   134,   267,
    886       -1,    -1,   264,    -1,   265,    -1,   265,   135,   116,   134,
    887       96,    -1,   269,    -1,   268,    -1,   265,   135,   116,   134,
    888      269,    -1,   265,   135,   116,   134,   268,    -1,   268,    -1,
    889      361,   271,   372,    -1,   369,   271,   372,    -1,   226,   369,
    890      271,   372,    -1,   216,    -1,   269,    -1,   361,    -1,   369,
    891       -1,   226,   369,    -1,   370,    -1,   223,   335,   372,    -1,
    892      223,   339,   372,    -1,   223,    -1,   223,   350,    -1,   139,
    893       -1,   270,   116,   139,    -1,   137,    -1,    74,    -1,    75,
    894       -1,   138,    -1,    74,    -1,    75,    -1,   139,    -1,    74,
    895       -1,    75,    -1,   365,    -1,   224,    -1,   224,   356,    -1,
    896      365,    -1,   370,    -1,   224,    -1,   224,   344,    -1,    -1,
    897      131,   277,    -1,   107,   277,    -1,   163,    -1,   114,   278,
    898      371,   115,    -1,    -1,   277,    -1,   279,   277,    -1,   278,
    899      116,   277,    -1,   278,   116,   279,   277,    -1,   280,   117,
    900       -1,   273,   117,    -1,   281,    -1,   280,   281,    -1,    80,
    901       -1,   113,   273,    -1,   111,   134,   163,   135,   112,    -1,
    902      111,   134,   309,   135,   112,    -1,   111,   134,   162,    96,
    903      162,   135,   112,    -1,   113,   111,   134,   146,   135,   112,
    904       -1,   283,    -1,   230,   283,    -1,   282,   232,    -1,   282,
    905      232,   226,    -1,   284,    -1,   226,   284,    -1,   283,   227,
    906       -1,    75,   109,   291,   110,    -1,   286,   372,    -1,   285,
    907      116,   286,   372,    -1,    -1,   288,   273,   287,   289,    -1,
    908      224,   335,    -1,    33,    -1,    35,    -1,    34,    -1,    -1,
    909      289,   290,    -1,   129,   273,   109,   291,   110,    -1,   129,
    910      114,   134,   297,   115,    -1,   129,   109,   134,   285,   135,
    911      110,   114,   134,   297,   115,   109,   291,   110,    -1,   275,
    912       -1,   163,    -1,   291,   116,   275,    -1,   291,   116,   163,
    913       -1,    33,   293,    -1,   231,    33,   293,    -1,   292,   116,
    914      293,    -1,   294,   289,    -1,   294,   289,   131,   275,    -1,
    915      273,    -1,   272,   109,   134,   285,   135,   110,    -1,    36,
    916      273,   109,   134,   285,   135,   110,   114,   115,    -1,    -1,
    917       36,   273,   109,   134,   285,   135,   110,   114,   296,   297,
    918      115,    -1,   298,    -1,   297,   134,   298,    -1,   299,   135,
    919      132,    -1,   300,   135,   132,    -1,   214,    -1,   216,    -1,
    920      299,   135,   116,   134,   271,    -1,   224,   308,    -1,   300,
    921      135,   116,   134,   308,    -1,    -1,   302,    -1,   304,    -1,
    922      302,   134,   304,    -1,    -1,   302,    -1,   211,    -1,   306,
    923       -1,   197,    -1,    -1,     5,    82,   305,   114,   303,   115,
    924       -1,    40,   304,    -1,   307,    -1,   322,   172,    -1,   326,
    925      134,   206,   172,    -1,   215,   172,    -1,   223,   322,   172,
    926       -1,   226,   322,   172,    -1,   230,   322,   172,    -1,   230,
    927      226,   322,   172,    -1,   223,   326,   134,   206,   172,    -1,
    928      226,   326,   134,   206,   172,    -1,   230,   326,   134,   206,
    929      172,    -1,   230,   226,   326,   134,   206,   172,    -1,   317,
    930       -1,   322,    -1,   330,    -1,   162,   123,   162,    -1,    -1,
    931       64,   109,   141,   110,   311,    -1,    -1,   312,    -1,   313,
    932       -1,   312,   313,    -1,    39,   109,   109,   314,   110,   110,
    933       -1,   315,    -1,   314,   116,   315,    -1,    -1,   316,    -1,
    934      316,   109,   169,   110,    -1,   271,    -1,   233,    -1,   234,
    935       -1,   227,    -1,   318,   311,    -1,   319,    -1,   320,   311,
    936       -1,   321,   311,    -1,   137,    -1,   109,   318,   110,    -1,
    937      119,   317,    -1,   119,   226,   317,    -1,   109,   319,   110,
    938       -1,   318,   348,    -1,   109,   319,   110,   348,    -1,   109,
    939      320,   110,   349,    -1,   109,   320,   110,    -1,   109,   319,
    940      110,   109,   134,   263,   135,   110,    -1,   109,   321,   110,
    941       -1,   323,   311,    -1,   324,    -1,   325,   311,    -1,   318,
    942      109,   134,   263,   135,   110,    -1,   109,   324,   110,   109,
    943      134,   263,   135,   110,    -1,   109,   323,   110,    -1,   119,
    944      322,    -1,   119,   226,   322,    -1,   109,   324,   110,    -1,
    945      109,   324,   110,   348,    -1,   109,   325,   110,   349,    -1,
    946      109,   325,   110,    -1,   327,    -1,   328,    -1,   329,    -1,
    947      318,   109,   270,   110,    -1,   109,   328,   110,   109,   270,
    948      110,    -1,   109,   327,   110,    -1,   119,   326,    -1,   119,
    949      226,   326,    -1,   109,   328,   110,    -1,   109,   328,   110,
    950      348,    -1,   109,   329,   110,   349,    -1,   109,   329,   110,
    951       -1,   331,   311,    -1,   332,    -1,   333,   311,    -1,   334,
    952      311,    -1,   340,    -1,   109,   331,   110,    -1,   119,   330,
    953       -1,   119,   226,   330,    -1,   109,   332,   110,    -1,   331,
    954      348,    -1,   109,   332,   110,   348,    -1,   109,   333,   110,
    955      349,    -1,   109,   333,   110,    -1,   331,   109,   134,   263,
    956      135,   110,    -1,   109,   332,   110,   109,   134,   263,   135,
    957      110,    -1,   109,   334,   110,    -1,   318,   311,    -1,   336,
    958       -1,   337,   311,    -1,   338,   311,    -1,   119,   335,    -1,
    959      119,   226,   335,    -1,   109,   336,   110,    -1,   318,   354,
    960       -1,   109,   336,   110,   348,    -1,   109,   337,   110,   349,
    961       -1,   109,   337,   110,    -1,   318,   109,   134,   263,   135,
    962      110,    -1,   109,   336,   110,   109,   134,   263,   135,   110,
    963       -1,   109,   338,   110,    -1,   340,   311,    -1,   341,    -1,
    964      342,   311,    -1,   343,   311,    -1,    74,    -1,    75,    -1,
    965      119,   339,    -1,   119,   226,   339,    -1,   109,   341,   110,
    966       -1,   340,   354,    -1,   109,   341,   110,   354,    -1,   340,
    967      109,   134,   263,   135,   110,    -1,   109,   341,   110,   109,
    968      134,   263,   135,   110,    -1,   345,    -1,   346,   311,    -1,
    969      347,   311,    -1,   119,    -1,   119,   226,    -1,   119,   344,
    970       -1,   119,   226,   344,    -1,   109,   345,   110,    -1,   348,
    971       -1,   109,   345,   110,   348,    -1,   109,   346,   110,   349,
    972       -1,   109,   346,   110,    -1,   109,   134,   263,   135,   110,
    973       -1,   109,   345,   110,   109,   134,   263,   135,   110,    -1,
    974      109,   347,   110,    -1,   111,   112,    -1,   111,   112,   349,
    975       -1,   349,    -1,   111,   134,   163,   135,   112,    -1,   111,
    976      134,   119,   135,   112,    -1,   349,   111,   134,   163,   135,
    977      112,    -1,   349,   111,   134,   119,   135,   112,    -1,   351,
    978       -1,   352,   311,    -1,   353,   311,    -1,   119,    -1,   119,
    979      226,    -1,   119,   350,    -1,   119,   226,   350,    -1,   109,
    980      351,   110,    -1,   354,    -1,   109,   351,   110,   354,    -1,
    981      109,   352,   110,   349,    -1,   109,   352,   110,    -1,   109,
    982      134,   263,   135,   110,    -1,   109,   351,   110,   109,   134,
    983      263,   135,   110,    -1,   109,   353,   110,    -1,   355,    -1,
    984      355,   349,    -1,   349,    -1,   111,   112,    -1,   111,   134,
    985      226,   119,   135,   112,    -1,   111,   134,   226,   135,   112,
    986       -1,   111,   134,   226,   163,   135,   112,    -1,   111,   134,
    987        7,   225,   163,   135,   112,    -1,   111,   134,   226,     7,
    988      163,   135,   112,    -1,   357,    -1,   358,   311,    -1,   359,
    989      311,    -1,   119,    -1,   119,   226,    -1,   119,   356,    -1,
    990      119,   226,   356,    -1,   109,   357,   110,    -1,   348,    -1,
    991      109,   357,   110,   348,    -1,   109,   358,   110,   349,    -1,
    992      109,   358,   110,    -1,   109,   357,   110,   109,   134,   263,
    993      135,   110,    -1,   109,   359,   110,    -1,   361,    -1,   369,
    994       -1,   226,   369,    -1,   362,    -1,   363,    -1,   119,   224,
    995       -1,   226,   119,   224,    -1,   119,   370,    -1,   226,   119,
    996      370,    -1,   119,   360,    -1,   226,   119,   360,    -1,   111,
    997      112,   224,    -1,   364,   224,    -1,   111,   112,   349,   224,
    998       -1,   364,   349,   224,    -1,   349,   224,    -1,   111,   112,
    999      362,    -1,   364,   362,    -1,   111,   112,   349,   362,    -1,
    1000      364,   349,   362,    -1,   349,   362,    -1,   111,   134,   226,
    1001      119,   135,   112,    -1,   111,   134,   226,   163,   135,   112,
    1002       -1,   111,   134,   230,   163,   135,   112,    -1,   111,   134,
    1003      230,   226,   163,   135,   112,    -1,   369,    -1,   226,   369,
    1004       -1,   366,    -1,   367,    -1,   368,    -1,   119,   224,    -1,
    1005      226,   119,   224,    -1,   119,   370,    -1,   226,   119,   370,
    1006       -1,   119,   365,    -1,   226,   119,   365,    -1,   111,   112,
    1007      224,    -1,   111,   112,   349,   224,    -1,   349,   224,    -1,
    1008      111,   112,   367,    -1,   111,   112,   349,   367,    -1,   349,
    1009      367,    -1,   111,   134,   262,   135,   112,    -1,   111,   112,
    1010      109,   259,   110,    -1,   369,   109,   134,   259,   135,   110,
    1011       -1,   217,   109,   134,   259,   135,   110,    -1,    -1,   116,
    1012       -1,    -1,   131,   163,    -1
     740     303,     0,    -1,    -1,    -1,    79,    -1,    80,    -1,    81,
     741      -1,    72,    -1,    76,    -1,   141,    -1,    72,    -1,    76,
     742      -1,    72,    -1,   141,    -1,    83,    -1,    84,    -1,    82,
     743      -1,   142,    82,    -1,    72,    -1,   141,    -1,   110,   170,
     744     111,    -1,   110,   174,   111,    -1,   143,    -1,   144,   112,
     745     135,   165,   136,   113,    -1,   144,   110,   145,   111,    -1,
     746     144,   114,   140,    -1,   144,   114,   112,   135,   147,   136,
     747     113,    -1,   144,    85,   140,    -1,   144,    85,   112,   135,
     748     147,   136,   113,    -1,   144,    86,    -1,   144,    87,    -1,
     749     110,   276,   111,   115,   280,   373,   116,    -1,   144,   115,
     750     145,   116,    -1,   146,    -1,   145,   117,   146,    -1,    -1,
     751     165,    -1,   140,   118,   165,    -1,   112,   135,   165,   136,
     752     113,   118,   165,    -1,   112,   135,   165,   117,   168,   136,
     753     113,   118,   165,    -1,   148,    -1,   147,   117,   148,    -1,
     754     140,    -1,   140,   114,   148,    -1,   140,   114,   112,   135,
     755     147,   136,   113,    -1,   140,    85,   148,    -1,   140,    85,
     756     112,   135,   147,   136,   113,    -1,   144,    -1,   137,    -1,
     757     142,    -1,    40,   152,    -1,   150,   152,    -1,   151,   152,
     758      -1,    86,   149,    -1,    87,   149,    -1,    37,   149,    -1,
     759      37,   110,   276,   111,    -1,    38,   110,   276,   117,   140,
     760     111,    -1,    76,    -1,    76,   110,   277,   111,    -1,    76,
     761     110,   146,   111,    -1,    66,   149,    -1,    66,   110,   276,
     762     111,    -1,    94,   140,    -1,   119,    -1,   120,    -1,   121,
     763      -1,   122,    -1,   123,    -1,   124,    -1,   149,    -1,   110,
     764     276,   111,   152,    -1,   110,   276,   111,   167,    -1,   152,
     765      -1,   153,   119,   152,    -1,   153,   125,   152,    -1,   153,
     766     126,   152,    -1,   153,    -1,   154,   121,   153,    -1,   154,
     767     122,   153,    -1,   154,    -1,   155,    88,   154,    -1,   155,
     768      89,   154,    -1,   155,    -1,   156,   127,   155,    -1,   156,
     769     128,   155,    -1,   156,    90,   155,    -1,   156,    91,   155,
     770      -1,   156,    -1,   157,    92,   156,    -1,   157,    93,   156,
     771      -1,   157,    -1,   158,   120,   157,    -1,   158,    -1,   159,
     772     129,   158,    -1,   159,    -1,   160,   130,   159,    -1,   160,
     773      -1,   161,    94,   160,    -1,   161,    -1,   162,    95,   161,
     774      -1,   162,    -1,   162,   131,   170,   118,   163,    -1,   162,
     775     131,   118,   163,    -1,   162,   131,   170,   118,   167,    -1,
     776     163,    -1,   163,    -1,   149,   132,   165,    -1,   149,   108,
     777     165,    -1,   149,   169,   165,    -1,   167,   374,    -1,    -1,
     778     165,    -1,   112,   113,    -1,   112,   135,   165,   136,   113,
     779      -1,   112,   135,   117,   168,   136,   113,    -1,   112,   135,
     780     165,   117,   168,   136,   113,    -1,   166,    -1,   168,   117,
     781     166,    -1,    97,    -1,    98,    -1,    99,    -1,   100,    -1,
     782     101,    -1,   102,    -1,   103,    -1,   104,    -1,   105,    -1,
     783     106,    -1,   165,    -1,   170,   117,   165,    -1,    -1,   170,
     784      -1,   173,    -1,   174,    -1,   178,    -1,   179,    -1,   191,
     785      -1,   193,    -1,   194,    -1,   199,    -1,   129,   144,   115,
     786     145,   116,   133,    -1,   140,   118,   313,   172,    -1,   115,
     787     116,    -1,   115,   135,   135,   210,   175,   136,   116,    -1,
     788     176,    -1,   175,   135,   176,    -1,   213,    -1,    40,   213,
     789      -1,   309,    -1,   172,   136,    -1,   172,    -1,   177,   172,
     790      -1,   171,   133,    -1,    41,   110,   170,   111,   172,    -1,
     791      41,   110,   170,   111,   172,    42,   172,    -1,    43,   110,
     792     170,   111,   184,    -1,    43,   110,   170,   111,   115,   135,
     793     206,   185,   116,    -1,    53,   110,   170,   111,   184,    -1,
     794      53,   110,   170,   111,   115,   135,   206,   187,   116,    -1,
     795     164,    -1,   164,    96,   164,    -1,   311,    -1,   180,    -1,
     796     181,   117,   180,    -1,    44,   181,   118,    -1,    45,   118,
     797      -1,   182,    -1,   183,   182,    -1,   183,   172,    -1,    -1,
     798     186,    -1,   183,   177,    -1,   186,   183,   177,    -1,    -1,
     799     188,    -1,   183,   190,    -1,   183,   177,   189,    -1,   188,
     800     183,   190,    -1,   188,   183,   177,   189,    -1,    -1,   190,
     801      -1,    56,    -1,    56,   133,    -1,    47,   110,   170,   111,
     802     172,    -1,    46,   172,    47,   110,   170,   111,   133,    -1,
     803      48,   110,   135,   192,   111,   172,    -1,   171,   136,   133,
     804     171,   133,   171,    -1,   213,   171,   133,   171,    -1,    51,
     805     140,   133,    -1,    51,   119,   170,   133,    -1,    50,   133,
     806      -1,    50,   140,   133,    -1,    49,   133,    -1,    49,   140,
     807     133,    -1,    52,   171,   133,    -1,    61,   166,   133,    -1,
     808      62,   166,   133,    -1,    62,   166,    63,   165,   133,    -1,
     809      57,   174,   195,    -1,    57,   174,   197,    -1,    57,   174,
     810     195,   197,    -1,   196,    -1,    58,   110,    96,   111,   174,
     811      -1,   196,    58,   110,    96,   111,   174,    -1,    59,   110,
     812      96,   111,   174,    -1,   196,    59,   110,    96,   111,   174,
     813      -1,    58,   110,   135,   135,   198,   136,   111,   174,   136,
     814      -1,   196,    58,   110,   135,   135,   198,   136,   111,   174,
     815     136,    -1,    59,   110,   135,   135,   198,   136,   111,   174,
     816     136,    -1,   196,    59,   110,   135,   135,   198,   136,   111,
     817     174,   136,    -1,    60,   174,    -1,   226,    -1,   226,   310,
     818      -1,   226,   358,    -1,   367,   140,    -1,   367,    -1,    64,
     819     200,   110,   142,   111,   133,    -1,    64,   200,   110,   142,
     820     118,   201,   111,   133,    -1,    64,   200,   110,   142,   118,
     821     201,   118,   201,   111,   133,    -1,    64,   200,   110,   142,
     822     118,   201,   118,   201,   118,   204,   111,   133,    -1,    64,
     823     200,    51,   110,   142,   118,   118,   201,   118,   204,   118,
     824     205,   111,   133,    -1,    -1,    11,    -1,    -1,   202,    -1,
     825     203,    -1,   202,   117,   203,    -1,   142,   110,   164,   111,
     826      -1,   112,   164,   113,   142,   110,   164,   111,    -1,    -1,
     827     142,    -1,   204,   117,   142,    -1,   140,    -1,   205,   117,
     828     140,    -1,   136,    -1,   207,    -1,   213,    -1,   207,   135,
     829     213,    -1,   136,    -1,   209,    -1,   223,    -1,   209,   135,
     830     223,    -1,    -1,   211,    -1,    29,   212,   133,    -1,   211,
     831      29,   212,   133,    -1,   275,    -1,   212,   117,   275,    -1,
     832     214,    -1,   223,    -1,   215,   136,   133,    -1,   220,   136,
     833     133,    -1,   217,   136,   133,    -1,   294,   136,   133,    -1,
     834     297,   136,   133,    -1,   216,   278,    -1,   232,   216,   278,
     835      -1,   215,   136,   117,   135,   273,   278,    -1,   368,   273,
     836     312,    -1,   371,   273,   312,    -1,   228,   371,   273,   312,
     837      -1,   218,    -1,   228,   218,    -1,   232,   218,    -1,   232,
     838     228,   218,    -1,   217,   136,   117,   135,   273,    -1,   112,
     839     113,   273,   110,   135,   261,   136,   111,    -1,   371,   273,
     840     110,   135,   261,   136,   111,    -1,   219,   273,   110,   135,
     841     261,   136,   111,    -1,   112,   135,   263,   136,   113,    -1,
     842     112,   135,   263,   136,   117,   135,   264,   136,   113,    -1,
     843       3,   216,    -1,     3,   218,    -1,   220,   136,   117,   135,
     844     140,    -1,     3,   226,   310,    -1,   221,   136,   117,   135,
     845     310,    -1,   228,     3,   226,   310,    -1,   226,     3,   310,
     846      -1,   226,     3,   228,   310,    -1,     3,   140,   132,   165,
     847      -1,   222,   136,   117,   135,   140,   132,   165,    -1,   224,
     848     136,   133,    -1,   221,   136,   133,    -1,   222,   136,   133,
     849      -1,   241,   136,   133,    -1,   225,   310,   312,   278,    -1,
     850     224,   117,   313,   310,   312,   278,    -1,   237,    -1,   241,
     851      -1,   243,    -1,   284,    -1,   238,    -1,   242,    -1,   244,
     852      -1,   285,    -1,    -1,   228,    -1,   229,    -1,   228,   229,
     853      -1,   230,    -1,   315,    -1,    10,    -1,    12,    -1,    11,
     854      -1,    14,    -1,    67,    -1,    -1,    13,   110,   231,   287,
     855     111,    -1,   233,    -1,   228,   233,    -1,   232,   228,   233,
     856      -1,   234,    -1,   233,   234,    -1,   235,    -1,     5,    -1,
     857       7,    -1,     4,    -1,     6,    -1,     8,    -1,     9,    -1,
     858      69,    -1,    71,    -1,    16,    -1,    21,    -1,    20,    -1,
     859      18,    -1,    19,    -1,    17,    -1,    22,    -1,    23,    -1,
     860      15,    -1,    25,    -1,    26,    -1,    27,    -1,    24,    -1,
     861     238,    -1,   232,   238,    -1,   237,   234,    -1,   237,   234,
     862     228,    -1,   237,   234,   238,    -1,   239,    -1,   227,   240,
     863     227,    -1,   236,    -1,   228,   236,    -1,   239,   229,    -1,
     864     239,   236,    -1,    28,   110,   277,   111,    -1,    28,   110,
     865     170,   111,    -1,    78,   110,   277,   111,    -1,    78,   110,
     866     170,   111,    -1,   242,    -1,   232,   242,    -1,   241,   234,
     867      -1,   241,   234,   228,    -1,   245,    -1,   228,   245,    -1,
     868     242,   229,    -1,   244,    -1,   232,   244,    -1,   243,   234,
     869      -1,   243,   234,   228,    -1,    74,    -1,   228,    74,    -1,
     870     244,   229,    -1,   246,    -1,   257,    -1,   248,   115,   249,
     871     116,    -1,   248,   275,    -1,    -1,   248,   275,   247,   115,
     872     249,   116,    -1,   248,   110,   293,   111,   115,   249,   116,
     873      -1,   248,   286,    -1,    31,   313,    -1,    32,   313,    -1,
     874     250,    -1,   249,   250,    -1,   251,   133,    -1,    40,   251,
     875     133,    -1,   252,   133,    -1,    40,   252,   133,    -1,   367,
     876      -1,   367,   275,    -1,   251,   117,   275,    -1,   251,   117,
     877      -1,   226,   253,    -1,   252,   117,   313,   253,    -1,    -1,
     878     255,    -1,   319,   254,    -1,   332,   254,    -1,   358,    -1,
     879      -1,   255,    -1,   118,   164,    -1,    30,   313,    -1,   256,
     880     115,   259,   373,   116,    -1,   256,   275,    -1,    -1,   256,
     881     275,   258,   115,   259,   373,   116,    -1,   275,   260,    -1,
     882     259,   117,   275,   260,    -1,    -1,   132,   164,    -1,    -1,
     883     262,    -1,   264,    -1,   263,    -1,   263,   136,   117,   135,
     884     264,    -1,   264,   136,   117,   135,    96,    -1,   263,   136,
     885     117,   135,    96,    -1,   268,    -1,   264,   136,   117,   135,
     886     268,    -1,   263,   136,   117,   135,   268,    -1,   263,   136,
     887     117,   135,   264,   136,   117,   135,   268,    -1,   269,    -1,
     888     264,   136,   117,   135,   269,    -1,    -1,   266,    -1,   267,
     889      -1,   267,   136,   117,   135,    96,    -1,   271,    -1,   270,
     890      -1,   267,   136,   117,   135,   271,    -1,   267,   136,   117,
     891     135,   270,    -1,   270,    -1,   363,   273,   374,    -1,   371,
     892     273,   374,    -1,   228,   371,   273,   374,    -1,   218,    -1,
     893     271,    -1,   363,    -1,   371,    -1,   228,   371,    -1,   372,
     894      -1,   225,   337,   374,    -1,   225,   341,   374,    -1,   225,
     895      -1,   225,   352,    -1,   140,    -1,   272,   117,   140,    -1,
     896     138,    -1,    74,    -1,    75,    -1,   139,    -1,    74,    -1,
     897      75,    -1,   140,    -1,    74,    -1,    75,    -1,   367,    -1,
     898     226,    -1,   226,   358,    -1,   367,    -1,   372,    -1,   226,
     899      -1,   226,   346,    -1,    -1,   132,   279,    -1,   107,   279,
     900      -1,   165,    -1,   115,   280,   373,   116,    -1,    -1,   279,
     901      -1,   281,   279,    -1,   280,   117,   279,    -1,   280,   117,
     902     281,   279,    -1,   282,   118,    -1,   275,   118,    -1,   283,
     903      -1,   282,   283,    -1,    80,    -1,   114,   275,    -1,   112,
     904     135,   165,   136,   113,    -1,   112,   135,   311,   136,   113,
     905      -1,   112,   135,   164,    96,   164,   136,   113,    -1,   114,
     906     112,   135,   147,   136,   113,    -1,   285,    -1,   232,   285,
     907      -1,   284,   234,    -1,   284,   234,   228,    -1,   286,    -1,
     908     228,   286,    -1,   285,   229,    -1,    75,   110,   293,   111,
     909      -1,   288,   374,    -1,   287,   117,   288,   374,    -1,    -1,
     910     290,   275,   289,   291,    -1,   226,   337,    -1,    33,    -1,
     911      35,    -1,    34,    -1,    -1,   291,   292,    -1,   130,   275,
     912     110,   293,   111,    -1,   130,   115,   135,   299,   116,    -1,
     913     130,   110,   135,   287,   136,   111,   115,   135,   299,   116,
     914     110,   293,   111,    -1,   277,    -1,   165,    -1,   293,   117,
     915     277,    -1,   293,   117,   165,    -1,    33,   295,    -1,   233,
     916      33,   295,    -1,   294,   117,   295,    -1,   296,   291,    -1,
     917     296,   291,   132,   277,    -1,   275,    -1,   274,   110,   135,
     918     287,   136,   111,    -1,    36,   275,   110,   135,   287,   136,
     919     111,   115,   116,    -1,    -1,    36,   275,   110,   135,   287,
     920     136,   111,   115,   298,   299,   116,    -1,   300,    -1,   299,
     921     135,   300,    -1,   301,   136,   133,    -1,   302,   136,   133,
     922      -1,   216,    -1,   218,    -1,   301,   136,   117,   135,   273,
     923      -1,   226,   310,    -1,   302,   136,   117,   135,   310,    -1,
     924      -1,   304,    -1,   306,    -1,   304,   135,   306,    -1,    -1,
     925     304,    -1,   213,    -1,   308,    -1,   199,    -1,    -1,     5,
     926      82,   307,   115,   305,   116,    -1,    40,   306,    -1,   309,
     927      -1,   324,   174,    -1,   328,   135,   208,   174,    -1,   217,
     928     174,    -1,   225,   324,   174,    -1,   228,   324,   174,    -1,
     929     232,   324,   174,    -1,   232,   228,   324,   174,    -1,   225,
     930     328,   135,   208,   174,    -1,   228,   328,   135,   208,   174,
     931      -1,   232,   328,   135,   208,   174,    -1,   232,   228,   328,
     932     135,   208,   174,    -1,   319,    -1,   324,    -1,   332,    -1,
     933     164,   124,   164,    -1,    -1,    64,   110,   142,   111,   313,
     934      -1,    -1,   314,    -1,   315,    -1,   314,   315,    -1,    39,
     935     110,   110,   316,   111,   111,    -1,   317,    -1,   316,   117,
     936     317,    -1,    -1,   318,    -1,   318,   110,   171,   111,    -1,
     937     273,    -1,   235,    -1,   236,    -1,   229,    -1,   320,   313,
     938      -1,   321,    -1,   322,   313,    -1,   323,   313,    -1,   138,
     939      -1,   110,   320,   111,    -1,   150,   319,    -1,   150,   228,
     940     319,    -1,   110,   321,   111,    -1,   320,   350,    -1,   110,
     941     321,   111,   350,    -1,   110,   322,   111,   351,    -1,   110,
     942     322,   111,    -1,   110,   321,   111,   110,   135,   265,   136,
     943     111,    -1,   110,   323,   111,    -1,   325,   313,    -1,   326,
     944      -1,   327,   313,    -1,   320,   110,   135,   265,   136,   111,
     945      -1,   110,   326,   111,   110,   135,   265,   136,   111,    -1,
     946     110,   325,   111,    -1,   150,   324,    -1,   150,   228,   324,
     947      -1,   110,   326,   111,    -1,   110,   326,   111,   350,    -1,
     948     110,   327,   111,   351,    -1,   110,   327,   111,    -1,   329,
     949      -1,   330,    -1,   331,    -1,   320,   110,   272,   111,    -1,
     950     110,   330,   111,   110,   272,   111,    -1,   110,   329,   111,
     951      -1,   150,   328,    -1,   150,   228,   328,    -1,   110,   330,
     952     111,    -1,   110,   330,   111,   350,    -1,   110,   331,   111,
     953     351,    -1,   110,   331,   111,    -1,   333,   313,    -1,   334,
     954      -1,   335,   313,    -1,   336,   313,    -1,   342,    -1,   110,
     955     333,   111,    -1,   150,   332,    -1,   150,   228,   332,    -1,
     956     110,   334,   111,    -1,   333,   350,    -1,   110,   334,   111,
     957     350,    -1,   110,   335,   111,   351,    -1,   110,   335,   111,
     958      -1,   333,   110,   135,   265,   136,   111,    -1,   110,   334,
     959     111,   110,   135,   265,   136,   111,    -1,   110,   336,   111,
     960      -1,   320,   313,    -1,   338,    -1,   339,   313,    -1,   340,
     961     313,    -1,   150,   337,    -1,   150,   228,   337,    -1,   110,
     962     338,   111,    -1,   320,   356,    -1,   110,   338,   111,   350,
     963      -1,   110,   339,   111,   351,    -1,   110,   339,   111,    -1,
     964     320,   110,   135,   265,   136,   111,    -1,   110,   338,   111,
     965     110,   135,   265,   136,   111,    -1,   110,   340,   111,    -1,
     966     342,   313,    -1,   343,    -1,   344,   313,    -1,   345,   313,
     967      -1,    74,    -1,    75,    -1,   150,   341,    -1,   150,   228,
     968     341,    -1,   110,   343,   111,    -1,   342,   356,    -1,   110,
     969     343,   111,   356,    -1,   342,   110,   135,   265,   136,   111,
     970      -1,   110,   343,   111,   110,   135,   265,   136,   111,    -1,
     971     347,    -1,   348,   313,    -1,   349,   313,    -1,   150,    -1,
     972     150,   228,    -1,   150,   346,    -1,   150,   228,   346,    -1,
     973     110,   347,   111,    -1,   350,    -1,   110,   347,   111,   350,
     974      -1,   110,   348,   111,   351,    -1,   110,   348,   111,    -1,
     975     110,   135,   265,   136,   111,    -1,   110,   347,   111,   110,
     976     135,   265,   136,   111,    -1,   110,   349,   111,    -1,   112,
     977     113,    -1,   112,   113,   351,    -1,   351,    -1,   112,   135,
     978     165,   136,   113,    -1,   112,   135,   119,   136,   113,    -1,
     979     351,   112,   135,   165,   136,   113,    -1,   351,   112,   135,
     980     119,   136,   113,    -1,   353,    -1,   354,   313,    -1,   355,
     981     313,    -1,   150,    -1,   150,   228,    -1,   150,   352,    -1,
     982     150,   228,   352,    -1,   110,   353,   111,    -1,   356,    -1,
     983     110,   353,   111,   356,    -1,   110,   354,   111,   351,    -1,
     984     110,   354,   111,    -1,   110,   135,   265,   136,   111,    -1,
     985     110,   353,   111,   110,   135,   265,   136,   111,    -1,   110,
     986     355,   111,    -1,   357,    -1,   357,   351,    -1,   351,    -1,
     987     112,   113,    -1,   112,   135,   228,   119,   136,   113,    -1,
     988     112,   135,   228,   136,   113,    -1,   112,   135,   228,   165,
     989     136,   113,    -1,   112,   135,     7,   227,   165,   136,   113,
     990      -1,   112,   135,   228,     7,   165,   136,   113,    -1,   359,
     991      -1,   360,   313,    -1,   361,   313,    -1,   150,    -1,   150,
     992     228,    -1,   150,   358,    -1,   150,   228,   358,    -1,   110,
     993     359,   111,    -1,   350,    -1,   110,   359,   111,   350,    -1,
     994     110,   360,   111,   351,    -1,   110,   360,   111,    -1,   110,
     995     359,   111,   110,   135,   265,   136,   111,    -1,   110,   361,
     996     111,    -1,   363,    -1,   371,    -1,   228,   371,    -1,   364,
     997      -1,   365,    -1,   150,   226,    -1,   228,   150,   226,    -1,
     998     150,   372,    -1,   228,   150,   372,    -1,   150,   362,    -1,
     999     228,   150,   362,    -1,   112,   113,   226,    -1,   366,   226,
     1000      -1,   112,   113,   351,   226,    -1,   366,   351,   226,    -1,
     1001     351,   226,    -1,   112,   113,   364,    -1,   366,   364,    -1,
     1002     112,   113,   351,   364,    -1,   366,   351,   364,    -1,   351,
     1003     364,    -1,   112,   135,   228,   119,   136,   113,    -1,   112,
     1004     135,   228,   165,   136,   113,    -1,   112,   135,   232,   165,
     1005     136,   113,    -1,   112,   135,   232,   228,   165,   136,   113,
     1006      -1,   371,    -1,   228,   371,    -1,   368,    -1,   369,    -1,
     1007     370,    -1,   150,   226,    -1,   228,   150,   226,    -1,   150,
     1008     372,    -1,   228,   150,   372,    -1,   150,   367,    -1,   228,
     1009     150,   367,    -1,   112,   113,   226,    -1,   112,   113,   351,
     1010     226,    -1,   351,   226,    -1,   112,   113,   369,    -1,   112,
     1011     113,   351,   369,    -1,   351,   369,    -1,   112,   135,   264,
     1012     136,   113,    -1,   112,   113,   110,   261,   111,    -1,   371,
     1013     110,   135,   261,   136,   111,    -1,   219,   110,   135,   261,
     1014     136,   111,    -1,    -1,   117,    -1,    -1,   132,   165,    -1
    10131015};
    10141016
     
    10211023     371,   373,   375,   383,   384,   390,   391,   392,   397,   399,
    10221024     404,   405,   409,   413,   415,   417,   419,   424,   427,   429,
    1023      431,   433,   435,   437,   439,   441,   447,   449,   451,   453,
    1024      455,   457,   459,   461,   463,   468,   469,   470,   471,   475,
    1025      476,   478,   483,   484,   486,   488,   493,   494,   496,   501,
    1026      502,   504,   509,   510,   512,   514,   516,   521,   522,   524,
    1027      529,   530,   535,   536,   541,   542,   547,   548,   553,   554,
    1028      559,   560,   562,   564,   569,   574,   575,   577,   579,   585,
    1029      586,   592,   594,   596,   598,   603,   604,   609,   610,   611,
    1030      612,   613,   614,   615,   616,   617,   618,   622,   623,   629,
    1031      630,   636,   637,   638,   639,   640,   641,   642,   643,   644,
    1032      653,   660,   662,   672,   673,   678,   680,   682,   684,   688,
    1033      689,   694,   699,   702,   704,   706,   711,   713,   721,   722,
    1034      724,   728,   729,   734,   735,   740,   741,   745,   750,   751,
    1035      755,   757,   763,   764,   768,   770,   772,   774,   780,   781,
    1036      785,   786,   790,   792,   794,   799,   801,   806,   808,   812,
    1037      815,   819,   822,   826,   828,   832,   834,   841,   843,   845,
    1038      854,   856,   858,   860,   862,   867,   869,   871,   873,   878,
    1039      891,   892,   897,   899,   904,   908,   910,   912,   914,   916,
    1040      922,   923,   929,   930,   934,   935,   940,   942,   948,   949,
    1041      951,   956,   958,   965,   967,   971,   972,   977,   979,   983,
    1042      984,   988,   990,   994,   995,   999,  1000,  1004,  1005,  1020,
    1043     1021,  1022,  1023,  1024,  1028,  1033,  1040,  1050,  1055,  1060,
    1044     1068,  1073,  1078,  1083,  1088,  1096,  1118,  1123,  1130,  1132,
    1045     1139,  1144,  1149,  1160,  1165,  1170,  1175,  1180,  1189,  1194,
    1046     1202,  1203,  1204,  1205,  1211,  1216,  1224,  1225,  1226,  1227,
    1047     1231,  1232,  1233,  1234,  1239,  1240,  1249,  1250,  1255,  1256,
    1048     1261,  1263,  1265,  1267,  1269,  1272,  1271,  1283,  1284,  1286,
    1049     1296,  1297,  1302,  1306,  1308,  1310,  1312,  1314,  1316,  1318,
    1050     1320,  1325,  1327,  1329,  1331,  1333,  1335,  1337,  1339,  1341,
    1051     1343,  1345,  1347,  1349,  1355,  1356,  1358,  1360,  1362,  1367,
    1052     1368,  1374,  1375,  1377,  1379,  1384,  1386,  1388,  1390,  1395,
    1053     1396,  1398,  1400,  1405,  1406,  1408,  1413,  1414,  1416,  1418,
    1054     1423,  1425,  1427,  1432,  1433,  1437,  1439,  1445,  1444,  1448,
    1055     1450,  1455,  1457,  1462,  1464,  1469,  1470,  1472,  1473,  1478,
    1056     1479,  1481,  1483,  1488,  1490,  1496,  1497,  1499,  1502,  1505,
    1057     1510,  1511,  1516,  1521,  1525,  1527,  1533,  1532,  1539,  1541,
    1058     1547,  1548,  1556,  1557,  1561,  1562,  1563,  1565,  1567,  1574,
    1059     1575,  1577,  1579,  1584,  1585,  1591,  1592,  1596,  1597,  1602,
    1060     1603,  1604,  1606,  1614,  1615,  1617,  1620,  1622,  1626,  1627,
    1061     1628,  1630,  1632,  1636,  1641,  1649,  1650,  1659,  1661,  1666,
    1062     1667,  1668,  1672,  1673,  1674,  1678,  1679,  1680,  1684,  1685,
    1063     1686,  1691,  1692,  1693,  1694,  1700,  1701,  1703,  1708,  1709,
    1064     1714,  1715,  1716,  1717,  1718,  1733,  1734,  1739,  1740,  1748,
    1065     1750,  1752,  1755,  1757,  1759,  1782,  1783,  1785,  1787,  1792,
    1066     1793,  1795,  1800,  1805,  1806,  1812,  1811,  1815,  1819,  1821,
    1067     1823,  1829,  1830,  1835,  1840,  1842,  1847,  1849,  1850,  1852,
    1068     1857,  1859,  1861,  1866,  1868,  1873,  1878,  1886,  1892,  1891,
    1069     1905,  1906,  1911,  1912,  1916,  1921,  1926,  1934,  1939,  1950,
    1070     1951,  1962,  1963,  1969,  1970,  1974,  1975,  1976,  1979,  1978,
    1071     1989,  1994,  1999,  2005,  2014,  2020,  2026,  2032,  2038,  2046,
    1072     2052,  2060,  2066,  2075,  2076,  2077,  2081,  2085,  2087,  2092,
    1073     2093,  2097,  2098,  2103,  2109,  2110,  2113,  2115,  2116,  2120,
    1074     2121,  2122,  2123,  2157,  2159,  2160,  2162,  2167,  2172,  2177,
    1075     2179,  2181,  2186,  2188,  2190,  2192,  2197,  2199,  2209,  2211,
    1076     2212,  2217,  2219,  2221,  2226,  2228,  2230,  2235,  2237,  2239,
    1077     2248,  2249,  2250,  2254,  2256,  2258,  2263,  2265,  2267,  2272,
    1078     2274,  2276,  2291,  2293,  2294,  2296,  2301,  2302,  2307,  2309,
    1079     2311,  2316,  2318,  2320,  2322,  2327,  2329,  2331,  2341,  2343,
    1080     2344,  2346,  2351,  2353,  2355,  2360,  2362,  2364,  2366,  2371,
    1081     2373,  2375,  2406,  2408,  2409,  2411,  2416,  2421,  2429,  2431,
    1082     2433,  2438,  2440,  2445,  2447,  2461,  2462,  2464,  2469,  2471,
    1083     2473,  2475,  2477,  2482,  2483,  2485,  2487,  2492,  2494,  2496,
    1084     2502,  2504,  2506,  2510,  2512,  2514,  2516,  2530,  2531,  2533,
    1085     2538,  2540,  2542,  2544,  2546,  2551,  2552,  2554,  2556,  2561,
    1086     2563,  2565,  2571,  2572,  2574,  2583,  2586,  2588,  2591,  2593,
    1087     2595,  2608,  2609,  2611,  2616,  2618,  2620,  2622,  2624,  2629,
    1088     2630,  2632,  2634,  2639,  2641,  2649,  2650,  2651,  2656,  2657,
    1089     2661,  2663,  2665,  2667,  2669,  2671,  2678,  2680,  2682,  2684,
    1090     2686,  2688,  2690,  2692,  2694,  2696,  2701,  2703,  2705,  2710,
    1091     2736,  2737,  2739,  2743,  2744,  2748,  2750,  2752,  2754,  2756,
    1092     2758,  2765,  2767,  2769,  2771,  2773,  2775,  2780,  2785,  2787,
    1093     2789,  2807,  2809,  2814,  2815
     1025     431,   433,   438,   440,   442,   444,   446,   448,   450,   452,
     1026     454,   456,   458,   460,   465,   466,   470,   471,   472,   473,
     1027     477,   478,   480,   485,   486,   488,   490,   495,   496,   498,
     1028     503,   504,   506,   511,   512,   514,   516,   518,   523,   524,
     1029     526,   531,   532,   537,   538,   543,   544,   549,   550,   555,
     1030     556,   561,   562,   564,   566,   571,   576,   577,   579,   581,
     1031     583,   589,   590,   596,   598,   600,   602,   607,   608,   613,
     1032     614,   615,   616,   617,   618,   619,   620,   621,   622,   626,
     1033     627,   633,   634,   640,   641,   642,   643,   644,   645,   646,
     1034     647,   648,   657,   664,   666,   676,   677,   682,   684,   686,
     1035     688,   692,   693,   698,   703,   706,   708,   710,   715,   717,
     1036     725,   726,   728,   732,   733,   738,   739,   744,   745,   749,
     1037     754,   755,   759,   761,   767,   768,   772,   774,   776,   778,
     1038     784,   785,   789,   790,   794,   796,   798,   803,   805,   810,
     1039     812,   816,   819,   823,   826,   830,   832,   836,   838,   845,
     1040     847,   849,   858,   860,   862,   864,   866,   871,   873,   875,
     1041     877,   882,   895,   896,   901,   903,   908,   912,   914,   916,
     1042     918,   920,   926,   927,   933,   934,   938,   939,   944,   946,
     1043     952,   953,   955,   960,   962,   969,   971,   975,   976,   981,
     1044     983,   987,   988,   992,   994,   998,   999,  1003,  1004,  1008,
     1045    1009,  1024,  1025,  1026,  1027,  1028,  1032,  1037,  1044,  1054,
     1046    1059,  1064,  1072,  1077,  1082,  1087,  1092,  1100,  1122,  1127,
     1047    1134,  1136,  1143,  1148,  1153,  1164,  1169,  1174,  1179,  1184,
     1048    1193,  1198,  1206,  1207,  1208,  1209,  1215,  1220,  1228,  1229,
     1049    1230,  1231,  1235,  1236,  1237,  1238,  1243,  1244,  1253,  1254,
     1050    1259,  1260,  1265,  1267,  1269,  1271,  1273,  1276,  1275,  1287,
     1051    1288,  1290,  1300,  1301,  1306,  1310,  1312,  1314,  1316,  1318,
     1052    1320,  1322,  1324,  1329,  1331,  1333,  1335,  1337,  1339,  1341,
     1053    1343,  1345,  1347,  1349,  1351,  1353,  1359,  1360,  1362,  1364,
     1054    1366,  1371,  1372,  1378,  1379,  1381,  1383,  1388,  1390,  1392,
     1055    1394,  1399,  1400,  1402,  1404,  1409,  1410,  1412,  1417,  1418,
     1056    1420,  1422,  1427,  1429,  1431,  1436,  1437,  1441,  1443,  1449,
     1057    1448,  1452,  1454,  1459,  1461,  1466,  1468,  1473,  1474,  1476,
     1058    1477,  1482,  1483,  1485,  1487,  1492,  1494,  1500,  1501,  1503,
     1059    1506,  1509,  1514,  1515,  1520,  1525,  1529,  1531,  1537,  1536,
     1060    1543,  1545,  1551,  1552,  1560,  1561,  1565,  1566,  1567,  1569,
     1061    1571,  1578,  1579,  1581,  1583,  1588,  1589,  1595,  1596,  1600,
     1062    1601,  1606,  1607,  1608,  1610,  1618,  1619,  1621,  1624,  1626,
     1063    1630,  1631,  1632,  1634,  1636,  1640,  1645,  1653,  1654,  1663,
     1064    1665,  1670,  1671,  1672,  1676,  1677,  1678,  1682,  1683,  1684,
     1065    1688,  1689,  1690,  1695,  1696,  1697,  1698,  1704,  1705,  1707,
     1066    1712,  1713,  1718,  1719,  1720,  1721,  1722,  1737,  1738,  1743,
     1067    1744,  1752,  1754,  1756,  1759,  1761,  1763,  1786,  1787,  1789,
     1068    1791,  1796,  1797,  1799,  1804,  1809,  1810,  1816,  1815,  1819,
     1069    1823,  1825,  1827,  1833,  1834,  1839,  1844,  1846,  1851,  1853,
     1070    1854,  1856,  1861,  1863,  1865,  1870,  1872,  1877,  1882,  1890,
     1071    1896,  1895,  1909,  1910,  1915,  1916,  1920,  1925,  1930,  1938,
     1072    1943,  1954,  1955,  1966,  1967,  1973,  1974,  1978,  1979,  1980,
     1073    1983,  1982,  1993,  1998,  2003,  2009,  2018,  2024,  2030,  2036,
     1074    2042,  2050,  2056,  2064,  2070,  2079,  2080,  2081,  2085,  2089,
     1075    2091,  2096,  2097,  2101,  2102,  2107,  2113,  2114,  2117,  2119,
     1076    2120,  2124,  2125,  2126,  2127,  2161,  2163,  2164,  2166,  2171,
     1077    2176,  2181,  2183,  2185,  2190,  2192,  2194,  2196,  2201,  2203,
     1078    2213,  2215,  2216,  2221,  2223,  2225,  2230,  2232,  2234,  2239,
     1079    2241,  2243,  2252,  2253,  2254,  2258,  2260,  2262,  2267,  2269,
     1080    2271,  2276,  2278,  2280,  2295,  2297,  2298,  2300,  2305,  2306,
     1081    2311,  2313,  2315,  2320,  2322,  2324,  2326,  2331,  2333,  2335,
     1082    2345,  2347,  2348,  2350,  2355,  2357,  2359,  2364,  2366,  2368,
     1083    2370,  2375,  2377,  2379,  2410,  2412,  2413,  2415,  2420,  2425,
     1084    2433,  2435,  2437,  2442,  2444,  2449,  2451,  2465,  2466,  2468,
     1085    2473,  2475,  2477,  2479,  2481,  2486,  2487,  2489,  2491,  2496,
     1086    2498,  2500,  2506,  2508,  2510,  2514,  2516,  2518,  2520,  2534,
     1087    2535,  2537,  2542,  2544,  2546,  2548,  2550,  2555,  2556,  2558,
     1088    2560,  2565,  2567,  2569,  2575,  2576,  2578,  2587,  2590,  2592,
     1089    2595,  2597,  2599,  2612,  2613,  2615,  2620,  2622,  2624,  2626,
     1090    2628,  2633,  2634,  2636,  2638,  2643,  2645,  2653,  2654,  2655,
     1091    2660,  2661,  2665,  2667,  2669,  2671,  2673,  2675,  2682,  2684,
     1092    2686,  2688,  2690,  2692,  2694,  2696,  2698,  2700,  2705,  2707,
     1093    2709,  2714,  2740,  2741,  2743,  2747,  2748,  2752,  2754,  2756,
     1094    2758,  2760,  2762,  2769,  2771,  2773,  2775,  2777,  2779,  2784,
     1095    2789,  2791,  2793,  2811,  2813,  2818,  2819
    10941096};
    10951097#endif
     
    11161118  "GE", "EQ", "NE", "ANDAND", "OROR", "ELLIPSIS", "MULTassign",
    11171119  "DIVassign", "MODassign", "PLUSassign", "MINUSassign", "LSassign",
    1118   "RSassign", "ANDassign", "ERassign", "ORassign", "ATassign", "THEN",
    1119   "'('", "')'", "'['", "']'", "'.'", "'{'", "'}'", "','", "':'", "'!'",
    1120   "'*'", "'&'", "'+'", "'-'", "'~'", "'/'", "'%'", "'<'", "'>'", "'^'",
    1121   "'|'", "'?'", "'='", "';'", "$accept", "push", "pop", "constant",
     1120  "RSassign", "ANDassign", "ERassign", "ORassign", "ATassign", "REFassign",
     1121  "THEN", "'('", "')'", "'['", "']'", "'.'", "'{'", "'}'", "','", "':'",
     1122  "'*'", "'&'", "'+'", "'-'", "'!'", "'~'", "'/'", "'%'", "'<'", "'>'",
     1123  "'^'", "'|'", "'?'", "'='", "';'", "$accept", "push", "pop", "constant",
    11221124  "identifier", "no_01_identifier", "no_attr_identifier", "zero_one",
    11231125  "string_literal_list", "primary_expression", "postfix_expression",
    11241126  "argument_expression_list", "argument_expression", "field_list", "field",
    1125   "unary_expression", "unary_operator", "cast_expression",
    1126   "multiplicative_expression", "additive_expression", "shift_expression",
    1127   "relational_expression", "equality_expression", "AND_expression",
    1128   "exclusive_OR_expression", "inclusive_OR_expression",
     1127  "unary_expression", "ptrref_operator", "unary_operator",
     1128  "cast_expression", "multiplicative_expression", "additive_expression",
     1129  "shift_expression", "relational_expression", "equality_expression",
     1130  "AND_expression", "exclusive_OR_expression", "inclusive_OR_expression",
    11291131  "logical_AND_expression", "logical_OR_expression",
    11301132  "conditional_expression", "constant_expression", "assignment_expression",
     
    12231225     335,   336,   337,   338,   339,   340,   341,   342,   343,   344,
    12241226     345,   346,   347,   348,   349,   350,   351,   352,   353,   354,
    1225      355,   356,   357,   358,   359,   360,   361,   362,   363,    40,
    1226       41,    91,    93,    46,   123,   125,    44,    58,    33,    42,
    1227       38,    43,    45,   126,    47,    37,    60,    62,    94,   124,
    1228       63,    61,    59
     1227     355,   356,   357,   358,   359,   360,   361,   362,   363,   364,
     1228      40,    41,    91,    93,    46,   123,   125,    44,    58,    42,
     1229      38,    43,    45,    33,   126,    47,    37,    60,    62,    94,
     1230     124,    63,    61,    59
    12291231};
    12301232# endif
     
    12331235static const yytype_uint16 yyr1[] =
    12341236{
    1235        0,   133,   134,   135,   136,   136,   136,   137,   137,   137,
    1236      138,   138,   139,   139,   140,   140,   141,   141,   142,   142,
    1237      142,   142,   143,   143,   143,   143,   143,   143,   143,   143,
    1238      143,   143,   143,   144,   144,   145,   145,   145,   145,   145,
    1239      146,   146,   147,   147,   147,   147,   147,   148,   148,   148,
    1240      148,   148,   148,   148,   148,   148,   148,   148,   148,   148,
    1241      148,   148,   148,   148,   148,   149,   149,   149,   149,   150,
    1242      150,   150,   151,   151,   151,   151,   152,   152,   152,   153,
    1243      153,   153,   154,   154,   154,   154,   154,   155,   155,   155,
    1244      156,   156,   157,   157,   158,   158,   159,   159,   160,   160,
    1245      161,   161,   161,   161,   162,   163,   163,   163,   163,   164,
    1246      164,   165,   165,   165,   165,   166,   166,   167,   167,   167,
    1247      167,   167,   167,   167,   167,   167,   167,   168,   168,   169,
    1248      169,   170,   170,   170,   170,   170,   170,   170,   170,   170,
    1249      171,   172,   172,   173,   173,   174,   174,   174,   174,   175,
    1250      175,   176,   177,   177,   177,   177,   177,   177,   178,   178,
    1251      178,   179,   179,   180,   180,   181,   181,   182,   183,   183,
    1252      184,   184,   185,   185,   186,   186,   186,   186,   187,   187,
    1253      188,   188,   189,   189,   189,   190,   190,   191,   191,   191,
    1254      191,   191,   191,   191,   191,   191,   191,   192,   192,   192,
    1255      193,   193,   193,   193,   193,   194,   194,   194,   194,   195,
    1256      196,   196,   196,   196,   196,   197,   197,   197,   197,   197,
    1257      198,   198,   199,   199,   200,   200,   201,   201,   202,   202,
    1258      202,   203,   203,   204,   204,   205,   205,   206,   206,   207,
    1259      207,   208,   208,   209,   209,   210,   210,   211,   211,   212,
    1260      212,   212,   212,   212,   213,   213,   213,   214,   214,   214,
    1261      215,   215,   215,   215,   215,   216,   216,   216,   217,   217,
    1262      218,   218,   218,   219,   219,   219,   219,   219,   220,   220,
    1263      221,   221,   221,   221,   222,   222,   223,   223,   223,   223,
    1264      224,   224,   224,   224,   225,   225,   226,   226,   227,   227,
    1265      228,   228,   228,   228,   228,   229,   228,   230,   230,   230,
    1266      231,   231,   232,   233,   233,   233,   233,   233,   233,   233,
    1267      233,   234,   234,   234,   234,   234,   234,   234,   234,   234,
    1268      234,   234,   234,   234,   235,   235,   235,   235,   235,   236,
    1269      236,   237,   237,   237,   237,   238,   238,   238,   238,   239,
    1270      239,   239,   239,   240,   240,   240,   241,   241,   241,   241,
    1271      242,   242,   242,   243,   243,   244,   244,   245,   244,   244,
    1272      244,   246,   246,   247,   247,   248,   248,   248,   248,   249,
    1273      249,   249,   249,   250,   250,   251,   251,   251,   251,   251,
    1274      252,   252,   253,   254,   255,   255,   256,   255,   257,   257,
    1275      258,   258,   259,   259,   260,   260,   260,   260,   260,   261,
    1276      261,   261,   261,   262,   262,   263,   263,   264,   264,   265,
    1277      265,   265,   265,   266,   266,   266,   266,   266,   267,   267,
    1278      267,   267,   267,   268,   268,   269,   269,   270,   270,   271,
    1279      271,   271,   272,   272,   272,   273,   273,   273,   274,   274,
    1280      274,   275,   275,   275,   275,   276,   276,   276,   277,   277,
    1281      278,   278,   278,   278,   278,   279,   279,   280,   280,   281,
    1282      281,   281,   281,   281,   281,   282,   282,   282,   282,   283,
    1283      283,   283,   284,   285,   285,   287,   286,   286,   288,   288,
    1284      288,   289,   289,   290,   290,   290,   291,   291,   291,   291,
    1285      292,   292,   292,   293,   293,   294,   294,   295,   296,   295,
    1286      297,   297,   298,   298,   299,   299,   299,   300,   300,   301,
    1287      301,   302,   302,   303,   303,   304,   304,   304,   305,   304,
    1288      304,   306,   306,   306,   307,   307,   307,   307,   307,   307,
    1289      307,   307,   307,   308,   308,   308,   309,   310,   310,   311,
    1290      311,   312,   312,   313,   314,   314,   315,   315,   315,   316,
    1291      316,   316,   316,   317,   317,   317,   317,   318,   318,   319,
    1292      319,   319,   320,   320,   320,   320,   321,   321,   322,   322,
    1293      322,   323,   323,   323,   324,   324,   324,   325,   325,   325,
    1294      326,   326,   326,   327,   327,   327,   328,   328,   328,   329,
    1295      329,   329,   330,   330,   330,   330,   331,   331,   332,   332,
    1296      332,   333,   333,   333,   333,   334,   334,   334,   335,   335,
    1297      335,   335,   336,   336,   336,   337,   337,   337,   337,   338,
    1298      338,   338,   339,   339,   339,   339,   340,   340,   341,   341,
    1299      341,   342,   342,   343,   343,   344,   344,   344,   345,   345,
    1300      345,   345,   345,   346,   346,   346,   346,   347,   347,   347,
    1301      348,   348,   348,   349,   349,   349,   349,   350,   350,   350,
    1302      351,   351,   351,   351,   351,   352,   352,   352,   352,   353,
    1303      353,   353,   354,   354,   354,   355,   355,   355,   355,   355,
    1304      355,   356,   356,   356,   357,   357,   357,   357,   357,   358,
    1305      358,   358,   358,   359,   359,   360,   360,   360,   361,   361,
    1306      362,   362,   362,   362,   362,   362,   363,   363,   363,   363,
    1307      363,   363,   363,   363,   363,   363,   364,   364,   364,   364,
    1308      365,   365,   365,   366,   366,   367,   367,   367,   367,   367,
    1309      367,   368,   368,   368,   368,   368,   368,   369,   370,   370,
    1310      370,   371,   371,   372,   372
     1237       0,   134,   135,   136,   137,   137,   137,   138,   138,   138,
     1238     139,   139,   140,   140,   141,   141,   142,   142,   143,   143,
     1239     143,   143,   144,   144,   144,   144,   144,   144,   144,   144,
     1240     144,   144,   144,   145,   145,   146,   146,   146,   146,   146,
     1241     147,   147,   148,   148,   148,   148,   148,   149,   149,   149,
     1242     149,   149,   149,   149,   149,   149,   149,   149,   149,   149,
     1243     149,   149,   149,   149,   150,   150,   151,   151,   151,   151,
     1244     152,   152,   152,   153,   153,   153,   153,   154,   154,   154,
     1245     155,   155,   155,   156,   156,   156,   156,   156,   157,   157,
     1246     157,   158,   158,   159,   159,   160,   160,   161,   161,   162,
     1247     162,   163,   163,   163,   163,   164,   165,   165,   165,   165,
     1248     165,   166,   166,   167,   167,   167,   167,   168,   168,   169,
     1249     169,   169,   169,   169,   169,   169,   169,   169,   169,   170,
     1250     170,   171,   171,   172,   172,   172,   172,   172,   172,   172,
     1251     172,   172,   173,   174,   174,   175,   175,   176,   176,   176,
     1252     176,   177,   177,   178,   179,   179,   179,   179,   179,   179,
     1253     180,   180,   180,   181,   181,   182,   182,   183,   183,   184,
     1254     185,   185,   186,   186,   187,   187,   188,   188,   188,   188,
     1255     189,   189,   190,   190,   191,   191,   191,   192,   192,   193,
     1256     193,   193,   193,   193,   193,   193,   193,   193,   193,   194,
     1257     194,   194,   195,   195,   195,   195,   195,   196,   196,   196,
     1258     196,   197,   198,   198,   198,   198,   198,   199,   199,   199,
     1259     199,   199,   200,   200,   201,   201,   202,   202,   203,   203,
     1260     204,   204,   204,   205,   205,   206,   206,   207,   207,   208,
     1261     208,   209,   209,   210,   210,   211,   211,   212,   212,   213,
     1262     213,   214,   214,   214,   214,   214,   215,   215,   215,   216,
     1263     216,   216,   217,   217,   217,   217,   217,   218,   218,   218,
     1264     219,   219,   220,   220,   220,   221,   221,   221,   221,   221,
     1265     222,   222,   223,   223,   223,   223,   224,   224,   225,   225,
     1266     225,   225,   226,   226,   226,   226,   227,   227,   228,   228,
     1267     229,   229,   230,   230,   230,   230,   230,   231,   230,   232,
     1268     232,   232,   233,   233,   234,   235,   235,   235,   235,   235,
     1269     235,   235,   235,   236,   236,   236,   236,   236,   236,   236,
     1270     236,   236,   236,   236,   236,   236,   237,   237,   237,   237,
     1271     237,   238,   238,   239,   239,   239,   239,   240,   240,   240,
     1272     240,   241,   241,   241,   241,   242,   242,   242,   243,   243,
     1273     243,   243,   244,   244,   244,   245,   245,   246,   246,   247,
     1274     246,   246,   246,   248,   248,   249,   249,   250,   250,   250,
     1275     250,   251,   251,   251,   251,   252,   252,   253,   253,   253,
     1276     253,   253,   254,   254,   255,   256,   257,   257,   258,   257,
     1277     259,   259,   260,   260,   261,   261,   262,   262,   262,   262,
     1278     262,   263,   263,   263,   263,   264,   264,   265,   265,   266,
     1279     266,   267,   267,   267,   267,   268,   268,   268,   268,   268,
     1280     269,   269,   269,   269,   269,   270,   270,   271,   271,   272,
     1281     272,   273,   273,   273,   274,   274,   274,   275,   275,   275,
     1282     276,   276,   276,   277,   277,   277,   277,   278,   278,   278,
     1283     279,   279,   280,   280,   280,   280,   280,   281,   281,   282,
     1284     282,   283,   283,   283,   283,   283,   283,   284,   284,   284,
     1285     284,   285,   285,   285,   286,   287,   287,   289,   288,   288,
     1286     290,   290,   290,   291,   291,   292,   292,   292,   293,   293,
     1287     293,   293,   294,   294,   294,   295,   295,   296,   296,   297,
     1288     298,   297,   299,   299,   300,   300,   301,   301,   301,   302,
     1289     302,   303,   303,   304,   304,   305,   305,   306,   306,   306,
     1290     307,   306,   306,   308,   308,   308,   309,   309,   309,   309,
     1291     309,   309,   309,   309,   309,   310,   310,   310,   311,   312,
     1292     312,   313,   313,   314,   314,   315,   316,   316,   317,   317,
     1293     317,   318,   318,   318,   318,   319,   319,   319,   319,   320,
     1294     320,   321,   321,   321,   322,   322,   322,   322,   323,   323,
     1295     324,   324,   324,   325,   325,   325,   326,   326,   326,   327,
     1296     327,   327,   328,   328,   328,   329,   329,   329,   330,   330,
     1297     330,   331,   331,   331,   332,   332,   332,   332,   333,   333,
     1298     334,   334,   334,   335,   335,   335,   335,   336,   336,   336,
     1299     337,   337,   337,   337,   338,   338,   338,   339,   339,   339,
     1300     339,   340,   340,   340,   341,   341,   341,   341,   342,   342,
     1301     343,   343,   343,   344,   344,   345,   345,   346,   346,   346,
     1302     347,   347,   347,   347,   347,   348,   348,   348,   348,   349,
     1303     349,   349,   350,   350,   350,   351,   351,   351,   351,   352,
     1304     352,   352,   353,   353,   353,   353,   353,   354,   354,   354,
     1305     354,   355,   355,   355,   356,   356,   356,   357,   357,   357,
     1306     357,   357,   357,   358,   358,   358,   359,   359,   359,   359,
     1307     359,   360,   360,   360,   360,   361,   361,   362,   362,   362,
     1308     363,   363,   364,   364,   364,   364,   364,   364,   365,   365,
     1309     365,   365,   365,   365,   365,   365,   365,   365,   366,   366,
     1310     366,   366,   367,   367,   367,   368,   368,   369,   369,   369,
     1311     369,   369,   369,   370,   370,   370,   370,   370,   370,   371,
     1312     372,   372,   372,   373,   373,   374,   374
    13111313};
    13121314
     
    13191321       2,     7,     4,     1,     3,     0,     1,     3,     7,     9,
    13201322       1,     3,     1,     3,     7,     3,     7,     1,     1,     1,
    1321        2,     2,     2,     2,     2,     2,     2,     4,     6,     1,
    1322        4,     4,     2,     4,     2,     1,     1,     1,     1,     1,
    1323        4,     4,     1,     3,     3,     3,     1,     3,     3,     1,
    1324        3,     3,     1,     3,     3,     3,     3,     1,     3,     3,
    1325        1,     3,     1,     3,     1,     3,     1,     3,     1,     3,
    1326        1,     5,     4,     5,     1,     1,     3,     3,     2,     0,
    1327        1,     2,     5,     6,     7,     1,     3,     1,     1,     1,
    1328        1,     1,     1,     1,     1,     1,     1,     1,     3,     0,
    1329        1,     1,     1,     1,     1,     1,     1,     1,     1,     6,
    1330        4,     2,     7,     1,     3,     1,     2,     1,     2,     1,
    1331        2,     2,     5,     7,     5,     9,     5,     9,     1,     3,
    1332        1,     1,     3,     3,     2,     1,     2,     2,     0,     1,
    1333        2,     3,     0,     1,     2,     3,     3,     4,     0,     1,
    1334        1,     2,     5,     7,     6,     6,     4,     3,     4,     2,
    1335        3,     2,     3,     3,     3,     3,     5,     3,     3,     4,
    1336        1,     5,     6,     5,     6,     9,    10,     9,    10,     2,
    1337        1,     2,     2,     2,     1,     6,     8,    10,    12,    14,
    1338        0,     1,     0,     1,     1,     3,     4,     7,     0,     1,
    1339        3,     1,     3,     1,     1,     1,     3,     1,     1,     1,
    1340        3,     0,     1,     3,     4,     1,     3,     1,     1,     3,
    1341        3,     3,     3,     3,     2,     3,     6,     3,     3,     4,
    1342        1,     2,     2,     3,     5,     8,     7,     7,     5,     9,
    1343        2,     2,     5,     3,     5,     4,     3,     4,     4,     7,
    1344        3,     3,     3,     3,     4,     6,     1,     1,     1,     1,
    1345        1,     1,     1,     1,     0,     1,     1,     2,     1,     1,
    1346        1,     1,     1,     1,     1,     0,     5,     1,     2,     3,
    1347        1,     2,     1,     1,     1,     1,     1,     1,     1,     1,
     1323       2,     2,     2,     2,     2,     2,     4,     6,     1,     4,
     1324       4,     2,     4,     2,     1,     1,     1,     1,     1,     1,
     1325       1,     4,     4,     1,     3,     3,     3,     1,     3,     3,
     1326       1,     3,     3,     1,     3,     3,     3,     3,     1,     3,
     1327       3,     1,     3,     1,     3,     1,     3,     1,     3,     1,
     1328       3,     1,     5,     4,     5,     1,     1,     3,     3,     3,
     1329       2,     0,     1,     2,     5,     6,     7,     1,     3,     1,
    13481330       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
    1349        1,     1,     1,     1,     1,     2,     2,     3,     3,     1,
    1350        3,     1,     2,     2,     2,     4,     4,     4,     4,     1,
    1351        2,     2,     3,     1,     2,     2,     1,     2,     2,     3,
    1352        1,     2,     2,     1,     1,     4,     2,     0,     6,     7,
    1353        2,     2,     2,     1,     2,     2,     3,     2,     3,     1,
    1354        2,     3,     2,     2,     4,     0,     1,     2,     2,     1,
    1355        0,     1,     2,     2,     5,     2,     0,     7,     2,     4,
    1356        0,     2,     0,     1,     1,     1,     5,     5,     5,     1,
    1357        5,     5,     9,     1,     5,     0,     1,     1,     5,     1,
    1358        1,     5,     5,     1,     3,     3,     4,     1,     1,     1,
    1359        1,     2,     1,     3,     3,     1,     2,     1,     3,     1,
     1331       3,     0,     1,     1,     1,     1,     1,     1,     1,     1,
     1332       1,     6,     4,     2,     7,     1,     3,     1,     2,     1,
     1333       2,     1,     2,     2,     5,     7,     5,     9,     5,     9,
     1334       1,     3,     1,     1,     3,     3,     2,     1,     2,     2,
     1335       0,     1,     2,     3,     0,     1,     2,     3,     3,     4,
     1336       0,     1,     1,     2,     5,     7,     6,     6,     4,     3,
     1337       4,     2,     3,     2,     3,     3,     3,     3,     5,     3,
     1338       3,     4,     1,     5,     6,     5,     6,     9,    10,     9,
     1339      10,     2,     1,     2,     2,     2,     1,     6,     8,    10,
     1340      12,    14,     0,     1,     0,     1,     1,     3,     4,     7,
     1341       0,     1,     3,     1,     3,     1,     1,     1,     3,     1,
     1342       1,     1,     3,     0,     1,     3,     4,     1,     3,     1,
     1343       1,     3,     3,     3,     3,     3,     2,     3,     6,     3,
     1344       3,     4,     1,     2,     2,     3,     5,     8,     7,     7,
     1345       5,     9,     2,     2,     5,     3,     5,     4,     3,     4,
     1346       4,     7,     3,     3,     3,     3,     4,     6,     1,     1,
     1347       1,     1,     1,     1,     1,     1,     0,     1,     1,     2,
     1348       1,     1,     1,     1,     1,     1,     1,     0,     5,     1,
     1349       2,     3,     1,     2,     1,     1,     1,     1,     1,     1,
    13601350       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
    1361        2,     1,     1,     1,     2,     0,     2,     2,     1,     4,
    1362        0,     1,     2,     3,     4,     2,     2,     1,     2,     1,
    1363        2,     5,     5,     7,     6,     1,     2,     2,     3,     1,
    1364        2,     2,     4,     2,     4,     0,     4,     2,     1,     1,
    1365        1,     0,     2,     5,     5,    13,     1,     1,     3,     3,
    1366        2,     3,     3,     2,     4,     1,     6,     9,     0,    11,
    1367        1,     3,     3,     3,     1,     1,     5,     2,     5,     0,
    1368        1,     1,     3,     0,     1,     1,     1,     1,     0,     6,
    1369        2,     1,     2,     4,     2,     3,     3,     3,     4,     5,
    1370        5,     5,     6,     1,     1,     1,     3,     0,     5,     0,
    1371        1,     1,     2,     6,     1,     3,     0,     1,     4,     1,
    1372        1,     1,     1,     2,     1,     2,     2,     1,     3,     2,
    1373        3,     3,     2,     4,     4,     3,     8,     3,     2,     1,
    1374        2,     6,     8,     3,     2,     3,     3,     4,     4,     3,
    1375        1,     1,     1,     4,     6,     3,     2,     3,     3,     4,
    1376        4,     3,     2,     1,     2,     2,     1,     3,     2,     3,
    1377        3,     2,     4,     4,     3,     6,     8,     3,     2,     1,
    1378        2,     2,     2,     3,     3,     2,     4,     4,     3,     6,
    1379        8,     3,     2,     1,     2,     2,     1,     1,     2,     3,
    1380        3,     2,     4,     6,     8,     1,     2,     2,     1,     2,
    1381        2,     3,     3,     1,     4,     4,     3,     5,     8,     3,
    1382        2,     3,     1,     5,     5,     6,     6,     1,     2,     2,
     1351       1,     1,     1,     1,     1,     1,     1,     2,     2,     3,
     1352       3,     1,     3,     1,     2,     2,     2,     4,     4,     4,
     1353       4,     1,     2,     2,     3,     1,     2,     2,     1,     2,
     1354       2,     3,     1,     2,     2,     1,     1,     4,     2,     0,
     1355       6,     7,     2,     2,     2,     1,     2,     2,     3,     2,
     1356       3,     1,     2,     3,     2,     2,     4,     0,     1,     2,
     1357       2,     1,     0,     1,     2,     2,     5,     2,     0,     7,
     1358       2,     4,     0,     2,     0,     1,     1,     1,     5,     5,
     1359       5,     1,     5,     5,     9,     1,     5,     0,     1,     1,
     1360       5,     1,     1,     5,     5,     1,     3,     3,     4,     1,
     1361       1,     1,     1,     2,     1,     3,     3,     1,     2,     1,
     1362       3,     1,     1,     1,     1,     1,     1,     1,     1,     1,
     1363       1,     1,     2,     1,     1,     1,     2,     0,     2,     2,
     1364       1,     4,     0,     1,     2,     3,     4,     2,     2,     1,
     1365       2,     1,     2,     5,     5,     7,     6,     1,     2,     2,
     1366       3,     1,     2,     2,     4,     2,     4,     0,     4,     2,
     1367       1,     1,     1,     0,     2,     5,     5,    13,     1,     1,
     1368       3,     3,     2,     3,     3,     2,     4,     1,     6,     9,
     1369       0,    11,     1,     3,     3,     3,     1,     1,     5,     2,
     1370       5,     0,     1,     1,     3,     0,     1,     1,     1,     1,
     1371       0,     6,     2,     1,     2,     4,     2,     3,     3,     3,
     1372       4,     5,     5,     5,     6,     1,     1,     1,     3,     0,
     1373       5,     0,     1,     1,     2,     6,     1,     3,     0,     1,
     1374       4,     1,     1,     1,     1,     2,     1,     2,     2,     1,
     1375       3,     2,     3,     3,     2,     4,     4,     3,     8,     3,
     1376       2,     1,     2,     6,     8,     3,     2,     3,     3,     4,
     1377       4,     3,     1,     1,     1,     4,     6,     3,     2,     3,
     1378       3,     4,     4,     3,     2,     1,     2,     2,     1,     3,
     1379       2,     3,     3,     2,     4,     4,     3,     6,     8,     3,
     1380       2,     1,     2,     2,     2,     3,     3,     2,     4,     4,
     1381       3,     6,     8,     3,     2,     1,     2,     2,     1,     1,
     1382       2,     3,     3,     2,     4,     6,     8,     1,     2,     2,
    13831383       1,     2,     2,     3,     3,     1,     4,     4,     3,     5,
    1384        8,     3,     1,     2,     1,     2,     6,     5,     6,     7,
    1385        7,     1,     2,     2,     1,     2,     2,     3,     3,     1,
    1386        4,     4,     3,     8,     3,     1,     1,     2,     1,     1,
    1387        2,     3,     2,     3,     2,     3,     3,     2,     4,     3,
    1388        2,     3,     2,     4,     3,     2,     6,     6,     6,     7,
    1389        1,     2,     1,     1,     1,     2,     3,     2,     3,     2,
    1390        3,     3,     4,     2,     3,     4,     2,     5,     5,     6,
    1391        6,     0,     1,     0,     2
     1384       8,     3,     2,     3,     1,     5,     5,     6,     6,     1,
     1385       2,     2,     1,     2,     2,     3,     3,     1,     4,     4,
     1386       3,     5,     8,     3,     1,     2,     1,     2,     6,     5,
     1387       6,     7,     7,     1,     2,     2,     1,     2,     2,     3,
     1388       3,     1,     4,     4,     3,     8,     3,     1,     1,     2,
     1389       1,     1,     2,     3,     2,     3,     2,     3,     3,     2,
     1390       4,     3,     2,     3,     2,     4,     3,     2,     6,     6,
     1391       6,     7,     1,     2,     1,     1,     1,     2,     3,     2,
     1392       3,     2,     3,     3,     4,     2,     3,     4,     2,     5,
     1393       5,     6,     6,     0,     1,     0,     2
    13921394};
    13931395
     
    13971399static const yytype_uint16 yydefact[] =
    13981400{
    1399      294,   294,   315,   313,   316,   314,   317,   318,   300,   302,
    1400      301,     0,   303,   329,   321,   326,   324,   325,   323,   322,
    1401      327,   328,   333,   330,   331,   332,   549,   549,   549,     0,
    1402        0,     0,   294,   220,   304,   319,   320,     7,   360,     0,
    1403        8,    14,    15,     0,     2,   294,   567,     9,   527,   525,
    1404      247,     3,   455,     3,   260,     0,     3,     3,     3,   248,
    1405        3,     0,     0,     0,   295,   296,   298,   294,   307,   310,
    1406      312,   341,   286,   334,   339,   287,   349,   288,   356,   353,
    1407      363,     0,     0,   364,   289,   475,   479,     3,     3,     0,
    1408        2,   521,   526,   531,   299,     0,     0,   549,   579,   549,
    1409        2,   590,   591,   592,   294,     0,   733,   734,     0,    12,
    1410      294,     0,    13,   270,   271,     0,   295,   290,   291,   292,
    1411      293,   528,   305,   393,   550,   551,   371,   372,    12,   446,
    1412      447,    11,   442,   445,     0,   505,   500,   491,   446,   447,
    1413        0,     0,   530,   221,     0,   294,     0,     0,     0,     0,
    1414        0,     0,     0,     0,   294,   294,     2,     0,   735,   295,
    1415      584,   596,   739,   732,   730,   737,     0,     0,     0,   254,
    1416        2,     0,   534,   440,   441,   439,     0,     0,     0,     0,
    1417      549,     0,   636,   637,     0,     0,   547,   543,   549,   564,
    1418      549,   549,   544,     2,   545,   549,   603,   549,   549,   606,
    1419        0,     0,     0,   294,   294,   313,   361,     2,   294,   261,
    1420      297,   308,   342,   354,   480,     0,     2,     0,   455,   262,
    1421      295,   335,   350,   357,   476,     0,     2,     0,   311,   336,
    1422      343,   344,     0,   351,   355,   358,   362,   447,   294,   294,
    1423      366,   370,     0,   395,   477,   481,     0,     0,     0,     1,
    1424      294,     2,   532,   578,   580,   294,     2,   743,   295,   746,
    1425      547,   547,   295,     0,     0,     0,   273,   549,   544,     2,
    1426      294,     0,     0,   294,   552,     2,   503,     2,   556,     0,
    1427        0,     0,     0,     0,     0,    18,    59,     4,     5,     6,
    1428       16,     0,     0,     0,   294,     2,     0,   294,    65,    66,
    1429       67,    68,    48,    19,    49,    22,    47,    69,     0,    72,
    1430       76,    79,    82,    87,    90,    92,    94,    96,    98,   100,
    1431      105,   497,   753,   453,   496,     0,   451,   452,     0,   568,
    1432      583,   586,   589,   595,   598,   601,   360,     0,     2,   741,
    1433        0,   294,   744,     2,   294,     3,   427,     0,   435,   295,
    1434      294,   307,   334,   287,   349,   356,     3,     3,   409,   413,
    1435      423,   428,   475,   294,   429,   708,   709,   294,   430,   432,
    1436      294,     2,   585,   597,   731,     2,     2,   249,     2,   460,
    1437        0,   458,   457,   456,   141,     2,     2,   251,     2,     2,
    1438      250,     2,   281,     2,   282,     0,   280,     0,     0,     0,
    1439        0,     0,     0,     0,     0,     0,   569,   608,     0,   455,
    1440        2,   563,   572,   662,   565,   566,   535,   294,     2,   602,
    1441      611,   604,   605,     0,   276,   294,   294,   340,   295,     0,
    1442      295,     0,   294,   736,   740,   738,   536,   294,   547,   255,
    1443      263,   309,     0,     2,   537,   294,   501,   337,   338,   283,
    1444      352,   359,     0,   294,     2,   385,   294,   373,     0,     0,
    1445      379,   730,     0,   751,   400,     0,   478,   502,   252,   253,
    1446      522,   294,   437,     0,   294,   237,     0,     2,   239,     0,
    1447      295,     0,   257,     2,   258,   278,     0,     0,     2,   294,
    1448      547,   294,   488,   490,   489,     0,     0,   753,     0,   294,
    1449        0,   294,   492,   294,   562,   560,   561,   559,     0,   554,
    1450      557,     0,     0,   294,    56,   294,    69,    52,   294,    62,
    1451      294,   294,    50,    51,    64,     2,   127,     0,     0,   449,
    1452        0,   448,   111,   294,    54,    55,    17,     0,    29,    30,
    1453       35,     2,     0,    35,   117,   118,   119,   120,   121,   122,
    1454      123,   124,   125,   126,     0,     0,    53,     0,     0,     0,
     1401     296,   296,   317,   315,   318,   316,   319,   320,   302,   304,
     1402     303,     0,   305,   331,   323,   328,   326,   327,   325,   324,
     1403     329,   330,   335,   332,   333,   334,   551,   551,   551,     0,
     1404       0,     0,   296,   222,   306,   321,   322,     7,   362,     0,
     1405       8,    14,    15,     0,     2,    64,    65,   569,     9,   296,
     1406     529,   527,   249,     3,   457,     3,   262,     0,     3,     3,
     1407       3,   250,     3,     0,     0,     0,   297,   298,   300,   296,
     1408     309,   312,   314,   343,   288,   336,   341,   289,   351,   290,
     1409     358,   355,   365,     0,     0,   366,   291,   477,   481,     3,
     1410       3,     0,     2,   523,   528,   533,   301,     0,     0,   551,
     1411     581,   551,     2,   592,   593,   594,   296,     0,   735,   736,
     1412       0,    12,     0,    13,   296,   272,   273,     0,   297,   292,
     1413     293,   294,   295,   530,   307,   395,   552,   553,   373,   374,
     1414      12,   448,   449,    11,   444,   447,     0,   507,   502,   493,
     1415     448,   449,     0,     0,   532,   223,     0,   296,     0,     0,
     1416       0,     0,     0,     0,     0,     0,   296,   296,     2,     0,
     1417     737,   297,   586,   598,   741,   734,   732,   739,     0,     0,
     1418       0,   256,     2,     0,   536,   442,   443,   441,     0,     0,
     1419       0,     0,   551,     0,   638,   639,     0,     0,   549,   545,
     1420     551,   566,   551,   551,   546,     2,   547,   551,   605,   551,
     1421     551,   608,     0,     0,     0,   296,   296,   315,   363,     2,
     1422     296,   263,   299,   310,   344,   356,   482,     0,     2,     0,
     1423     457,   264,   297,   337,   352,   359,   478,     0,     2,     0,
     1424     313,   338,   345,   346,     0,   353,   357,   360,   364,   449,
     1425     296,   296,   368,   372,     0,   397,   479,   483,     0,     0,
     1426       0,     1,   296,     2,   534,   580,   582,   296,     2,   745,
     1427     297,   748,   549,   549,     0,   297,     0,     0,   275,   551,
     1428     546,     2,   296,     0,     0,   296,   554,     2,   505,     2,
     1429     558,     0,     0,     0,     0,     0,     0,    18,    58,     4,
     1430       5,     6,    16,     0,     0,     0,   296,     2,    66,    67,
     1431      68,    69,    48,    19,    49,    22,    47,    70,   296,     0,
     1432      73,    77,    80,    83,    88,    91,    93,    95,    97,    99,
     1433     101,   106,   499,   755,   455,   498,     0,   453,   454,     0,
     1434     570,   585,   588,   591,   597,   600,   603,   362,     0,     2,
     1435     743,     0,   296,   746,     2,    64,   296,     3,   429,     0,
     1436     437,   297,   296,   309,   336,   289,   351,   358,     3,     3,
     1437     411,   415,   425,   430,   477,   296,   431,   710,   711,   296,
     1438     432,   434,   296,     2,   587,   599,   733,     2,     2,   251,
     1439       2,   462,     0,   460,   459,   458,   143,     2,     2,   253,
     1440       2,     2,   252,     2,   283,     2,   284,     0,   282,     0,
     1441       0,     0,     0,     0,     0,     0,     0,     0,   571,   610,
     1442       0,   457,     2,   565,   574,   664,   567,   568,   537,   296,
     1443       2,   604,   613,   606,   607,     0,   278,   296,   296,   342,
     1444     297,     0,   297,     0,   296,   738,   742,   740,   538,   296,
     1445     549,   257,   265,   311,     0,     2,   539,   296,   503,   339,
     1446     340,   285,   354,   361,     0,   296,     2,   387,   296,   375,
     1447       0,     0,   381,   732,     0,   753,   402,     0,   480,   504,
     1448     254,   255,   524,   296,   439,     0,   296,   239,     0,     2,
     1449     241,     0,   297,     0,   259,     2,   260,   280,     0,     0,
     1450       2,   296,   549,   296,   490,   492,   491,     0,     0,   755,
     1451       0,   296,     0,   296,   494,   296,   564,   562,   563,   561,
     1452       0,   556,   559,     0,     0,   296,    55,   296,    70,    50,
     1453     296,    61,   296,   296,    53,    54,    63,     2,   129,     0,
     1454       0,   451,     0,   450,   113,   296,    17,     0,    29,    30,
     1455      35,     2,     0,    35,   119,   120,   121,   122,   123,   124,
     1456     125,   126,   127,   128,     0,     0,     0,    51,    52,     0,
    14551457       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    1456        0,     0,     0,     0,     0,     0,     0,   108,     2,   648,
    1457      454,   645,   549,   549,   653,   482,   294,     2,   587,   588,
    1458        0,   599,   600,     0,     2,   742,   745,   111,   294,     2,
    1459      294,     0,   710,   295,   714,   705,   706,   712,     0,     2,
    1460        2,   670,   549,   753,   619,   549,   549,   753,   549,   633,
    1461      549,   549,   684,   436,   667,   549,   549,   675,   682,   294,
    1462      431,   295,     0,     0,   294,   720,   295,   725,   753,   717,
    1463      294,   722,   753,   294,   294,   294,     0,   111,     0,    18,
    1464        5,     2,     0,    19,     0,   461,   751,     0,     0,   467,
    1465      241,     0,   294,     0,     0,     0,   547,   571,   575,   577,
    1466      607,   610,   614,   617,   570,   609,     0,   284,   660,     0,
    1467      294,   277,     0,     0,     0,     0,   275,     2,     0,   259,
    1468      538,   294,     0,     0,     0,     0,   294,   294,     0,     0,
    1469      694,   383,   386,   390,   549,   390,   699,   389,   691,   549,
    1470      549,   365,   374,   382,   375,   549,   377,   380,   294,   752,
    1471        0,     0,   398,     0,   295,     3,   416,     3,   420,   419,
    1472      593,     0,   533,   294,     3,     3,   294,   435,   295,     3,
    1473      429,   430,     2,     0,     0,     0,   487,   306,   294,   483,
    1474      485,     3,     2,     2,     0,   504,     3,     0,   556,   129,
    1475        0,     0,   222,     0,     0,     0,     2,     0,     0,    36,
    1476        0,     0,   111,   294,    20,     0,    21,     0,   694,   450,
    1477        0,   109,     3,     2,    27,     2,     0,    33,     0,     2,
    1478       25,     0,   106,   107,    73,    74,    75,    77,    78,    80,
    1479       81,    85,    86,    83,    84,    88,    89,    91,    93,    95,
    1480       97,    99,     0,     0,   754,   294,     0,     0,     0,   649,
    1481      650,   646,   647,   499,   498,   294,     0,     3,   294,   716,
    1482      294,   721,   295,   294,   294,   294,   664,   707,   663,     2,
    1483      294,     0,     0,     0,     0,     0,     0,     0,     0,   685,
    1484        0,   671,   622,   638,   672,     2,   618,   625,   433,   620,
    1485      621,   434,     2,   632,   641,   634,   635,   668,   669,   683,
    1486      711,   715,   713,   753,   268,     2,   747,     2,   424,   719,
    1487      724,   425,     0,   403,     3,     3,     3,     3,   455,     3,
    1488        0,     2,   470,   466,   752,     0,   462,   469,     2,   465,
    1489      468,     0,   294,   242,   264,     3,   272,   274,     0,   455,
    1490        2,   573,   574,     2,   612,   613,     0,   661,   539,     3,
    1491      346,   345,   348,   347,   294,   540,     0,   541,   294,   376,
    1492      378,     2,     0,     0,     0,     0,   104,   392,   695,   696,
    1493      387,   391,   388,   692,   693,   381,   385,   294,   400,   394,
    1494      401,   751,     0,     0,   438,   240,     0,     0,     3,     2,
    1495      670,   431,     0,   529,     0,   753,   491,     0,   294,   294,
    1496      294,     0,   553,   555,   130,     0,     0,   215,     0,     0,
    1497        0,   223,   224,    57,     0,    63,   294,     0,    61,    60,
    1498        0,   128,   695,   460,    70,    71,   110,   115,     3,   109,
    1499        0,     0,     0,    24,    35,     3,     0,    32,   102,     0,
    1500        3,   652,   656,   659,   651,     3,   594,     3,   718,   723,
    1501        2,   294,     3,     3,   295,     0,     3,   624,   628,   631,
    1502      640,   674,   678,   681,   294,     3,   623,   639,   673,   294,
    1503      294,   426,   294,   294,   748,     0,     0,     0,     0,   256,
    1504        0,   104,     0,     3,     3,     0,   463,     0,   459,     0,
    1505        0,   245,   294,     0,     0,   129,     0,     0,     0,     0,
    1506        0,   129,     0,     0,   109,   109,     2,     0,     0,     0,
    1507        3,   131,   132,     2,   143,   133,   134,   135,   136,   137,
    1508      138,   145,   147,     0,     0,     0,   285,   294,   294,   549,
    1509        0,   542,   294,   111,   698,   702,   704,   697,   384,   368,
    1510      399,     0,   581,     2,   666,   665,     0,   671,     2,   484,
    1511      486,   506,     3,   514,   515,     0,     2,   510,     3,     3,
    1512        0,     0,   558,   222,     0,     0,     0,   222,     0,     0,
    1513        3,    37,   751,   109,     0,     3,   663,    42,     3,    40,
    1514        3,    34,     0,     3,   101,   103,     0,     2,   654,   655,
    1515        0,     0,   294,     0,     0,     0,     3,   640,     0,     2,
    1516      626,   627,     2,   642,     2,   676,   677,     0,     0,     3,
    1517        0,     3,     3,     3,     3,   411,   410,   414,     2,     2,
    1518      750,   749,   112,     0,     0,     0,     0,     3,   464,     3,
    1519        0,   243,   146,     3,   295,   294,     0,     0,     0,     0,
    1520        2,   191,     0,   189,     0,     0,     0,     0,     0,     0,
    1521        0,     0,   111,     0,   549,   151,   148,   294,     0,     0,
    1522      267,   279,     3,     3,   548,   615,   369,     2,   700,   701,
    1523      397,   294,   266,   294,     0,   517,   494,   294,     0,     0,
    1524      493,   508,     0,     0,     0,   216,     0,   225,    58,   109,
    1525        0,     0,   116,   113,     0,     0,     0,     0,     0,     0,
    1526       23,     0,   657,   294,   582,   265,   726,   727,   728,     0,
    1527      679,   294,   294,   294,     3,     3,     0,   687,     0,     0,
    1528        0,     0,   294,   294,     3,   546,   471,   472,     0,     0,
    1529      246,   295,     0,     0,     0,     0,   294,   192,   190,     0,
    1530      187,   193,     0,     0,     0,     0,   197,   200,   198,   194,
    1531        0,   195,    35,   129,   144,   142,   244,     0,     0,   294,
    1532      418,   422,   421,     0,   511,     2,   512,     2,   513,   507,
    1533      294,   228,     0,   226,     0,   228,     3,   663,    31,   114,
    1534        2,    45,     2,    43,    41,    28,   112,    26,     3,   729,
    1535        3,     3,     3,     0,     0,   686,   688,   629,   643,   269,
    1536        2,   408,     3,   407,     0,   474,   471,   129,     0,     0,
    1537      129,     3,     0,   129,   188,     0,     2,     2,   209,   199,
    1538        0,     0,     0,     0,   140,   576,   616,     3,     2,     0,
    1539        0,     2,   229,     0,     0,   217,     0,     0,     0,     0,
    1540        0,     0,     0,     0,     0,   689,   690,   294,     0,   473,
    1541      152,     0,     0,     2,   165,   129,   154,     0,   182,     0,
    1542      129,     0,     2,   156,     0,     2,     0,     2,     2,     2,
    1543      196,    32,     0,   294,   516,   518,   509,     0,     0,     0,
    1544        0,   114,    38,     3,     3,   658,   630,   644,   680,   412,
    1545      129,   158,   161,     0,   160,   164,     3,   167,   166,     0,
    1546      129,   184,   129,     3,     0,   294,     0,   294,     0,     2,
    1547        0,     2,   139,   703,     2,   230,   231,     0,   227,   218,
    1548        0,     0,     0,   153,     0,     0,   163,   233,   168,     2,
    1549      235,   183,     0,   186,   172,   201,     3,   210,   214,   203,
    1550        3,     0,   294,     0,   294,     0,     0,     0,    39,    46,
    1551       44,   159,   162,   129,     0,   169,   294,   129,   129,     0,
    1552      173,     0,     0,   694,   211,   212,   213,     0,   202,     3,
    1553      204,     3,   294,   219,   232,   149,   170,   155,   129,   236,
    1554      185,   180,   178,   174,   157,   129,     0,   695,     0,     0,
    1555        0,     0,   150,   171,   181,   175,   179,   178,   176,     3,
    1556        3,     0,     0,   495,   177,   205,   207,     3,     3,   206,
    1557      208
     1458       0,     0,     0,     0,     0,     0,     0,     0,     0,   110,
     1459       2,   650,   456,   647,   551,   551,   655,   484,   296,     2,
     1460     589,   590,     0,   601,   602,     0,     2,   744,   747,   113,
     1461     296,     0,     2,   712,   297,   716,   707,   708,   714,     0,
     1462       2,     2,   672,   551,   755,   621,   551,   551,   755,   551,
     1463     635,   551,   551,   686,   438,   669,   551,   551,   677,   684,
     1464     296,   433,   297,     0,     0,   296,   722,   297,   727,   755,
     1465     719,   296,   724,   755,   296,   296,   296,     0,   113,     0,
     1466      18,     5,     2,     0,    19,     0,   463,   753,     0,     0,
     1467     469,   243,     0,   296,     0,     0,     0,   549,   573,   577,
     1468     579,   609,   612,   616,   619,   572,   611,     0,   286,   662,
     1469       0,   296,   279,     0,     0,     0,     0,   277,     2,     0,
     1470     261,   540,   296,     0,     0,     0,     0,   296,   296,     0,
     1471       0,   696,   385,   388,   392,   551,   392,   701,   391,   693,
     1472     551,   551,   367,   376,   384,   377,   551,   379,   382,   296,
     1473     754,     0,     0,   400,     0,   297,     3,   418,     3,   422,
     1474     421,   595,     0,   535,   296,    64,     3,   296,   437,   297,
     1475       3,   431,   432,     2,     0,     0,     0,   489,   308,   296,
     1476     485,   487,     3,     2,     2,     0,   506,     3,     0,   558,
     1477     131,     0,     0,   224,     0,     0,     0,     2,     0,     0,
     1478      36,     0,     0,   113,   296,    20,     0,    21,     0,   696,
     1479     452,     0,   111,     3,     2,    27,     2,     0,    33,     0,
     1480       2,    25,     0,   108,   107,   109,    74,    75,    76,    78,
     1481      79,    81,    82,    86,    87,    84,    85,    89,    90,    92,
     1482      94,    96,    98,   100,     0,     0,   756,   296,     0,     0,
     1483       0,   651,   652,   648,   649,   501,   500,   296,     0,   296,
     1484     718,   296,   723,   297,   296,   666,   296,   296,   709,   665,
     1485       2,   296,     0,     0,     0,     0,     0,     0,     0,     0,
     1486     687,     0,   673,   624,   640,   674,     2,   620,   627,   435,
     1487     622,   623,   436,     2,   634,   643,   636,   637,   670,   671,
     1488     685,   713,   717,   715,   755,   270,     2,   749,     2,   426,
     1489     721,   726,   427,     0,   405,     3,     3,     3,     3,   457,
     1490       3,     0,     2,   472,   468,   754,     0,   464,   471,     2,
     1491     467,   470,     0,   296,   244,   266,     3,   274,   276,     0,
     1492     457,     2,   575,   576,     2,   614,   615,     0,   663,   541,
     1493       3,   348,   347,   350,   349,   296,   542,     0,   543,   296,
     1494     378,   380,     2,     0,     0,     0,     0,   105,   394,   697,
     1495     698,   389,   393,   390,   694,   695,   383,   387,   296,   402,
     1496     396,   403,   753,     0,     0,   440,   242,     0,     0,     3,
     1497       2,   672,   433,     0,   531,     0,   755,   493,     0,   296,
     1498     296,   296,     0,   555,   557,   132,     0,     0,   217,     0,
     1499       0,     0,   225,   226,    56,     0,    62,   296,     0,    60,
     1500      59,     0,   130,   697,   462,    71,    72,   112,   117,     3,
     1501     111,     0,     0,     0,    24,    35,     3,     0,    32,   103,
     1502       0,     3,   654,   658,   661,   653,     3,   596,     3,   720,
     1503     725,     2,    64,   296,     3,     3,   297,     0,     3,   626,
     1504     630,   633,   642,   676,   680,   683,   296,     3,   625,   641,
     1505     675,   296,   296,   428,   296,   296,   750,     0,     0,     0,
     1506       0,   258,     0,   105,     0,     3,     3,     0,   465,     0,
     1507     461,     0,     0,   247,   296,     0,     0,   131,     0,     0,
     1508       0,     0,     0,   131,     0,     0,   111,   111,     2,     0,
     1509       0,     0,     3,   133,   134,     2,   145,   135,   136,   137,
     1510     138,   139,   140,   147,   149,     0,     0,     0,   287,   296,
     1511     296,   551,     0,   544,   296,   113,   700,   704,   706,   699,
     1512     386,   370,   401,     0,   583,     2,   668,   667,     0,   673,
     1513       2,   486,   488,   508,     3,   516,   517,     0,     2,   512,
     1514       3,     3,     0,     0,   560,   224,     0,     0,     0,   224,
     1515       0,     0,     3,    37,   753,   111,     0,     3,   665,    42,
     1516       3,    40,     3,    34,     0,     3,   102,   104,     0,     2,
     1517     656,   657,     0,     0,   296,     0,     0,     0,     3,   642,
     1518       0,     2,   628,   629,     2,   644,     2,   678,   679,     0,
     1519       0,    64,     0,     3,     3,     3,     3,   413,   412,   416,
     1520       2,     2,   752,   751,   114,     0,     0,     0,     0,     3,
     1521     466,     3,     0,   245,   148,     3,   297,   296,     0,     0,
     1522       0,     0,     2,   193,     0,   191,     0,     0,     0,     0,
     1523       0,     0,     0,     0,   113,     0,   551,   153,   150,   296,
     1524       0,     0,   269,   281,     3,     3,   550,   617,   371,     2,
     1525     702,   703,   399,   296,   268,   296,     0,   519,   496,   296,
     1526       0,     0,   495,   510,     0,     0,     0,   218,     0,   227,
     1527      57,   111,     0,     0,   118,   115,     0,     0,     0,     0,
     1528       0,     0,    23,     0,   659,   296,   584,   267,   728,   729,
     1529     730,     0,   681,   296,   296,   296,     3,     3,     0,   689,
     1530       0,     0,     0,     0,   296,   296,     3,   548,   473,   474,
     1531       0,     0,   248,   297,     0,     0,     0,     0,   296,   194,
     1532     192,     0,   189,   195,     0,     0,     0,     0,   199,   202,
     1533     200,   196,     0,   197,    35,   131,   146,   144,   246,     0,
     1534       0,   296,   420,   424,   423,     0,   513,     2,   514,     2,
     1535     515,   509,   296,   230,     0,   228,     0,   230,     3,   665,
     1536      31,   116,     2,    45,     2,    43,    41,    28,   114,    26,
     1537       3,   731,     3,     3,     3,     0,     0,   688,   690,   631,
     1538     645,   271,     2,   410,     3,   409,     0,   476,   473,   131,
     1539       0,     0,   131,     3,     0,   131,   190,     0,     2,     2,
     1540     211,   201,     0,     0,     0,     0,   142,   578,   618,     3,
     1541       2,     0,     0,     2,   231,     0,     0,   219,     0,     0,
     1542       0,     0,     0,     0,     0,     0,     0,   691,   692,   296,
     1543       0,   475,   154,     0,     0,     2,   167,   131,   156,     0,
     1544     184,     0,   131,     0,     2,   158,     0,     2,     0,     2,
     1545       2,     2,   198,    32,     0,   296,   518,   520,   511,     0,
     1546       0,     0,     0,   116,    38,     3,     3,   660,   632,   646,
     1547     682,   414,   131,   160,   163,     0,   162,   166,     3,   169,
     1548     168,     0,   131,   186,   131,     3,     0,   296,     0,   296,
     1549       0,     2,     0,     2,   141,   705,     2,   232,   233,     0,
     1550     229,   220,     0,     0,     0,   155,     0,     0,   165,   235,
     1551     170,     2,   237,   185,     0,   188,   174,   203,     3,   212,
     1552     216,   205,     3,     0,   296,     0,   296,     0,     0,     0,
     1553      39,    46,    44,   161,   164,   131,     0,   171,   296,   131,
     1554     131,     0,   175,     0,     0,   696,   213,   214,   215,     0,
     1555     204,     3,   206,     3,   296,   221,   234,   151,   172,   157,
     1556     131,   238,   187,   182,   180,   176,   159,   131,     0,   697,
     1557       0,     0,     0,     0,   152,   173,   183,   177,   181,   180,
     1558     178,     3,     3,     0,     0,   497,   179,   207,   209,     3,
     1559       3,   208,   210
    15581560};
    15591561
     
    15611563static const yytype_int16 yydefgoto[] =
    15621564{
    1563       -1,   840,   475,   302,    46,   132,   133,   303,   304,   305,
    1564      306,   786,   787,  1148,  1149,   307,   308,   309,   310,   311,
    1565      312,   313,   314,   315,   316,   317,   318,   319,   320,  1052,
    1566      526,   997,   322,   998,   555,   974,  1079,  1545,  1081,  1082,
    1567     1083,  1084,  1546,  1085,  1086,  1462,  1463,  1424,  1425,  1426,
    1568     1524,  1525,  1529,  1530,  1565,  1566,  1087,  1382,  1088,  1089,
    1569     1316,  1317,  1318,  1506,  1090,   144,   980,   981,   982,  1403,
    1570     1487,  1498,  1499,   476,   477,   902,   903,  1060,    49,    50,
    1571       51,    52,    53,   346,   157,    56,    57,    58,    59,    60,
    1572      348,    62,    63,   262,    65,    66,   273,   350,   351,    69,
    1573       70,    71,    72,   117,    74,   203,   353,   118,    77,   119,
    1574       79,    80,   462,    81,   456,   457,   458,   459,   701,   940,
    1575      702,    82,    83,   465,   463,   722,   882,   883,   356,   357,
    1576      725,   726,   727,   358,   359,   360,   361,   473,   340,   134,
    1577      135,   530,   324,   169,   655,   656,   657,   658,   659,    84,
    1578      120,    86,   496,   497,   966,   498,   276,   502,   325,    87,
    1579      136,   137,    88,  1340,  1126,  1127,  1128,  1129,    89,    90,
    1580      743,    91,   272,    92,    93,   186,  1054,   689,   411,   124,
    1581       94,   508,   509,   510,   187,   267,   189,   190,   191,   268,
    1582       97,    98,    99,   100,   101,   102,   103,   194,   195,   196,
    1583      197,   198,   852,   614,   615,   616,   617,   199,   619,   620,
    1584      621,   580,   581,   582,   583,   706,   104,   623,   624,   625,
    1585      626,   627,   628,   939,   708,   709,   710,   604,   364,   365,
    1586      366,   367,   326,   163,   106,   107,   108,   369,   720,   577
     1565      -1,   841,   477,   302,    47,   134,   135,   303,   304,   305,
     1566     306,   787,   788,  1150,  1151,   307,   382,   309,   310,   311,
     1567     312,   313,   314,   315,   316,   317,   318,   319,   320,   321,
     1568    1054,   528,   998,   323,   999,   556,   975,  1081,  1547,  1083,
     1569    1084,  1085,  1086,  1548,  1087,  1088,  1464,  1465,  1426,  1427,
     1570    1428,  1526,  1527,  1531,  1532,  1567,  1568,  1089,  1384,  1090,
     1571    1091,  1318,  1319,  1320,  1508,  1092,   146,   981,   982,   983,
     1572    1405,  1489,  1500,  1501,   478,   479,   903,   904,  1062,    51,
     1573      52,    53,    54,    55,   348,   159,    58,    59,    60,    61,
     1574      62,   350,    64,    65,   265,    67,    68,   275,   352,   353,
     1575      71,    72,    73,    74,   119,    76,   205,   355,   120,    79,
     1576     121,    81,    82,   464,    83,   458,   459,   460,   461,   702,
     1577     941,   703,    84,    85,   467,   465,   723,   883,   884,   358,
     1578     359,   726,   727,   728,   360,   361,   362,   363,   475,   341,
     1579     136,   137,   532,   325,   171,   656,   657,   658,   659,   660,
     1580      86,   122,    88,   498,   499,   967,   500,   278,   504,   326,
     1581      89,   138,   139,    90,  1342,  1128,  1129,  1130,  1131,    91,
     1582      92,   744,    93,   274,    94,    95,   188,  1056,   690,   413,
     1583     126,    96,   510,   511,   512,   189,   269,   191,   192,   193,
     1584     270,    99,   100,   101,   102,   103,   104,   105,   196,   197,
     1585     198,   199,   200,   853,   615,   616,   617,   618,   201,   620,
     1586     621,   622,   582,   583,   584,   585,   707,   106,   624,   625,
     1587     626,   627,   628,   629,   940,   709,   710,   711,   605,   366,
     1588     367,   368,   369,   327,   165,   108,   109,   110,   371,   721,
     1589     579
    15871590};
    15881591
    15891592/* YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing
    15901593   STATE-NUM.  */
    1591 #define YYPACT_NINF -1332
     1594#define YYPACT_NINF -1415
    15921595static const yytype_int16 yypact[] =
    15931596{
    1594     3506,  8076, -1332,    12, -1332, -1332, -1332, -1332, -1332, -1332,
    1595    -1332,    61, -1332, -1332, -1332, -1332, -1332, -1332, -1332, -1332,
    1596    -1332, -1332, -1332, -1332, -1332, -1332,   102,   102,   102,  1011,
    1597     1062,    86,  5961,   228, -1332, -1332, -1332, -1332, -1332,   138,
    1598    -1332, -1332, -1332,   684,   144,  9470, -1332, -1332, -1332, -1332,
    1599    -1332, -1332,   190,   182, -1332,  1658, -1332, -1332, -1332, -1332,
    1600      201,  1834,   303,    32,  4928, -1332, -1332,  9508,  1650, -1332,
    1601    -1332, -1332,   615,   401,  4443,   184,   589,   615,  1225, -1332,
    1602    -1332,   848,   938, -1332,   615,  1259, -1332,   301, -1332,   486,
    1603      503, -1332, -1332, -1332, -1332,   316,   182,   102, -1332,   102,
    1604    -1332, -1332, -1332, -1332,  9240,  1658, -1332, -1332,  1658, -1332,
    1605     9354,   391, -1332, -1332, -1332,  1948,  9876, -1332,   810,   810,
    1606      810, -1332, -1332, -1332,   102, -1332, -1332, -1332,   426,   447,
    1607      456, -1332, -1332, -1332,   477, -1332, -1332, -1332, -1332, -1332,
    1608      485,   495, -1332, -1332,    36,  8974,  2459,   272,   545,   579,
    1609      623,   632,   671,   733,  8777,  7372,   596,   719, -1332,  9546,
    1610    -1332, -1332, -1332, -1332,   739, -1332,   209,  3245,  3245, -1332,
    1611      760,   213, -1332, -1332, -1332, -1332,   770,   237,   353,   362,
    1612      102,   755, -1332, -1332,  1834,  1803,   846, -1332,    70, -1332,
    1613      102,   102,   182, -1332, -1332,    98, -1332,   102,   102, -1332,
    1614     2479,   820,   843,   810,  5405, -1332, -1332,   844,  9470, -1332,
    1615    -1332,   615, -1332, -1332, -1332,   182, -1332,  1658,   190, -1332,
    1616     7926, -1332,   810,   810,   810,   182, -1332,  1011, -1332,  2880,
    1617    -1332, -1332,   827,   810, -1332,   810, -1332,   138,  8974,  8891,
    1618      857, -1332,  1062,   864,   810, -1332,  1011,   870,   879, -1332,
    1619     5961,   735, -1332, -1332, -1332,  9437, -1332, -1332,  3894, -1332,
    1620      846,    69,  9876,  6310,  1948,  2479, -1332,   114, -1332, -1332,
    1621     9354,  1658,   875, 11374, -1332, -1332,   546, -1332, 11116,   886,
    1622      926, 10861,   905, 10919, 10938, -1332,   919, -1332, -1332, -1332,
    1623    -1332, 10996, 10996,   735,  8632,   928, 10919,  9088, -1332, -1332,
    1624    -1332, -1332, -1332, -1332,   949, -1332,   840,  2531, 10919, -1332,
    1625      516,   336,   425,   270,   704,   934,   936,   960,   997,    52,
    1626    -1332, -1332,   974,   356, -1332,   290, -1332, -1332,  2459, -1332,
    1627    -1332,   600,   996, -1332,   701,   996,  1007,   138, -1332, -1332,
    1628     1010,  9240, -1332,  1018,  8746, -1332, -1332,  1849,  1084,  8347,
    1629     5405,   615, -1332,   615,   810,   810, -1332, -1332, -1332, -1332,
    1630    -1332, -1332,   810,  9914,  1658, -1332, -1332,  9987,  1975, -1332,
    1631     9012, -1332, -1332, -1332, -1332, -1332, -1332, -1332,  1030,  3059,
    1632    10919, -1332, -1332, -1332, -1332, -1332, -1332, -1332, -1332, -1332,
    1633    -1332, -1332, -1332, -1332, -1332,  1948, -1332,   773,  1012,  1034,
    1634     1040,   889,  1045,  1051,  1053,  1803, -1332, -1332,  1063,   190,
    1635     1064, -1332, -1332,  1066, -1332, -1332, -1332,  9437, -1332, -1332,
    1636    -1332, -1332, -1332,  2479, -1332,  8974,  8974, -1332,   810,  1948,
    1637     6923,  1658,  8420, -1332, -1332, -1332, -1332,  9437,    69, -1332,
    1638    -1332,   615,   182, -1332, -1332,  9437, -1332,  3625, -1332, -1332,
    1639      810,   810,   464, 10025,  1068,   907,  9695, -1332,   437,   475,
    1640     1062, -1332,  1067,  1069,  1047,  1070,   810, -1332, -1332, -1332,
    1641    -1332, 10283, -1332,   522,  6793, -1332,   182,  1074, -1332,  1948,
    1642    11198,  6368, -1332, -1332, -1332, -1332,   939,  2479, -1332,  8493,
    1643      846,  5374, -1332, -1332, -1332,   828,   610,   974,  1062, 11374,
    1644      861,  9354, -1332, 11374, -1332, -1332, -1332, -1332,   618, -1332,
    1645     1073,   926,   326,  8632, -1332, 10025, -1332, -1332,  8632, -1332,
    1646     8860,  8632, -1332, -1332, -1332,  1077, -1332,   619,  1082,   630,
    1647     1087, -1332,  5066,  7012, -1332, -1332, -1332,    47, -1332, -1332,
    1648    10784, -1332,   474, 10784, -1332, -1332, -1332, -1332, -1332, -1332,
    1649    -1332, -1332, -1332, -1332,  6310,  6310, -1332, 10919, 10919, 10919,
    1650    10919, 10919, 10919, 10919, 10919, 10919, 10919, 10919, 10919, 10919,
    1651    10919, 10919, 10919, 10919, 10919,  4001,  6310, -1332,   356,   777,
    1652    -1332, -1332,   102,   102, -1332, -1332,  8974, -1332, -1332,  1066,
    1653      735, -1332,  1066, 10842, -1332, -1332, -1332,  6075,  7012,  1086,
    1654     9202,  1093, -1332, 10055, -1332, -1332,   739, -1332,  1094,   690,
    1655     1096,  1090,   157,   974, -1332,   102,   102,   974,   166, -1332,
    1656      102,   102,  1066, -1332, -1332,   102,   102, -1332,   996, 10137,
    1657     1658, 11343,   372,   531, 10137, -1332,  6678, -1332,   974, -1332,
    1658     9914, -1332,   285,  8042,  8042,  8042,  1658, -1332,  5183,  1085,
    1659      453,  1030,   955,  1095,  1097, -1332,  1099,  3245,   590, -1332,
    1660     1182,  1658,  8042,   735,  1948,   735,   846,   706,   996, -1332,
    1661    -1332,   806,   996, -1332, -1332, -1332,   926, -1332,   996,   182,
    1662    10283, -1332,   647,  1107,   688,  1108, -1332,  1109,   182, -1332,
    1663    -1332,  9437,   182,  1105,   497,   502, 10167,  7492,  1400, 10919,
    1664     1678, -1332, -1332,  1103,    62,  1103, -1332, -1332, -1332,   102,
    1665      102, -1332, -1332,  1062, -1332,   102, -1332, -1332,  8891,  1062,
    1666     1110, 10919, -1332,  1062, 11343, -1332, -1332,  1113, -1332, -1332,
    1667    -1332,   735, -1332, 11271, 10919, -1332,  8042,   718,  8347, -1332,
    1668    -1332,   739,  1114,  1115,   828,  2655, -1332, -1332, 11374, -1332,
    1669    -1332,  1116, -1332, -1332,  1122, -1332,  1116,  1123, 11116,  6310,
    1670      163,  1092,    54,  1131,  1128,  1135,   928,  1130,  1138, -1332,
    1671     1140,  1141,  9733,  7132, -1332,  6310, -1332,   630,  1274, -1332,
    1672     5523,  6310,  1139, -1332, -1332,  1030,   695, -1332,  6310, -1332,
    1673    -1332,   741, -1332, -1332, -1332, -1332, -1332,   516,   516,   336,
    1674      336,   425,   425,   425,   425,   270,   270,   704,   934,   936,
    1675      960,   997, 10919,   754, -1332, 10283,  1150,  1151,  1153,   777,
    1676    -1332, -1332, -1332, -1332, -1332, 10283,   748, 10919,  8042, -1332,
    1677     9914, -1332,  7612,  9316,  9126,  7372, -1332, -1332, -1332,   690,
    1678    10283,   950,  1164,  1165,  1171,  1172,  1179,  1180,  1181, -1332,
    1679     3591,  1090, -1332, -1332, -1332, -1332, -1332, -1332, -1332, -1332,
    1680    -1332, -1332, -1332, -1332, -1332, -1332, -1332, -1332, -1332,  1066,
    1681    -1332, -1332, -1332,   974, -1332, -1332, -1332, -1332, -1332, -1332,
    1682    -1332, -1332,  1183, -1332,  1184,  1187, -1332, -1332,   190,  1139,
    1683     5183, -1332, -1332, -1332,  3059,  1185, -1332, -1332, -1332, -1332,
    1684    -1332,  1062,  6532,  1270, -1332, -1332, -1332, -1332,  1173,   190,
    1685    -1332, -1332,  1066, -1332, -1332,  1066,   152,  1066, -1332, -1332,
    1686    -1332, -1332, -1332, -1332,  9584, -1332,   182, -1332,  8891, -1332,
    1687    -1332,  1193,   795,  1199,  1200,  1204, -1332, -1332,  1678, -1332,
    1688    -1332, -1332, -1332, -1332, -1332, -1332,   907,  9763,  1047, -1332,
    1689    -1332,  1069,  1205,  1201, -1332, -1332,  1206,  1207, -1332,   718,
    1690     1989, -1332,   634, -1332,  2655,   974, -1332,  1211, 11374, 10205,
    1691     8974,  1214, -1332, -1332,  1212,  1217,  1213, -1332, 10919,   229,
    1692      205,  1215, -1332,  1202,   735,  1202,  7012,  6310, -1332, -1332,
    1693     1202, -1332,  1274,  3059, -1332, -1332, -1332, -1332,  1220,  6310,
    1694     1228,   735,  5183, -1332, 10784, -1332,   735, -1332, -1332,  6310,
    1695    -1332,   863,   996, -1332, -1332, -1332, -1332, -1332, -1332, -1332,
    1696     1030,  8746, -1332, -1332,  7732,  1219, -1332,   876,   996, -1332,
    1697      883,   896,   996, -1332,   810,  4775, -1332, -1332, -1332, 10283,
    1698    10283, -1332,  8420,  8420, -1332,  1221,  1226,  1233,  1235, -1332,
    1699     1234,   643,   137,  1139, -1332,   735, -1332,  3245, -1332,  6310,
    1700      517, -1332,  6892,  1245,  1249, 10726,  1253,  1258,   330,   380,
    1701      387,  6310,  1265,   182,  6310,  6310,  1256,   294,  1269,  1250,
    1702    -1332, -1332, -1332,  1277, -1332, -1332, -1332, -1332, -1332, -1332,
    1703    -1332, -1332, -1332,  1062,  1285,  6310, -1332, 10283, 10283,   102,
    1704     1287, -1332,  9845,  9622,   932,   996, -1332, -1332, -1332, -1332,
    1705    -1332,  1286, -1332, -1332, -1332, -1332,  1293,  1989, -1332, -1332,
    1706     1275, -1332,  1116, -1332, -1332,  1948,  1290, -1332, -1332, -1332,
    1707      749,  1292, -1332,    54,  1295, 10919,  1279,    54,    54,  1305,
    1708     1301, -1332,  1099,  6310,  1308,  1220,   605,    89,  1306, -1332,
    1709     1301, -1332,  1312,  1306, -1332, -1332,  1317, -1332, -1332,  1066,
    1710     1319,  1322,  7252,  1323,  1325,  1326, -1332, -1332,  1329, -1332,
    1711    -1332,  1066, -1332, -1332, -1332, -1332,  1066,  6310,  6310, 10919,
    1712     1330, -1332, -1332, -1332, -1332, -1332, -1332, -1332, -1332, -1332,
    1713    -1332, -1332, -1332, 10919, 10919,  1332,  1335,  1306, -1332, -1332,
    1714     1062, -1332, -1332, -1332,  7853, 10205,  6310,  6310,  1394,  6310,
    1715    -1332, -1332,  1321, -1332,  1324,  6310,  1327,  1331,  6310,  1013,
    1716     1333,    97,  8265,  1262,   102, -1332, -1332,  6532,  1334,   537,
    1717    -1332, -1332, -1332, -1332, -1332, -1332, -1332, -1332, -1332,  1066,
    1718    -1332, 10544, -1332,  8493,  1345, -1332, -1332, 10205,   562,   563,
    1719    -1332,  1343,  1344,   926,  1352, -1332,   450, -1332, -1332,  6310,
    1720     1355,  1349, -1332, -1332,  1356,   543,   613,   735,  1357,  1358,
    1721    -1332,  1361, -1332, 10283, -1332, -1332, -1332, -1332, -1332,  1365,
    1722    -1332, 10283, 10283, 10283, -1332, -1332,  1367, -1332,  1368,  1371,
    1723     1372,   668,  8115,  8231, -1332, -1332,   457, -1332,  1376,  1378,
    1724    -1332,  8566,   750,   782,  1387,   793,  6762, -1332, -1332,   598,
    1725    -1332, -1332,   803,  1388,  1393,   182,  1445,   882, -1332, -1332,
    1726     6310, -1332, 10784, 10726, -1332, -1332, -1332,  1396,  1404, 10283,
    1727    -1332, -1332, -1332,  1401, -1332, -1332, -1332, -1332, -1332, -1332,
    1728    10205,   926,   254, -1332,  1384,   926,  1220,   366, -1332, -1332,
    1729    -1332, -1332, -1332, -1332, -1332, -1332,  1405, -1332, -1332, -1332,
    1730    -1332, -1332, -1332,  1406,  1409, -1332, -1332, -1332, -1332, -1332,
    1731    -1332, -1332,  1414, -1332,  1413, -1332, -1332, 10726,    84,  6310,
    1732    10726, -1332,  1417,  6310, -1332,    99,  1433,  1434, -1332, -1332,
    1733     1422,  1425,  1408,   852, -1332, -1332, -1332, -1332, -1332,  1658,
    1734     1948,  1421,   949,   918, 10919, -1332,   832,  1426,  6310,   735,
    1735      735,  1427,  1431,  1440,  1441, -1332, -1332,  8420,  1428, -1332,
    1736     1501, 10919,  1437, -1332, -1332, 10637, -1332,   845, -1332,  1424,
    1737    10726,  1436, -1332, -1332,  1460, -1332,  1461, -1332,  1476,  1481,
    1738    -1332,  1446,  1471, 10205, -1332, -1332, -1332,   926,   735,  1472,
    1739     1452,  1468, -1332,  1306,  1306, -1332, -1332, -1332, -1332, -1332,
    1740    10726,   295, -1332,   940, -1332, -1332,  5671, -1332, -1332,  1454,
    1741     6310, -1332,  6310,  5671,   182, 10025,   182, 10025,  1478, -1332,
    1742     1482, -1332, -1332, -1332,  1480,   949, -1332,   850, -1332, -1332,
    1743     6310,  1479,  1487, -1332, 10919, 10919, -1332, -1332,  1054,   123,
    1744    -1332, -1332,  1465, -1332,  1054, -1332, -1332,  1818,   735, -1332,
    1745    -1332,   182, 10025,   182, 10025,  1492,  1474,   735, -1332, -1332,
    1746    -1332, -1332, -1332, 10637,  1488,  1054,  6242,  6310, 10548,  1495,
    1747     1054,  1502,  1818,  2347, -1332, -1332, -1332,  1505, -1332, -1332,
    1748    -1332, -1332,  8974, -1332, -1332, -1332, 10415, -1332, 10637, -1332,
    1749    -1332,  1484, 10322, -1332, -1332, 10548,   182,  2347,   182,  1509,
    1750     1510,   853, -1332, 10415, -1332, -1332, -1332, 10322, -1332, -1332,
    1751    -1332,   182,   182, -1332, -1332, -1332, -1332, -1332, -1332, -1332,
    1752    -1332
     1597    5982,  2486, -1415,    39, -1415, -1415, -1415, -1415, -1415, -1415,
     1598   -1415,    37, -1415, -1415, -1415, -1415, -1415, -1415, -1415, -1415,
     1599   -1415, -1415, -1415, -1415, -1415, -1415,   150,   150,   150,   883,
     1600    1004,    94,  7768,   226, -1415, -1415, -1415, -1415, -1415,   190,
     1601   -1415, -1415, -1415,   566,   197, -1415, -1415, -1415, -1415,  4778,
     1602   -1415, -1415, -1415, -1415,    71,   218, -1415,  1795, -1415, -1415,
     1603   -1415, -1415,   159,  1502,   356,    95,  7886, -1415, -1415,  9651,
     1604    1452, -1415, -1415, -1415,  1148,   382,  7314,   127,  1277,  1148,
     1605    1282, -1415, -1415,   835,   743, -1415,  1148,  1425, -1415,   224,
     1606   -1415,   372,   420, -1415, -1415, -1415, -1415,   355,   218,   150,
     1607   -1415,   150, -1415, -1415, -1415, -1415,  9310,  1795, -1415, -1415,
     1608    1795, -1415,   381, -1415,  9425, -1415, -1415,  1673,  9936, -1415,
     1609     857,   857,   857, -1415, -1415, -1415,   150, -1415, -1415, -1415,
     1610     415,   434,   442, -1415, -1415, -1415,   445, -1415, -1415, -1415,
     1611   -1415, -1415,   469,   472, -1415, -1415,    60,  9164,  1776,   548,
     1612     459,   483,   513,   516,   523,   558,  3516,  7283,   478,   562,
     1613   -1415,  9681, -1415, -1415, -1415, -1415,   571, -1415,   166,  5118,
     1614    5118, -1415,   568,   235, -1415, -1415, -1415, -1415,   582,   294,
     1615     296,   337,   150,   593, -1415, -1415,  1502,  3173,   651, -1415,
     1616      85, -1415,   150,   150,   218, -1415, -1415,   129, -1415,   150,
     1617     150, -1415,  3441,   621,   639,   857,  7072, -1415, -1415,   658,
     1618    4778, -1415, -1415,  1148, -1415, -1415, -1415,   218, -1415,  1795,
     1619      71, -1415,  8227, -1415,   857,   857,   857,   218, -1415,   883,
     1620   -1415,  6824, -1415, -1415,   643,   857, -1415,   857, -1415,   190,
     1621    9164,  9195,   664, -1415,  1004,   669,   857, -1415,   883,   656,
     1622     665, -1415,  7768,   626, -1415, -1415, -1415,  3929, -1415, -1415,
     1623    7677, -1415,   651,    75, 10735,  9936,  1673,  3441, -1415,   133,
     1624   -1415, -1415,  9425,  1795,   704,  7917, -1415, -1415,   104, -1415,
     1625    6175,   719,   768,  3584,   749, 10891, 10910, -1415,   754, -1415,
     1626   -1415, -1415, -1415, 10969, 10969,   626,  8934,   759, -1415, -1415,
     1627   -1415, -1415, -1415, -1415,   804, -1415,  1188,  2145,  9279, 10891,
     1628   -1415,   608,   362,   902,   264,   848,   769,   765,   771,   811,
     1629      86, -1415, -1415,   791,   655, -1415,   265, -1415, -1415,  1776,
     1630   -1415, -1415,   646,   816, -1415,   733,   816,   827,   190, -1415,
     1631   -1415,   843,  9310, -1415,   863,   867,  9394, -1415, -1415,  1543,
     1632    1631,  8652,  7072,  1148, -1415,  1148,   857,   857, -1415, -1415,
     1633   -1415, -1415, -1415, -1415,   857,  9310,  1795, -1415, -1415,  9975,
     1634    1690, -1415,  5551, -1415, -1415, -1415, -1415, -1415, -1415, -1415,
     1635     871,  4213, 10891, -1415, -1415, -1415, -1415, -1415, -1415, -1415,
     1636   -1415, -1415, -1415, -1415, -1415, -1415, -1415,  1673, -1415,   858,
     1637     876,   889,   910,   923,   913,   926,   930,  3173, -1415, -1415,
     1638     935,    71,   934, -1415, -1415,   943, -1415, -1415, -1415,  3929,
     1639   -1415, -1415, -1415, -1415, -1415,  3441, -1415,  9164,  9164, -1415,
     1640     857,  1673,  7193,  1795,  8724, -1415, -1415, -1415, -1415,  3929,
     1641      75, -1415, -1415,  1148,   218, -1415, -1415,  3929, -1415,  6951,
     1642   -1415, -1415,   857,   857,   307, 10047,   953,  1611,  5340, -1415,
     1643     373,   433,  1004, -1415,   969,   990,   978,   999,   857, -1415,
     1644   -1415, -1415, -1415, 10233, -1415,   344,  3302, -1415,   218,  1003,
     1645   -1415,  1673, 11091, 10754, -1415, -1415, -1415, -1415,   940,  3441,
     1646   -1415,  8796,   651,  6477, -1415, -1415, -1415,   671,   369,   791,
     1647    1004,  7917,  1090,  9425, -1415,  7917, -1415, -1415, -1415, -1415,
     1648     371, -1415,  1010,   768,   164,  8934, -1415, 10047, -1415, -1415,
     1649    8934, -1415,  9049,  8934, -1415, -1415, -1415,  1015, -1415,   578,
     1650    1019,   823,  1029, -1415,  4588,  6920, -1415,   492, -1415, -1415,
     1651   10813, -1415,   517, 10813, -1415, -1415, -1415, -1415, -1415, -1415,
     1652   -1415, -1415, -1415, -1415, 10735, 10735, 10735, -1415, -1415, 10891,
     1653   10891, 10891, 10891, 10891, 10891, 10891, 10891, 10891, 10891, 10891,
     1654   10891, 10891, 10891, 10891, 10891, 10891, 10891,  5748, 10735, -1415,
     1655     655,  1111, -1415, -1415,   150,   150, -1415, -1415,  9164, -1415,
     1656   -1415,   943,   626, -1415,   943, 10832, -1415, -1415, -1415,  9540,
     1657    6920,  1035,  1047, -1415,  9936, -1415, -1415,   571, -1415,  1050,
     1658    1305,  1059,  1931,   251,   791, -1415,   150,   150,   791,   292,
     1659   -1415,   150,   150,   943, -1415, -1415,   150,   150, -1415,   816,
     1660   10086,  1795, 11236,   599,   625, 10086, -1415,  7677, -1415,   791,
     1661   -1415,  9310, -1415,   313,  8344,  8344,  8344,  1795, -1415,  6348,
     1662    1064,   505,   871,   956,  1071,  1072, -1415,  1076,  5118,   527,
     1663   -1415,  1165,  1795,  8344,   626,  1673,   626,   651,   796,   816,
     1664   -1415, -1415,   839,   816, -1415, -1415, -1415,   768, -1415,   816,
     1665     218, 10233, -1415,   600,  1092,   612,  1093, -1415,  1088,   218,
     1666   -1415, -1415,  3929,   218,  1091,   460,   480,  9975,  7404,  1925,
     1667   10891,  2323, -1415, -1415,  1089,    48,  1089, -1415, -1415, -1415,
     1668     150,   150, -1415, -1415,  1004, -1415,   150, -1415, -1415,  9195,
     1669    1004,  1094, 10891, -1415,  1004, 11236, -1415, -1415,  1098, -1415,
     1670   -1415, -1415,   626, -1415, 11164,   867, -1415,  8344,   869,  8652,
     1671   -1415, -1415,   571,  1096,  1097,   671,  1911, -1415, -1415,  7917,
     1672   -1415, -1415,  1099, -1415, -1415,  1105, -1415,  1099,  1107,  6175,
     1673   10735,   180,  1106,    43,  1115,  1110,  1127,   759,  1104,  1130,
     1674   -1415,  1134,  1135,  9080,  7041, -1415, 10735, -1415,   823,  1132,
     1675   -1415,  6491, 10735,  1131, -1415, -1415,   871,   652, -1415, 10735,
     1676   -1415, -1415,   893, -1415, -1415, -1415, -1415, -1415, -1415,   608,
     1677     608,   362,   362,   902,   902,   902,   902,   264,   264,   848,
     1678     769,   765,   771,   811, 10891,   942, -1415, 10233,  1142,  1143,
     1679    1144,  1111, -1415, -1415, -1415, -1415, -1415, 10233,   677,  8344,
     1680   -1415,  9310, -1415,  7525,  9509, -1415,  5551,  7283, -1415, -1415,
     1681    1305, 10233,   963,  1150,  1152,  1153,  1155,  1160,  1167,  1170,
     1682   -1415,  2993,  1931, -1415, -1415, -1415, -1415, -1415, -1415, -1415,
     1683   -1415, -1415, -1415, -1415, -1415, -1415, -1415, -1415, -1415, -1415,
     1684     943, -1415, -1415, -1415,   791, -1415, -1415, -1415, -1415, -1415,
     1685   -1415, -1415, -1415,  1172, -1415,  1173,  1190, -1415, -1415,    71,
     1686    1131,  6348, -1415, -1415, -1415,  4213,  1183, -1415, -1415, -1415,
     1687   -1415, -1415,  1004,  6659,  1230, -1415, -1415, -1415, -1415,  1174,
     1688      71, -1415, -1415,   943, -1415, -1415,   943,    58,   943, -1415,
     1689   -1415, -1415, -1415, -1415, -1415,  9792, -1415,   218, -1415,  9195,
     1690   -1415, -1415,  1163,   951,  1193,  1194,  1201, -1415, -1415,  2323,
     1691   -1415, -1415, -1415, -1415, -1415, -1415, -1415,  1611,  9822,   978,
     1692   -1415, -1415,   990,  1204,  1200, -1415, -1415,  1205,  1209, -1415,
     1693     869,  2648, -1415,   707, -1415,  1911,   791, -1415,  1212,  7917,
     1694   10116,  9164,  1218, -1415, -1415,  1213,  1220,  1214, -1415, 10891,
     1695     237,   326,  1216, -1415,  1222,   626,  1222,  6920, 10735, -1415,
     1696   -1415,  1222, -1415,  1132,  4213, -1415, -1415, -1415, -1415,  1221,
     1697   10735,  1226,   626,  6348, -1415, 10813, -1415,   626, -1415, -1415,
     1698   10735, -1415,   852,   816, -1415, -1415, -1415, -1415, -1415, -1415,
     1699   -1415,   871,   867,  9394, -1415, -1415,  7646,  1229, -1415,   894,
     1700     816, -1415,   903,   908,   816, -1415,   857,  5019, -1415, -1415,
     1701   -1415, 10233, 10233, -1415,  8724,  8724, -1415,  1228,  1231,  1236,
     1702    1239, -1415,  1240,   725,   279,  1131, -1415,   626, -1415,  5118,
     1703   -1415, 10735,   497, -1415,  6793,  1242,  1246, 10605,  1250,  1251,
     1704     375,   388,   366, 10735,  1262,   218, 10735, 10735,  1260,   395,
     1705    1266,  1245, -1415, -1415, -1415,  1271, -1415, -1415, -1415, -1415,
     1706   -1415, -1415, -1415, -1415, -1415,  1004,  1280, 10735, -1415, 10233,
     1707   10233,   150,  1281, -1415,  9905,  4588,   917,   816, -1415, -1415,
     1708   -1415, -1415, -1415,  1279, -1415, -1415, -1415, -1415,  1286,  2648,
     1709   -1415, -1415,  1269, -1415,  1099, -1415, -1415,  1673,  1284, -1415,
     1710   -1415, -1415,   685,  1288, -1415,    43,  1292, 10891,  1276,    43,
     1711      43,  1299,  1297, -1415,  1076, 10735,  1306,  1221,   699,   135,
     1712    1301, -1415,  1297, -1415,  1316,  1301, -1415, -1415,  1320, -1415,
     1713   -1415,   943,  1329,  1336,  7162,  1335,  1338,  1341, -1415, -1415,
     1714    1352, -1415, -1415,   943, -1415, -1415, -1415, -1415,   943, 10735,
     1715   10735,   867,  1354, -1415, -1415, -1415, -1415, -1415, -1415, -1415,
     1716   -1415, -1415, -1415, -1415, -1415, 10891, 10891,  1356,  1358,  1301,
     1717   -1415, -1415,  1004, -1415, -1415, -1415,  8155, 10116, 10735, 10735,
     1718    1402, 10735, -1415, -1415,  1339, -1415,  1343, 10735,  1344,  1346,
     1719   10735,  1138,  1347,    66,  8568,  1818,   150, -1415, -1415,  6659,
     1720    1365,   503, -1415, -1415, -1415, -1415, -1415, -1415, -1415, -1415,
     1721   -1415,   943, -1415, 10731, -1415,  8796,  1371, -1415, -1415, 10116,
     1722     534,   544, -1415,  1374,  1378,   768,  1386, -1415,   485, -1415,
     1723   -1415, 10735,  1387,  1388, -1415, -1415,  1392,   596,   610,   626,
     1724    1393,  1398, -1415,  1403, -1415, 10233, -1415, -1415, -1415, -1415,
     1725   -1415,  1404, -1415, 10233, 10233, 10233, -1415, -1415,  1405, -1415,
     1726    1407,  1413,  1415,   744,  8418,  8535, -1415, -1415,   267, -1415,
     1727    1414,  1418, -1415,  8868,   688,   717,  1422,   722,  6277, -1415,
     1728   -1415,   570, -1415, -1415,   730,  1423,  1426,   218,  1455,  1034,
     1729   -1415, -1415, 10735, -1415, 10813, 10605, -1415, -1415, -1415,  1417,
     1730    1427, 10233, -1415, -1415, -1415,  1428, -1415, -1415, -1415, -1415,
     1731   -1415, -1415, 10116,   768,   278, -1415,  1409,   768,  1221,   436,
     1732   -1415, -1415, -1415, -1415, -1415, -1415, -1415, -1415,  1429, -1415,
     1733   -1415, -1415, -1415, -1415, -1415,  1431,  1432, -1415, -1415, -1415,
     1734   -1415, -1415, -1415, -1415,  1441, -1415,  1443, -1415, -1415, 10605,
     1735     146, 10735, 10605, -1415,  1459, 10735, -1415,   163,  1467,  1476,
     1736   -1415, -1415,  1465,  1472,  1450,   984, -1415, -1415, -1415, -1415,
     1737   -1415,  1795,  1673,  1468,   804,  1016, 10891, -1415,   770,  1483,
     1738   10735,   626,   626,  1489,  1491,  1496,  1497, -1415, -1415,  8724,
     1739    1492, -1415,  1574, 10891,  1506, -1415, -1415, 10515, -1415,   773,
     1740   -1415,  1487, 10605,  1498, -1415, -1415,  1518, -1415,  1523, -1415,
     1741    1540,  1541, -1415,  1509,  1532, 10116, -1415, -1415, -1415,   768,
     1742     626,  1533,  1513,  1529, -1415,  1301,  1301, -1415, -1415, -1415,
     1743   -1415, -1415, 10605,   282, -1415,  1020, -1415, -1415,  8004, -1415,
     1744   -1415,  1515, 10735, -1415, 10735,  8004,   218, 10047,   218, 10047,
     1745    1538, -1415,  1546, -1415, -1415, -1415,  1536,   804, -1415,   780,
     1746   -1415, -1415, 10735,  1545,  1547, -1415, 10891, 10891, -1415, -1415,
     1747    1123,    97, -1415, -1415,  1521, -1415,  1123, -1415, -1415,  2006,
     1748     626, -1415, -1415,   218, 10047,   218, 10047,  1549,  1528,   626,
     1749   -1415, -1415, -1415, -1415, -1415, 10515,  1548,  1123,  8081, 10735,
     1750   10425,  1550,  1123,  1552,  2006,  2821, -1415, -1415, -1415,  1554,
     1751   -1415, -1415, -1415, -1415,  9164, -1415, -1415, -1415, 10331, -1415,
     1752   10515, -1415, -1415,  1534, 10237, -1415, -1415, 10425,   218,  2821,
     1753     218,  1557,  1559,   837, -1415, 10331, -1415, -1415, -1415, 10237,
     1754   -1415, -1415, -1415,   218,   218, -1415, -1415, -1415, -1415, -1415,
     1755   -1415, -1415, -1415
    17531756};
    17541757
     
    17561759static const yytype_int16 yypgoto[] =
    17571760{
    1758    -1332,  4383,  1919, -1332,  1457, -1332,    41,     0,  -257, -1332,
    1759      544,  -527,  -514,  -956,  -190,  3713, -1332,  1485,   580,   585,
    1760      548,   602,  1055,  1052,  1056,  1059,  1061, -1332,  -217,  -341,
    1761     5350,  -699,  -697,  -922, -1332,   -83,  -701,  -678, -1332,   561,
    1762    -1332,   399, -1087, -1332, -1332,   141, -1332, -1329,  -838,   252,
    1763    -1332, -1332, -1332, -1332,    71, -1078, -1332, -1332, -1332, -1332,
    1764    -1332, -1332,   325, -1308,    57, -1332,  -297, -1332,   504,   305,
    1765    -1332,   173, -1332,  -305, -1332, -1332, -1332,   558,  -799, -1332,
    1766    -1332,    11, -1027,   151,   658, -1332, -1332, -1332,   -52, -1332,
    1767      117,   913,  -200,  1494,  4071, -1332, -1332,    19,   107,   365,
    1768     -232,  1565, -1332,  2150, -1332, -1332,   134,  2571, -1332,  3063,
    1769     1550, -1332, -1332, -1332,  -643,  -431,  1210,  1216,   707,   947,
    1770      188, -1332, -1332, -1332,   945,   723,  -404, -1332,  -520,  -362,
    1771      293, -1332, -1332,  -990,  -995,   965,  1194,  1083,   304, -1332,
    1772      150,   317,   -75,  -197,  -129,   679,   781, -1332,  1020, -1332,
    1773     3338,  1566,  -427,   948, -1332, -1332,   710, -1332,  -230, -1332,
    1774      -89, -1332, -1332, -1332, -1266,   433, -1332, -1332, -1332,  1195,
    1775    -1332,    22, -1332, -1332,  -865,  -105, -1331,   -98,  1750, -1332,
    1776     2253, -1332,   929, -1332,  -168,   288,  -180,  -179,  -173,     2,
    1777      -34,   -29,   -28,   687,    75,    77,    92,  -161,  -162,  -153,
    1778     -151,  -148,  -320,  -530,  -516,  -495,  -552,  -307,  -529, -1332,
    1779    -1332,  -506,  1106,  1117,  1121,  2218,  5180,  -562,  -569,  -544,
    1780     -538,  -550, -1332,  -429,  -691,  -685,  -671,  -611,  -246,  -241,
    1781    -1332, -1332,  1149,   273,   -84, -1332,  3714,    76,  -612,  -441
     1761   -1415,  4737,  3351, -1415,   455, -1415,    41,     0,  -262, -1415,
     1762     592,  -524,  -481,  -976,   -32,  3487,  1327, -1415,  -108,   613,
     1763     615,   537,   614,  1100,  1103,  1108,  1109,  1112, -1415,   543,
     1764    -570,  5379,  -852,  -699,  -945, -1415,  -234,  -722,  -516, -1415,
     1765     705, -1415,   452, -1136, -1415, -1415,   192, -1415, -1082,  -770,
     1766     303, -1415, -1415, -1415, -1415,   128, -1414, -1415, -1415, -1415,
     1767   -1415, -1415, -1415,   383, -1192,    80, -1415,  -222, -1415,   551,
     1768     357, -1415,   227, -1415,  -321, -1415, -1415, -1415,   617,  -831,
     1769   -1415, -1415,     1,  -880,   113,  2816, -1415, -1415, -1415,   -46,
     1770   -1415,    27,   263,  -201,  1947,  3745, -1415, -1415,    18,   105,
     1771     806,  -244,  1537, -1415,  1920, -1415, -1415,   122,  2445, -1415,
     1772    2562,  1653, -1415, -1415, -1415,  -611,  -434,  1254,  1255,   775,
     1773    1011,   338, -1415, -1415, -1415,   992,   776,  -483, -1415,  -487,
     1774    -342,  1046, -1415, -1415,  -956,  -989,   784,  1368,  1126,   161,
     1775   -1415,   412,   137,  -263,  -206,  -125,   726,   831, -1415,  1069,
     1776   -1415,  2921,   140,  -453,   983, -1415, -1415,   766, -1415,  -231,
     1777   -1415,   -13, -1415, -1415, -1415, -1257,   486, -1415, -1415, -1415,
     1778    1243, -1415,    44, -1415, -1415,  -843,  -105, -1314,  -135,  1612,
     1779   -1415,  3802, -1415,   985, -1415,  -152,   929,  -180,  -176,  -171,
     1780       5,   -40,   -36,   -35,   948,    35,    56,    77,   -93,  -170,
     1781    -165,  -163,  -160,  -322,  -533,  -531,  -517,  -561,  -304,  -510,
     1782   -1415, -1415,  -506,  1157,  1166,  1180,  1503,  5100,  -539,  -571,
     1783    -552,  -543,  -475, -1415,  -440,  -686,  -674,  -659,  -583,  -282,
     1784     -25, -1415, -1415,   541,    33,   -95, -1415,  4237,   118,  -635,
     1785      57
    17821786};
    17831787
     
    17851789   positive, shift that token.  If negative, reduce the rule which
    17861790   number is the opposite.  If YYTABLE_NINF, syntax error.  */
    1787 #define YYTABLE_NINF -525
     1791#define YYTABLE_NINF -527
    17881792static const yytype_int16 yytable[] =
    17891793{
    1790       47,   112,    96,   427,   398,   399,   768,   933,   452,   148,
    1791      266,   400,   113,   934,   149,   150,   791,   406,   871,    67,
    1792      259,   439,   401,   512,   407,   712,   707,   935,   613,   112,
    1793      112,   402,    47,   403,    96,  1203,   404,  1092,   382,   383,
    1794      846,   618,   111,    47,   895,    47,   505,   160,  1187,   854,
    1795     1153,    67,  1185,  1186,   142,    47,   749,    48,   975,   853,
    1796      201,    47,   857,   192,    47,   847,   215,    47,   864,   225,
    1797      342,   848,   751,   820,  1401,   947,   756,  1145,   218,   842,
    1798      845,   112,   112,   995,   398,   399,   933,   279,   409,    48,
    1799     1464,   400,   934,   843,   121,   424,  1468,   406,   605,  1197,
    1800      779,    31,   401,  1091,   407,    47,   935,    68,    47,    31,
    1801      202,   402,   679,   403,   844,    47,   404,    61,   151,   109,
    1802      152,   165,   637,   884,   884,   884,   641,   739,  1421,  1422,
    1803       41,    42,   688,   408,    75,   153,   290,    31,   446,    68,
    1804      692,    31,   884,  1421,  1422,   280,    47,   574,   160,    61,
    1805      148,    54,   114,    31,    47,   149,   150,   467,   783,    47,
    1806     1320,   372,   482,   484,  1464,   978,    75,  -234,  -234,  1510,
    1807      122,   211,   858,   410,  1265,   746,   861,  1484,   483,   251,
    1808      140,   410,   575,    54,    47,    47,   165,   160,     2,   205,
    1809        4,     5,     6,     7,  1468,   141,    31,   878,  1423,  1468,
    1810       47,   881,  1266,   478,  1539,    31,  1541,   418,    47,   410,
    1811      160,   527,   677,  1432,   842,   209,   884,    47,   219,  1468,
    1812       47,   327,   442,   488,  1080,   410,  1468,   112,   843,  1321,
    1813      148,   240,   243,  1193,   536,   149,   150,   674,  -234,   143,
    1814      886,   887,   112,   740,   675,   536,   112,   145,  1187,   844,
    1815       47,   112,    96,    35,   760,    36,   154,   596,   905,   151,
    1816     1194,   152,  1099,  1202,    47,    47,   855,   160,   610,    67,
    1817      846,    47,   470,   105,   105,   862,   153,   610,    47,  1203,
    1818      976,   885,   885,   885,   435,  1102,   342,   703,    95,  1038,
    1819      666,   857,   472,   112,   705,   847,   170,   167,  1187,  1037,
    1820      885,   848,  1185,  1186,   618,   105,   200,    48,   884,   842,
    1821     1025,   536,  1155,  1014,   327,  1136,    -3,   180,   681,   674,
    1822       95,   168,  1137,   843,   686,   376,   675,   441,    47,   386,
    1823      372,   147,   958,    95,   524,   739,   536,  1346,  1135,  1111,
    1824      105,   377,   682,   684,   844,   387,   435,    47,    47,   188,
    1825      683,   685,    95,   389,   605,    95,   831,    68,   937,   176,
    1826      564,   565,  1092,  1404,    47,   478,   285,    61,    47,   390,
    1827     1217,   440,   479,   165,   885,  1220,  1221,    41,    42,   653,
    1828      950,   251,   329,   605,    75,   478,   926,  1208,   605,    75,
    1829      846,  1494,   464,   478,   483,    47,   566,   567,   854,   880,
    1830      585,    54,   109,   521,  -290,    47,   586,   372,   536,   260,
    1831      871,   739,   261,    41,    42,   847,   576,   246,  1194,   916,
    1832      607,   848,  1187,    47,  1017,   251,   755,  1459,  1091,    47,
    1833      527,    47,  1041,   228,    95,   527,   761,   229,   527,  1203,
    1834      233,  1552,   235,   762,  1262,   770,  1203,    95,   342,   244,
    1835     1553,   740,   109,  1453,  1454,    47,   211,   560,   561,   109,
    1836      112,  1563,  1211,    41,    42,   578,   885,   410,  1567,   391,
    1837       41,    42,   397,   188,   112,   579,  -112,  1568,   393,    47,
    1838     1173,  1175,   936,  1408,   874,   392,   249,    47,   875,   372,
    1839     1151,    47,   813,    96,   394,    47,    95,  -112,   112,  1203,
    1840      112,   327,   327,  -520,   936,   979,  1215,  1383,    95,  1107,
    1841       67,   824,  1213,   562,   563,   111,   712,   707,   398,   399,
    1842      653,   438,   263,   105,  1119,   400,   505,   740,   896,   654,
    1843     1261,  1036,   406,  -469,   479,   -10,   401,   112,    95,   407,
    1844      653,  1122,   112,   653,   618,   402,   109,   403,    48,  1080,
    1845      404,    75,   486,   713,   479,  1038,  -443,    41,    42,   907,
    1846     1344,   767,   479,  1107,  -469,  -444,  -469,  1345,   909,   714,
    1847     -469,    75,  -112,  -112,   693,   490,   228,   327,   784,    75,
    1848      586,   767,   507,   790,   767,   789,   275,   211,  -112,  1019,
    1849      112,   715,  -291,   831,   277,  1008,   327,    47,    68,     8,
    1850        9,    10,    11,    12,   278,  1381,   737,   716,    61,    47,
    1851      717,    47,   342,   713,   172,   109,    95,   833,   715,     2,
    1852      205,     4,     5,     6,     7,    75,    41,    42,    31,   929,
    1853       47,   472,   730,  1200,   930,   557,   612,  1134,   731,   478,
    1854      558,   559,    54,   876,  1036,  1394,    47,   877,   750,  1201,
    1855      754,   176,   112,  1200,  1350,   330,    34,   252,    55,    55,
    1856     1523,    47,   327,   112,    47,   112,  1528,  1500,   638,  1326,
    1857      897,   712,   642,  1051,  1500,   500,   607,   501,  1335,  1337,
    1858     1184,   955,  1431,   831,    35,   109,    36,  1548,   342,   331,
    1859       55,  1049,  1555,   188,  1336,  1338,    41,    42,    47,  1420,
    1860       47,   898,  1428,   652,   906,   872,   908,   899,   370,   587,
    1861      607,   410,  1096,   112,   775,  -112,   228,  -112,   233,   112,
    1862      747,  -112,    55,   112,  1352,    55,   748,  1549,   757,   774,
    1863     1384,   112,   161,   332,   758,   775,  -112,  -112,   441,   777,
    1864     1130,   410,   333,   704,    47,    47,   876,  1467,   193,   778,
    1865     1118,   216,  1471,   416,   226,  -105,    37,   920,    47,  -105,
    1866       40,   936,    37,   775,   105,  1056,    40,    41,    42,  1502,
    1867      674,  1503,   954,    41,    42,   605,   436,   675,   703,    95,
    1868     1369,   334,  1493,   612,  1370,   705,   444,     8,     9,    10,
    1869       11,    12,  1154,    43,  1254,  1393,   568,   569,   922,   839,
    1870      739,   610,   892,   146,   775,  1003,   228,   109,   479,   611,
    1871      590,  1004,   410,   347,   737,   910,    31,   410,    41,    42,
    1872        8,     9,    10,    11,    12,    75,  1550,   959,   371,   610,
    1873      763,   211,   764,   161,  1177,   765,  1252,   960,   771,    47,
    1874     1256,   933,  1051,   335,    34,   211,   373,   934,   375,    31,
    1875      479,    47,  1294,  1295,   833,   528,  1007,  1004,  1016,  1250,
    1876     1377,   935,   831,   945,   731,   586,   775,    75,  1562,   948,
    1877      775,  1009,   161,   464,  1562,   384,   979,    34,    55,   388,
    1878      979,   979,   251,   329,   410,  1562,   578,   396,   410,  1562,
    1879      737,   941,  1378,   941,   653,   161,   579,   841,   775,   612,
    1880       37,   112,   653,  1380,    40,   329,   410,   443,    55,   775,
    1881      408,    41,    42,  1385,   115,   913,   740,   410,   936,   775,
    1882      109,    67,   138,   237,    47,   537,   538,   539,  1198,   425,
    1883     1372,    41,    42,   109,   873,   138,   139,   744,    47,   211,
    1884     1390,  1391,  1450,  1078,    41,    42,    47,   745,  1447,   540,
    1885      888,   541,   426,   542,   543,  1469,   431,   238,   158,   449,
    1886     1516,   775,   239,  1573,    47,   904,  1517,  1441,  1004,   586,
    1887      752,  -367,  1157,   919,   410,   753,   936,   936,  -396,    37,
    1888     1123,   182,   183,    40,   112,  1169,   932,   410,   704,   491,
    1889       41,    42,  1172,   653,   610,   511,  1342,   740,   418,   670,
    1890      410,   112,   468,   690,   653,  1174,   112,   610,   290,    68,
    1891      109,   469,   138,   139,   515,   373,   698,   257,   410,    61,
    1892     1245,    41,    42,   158,   699,  1139,   700,   109,   520,   138,
    1893      139,   536,   841,   612,  1447,  1448,    75,   732,    41,    42,
    1894      532,  1237,  1147,   410,   654,   767,   327,  1147,   488,   329,
    1895      410,  1061,   242,    54,   570,   112,  1495,  1496,   323,   855,
    1896      329,   610,   507,  1449,   571,   653,   891,   339,   112,   112,
    1897      112,  1313,  1314,  1315,   528,  1351,  1353,  1354,  1535,   528,
    1898     1461,  1205,   528,   128,  1402,   129,   130,   131,  1402,   572,
    1899      347,   573,   373,   112,    41,    42,  1147,   872,  1421,  1422,
    1900        8,     9,    10,    11,    12,   576,  1078,   338,  1010,  1212,
    1901     1214,  1216,   801,   802,   803,   804,  -440,   429,  1015,   594,
    1902     1124,   433,   667,  1302,  1303,    47,  1305,   841,  1107,    31,
    1903      597,   441,  1309,  1026,   109,  1312,   138,   139,   342,   612,
    1904      797,   798,   647,   654,   668,    41,    42,   799,   800,    55,
    1905      669,   323,   455,  1521,  1461,   671,    37,    34,   182,   183,
    1906       40,   672,    37,   673,   182,   183,    40,    41,    42,    68,
    1907      805,   806,   676,    41,    42,   105,   678,   256,   721,   479,
    1908      696,   718,   759,   433,   723,   719,   495,   936,  -238,   772,
    1909     1485,   347,   776,   609,   162,   610,    75,   780,   834,   609,
    1910      112,   610,   -12,   611,   936,   836,   838,   529,   849,   611,
    1911      158,   901,   -13,    54,   893,   894,   218,   921,   923,   928,
    1912      699,   924,    47,  -417,   977,   949,   704,   653,  -292,  -524,
    1913      963,   970,   748,   972,   704,     8,     9,    10,    11,    12,
    1914      918,   983,   105,  1061,   984,   985,    67,   987,   988,   925,
    1915      989,   990,   612,   927,   595,   999,   347,   602,  1123,   162,
    1916     1011,  1012,  -293,  1013,    31,   112,   112,   112,  1078,     8,
    1917        9,    10,    11,    12,  1027,  1028,   635,   936,   936,   737,
    1918      639,  1029,  1030,   339,     8,     9,    10,    11,    12,  1031,
    1919     1032,  1033,    34,  1044,  -405,  1445,  1427,  -404,    31,  1093,
    1920     1058,   347,   347,   347,  1095,  1103,  1147,  1147,  1147,  1104,
    1921     1105,   211,  1561,    31,  1106,  1112,   993,  1113,  1114,  1115,
    1922      347,  1121,   653,   653,  1131,  1205,    34,  1132,   775,  1167,
    1923     1133,  1138,  1182,  1183,    68,   105,  1143,  1188,   323,   323,
    1924     1146,    34,  1189,  1190,    61,  1191,  1192,   537,   538,   539,
    1925     1300,  1123,   398,   399,  1206,   209,   219,   434,  1207,   400,
    1926      737,    75,  1209,   767,  1078,   406,   455,  1210,  1222,   455,
    1927      401,   540,   407,   541,  1218,   542,  1322,   653,    54,   402,
    1928      653,   403,  1225,   777,   404,   410,  1224,   115,   460,   674,
    1929     1232,  1233,    -3,   778,   347,  1230,   675,  1235,  1124,    47,
    1930       47,  1240,  1534,  1242,   500,  1246,  1251,  1253,   441,   112,
    1931      112,  1255,   495,    68,   323,  1258,   495,  1259,  1078,   434,
    1932     1263,  1078,  1267,   479,  1270,   653,   529,  1272,   529,  1274,
    1933      653,   529,  1275,   323,   529,  1276,   728,  1277,  1278,  1280,
    1934       75,  1304,  1287,   531,  1296,   339,   162,  1297,   112,  1325,
    1935     1147,  1147,   440,  1307,  1123,  1333,  1308,    54,  1339,  1310,
    1936      653,  1341,  1343,  1311,  1348,  1319,  1078,  1347,  1349,  1355,
    1937     1356,  1078,    37,  1357,   182,   183,    40,  1359,   105,  1365,
    1938     1366,  1367,  1368,    41,    42,  1205,   347,  1101,  1375,  1486,
    1939     1376,  1124,  1205,   347,    64,   116,  1379,  1386,   148,   323,
    1940      105,  1078,  1387,   149,   150,  1315,  1395,    47,   112,   698,
    1941      829,   410,   175,   602,  1396,  1398,  1405,   112,  1415,   700,
    1942      105,  1416,  1408,   653,  -406,  1419,    64,  1430,   653,  1434,
    1943     1436,  1438,    47,    47,  1439,   160,  1446,  1455,  1451,   159,
    1944     1440,  1456,   870,  1460,  1370,  1205,   653,   602,   653,  1536,
    1945     1457,  1458,   653,   879,  1465,   653,  1470,    47,  1544,   372,
    1946       55,   220,   175,   653,  1078,   175,  1358,   653,  1472,  1078,
    1947     1474,  1476,  1478,    68,  1360,  1361,  1362,  1480,  1482,   105,
    1948       68,  1483,  1488,   479,  1489,  1490,  1501,  1078,  1511,  1078,
    1949      479,  1519,  1513,  1078,  1124,  1515,  1078,  1527,   258,  1520,
    1950       75,  1542,   460,  1547,  1078,   460,  1543,    75,  1078,   339,
    1951     1554,   175,  1556,   105,   213,  1558,  1564,    54,   327,  1571,
    1952     1572,  1223,  1397,   808,    54,   807,  1324,    55,   809,   212,
    1953      214,   455,   810,    68,  1219,   811,  1522,  1433,  1574,   231,
    1954      328,  1389,  1257,   479,   347,   728,  1504,   241,   258,   349,
    1955     1406,  1229,   942,  1108,     2,   205,     4,     5,     6,     7,
    1956       75,   495,   531,   694,   531,   729,   213,   531,   951,   695,
    1957      531,  1110,  1142,   826,   175,  1057,  1120,    54,   900,   405,
    1958     1334,   212,   214,   227,   816,   339,   742,   973,     8,     9,
    1959       10,    11,    12,     0,   423,   817,   965,   428,   430,   818,
    1960      347,   347,   159,  1444,     0,     0,     0,     0,     0,   213,
    1961        0,     0,     0,     0,     0,     0,   105,    31,     0,    35,
    1962       55,    36,     0,   447,   212,   214,     0,   450,   175,   451,
    1963       37,     0,   173,   174,    40,   175,     0,     0,   466,   105,
    1964        0,    41,    42,  1018,    64,    34,   105,   829,     0,   480,
    1965       37,     0,   182,   183,    40,     0,     0,     0,     0,   487,
    1966        0,    41,    42,     0,     0,     0,     0,   430,   517,     0,
    1967      213,     0,     0,     0,     0,     0,   123,   126,   127,     0,
    1968      728,   534,   535,     0,     0,   212,   214,   698,     0,   410,
    1969      728,     0,     0,   556,     0,     0,     0,   700,     0,   105,
    1970        0,     0,     0,     0,   175,   728,     0,     0,   213,     0,
    1971        0,     0,   213,     8,     9,    10,    11,    12,     0,     0,
    1972      486,   175,     0,   212,   214,   175,     0,   212,   214,   535,
    1973        0,     0,     0,     0,     0,   258,     0,   829,   603,     0,
    1974        0,   455,    31,   506,   631,     0,     0,   253,     0,   254,
    1975        0,     0,     0,     0,     0,     0,     0,   636,     0,     0,
    1976      455,   636,    55,    55,   258,   535,     0,   460,     0,     0,
    1977       34,     0,     0,     0,   729,    37,  1388,   182,   183,    40,
    1978        0,   495,  1125,   323,     0,    55,    41,    42,   175,     0,
    1979       37,     0,   182,   183,    40,     0,     0,     0,     0,   213,
    1980        0,    41,    42,     0,     0,    55,    37,     0,   182,   183,
    1981       40,   480,   184,     0,   212,   214,     0,    41,    42,     0,
    1982        0,    37,   185,   173,   174,    40,   349,  1532,     0,   410,
    1983      395,   480,    41,    42,   870,     0,     0,  1533,     0,   480,
    1984      414,   415,     0,   184,     0,   419,     0,   421,   422,     0,
    1985      347,   347,     0,   185,     0,     0,     0,     0,   371,    55,
    1986        0,     0,     0,     0,    55,   724,     0,     0,   430,     0,
    1987      166,     0,   171,     0,     0,   177,   178,   179,     0,   181,
    1988      213,     0,     0,   738,     0,    64,     0,     0,     0,     0,
    1989        0,     0,     0,   430,   232,   212,   214,   430,    55,     8,
    1990        9,    10,    11,    12,   728,   728,   247,   248,     0,   729,
    1991        0,     0,   212,     0,     0,   455,   829,     0,     0,   729,
    1992       37,     0,   182,   183,    40,     0,   258,   349,    31,     0,
    1993      213,    41,    42,     0,   729,  1505,     0,  1509,     0,     0,
    1994        0,     0,   794,   795,   796,   212,   214,    37,     0,   173,
    1995      174,    40,     0,     0,   175,     0,    34,   264,    41,    42,
    1996        0,     0,   728,   728,     0,     0,     0,   265,     0,     0,
    1997        0,     0,  1538,   819,  1540,   347,     0,   460,     0,     0,
    1998        0,     0,     0,     0,   375,   535,     0,   175,     0,     0,
    1999        0,   636,   832,     0,   603,     0,   460,     0,   959,     0,
    2000      610,    55,     0,   175,     0,   851,     0,     0,   960,     0,
    2001        0,     0,     0,     0,     0,     0,     0,  1569,   175,  1570,
    2002        0,     0,     0,   603,    55,     0,     0,     0,   603,     0,
    2003        0,    55,  1577,  1578,   636,   339,     0,   349,   349,   349,
     1794      48,   113,   115,   150,   429,    98,   400,   151,   152,   454,
     1795     401,   261,   268,   934,   441,   402,   403,   708,    69,   792,
     1796     514,   404,   896,   405,   713,   935,   406,    63,   614,   113,
     1797     113,  1155,    48,   107,   107,   408,   507,    98,   976,   847,
     1798     936,   769,   112,    48,   384,   385,   619,   872,   752,    48,
     1799      69,   854,   757,   411,   162,  1147,  1189,    48,   848,    63,
     1800    1094,   343,   529,    48,   606,   107,    48,   849,   194,    48,
     1801     220,   217,  1093,   855,   227,   822,   144,   843,   153,   844,
     1802      50,  1199,   996,   113,   113,  1403,   400,    31,  1187,  1188,
     1803     401,   780,   934,   845,   409,   402,   403,   426,   680,   154,
     1804     846,   404,   107,   405,   935,    70,   406,    48,   948,  1466,
     1805      48,   281,    50,    56,   116,   408,  1555,    48,   689,   936,
     1806     155,   123,    77,   203,    31,   292,   693,   484,   486,  1322,
     1807     938,     2,   207,     4,     5,     6,     7,    70,   858,   410,
     1808     536,  -236,  -236,  1570,   865,    56,   150,   124,    48,   740,
     1809     151,   152,   951,   162,    77,   979,    48,   885,   885,   885,
     1810     412,    48,   887,   888,   684,   686,   374,   167,    31,  1101,
     1811     282,   213,    31,   204,   409,   747,   885,   519,   169,   211,
     1812     906,   576,   221,  1466,  1205,   485,    48,    48,  1486,    31,
     1813    1423,  1424,   162,   683,   685,   253,    35,   412,    36,  1323,
     1814     557,   558,    48,   170,   143,   678,   216,  1423,  1424,   741,
     1815      48,   480,   843,  -236,   844,   162,   448,   577,   178,    48,
     1816    1267,   153,    48,   243,  1222,  1223,   150,   444,   845,   113,
     1817     151,   152,   167,  1204,   502,   469,   503,   145,   557,   420,
     1818     756,   412,   154,   490,   113,   412,   536,   598,   113,  1268,
     1819     885,   761,    48,   113,   959,   675,  1189,    98,   216,   771,
     1820      -3,  1425,   536,   155,   117,   328,    48,    48,   262,   847,
     1821      69,   263,   162,    48,   557,   762,   182,   343,  1434,    63,
     1822      48,   529,   763,   378,   481,   107,   529,  1512,   848,   529,
     1823      31,  1039,   667,  1264,   474,   113,   472,   849,   977,   379,
     1824     147,   216,   886,   886,   886,   704,  1189,   843,   619,   844,
     1825     156,  1157,   160,  1040,   676,  1015,  1348,  1113,  1104,   536,
     1826     682,   886,  1541,   845,  1543,   826,   687,   443,   437,    48,
     1827    1027,    31,    50,   172,   374,   442,   526,   675,  1187,  1188,
     1828     638,   248,   885,   815,   642,  1470,  1018,  1137,   606,    48,
     1829      48,  1219,   388,   606,   566,   567,   740,    70,   328,   202,
     1830     536,   856,   216,   611,   706,    56,    48,   858,   389,   259,
     1831      48,   927,   251,   480,    77,  1195,   587,   160,  1496,    77,
     1832     440,   654,   588,  -114,  -114,  -292,  1094,  1082,  1406,   847,
     1833     437,   568,   569,   480,  1554,   886,   676,    48,  1093,  -114,
     1834     216,   480,   863,  1196,   611,   216,  1196,    48,   848,  1136,
     1835     324,   391,   374,   393,  1565,   917,   741,   849,   694,   340,
     1836    -522,  1569,   855,   485,   588,    48,   167,   392,  1205,   394,
     1837    1189,    48,   740,    48,   492,  1455,  1456,  1138,   111,   343,
     1838     872,   509,   142,  1470,  1139,   578,   481,   111,  1470,    41,
     1839      42,   796,   797,   798,   395,   731,   213,    48,    41,    42,
     1840     111,   732,   113,  1461,   608,   253,   481,   287,  1470,   431,
     1841     396,    41,    42,   435,   481,  1470,   113,  1385,    41,    42,
     1842     748,    48,   758,   562,   563,  1217,   749,   886,   759,    48,
     1843     714,   216,   741,    48,   374,   242,   245,    48,    98,  1109,
     1844     113,   980,   113,   324,   457,   523,   715,   708,  1213,  1263,
     1845     178,    69,   177,   264,   713,   507,  1124,   112,   738,   400,
     1846      63,  1215,   654,   401,  1153,   -10,   107,   639,   402,   403,
     1847    1038,   643,   910,   897,   404,   435,   405,   113,   497,   406,
     1848     654,    77,   113,   654,  -445,   328,   328,  -114,   619,   408,
     1849     716,  1210,  -446,  1109,  1410,   277,   750,  1175,  1177,   531,
     1850     908,    77,   177,   768,   111,   177,   717,  1256,  -114,    77,
     1851     331,   160,   216,    50,   832,    41,    42,   714,   785,   279,
     1852    1040,   768,   280,   791,   768,  -471,  1383,   213,  1205,   111,
     1853     164,   372,   113,   930,   332,  1205,  1346,   716,    70,    48,
     1854      41,    42,   343,  1347,   784,   597,    56,   898,   409,   603,
     1855      48,   177,    48,   931,  1202,    77,   881,  -471,   834,  -471,
     1856    1202,   328,   216,  -471,   333,  1296,  1297,   334,   636,   790,
     1857    1203,    48,   640,   474,   335,   340,  1328,  1502,    37,   899,
     1858     328,   653,    40,  1038,  1502,   900,   480,    48,  1205,    41,
     1859      42,  1337,   764,   113,   765,   164,   466,   766,   253,   330,
     1860     772,  1339,    48,  1433,   113,    48,   113,  1338,   111,   336,
     1861     713,   859,   373,   995,   177,   862,    43,  1340,   343,    41,
     1862      42,   377,   111,  1051,   386,    45,    46,   776,   956,   775,
     1863     324,   324,   390,    41,    42,   776,   879,  1551,   111,    48,
     1864     882,    48,  1186,  1386,  1098,   907,   328,   909,  1352,    41,
     1865      42,   921,   875,  1082,   113,   410,   876,   776,   457,   481,
     1866     113,   457,  1354,   923,   113,   738,   398,   559,   177,   776,
     1867    1525,   427,   113,   560,   561,   177,  1530,   443,   877,   117,
     1868    1132,   606,   878,    37,   216,    48,    48,    40,   873,   428,
     1869    1504,   436,  1505,   608,    41,    42,   589,  1550,   412,    48,
     1870     174,   481,  1557,  1004,   497,   580,   324,   412,   497,  1005,
     1871    1058,   433,   216,   955,    45,    46,   451,   216,   531,  -369,
     1872     531,   745,   462,   531,  -398,   324,   531,   675,  1017,   470,
     1873      45,    46,   874,   655,   732,   704,  1252,   340,   471,  1379,
     1874    1395,   738,   588,   254,   177,   776,  1020,  1552,   889,  1396,
     1875    -114,   832,  -114,   436,    77,   111,  -114,   140,   141,   493,
     1876     877,   177,   740,   905,  1120,   177,    41,    42,  1380,   513,
     1877     213,  -114,  -114,  1382,   776,  1179,  1451,   533,  -106,   776,
     1878      48,  1387,  -106,   592,   213,   412,   676,   776,   934,   164,
     1879     292,   324,    48,  1463,   706,   834,    77,  1371,   244,   517,
     1880     935,  1372,   830,  1422,   522,   216,  1430,     8,     9,    10,
     1881      11,    12,   534,   980,   718,   936,   230,   980,   980,   216,
     1882     231,  1452,   741,   235,  1471,   237,   536,  1449,   177,   572,
     1883     776,  1518,   246,   871,   573,   654,    31,  1519,   603,   418,
     1884     832,   574,   113,   654,   880,   575,   911,   111,   412,   140,
     1885     239,  1469,   751,  1254,   755,   557,  1473,  1258,    41,    42,
     1886     509,    69,   438,   578,    34,    48,  1523,  1463,   339,    97,
     1887      63,  1043,   446,   778,  1200,   412,   107,  -442,   213,    48,
     1888     570,   571,    45,    46,  1080,   240,  1495,    48,  1575,   914,
     1889     241,   412,  1374,   596,   588,   130,   519,   131,   132,   133,
     1890     340,    97,  1159,   741,   412,    48,    41,    42,   253,   330,
     1891     412,  1125,   149,   216,  1304,  1305,   599,  1307,    97,   960,
     1892      -3,   611,   457,  1311,   648,   113,  1314,   668,    45,    46,
     1893     564,   565,   190,  1344,   654,    97,   462,   163,    97,   462,
     1894     669,   530,   113,   107,  1171,   654,   412,   113,    70,  1008,
     1895    1005,   195,   497,  1174,   218,   611,    56,   228,  1176,   230,
     1896     611,   670,  1247,  1121,   672,    77,  1141,  1239,   111,   412,
     1897     140,   141,  1564,   420,   671,   412,   340,   673,  1564,    41,
     1898      42,   674,   942,  1149,   942,   677,   768,   679,  1149,  1564,
     1899     490,   330,   412,  1564,   177,   258,   533,   113,   533,   776,
     1900    1010,   533,   330,   412,   533,   893,   697,   654,   892,  1537,
     1901     113,   113,   113,   856,   330,   611,   111,    97,   140,   141,
     1902     832,  1404,  1207,  1126,   719,  1404,   177,    41,    42,   328,
     1903      97,   481,  1392,  1393,  1019,   113,   163,   107,  1149,   830,
     1904    1443,  1005,   177,   803,   804,   805,   806,   720,  1080,   375,
     1905     722,  1214,  1216,  1218,   724,   399,   190,   177,  -240,  1109,
     1906     760,     8,     9,    10,    11,    12,   946,    48,   773,   343,
     1907     777,   443,   949,  1449,  1450,   163,   466,  1497,  1498,    97,
     1908     781,   873,     8,     9,    10,    11,    12,  1429,   835,   691,
     1909      31,    97,     2,   207,     4,     5,     6,     7,   163,   230,
     1910     836,   235,   111,   839,   140,   141,   216,  1423,  1424,    70,
     1911     445,    31,   850,    41,    42,   799,   800,    56,    34,   801,
     1912     802,    97,   -12,   733,   807,   808,    77,  1487,   830,   -13,
     1913     894,   738,   457,   895,   902,   488,  1315,  1316,  1317,    34,
     1914     753,   925,   113,   922,   924,   754,   929,   700,   220,  -419,
     1915     950,   457,  -526,   964,   177,   971,   749,    35,   973,    36,
     1916     530,   580,   988,   412,    48,   530,   984,   985,   530,   654,
     1917      45,    46,   497,  1127,   324,  1353,  1355,  1356,   986,   978,
     1918     107,   989,   778,   937,   412,   990,   991,    69,  1000,   230,
     1919    1125,    45,    46,  1012,  1013,  1014,    63,   729,    97,  1095,
     1920     462,  1029,   107,  1030,  1031,   937,  1032,   113,   113,   113,
     1921    1080,  1033,   738,   537,   538,   539,  1105,   375,  1034,   613,
     1922    -293,  1035,   107,  1046,  -407,  -294,   871,     8,     9,    10,
     1923      11,    12,     8,     9,    10,    11,    12,  1447,   540,  1060,
     1924     541,  -406,   542,   543,  1106,  1107,  1097,   655,  1149,  1149,
     1925    1149,   213,  1108,  1563,  1063,  1114,    31,  1115,  1116,   211,
     1926     221,    31,  1117,  1123,   654,   654,  1207,    49,   114,  1133,
     1927     776,  1134,  1135,  1140,    70,   481,   190,   994,  1145,  1148,
     1928    1169,   107,    56,  1125,    34,  1190,   216,  1192,  1191,    34,
     1929    1193,    77,  1208,  1194,   400,   375,  1209,  1009,   401,    49,
     1930    1211,  1212,  1126,   402,   403,   768,  1080,   457,   830,   404,
     1931     148,   405,  1220,  1224,   406,   107,    49,    37,  1227,   654,
     1932     177,    40,   654,   408,  1226,   919,   705,    -3,    41,    42,
     1933     187,  1232,  1237,   210,   926,  1242,    49,  1244,   928,   502,
     1934    1248,    48,    48,  1253,  1536,  1255,   655,   675,   443,  1257,
     1935    1260,   113,   113,    70,  1261,   840,   442,   611,  1269,  1265,
     1936    1080,    56,    97,  1080,    45,    46,   613,   654,  -295,  1272,
     1937      77,  1274,   654,   114,  1053,     8,     9,    10,    11,    12,
     1938    1276,   114,   409,   216,   267,   272,  1125,  1277,  1278,  1306,
     1939     113,  1279,  1149,  1149,  1280,  1126,     2,   207,     4,     5,
     1940       6,     7,   654,  1282,    31,   729,   676,  1289,  1080,  1298,
     1941     462,  1299,  1309,  1080,   308,   148,  1310,  1312,   107,  1313,
     1942    1321,  1327,  1335,   114,   346,   229,  1207,   340,   210,   462,
     1943    1341,  1488,    34,  1207,   150,   481,  1343,  1345,   151,   152,
     1944    1349,   107,   481,  1080,  1350,  1351,  1357,  1063,   107,    48,
     1945     113,  1358,  1127,   187,   187,  1317,  1359,  1361,  1367,   113,
     1946    1368,    35,   937,    36,  1369,   654,  1370,  1377,  1397,   267,
     1947     654,  1378,  1381,  1388,    48,    48,  1389,    49,  1398,   842,
     1948     162,   613,  1407,  1400,  1417,  1418,  1207,  1410,   654,   210,
     1949     654,  1538,  -408,  1156,   654,   481,  1421,   654,  1126,    48,
     1950    1546,   107,  1446,  1436,   374,   654,  1080,   308,   114,   654,
     1951    1432,  1080,  1438,    70,    37,  1440,   184,   185,    40,    49,
     1952      70,    56,  1441,  1442,  1448,    41,    42,   272,    56,  1080,
     1953      77,  1080,   272,   267,   267,  1080,  1453,    77,  1080,   114,
     1954    1457,   729,  1458,   214,  1053,  1127,  1080,  1459,  1460,  1372,
     1955    1080,   729,   186,   233,  1302,    37,  1462,   175,   176,    40,
     1956    1472,    45,    46,   308,  1467,   729,    41,    42,   933,  1476,
     1957     705,  1474,  1103,    70,  1478,   308,  1480,  1482,   125,   128,
     1958     129,    56,  1484,  1485,  1490,   462,  1491,  1492,  1503,  1513,
     1959      77,   581,  1517,   373,  1529,   214,   148,  1515,  1521,  1544,
     1960    1522,  1545,   328,  1558,  1549,  1560,  1556,  1566,  1573,   114,
     1961    1574,  1225,   809,   346,   842,   613,   810,   612,   630,   177,
     1962     937,  1326,   811,    37,   812,   184,   185,    40,   813,  1524,
     1963    1435,  1259,   635,   414,    41,    42,   635,  1576,   214,   114,
     1964     422,  1391,  1506,    37,  1408,   184,   185,    40,  1127,   695,
     1965     696,   255,  1231,   256,    41,    42,   952,   943,   828,   215,
     1966    1144,   699,  1110,   412,   267,  1112,  1059,   920,   901,   700,
     1967      45,    46,   966,  1122,   187,  1336,   743,   818,   937,   937,
     1968    1509,   610,  1509,   611,   974,    37,   819,   184,   185,    40,
     1969      45,    46,   267,     0,   308,   308,    41,    42,   267,   214,
     1970     820,   635,    37,     0,   175,   176,    40,     0,     0,   842,
     1971       0,   215,   414,    41,    42,     0,     0,  1509,     0,  1509,
     1972    1221,   613,   114,   266,   701,   114,     8,     9,    10,    11,
     1973      12,     0,    45,    46,   397,     0,     0,   214,     0,     0,
     1974     377,     0,   214,     0,   416,   417,     0,   324,   267,   421,
     1975       0,   423,   424,     0,   215,    31,   267,   508,   635,     0,
     1976      49,     0,     0,     0,   746,   729,   729,   586,     0,     0,
     1977     114,     0,     0,     0,     0,   590,     0,     0,   593,     0,
     1978       0,   730,   308,    34,   114,     0,     0,   308,    37,   308,
     1979     308,     0,    40,     0,     0,     0,   177,     0,   779,    41,
     1980      42,   114,   346,  1011,     0,     0,     0,    37,   705,   175,
     1981     176,    40,     0,  1016,     0,   215,   705,     0,    41,    42,
     1982       0,     0,     0,   729,   729,     0,    43,  1028,   214,     0,
     1983       0,     0,     0,     0,   613,    45,    46,     0,     0,     0,
     1984       0,     0,   414,   537,   538,   539,   422,   581,   581,     0,
     1985       0,     0,     0,   215,     0,   308,     0,     0,   215,     0,
     1986      75,     8,     9,    10,    11,    12,   635,   346,   540,     0,
     1987     541,   630,   542,  1324,     0,     0,     0,   612,     0,   612,
     1988       0,     8,     9,    10,    11,    12,     0,    66,   118,   937,
     1989      31,     0,    75,     0,     0,     0,     0,   635,     0,     0,
     1990       0,     0,   635,     0,   630,     0,   937,     0,   635,   214,
     1991      31,   635,   635,   635,     0,     0,     0,     0,    34,    66,
     1992       0,     0,     0,    37,     0,     0,   214,    40,     0,   223,
     1993     635,   414,   267,     0,    41,    42,   161,    37,    34,   184,
     1994     185,    40,     0,    37,   215,   184,   185,    40,    41,    42,
     1995       0,     0,     0,     0,    41,    42,   222,     0,  1510,   214,
     1996    1510,   745,  1390,     0,   114,   346,   701,  1333,   701,     0,
     1997      45,    46,     0,     0,     0,   699,     0,   412,     0,   937,
     1998     937,   610,     0,   611,    45,    46,   114,     0,     0,   730,
     1999      45,    46,     0,   260,     0,  1510,     0,  1510,     0,   729,
     2000       0,     0,     0,     0,   635,   961,   630,   729,   729,   729,
     2001       0,     0,   746,   746,     0,     0,     0,   354,    37,     0,
     2002     184,   185,    40,   586,   586,   215,     0,  1184,  1185,    41,
     2003      42,     0,     0,     0,     0,   329,     0,     0,     0,     0,
     2004     114,   346,     0,   260,   351,   779,   779,     0,     0,     0,
     2005       0,     0,     0,     0,     0,   729,  1534,     0,   412,     0,
     2006       0,     0,     0,     0,     0,    45,    46,     0,     0,     0,
     2007       0,     0,     0,     0,   407,   215,     0,     0,     0,     0,
     2008       0,   214,     0,     0,     0,  1234,  1235,     0,   581,   425,
     2009       0,   450,   430,   432,     0,     0,   635,   161,   635,     0,
     2010    1023,     0,     0,   635,   346,     0,     0,   612,     0,   214,
     2011       0,   912,    75,     0,   214,   915,     0,    75,   449,   612,
     2012       0,  1507,   452,  1511,   453,   730,     0,     0,     0,     0,
     2013       0,     0,     0,   468,     0,   730,   823,   824,     0,    66,
     2014       0,     0,     0,     0,   482,     0,     0,     0,   414,   730,
     2015       0,     0,     0,     0,   489,     0,     0,     0,  1540,     0,
     2016    1542,     0,   432,     0,     0,   857,     0,     0,   860,   861,
     2017     308,   864,     0,   866,   867,     0,     0,     0,   868,   869,
     2018       0,     0,   544,   545,   546,   547,   548,   549,   550,   551,
     2019     552,   553,   635,   554,     0,     0,   114,   215,     0,     0,
     2020       0,     0,   214,  1571,     0,  1572,   701,     0,     0,     0,
     2021       0,     0,   223,     0,   701,   114,   214,   555,  1579,  1580,
     2022       0,     0,     0,     0,     0,   215,     0,   961,   961,   260,
     2023     215,     0,   746,   604,     0,     0,   508,   114,   308,   632,
    20042024       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2005       73,     0,     0,   213,     0,     0,   349,     0,     0,     0,
    2006     1125,     0,     0,     0,     0,     0,     0,     0,   212,   214,
    2007        0,     0,     0,     0,   724,     0,     0,     0,     0,     0,
    2008        0,   213,    73,     0,    55,   480,   213,     0,     0,     0,
    2009      258,   738,     0,     0,   938,     0,   212,   214,     0,     0,
    2010        0,   212,   214,     0,     0,     0,  1331,     0,     0,     0,
    2011        0,     0,     0,     0,     0,   175,     0,   221,     0,   535,
    2012        0,     0,     0,     0,     0,     0,     0,   480,     0,     0,
    2013      349,     0,     0,   729,   729,     0,     0,     0,   728,   964,
    2014        0,     0,   430,     0,     0,     0,   728,   728,   728,     0,
    2015        0,   460,     0,  1125,     0,     0,     0,     0,     0,     0,
    2016        0,     0,     0,   601,   608,   994,   258,   738,     0,     0,
    2017        0,     0,   992,     0,   213,   632,   633,     0,     0,   125,
    2018      125,   125,     0,     0,     0,     0,     0,     0,   213,   212,
    2019      214,   729,   729,     0,   728,     0,     0,     0,     0,     0,
    2020        0,     0,     0,   212,   214,   352,     0,     0,     0,   724,
    2021        0,     0,   535,     0,     0,     0,     0,     0,     0,   724,
    2022        0,     0,   349,   506,   636,     0,     0,  1024,   636,   832,
    2023        0,     0,   821,   822,   724,     0,     0,     0,     0,     0,
    2024        0,     0,     0,     0,  1035,     0,     0,     0,     0,     0,
    2025      125,     0,   125,     0,     0,     0,  1125,     8,     9,    10,
    2026       11,    12,   856,     0,     0,   859,   860,     0,   863,     0,
    2027      865,   866,     0,     0,     0,   867,   868,   274,     0,   448,
    2028        0,   175,   213,     0,     0,     0,    31,     0,  1507,     0,
    2029     1507,     0,     0,     0,     0,     0,    64,   212,   214,     0,
    2030       73,     0,     0,     0,     0,    73,   412,     0,     0,     0,
    2031        0,     0,     0,   420,    34,     0,     0,     0,   636,    37,
    2032        0,   182,   183,    40,     0,  1507,     0,  1507,     0,     0,
    2033       41,    42,     0,   125,     0,  1332,     0,     0,     0,     0,
    2034        0,   125,     0,   125,   125,     0,     0,     0,   125,     0,
    2035      125,   125,     0,     0,  1117,   323,  1532,     0,   410,   943,
    2036      944,     0,   430,   116,     0,   946,  1533,   729,     0,     8,
    2037        9,    10,    11,    12,     0,   729,   729,   729,     0,     0,
    2038      349,     0,     0,     0,     0,   412,     0,     0,     0,     8,
    2039        9,    10,    11,    12,     0,     0,     0,     0,    31,     0,
    2040      221,     0,     0,     0,     0,     0,   535,     0,     0,     0,
    2041        0,     0,     0,     0,     0,   603,     0,     0,    31,     0,
    2042      125,     0,     0,   729,     0,     0,    34,     0,   428,     0,
    2043        0,    37,     0,   724,   724,    40,   349,   349,     0,     0,
    2044        0,   584,    41,    42,     0,     0,    34,   517,     0,   588,
    2045        0,    37,   591,   182,   183,    40,  1204,     0,     0,     0,
    2046        0,     0,    41,    42,     0,     0,     0,    73,    43,     0,
    2047        0,    76,     0,     0,   213,     0,     0,     0,   146,     0,
    2048        0,     0,   352,     0,     0,     0,     0,    73,   264,   212,
    2049      214,   724,   724,     0,     0,    73,     0,   636,   265,     0,
    2050        0,     0,     0,    76,     0,     0,     0,     0,     0,     0,
    2051        0,     0,     0,     0,     0,   412,     0,     0,     0,   420,
    2052        0,   352,     0,     0,  1508,     0,  1508,     0,   544,   545,
    2053      546,   547,   548,   549,   550,   551,   552,   553,   222,   352,
    2054        0,    73,     0,     0,   952,     0,   953,     0,     0,     0,
    2055        0,     0,     0,   956,   957,     0,   738,     0,   962,     0,
    2056        0,  1508,   554,  1508,   535,     8,     9,    10,    11,    12,
    2057      967,     0,     0,     0,     0,   971,     0,     0,     0,   175,
    2058        0,     0,     0,   352,     0,     0,     0,     0,     0,     0,
    2059        0,     0,     0,     0,    31,     0,     0,     0,     0,  1301,
    2060        0,  1000,     0,     0,   412,     0,     0,     0,     0,     0,
    2061        0,     0,     0,     0,     0,     0,   258,     0,     0,     0,
    2062        0,    64,    34,     0,     0,     0,   354,    37,     0,     0,
    2063        0,    40,     0,     0,     0,   724,     0,   738,    41,    42,
    2064        0,   116,     0,     0,     0,     0,   601,     0,   352,     0,
    2065        0,     0,     0,     0,   213,     0,     0,     0,     0,     0,
    2066        0,     0,     0,     0,   744,     0,     0,   724,     0,   212,
    2067      214,     0,     0,     0,   745,   724,   724,   724,     0,     0,
    2068        0,     0,     0,     0,     0,     0,   349,   349,     0,     0,
    2069        0,     0,     0,   352,   352,   352,   584,   584,     0,     0,
    2070     1204,     0,     0,  1045,  1046,  1047,  1048,     0,  1050,     0,
    2071        0,     0,   352,     0,     0,     0,     0,     0,     0,     0,
    2072        0,    76,     0,   724,  1094,     0,    76,     0,     0,     0,
    2073      352,     0,     0,     0,   116,   125,   125,     0,  1100,     0,
    2074        0,    73,     0,     0,     0,     0,     0,   352,     0,  1234,
    2075        0,   213,     0,     0,     0,     0,   175,     0,     0,     0,
    2076        0,     0,     0,     0,     0,   125,   212,   214,   125,   125,
    2077        0,   125,     0,   125,   125,     0,     0,  1116,   125,   125,
    2078        0,     0,     0,    73,     0,   911,   352,     0,     0,   914,
     2025       0,     0,   637,     0,   346,     0,   637,     0,     0,   260,
     2026     779,  1360,   944,   945,   586,     0,     0,     0,   947,  1362,
     2027    1363,  1364,     0,     8,     9,    10,    11,    12,     0,    75,
     2028       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2029     346,     0,     0,     0,   354,     0,     0,     0,     0,    75,
     2030       0,     0,    31,     0,     0,     0,   482,    75,     0,     0,
     2031     214,   635,   635,     0,     0,     0,     0,  1399,   215,     0,
     2032       0,   351,     0,     0,     0,     0,   482,     0,     0,     0,
     2033      34,   308,   215,   354,   482,    37,     0,   184,   185,    40,
     2034       0,     0,     0,     0,     0,     0,    41,    42,     0,   730,
     2035     730,   354,     0,    75,     0,     0,     0,     0,     0,     0,
     2036     725,     0,     0,   432,     0,     0,     0,     0,     0,     0,
     2037       0,   114,   635,   699,     0,   412,   414,     0,   739,     0,
     2038      66,     0,    45,    46,     0,    78,   961,     0,   432,     0,
     2039       0,     0,   432,     0,   267,   354,     0,     0,     0,     0,
     2040       0,     0,     0,   488,     0,     0,     0,   730,   730,     0,
     2041       0,     0,     0,     0,     0,     0,     0,    78,     0,     0,
     2042       0,   260,   351,     0,     0,     0,   215,     0,     0,     0,
     2043       0,   346,     0,     0,     0,     0,     8,     9,    10,    11,
     2044      12,    13,    14,    15,    16,    17,    18,    19,    20,    21,
     2045      22,    23,    24,    25,   224,  1160,    26,    27,    28,     0,
     2046     354,     0,     0,     0,     0,    31,     0,     0,   821,     0,
     2047       0,     0,  1172,   272,   114,     0,     0,     0,     0,     0,
     2048       0,     0,     0,     0,     0,     0,   637,   833,     0,     0,
     2049       0,   114,     0,    34,     0,     0,   308,     0,   111,   852,
     2050      38,    39,    80,   214,   354,   354,   354,     0,     0,    41,
     2051      42,     0,   635,     0,     0,     0,   114,   604,     0,     0,
     2052       0,     0,   604,   354,     0,     0,     0,     0,   637,     0,
     2053       0,   351,   351,   351,    80,     0,     0,     0,    44,     0,
     2054       0,   354,   356,     0,     0,    45,    46,     0,     0,  1240,
     2055     351,  1334,    75,     0,     0,     0,     0,     0,   354,     0,
     2056       0,   635,   635,     0,     0,     0,     0,     0,   725,     0,
     2057     272,   225,     0,     0,     0,   308,     0,     0,     0,   482,
     2058       0,     0,     0,   730,   260,   739,     0,     0,   939,     0,
     2059       0,   730,   730,   730,    75,     0,     0,   354,     8,     9,
     2060      10,    11,    12,     0,     0,     0,     0,     0,     0,   114,
     2061       0,     0,     0,     0,     0,     0,     0,     0,     0,   215,
     2062       0,   482,     0,     0,   351,     0,     0,    31,     0,     0,
     2063       0,     0,     0,   965,   354,     0,   432,    78,     0,   730,
     2064       0,     0,    78,     0,     0,     0,     0,     0,     0,     0,
     2065       0,     0,     0,  1236,     0,    34,     0,     0,     0,   357,
     2066     260,   739,     0,     0,     0,     0,   993,     0,     0,   267,
     2067       0,     0,     0,     0,     0,     0,     0,   354,     0,     0,
     2068       0,     0,     0,   214,     0,     0,   635,   354,     0,   354,
     2069       0,     0,     0,     0,   223,     0,     0,   354,   960,     0,
     2070     611,   354,     0,     0,   725,     0,     0,    45,    46,     0,
     2071       0,     0,   114,     0,   725,     0,   351,     0,   637,     0,
     2072       0,  1026,     0,   637,   833,     0,     0,     0,   725,     0,
     2073       0,     0,     0,     0,     0,   114,     0,   224,  1037,     0,
     2074       0,     0,   114,     0,   114,     0,   114,     0,     0,     0,
     2075       0,     0,     0,     0,    80,     0,    57,    57,     0,    80,
     2076       0,     0,     0,    75,     0,     0,     0,     0,     0,     0,
     2077       0,     8,     9,    10,    11,    12,  1535,     0,  1325,     0,
     2078     214,   114,     0,   114,     0,     0,     0,     0,    57,     0,
     2079      66,     0,     0,     0,     0,   114,     0,     0,     0,   215,
     2080      31,  1535,  1535,     0,    78,     0,     0,     0,     0,     0,
     2081       0,   308,   637,     0,     0,     0,     0,     0,     0,   356,
     2082       0,     0,    57,     0,    78,    57,  1535,     0,    34,     0,
     2083       0,     0,    78,    37,     0,   184,   185,    40,     0,     0,
     2084       0,     0,     0,     0,    41,    42,     0,   354,  1119,     0,
     2085       0,     0,     0,     0,   225,     0,   432,   118,   356,     0,
     2086       0,    87,     0,     0,     0,     0,     0,     0,     0,     0,
     2087       0,  1534,     0,   412,   351,     0,   356,     0,    78,     0,
     2088      45,    46,     0,     0,     0,     0,     0,     0,     0,     0,
     2089       0,     0,     0,    87,     0,     0,   215,     0,     0,     0,
     2090       0,   354,   354,     0,   354,   354,     0,     0,     0,     0,
     2091     604,     0,     0,   349,     0,     0,     0,     0,     0,     0,
     2092     356,    80,     0,   430,    75,     0,     0,     0,   725,   725,
     2093     226,   351,   351,     0,     0,     0,   357,     0,     0,     0,
     2094    1036,    80,     0,     8,     9,    10,    11,    12,     0,    80,
     2095       0,  1206,     0,     0,     0,     0,     0,     0,     0,   354,
     2096     354,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2097     283,   284,    31,   285,     0,   357,     0,     0,    57,     0,
     2098       0,     0,     0,     0,     0,   356,   725,   725,     0,     0,
     2099       0,     0,   637,   357,     0,    80,     0,     0,     0,   286,
     2100      34,     0,     0,     0,     0,   287,     0,     0,    57,   288,
     2101       0,     0,   289,   290,   291,   292,    41,    42,   364,   293,
     2102     294,     0,     0,     0,   354,     0,     0,   295,     0,   356,
     2103     356,   356,     0,     0,     0,     0,     0,   357,     0,     0,
     2104       0,     0,     0,   296,     0,   380,     0,     0,   356,     0,
     2105       0,   739,   345,    46,   298,   299,   300,   301,     0,     0,
     2106       0,     0,     0,     0,     0,     0,   356,   223,     0,     0,
     2107       0,     0,     0,     0,     0,     0,     0,    78,     0,     0,
     2108       0,     0,     0,   356,     0,     0,     0,     0,     0,    75,
     2109       0,     0,     0,     0,  1303,     0,     0,     0,     0,     0,
     2110       0,     0,   357,   354,     0,   354,     0,     0,     0,     0,
     2111       0,   260,     0,    87,     0,     0,    66,     0,    87,    78,
     2112       0,     0,   356,     8,     9,    10,    11,    12,     0,     0,
     2113     725,     0,   739,     0,     0,   354,   118,     0,     0,     0,
     2114       0,     0,     0,   354,   354,   354,   357,   357,   357,     0,
     2115       0,     0,    31,     0,   354,   354,     0,     0,     0,   356,
     2116       0,     0,   725,     0,     0,   357,     0,     0,    75,     0,
     2117     725,   725,   725,     0,     0,     0,     0,     0,     0,     0,
     2118      34,   351,   351,   357,     0,    37,     0,   184,   185,    40,
     2119     349,   354,     0,     0,    80,  1206,    41,    42,     0,     0,
     2120     357,     0,   356,     0,     0,     0,     0,     0,     0,     0,
     2121       0,     0,   356,   226,   356,     0,     0,     0,   725,   224,
     2122       0,     0,   356,   186,     0,     0,   356,     0,     0,   118,
     2123       0,     0,    45,    46,     0,     0,    80,     0,     0,   357,
     2124       0,     0,     0,     0,     0,     0,     0,     0,     0,    57,
     2125       0,     0,     8,     9,    10,    11,    12,    13,    14,    15,
     2126      16,    17,    18,    19,    20,    21,    22,    23,    24,    25,
     2127       0,     0,    26,    27,    28,     0,   357,     0,     0,   354,
     2128      87,    31,     0,     0,     0,     0,     0,     0,    78,     0,
     2129       0,   349,     0,     0,     0,   364,     0,     0,     0,     0,
     2130      87,     0,     0,     0,     0,     0,   351,     0,    87,    34,
     2131       0,     0,     0,     0,   111,     0,    38,    39,     0,   357,
     2132       0,     0,     0,     0,     0,    41,    42,     0,    75,   357,
     2133       0,   357,   118,     0,   364,    75,   225,     0,     0,   357,
     2134       0,     0,     0,   357,   168,     0,   173,     0,     0,   179,
     2135     180,   181,   364,   183,    87,  1206,   349,     0,     0,     0,
     2136       0,     0,  1206,     0,     0,     0,     0,     0,   234,     0,
     2137       0,     0,   356,     0,     0,     0,     0,     0,     0,     0,
     2138     249,   250,     0,     0,     0,     0,     0,     0,    75,     0,
     2139       0,     8,     9,    10,    11,    12,   364,     0,     0,     0,
     2140     349,   349,   349,     0,     0,    80,     0,     0,     0,     0,
     2141       0,     0,     0,     0,     0,  1206,     0,     0,     0,   349,
     2142      31,     0,  1559,     0,     0,     0,   356,   356,     0,   356,
     2143     356,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2144       0,     0,     0,     0,     0,     0,     0,     0,    34,    78,
     2145       0,     0,     0,    37,     0,   184,   185,    40,     0,     0,
     2146       0,   364,     0,     0,    41,    42,     8,     9,    10,    11,
     2147      12,    13,    14,    15,    16,    17,    18,    19,    20,    21,
     2148      22,    23,    24,    25,   356,   356,    26,    27,    28,   357,
     2149       0,   266,     0,   349,     0,    31,     0,     0,     0,     0,
     2150      45,    46,     0,     0,     0,   364,   364,   364,     0,     0,
     2151       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2152       0,     0,     0,    34,   364,     0,     0,     0,    37,     0,
     2153     337,   338,    40,     0,     0,     0,     0,     0,     0,    41,
     2154      42,     0,   364,   357,   357,     0,   357,   357,     0,   356,
     2155       0,     0,     0,    87,     0,     0,     0,     0,     0,   364,
     2156       0,   283,   284,     0,   285,     0,    80,     0,   339,     0,
     2157       0,     0,     0,     0,     0,    45,    46,     0,     0,     0,
     2158       0,     0,     0,     0,     0,   349,     0,     0,     0,     0,
     2159     286,     0,   224,   349,     0,    87,   287,     0,   364,     0,
     2160     288,   357,   357,   289,   290,   291,   292,    41,    42,     0,
     2161     293,   294,     0,     0,    78,     0,     0,     0,   295,     0,
     2162       0,     0,     0,     0,     0,     0,     0,     0,   356,     0,
     2163     356,     0,     0,     0,   515,   364,   601,     0,   609,     0,
     2164       0,     0,     0,    45,    46,   298,   299,   300,   301,   633,
     2165     634,     0,     0,     0,     0,     0,     0,     0,     0,    57,
     2166     356,     0,     0,     0,     0,     0,   357,     0,   356,   356,
     2167     356,     0,     0,     0,     0,     0,     0,     0,   364,   356,
     2168     356,     0,     0,     0,     0,     0,     0,     0,   364,     0,
     2169     364,     0,     0,    78,     0,   226,     0,     0,   364,     0,
     2170       0,     0,   364,     0,     0,     0,     0,     0,     0,   225,
     2171     516,     0,   518,   521,     0,     0,   356,     0,     0,     0,
     2172     524,   525,     0,     0,     0,     0,    57,     0,     0,     0,
     2173       0,    80,     0,     0,     0,   518,   518,     0,     0,     0,
     2174       0,     0,     0,   349,     0,   357,     0,   357,     0,     0,
     2175       0,   212,     0,     0,     0,     0,     0,     0,     0,     0,
     2176       0,   232,     0,   236,    87,   238,     0,     0,   127,   127,
     2177     127,     0,   247,   518,     0,     0,     0,   357,     0,     0,
     2178       0,     0,     0,     0,     0,   357,   357,   357,     0,     0,
     2179       0,     0,     0,     0,     0,     0,   357,   357,     0,     0,
     2180     349,   349,     0,   212,   356,   236,   238,   247,     0,   518,
     2181      80,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2182      57,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2183       0,     0,     0,   357,     0,     0,     0,     0,     0,     0,
     2184       0,   127,     0,   127,     0,     0,   212,     0,   364,     0,
     2185       0,     0,     0,    78,     0,     0,     0,     0,     0,     0,
     2186      78,     0,     0,     0,     0,     0,     0,     0,   276,     0,
     2187       0,     0,   476,     2,   207,     4,     5,     6,     7,     8,
     2188       9,    10,    11,    12,    13,    14,    15,    16,    17,    18,
     2189      19,    20,    21,    22,    23,    24,    25,     0,     0,    26,
     2190      27,    28,   364,   364,     0,   364,   364,   212,    31,   236,
     2191     238,   247,     0,    78,     0,     0,     0,     0,     0,     0,
     2192       0,   357,     0,     0,   127,    87,     0,     0,     0,     0,
     2193       0,     0,   127,     0,   127,   127,    34,     0,    35,   127,
     2194      36,   127,   127,    38,    39,   212,     0,     0,     0,     0,
     2195     212,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2196     364,   364,    57,    57,     0,   506,     0,     0,     0,     0,
     2197      80,     0,     0,     0,     0,     0,     0,    80,     0,     0,
     2198       0,     0,     0,     0,    -3,    57,   518,   518,   518,   518,
     2199     518,   518,   518,   518,   518,   518,   518,   518,   518,   518,
     2200     518,   518,   518,   518,     0,    57,     0,     0,     0,     0,
     2201       0,   127,     0,     0,   212,     0,     0,   953,     0,   954,
     2202       0,     0,     0,     0,     0,   364,   957,   958,     0,     0,
     2203      80,   963,     0,     0,     0,     0,   212,     0,     0,     0,
     2204       0,   236,   238,   968,     0,     0,     0,     0,   972,   247,
     2205     349,   349,     0,     0,     0,     0,     0,     0,     0,    57,
     2206       0,     0,     0,     0,    57,     0,     0,     0,   226,     0,
     2207       0,     0,     0,     0,  1001,     0,     0,     0,     0,     0,
     2208       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2209      87,     0,   212,     0,     0,     0,     0,     0,    57,     0,
     2210       0,     0,     0,     0,   364,     0,   364,     0,     0,     0,
     2211     212,     0,     0,     0,     0,   212,     0,   212,     0,     0,
     2212       0,     0,     0,     0,     0,     0,     0,   518,     0,     0,
     2213       0,     0,     0,     0,   212,     0,   364,   212,   212,     0,
     2214       0,     0,     0,     0,   364,   364,   364,     0,     0,   518,
     2215       0,     0,     0,   212,     0,   364,   364,     0,     0,     0,
     2216       0,     0,     0,     0,     0,     0,     0,   212,     0,    87,
     2217       0,     0,     0,     0,   212,   349,  1047,  1048,  1049,  1050,
     2218       0,  1052,     0,     0,     0,     0,     0,     0,     0,     0,
     2219     283,   284,   364,   285,     0,     0,     0,  1096,     0,     0,
     2220       0,    57,     0,     0,     0,     0,     0,     0,   518,     0,
     2221       0,  1102,     0,     0,     0,     0,     0,     0,     0,   286,
     2222       0,     0,     0,     0,    57,   650,   166,   140,   141,   288,
     2223       0,    57,   289,   651,   291,   292,    41,    42,     0,   293,
     2224     294,   518,     0,   219,     0,     0,     0,   295,     0,     0,
     2225    1118,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2226       0,     0,     0,   296,     0,   652,     0,   653,   381,     0,
     2227       0,     0,    45,    46,   298,   299,   300,   301,     0,     0,
     2228     364,     0,     0,     0,    57,     0,     0,     0,     0,   212,
     2229    1146,   166,     0,     0,     0,   273,     0,  1154,     0,     0,
     2230       0,     0,  1158,     0,     0,     0,     0,  1162,     0,  1163,
     2231       0,     0,     0,  1165,     0,  1166,  1167,   212,     0,  1170,
     2232       0,     0,   212,     0,   166,     0,   127,   127,  1182,    87,
     2233       0,     0,     0,     0,   370,     0,    87,     0,   376,     0,
     2234       0,     0,     0,     0,     0,     0,  1197,  1198,     0,     0,
     2235       0,     0,     0,     0,     0,   127,     0,     0,   127,   127,
     2236       0,   127,     0,   127,   127,     0,     0,     0,   127,   127,
     2237       0,     0,     0,  1228,     0,     0,  1230,     0,     0,     0,
     2238       0,     0,     0,     0,     0,     0,     0,   166,     0,    87,
     2239       0,     0,     0,     0,     0,     0,     0,     0,     0,   219,
     2240       0,     0,     0,     0,     0,     0,   518,     0,     0,     0,
     2241     212,     0,     0,     0,     0,  1246,     0,   166,   463,     0,
     2242       0,  1250,  1251,     0,   212,     0,     0,     0,     0,     0,
     2243       0,     0,     0,  1262,     0,     0,     0,   518,  1266,     0,
     2244       0,  1270,   376,  1271,   506,     0,  1273,   127,     0,   166,
     2245     518,     0,   127,   127,     0,     0,     0,     0,   127,  1281,
     2246       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2247       0,     0,  1288,   463,  1290,  1291,  1292,  1293,     0,     0,
     2248       0,     0,     0,     0,     0,   166,     0,     0,     0,     0,
     2249    1300,   518,  1301,     0,     0,     0,   173,     0,     0,     0,
     2250       0,     0,     0,     0,     0,     0,   212,     0,     0,     0,
     2251       0,     0,     0,     0,     0,     0,     0,     0,   212,     0,
     2252       0,     0,     0,   607,     0,  1329,  1330,     0,   631,     0,
     2253       0,     0,     0,     0,     0,     0,     0,   212,     8,     9,
     2254      10,    11,    12,    13,    14,    15,    16,    17,    18,    19,
     2255      20,    21,    22,    23,    24,    25,  -296,     0,    26,    27,
     2256      28,     0,     0,     0,   518,     0,     0,    31,     0,     0,
     2257       0,     0,     0,     0,     0,     0,     0,  1365,  1366,     0,
     2258       0,     0,     0,     0,     0,     0,     0,  1376,     0,     0,
     2259       0,     0,     0,     0,     0,    34,     0,     0,     0,     0,
     2260       0,     0,    38,    39,   166,   166,  -296,     0,     0,     0,
     2261       0,   370,     0,     0,     0,     0,     0,     0,     0,     0,
     2262       0,     0,   518,   518,   212,     0,     0,     0,     0,     0,
     2263       0,     0,   463,     0,     0,   463,     0,     0,   644,  1409,
     2264     339,     0,     0,     0,     0,     0,     0,    45,    46,     0,
     2265     212,  1413,     0,  1414,  1415,  1416,     0,     0,     0,     0,
     2266       0,     0,     0,     0,     0,  1420,     0,     0,   742,     0,
     2267       0,     0,     0,     0,  1431,     0,     0,     0,   212,     0,
     2268     166,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2269    1444,     0,   463,     0,   463,     0,     0,   463,     0,   166,
     2270     463,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2271       0,   212,   370,     0,     0,     0,     0,     0,     0,     0,
     2272       0,   157,   212,     0,     0,     0,     0,     0,     8,     9,
     2273      10,    11,    12,    13,    14,    15,    16,    17,    18,    19,
     2274      20,    21,    22,    23,    24,    25,  1493,  1494,    26,    27,
     2275      28,     0,     0,     0,     0,     0,     0,    31,     0,  1499,
     2276       0,     0,     0,     0,     0,   166,  1499,     0,     0,   252,
     2277       0,     0,     0,     0,     0,     0,     0,   370,     0,   257,
     2278       0,   838,     0,     0,     0,    34,     0,     0,     0,     0,
     2279      37,     0,    38,    39,    40,     0,     0,     0,     0,  1533,
     2280       0,    41,    42,  1539,   212,     0,     0,   607,     0,     0,
     2281       0,     0,   607,     0,     0,     0,     0,     0,     0,     0,
     2282       0,   370,   370,   370,     0,     0,     0,     0,    43,     0,
     2283     158,     0,  1561,   518,  1562,   157,     0,    45,    46,     0,
     2284     370,     0,     0,   127,     0,     0,     0,     0,     0,   387,
     2285     518,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2286       0,     0,  1577,  1578,     0,     0,     0,     0,     0,     0,
     2287    1581,  1582,   419,     0,     0,   742,     0,     0,     0,     0,
     2288       0,     0,     0,     0,     0,     0,   434,     0,     0,     0,
     2289       0,   212,     0,     0,     0,   439,   463,     0,     0,     0,
     2290       0,     0,     0,     0,     0,   447,     0,     0,     0,     0,
     2291       0,     0,     0,     0,   370,     0,   962,     0,     0,     0,
     2292       0,     0,     0,   518,   518,     0,     0,     0,     0,     0,
     2293     473,     0,     0,     0,     0,   483,     0,     0,     0,     0,
     2294       0,     0,     0,     0,     0,     0,     0,     0,   491,     0,
     2295       0,   742,     0,     0,   501,     0,   505,     0,     0,     0,
     2296       0,     0,     0,     0,     0,     0,  1180,     0,   127,     8,
     2297       9,    10,    11,    12,   535,     0,     0,     0,     0,     0,
     2298       0,     0,     0,     0,     0,     0,     0,     0,   212,     0,
     2299       0,     0,     0,     0,     0,     0,   283,   284,    31,   285,
     2300       0,     0,     0,     0,     0,     0,   370,     0,     0,     0,
     2301     631,     0,     0,     0,   370,     0,   595,     0,     0,     0,
     2302       0,   600,     0,     0,     0,   286,    34,     0,     0,     0,
     2303       0,   287,     0,     0,     0,   288,     0,     0,   289,   290,
     2304     291,   292,    41,    42,     0,   293,   294,     0,     0,     0,
     2305     645,     0,     0,   295,   646,   647,     0,   649,     0,     0,
     2306       0,     0,     0,     0,   661,   662,     0,   663,   664,   296,
     2307     665,   380,   666,     0,     0,     0,     0,     0,  1181,    46,
     2308     298,   299,   300,   301,     0,     0,     0,     0,     0,   595,
     2309       0,     0,     0,     0,     0,   283,   284,   681,   285,     0,
     2310       0,     0,     0,     0,     0,     0,   463,     0,     0,     0,
     2311       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2312       0,     0,   692,     0,   286,   463,     0,     0,     0,     0,
     2313     287,     0,     0,   698,   288,     0,     0,   289,   290,   291,
     2314     292,    41,    42,     0,   293,   294,     0,     0,   166,     0,
     2315       0,     0,   295,     0,     0,     0,   734,     0,     0,     0,
     2316       0,     0,   737,     0,   370,     0,     0,   473,   296,     0,
     2317     380,     0,     0,   381,     0,     0,     0,    45,    46,   298,
     2318     299,   300,   301,     0,     0,     0,     0,     0,     0,     0,
     2319       0,     0,     0,     0,     0,     0,   342,   365,     0,     0,
     2320     607,     0,     0,     0,   774,     0,     0,     0,     0,     0,
     2321       0,     0,     0,     0,     0,     0,     0,     0,   789,     0,
     2322       0,   370,   370,     0,     0,     0,     0,     0,     0,     0,
     2323     415,     0,     0,     0,     0,     0,     0,   415,     0,     0,
     2324       0,     0,     0,     0,   212,     0,     0,     0,     0,     0,
     2325       0,     0,     0,     0,     0,     0,     0,   817,     0,     0,
     2326       0,     0,     0,     0,     0,     0,   827,     0,     0,     0,
     2327       0,     0,     0,   829,     0,     0,     0,     0,     0,   837,
     2328       0,   463,     0,     0,     0,     0,     0,     0,   851,     0,
    20792329       8,     9,    10,    11,    12,    13,    14,    15,    16,    17,
    2080       18,    19,    20,    21,    22,    23,    24,    25,  -294,     0,
    2081        0,   349,     0,     0,     0,     0,     0,  1144,     0,    31,
    2082        0,   222,   412,   352,  1152,     0,     0,     0,     0,  1156,
    2083        0,     0,     0,     0,  1160,     0,  1161,   116,     0,     0,
    2084     1163,  1164,  1165,     0,     0,  1168,     0,    34,     0,     0,
    2085        0,     0,     0,     0,  1180,     0,     0,   125,  -294,     0,
    2086     1204,     0,   125,   125,     0,   352,     0,  1204,   125,     0,
    2087        0,     0,  1195,  1196,  1323,   352,     0,     0,   352,     0,
    2088        0,     0,     0,   221,     0,   352,     0,     0,    76,     0,
    2089      352,     0,     0,     0,     0,     0,     0,     0,     0,  1226,
    2090        0,     0,  1228,   354,     0,     0,     0,     0,    76,     0,
    2091        0,     0,     0,     0,     0,     0,    76,     0,     0,     0,
    2092     1204,     0,     0,     0,     0,     0,     0,  1557,     0,     0,
    2093        0,     0,     0,     0,     0,     0,     0,   584,     0,     0,
    2094        0,  1244,   354,     0,     0,     0,     0,  1248,  1249,     0,
    2095        0,     0,    73,     0,     0,     0,     0,     0,     0,  1260,
    2096      354,     0,    76,    78,  1264,     0,     0,  1268,     0,  1269,
    2097        0,     0,  1271,     0,     0,     0,     0,     0,     0,     0,
    2098        0,     0,     0,     0,     0,  1279,     0,     0,     0,     0,
    2099        0,     0,     0,     0,     0,    78,   281,   282,  1286,   283,
    2100     1288,  1289,  1290,  1291,   354,     0,     0,     0,     0,     0,
    2101        0,     0,     0,     0,     0,     0,  1298,     0,  1299,     0,
    2102        0,     0,   171,     0,     0,   284,     0,     0,     0,     0,
    2103      223,   649,     0,   138,   139,   286,   352,     0,   287,   650,
    2104      289,   290,    41,    42,     0,   291,   292,     0,     0,     0,
    2105      412,  1327,  1328,   293,     0,     0,     0,     0,     0,     0,
    2106        0,     0,     0,     0,     0,     0,     0,     0,   294,   354,
    2107      651,     0,   652,   379,     0,     0,     0,   296,   380,   298,
    2108      299,   300,   301,     0,     0,     0,     0,     0,     0,   352,
    2109      352,     0,   352,   352,     0,     0,     0,     0,     0,     0,
    2110        0,     0,     0,  1363,  1364,     0,     0,     0,     0,     0,
    2111        0,     0,    73,  1374,   354,   354,   354,     0,   355,     0,
    2112        0,     0,     0,     0,     0,     0,     0,     0,     0,  1158,
    2113        0,     0,     0,   354,     0,     0,     0,     0,     0,     0,
    2114        0,     0,     0,     0,     0,  1170,     0,   352,   352,     0,
    2115        0,   354,     0,     0,     0,     0,     0,     0,     0,     0,
    2116        0,     0,    76,     0,     0,  1407,     0,     0,   354,     0,
    2117        0,     0,     0,     0,     0,     0,     0,  1411,     0,  1412,
    2118     1413,  1414,   281,   282,     0,   283,     0,     0,     0,     0,
    2119        0,  1418,     0,     0,     0,     0,     0,     0,     0,     0,
    2120     1429,     0,     0,     0,    76,     0,     0,   354,     0,     0,
    2121        0,   284,   352,    78,     0,     0,  1442,   285,    78,     0,
    2122        0,   286,  1238,     0,   287,   288,   289,   290,    41,    42,
    2123        0,   291,   292,     0,     0,     0,     0,     0,    85,   293,
    2124        0,     0,     0,     0,   354,     0,     0,     0,     0,     0,
    2125        0,     0,   125,     0,   294,   221,   378,     0,     0,   379,
    2126        0,     0,     0,   296,   380,   298,   299,   300,   301,     0,
    2127       85,     0,  1491,  1492,     0,     0,     0,    73,     0,     0,
    2128        0,     0,     0,     0,     0,  1497,   354,     0,     0,     0,
    2129        0,   352,  1497,   352,     0,     0,   354,     0,     0,   354,
    2130        0,     0,     0,     0,   222,   224,   354,     0,     0,     0,
    2131        0,   354,     0,   223,     0,     0,     0,     0,     0,     0,
    2132        0,     0,     0,   352,     0,  1531,     0,     0,     0,  1537,
    2133        0,   352,   352,   352,     0,     0,     0,     0,     0,     0,
    2134        0,     0,   352,   352,     0,     0,     0,     0,     0,     0,
    2135        0,     0,     0,     0,     0,     0,    73,     0,  1559,     0,
    2136     1560,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2137        0,     0,     0,    76,     0,     0,     0,   125,     0,   352,
    2138       78,     0,     0,     0,     0,     0,     0,     0,  1575,  1576,
    2139        0,     0,     0,   362,     0,   355,  1579,  1580,     0,     0,
    2140       78,     0,     0,     0,     0,     0,  -519,     0,    78,     1,
    2141        2,     3,     4,     5,     6,     7,     8,     9,    10,    11,
    2142       12,    13,    14,    15,    16,    17,    18,    19,    20,    21,
    2143       22,    23,    24,    25,   355,     0,    26,    27,    28,    29,
    2144        0,     0,    30,     0,     0,    31,    32,     0,     0,     0,
    2145        0,     0,   355,     0,    78,     0,     0,   354,     0,     0,
    2146        0,     0,     0,     0,     0,     0,     0,   352,     0,     0,
    2147       33,     0,     0,    34,     0,    35,     0,    36,    37,     0,
    2148       38,    39,    40,     0,     0,     0,     0,     0,    85,    41,
    2149       42,     0,     0,    85,     0,     0,   355,     0,  1034,     0,
    2150        0,     8,     9,    10,    11,    12,     0,     0,     0,     0,
    2151      354,   354,     0,   354,   354,    43,    73,    44,     0,     0,
    2152        0,     0,     0,    73,     0,    45,     0,     0,   281,   282,
    2153       31,   283,     0,    76,     0,     8,     9,    10,    11,    12,
    2154       13,    14,    15,    16,    17,    18,    19,    20,    21,    22,
    2155       23,    24,    25,  -295,     0,     0,     0,   284,    34,     0,
    2156        0,   355,     0,   285,    31,     0,     0,   286,   354,   354,
    2157      287,   288,   289,   290,    41,    42,    73,   291,   292,     0,
    2158        0,     0,     0,     0,     0,   293,     0,     0,   224,     0,
    2159        0,     0,    34,     0,     0,     0,     0,     0,     0,     0,
    2160      294,     0,   378,  -295,     0,     0,   355,   355,   355,   296,
    2161      827,   298,   299,   300,   301,     0,     0,     0,     0,     0,
    2162        0,     0,     0,     0,     0,   355,     0,     0,     0,     0,
    2163        0,     0,     0,   354,     0,     0,     0,     0,     0,     0,
    2164        0,     0,     0,   355,     0,     0,     0,     0,     0,     0,
    2165        0,     0,     0,     0,    78,    85,     0,     0,     0,   164,
    2166      355,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2167      362,     0,     0,     0,     0,    85,   222,     0,   217,     0,
    2168        0,     0,     0,    85,     0,     0,     0,     0,     0,     0,
    2169        0,     0,     0,     0,     0,     0,    78,     0,    76,   355,
    2170        0,     0,     0,     0,     0,     0,     0,     0,     0,   362,
    2171        0,     0,   354,     0,   354,     0,     0,     0,     0,     0,
    2172        0,     0,     0,     0,   164,     0,     0,   362,     0,    85,
    2173      271,     0,     0,     0,     0,     0,   355,     0,     0,     0,
    2174        0,     0,     0,     0,   354,     0,     0,     0,     0,     0,
    2175        0,     0,   354,   354,   354,     0,     0,     0,     0,   164,
    2176        0,     0,     0,   354,   354,     0,     0,     0,     0,   368,
    2177        0,   362,     0,   374,     0,     0,     0,    76,   355,     0,
    2178        0,     0,     0,     0,     0,     0,     0,     0,   355,     0,
    2179        0,   355,     0,     0,     0,     0,   223,     0,   355,     0,
    2180      354,     0,     0,   355,     8,     9,    10,    11,    12,    13,
    2181       14,    15,    16,    17,    18,    19,    20,    21,    22,    23,
    2182       24,    25,   164,     0,    26,    27,    28,     0,     0,     0,
    2183        0,     0,     0,    31,   217,     0,   362,     0,     0,     0,
     2330      18,    19,    20,    21,    22,    23,    24,    25,     0,   415,
     2331      26,    27,    28,     0,     0,     0,     0,     0,     0,    31,
     2332     455,     0,     0,     0,     0,     0,     0,     0,     0,   891,
    21842333       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2185        0,     0,   164,   461,     0,     0,     0,     0,     0,     0,
    2186        0,    34,     0,     0,     0,    78,     0,     0,   206,    39,
    2187        0,     0,     0,     0,     0,     0,   374,     0,     0,     0,
    2188        0,   362,   362,   362,   164,     0,     0,     0,   354,     0,
    2189        0,     0,     0,     0,   514,     0,   516,   519,     0,     0,
    2190      362,     0,     0,     0,   522,   523,     0,     0,   461,   516,
    2191      516,   164,     0,   270,     0,     0,     0,     0,   362,     0,
    2192        0,   516,     0,     0,     0,     0,     0,     0,     0,    85,
    2193        0,     0,     0,     0,     0,   362,     0,    76,   281,   282,
    2194        0,   283,     0,     0,    76,     0,     0,     0,     0,   355,
    2195        0,     0,     0,     0,     0,     0,     0,   516,   606,     0,
    2196        0,     0,     0,   630,     0,     0,     0,   284,     0,     0,
    2197        0,    85,     0,   285,   362,     0,     0,   286,     0,     0,
    2198      287,   288,   289,   290,    41,    42,     0,   291,   292,     0,
    2199        0,     0,     0,   516,     0,   293,     0,    76,     0,     0,
    2200        0,     0,   355,   355,     0,   355,   355,     0,     0,     0,
    2201      294,   362,   378,     0,     0,     0,     0,     0,   812,   296,
    2202      380,   298,   299,   300,   301,    78,     0,     0,     0,     0,
    2203        0,     0,     0,     0,     0,   210,     0,     0,     0,   164,
    2204      164,     0,     0,     0,     0,   230,   368,   234,     0,   236,
    2205        0,     0,     0,   362,     0,     0,   245,     0,     0,     0,
    2206      355,   355,     0,   362,     0,     0,   362,   461,     0,     0,
    2207      461,   224,     0,   362,     0,     0,     0,     0,   362,     0,
    2208        0,     0,     0,     0,     0,     0,     0,   210,     0,   234,
    2209      236,   245,     0,     0,     0,     0,     0,     0,     0,     0,
    2210        0,     0,     0,   741,     0,     0,     0,     0,     0,     0,
    2211        0,     0,     0,     0,     0,   164,     0,     0,     0,     0,
    2212        0,     0,     0,     0,     0,   355,     0,   461,     0,   461,
    2213      210,     0,   461,     0,   164,   461,     0,     0,     0,     0,
    2214       85,     0,     0,     0,     0,     0,     0,   368,     0,     0,
     2334       0,   742,     0,     0,     0,     0,     0,    34,     0,     0,
     2335       0,     0,     0,     0,    38,    39,     0,     0,     0,     0,
     2336       0,     0,     0,     0,   415,   837,     0,     0,     0,     0,
     2337       0,     0,   415,   591,     0,   415,   594,     0,     0,     0,
     2338       0,     0,     0,   219,     0,     0,   365,     0,     0,     0,
     2339     623,     0,   456,     0,     0,     0,   712,     0,     0,    45,
     2340      46,     0,     0,     0,     0,     0,     0,     0,     0,   641,
     2341       0,     0,   342,     0,     0,     0,     0,     0,     0,     0,
     2342     252,     0,   742,     0,     0,     0,     0,     0,     0,     0,
     2343     969,   970,     0,     0,     0,     0,     0,     0,     0,   415,
     2344       0,     0,     0,   415,   987,     0,     0,     0,     0,     0,
    22152345       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2216        0,     0,     0,     0,     0,     0,     0,     0,   223,     0,
    2217      516,   516,   516,   516,   516,   516,   516,   516,   516,   516,
    2218      516,   516,   516,   516,   516,   516,   516,   516,     0,     0,
    2219       78,   210,     0,   234,   236,   245,     0,     0,     0,     0,
    2220      164,     0,     0,     0,   355,     0,   355,     0,     0,     0,
    2221        0,     0,   368,   516,   606,     0,     0,   837,     0,     0,
    2222        0,     0,     0,     0,   362,     0,     0,     0,     0,   210,
    2223        0,     0,     0,   210,     0,     0,   355,     0,     0,     0,
    2224        0,     0,     0,   606,   355,   355,   355,     0,   606,   504,
    2225        0,     0,     0,     0,     0,   355,   355,   368,   368,   368,
    2226        0,     0,     0,     0,     0,     0,     0,     0,     0,    78,
    2227        0,     0,     0,     0,     0,     0,   368,   362,   362,     0,
    2228      362,   362,     0,     0,     0,     0,     0,     0,     0,     0,
    2229        0,     0,   355,     0,     0,     0,     0,     0,     0,   210,
    2230       85,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2231        0,   741,   516,     0,     0,     0,     0,     0,     0,     0,
    2232      210,     0,     0,     0,     0,   234,   236,   155,     0,     0,
    2233        0,     0,   461,   245,   516,   362,   362,     0,     0,     0,
    2234        0,     0,     0,     0,     0,     0,     0,   516,     0,     0,
    2235      368,     0,   961,     8,     9,    10,    11,    12,    13,    14,
    2236       15,    16,    17,    18,    19,    20,    21,    22,    23,    24,
    2237       25,     0,     0,   250,     0,     0,   210,     0,     0,     0,
    2238      355,     0,    31,   255,     0,     0,     0,   741,     0,     0,
    2239        0,     0,     0,   516,   210,     0,     0,     0,     0,   210,
    2240      362,   210,     0,     0,     0,     0,     0,     0,     0,     0,
    2241       34,     0,     0,     0,     0,     0,     0,     0,   210,     0,
    2242        0,   210,   210,     0,     0,   516,     0,     0,     0,    78,
    2243        0,     0,     0,     0,     0,     0,    78,   210,     0,   155,
    2244      516,     0,   368,   224,     0,     0,   630,     0,     0,   368,
    2245        0,   210,     0,   385,     0,     0,     0,     0,   210,     0,
    2246        0,     0,     0,     0,     0,    85,     0,     0,     0,     0,
    2247        0,     0,     0,     0,     0,     0,   417,     0,     0,   362,
    2248        0,   362,     0,     0,     0,     0,     0,     0,     0,    78,
    2249      432,     0,     0,     0,     0,     0,     0,     0,     0,   437,
    2250        0,     0,     0,     0,     0,     0,     0,     0,     0,   445,
    2251        0,   362,     0,     0,     0,     0,     0,     0,     0,   362,
    2252      362,   362,     0,     0,     0,     0,     0,     0,     0,     0,
    2253      362,   362,     0,     0,   471,     0,     0,     0,     0,   481,
    2254        0,     0,   461,     0,    85,     0,     0,     0,     0,     0,
    2255        0,     0,   489,     0,     0,     0,     0,     0,   499,     0,
    2256      503,   461,     0,     0,     0,     0,     0,   362,     0,     0,
    2257        0,     0,     0,     0,   210,     0,     0,     0,   533,     0,
    2258        0,     0,     0,     0,   164,     0,     0,     0,     0,     0,
    2259        0,   516,     0,     0,     0,     0,     0,     0,     0,     0,
    2260      368,     0,   210,     0,     0,     0,     0,   210,     0,     0,
     2346       0,  1002,     0,  1003,     0,     0,   322,  1007,     0,     0,
     2347       0,   370,   370,     0,   365,     0,   347,     0,     0,     0,
     2348     219,     0,     0,     0,     0,     0,     0,     0,   383,   383,
     2349       0,     0,     0,     0,     0,     0,     0,   415,     0,     0,
     2350       0,     8,     9,    10,    11,    12,    13,    14,    15,    16,
     2351      17,    18,    19,    20,    21,    22,    23,    24,    25,     0,
     2352       0,    26,    27,    28,     0,     0,     0,     0,   415,     0,
     2353      31,   365,     0,  1041,     0,     0,     0,     0,     0,     0,
     2354    1042,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2355       0,     0,     0,  1044,     0,  1045,     0,     0,    34,   322,
     2356       0,     0,     0,     0,     0,    38,    39,     0,     0,  1057,
     2357       0,   415,     0,     0,   342,   365,  1061,     0,     0,     0,
     2358       0,     0,     0,   487,     0,     0,     0,     0,  1099,     0,
     2359       0,  1100,     0,     0,     0,     0,   370,     0,     0,     0,
     2360       0,   644,     0,   339,     0,     0,     0,     0,     0,   600,
     2361      45,    46,     0,     0,     0,     0,     0,     0,     0,     0,
     2362     415,   415,     0,     0,     0,     0,     0,     0,     0,     0,
     2363       0,     0,     0,     0,     0,     0,     0,     0,     0,   831,
     2364     365,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2365     623,     0,   623,   623,   463,     0,   463,     0,     0,   623,
     2366       0,     0,     0,     0,     0,     0,     0,     0,     0,   870,
     2367     365,     0,     0,     0,     0,   365,     0,     0,     0,     0,
     2368       0,     0,     0,     0,   365,   365,   365,     0,     0,     0,
     2369       0,   463,     0,   463,     0,     0,     0,     0,  1164,     0,
     2370     383,     0,     0,   365,     0,     0,     0,     0,   415,   913,
     2371       0,     0,   415,   916,     0,     0,     0,     0,     0,   918,
     2372       0,   166,     0,     0,     0,   283,   284,     0,   285,     0,
     2373       0,     0,     0,     0,     0,     0,     0,   342,   365,   415,
     2374       0,   415,     0,     0,     0,   415,     0,     0,     0,     0,
     2375       0,     0,     0,     0,   286,   535,     0,     0,     0,     0,
     2376     287,     0,  1229,     0,   288,     0,     0,   289,   290,   291,
     2377     292,    41,    42,     0,   293,   294,     0,   365,   623,     0,
     2378       0,     0,   295,     0,     0,     0,     0,     0,     0,     0,
     2379       0,     0,  1243,     0,     0,     0,     0,  1245,   296,     0,
     2380     380,     0,   736,     0,     0,  1249,   814,    45,    46,   298,
     2381     299,   300,   301,   342,   365,     0,     0,     0,   415,   415,
    22612382       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2262        0,   593,   516,     0,     0,     0,   598,     0,     0,     0,
    2263        0,     0,     0,     0,   516,   606,     0,     0,     0,     0,
    2264        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2265        0,     0,     0,     0,   644,   362,   368,   368,   645,   646,
    2266        0,   648,     0,     0,     0,     0,     0,     0,   660,   661,
    2267        0,   662,   663,     0,   664,   516,   665,     0,     0,     0,
    2268        0,     0,  1178,     0,     0,     8,     9,    10,    11,    12,
    2269        0,     0,     0,   593,     0,   210,     0,     0,     0,     0,
    2270        0,   680,     0,     0,    85,     0,     0,     0,     0,   210,
    2271        0,    85,   281,   282,    31,   283,   461,     0,     0,     0,
    2272        0,     0,     0,     0,     0,     0,   691,     0,     0,   504,
    2273        0,     0,     0,     0,     0,     0,     0,   697,     0,     0,
    2274        0,   284,    34,     0,     0,     0,     0,   285,   516,     0,
    2275        0,   286,     0,     0,   287,   288,   289,   290,    41,    42,
    2276      733,   291,   292,     0,    85,     0,   736,     0,     0,   293,
    2277        0,   471,     0,     0,     0,     0,   741,     0,     0,     0,
    2278        0,     0,     0,     0,   294,     0,   378,     0,     0,     0,
    2279      210,     0,   516,   296,  1179,   298,   299,   300,   301,     0,
    2280        0,     0,     0,   210,     0,     0,   516,   516,   773,     0,
    2281        0,     0,     0,     0,     0,     0,     0,     0,   217,     0,
    2282        0,     0,   210,     0,   788,     0,     0,     0,     0,     0,
    2283        0,   204,     2,   205,     4,     5,     6,     7,     8,     9,
    2284       10,    11,    12,    13,    14,    15,    16,    17,    18,    19,
    2285       20,    21,    22,    23,    24,    25,     0,   741,    26,    27,
    2286       28,   815,     0,     0,     0,     0,     0,    31,     0,     0,
    2287      825,     0,     0,     0,     0,     0,     0,   828,     0,     0,
    2288        0,     0,   835,     0,     0,     0,     0,     0,     0,     0,
    2289        0,     0,     0,   850,     0,    34,     0,    35,     0,    36,
    2290       37,     0,   206,    39,    40,     0,   368,   368,     0,   210,
    2291        0,    41,    42,     0,     0,   217,     0,     0,     0,     0,
    2292        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2293        0,     0,     0,     0,   890,   210,     0,    43,     0,   207,
    2294        0,     0,     0,     0,     0,     0,     0,   208,     0,     0,
    2295        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2296        0,     0,     0,   210,     0,     0,     0,     0,     0,     0,
    2297      835,     0,     0,     0,     0,     0,     8,     9,    10,    11,
    2298       12,    13,    14,    15,    16,    17,    18,    19,    20,    21,
    2299       22,    23,    24,    25,  -294,   210,    26,    27,    28,     0,
    2300        0,     0,     0,     0,     0,    31,   210,     0,     0,     0,
    2301        0,     0,     0,     0,     0,     0,     0,   516,     0,     0,
    2302        0,     0,     0,     0,     0,   250,     0,     0,     0,     0,
    2303        0,   368,     0,    34,   516,   968,   969,     0,     0,     0,
    2304       38,    39,     0,     0,  -294,     0,     0,     0,     0,   986,
    2305        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2306        0,     0,     0,     0,     0,     0,  1001,     0,  1002,     0,
    2307        0,     0,  1006,     0,     0,   643,     0,   338,     0,     0,
    2308        0,     0,     0,     0,     0,   110,     0,     0,   210,   461,
    2309        0,   461,     0,     0,     0,     0,     0,     0,     0,     0,
    2310        0,     0,     0,     0,     0,     0,     0,   516,   516,     0,
    2311        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2312      281,   282,     0,   283,     0,     0,   461,     0,   461,     0,
    2313        0,     0,     0,     0,     0,     0,     0,     0,  1039,     0,
    2314        0,     0,     0,     0,     0,  1040,     0,     0,     0,   284,
    2315        0,     0,     0,     0,     0,   285,   164,     0,  1042,   286,
    2316     1043,     0,   287,   288,   289,   290,    41,    42,     0,   291,
    2317      292,     0,     0,     0,  1055,   210,     0,   293,     0,     0,
    2318        0,  1059,     0,     0,     0,     0,     0,     0,     0,     0,
    2319        0,     0,   294,  1097,   378,     0,  1098,     0,     0,   781,
    2320        0,   296,   380,   298,   299,   300,   301,     0,     0,     0,
    2321        0,     0,     0,     0,   598,     0,     0,     0,     0,     0,
    2322        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2323        0,     0,     0,     0,   341,   363,     0,     0,     0,     0,
    2324        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2325        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2326        0,     0,     0,     0,     0,     0,     0,     0,   413,     0,
    2327        0,     0,   210,     0,     0,   413,     0,     1,     2,     3,
    2328        4,     5,     6,     7,     8,     9,    10,    11,    12,    13,
    2329       14,    15,    16,    17,    18,    19,    20,    21,    22,    23,
    2330       24,    25,     0,  1162,    26,    27,    28,    29,     0,     0,
    2331       30,     0,     0,    31,    32,     8,     9,    10,    11,    12,
    2332       13,    14,    15,    16,    17,    18,    19,    20,    21,    22,
    2333       23,    24,    25,     0,     0,    26,    27,    28,    33,     0,
    2334        0,    34,     0,    35,    31,    36,    37,   413,    38,    39,
    2335       40,     0,     0,     0,     0,     0,     0,    41,    42,   533,
    2336        0,     0,     0,     0,     0,     0,  1227,     0,     0,     0,
    2337        0,     0,    34,     0,     0,     0,     0,     0,     0,    38,
    2338       39,     0,     0,    43,     0,    44,     0,     0,     0,  -523,
    2339        0,     0,     0,    45,     0,   321,  1241,     0,     0,     0,
    2340        0,  1243,     0,   413,     0,   345,     0,     0,     0,  1247,
    2341        0,   413,   589,     0,   413,   592,     0,   381,   381,     0,
    2342        0,     0,     0,     0,   363,     0,     0,     0,   622,     0,
    2343        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2344     1273,     0,     0,     0,     0,     0,     0,   640,     0,     0,
    2345      341,     0,  1281,     0,     0,  1282,     0,  1283,     0,     0,
    2346      281,   282,     0,   283,     0,     0,     0,     0,     0,     0,
    2347        0,  1292,  1293,     0,     0,     0,     0,   413,     0,     0,
    2348        0,   413,     0,     0,     0,     0,     0,     0,   321,   284,
    2349        0,     0,     0,  1306,     0,   285,     0,     0,     0,   286,
    2350        0,     0,   287,   288,   289,   290,    41,    42,     0,   291,
    2351      292,     0,   363,   485,     0,     0,     0,   293,     0,     0,
    2352     1329,     0,     0,     0,     0,     0,     0,     0,   210,     0,
    2353        0,     0,   294,     0,   378,   413,     0,   993,     0,     0,
    2354        0,   296,   380,   298,   299,   300,   301,     0,     0,     0,
    2355        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2356        0,     0,     0,     0,     0,     0,   413,     0,     0,   363,
    2357        0,     0,     0,     0,     1,     2,   205,     4,     5,     6,
    2358        7,     8,     9,    10,    11,    12,    13,    14,    15,    16,
    2359       17,    18,    19,    20,    21,    22,    23,    24,    25,  -294,
    2360        0,    26,    27,    28,    29,     0,     0,    30,     0,   413,
    2361       31,     0,   341,   363,     0,     0,     0,     0,  1399,     0,
    2362     1400,     0,     0,     0,     0,     0,     0,     0,     0,   381,
    2363        0,     0,     0,  1409,     0,  1410,     0,     0,    34,     0,
    2364       35,     0,    36,     0,     0,    38,    39,     0,     0,  -294,
    2365        0,     0,     0,  1417,     0,     0,     0,     0,   413,   413,
    2366        0,     0,     0,     0,     0,     0,     0,     0,     0,  1435,
    2367     1437,     0,     0,     0,     0,     0,     0,   830,   363,     0,
    2368      363,  1443,    44,     0,  1247,     0,     0,     0,     0,   622,
    2369      110,   622,   622,     0,     0,     0,     0,     0,   622,     0,
    2370        0,     0,     0,     0,     0,     0,  1466,     0,   869,   363,
    2371        0,     0,     0,     0,   363,  1473,     0,     0,  1475,     0,
    2372     1477,  1479,  1481,   363,   363,   363,     0,     0,     0,     0,
    2373        0,   735,     0,     0,     0,     0,     0,     0,     0,     0,
    2374        0,     0,   363,     0,     0,     0,     0,   413,   912,     0,
    2375        0,   413,   915,     0,     0,     0,     0,     0,   917,     0,
    2376        0,     0,  1512,     0,  1514,     0,     0,  1247,     0,     0,
    2377      769,     0,     0,     0,     0,     0,   341,   363,   413,     0,
    2378      413,     0,  1526,   782,   413,     0,     0,     0,     0,     0,
    2379      769,     0,     0,   769,     0,     0,     0,     0,     0,     0,
    2380        0,     0,     0,     0,   792,   793,     0,     0,     0,     0,
    2381        0,     0,     0,     0,     0,     0,   363,   622,     0,     0,
    2382        0,     0,     0,     0,     0,     0,   814,     0,     0,     0,
    2383        0,     0,     0,     0,     0,     0,   823,     0,     0,     0,
    2384        0,     0,     0,   345,     0,     0,     0,     0,   782,     0,
    2385        0,     0,   341,   363,     0,     0,     0,   413,   413,     0,
    2386        0,     0,     0,     0,     1,     2,     3,     4,     5,     6,
    2387        7,     8,     9,    10,    11,    12,    13,    14,    15,    16,
    2388       17,    18,    19,    20,    21,    22,    23,    24,    25,     0,
    2389        0,    26,    27,    28,    29,     0,     0,    30,   889,   413,
    2390       31,    32,     0,     0,     0,     0,     0,   381,   363,     0,
    2391        0,     0,     0,     0,   830,   363,     0,     0,     0,   622,
    2392        0,   622,     0,     0,     0,    33,     0,     0,    34,     0,
    2393       35,   622,    36,    37,     0,    38,    39,    40,     0,     0,
    2394        0,     0,     0,     0,    41,    42,     0,   345,     0,     0,
    2395        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2396        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2397       43,     0,    44,     0,     0,     0,     0,     0,     0,     0,
    2398       45,     0,     0,     0,     0,     8,     9,    10,    11,    12,
    2399       13,    14,    15,    16,    17,    18,    19,    20,    21,    22,
    2400       23,    24,    25,  -294,   830,    26,    27,    28,     0,     0,
    2401        0,     0,   413,     0,    31,     0,     0,     0,   413,     0,
    2402        0,     0,     0,   782,     0,   991,   413,     0,     0,     0,
    2403        0,   996,     0,     0,     0,     0,     0,     0,  1005,   622,
    2404      622,     0,    34,     0,     0,     0,     0,    37,     0,   336,
    2405      337,    40,     0,  -294,     0,     0,     0,     0,    41,    42,
    2406        0,     0,     0,     0,     0,     0,   363,     0,     0,     0,
    2407        0,     0,   413,     0,     0,     0,     0,     0,     0,     0,
    2408        0,     0,  1022,  1023,   643,   345,   338,     0,     0,     0,
    2409        0,   413,  1159,     0,   634,     0,     0,     0,     0,     0,
    2410      345,   363,     0,     0,     0,     0,     0,   413,  1171,     0,
    2411      622,   622,  1176,     0,     0,     0,     0,     0,     0,     0,
    2412        0,     0,   363,   363,     0,     0,     0,     0,     0,     0,
    2413        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2414     1053,     0,     0,     0,   381,     1,     2,   205,     4,     5,
     2383       0,     0,     0,     0,     0,     0,  1275,     0,     0,     0,
     2384       0,   770,     0,     0,     0,     0,     0,     0,  1283,     0,
     2385       0,  1284,     0,  1285,   783,     0,     0,     0,     0,   770,
     2386       0,   415,   770,     0,     0,     0,     0,  1294,  1295,   365,
     2387       0,     0,     0,   793,   794,   795,   831,   365,     0,     0,
     2388     623,     0,   623,     0,     0,     0,     0,     0,     0,  1308,
     2389       0,     0,   623,     0,     0,     0,     0,   816,     0,     0,
     2390       0,     0,     0,     0,     0,     0,     0,   825,     0,     0,
     2391       0,     0,     0,     0,   347,     0,  1331,     0,     0,   783,
     2392       0,     0,  -521,     0,     0,     1,     2,     3,     4,     5,
    24152393       6,     7,     8,     9,    10,    11,    12,    13,    14,    15,
    24162394      16,    17,    18,    19,    20,    21,    22,    23,    24,    25,
    24172395       0,     0,    26,    27,    28,    29,     0,     0,    30,     0,
    2418        0,    31,     0,   830,   413,  1239,     0,     0,     0,     0,
    2419        0,     0,     0,     0,     0,     0,     0,   622,     0,     0,
    2420        0,     0,     0,     0,     0,     0,     0,     0,     0,    34,
    2421        0,    35,     0,    36,     0,     0,    38,    39,     0,     0,
    2422      321,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2423        0,     0,     0,     0,     0,     0,  1140,  1141,     0,     0,
    2424        0,     0,   363,   381,     0,     0,     0,   281,   282,   996,
    2425      283,     0,  1150,    44,   769,     0,     0,     0,     0,     0,
    2426        0,   110,     0,     0,     0,     0,     0,     0,     0,     0,
    2427        0,     0,     0,     0,  1166,     0,   284,     0,     0,     0,
    2428        0,     0,   285,     0,     0,  1181,   286,     0,     0,   287,
    2429      288,   289,   290,    41,    42,     0,   291,   292,     0,     0,
    2430        0,     0,   341,     0,   293,   281,   282,   381,   283,  1199,
    2431        0,     0,     0,     0,     0,     0,     0,     0,     0,   294,
    2432        0,   378,     0,   363,   996,   996,     0,     0,   296,   380,
    2433      298,   299,   300,   301,   284,     0,     0,     0,     0,     0,
    2434      285,     0,     0,     0,   286,  1231,     0,   287,   288,   289,
    2435      290,    41,    42,     0,   291,   292,     0,     0,     0,     0,
    2436        0,     0,   293,     0,     0,     0,     0,     0,     0,     0,
    2437        0,     0,   363,   363,     0,     0,     0,   294,     0,   378,
    2438        0,     0,     0,     0,     0,     0,   296,   734,   298,   299,
    2439      300,   301,     0,   996,     0,     0,     0,     0,     0,     0,
     2396       0,    31,    32,     0,     0,   831,     0,     0,   890,     0,
     2397       0,     0,     0,   415,     0,     0,     0,   383,     0,   415,
     2398       0,     0,     0,     0,     0,     0,    33,   415,     0,    34,
     2399       0,    35,     0,    36,    37,     0,    38,    39,    40,     0,
     2400     623,   623,     0,     0,     0,    41,    42,     0,     0,     0,
     2401       0,     0,     0,     0,  1401,     0,  1402,   347,     0,     0,
     2402       0,     0,     0,     0,     0,     0,     0,   365,     0,  1411,
     2403       0,  1412,    43,   415,    44,     0,     0,     0,     0,     0,
     2404       0,    45,    46,     0,     0,     0,     0,     0,     0,  1419,
     2405       0,     0,   415,  1161,     0,     0,     0,     0,     0,     0,
     2406       0,     0,     0,   365,     0,  1437,  1439,     0,     0,   415,
     2407    1173,     0,   623,   623,  1178,     0,     0,  1445,     0,     0,
     2408    1249,     0,     0,     0,   365,   365,     0,     0,     0,     0,
     2409       0,     0,     0,   783,     0,   992,     0,     0,     0,     0,
     2410       0,   997,  1468,     0,     0,     0,     0,     0,  1006,     0,
     2411       0,  1475,     0,     0,  1477,     0,  1479,  1481,  1483,     2,
     2412     207,     4,     5,     6,     7,     8,     9,    10,    11,    12,
     2413      13,    14,    15,    16,    17,    18,    19,    20,    21,    22,
     2414      23,    24,    25,     0,     0,   831,   415,  1241,     0,     0,
     2415       0,     0,  1024,  1025,    31,     0,   347,     0,  1514,   623,
     2416    1516,     0,     0,  1249,     0,     0,     0,     0,     0,     0,
     2417     347,     0,     0,     0,     0,     0,     0,     0,  1528,     0,
     2418       0,     0,    34,     0,    35,     0,    36,    37,     0,   175,
     2419     176,    40,     0,     0,     0,     0,     0,     0,    41,    42,
     2420       0,     0,     0,     0,   365,     0,     0,     0,     0,     0,
     2421    1055,     0,     0,     0,   383,     0,     0,     0,     0,     0,
     2422       1,     2,   207,     4,     5,     6,     7,     8,     9,    10,
     2423      11,    12,    13,    14,    15,    16,    17,    18,    19,    20,
     2424      21,    22,    23,    24,    25,     0,     0,    26,    27,    28,
     2425      29,     0,     0,    30,   283,   284,    31,   285,     0,     0,
     2426       0,     0,     0,     0,   342,     0,     0,     0,     0,     0,
    24402427       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2441        0,     0,   889,     0,     0,     0,     0,     0,     0,     0,
    2442        0,     0,     0,     0,     0,     0,     0,  1284,  1285,     0,
    2443        0,     0,     0,     0,     0,     1,     2,   205,     4,     5,
     2428       0,     0,     0,   286,    34,   365,    35,     0,    36,   287,
     2429     322,    38,    39,   288,     0,     0,   289,   290,   291,   292,
     2430      41,    42,     0,   293,   294,     0,  1142,  1143,     0,     0,
     2431       0,   295,     0,   383,     0,     0,     0,     0,     0,   997,
     2432       0,     0,  1152,     0,   770,   283,   284,   296,   285,  1078,
     2433       0,     0,     0,     0,   365,   365,    45,    46,   298,   299,
     2434     300,   301,     0,     0,     0,  1168,     0,     0,     0,     0,
     2435    -131,     0,     0,     0,   286,     0,  1183,     0,     0,     0,
     2436     287,     0,     0,     0,   288,     0,     0,   289,   290,   291,
     2437     292,    41,    42,     0,   293,   294,     0,     0,   383,     0,
     2438    1201,     0,   295,     0,     0,     0,     0,     0,     0,     0,
     2439       0,     0,     0,     0,     0,   997,   997,     0,   296,     0,
     2440     380,     0,     0,     0,     0,   782,     0,    45,    46,   298,
     2441     299,   300,   301,     0,     0,     0,  1233,     0,     0,     0,
     2442       1,     2,     3,     4,     5,     6,     7,     8,     9,    10,
     2443      11,    12,    13,    14,    15,    16,    17,    18,    19,    20,
     2444      21,    22,    23,    24,    25,     0,     0,    26,    27,    28,
     2445      29,     0,     0,    30,     0,     0,    31,    32,     0,   365,
     2446       0,     0,     0,     0,   997,     0,     0,     0,   283,   284,
     2447       0,   285,     0,     0,     0,     0,     0,     0,     0,     0,
     2448       0,    33,     0,   890,    34,     0,    35,     0,    36,    37,
     2449       0,    38,    39,    40,     0,     0,     0,   286,  1286,  1287,
     2450      41,    42,     0,   287,     0,     0,     0,   288,     0,     0,
     2451     289,   290,   291,   292,    41,    42,     0,   293,   294,     0,
     2452       0,     0,     0,     0,     0,   295,     0,    43,     0,    44,
     2453       0,     0,     0,  -525,     0,     0,    45,    46,     0,     0,
     2454       0,   296,     0,   380,     0,     0,   994,     0,     0,   415,
     2455      45,    46,   298,   299,   300,   301,     0,     0,     0,     0,
     2456       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2457       0,     0,     0,     0,   415,   415,     0,     0,     0,     0,
     2458     997,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2459       0,     0,     0,     0,     0,     0,     0,     0,     0,   415,
     2460       0,     0,     1,     2,   207,     4,     5,     6,     7,     8,
     2461       9,    10,    11,    12,    13,    14,    15,    16,    17,    18,
     2462      19,    20,    21,    22,    23,    24,    25,     0,     0,    26,
     2463      27,    28,    29,     0,     0,    30,   283,   284,    31,  1064,
     2464    1065,  1394,  1066,   770,     0,  1067,  1068,  1069,  1070,  1071,
     2465    1072,  1073,  1074,     0,     0,     0,  1075,     0,     0,     0,
     2466    1076,  1077,     0,    33,     0,   286,    34,     0,    35,     0,
     2467      36,   650,     0,    38,    39,   288,     0,     0,   289,   290,
     2468     291,   292,    41,    42,     0,   293,   294,     0,     0,     0,
     2469       0,     0,     0,   295,     0,     0,     0,     0,     0,     0,
     2470       0,     0,     0,     0,     0,     0,     0,     0,     0,   296,
     2471       0,  1078,     0,     0,   172,     0,     0,     0,    45,    46,
     2472     298,   299,   300,   301,     0,     0,     0,     0,  1079,  1454,
     2473       0,     0,  -131,     0,     0,     0,     1,     2,   207,     4,
     2474       5,     6,     7,     8,     9,    10,    11,    12,    13,    14,
     2475      15,    16,    17,    18,    19,    20,    21,    22,    23,    24,
     2476      25,     0,     0,    26,    27,    28,    29,     0,     0,    30,
     2477     283,   284,    31,   285,     8,     9,    10,    11,    12,    13,
     2478      14,    15,    16,    17,    18,    19,    20,    21,    22,    23,
     2479      24,    25,  -296,     0,     0,     0,     0,     0,     0,   286,
     2480      34,     0,    35,    31,    36,   287,     0,    38,    39,   288,
     2481       0,  1520,   289,   290,   291,   292,    41,    42,     0,   293,
     2482     294,     0,     0,     0,     0,     0,     0,   295,     0,     0,
     2483       0,    34,     0,     0,     0,     0,     0,     0,     0,     0,
     2484       0,     0,  -296,   296,     0,    44,     0,     0,     0,     0,
     2485       0,     0,    45,    46,   298,   299,   300,   301,     0,     0,
     2486       0,     0,     0,   322,     2,   207,     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,     0,     0,     0,     0,   283,   284,    31,
     2490     285,     8,     9,    10,    11,    12,    13,    14,    15,    16,
     2491      17,    18,    19,    20,    21,    22,    23,    24,    25,  -297,
     2492       0,     0,     0,     0,     0,     0,   286,    34,     0,    35,
     2493      31,    36,   287,     0,    38,    39,   288,     0,     0,   289,
     2494     290,   291,   292,    41,    42,     0,   293,   294,     0,     0,
     2495       0,     0,     0,     0,   295,     0,     0,     0,    34,     0,
     2496       0,     0,     0,     0,     0,     0,     0,     0,     0,  -297,
     2497     296,     0,   344,     0,     0,     0,     0,   782,     0,   345,
     2498      46,   298,   299,   300,   301,     2,   207,     4,     5,     6,
     2499       7,     8,     9,    10,    11,    12,    13,    14,    15,    16,
     2500      17,    18,    19,    20,    21,    22,    23,    24,    25,     0,
     2501       0,    26,    27,    28,     0,     0,     0,     0,   283,   284,
     2502      31,   285,     8,     9,    10,    11,    12,    13,    14,    15,
     2503      16,    17,    18,    19,    20,    21,    22,    23,    24,    25,
     2504       0,     0,    26,    27,    28,     0,     0,   286,    34,     0,
     2505      35,    31,    36,   287,     0,    38,    39,   288,     0,     0,
     2506     289,   290,   291,   292,    41,    42,     0,   293,   294,     0,
     2507       0,     0,     0,     0,     0,   295,     0,     0,     0,    34,
     2508       0,     0,     0,     0,     0,     0,    38,    39,     0,     0,
     2509       0,   296,     0,   932,     0,     0,     0,     0,   782,     0,
     2510     345,    46,   298,   299,   300,   301,     2,   207,     4,     5,
    24442511       6,     7,     8,     9,    10,    11,    12,    13,    14,    15,
    24452512      16,    17,    18,    19,    20,    21,    22,    23,    24,    25,
    2446        0,     0,    26,    27,    28,    29,     0,     0,    30,   281,
    2447      282,    31,  1062,  1063,     0,  1064,     0,     0,  1065,  1066,
    2448     1067,  1068,  1069,  1070,  1071,  1072,     0,     0,     0,  1073,
    2449        0,     0,     0,  1074,  1075,     0,    33,   363,   284,    34,
    2450        0,    35,     0,    36,   649,     0,    38,    39,   286,   996,
    2451        0,   287,   288,   289,   290,    41,    42,     0,   291,   292,
    2452        0,     0,     0,     0,     0,     0,   293,     0,     0,     0,
    2453        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2454        0,   294,     0,  1076,     0,     0,   170,     0,     0,     0,
    2455      296,   297,   298,   299,   300,   301,     0,     0,     0,     0,
    2456     1077,     0,     0,     0,  -129,     0,     0,     0,     0,     0,
    2457     1392,     0,   769,     0,     0,     0,     0,     0,     0,     0,
    2458        0,     0,     0,     0,     0,     0,     0,   413,     8,     9,
    2459       10,    11,    12,    13,    14,    15,    16,    17,    18,    19,
    2460       20,    21,    22,    23,    24,    25,     0,     0,    26,    27,
    2461       28,     0,   413,   413,     0,     0,     0,    31,     0,     0,
    2462        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2463        0,     0,     0,     0,     0,     0,     0,   413,     0,     0,
    2464        0,     0,     0,     0,     0,    34,     0,     0,     0,     0,
    2465        0,     0,   206,    39,     0,     0,     0,     0,  1452,     0,
    2466        0,     0,     0,     0,     0,     1,     2,   205,     4,     5,
    2467        6,     7,     8,     9,    10,    11,    12,    13,    14,    15,
    2468       16,    17,    18,    19,    20,    21,    22,    23,    24,    25,
    2469        0,     0,    26,    27,    28,    29,     0,   629,    30,   281,
    2470      282,    31,   283,     8,     9,    10,    11,    12,    13,    14,
     2513       0,     0,    26,    27,    28,     0,     0,     0,     0,   283,
     2514     284,    31,   285,     8,     9,    10,    11,    12,    13,    14,
    24712515      15,    16,    17,    18,    19,    20,    21,    22,    23,    24,
    2472       25,     0,     0,    26,    27,    28,     0,     0,   284,    34,
    2473        0,    35,    31,    36,   285,     0,    38,    39,   286,     0,
    2474     1518,   287,   288,   289,   290,    41,    42,     0,   291,   292,
    2475        0,     0,     0,     0,     0,     0,   293,     0,     0,     0,
    2476       34,     0,     0,     0,     0,   109,     0,    38,    39,     0,
    2477        0,   294,     0,  1076,     0,     0,    41,    42,     0,     0,
    2478      296,   297,   298,   299,   300,   301,     0,     0,     0,     0,
    2479        0,     0,   321,     0,  -129,     1,     2,   205,     4,     5,
    2480        6,     7,     8,     9,    10,    11,    12,    13,    14,    15,
    2481       16,    17,    18,    19,    20,    21,    22,    23,    24,    25,
    2482        0,     0,    26,    27,    28,    29,     0,     0,    30,   281,
    2483      282,    31,   283,     8,     9,    10,    11,    12,    13,    14,
    2484       15,    16,    17,    18,    19,    20,    21,    22,    23,    24,
    2485       25,     0,     0,    26,    27,    28,     0,     0,   284,    34,
    2486        0,    35,    31,    36,   285,     0,    38,    39,   286,     0,
    2487        0,   287,   288,   289,   290,    41,    42,     0,   291,   292,
    2488        0,     0,     0,     0,     0,     0,   293,     0,     0,     0,
    2489       34,     0,     0,     0,     0,     0,     0,   206,    39,     0,
    2490        0,   294,     0,    44,     0,     0,     0,     0,     0,     0,
    2491      296,   297,   298,   299,   300,   301,     2,   205,     4,     5,
    2492        6,     7,     8,     9,    10,    11,    12,    13,    14,    15,
    2493       16,    17,    18,    19,    20,    21,    22,    23,    24,    25,
    2494        0,     0,    26,    27,    28,     0,     0,     0,     0,   281,
    2495      282,    31,   283,     0,     0,     0,     0,     0,     0,     0,
    2496        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2497        0,     0,     0,     0,     0,     0,     0,     0,   284,    34,
    2498        0,    35,     0,    36,   285,     0,    38,    39,   286,     0,
    2499        0,   287,   288,   289,   290,    41,    42,     0,   291,   292,
    2500        0,     0,     0,     0,     0,     0,   293,     0,     0,     0,
    2501        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2502        0,   294,     0,   343,     0,     0,     0,     0,   781,     0,
    2503      296,   344,   298,   299,   300,   301,     2,   205,     4,     5,
    2504        6,     7,     8,     9,    10,    11,    12,    13,    14,    15,
    2505       16,    17,    18,    19,    20,    21,    22,    23,    24,    25,
    2506        0,     0,    26,    27,    28,     0,     0,     0,     0,   281,
    2507      282,    31,   283,     0,     0,     0,     0,     0,     0,     0,
    2508        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2509        0,     0,     0,     0,     0,     0,     0,     0,   284,    34,
    2510        0,    35,     0,    36,   285,     0,    38,    39,   286,     0,
    2511        0,   287,   288,   289,   290,    41,    42,     0,   291,   292,
    2512        0,     0,     0,     0,     0,     0,   293,     0,     0,     0,
    2513        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2514        0,   294,     0,   931,     0,     0,     0,     0,   781,     0,
    2515      296,   344,   298,   299,   300,   301,     2,   205,     4,     5,
    2516        6,     7,     8,     9,    10,    11,    12,    13,    14,    15,
    2517       16,    17,    18,    19,    20,    21,    22,    23,    24,    25,
    2518        0,     0,    26,    27,    28,     0,     0,     0,     0,   281,
    2519      282,    31,   283,     0,     0,     0,     0,     0,     0,     0,
    2520        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2521        0,     0,     0,     0,     0,     0,     0,     0,   284,    34,
    2522        0,    35,     0,    36,   285,     0,    38,    39,   286,     0,
    2523        0,   287,   288,   289,   290,    41,    42,     0,   291,   292,
    2524        0,     0,     0,     0,     0,     0,   293,     0,     0,     0,
    2525        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2526        0,   294,     0,   931,     0,     0,     0,     0,   781,     0,
    2527      296,   600,   298,   299,   300,   301,     2,   205,     4,     5,
    2528        6,     7,     8,     9,    10,    11,    12,    13,    14,    15,
    2529       16,    17,    18,    19,    20,    21,    22,    23,    24,    25,
    2530        0,     0,    26,    27,    28,     0,     0,     0,     0,   281,
    2531      282,    31,   283,     0,     0,     0,     0,     0,     0,     0,
    2532        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2533        0,     0,     0,     0,     0,     0,     0,     0,   284,    34,
    2534        0,    35,     0,    36,   285,     0,    38,    39,   286,     0,
    2535        0,   287,   288,   289,   290,    41,    42,     0,   291,   292,
    2536        0,     0,     0,     0,     0,     0,   293,     0,     0,     0,
    2537        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2538        0,   294,     0,   343,     0,     0,     0,     0,     0,     0,
    2539      296,   344,   298,   299,   300,   301,     2,   205,     4,     5,
    2540        6,     7,     8,     9,    10,    11,    12,    13,    14,    15,
    2541       16,    17,    18,    19,    20,    21,    22,    23,    24,    25,
    2542        0,     0,    26,    27,    28,     0,     0,     0,     0,   281,
    2543      282,    31,   283,     0,     0,     0,     0,     0,     0,     0,
    2544        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2545        0,     0,     0,     0,     0,     0,     0,     0,   284,    34,
    2546        0,    35,     0,    36,   285,     0,    38,    39,   286,     0,
    2547        0,   287,   288,   289,   290,    41,    42,     0,   291,   292,
    2548        0,     0,     0,     0,     0,     0,   293,     0,     0,     0,
    2549        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2550        0,   294,     0,   931,     0,     0,     0,     0,     0,     0,
    2551      296,   344,   298,   299,   300,   301,     2,   205,     4,     5,
    2552        6,     7,     8,     9,    10,    11,    12,    13,    14,    15,
    2553       16,    17,    18,    19,    20,    21,    22,    23,    24,    25,
    2554        0,     0,    26,    27,    28,     0,     0,     0,     0,   281,
    2555      282,    31,   283,     0,     0,     0,     0,     0,     0,     0,
    2556        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2557        0,     0,     0,     0,     0,     0,     0,     0,   284,    34,
    2558        0,    35,     0,    36,   285,     0,   206,    39,   286,     0,
    2559        0,   287,   288,   289,   290,    41,    42,     0,   291,   292,
    2560        0,     0,     0,     0,     0,     0,   293,     0,     0,     0,
    2561        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2562        0,   294,     0,  1020,     0,     0,     0,     0,     0,     0,
    2563      296,  1021,   298,   299,   300,   301,     2,   205,     4,     5,
    2564        6,     7,     8,     9,    10,    11,    12,    13,    14,    15,
    2565       16,    17,    18,    19,    20,    21,    22,    23,    24,    25,
    2566        0,     0,    26,    27,    28,     0,     0,     0,     0,   281,
    2567      282,    31,   283,     0,     0,     0,     0,     0,     0,     0,
    2568        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2569        0,     0,     0,     0,     0,     0,     0,     0,   284,    34,
    2570        0,    35,     0,    36,   285,     0,   206,    39,   286,     0,
    2571        0,   287,   288,   289,   290,    41,    42,     0,   291,   292,
    2572        0,     0,     0,     0,     0,     0,   293,     0,     0,     0,
    2573        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2574        0,   294,     0,   378,     0,     0,     0,     0,     0,     0,
    2575      296,   380,   298,   299,   300,   301,   204,     2,   205,     4,
     2516      25,     0,     0,    26,    27,    28,     0,     0,   286,    34,
     2517       0,    35,    31,    36,   287,     0,    38,    39,   288,     0,
     2518       0,   289,   290,   291,   292,    41,    42,     0,   293,   294,
     2519       0,     0,     0,     0,     0,     0,   295,     0,     0,     0,
     2520      34,     0,     0,     0,     0,     0,     0,   208,    39,     0,
     2521       0,     0,   296,     0,   932,     0,     0,     0,     0,   782,
     2522       0,    45,    46,   298,   299,   300,   301,     2,   207,     4,
    25762523       5,     6,     7,     8,     9,    10,    11,    12,    13,    14,
    25772524      15,    16,    17,    18,    19,    20,    21,    22,    23,    24,
    25782525      25,     0,     0,    26,    27,    28,     0,     0,     0,     0,
    2579        0,     0,    31,     0,     0,     0,     0,     0,     0,     0,
     2526     283,   284,    31,   285,     8,     9,    10,    11,    12,    13,
     2527      14,    15,    16,    17,    18,    19,    20,    21,    22,    23,
     2528      24,    25,     0,     0,     0,     0,     0,     0,     0,   286,
     2529      34,     0,    35,    31,    36,   287,     0,    38,    39,   288,
     2530       0,     0,   289,   290,   291,   292,    41,    42,     0,   293,
     2531     294,     0,     0,     0,     0,     0,     0,   295,     0,     0,
     2532       0,    34,     0,     0,     0,     0,     0,     0,     0,     0,
     2533       0,     0,     0,   296,     0,   344,     0,     0,     0,     0,
     2534       0,     0,   345,    46,   298,   299,   300,   301,     2,   207,
     2535       4,     5,     6,     7,     8,     9,    10,    11,    12,    13,
     2536      14,    15,    16,    17,    18,    19,    20,    21,    22,    23,
     2537      24,    25,     0,     0,    26,    27,    28,     0,     0,     0,
     2538       0,   283,   284,    31,   285,     0,     0,     0,     0,     0,
    25802539       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    25812540       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2582       34,     0,    35,     0,    36,     0,     0,   206,    39,     0,
    2583        2,   205,     4,     5,     6,     7,     8,     9,    10,    11,
     2541     286,    34,     0,    35,     0,    36,   287,     0,    38,    39,
     2542     288,     0,     0,   289,   290,   291,   292,    41,    42,     0,
     2543     293,   294,     0,     0,     0,     0,     0,     0,   295,     0,
     2544       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2545       0,     0,     0,     0,   296,     0,   932,     0,     0,     0,
     2546       0,     0,     0,   345,    46,   298,   299,   300,   301,     2,
     2547     207,     4,     5,     6,     7,     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,     0,
     2550       0,     0,   283,   284,    31,   285,     0,     0,     0,     0,
     2551       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2552       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2553       0,   286,    34,     0,    35,     0,    36,   287,     0,   208,
     2554      39,   288,     0,     0,   289,   290,   291,   292,    41,    42,
     2555       0,   293,   294,     0,     0,     0,     0,     0,     0,   295,
     2556       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2557       0,     0,     0,     0,     0,   296,     0,  1021,     0,     0,
     2558       0,     0,     0,     0,  1022,    46,   298,   299,   300,   301,
     2559       2,   207,     4,     5,     6,     7,     8,     9,    10,    11,
    25842560      12,    13,    14,    15,    16,    17,    18,    19,    20,    21,
    25852561      22,    23,    24,    25,     0,     0,    26,    27,    28,     0,
    2586        0,     0,     0,     0,   207,    31,     0,     0,     0,     0,
    2587        0,     0,   270,     0,     0,     0,     0,     0,     0,     0,
     2562       0,     0,     0,   283,   284,    31,   285,     8,     9,    10,
     2563      11,    12,    13,    14,    15,    16,    17,    18,    19,    20,
     2564      21,    22,    23,    24,    25,     0,     0,    26,    27,    28,
     2565       0,     0,   286,    34,     0,    35,    31,    36,   287,     0,
     2566     208,    39,   288,     0,     0,   289,   290,   291,   292,    41,
     2567      42,     0,   293,   294,     0,     0,     0,     0,     0,     0,
     2568     295,     0,     0,     0,    34,     0,     0,     0,     0,     0,
     2569       0,   208,    39,     0,     0,     0,   296,     0,   380,     0,
     2570       0,     0,     0,     0,     0,    45,    46,   298,   299,   300,
     2571     301,     1,     2,     3,     4,     5,     6,     7,     8,     9,
     2572      10,    11,    12,    13,    14,    15,    16,    17,    18,    19,
     2573      20,    21,    22,    23,    24,    25,    45,    46,    26,    27,
     2574      28,    29,     0,     0,    30,     0,     0,    31,    32,     0,
    25882575       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2589        0,     0,     0,    34,     0,    35,     0,    36,    37,     0,
    2590      206,    39,    40,     0,     0,     0,     0,     0,     0,    41,
     2576       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2577       0,     0,    33,     0,     0,    34,     0,    35,     0,    36,
     2578      37,     0,    38,    39,    40,     0,     0,     0,     0,     0,
     2579       0,    41,    42,     0,     0,     0,     0,     0,     0,     0,
     2580       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2581       0,     0,     0,     0,     0,     0,     0,     0,    43,     0,
     2582      44,     0,     0,     0,     0,     0,     0,    45,    46,   206,
     2583       2,   207,     4,     5,     6,     7,     8,     9,    10,    11,
     2584      12,    13,    14,    15,    16,    17,    18,    19,    20,    21,
     2585      22,    23,    24,    25,     0,     0,    26,    27,    28,     0,
     2586       0,     0,     0,     0,     0,    31,     0,     8,     9,    10,
     2587      11,    12,    13,    14,    15,    16,    17,    18,    19,    20,
     2588      21,    22,    23,    24,    25,     0,     0,    26,    27,    28,
     2589     494,   495,   496,    34,     0,    35,    31,    36,    37,     0,
     2590     208,    39,    40,     0,     0,     0,     0,     0,     0,    41,
    25912591      42,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2592       0,     0,     0,     0,    34,     0,     0,     0,     0,     0,
     2593       0,    38,    39,     0,     0,     0,    43,     0,   209,     0,
     2594       0,     0,     0,     0,     0,    45,    46,     1,     2,   207,
     2595       4,     5,     6,     7,     8,     9,    10,    11,    12,    13,
     2596      14,    15,    16,    17,    18,    19,    20,    21,    22,    23,
     2597      24,    25,  -296,     0,    26,    27,    28,    29,     0,     0,
     2598      30,     0,     0,    31,     0,     0,     0,     0,     0,     0,
    25922599       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2593        0,     0,     0,     0,     0,    43,     0,   207,     0,     0,
    2594        0,     0,     0,     0,     0,   208,     2,   205,     4,     5,
     2600       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2601       0,    34,     0,    35,     0,    36,     0,     0,    38,    39,
     2602       0,     0,  -296,     0,     1,     2,   207,     4,     5,     6,
     2603       7,     8,     9,    10,    11,    12,    13,    14,    15,    16,
     2604      17,    18,    19,    20,    21,    22,    23,    24,    25,     0,
     2605       0,    26,    27,    28,    29,     0,    44,    30,     0,     0,
     2606      31,     0,     0,    45,    46,     0,     0,     0,     0,     0,
     2607       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2608       0,     0,     0,     0,     0,     0,     0,     0,    34,     0,
     2609      35,     0,    36,     0,     0,    38,    39,     0,   206,     2,
     2610     207,     4,     5,     6,     7,     8,     9,    10,    11,    12,
     2611      13,    14,    15,    16,    17,    18,    19,    20,    21,    22,
     2612      23,    24,    25,     0,     0,    26,    27,    28,     0,     0,
     2613       0,     0,     0,    44,    31,     0,     0,     0,     0,     0,
     2614      45,    46,     0,     0,     0,     0,     0,     0,     0,     0,
     2615       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2616       0,     0,    34,     0,    35,     0,    36,     0,     0,   208,
     2617      39,     2,   207,     4,     5,     6,     7,     8,     9,    10,
     2618      11,    12,    13,    14,    15,    16,    17,    18,    19,    20,
     2619      21,    22,    23,    24,    25,     0,     0,    26,    27,    28,
     2620       0,     0,     0,     0,     0,     0,    31,   209,     0,     0,
     2621       0,     0,     0,     0,    45,    46,     0,     0,     0,     0,
     2622       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2623       0,     0,     0,     0,    34,     0,    35,     0,    36,    37,
     2624       0,   208,    39,    40,     0,     0,     0,     0,     0,     0,
     2625      41,    42,     0,     0,     0,     0,     0,     0,     0,     0,
     2626       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2627       0,     0,     0,     0,     0,     0,     0,    43,     0,   209,
     2628       0,     0,     0,     0,     0,     0,    45,    46,     2,   207,
     2629       4,     5,     6,     7,     8,     9,    10,    11,    12,    13,
     2630      14,    15,    16,    17,    18,    19,    20,    21,    22,    23,
     2631      24,    25,     0,     0,    26,    27,    28,     0,     0,     0,
     2632       0,     0,     0,    31,     0,     0,     0,     0,     0,     0,
     2633       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2634       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2635       0,    34,     0,    35,     0,    36,     0,     0,    38,    39,
     2636       0,     0,     2,   207,     4,     5,     6,     7,     8,     9,
     2637      10,    11,    12,    13,    14,    15,    16,    17,    18,    19,
     2638      20,    21,    22,    23,    24,    25,     0,     0,    26,    27,
     2639      28,     0,     0,     0,     0,  -404,   688,    31,     0,     0,
     2640       0,     0,     0,    45,    46,     0,     0,     0,     0,     0,
     2641       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2642       0,     0,     0,     0,     0,    34,     0,    35,     0,    36,
     2643       0,     0,    38,    39,     0,     0,     0,     0,     0,     0,
     2644       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2645       0,     0,     0,     0,  1373,     0,     0,     0,     0,     0,
     2646       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2647     688,     0,     0,     0,     0,     0,     0,    45,    46,     2,
     2648     207,     4,     5,     6,     7,     8,     9,    10,    11,    12,
     2649      13,    14,    15,    16,    17,    18,    19,    20,    21,    22,
     2650      23,    24,    25,     0,     0,    26,    27,    28,     0,     0,
     2651       0,     0,     0,     0,    31,     0,     0,     0,     8,     9,
     2652      10,    11,    12,    13,    14,    15,    16,    17,    18,    19,
     2653      20,    21,    22,    23,    24,    25,  -296,     0,    26,    27,
     2654      28,     0,    34,     0,    35,     0,    36,    31,     0,    38,
     2655      39,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2656       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2657       0,  1375,     0,     0,     0,    34,     0,     0,     0,     0,
     2658      37,     0,   337,   338,    40,     0,  -296,   688,     0,     0,
     2659       0,    41,    42,     0,    45,    46,     2,   207,     4,     5,
    25952660       6,     7,     8,     9,    10,    11,    12,    13,    14,    15,
    25962661      16,    17,    18,    19,    20,    21,    22,    23,    24,    25,
     2662     339,     0,    26,    27,    28,     0,     0,    45,    46,     0,
     2663       0,    31,     0,     0,     0,     0,     0,     0,     0,     0,
     2664       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2665       0,     0,     0,     0,     0,     0,     0,     0,     0,    34,
     2666       0,    35,     0,    36,     0,     0,   208,    39,     2,   207,
     2667       4,     5,     6,     7,     8,     9,    10,    11,    12,    13,
     2668      14,    15,    16,    17,    18,    19,    20,    21,    22,    23,
     2669      24,    25,     0,     0,    26,    27,    28,     0,     0,     0,
     2670       0,     0,     0,    31,   271,     0,     0,     0,     0,     0,
     2671       0,    45,    46,     0,     0,     0,     0,     0,     0,     0,
     2672       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2673       0,    34,     0,    35,     0,    36,     0,     0,    38,    39,
     2674       2,   207,     4,     5,     6,     7,     8,     9,    10,    11,
     2675      12,    13,    14,    15,    16,    17,    18,    19,    20,    21,
     2676      22,    23,    24,    25,     0,     0,    26,    27,    28,     0,
     2677       0,     0,     0,     0,     0,    31,   688,     0,     0,     0,
     2678       0,     0,     0,    45,    46,     0,     0,     0,     0,     0,
     2679       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2680       0,     0,     0,    34,     0,    35,     0,    36,     0,     0,
     2681      38,    39,     2,   207,     4,     5,     6,     7,     8,     9,
     2682      10,    11,    12,    13,    14,    15,    16,    17,    18,    19,
     2683      20,    21,    22,    23,    24,    25,     0,     0,    26,    27,
     2684      28,     0,     0,     0,     0,     0,     0,    31,   602,     0,
     2685       0,     0,     0,     0,     0,    45,    46,     0,     0,     0,
     2686       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2687       0,     0,     0,     0,     0,    34,     0,    35,     0,    36,
     2688       0,     0,   208,    39,     8,     9,    10,    11,    12,    13,
     2689      14,    15,    16,    17,    18,    19,    20,    21,    22,    23,
     2690      24,    25,     0,     0,    26,    27,    28,     0,     0,     0,
     2691       0,   283,   284,    31,   285,     0,     0,     0,     0,     0,
     2692     209,     0,     0,     0,     0,     0,     0,    45,    46,     0,
     2693       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2694     286,    34,     0,     0,     0,     0,   287,     0,    38,    39,
     2695     288,     0,     0,   289,   290,   291,   292,    41,    42,     0,
     2696     293,   294,     0,     0,     0,     0,     0,     0,   295,     0,
     2697       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2698       0,     0,     0,     0,   296,     0,   527,     0,     0,   172,
     2699       0,     0,     0,    45,    46,   298,   299,   300,   301,     8,
     2700       9,    10,    11,    12,    13,    14,    15,    16,    17,    18,
     2701      19,    20,    21,    22,    23,    24,    25,     0,     0,    26,
     2702      27,    28,     0,     0,     0,     0,   283,   284,    31,   285,
     2703       8,     9,    10,    11,    12,    13,    14,    15,    16,    17,
     2704      18,    19,    20,    21,    22,    23,    24,    25,  -296,     0,
     2705      26,    27,    28,     0,     0,   286,    34,     0,     0,    31,
     2706       0,   650,     0,    38,    39,   288,     0,     0,   289,   290,
     2707     291,   292,    41,    42,     0,   293,   294,     0,     0,     0,
     2708       0,     0,     0,   295,     0,     0,     0,    34,     0,     0,
     2709       0,     0,     0,     0,    38,    39,     0,     0,  -296,   296,
     2710     -35,   767,     0,     0,     0,     0,     0,     0,    45,    46,
     2711     298,   299,   300,   301,     8,     9,    10,    11,    12,    13,
     2712      14,    15,    16,    17,    18,    19,    20,    21,    22,    23,
     2713      24,    25,   339,     0,    26,    27,    28,     0,     0,    45,
     2714      46,   283,   284,    31,   285,     8,     9,    10,    11,    12,
     2715      13,    14,    15,    16,    17,    18,    19,    20,    21,    22,
     2716      23,    24,    25,     0,     0,    26,    27,    28,     0,     0,
     2717     286,    34,     0,     0,    31,   455,   287,     0,    38,    39,
     2718     288,     0,     0,   289,   290,   291,   292,    41,    42,     0,
     2719     293,   294,     0,     0,     0,     0,     0,     0,   295,     0,
     2720       0,     0,    34,     0,     0,     0,     0,     0,     0,    38,
     2721      39,     0,     0,     0,   296,     0,   297,     0,     0,     0,
     2722       0,     0,     0,    45,    46,   298,   299,   300,   301,     8,
     2723       9,    10,    11,    12,    13,    14,    15,    16,    17,    18,
     2724      19,    20,    21,    22,    23,    24,    25,   456,     0,    26,
     2725      27,    28,     0,     0,    45,    46,   283,   284,    31,   285,
     2726       8,     9,    10,    11,    12,    13,    14,    15,    16,    17,
     2727      18,    19,    20,    21,    22,    23,    24,    25,     0,     0,
     2728      26,    27,    28,     0,     0,   286,    34,     0,     0,    31,
     2729       0,   287,     0,    38,    39,   288,     0,     0,   289,   290,
     2730     291,   292,    41,    42,     0,   293,   294,     0,     0,     0,
     2731       0,     0,     0,   295,     0,     0,     0,    34,     0,     0,
     2732       0,     0,     0,     0,    38,    39,     0,     0,     0,   296,
     2733       0,   158,     0,     0,     0,     0,     0,     0,    45,    46,
     2734     298,   299,   300,   301,     8,     9,    10,    11,    12,    13,
     2735      14,    15,    16,    17,    18,    19,    20,    21,    22,    23,
     2736      24,    25,   258,     0,    26,    27,    28,     0,     0,    45,
     2737      46,   283,   284,    31,   285,     8,     9,    10,    11,    12,
     2738      13,    14,    15,    16,    17,    18,    19,    20,    21,    22,
     2739      23,    24,    25,     0,     0,    26,    27,    28,     0,     0,
     2740     286,    34,     0,     0,    31,     0,   287,     0,    38,    39,
     2741     288,     0,     0,   289,   290,   291,   292,    41,    42,     0,
     2742     293,   294,     0,     0,     0,     0,     0,     0,   295,     0,
     2743       0,     0,    34,     0,     0,     0,     0,     0,     0,    38,
     2744      39,     0,     0,     0,   296,     0,   602,     0,     0,     0,
     2745       0,     0,     0,    45,    46,   298,   299,   300,   301,     8,
     2746       9,    10,    11,    12,    13,    14,    15,    16,    17,    18,
     2747      19,    20,    21,    22,    23,    24,    25,   158,     0,    26,
     2748      27,    28,     0,     0,    45,    46,   283,   284,    31,   285,
     2749       8,     9,    10,    11,    12,    13,    14,    15,    16,    17,
     2750      18,    19,    20,    21,    22,    23,    24,    25,  -296,     0,
     2751      26,    27,    28,     0,     0,   286,    34,     0,     0,    31,
     2752       0,   287,     0,    38,    39,   288,     0,     0,   289,   290,
     2753     291,   292,    41,    42,     0,   293,   294,     0,     0,     0,
     2754       0,     0,     0,   295,     0,     0,     0,    34,     0,     0,
     2755       0,     0,    37,     0,   337,   338,    40,     0,  -296,   296,
     2756       0,   380,     0,    41,    42,     0,     0,     0,    45,    46,
     2757     298,   299,   300,   301,     0,     0,     0,     0,     0,     0,
     2758       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2759     644,     0,   339,     0,     0,     0,     0,     0,     0,    45,
     2760      46,     8,     9,    10,    11,    12,    13,    14,    15,    16,
     2761      17,    18,    19,    20,    21,    22,    23,    24,    25,     0,
     2762       0,    26,    27,    28,     0,     0,     0,     0,     0,     0,
     2763      31,     8,     9,    10,    11,    12,    13,    14,    15,    16,
     2764      17,    18,    19,    20,    21,    22,    23,    24,    25,     0,
     2765       0,    26,    27,    28,     0,     0,     0,     0,    34,     0,
     2766      31,     0,     0,    37,     0,    38,    39,    40,     0,     0,
     2767       0,     0,     0,     0,    41,    42,     0,     0,     0,     0,
     2768       0,     0,     0,     0,     0,     0,     0,     0,    34,     0,
     2769       0,     0,     0,    37,     0,   208,    39,    40,     0,     0,
     2770       0,    43,     0,    44,    41,    42,     0,     0,     0,     0,
     2771      45,    46,     0,     0,     0,     0,     0,     0,     0,     0,
     2772       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2773       0,    43,     0,   271,     0,     0,     0,     0,     0,     0,
     2774      45,    46,     8,     9,    10,    11,    12,    13,    14,    15,
     2775      16,    17,    18,    19,    20,    21,    22,    23,    24,    25,
    25972776       0,     0,    26,    27,    28,     0,     0,     0,     0,     0,
    2598        0,    31,     0,     0,     0,     0,     8,     9,    10,    11,
     2777       0,    31,     8,     9,    10,    11,    12,    13,    14,    15,
     2778      16,    17,    18,    19,    20,    21,    22,    23,    24,    25,
     2779       0,     0,    26,    27,    28,     0,     0,     0,     0,    34,
     2780       0,    31,   455,     0,    37,     0,   337,   338,    40,     0,
     2781       0,     0,     0,     0,     0,    41,    42,     0,     0,     0,
     2782       0,     0,     0,     0,     0,     0,     0,     0,     0,    34,
     2783       0,     0,     0,     0,     0,     0,    38,    39,     0,     0,
     2784       0,     0,   644,     0,   339,     0,     0,     0,     0,     0,
     2785       0,    45,    46,     0,     0,     8,     9,    10,    11,    12,
     2786      13,    14,    15,    16,    17,    18,    19,    20,    21,    22,
     2787      23,    24,    25,     0,   456,    26,    27,    28,  1111,     0,
     2788       0,    45,    46,     0,    31,   455,     8,     9,    10,    11,
    25992789      12,    13,    14,    15,    16,    17,    18,    19,    20,    21,
    2600       22,    23,    24,    25,     0,     0,    26,    27,    28,    34,
    2601        0,    35,     0,    36,     0,    31,    38,    39,     0,     2,
    2602      205,     4,     5,     6,     7,     8,     9,    10,    11,    12,
     2790      22,    23,    24,    25,     0,     0,    26,    27,    28,     0,
     2791       0,     0,    34,     0,     0,    31,     0,     0,     0,    38,
     2792      39,     0,     0,     0,     0,     8,     9,    10,    11,    12,
    26032793      13,    14,    15,    16,    17,    18,    19,    20,    21,    22,
    2604       23,    24,    25,    34,     0,    26,    27,    28,   109,     0,
    2605       38,    39,  -402,   687,    31,     0,     0,     0,     0,    41,
    2606       42,   634,     0,     0,     0,     0,     0,     0,     0,     0,
     2794      23,    24,    25,    34,     0,    26,    27,    28,     0,     0,
     2795     208,    39,     0,     0,    31,     0,     0,   456,     0,     0,
     2796       0,  1238,     0,     0,    45,    46,     0,     0,     0,     0,
    26072797       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2608        0,     0,    34,     0,    35,     0,    36,    44,     0,    38,
    2609       39,     0,     0,     0,     0,   110,     0,     0,     0,     0,
     2798       0,     0,    34,     0,     0,     0,     0,     0,   271,    38,
     2799      39,     0,     0,     0,     0,    45,    46,     8,     9,    10,
     2800      11,    12,    13,    14,    15,    16,    17,    18,    19,    20,
     2801      21,    22,    23,    24,    25,     0,     0,    26,    27,    28,
     2802       0,     0,     0,     0,     0,     0,    31,   339,     0,     0,
     2803       0,     0,     0,     0,    45,    46,     8,     9,    10,    11,
     2804      12,    13,    14,    15,    16,    17,    18,    19,    20,    21,
     2805      22,    23,    24,    25,    34,     0,    26,    27,    28,     0,
     2806       0,    38,    39,     0,     0,    31,     8,     9,    10,    11,
     2807      12,    13,    14,    15,    16,    17,    18,    19,    20,    21,
     2808      22,    23,    24,    25,     0,     0,    26,    27,    28,     0,
     2809       0,     0,     0,    34,     0,    31,     0,     0,     0,   456,
     2810      38,    39,     0,     0,     0,     0,    45,    46,     0,     0,
    26102811       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2611        0,  1371,     0,     0,     0,     0,     0,     0,     0,     0,
    2612        0,     0,     0,     0,     0,     0,   687,     0,     0,     0,
    2613        0,     0,     0,     0,   634,     2,   205,     4,     5,     6,
     2812       0,     0,     0,    34,     0,     0,     0,     0,     0,     0,
     2813      38,    39,     0,     0,     0,     0,     0,     0,   602,     0,
     2814       0,     0,     0,     0,     0,    45,    46,     0,     0,     0,
     2815       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2816       0,     0,     0,     0,     0,     0,     0,     0,    44,     0,
     2817       0,     0,     0,     0,     0,    45,    46,     2,   207,     4,
     2818       5,     6,     7,     8,     9,    10,    11,    12,    13,    14,
     2819      15,    16,    17,    18,    19,    20,    21,    22,    23,    24,
     2820      25,     0,     0,    26,    27,    28,     0,     0,     0,     0,
     2821       0,     0,    31,     0,   283,   284,     0,   285,  1065,     0,
     2822    1066,     0,     0,  1067,  1068,  1069,  1070,  1071,  1072,  1073,
     2823    1074,     0,     0,  1553,  1075,     0,     0,     0,  1076,  1077,
     2824      34,    33,    35,   286,    36,     0,     0,    38,    39,   650,
     2825       0,     0,     0,   288,     0,     0,   289,   290,   291,   292,
     2826      41,    42,     0,   293,   294,     0,     0,     0,     0,     0,
     2827       0,   295,     0,     0,     0,     0,     0,     0,     0,     0,
     2828       0,     0,     0,     0,  -417,     0,     0,   296,     0,   380,
     2829       0,     0,   172,     0,     0,     0,    45,    46,   298,   299,
     2830     300,   301,     0,     0,     0,     0,  1079,     0,   283,   284,
     2831    -131,   285,  1065,     0,  1066,     0,     0,  1067,  1068,  1069,
     2832    1070,  1071,  1072,  1073,  1074,     0,     0,     0,  1075,     0,
     2833       0,     0,  1076,  1077,     0,    33,     0,   286,     0,     0,
     2834       0,     0,     0,   650,     0,     0,     0,   288,     0,     0,
     2835     289,   290,   291,   292,    41,    42,     0,   293,   294,     0,
     2836       0,     0,     0,     0,     0,   295,     0,     0,     0,     0,
     2837       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2838       0,   296,     0,   380,     0,     0,   172,     0,     0,     0,
     2839      45,    46,   298,   299,   300,   301,     0,     0,     0,     0,
     2840    1079,     0,   283,   284,  -131,   285,  1065,     0,  1066,  1423,
     2841    1424,  1067,  1068,  1069,  1070,  1071,  1072,  1073,  1074,     0,
     2842       0,  1553,  1075,     0,     0,     0,  1076,  1077,     0,    33,
     2843       0,   286,     0,     0,     0,     0,     0,   650,     0,     0,
     2844       0,   288,     0,     0,   289,   290,   291,   292,    41,    42,
     2845       0,   293,   294,     0,     0,     0,     0,     0,     0,   295,
     2846       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2847       0,     0,     0,     0,     0,   296,     0,   380,     0,     0,
     2848     172,     0,     0,     0,    45,    46,   298,   299,   300,   301,
     2849       0,     0,   283,   284,  1079,   285,  1065,     0,  1066,  1423,
     2850    1424,  1067,  1068,  1069,  1070,  1071,  1072,  1073,  1074,     0,
     2851       0,     0,  1075,     0,     0,     0,  1076,  1077,     0,    33,
     2852       0,   286,     0,     0,     0,     0,     0,   650,     0,     0,
     2853       0,   288,     0,     0,   289,   290,   291,   292,    41,    42,
     2854       0,   293,   294,     0,     0,     0,     0,     0,     0,   295,
     2855       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2856       0,     0,     0,     0,     0,   296,     0,   380,     0,     0,
     2857     172,     0,     0,     0,    45,    46,   298,   299,   300,   301,
     2858       0,     0,   283,   284,  1079,   285,  1065,     0,  1066,     0,
     2859       0,  1067,  1068,  1069,  1070,  1071,  1072,  1073,  1074,     0,
     2860       0,     0,  1075,     0,     0,     0,  1076,  1077,     0,    33,
     2861       0,   286,     0,     0,     0,     0,     0,   650,     0,     0,
     2862       0,   288,     0,     0,   289,   290,   291,   292,    41,    42,
     2863       0,   293,   294,     0,     0,     0,     0,     0,     0,   295,
     2864       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2865       0,     0,     0,     0,     0,   296,     0,   380,     0,     0,
     2866     172,     0,     0,     0,    45,    46,   298,   299,   300,   301,
     2867       0,     0,     0,     0,  1079,     2,   207,     4,     5,     6,
    26142868       7,     8,     9,    10,    11,    12,    13,    14,    15,    16,
    26152869      17,    18,    19,    20,    21,    22,    23,    24,    25,     0,
    26162870       0,    26,    27,    28,     0,     0,     0,     0,     0,     0,
    2617       31,     0,     0,     0,     0,     8,     9,    10,    11,    12,
    2618       13,    14,    15,    16,    17,    18,    19,    20,    21,    22,
    2619       23,    24,    25,  -294,     0,    26,    27,    28,    34,     0,
    2620       35,     0,    36,     0,    31,    38,    39,     0,     0,     0,
     2871      31,     0,   283,   284,     0,   285,     0,     0,     0,     0,
    26212872       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2622        0,     0,     0,     0,     0,     0,     0,  1373,     0,     0,
    2623        0,     0,    34,     0,     0,     0,     0,    37,     0,   336,
    2624      337,    40,   687,  -294,     0,     0,     0,     0,    41,    42,
    2625      634,     2,   205,     4,     5,     6,     7,     8,     9,    10,
    2626       11,    12,    13,    14,    15,    16,    17,    18,    19,    20,
    2627       21,    22,    23,    24,    25,     0,   338,    26,    27,    28,
    2628        0,     0,     0,     0,   110,     0,    31,     0,     0,     0,
    2629        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2630        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2631        0,     0,     0,     0,    34,     0,    35,     0,    36,     0,
    2632        0,   206,    39,     0,     2,   205,     4,     5,     6,     7,
    2633        8,     9,    10,    11,    12,    13,    14,    15,    16,    17,
    2634       18,    19,    20,    21,    22,    23,    24,    25,     0,     0,
    2635       26,    27,    28,     0,     0,     0,     0,     0,   269,    31,
    2636        0,     0,     0,     0,     0,     0,   629,     0,     0,     0,
    2637        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2638        0,     0,     0,     0,     0,     0,     0,    34,     0,    35,
    2639        0,    36,     0,     0,    38,    39,     0,     2,   205,     4,
    2640        5,     6,     7,     8,     9,    10,    11,    12,    13,    14,
    2641       15,    16,    17,    18,    19,    20,    21,    22,    23,    24,
    2642       25,     0,     0,    26,    27,    28,     0,     0,     0,     0,
    2643        0,   687,    31,     0,     0,     0,     0,     0,     0,   634,
    2644        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2645        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2646       34,     0,    35,     0,    36,     0,     0,    38,    39,     0,
    2647        2,   205,     4,     5,     6,     7,     8,     9,    10,    11,
    2648       12,    13,    14,    15,    16,    17,    18,    19,    20,    21,
    2649       22,    23,    24,    25,     0,     0,    26,    27,    28,     0,
    2650        0,     0,     0,     0,   599,    31,     0,     0,     0,     0,
    2651        0,     0,   634,     0,     0,     0,     0,     0,     0,     0,
    2652        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2653        0,     0,     0,    34,     0,    35,     0,    36,     0,     0,
    2654      206,    39,     8,     9,    10,    11,    12,    13,    14,    15,
    2655       16,    17,    18,    19,    20,    21,    22,    23,    24,    25,
    2656        0,     0,    26,    27,    28,     0,     0,     0,     0,   281,
    2657      282,    31,   283,     0,     0,     0,     0,   207,     0,     0,
    2658        0,     0,     0,     0,     0,   270,     0,     0,     0,     0,
    2659        0,     0,     0,     0,     0,     0,     0,     0,   284,    34,
    2660        0,     0,     0,     0,   285,     0,    38,    39,   286,     0,
    2661        0,   287,   288,   289,   290,    41,    42,     0,   291,   292,
    2662        0,     0,     0,     0,     0,     0,   293,     0,     0,     0,
    2663        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2664        0,   294,     0,   525,     0,     0,   170,     0,     0,     0,
    2665      296,   297,   298,   299,   300,   301,     8,     9,    10,    11,
    2666       12,    13,    14,    15,    16,    17,    18,    19,    20,    21,
    2667       22,    23,    24,    25,     0,     0,    26,    27,    28,     0,
    2668        0,     0,     0,   281,   282,    31,   283,     8,     9,    10,
    2669       11,    12,    13,    14,    15,    16,    17,    18,    19,    20,
    2670       21,    22,    23,    24,    25,     0,     0,    26,    27,    28,
    2671        0,     0,   284,    34,     0,     0,    31,     0,   285,     0,
    2672       38,    39,   286,     0,     0,   287,   288,   289,   290,    41,
    2673       42,     0,   291,   292,     0,     0,     0,     0,     0,     0,
    2674      293,     0,     0,     0,    34,     0,     0,     0,     0,    37,
    2675        0,   336,   337,    40,     0,   294,     0,   599,    -3,     0,
    2676       41,    42,     0,     0,   296,   600,   298,   299,   300,   301,
    2677        8,     9,    10,    11,    12,    13,    14,    15,    16,    17,
    2678       18,    19,    20,    21,    22,    23,    24,    25,   338,     0,
    2679       26,    27,    28,     0,     0,     0,   110,   281,   282,    31,
    2680      283,     8,     9,    10,    11,    12,    13,    14,    15,    16,
    2681       17,    18,    19,    20,    21,    22,    23,    24,    25,     0,
    2682        0,    26,    27,    28,     0,     0,   284,    34,     0,     0,
    2683       31,   453,   649,     0,    38,    39,   286,     0,     0,   287,
    2684      288,   289,   290,    41,    42,     0,   291,   292,     0,     0,
    2685        0,     0,     0,     0,   293,     0,     0,     0,    34,     0,
    2686        0,     0,     0,     0,     0,    38,    39,     0,     0,   294,
    2687      -35,   766,     0,     0,     0,     0,     0,     0,   296,   297,
    2688      298,   299,   300,   301,     8,     9,    10,    11,    12,    13,
    2689       14,    15,    16,    17,    18,    19,    20,    21,    22,    23,
    2690       24,    25,   454,     0,    26,    27,    28,     0,     0,     0,
    2691      110,   281,   282,    31,   283,     0,     0,     0,     0,     0,
    2692        0,     0,     8,     9,    10,    11,    12,    13,    14,    15,
    2693       16,    17,    18,    19,    20,    21,    22,    23,    24,    25,
    2694      284,    34,    26,    27,    28,     0,   285,     0,    38,    39,
    2695      286,    31,     0,   287,   288,   289,   290,    41,    42,     0,
    2696      291,   292,     0,     0,     0,     0,     0,     0,   293,     0,
    2697        0,     0,     0,     0,     0,     0,     0,     0,     0,    34,
    2698        0,     0,     0,   294,     0,   295,    38,    39,     0,     0,
    2699        0,     0,   296,   297,   298,   299,   300,   301,     8,     9,
    2700       10,    11,    12,    13,    14,    15,    16,    17,    18,    19,
    2701       20,    21,    22,    23,    24,    25,     0,     0,    26,    27,
    2702       28,   643,     0,   338,     0,   281,   282,    31,   283,     0,
    2703        0,   110,     0,     0,     0,     0,     8,     9,    10,    11,
    2704       12,    13,    14,    15,    16,    17,    18,    19,    20,    21,
    2705       22,    23,    24,    25,   284,    34,    26,    27,    28,     0,
    2706      285,     0,    38,    39,   286,    31,     0,   287,   288,   289,
    2707      290,    41,    42,     0,   291,   292,     0,     0,     0,     0,
    2708        0,     0,   293,     0,     0,     0,     0,     0,     0,     0,
    2709        0,     0,     0,    34,     0,     0,     0,   294,     0,   156,
    2710       38,    39,     0,     0,     0,     0,   296,   297,   298,   299,
    2711      300,   301,     8,     9,    10,    11,    12,    13,    14,    15,
    2712       16,    17,    18,    19,    20,    21,    22,    23,    24,    25,
    2713        0,     0,    26,    27,    28,   643,     0,   338,     0,   281,
    2714      282,    31,   283,     0,     0,   634,     0,     0,     0,     0,
    2715        8,     9,    10,    11,    12,    13,    14,    15,    16,    17,
    2716       18,    19,    20,    21,    22,    23,    24,    25,   284,    34,
    2717       26,    27,    28,     0,   285,     0,    38,    39,   286,    31,
    2718        0,   287,   288,   289,   290,    41,    42,     0,   291,   292,
    2719        0,     0,     0,     0,     0,     0,   293,     0,     0,     0,
    2720        0,     0,     0,     0,     0,     0,     0,    34,     0,     0,
    2721        0,   294,     0,   599,    38,    39,     0,     0,     0,     0,
    2722      296,   600,   298,   299,   300,   301,     8,     9,    10,    11,
    2723       12,    13,    14,    15,    16,    17,    18,    19,    20,    21,
    2724       22,    23,    24,    25,     0,     0,    26,    27,    28,     0,
    2725        0,   256,     0,   281,   282,    31,   283,     0,     0,   110,
    2726        0,     0,     0,     0,     8,     9,    10,    11,    12,    13,
    2727       14,    15,    16,    17,    18,    19,    20,    21,    22,    23,
    2728       24,    25,   284,    34,    26,    27,    28,     0,   285,     0,
    2729       38,    39,   286,    31,     0,   287,   288,   289,   290,    41,
    2730       42,     0,   291,   292,     0,     0,     0,     0,     0,     0,
    2731      293,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2732        0,    34,     0,     0,     0,   294,     0,   378,    38,    39,
    2733        0,     0,     0,     0,   296,   380,   298,   299,   300,   301,
    2734      474,     2,   205,     4,     5,     6,     7,     8,     9,    10,
    2735       11,    12,    13,    14,    15,    16,    17,    18,    19,    20,
    2736       21,    22,    23,    24,    25,   156,     0,    26,    27,    28,
    2737        0,     0,     0,   110,     0,     0,    31,     0,     0,     0,
    2738        8,     9,    10,    11,    12,    13,    14,    15,    16,    17,
    2739       18,    19,    20,    21,    22,    23,    24,    25,     0,     0,
    2740       26,    27,    28,     0,    34,     0,    35,     0,    36,    31,
    2741        0,    38,    39,     0,     0,     0,     0,     0,     8,     9,
    2742       10,    11,    12,    13,    14,    15,    16,    17,    18,    19,
    2743       20,    21,    22,    23,    24,    25,     0,    34,    26,    27,
    2744       28,     0,    37,     0,    38,    39,    40,    31,     0,     0,
    2745        0,    -3,     0,    41,    42,     0,     8,     9,    10,    11,
    2746       12,    13,    14,    15,    16,    17,    18,    19,    20,    21,
    2747       22,    23,    24,    25,     0,    34,    26,    27,    28,    43,
    2748       37,   156,    38,    39,    40,    31,     0,     0,     0,    45,
    2749        0,    41,    42,     0,     8,     9,    10,    11,    12,    13,
    2750       14,    15,    16,    17,    18,    19,    20,    21,    22,    23,
    2751       24,    25,     0,    34,    26,    27,    28,    43,    37,    44,
    2752      206,    39,    40,    31,     0,     0,     0,    45,     0,    41,
    2753       42,     0,     8,     9,    10,    11,    12,    13,    14,    15,
    2754       16,    17,    18,    19,    20,    21,    22,    23,    24,    25,
    2755     -294,    34,    26,    27,    28,    43,    37,   269,   336,   337,
    2756       40,    31,     0,     0,     0,   208,     0,    41,    42,     0,
    2757        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2758        0,     0,     0,     0,     0,     0,     0,     0,     0,    34,
    2759        0,     0,     0,   643,     0,   338,    38,    39,     0,     0,
    2760     -294,     0,     0,   634,     0,     8,     9,    10,    11,    12,
    2761       13,    14,    15,    16,    17,    18,    19,    20,    21,    22,
    2762       23,    24,    25,     0,     0,    26,    27,    28,     0,     0,
    2763        0,   643,     0,   338,    31,   453,     0,     0,     0,     0,
    2764        0,   634,     0,     8,     9,    10,    11,    12,    13,    14,
    2765       15,    16,    17,    18,    19,    20,    21,    22,    23,    24,
    2766       25,  -294,    34,    26,    27,    28,     0,     0,     0,    38,
    2767       39,     0,    31,     8,     9,    10,    11,    12,    13,    14,
    2768       15,    16,    17,    18,    19,    20,    21,    22,    23,    24,
    2769       25,     0,     0,    26,    27,    28,     0,     0,     0,     0,
    2770       34,     0,    31,   453,     0,     0,   454,    38,    39,     0,
    2771      711,  -294,     0,     0,   110,     0,     0,     0,     0,     0,
    2772        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2773       34,     0,     0,     0,     0,     0,     0,    38,    39,     0,
    2774        0,     0,     0,     0,   338,     0,     0,     0,     0,     0,
    2775        0,     0,   110,     0,     0,     8,     9,    10,    11,    12,
    2776       13,    14,    15,    16,    17,    18,    19,    20,    21,    22,
    2777       23,    24,    25,     0,   454,    26,    27,    28,  1109,     0,
    2778        0,     0,   110,     0,    31,   453,     8,     9,    10,    11,
    2779       12,    13,    14,    15,    16,    17,    18,    19,    20,    21,
    2780       22,    23,    24,    25,     0,     0,    26,    27,    28,     0,
    2781        0,     0,    34,     0,     0,    31,     0,     0,     0,    38,
    2782       39,     0,     0,     0,     8,     9,    10,    11,    12,    13,
    2783       14,    15,    16,    17,    18,    19,    20,    21,    22,    23,
    2784       24,    25,     0,    34,    26,    27,    28,     0,     0,     0,
    2785      206,    39,     0,    31,     0,     0,   454,     0,     0,     0,
    2786     1236,     0,     0,     0,   110,     0,     0,     0,     0,     0,
    2787        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2788        0,    34,     0,     0,     0,     0,     0,   269,    38,    39,
    2789        0,     0,     0,     0,     0,   270,     0,     8,     9,    10,
    2790       11,    12,    13,    14,    15,    16,    17,    18,    19,    20,
    2791       21,    22,    23,    24,    25,     0,     0,    26,    27,    28,
    2792        0,     0,     0,     0,     0,   256,    31,     0,     0,     0,
    2793        0,     0,     0,   634,     0,     8,     9,    10,    11,    12,
    2794       13,    14,    15,    16,    17,    18,    19,    20,    21,    22,
    2795       23,    24,    25,     0,    34,    26,    27,    28,     0,     0,
    2796        0,    38,    39,     0,    31,     8,     9,    10,    11,    12,
    2797       13,    14,    15,    16,    17,    18,    19,    20,    21,    22,
    2798       23,    24,    25,     0,     0,    26,    27,    28,     0,     0,
    2799        0,     0,    34,     0,    31,     0,     0,     0,   338,    38,
    2800       39,     0,     0,     0,     0,     0,   634,     0,     0,     0,
    2801        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2802        0,     0,    34,     0,     0,     0,     0,     0,     0,   206,
    2803       39,     0,     0,     0,     0,     0,   454,     0,     0,     0,
    2804        0,     0,     0,     0,   110,     0,     0,     8,     9,    10,
    2805       11,    12,    13,    14,    15,    16,    17,    18,    19,    20,
    2806       21,    22,    23,    24,    25,     0,   269,    26,    27,    28,
    2807        0,     0,     0,     0,   629,     0,    31,     8,     9,    10,
    2808       11,    12,    13,    14,    15,    16,    17,    18,    19,    20,
    2809       21,    22,    23,    24,    25,     0,     0,    26,    27,    28,
    2810        0,     0,     0,     0,    34,     0,    31,     0,     0,     0,
    2811        0,    38,    39,     0,     0,     8,     9,    10,    11,    12,
    2812       13,    14,    15,    16,    17,    18,    19,    20,    21,    22,
    2813       23,    24,    25,     0,    34,    26,    27,    28,     0,     0,
    2814        0,    38,    39,     0,    31,     0,     0,     0,   599,     0,
    2815        0,     0,     0,     0,     0,     0,   634,     0,     0,     0,
    2816        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2817        0,     0,    34,     0,     0,     0,     0,     0,   338,    38,
    2818       39,     0,     0,     0,     0,     0,   110,     2,   205,     4,
    2819        5,     6,     7,     8,     9,    10,    11,    12,    13,    14,
    2820       15,    16,    17,    18,    19,    20,    21,    22,    23,    24,
    2821       25,     0,     0,    26,    27,    28,    44,     0,     0,     0,
    2822        0,     0,    31,     0,   110,     0,     0,     0,     0,     0,
    2823        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2824        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2825       34,     0,    35,     0,    36,     0,     0,    38,    39,   281,
    2826      282,     0,   283,  1063,     0,  1064,     0,     0,  1065,  1066,
    2827     1067,  1068,  1069,  1070,  1071,  1072,     0,     0,  1551,  1073,
    2828        0,     0,     0,  1074,  1075,     0,    33,     0,   284,     0,
    2829        0,     0,     0,  -415,   649,     0,     0,     0,   286,     0,
    2830        0,   287,   288,   289,   290,    41,    42,     0,   291,   292,
    2831        0,     0,     0,     0,     0,     0,   293,     0,     0,     0,
    2832        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2833        0,   294,     0,   378,     0,     0,   170,     0,     0,     0,
    2834      296,   380,   298,   299,   300,   301,     0,     0,     0,     0,
    2835     1077,     0,   281,   282,  -129,   283,  1063,     0,  1064,     0,
    2836        0,  1065,  1066,  1067,  1068,  1069,  1070,  1071,  1072,     0,
    2837        0,     0,  1073,     0,     0,     0,  1074,  1075,     0,    33,
    2838        0,   284,     0,     0,     0,     0,     0,   649,     0,     0,
    2839        0,   286,     0,     0,   287,   288,   289,   290,    41,    42,
    2840        0,   291,   292,     0,     0,     0,     0,     0,     0,   293,
    2841        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2842        0,     0,     0,     0,   294,     0,   378,     0,     0,   170,
    2843        0,     0,     0,   296,   380,   298,   299,   300,   301,     0,
    2844        0,     0,     0,  1077,     0,     0,     0,  -129,     2,   205,
    2845        4,     5,     6,     7,     8,     9,    10,    11,    12,    13,
    2846       14,    15,    16,    17,    18,    19,    20,    21,    22,    23,
    2847       24,    25,     0,     0,    26,    27,    28,     0,     0,     0,
    2848        0,     0,     0,    31,     0,   281,   282,     0,   283,  1063,
    2849        0,  1064,  1421,  1422,  1065,  1066,  1067,  1068,  1069,  1070,
    2850     1071,  1072,     0,     0,  1551,  1073,     0,     0,     0,  1074,
    2851     1075,    34,    33,    35,   284,    36,     0,     0,    38,    39,
    2852      649,     0,     0,     0,   286,     0,     0,   287,   288,   289,
    2853      290,    41,    42,     0,   291,   292,     0,     0,     0,     0,
    2854     1330,     0,   293,     0,     0,     0,     0,     0,     0,     0,
    2855        0,     0,     0,     0,     0,     0,     0,   294,     0,   378,
    2856        0,     0,   170,     0,     0,     0,   296,   380,   298,   299,
    2857      300,   301,     0,     0,   281,   282,  1077,   283,  1063,     0,
    2858     1064,  1421,  1422,  1065,  1066,  1067,  1068,  1069,  1070,  1071,
    2859     1072,     0,     0,     0,  1073,     0,     0,     0,  1074,  1075,
    2860        0,    33,     0,   284,     0,     0,     0,     0,     0,   649,
    2861        0,     0,     0,   286,     0,     0,   287,   288,   289,   290,
    2862       41,    42,     0,   291,   292,     0,     0,     0,     0,     0,
    2863        0,   293,     0,     0,     0,     0,     0,     0,     0,     0,
    2864        0,     0,     0,     0,     0,     0,   294,     0,   378,     0,
    2865        0,   170,     0,     0,     0,   296,   380,   298,   299,   300,
    2866      301,     0,     0,   281,   282,  1077,   283,  1063,     0,  1064,
    2867        0,     0,  1065,  1066,  1067,  1068,  1069,  1070,  1071,  1072,
    2868        0,     0,     0,  1073,     0,     0,     0,  1074,  1075,     0,
    2869       33,     0,   284,     0,     0,     0,     0,     0,   649,     0,
    2870        0,     0,   286,     0,     0,   287,   288,   289,   290,    41,
    2871       42,     0,   291,   292,     0,     0,     0,     0,     0,     0,
    2872      293,   281,   282,     0,   283,     0,     0,     0,     0,     0,
    2873        0,     0,     0,     0,     0,   294,     0,   378,     0,     0,
    2874      170,     0,     0,     0,   296,   380,   298,   299,   300,   301,
    2875      284,     0,     0,     0,  1077,     0,   649,     0,     0,     0,
    2876      286,     0,     0,   287,   288,   289,   290,    41,    42,     0,
    2877      291,   292,     0,     0,     0,     0,     0,     0,   293,   281,
    2878      282,     0,   283,     0,     0,     0,     0,     0,     0,     0,
    2879        0,     0,     0,   294,     0,   785,     0,     0,   281,   282,
    2880        0,   283,   296,   380,   298,   299,   300,   301,   284,     0,
    2881        0,     0,     0,     0,   285,     0,     0,     0,   286,     0,
    2882        0,   287,   288,   289,   290,    41,    42,   284,   291,   292,
    2883        0,     0,     0,   285,     0,     0,   293,   286,     0,     0,
    2884      287,   288,   289,   290,    41,    42,     0,   291,   292,     0,
    2885        0,   294,     0,   378,     0,   293,   281,   282,     0,   283,
    2886      296,   827,   298,   299,   300,   301,     0,     0,     0,     0,
    2887      513,     0,     0,     0,     0,   281,   282,     0,   283,   296,
    2888      380,   298,   299,   300,   301,   284,     0,     0,     0,     0,
    2889        0,   285,     0,     0,     0,   286,     0,     0,   287,   288,
    2890      289,   290,    41,    42,   284,   291,   292,     0,     0,     0,
    2891      285,     0,     0,   293,   286,     0,     0,   287,   288,   289,
    2892      290,    41,    42,     0,   291,   292,     0,     0,   294,     0,
    2893        0,     0,   293,   281,   282,     0,   283,   296,   380,   298,
    2894      299,   300,   301,     0,     0,     0,     0,   518,     0,     0,
    2895        0,     0,     0,     0,     0,     0,   296,   380,   298,   299,
    2896      300,   301,   284,     0,     0,     0,     0,     0,   285,     0,
    2897        0,     0,   286,     0,     0,   287,   288,   289,   290,    41,
    2898       42,     0,   291,   292,     0,     0,     0,     0,     0,     0,
    2899      293,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2900        0,     0,     0,     0,     0,   521,     0,     0,     0,     0,
    2901        0,     0,     0,     0,   296,   380,   298,   299,   300,   301,
    2902        2,   205,     4,     5,     6,     7,     8,     9,    10,    11,
    2903       12,    13,    14,    15,    16,    17,    18,    19,    20,    21,
    2904       22,    23,    24,    25,     0,     0,     0,     0,     0,     0,
    2905        0,     0,     0,     0,     0,    31,     0,     0,     0,     0,
    2906        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2907        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2908        0,     0,     0,    34,     0,    35,     0,    36,    37,     0,
    2909      173,   174,    40,     0,     0,     0,     0,     0,     0,    41,
    2910       42,   204,     2,   205,     4,     5,     6,     7,     8,     9,
    2911       10,    11,    12,    13,    14,    15,    16,    17,    18,    19,
    2912       20,    21,    22,    23,    24,    25,     0,     0,    26,    27,
    2913       28,     0,     0,     0,     0,     0,     0,    31,     0,     0,
    2914        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2915        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2916        0,     0,     0,     0,     0,    34,     0,    35,     0,    36,
    2917        0,     0,   206,    39,   474,     2,   205,     4,     5,     6,
     2873       0,   283,   284,     0,   285,     0,     0,     0,    34,     0,
     2874      35,   286,    36,     0,     0,    38,    39,   287,     0,     0,
     2875       0,   288,     0,     0,   289,   290,   291,   292,    41,    42,
     2876     286,   293,   294,     0,     0,     0,   287,  1332,     0,   295,
     2877     288,     0,     0,   289,   290,   291,   292,    41,    42,     0,
     2878     293,   294,     0,     0,     0,   296,     0,   380,   295,     0,
     2879     283,   284,     0,   285,    45,    46,   298,   299,   300,   301,
     2880       0,     0,     0,     0,   296,     0,   380,     0,     0,   283,
     2881     284,     0,   285,   735,    46,   298,   299,   300,   301,   286,
     2882       0,     0,     0,     0,     0,   650,     0,     0,     0,   288,
     2883       0,     0,   289,   290,   291,   292,    41,    42,   286,   293,
     2884     294,     0,     0,     0,   287,     0,     0,   295,   288,     0,
     2885       0,   289,   290,   291,   292,    41,    42,     0,   293,   294,
     2886       0,     0,     0,   296,     0,   786,   295,     0,   283,   284,
     2887       0,   285,    45,    46,   298,   299,   300,   301,     0,     0,
     2888       0,     0,   296,     0,   380,     0,     0,   283,   284,     0,
     2889     285,   345,    46,   298,   299,   300,   301,   286,     0,     0,
     2890       0,     0,     0,   287,     0,     0,     0,   288,     0,     0,
     2891     289,   290,   291,   292,    41,    42,   286,   293,   294,     0,
     2892       0,     0,   287,     0,     0,   295,   288,     0,     0,   289,
     2893     290,   291,   292,    41,    42,     0,   293,   294,     0,     0,
     2894       0,   296,     0,     0,   295,     0,   283,   284,     0,   285,
     2895      45,    46,   298,   299,   300,   301,     0,     0,     0,     0,
     2896     520,     0,     0,     0,     0,     0,     0,     0,     0,    45,
     2897      46,   298,   299,   300,   301,   286,     0,     0,     0,     0,
     2898       0,   287,     0,     0,     0,   288,     0,     0,   289,   290,
     2899     291,   292,    41,    42,     0,   293,   294,     0,     0,     0,
     2900       0,     0,     0,   295,     0,     0,     0,     0,     0,     0,
     2901       0,     0,     0,     0,     0,     0,     0,     0,     0,   523,
     2902       0,     0,     0,     0,     0,     0,     0,     0,    45,    46,
     2903     298,   299,   300,   301,   206,     2,   207,     4,     5,     6,
    29182904       7,     8,     9,    10,    11,    12,    13,    14,    15,    16,
    29192905      17,    18,    19,    20,    21,    22,    23,    24,    25,     0,
     
    29222908       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    29232909       0,     0,     0,     0,     0,     0,     0,     0,    34,     0,
    2924       35,     0,    36,     0,     0,    38,    39,     2,   205,     4,
    2925        5,     6,     7,     8,     9,    10,    11,    12,    13,    14,
    2926       15,    16,    17,    18,    19,    20,    21,    22,    23,    24,
    2927       25,     0,     0,    26,    27,    28,     0,     0,     0,     0,
    2928        0,     0,    31,     0,     8,     9,    10,    11,    12,    13,
     2910      35,     0,    36,     0,     0,   208,    39,   476,     2,   207,
     2911       4,     5,     6,     7,     8,     9,    10,    11,    12,    13,
    29292912      14,    15,    16,    17,    18,    19,    20,    21,    22,    23,
    2930       24,    25,     0,     0,    26,    27,    28,   492,   493,   494,
    2931       34,     0,    35,    31,    36,     0,     0,   206,    39,     0,
     2913      24,    25,     0,     0,    26,    27,    28,     0,     0,     0,
     2914       0,     0,     0,    31,     0,     0,     0,     0,     0,     0,
    29322915       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    29332916       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2934        0,    34,     0,     0,     0,     0,     0,     0,    38,    39
     2917       0,    34,     0,    35,     0,    36,     0,     0,    38,    39,
     2918       2,   207,     4,     5,     6,     7,     8,     9,    10,    11,
     2919      12,    13,    14,    15,    16,    17,    18,    19,    20,    21,
     2920      22,    23,    24,    25,     0,     0,    26,    27,    28,     0,
     2921       0,     0,     0,     0,     0,    31,     0,     0,     0,     0,
     2922       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2923       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     2924       0,     0,     0,    34,     0,    35,     0,    36,     0,     0,
     2925     208,    39
    29352926};
    29362927
    29372928#define yypact_value_is_default(yystate) \
    2938   ((yystate) == (-1332))
     2929  ((yystate) == (-1415))
    29392930
    29402931#define yytable_value_is_error(yytable_value) \
     
    29432934static const yytype_int16 yycheck[] =
    29442935{
    2945        0,     1,     0,   203,   184,   184,   520,   698,   238,    43,
    2946      115,   184,     1,   698,    43,    43,   543,   185,   629,     0,
    2947      104,   218,   184,   280,   185,   456,   455,   698,   348,    29,
    2948       30,   184,    32,   184,    32,  1062,   184,   902,   167,   168,
    2949      609,   348,     1,    43,   656,    45,   278,    45,  1043,   611,
    2950     1006,    32,  1042,  1043,    32,    55,   497,     0,   759,   611,
    2951       28,    61,   612,    61,    64,   609,    64,    67,   618,    67,
    2952      154,   609,   499,   579,  1340,   718,   503,   999,    67,   609,
    2953      609,    81,    82,   780,   264,   264,   777,    51,   186,    32,
    2954     1421,   264,   777,   609,    82,   200,  1425,   265,   344,  1055,
    2955      529,    39,   264,   902,   265,   105,   777,     0,   108,    39,
    2956       78,   264,   417,   264,   609,   115,   264,     0,    43,    72,
    2957       43,    45,   363,   643,   644,   645,   367,   489,    44,    45,
    2958       83,    84,   437,    64,     0,    43,    82,    39,   227,    32,
    2959      445,    39,   662,    44,    45,   109,   146,    95,   146,    32,
    2960      184,     0,     1,    39,   154,   184,   184,   246,   111,   159,
    2961       63,   159,   260,   261,  1495,   111,    32,    44,    45,  1477,
    2962      109,    64,   613,   111,    85,   495,   617,  1443,   109,   109,
    2963       30,   111,   130,    32,   184,   185,   110,   185,     4,     5,
    2964        6,     7,     8,     9,  1523,   109,    39,   638,   114,  1528,
    2965      200,   642,   113,   255,  1512,    39,  1514,   109,   208,   111,
    2966      208,   294,   409,   114,   744,    64,   736,   217,    67,  1548,
    2967      220,   145,   220,   109,   902,   111,  1555,   227,   744,   132,
    2968      264,    81,    82,    96,    82,   264,   264,   405,   115,    11,
    2969      644,   645,   242,   489,   405,    82,   246,   109,  1243,   744,
    2970      250,   251,   250,    69,   511,    71,   112,   341,   662,   184,
    2971      123,   184,   110,  1062,   264,   265,   109,   265,   111,   250,
    2972      839,   271,   250,     0,     1,   109,   184,   111,   278,  1306,
    2973      117,   643,   644,   645,   208,   928,   370,   455,     0,   851,
    2974      395,   841,   251,   293,   455,   839,   114,   107,  1293,   851,
    2975      662,   839,  1292,  1293,   611,    32,     3,   250,   828,   839,
    2976      839,    82,  1009,   819,   238,   110,   132,   116,   423,   487,
    2977       32,   131,   117,   839,   429,   116,   487,   220,   328,   116,
    2978      328,    43,   736,    45,   293,   697,    82,  1259,   109,   951,
    2979       67,   132,   425,   426,   839,   132,   270,   347,   348,    61,
    2980      425,   426,    64,   116,   600,    67,   597,   250,   699,    55,
    2981       90,    91,  1227,   109,   364,   417,    72,   250,   368,   132,
    2982     1071,   220,   255,   297,   736,  1074,  1075,    83,    84,   379,
    2983      721,   109,   110,   629,   250,   437,   691,  1065,   634,   255,
    2984      959,    96,   242,   445,   109,   395,   126,   127,   960,   640,
    2985      110,   250,    72,   109,     3,   405,   116,   405,    82,   105,
    2986     1021,   773,   108,    83,    84,   959,   131,   116,   123,   676,
    2987      344,   959,  1417,   423,   828,   109,   501,  1417,  1227,   429,
    2988      513,   431,   873,    68,   146,   518,   110,    72,   521,  1466,
    2989       75,  1528,    77,   117,  1143,   520,  1473,   159,   532,    84,
    2990     1528,   697,    72,  1409,  1410,   455,   349,   121,   122,    72,
    2991      460,  1548,   132,    83,    84,   109,   828,   111,  1555,   116,
    2992       83,    84,   184,   185,   474,   119,   110,  1555,   116,   479,
    2993     1030,  1031,   699,   117,   112,   132,     0,   487,   116,   487,
    2994     1004,   491,   575,   491,   132,   495,   208,   131,   498,  1526,
    2995      500,   425,   426,     0,   721,   762,   119,  1306,   220,   938,
    2996      491,   586,   132,    88,    89,   474,   947,   946,   698,   698,
    2997      520,   217,   131,   250,   965,   698,   758,   773,   657,   379,
    2998     1142,   851,   700,    80,   417,   109,   698,   537,   250,   700,
    2999      540,   968,   542,   543,   851,   698,    72,   698,   491,  1227,
    3000      698,   417,   264,   116,   437,  1117,   109,    83,    84,   664,
    3001      110,   520,   445,   992,   111,   109,   113,   117,   666,   132,
    3002      117,   437,   115,   116,   110,   271,   211,   501,   537,   445,
    3003      116,   540,   278,   542,   543,   111,   109,   480,   131,   830,
    3004      590,   116,     3,   834,   109,   812,   520,   597,   491,    10,
    3005       11,    12,    13,    14,   109,  1306,   489,   132,   491,   609,
    3006      460,   611,   696,   116,    53,    72,   328,   598,   116,     4,
    3007        5,     6,     7,     8,     9,   491,    83,    84,    39,   132,
    3008      630,   590,   110,   116,   132,   119,   348,   978,   116,   691,
    3009      124,   125,   491,   112,   964,  1323,   646,   116,   498,   132,
    3010      500,   347,   652,   116,   111,   110,    67,    96,     0,     1,
    3011     1498,   661,   586,   663,   664,   665,  1504,  1466,   364,   132,
    3012       80,  1102,   368,   890,  1473,   129,   600,   131,   116,   116,
    3013     1042,   733,  1383,   924,    69,    72,    71,  1525,   772,   110,
    3014       32,   888,  1530,   405,   132,   132,    83,    84,   698,  1377,
    3015      700,   111,  1380,   113,   663,   629,   665,   117,   112,   109,
    3016      634,   111,   909,   713,   116,   110,   351,   112,   353,   719,
    3017      110,   116,    64,   723,   111,    67,   116,  1526,   110,   110,
    3018      132,   731,    45,   110,   116,   116,   131,   132,   631,   109,
    3019      970,   111,   110,   455,   744,   745,   112,  1425,    61,   119,
    3020      116,    64,  1430,   192,    67,   112,    72,   110,   758,   116,
    3021       76,   978,    72,   116,   491,   894,    76,    83,    84,  1470,
    3022      938,  1472,   731,    83,    84,  1021,   215,   938,   946,   491,
    3023      112,   110,  1460,   495,   116,   946,   225,    10,    11,    12,
    3024       13,    14,  1009,   109,  1135,  1322,    92,    93,   110,   109,
    3025     1162,   111,   652,   119,   116,   110,   441,    72,   691,   119,
    3026      109,   116,   111,   155,   697,   109,    39,   111,    83,    84,
    3027       10,    11,    12,    13,    14,   691,  1527,   109,   109,   111,
    3028      513,   724,   515,   146,  1034,   518,  1133,   119,   521,   839,
    3029     1137,  1532,  1059,   110,    67,   738,   159,  1532,   109,    39,
    3030      733,   851,  1193,  1194,   835,   294,   115,   116,   110,   110,
    3031      110,  1532,  1103,   713,   116,   116,   116,   733,  1546,   719,
    3032      116,   117,   185,   723,  1552,   115,  1133,    67,   220,   109,
    3033     1137,  1138,   109,   110,   111,  1563,   109,   132,   111,  1567,
    3034      773,   703,   110,   705,   894,   208,   119,   609,   116,   611,
    3035       72,   901,   902,   110,    76,   110,   111,   220,   250,   116,
    3036       64,    83,    84,   110,     1,   109,  1162,   111,  1135,   116,
    3037       72,   902,    74,    75,   924,    85,    86,    87,  1057,   109,
    3038     1292,    83,    84,    72,   630,    74,    75,   109,   938,   832,
    3039       58,    59,   110,   902,    83,    84,   946,   119,   116,   109,
    3040      646,   111,   109,   113,   114,   110,   112,   109,    45,   132,
    3041      110,   116,   114,   110,   964,   661,   116,   115,   116,   116,
    3042      109,   114,   109,   680,   111,   114,  1193,  1194,   114,    72,
    3043      969,    74,    75,    76,   984,   109,   698,   111,   700,   114,
    3044       83,    84,   109,   993,   111,   109,  1253,  1243,   109,   110,
    3045      111,  1001,   132,   442,  1004,   109,  1006,   111,    82,   902,
    3046       72,   132,    74,    75,   109,   328,   109,   104,   111,   902,
    3047     1125,    83,    84,   110,   117,   984,   119,    72,   109,    74,
    3048       75,    82,   744,   745,   116,   117,   902,   476,    83,    84,
    3049      112,   109,  1001,   111,   894,  1004,   970,  1006,   109,   110,
    3050      111,   901,   114,   902,   120,  1055,   116,   117,   145,   109,
    3051      110,   111,   758,  1404,   128,  1065,   111,   154,  1068,  1069,
    3052     1070,    58,    59,    60,   513,  1265,  1266,  1267,  1507,   518,
    3053     1421,  1062,   521,    72,  1341,    74,    75,    76,  1345,   129,
    3054      432,    94,   405,  1093,    83,    84,  1055,  1021,    44,    45,
    3055       10,    11,    12,    13,    14,   131,  1065,   111,   815,  1068,
    3056     1069,  1070,   564,   565,   566,   567,   109,   204,   825,   109,
    3057      969,   208,   110,  1206,  1207,  1125,  1209,   839,  1557,    39,
    3058      112,  1024,  1215,   840,    72,  1218,    74,    75,  1222,   851,
    3059      560,   561,   112,   993,   110,    83,    84,   562,   563,   491,
    3060      110,   238,   239,  1494,  1495,   110,    72,    67,    74,    75,
    3061       76,   110,    72,   110,    74,    75,    76,    83,    84,  1062,
    3062      568,   569,   109,    83,    84,   902,   112,   111,   131,  1062,
    3063      112,   114,   109,   270,   114,   116,   273,  1404,   114,   112,
    3064     1447,   533,   110,   109,    45,   111,  1062,   110,   112,   109,
    3065     1200,   111,   117,   119,  1421,   112,   112,   294,   112,   119,
    3066      297,    29,   117,  1062,   117,   116,  1205,   110,   110,   114,
    3067      117,   112,  1222,   110,   132,   115,   938,  1227,     3,   115,
    3068      115,   109,   116,   110,   946,    10,    11,    12,    13,    14,
    3069      679,   110,   969,  1093,   116,   110,  1227,   117,   110,   688,
    3070      110,   110,   964,   692,   341,   116,   598,   344,  1247,   110,
    3071      110,   110,     3,   110,    39,  1265,  1266,  1267,  1227,    10,
    3072       11,    12,    13,    14,   110,   110,   363,  1494,  1495,  1162,
    3073      367,   110,   110,   370,    10,    11,    12,    13,    14,   110,
    3074      110,   110,    67,   110,   110,  1400,  1379,   110,    39,    29,
    3075      115,   643,   644,   645,   131,   112,  1265,  1266,  1267,   110,
    3076      110,  1204,  1542,    39,   110,   110,   114,   116,   112,   112,
    3077      662,   110,  1322,  1323,   110,  1306,    67,   110,   116,   110,
    3078      117,   116,  1039,  1040,  1227,  1062,   116,   116,   425,   426,
    3079      112,    67,   116,   110,  1227,   110,   112,    85,    86,    87,
    3080     1200,  1340,  1532,  1532,   109,  1204,  1205,   208,   109,  1532,
    3081     1243,  1227,   109,  1322,  1323,  1533,   453,   109,   112,   456,
    3082     1532,   109,  1533,   111,   109,   113,   114,  1377,  1227,  1532,
    3083     1380,  1532,   132,   109,  1532,   111,   117,   474,   239,  1557,
    3084     1097,  1098,   115,   119,   736,   110,  1557,   110,  1247,  1399,
    3085     1400,   115,  1507,   110,   129,   115,   114,   112,  1301,  1409,
    3086     1410,   132,   499,  1306,   501,   110,   503,   116,  1377,   270,
    3087      112,  1380,   116,  1306,   112,  1425,   513,   110,   515,   110,
    3088     1430,   518,   110,   520,   521,   112,   471,   112,   112,   110,
    3089     1306,    47,   112,   294,   112,   532,   297,   112,  1448,   115,
    3090     1409,  1410,  1301,   132,  1443,   110,   132,  1306,   115,   132,
    3091     1460,   117,   110,   132,   115,   132,  1425,   112,   112,   112,
    3092      112,  1430,    72,   112,    74,    75,    76,   112,  1205,   112,
    3093      112,   110,   110,    83,    84,  1466,   828,   926,   112,  1448,
    3094      112,  1340,  1473,   835,     0,     1,   109,   109,  1532,   586,
    3095     1227,  1460,   109,  1532,  1532,    60,   110,  1507,  1508,   109,
    3096      597,   111,    55,   600,   110,   114,   132,  1517,   112,   119,
    3097     1247,   112,   117,  1523,   110,   112,    32,   110,  1528,    96,
    3098       96,   109,  1532,  1533,   109,  1533,   115,   110,   112,    45,
    3099      132,   110,   629,    42,   116,  1526,  1546,   634,  1548,  1508,
    3100      110,   110,  1552,   640,   117,  1555,   132,  1557,  1517,  1557,
    3101      902,    67,   105,  1563,  1523,   108,  1273,  1567,   132,  1528,
    3102      110,   110,    96,  1466,  1281,  1282,  1283,    96,   132,  1306,
    3103     1473,   110,   110,  1466,   132,   117,   132,  1546,   110,  1548,
    3104     1473,   112,   110,  1552,  1443,   115,  1555,   132,   104,   112,
    3105     1466,   109,   453,   115,  1563,   456,   132,  1473,  1567,   696,
    3106      115,   154,   110,  1340,    64,   110,   132,  1466,  1542,   110,
    3107      110,  1077,  1329,   571,  1473,   570,  1227,   969,   572,    64,
    3108       64,   718,   573,  1526,  1073,   574,  1495,  1385,  1567,    74,
    3109      146,  1316,  1138,  1526,   986,   680,  1473,    81,   154,   155,
    3110     1345,  1093,   705,   946,     4,     5,     6,     7,     8,     9,
    3111     1526,   748,   513,   453,   515,   471,   116,   518,   723,   453,
    3112      521,   948,   993,   590,   217,   894,   966,  1526,   658,   185,
    3113     1247,   116,   116,    33,   578,   772,   491,   758,    10,    11,
    3114       12,    13,    14,    -1,   200,   578,   748,   203,   204,   578,
    3115     1042,  1043,   208,  1399,    -1,    -1,    -1,    -1,    -1,   159,
    3116       -1,    -1,    -1,    -1,    -1,    -1,  1443,    39,    -1,    69,
    3117     1062,    71,    -1,   229,   159,   159,    -1,   233,   271,   235,
    3118       72,    -1,    74,    75,    76,   278,    -1,    -1,   244,  1466,
    3119       -1,    83,    84,   830,   250,    67,  1473,   834,    -1,   255,
    3120       72,    -1,    74,    75,    76,    -1,    -1,    -1,    -1,   265,
    3121       -1,    83,    84,    -1,    -1,    -1,    -1,   273,   283,    -1,
    3122      220,    -1,    -1,    -1,    -1,    -1,    26,    27,    28,    -1,
    3123      815,   296,   297,    -1,    -1,   220,   220,   109,    -1,   111,
    3124      825,    -1,    -1,   308,    -1,    -1,    -1,   119,    -1,  1526,
    3125       -1,    -1,    -1,    -1,   347,   840,    -1,    -1,   258,    -1,
    3126       -1,    -1,   262,    10,    11,    12,    13,    14,    -1,    -1,
    3127     1532,   364,    -1,   258,   258,   368,    -1,   262,   262,   344,
    3128       -1,    -1,    -1,    -1,    -1,   341,    -1,   924,   344,    -1,
    3129       -1,   928,    39,   278,   350,    -1,    -1,    97,    -1,    99,
    3130       -1,    -1,    -1,    -1,    -1,    -1,    -1,   363,    -1,    -1,
    3131      947,   367,  1204,  1205,   370,   380,    -1,   718,    -1,    -1,
    3132       67,    -1,    -1,    -1,   680,    72,  1315,    74,    75,    76,
    3133       -1,   968,   969,   970,    -1,  1227,    83,    84,   431,    -1,
    3134       72,    -1,    74,    75,    76,    -1,    -1,    -1,    -1,   349,
    3135       -1,    83,    84,    -1,    -1,  1247,    72,    -1,    74,    75,
    3136       76,   417,   109,    -1,   349,   349,    -1,    83,    84,    -1,
    3137       -1,    72,   119,    74,    75,    76,   432,   109,    -1,   111,
    3138      180,   437,    83,    84,  1021,    -1,    -1,   119,    -1,   445,
    3139      190,   191,    -1,   109,    -1,   195,    -1,   197,   198,    -1,
    3140     1292,  1293,    -1,   119,    -1,    -1,    -1,    -1,   109,  1301,
    3141       -1,    -1,    -1,    -1,  1306,   471,    -1,    -1,   474,    -1,
    3142       51,    -1,    53,    -1,    -1,    56,    57,    58,    -1,    60,
    3143      430,    -1,    -1,   489,    -1,   491,    -1,    -1,    -1,    -1,
    3144       -1,    -1,    -1,   499,    75,   430,   430,   503,  1340,    10,
    3145       11,    12,    13,    14,  1039,  1040,    87,    88,    -1,   815,
    3146       -1,    -1,   447,    -1,    -1,  1102,  1103,    -1,    -1,   825,
    3147       72,    -1,    74,    75,    76,    -1,   532,   533,    39,    -1,
    3148      480,    83,    84,    -1,   840,  1474,    -1,  1476,    -1,    -1,
    3149       -1,    -1,   557,   558,   559,   480,   480,    72,    -1,    74,
    3150       75,    76,    -1,    -1,   597,    -1,    67,   109,    83,    84,
    3151       -1,    -1,  1097,  1098,    -1,    -1,    -1,   119,    -1,    -1,
    3152       -1,    -1,  1511,   579,  1513,  1417,    -1,   928,    -1,    -1,
    3153       -1,    -1,    -1,    -1,   109,   600,    -1,   630,    -1,    -1,
    3154       -1,   597,   598,    -1,   600,    -1,   947,    -1,   109,    -1,
    3155      111,  1443,    -1,   646,    -1,   611,    -1,    -1,   119,    -1,
    3156       -1,    -1,    -1,    -1,    -1,    -1,    -1,  1556,   661,  1558,
    3157       -1,    -1,    -1,   629,  1466,    -1,    -1,    -1,   634,    -1,
    3158       -1,  1473,  1571,  1572,   640,  1222,    -1,   643,   644,   645,
     2936       0,     1,     1,    43,   205,     0,   186,    43,    43,   240,
     2937     186,   106,   117,   699,   220,   186,   186,   457,     0,   543,
     2938     282,   186,   657,   186,   458,   699,   186,     0,   350,    29,
     2939      30,  1007,    32,     0,     1,   187,   280,    32,   760,   610,
     2940     699,   522,     1,    43,   169,   170,   350,   630,   501,    49,
     2941      32,   612,   505,   188,    49,  1000,  1045,    57,   610,    32,
     2942     903,   156,   296,    63,   346,    32,    66,   610,    63,    69,
     2943      69,    66,   903,   612,    69,   581,    32,   610,    43,   610,
     2944       0,  1057,   781,    83,    84,  1342,   266,    39,  1044,  1045,
     2945     266,   531,   778,   610,   187,   266,   266,   202,   419,    43,
     2946     610,   266,    69,   266,   778,     0,   266,   107,   719,  1423,
     2947     110,    51,    32,     0,     1,   267,  1530,   117,   439,   778,
     2948      43,    82,     0,    28,    39,    82,   447,   262,   263,    63,
     2949     700,     4,     5,     6,     7,     8,     9,    32,   613,    64,
     2950      82,    44,    45,  1557,   619,    32,   186,   110,   148,   491,
     2951     186,   186,   722,   148,    32,   112,   156,   644,   645,   646,
     2952     112,   161,   645,   646,   427,   428,   161,    49,    39,   111,
     2953     110,    66,    39,    78,   267,   497,   663,   285,   107,    66,
     2954     663,    95,    69,  1497,  1064,   110,   186,   187,  1445,    39,
     2955      44,    45,   187,   427,   428,   110,    69,   112,    71,   133,
     2956     308,   309,   202,   132,   110,   411,    66,    44,    45,   491,
     2957     210,   257,   745,   116,   745,   210,   229,   131,    57,   219,
     2958      85,   186,   222,    83,  1076,  1077,   266,   222,   745,   229,
     2959     266,   266,   114,  1064,   130,   248,   132,    11,   346,   110,
     2960     503,   112,   186,   110,   244,   112,    82,   342,   248,   114,
     2961     737,   513,   252,   253,   737,   407,  1245,   252,   118,   522,
     2962     133,   115,    82,   186,     1,   147,   266,   267,   107,   840,
     2963     252,   110,   267,   273,   382,   111,   117,   372,   115,   252,
     2964     280,   515,   118,   117,   257,   252,   520,  1479,   840,   523,
     2965      39,   852,   397,  1145,   253,   295,   252,   840,   118,   133,
     2966     110,   161,   644,   645,   646,   457,  1295,   840,   612,   840,
     2967     113,  1010,    49,   852,   407,   821,  1261,   952,   929,    82,
     2968     425,   663,  1514,   840,  1516,   588,   431,   222,   210,   329,
     2969     840,    39,   252,   115,   329,   222,   295,   489,  1294,  1295,
     2970     365,   117,   829,   577,   369,  1427,   829,   110,   630,   349,
     2971     350,  1073,   117,   635,    90,    91,   698,   252,   240,     3,
     2972      82,   110,   222,   112,   457,   252,   366,   842,   133,   106,
     2973     370,   692,     0,   419,   252,    96,   111,   114,    96,   257,
     2974     219,   381,   117,   116,   117,     3,  1229,   903,   110,   960,
     2975     272,   127,   128,   439,  1530,   737,   489,   397,  1229,   132,
     2976     260,   447,   110,   124,   112,   265,   124,   407,   960,   979,
     2977     147,   117,   407,   117,  1550,   677,   698,   960,   111,   156,
     2978       0,  1557,   961,   110,   117,   425,   308,   133,  1308,   133,
     2979    1419,   431,   774,   433,   273,  1411,  1412,   111,    72,   534,
     2980    1023,   280,    30,  1525,   118,   132,   419,    72,  1530,    83,
     2981      84,   559,   560,   561,   117,   111,   351,   457,    83,    84,
     2982      72,   117,   462,  1419,   346,   110,   439,    72,  1550,   206,
     2983     133,    83,    84,   210,   447,  1557,   476,  1308,    83,    84,
     2984     111,   481,   111,   121,   122,   119,   117,   829,   117,   489,
     2985     117,   351,   774,   493,   489,    83,    84,   497,   493,   939,
     2986     500,   763,   502,   240,   241,   110,   133,   947,   133,  1144,
     2987     349,   493,    57,   132,   948,   759,   969,   476,   491,   699,
     2988     493,   133,   522,   699,  1005,   110,   493,   366,   699,   699,
     2989     852,   370,   667,   658,   699,   272,   699,   537,   275,   699,
     2990     540,   419,   542,   543,   110,   427,   428,   111,   852,   701,
     2991     117,  1067,   110,   993,   118,   110,   499,  1032,  1033,   296,
     2992     665,   439,   107,   522,    72,   110,   133,  1137,   132,   447,
     2993     111,   308,   432,   493,   599,    83,    84,   117,   537,   110,
     2994    1119,   540,   110,   542,   543,    80,  1308,   482,  1468,    72,
     2995      49,   113,   592,   133,   111,  1475,   111,   117,   493,   599,
     2996      83,    84,   697,   118,   112,   342,   493,    80,   701,   346,
     2997     610,   156,   612,   133,   117,   493,   641,   112,   600,   114,
     2998     117,   503,   482,   118,   111,  1195,  1196,   111,   365,   112,
     2999     133,   631,   369,   592,   111,   372,   133,  1468,    72,   112,
     3000     522,   114,    76,   965,  1475,   118,   692,   647,  1528,    83,
     3001      84,   117,   515,   653,   517,   114,   244,   520,   110,   111,
     3002     523,   117,   662,  1385,   664,   665,   666,   133,    72,   111,
     3003    1104,   614,   110,   781,   219,   618,   110,   133,   773,    83,
     3004      84,   110,    72,   889,   116,   119,   120,   117,   734,   111,
     3005     427,   428,   110,    83,    84,   117,   639,  1528,    72,   699,
     3006     643,   701,  1044,   133,   910,   664,   588,   666,   112,    83,
     3007      84,   111,   113,  1229,   714,    64,   117,   117,   455,   692,
     3008     720,   458,   112,   111,   724,   698,   133,   119,   273,   117,
     3009    1500,   110,   732,   125,   126,   280,  1506,   632,   113,   476,
     3010     971,  1023,   117,    72,   604,   745,   746,    76,   630,   110,
     3011    1472,   210,  1474,   635,    83,    84,   110,  1527,   112,   759,
     3012      55,   734,  1532,   111,   501,   110,   503,   112,   505,   117,
     3013     895,   113,   632,   732,   119,   120,   133,   637,   515,   115,
     3014     517,   110,   241,   520,   115,   522,   523,   939,   111,   133,
     3015     119,   120,   631,   381,   117,   947,   111,   534,   133,   111,
     3016    1324,   774,   117,    98,   349,   117,   831,  1529,   647,  1325,
     3017     111,   836,   113,   272,   692,    72,   117,    74,    75,   115,
     3018     113,   366,  1164,   662,   117,   370,    83,    84,   111,   110,
     3019     725,   132,   133,   111,   117,  1036,  1406,   296,   113,   117,
     3020     840,   111,   117,   110,   739,   112,   939,   117,  1534,   308,
     3021      82,   588,   852,  1423,   947,   837,   734,   113,   115,   110,
     3022    1534,   117,   599,  1379,   110,   725,  1382,    10,    11,    12,
     3023      13,    14,   113,  1135,   462,  1534,    70,  1139,  1140,   739,
     3024      74,   111,  1164,    77,   111,    79,    82,   117,   433,   120,
     3025     117,   111,    86,   630,   129,   895,    39,   117,   635,   194,
     3026     925,   130,   902,   903,   641,    94,   110,    72,   112,    74,
     3027      75,  1427,   500,  1135,   502,  1023,  1432,  1139,    83,    84,
     3028     759,   903,   217,   132,    67,   925,  1496,  1497,   112,     0,
     3029     903,   874,   227,   110,  1059,   112,   903,   110,   833,   939,
     3030      92,    93,   119,   120,   903,   110,  1462,   947,   111,   110,
     3031     115,   112,  1294,   110,   117,    72,  1064,    74,    75,    76,
     3032     697,    32,   110,  1245,   112,   965,    83,    84,   110,   111,
     3033     112,   970,    43,   833,  1208,  1209,   113,  1211,    49,   110,
     3034     113,   112,   719,  1217,   113,   985,  1220,   111,   119,   120,
     3035      88,    89,    63,  1255,   994,    66,   455,    49,    69,   458,
     3036     111,   296,  1002,   970,   110,  1005,   112,  1007,   903,   116,
     3037     117,    63,   749,   110,    66,   112,   903,    69,   110,   213,
     3038     112,   111,  1127,   966,   111,   903,   985,   110,    72,   112,
     3039      74,    75,  1548,   110,   111,   112,   773,   111,  1554,    83,
     3040      84,   111,   704,  1002,   706,   110,  1005,   113,  1007,  1565,
     3041     110,   111,   112,  1569,   599,   112,   515,  1057,   517,   117,
     3042     118,   520,   111,   112,   523,   653,   113,  1067,   112,  1509,
     3043    1070,  1071,  1072,   110,   111,   112,    72,   148,    74,    75,
     3044    1105,  1343,  1064,   970,   115,  1347,   631,    83,    84,   971,
     3045     161,  1064,    58,    59,   831,  1095,   148,  1064,  1057,   836,
     3046     116,   117,   647,   566,   567,   568,   569,   117,  1067,   161,
     3047     132,  1070,  1071,  1072,   115,   186,   187,   662,   115,  1559,
     3048     110,    10,    11,    12,    13,    14,   714,  1127,   113,  1224,
     3049     111,  1026,   720,   117,   118,   187,   724,   117,   118,   210,
     3050     111,  1023,    10,    11,    12,    13,    14,  1381,   113,   444,
     3051      39,   222,     4,     5,     6,     7,     8,     9,   210,   353,
     3052     113,   355,    72,   113,    74,    75,  1026,    44,    45,  1064,
     3053     222,    39,   113,    83,    84,   562,   563,  1064,    67,   564,
     3054     565,   252,   118,   478,   570,   571,  1064,  1449,   925,   118,
     3055     118,  1164,   929,   117,    29,   266,    58,    59,    60,    67,
     3056     110,   113,  1202,   111,   111,   115,   115,   118,  1207,   111,
     3057     116,   948,   116,   116,   759,   110,   117,    69,   111,    71,
     3058     515,   110,   118,   112,  1224,   520,   111,   117,   523,  1229,
     3059     119,   120,   969,   970,   971,  1267,  1268,  1269,   111,   133,
     3060    1207,   111,   110,   700,   112,   111,   111,  1229,   117,   443,
     3061    1249,   119,   120,   111,   111,   111,  1229,   473,   329,    29,
     3062     719,   111,  1229,   111,   111,   722,   111,  1267,  1268,  1269,
     3063    1229,   111,  1245,    85,    86,    87,   113,   329,   111,   350,
     3064       3,   111,  1249,   111,   111,     3,  1023,    10,    11,    12,
     3065      13,    14,    10,    11,    12,    13,    14,  1402,   110,   116,
     3066     112,   111,   114,   115,   111,   111,   132,   895,  1267,  1268,
     3067    1269,  1206,   111,  1544,   902,   111,    39,   117,   113,  1206,
     3068    1207,    39,   113,   111,  1324,  1325,  1308,     0,     1,   111,
     3069     117,   111,   118,   117,  1229,  1308,   407,   115,   117,   113,
     3070     111,  1308,  1229,  1342,    67,   117,  1206,   111,   117,    67,
     3071     111,  1229,   110,   113,  1534,   407,   110,   814,  1534,    32,
     3072     110,   110,  1249,  1534,  1534,  1324,  1325,  1104,  1105,  1534,
     3073      43,  1534,   110,   113,  1534,  1342,    49,    72,   133,  1379,
     3074     925,    76,  1382,  1535,   118,   680,   457,   116,    83,    84,
     3075      63,   111,   111,    66,   689,   116,    69,   111,   693,   130,
     3076     116,  1401,  1402,   115,  1509,   113,   994,  1559,  1303,   133,
     3077     111,  1411,  1412,  1308,   117,   110,  1303,   112,   117,   113,
     3078    1379,  1308,   493,  1382,   119,   120,   497,  1427,     3,   113,
     3079    1308,   111,  1432,   106,   891,    10,    11,    12,    13,    14,
     3080     111,   114,  1535,  1303,   117,   118,  1445,   111,   113,    47,
     3081    1450,   113,  1411,  1412,   113,  1342,     4,     5,     6,     7,
     3082       8,     9,  1462,   111,    39,   681,  1559,   113,  1427,   113,
     3083     929,   113,   133,  1432,   147,   148,   133,   133,  1445,   133,
     3084     133,   116,   111,   156,   157,    33,  1468,  1224,   161,   948,
     3085     116,  1450,    67,  1475,  1534,  1468,   118,   111,  1534,  1534,
     3086     113,  1468,  1475,  1462,   116,   113,   113,  1095,  1475,  1509,
     3087    1510,   113,  1249,   186,   187,    60,   113,   113,   113,  1519,
     3088     113,    69,   979,    71,   111,  1525,   111,   113,   111,   202,
     3089    1530,   113,   110,   110,  1534,  1535,   110,   210,   111,   610,
     3090    1535,   612,   133,   115,   113,   113,  1528,   118,  1548,   222,
     3091    1550,  1510,   111,  1010,  1554,  1528,   113,  1557,  1445,  1559,
     3092    1519,  1528,  1401,    96,  1559,  1565,  1525,   240,   241,  1569,
     3093     111,  1530,    96,  1468,    72,   110,    74,    75,    76,   252,
     3094    1475,  1468,   110,   133,   116,    83,    84,   260,  1475,  1548,
     3095    1468,  1550,   265,   266,   267,  1554,   113,  1475,  1557,   272,
     3096     111,   817,   111,    66,  1061,  1342,  1565,   111,   111,   117,
     3097    1569,   827,   110,    76,  1202,    72,    42,    74,    75,    76,
     3098     133,   119,   120,   296,   118,   841,    83,    84,   699,   111,
     3099     701,   133,   927,  1528,   111,   308,    96,    96,    26,    27,
     3100      28,  1528,   133,   111,   111,  1104,   133,   118,   133,   111,
     3101    1528,   324,   116,   110,   133,   118,   329,   111,   113,   110,
     3102     113,   133,  1544,   111,   116,   111,   116,   133,   111,   342,
     3103     111,  1079,   572,   346,   745,   746,   573,   350,   351,  1224,
     3104    1137,  1229,   574,    72,   575,    74,    75,    76,   576,  1497,
     3105    1387,  1140,   365,   190,    83,    84,   369,  1569,   161,   372,
     3106     197,  1318,  1475,    72,  1347,    74,    75,    76,  1445,   455,
     3107     455,    99,  1095,   101,    83,    84,   724,   706,   592,    66,
     3108     994,   110,   947,   112,   397,   949,   895,   681,   659,   118,
     3109     119,   120,   749,   967,   407,  1249,   493,   580,  1195,  1196,
     3110    1477,   110,  1479,   112,   759,    72,   580,    74,    75,    76,
     3111     119,   120,   425,    -1,   427,   428,    83,    84,   431,   222,
     3112     580,   434,    72,    -1,    74,    75,    76,    -1,    -1,   840,
     3113      -1,   118,   269,    83,    84,    -1,    -1,  1514,    -1,  1516,
     3114    1075,   852,   455,   110,   457,   458,    10,    11,    12,    13,
     3115      14,    -1,   119,   120,   182,    -1,    -1,   260,    -1,    -1,
     3116     110,    -1,   265,    -1,   192,   193,    -1,  1544,   481,   197,
     3117      -1,   199,   200,    -1,   161,    39,   489,   280,   491,    -1,
     3118     493,    -1,    -1,    -1,   497,  1041,  1042,   324,    -1,    -1,
     3119     503,    -1,    -1,    -1,    -1,   332,    -1,    -1,   335,    -1,
     3120      -1,   473,   515,    67,   517,    -1,    -1,   520,    72,   522,
     3121     523,    -1,    76,    -1,    -1,    -1,  1401,    -1,   531,    83,
     3122      84,   534,   535,   817,    -1,    -1,    -1,    72,   939,    74,
     3123      75,    76,    -1,   827,    -1,   222,   947,    -1,    83,    84,
     3124      -1,    -1,    -1,  1099,  1100,    -1,   110,   841,   351,    -1,
     3125      -1,    -1,    -1,    -1,   965,   119,   120,    -1,    -1,    -1,
     3126      -1,    -1,   399,    85,    86,    87,   403,   580,   581,    -1,
     3127      -1,    -1,    -1,   260,    -1,   588,    -1,    -1,   265,    -1,
     3128       0,    10,    11,    12,    13,    14,   599,   600,   110,    -1,
     3129     112,   604,   114,   115,    -1,    -1,    -1,   610,    -1,   612,
     3130      -1,    10,    11,    12,    13,    14,    -1,     0,     1,  1406,
     3131      39,    -1,    32,    -1,    -1,    -1,    -1,   630,    -1,    -1,
     3132      -1,    -1,   635,    -1,   637,    -1,  1423,    -1,   641,   432,
     3133      39,   644,   645,   646,    -1,    -1,    -1,    -1,    67,    32,
     3134      -1,    -1,    -1,    72,    -1,    -1,   449,    76,    -1,    69,
     3135     663,   488,   665,    -1,    83,    84,    49,    72,    67,    74,
     3136      75,    76,    -1,    72,   351,    74,    75,    76,    83,    84,
     3137      -1,    -1,    -1,    -1,    83,    84,    69,    -1,  1477,   482,
     3138    1479,   110,  1317,    -1,   697,   698,   699,  1243,   701,    -1,
     3139     119,   120,    -1,    -1,    -1,   110,    -1,   112,    -1,  1496,
     3140    1497,   110,    -1,   112,   119,   120,   719,    -1,    -1,   681,
     3141     119,   120,    -1,   106,    -1,  1514,    -1,  1516,    -1,  1275,
     3142      -1,    -1,    -1,    -1,   737,   738,   739,  1283,  1284,  1285,
     3143      -1,    -1,   745,   746,    -1,    -1,    -1,   157,    72,    -1,
     3144      74,    75,    76,   580,   581,   432,    -1,  1041,  1042,    83,
     3145      84,    -1,    -1,    -1,    -1,   148,    -1,    -1,    -1,    -1,
     3146     773,   774,    -1,   156,   157,   778,   779,    -1,    -1,    -1,
     3147      -1,    -1,    -1,    -1,    -1,  1331,   110,    -1,   112,    -1,
     3148      -1,    -1,    -1,    -1,    -1,   119,   120,    -1,    -1,    -1,
     3149      -1,    -1,    -1,    -1,   187,   482,    -1,    -1,    -1,    -1,
     3150      -1,   604,    -1,    -1,    -1,  1099,  1100,    -1,   821,   202,
     3151      -1,   231,   205,   206,    -1,    -1,   829,   210,   831,    -1,
     3152     833,    -1,    -1,   836,   837,    -1,    -1,   840,    -1,   632,
     3153      -1,   668,   252,    -1,   637,   672,    -1,   257,   231,   852,
     3154      -1,  1476,   235,  1478,   237,   817,    -1,    -1,    -1,    -1,
     3155      -1,    -1,    -1,   246,    -1,   827,   584,   585,    -1,   252,
     3156      -1,    -1,    -1,    -1,   257,    -1,    -1,    -1,   705,   841,
     3157      -1,    -1,    -1,    -1,   267,    -1,    -1,    -1,  1513,    -1,
     3158    1515,    -1,   275,    -1,    -1,   613,    -1,    -1,   616,   617,
     3159     903,   619,    -1,   621,   622,    -1,    -1,    -1,   626,   627,
     3160      -1,    -1,    97,    98,    99,   100,   101,   102,   103,   104,
     3161     105,   106,   925,   108,    -1,    -1,   929,   604,    -1,    -1,
     3162      -1,    -1,   725,  1558,    -1,  1560,   939,    -1,    -1,    -1,
     3163      -1,    -1,   352,    -1,   947,   948,   739,   132,  1573,  1574,
     3164      -1,    -1,    -1,    -1,    -1,   632,    -1,   960,   961,   342,
     3165     637,    -1,   965,   346,    -1,    -1,   759,   970,   971,   352,
    31593166      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3160        0,    -1,    -1,   603,    -1,    -1,   662,    -1,    -1,    -1,
    3161     1247,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   603,   603,
    3162       -1,    -1,    -1,    -1,   680,    -1,    -1,    -1,    -1,    -1,
    3163       -1,   631,    32,    -1,  1526,   691,   636,    -1,    -1,    -1,
    3164      696,   697,    -1,    -1,   700,    -1,   631,   631,    -1,    -1,
    3165       -1,   636,   636,    -1,    -1,    -1,  1241,    -1,    -1,    -1,
    3166       -1,    -1,    -1,    -1,    -1,   758,    -1,    67,    -1,   734,
    3167       -1,    -1,    -1,    -1,    -1,    -1,    -1,   733,    -1,    -1,
    3168      736,    -1,    -1,  1039,  1040,    -1,    -1,    -1,  1273,   745,
    3169       -1,    -1,   748,    -1,    -1,    -1,  1281,  1282,  1283,    -1,
    3170       -1,  1102,    -1,  1340,    -1,    -1,    -1,    -1,    -1,    -1,
    3171       -1,    -1,    -1,   344,   345,   780,   772,   773,    -1,    -1,
    3172       -1,    -1,   778,    -1,   724,   356,   357,    -1,    -1,    26,
    3173       27,    28,    -1,    -1,    -1,    -1,    -1,    -1,   738,   724,
    3174      724,  1097,  1098,    -1,  1329,    -1,    -1,    -1,    -1,    -1,
    3175       -1,    -1,    -1,   738,   738,   155,    -1,    -1,    -1,   815,
    3176       -1,    -1,   827,    -1,    -1,    -1,    -1,    -1,    -1,   825,
    3177       -1,    -1,   828,   758,   830,    -1,    -1,   833,   834,   835,
    3178       -1,    -1,   582,   583,   840,    -1,    -1,    -1,    -1,    -1,
    3179       -1,    -1,    -1,    -1,   850,    -1,    -1,    -1,    -1,    -1,
    3180       97,    -1,    99,    -1,    -1,    -1,  1443,    10,    11,    12,
    3181       13,    14,   612,    -1,    -1,   615,   616,    -1,   618,    -1,
    3182      620,   621,    -1,    -1,    -1,   625,   626,   124,    -1,   229,
    3183       -1,   924,   832,    -1,    -1,    -1,    39,    -1,  1475,    -1,
    3184     1477,    -1,    -1,    -1,    -1,    -1,   902,   832,   832,    -1,
    3185      250,    -1,    -1,    -1,    -1,   255,   188,    -1,    -1,    -1,
    3186       -1,    -1,    -1,   195,    67,    -1,    -1,    -1,   924,    72,
    3187       -1,    74,    75,    76,    -1,  1512,    -1,  1514,    -1,    -1,
    3188       83,    84,    -1,   180,    -1,  1241,    -1,    -1,    -1,    -1,
    3189       -1,   188,    -1,   190,   191,    -1,    -1,    -1,   195,    -1,
    3190      197,   198,    -1,    -1,   960,  1542,   109,    -1,   111,   709,
    3191      710,    -1,   968,   969,    -1,   715,   119,  1273,    -1,    10,
    3192       11,    12,    13,    14,    -1,  1281,  1282,  1283,    -1,    -1,
    3193      986,    -1,    -1,    -1,    -1,   267,    -1,    -1,    -1,    10,
    3194       11,    12,    13,    14,    -1,    -1,    -1,    -1,    39,    -1,
    3195      350,    -1,    -1,    -1,    -1,    -1,  1021,    -1,    -1,    -1,
    3196       -1,    -1,    -1,    -1,    -1,  1021,    -1,    -1,    39,    -1,
    3197      267,    -1,    -1,  1329,    -1,    -1,    67,    -1,  1034,    -1,
    3198       -1,    72,    -1,  1039,  1040,    76,  1042,  1043,    -1,    -1,
    3199       -1,   323,    83,    84,    -1,    -1,    67,  1062,    -1,   331,
    3200       -1,    72,   334,    74,    75,    76,  1062,    -1,    -1,    -1,
    3201       -1,    -1,    83,    84,    -1,    -1,    -1,   417,   109,    -1,
    3202       -1,     0,    -1,    -1,  1024,    -1,    -1,    -1,   119,    -1,
    3203       -1,    -1,   432,    -1,    -1,    -1,    -1,   437,   109,  1024,
    3204     1024,  1097,  1098,    -1,    -1,   445,    -1,  1103,   119,    -1,
    3205       -1,    -1,    -1,    32,    -1,    -1,    -1,    -1,    -1,    -1,
    3206       -1,    -1,    -1,    -1,    -1,   397,    -1,    -1,    -1,   401,
    3207       -1,   471,    -1,    -1,  1475,    -1,  1477,    -1,    97,    98,
    3208       99,   100,   101,   102,   103,   104,   105,   106,    67,   489,
    3209       -1,   491,    -1,    -1,   725,    -1,   727,    -1,    -1,    -1,
    3210       -1,    -1,    -1,   734,   735,    -1,  1162,    -1,   739,    -1,
    3211       -1,  1512,   131,  1514,  1179,    10,    11,    12,    13,    14,
    3212      751,    -1,    -1,    -1,    -1,   756,    -1,    -1,    -1,  1222,
    3213       -1,    -1,    -1,   533,    -1,    -1,    -1,    -1,    -1,    -1,
    3214       -1,    -1,    -1,    -1,    39,    -1,    -1,    -1,    -1,  1205,
    3215       -1,   782,    -1,    -1,   486,    -1,    -1,    -1,    -1,    -1,
    3216       -1,    -1,    -1,    -1,    -1,    -1,  1222,    -1,    -1,    -1,
    3217       -1,  1227,    67,    -1,    -1,    -1,   155,    72,    -1,    -1,
    3218       -1,    76,    -1,    -1,    -1,  1241,    -1,  1243,    83,    84,
    3219       -1,  1247,    -1,    -1,    -1,    -1,   827,    -1,   598,    -1,
    3220       -1,    -1,    -1,    -1,  1204,    -1,    -1,    -1,    -1,    -1,
    3221       -1,    -1,    -1,    -1,   109,    -1,    -1,  1273,    -1,  1204,
    3222     1204,    -1,    -1,    -1,   119,  1281,  1282,  1283,    -1,    -1,
    3223       -1,    -1,    -1,    -1,    -1,    -1,  1292,  1293,    -1,    -1,
    3224       -1,    -1,    -1,   643,   644,   645,   578,   579,    -1,    -1,
    3225     1306,    -1,    -1,   884,   885,   886,   887,    -1,   889,    -1,
    3226       -1,    -1,   662,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3227       -1,   250,    -1,  1329,   905,    -1,   255,    -1,    -1,    -1,
    3228      680,    -1,    -1,    -1,  1340,   582,   583,    -1,   919,    -1,
    3229       -1,   691,    -1,    -1,    -1,    -1,    -1,   697,    -1,  1099,
    3230       -1,  1301,    -1,    -1,    -1,    -1,  1399,    -1,    -1,    -1,
    3231       -1,    -1,    -1,    -1,    -1,   612,  1301,  1301,   615,   616,
    3232       -1,   618,    -1,   620,   621,    -1,    -1,   958,   625,   626,
    3233       -1,    -1,    -1,   733,    -1,   667,   736,    -1,    -1,   671,
     3167      -1,    -1,   365,    -1,   987,    -1,   369,    -1,    -1,   372,
     3168     993,  1275,   710,   711,   821,    -1,    -1,    -1,   716,  1283,
     3169    1284,  1285,    -1,    10,    11,    12,    13,    14,    -1,   419,
     3170      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3171    1023,    -1,    -1,    -1,   434,    -1,    -1,    -1,    -1,   439,
     3172      -1,    -1,    39,    -1,    -1,    -1,   419,   447,    -1,    -1,
     3173     833,  1044,  1045,    -1,    -1,    -1,    -1,  1331,   725,    -1,
     3174      -1,   434,    -1,    -1,    -1,    -1,   439,    -1,    -1,    -1,
     3175      67,  1064,   739,   473,   447,    72,    -1,    74,    75,    76,
     3176      -1,    -1,    -1,    -1,    -1,    -1,    83,    84,    -1,  1041,
     3177    1042,   491,    -1,   493,    -1,    -1,    -1,    -1,    -1,    -1,
     3178     473,    -1,    -1,   476,    -1,    -1,    -1,    -1,    -1,    -1,
     3179      -1,  1104,  1105,   110,    -1,   112,   933,    -1,   491,    -1,
     3180     493,    -1,   119,   120,    -1,     0,  1119,    -1,   501,    -1,
     3181      -1,    -1,   505,    -1,  1127,   535,    -1,    -1,    -1,    -1,
     3182      -1,    -1,    -1,  1534,    -1,    -1,    -1,  1099,  1100,    -1,
     3183      -1,    -1,    -1,    -1,    -1,    -1,    -1,    32,    -1,    -1,
     3184      -1,   534,   535,    -1,    -1,    -1,   833,    -1,    -1,    -1,
     3185      -1,  1164,    -1,    -1,    -1,    -1,    10,    11,    12,    13,
     3186      14,    15,    16,    17,    18,    19,    20,    21,    22,    23,
     3187      24,    25,    26,    27,    69,  1012,    30,    31,    32,    -1,
     3188     600,    -1,    -1,    -1,    -1,    39,    -1,    -1,   581,    -1,
     3189      -1,    -1,  1029,  1206,  1207,    -1,    -1,    -1,    -1,    -1,
     3190      -1,    -1,    -1,    -1,    -1,    -1,   599,   600,    -1,    -1,
     3191      -1,  1224,    -1,    67,    -1,    -1,  1229,    -1,    72,   612,
     3192      74,    75,     0,  1026,   644,   645,   646,    -1,    -1,    83,
     3193      84,    -1,  1245,    -1,    -1,    -1,  1249,   630,    -1,    -1,
     3194      -1,    -1,   635,   663,    -1,    -1,    -1,    -1,   641,    -1,
     3195      -1,   644,   645,   646,    32,    -1,    -1,    -1,   112,    -1,
     3196      -1,   681,   157,    -1,    -1,   119,   120,    -1,    -1,  1106,
     3197     663,  1243,   692,    -1,    -1,    -1,    -1,    -1,   698,    -1,
     3198      -1,  1294,  1295,    -1,    -1,    -1,    -1,    -1,   681,    -1,
     3199    1303,    69,    -1,    -1,    -1,  1308,    -1,    -1,    -1,   692,
     3200      -1,    -1,    -1,  1275,   697,   698,    -1,    -1,   701,    -1,
     3201      -1,  1283,  1284,  1285,   734,    -1,    -1,   737,    10,    11,
     3202      12,    13,    14,    -1,    -1,    -1,    -1,    -1,    -1,  1342,
     3203      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  1026,
     3204      -1,   734,    -1,    -1,   737,    -1,    -1,    39,    -1,    -1,
     3205      -1,    -1,    -1,   746,   774,    -1,   749,   252,    -1,  1331,
     3206      -1,    -1,   257,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3207      -1,    -1,    -1,  1101,    -1,    67,    -1,    -1,    -1,   157,
     3208     773,   774,    -1,    -1,    -1,    -1,   779,    -1,    -1,  1402,
     3209      -1,    -1,    -1,    -1,    -1,    -1,    -1,   817,    -1,    -1,
     3210      -1,    -1,    -1,  1206,    -1,    -1,  1419,   827,    -1,   829,
     3211      -1,    -1,    -1,    -1,   834,    -1,    -1,   837,   110,    -1,
     3212     112,   841,    -1,    -1,   817,    -1,    -1,   119,   120,    -1,
     3213      -1,    -1,  1445,    -1,   827,    -1,   829,    -1,   831,    -1,
     3214      -1,   834,    -1,   836,   837,    -1,    -1,    -1,   841,    -1,
     3215      -1,    -1,    -1,    -1,    -1,  1468,    -1,   352,   851,    -1,
     3216      -1,    -1,  1475,    -1,  1477,    -1,  1479,    -1,    -1,    -1,
     3217      -1,    -1,    -1,    -1,   252,    -1,     0,     1,    -1,   257,
     3218      -1,    -1,    -1,   903,    -1,    -1,    -1,    -1,    -1,    -1,
     3219      -1,    10,    11,    12,    13,    14,  1509,    -1,  1226,    -1,
     3220    1303,  1514,    -1,  1516,    -1,    -1,    -1,    -1,    32,    -1,
     3221     903,    -1,    -1,    -1,    -1,  1528,    -1,    -1,    -1,  1206,
     3222      39,  1534,  1535,    -1,   419,    -1,    -1,    -1,    -1,    -1,
     3223      -1,  1544,   925,    -1,    -1,    -1,    -1,    -1,    -1,   434,
     3224      -1,    -1,    66,    -1,   439,    69,  1559,    -1,    67,    -1,
     3225      -1,    -1,   447,    72,    -1,    74,    75,    76,    -1,    -1,
     3226      -1,    -1,    -1,    -1,    83,    84,    -1,   987,   961,    -1,
     3227      -1,    -1,    -1,    -1,   352,    -1,   969,   970,   473,    -1,
     3228      -1,     0,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3229      -1,   110,    -1,   112,   987,    -1,   491,    -1,   493,    -1,
     3230     119,   120,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3231      -1,    -1,    -1,    32,    -1,    -1,  1303,    -1,    -1,    -1,
     3232      -1,  1041,  1042,    -1,  1044,  1045,    -1,    -1,    -1,    -1,
     3233    1023,    -1,    -1,   157,    -1,    -1,    -1,    -1,    -1,    -1,
     3234     535,   419,    -1,  1036,  1064,    -1,    -1,    -1,  1041,  1042,
     3235      69,  1044,  1045,    -1,    -1,    -1,   434,    -1,    -1,    -1,
     3236       7,   439,    -1,    10,    11,    12,    13,    14,    -1,   447,
     3237      -1,  1064,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  1099,
     3238    1100,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3239      37,    38,    39,    40,    -1,   473,    -1,    -1,   222,    -1,
     3240      -1,    -1,    -1,    -1,    -1,   600,  1099,  1100,    -1,    -1,
     3241      -1,    -1,  1105,   491,    -1,   493,    -1,    -1,    -1,    66,
     3242      67,    -1,    -1,    -1,    -1,    72,    -1,    -1,   252,    76,
     3243      -1,    -1,    79,    80,    81,    82,    83,    84,   157,    86,
     3244      87,    -1,    -1,    -1,  1164,    -1,    -1,    94,    -1,   644,
     3245     645,   646,    -1,    -1,    -1,    -1,    -1,   535,    -1,    -1,
     3246      -1,    -1,    -1,   110,    -1,   112,    -1,    -1,   663,    -1,
     3247      -1,  1164,   119,   120,   121,   122,   123,   124,    -1,    -1,
     3248      -1,    -1,    -1,    -1,    -1,    -1,   681,  1207,    -1,    -1,
     3249      -1,    -1,    -1,    -1,    -1,    -1,    -1,   692,    -1,    -1,
     3250      -1,    -1,    -1,   698,    -1,    -1,    -1,    -1,    -1,  1229,
     3251      -1,    -1,    -1,    -1,  1207,    -1,    -1,    -1,    -1,    -1,
     3252      -1,    -1,   600,  1243,    -1,  1245,    -1,    -1,    -1,    -1,
     3253      -1,  1224,    -1,   252,    -1,    -1,  1229,    -1,   257,   734,
     3254      -1,    -1,   737,    10,    11,    12,    13,    14,    -1,    -1,
     3255    1243,    -1,  1245,    -1,    -1,  1275,  1249,    -1,    -1,    -1,
     3256      -1,    -1,    -1,  1283,  1284,  1285,   644,   645,   646,    -1,
     3257      -1,    -1,    39,    -1,  1294,  1295,    -1,    -1,    -1,   774,
     3258      -1,    -1,  1275,    -1,    -1,   663,    -1,    -1,  1308,    -1,
     3259    1283,  1284,  1285,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3260      67,  1294,  1295,   681,    -1,    72,    -1,    74,    75,    76,
     3261     434,  1331,    -1,    -1,   692,  1308,    83,    84,    -1,    -1,
     3262     698,    -1,   817,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3263      -1,    -1,   827,   352,   829,    -1,    -1,    -1,  1331,   834,
     3264      -1,    -1,   837,   110,    -1,    -1,   841,    -1,    -1,  1342,
     3265      -1,    -1,   119,   120,    -1,    -1,   734,    -1,    -1,   737,
     3266      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   493,
     3267      -1,    -1,    10,    11,    12,    13,    14,    15,    16,    17,
     3268      18,    19,    20,    21,    22,    23,    24,    25,    26,    27,
     3269      -1,    -1,    30,    31,    32,    -1,   774,    -1,    -1,  1419,
     3270     419,    39,    -1,    -1,    -1,    -1,    -1,    -1,   903,    -1,
     3271      -1,   535,    -1,    -1,    -1,   434,    -1,    -1,    -1,    -1,
     3272     439,    -1,    -1,    -1,    -1,    -1,  1419,    -1,   447,    67,
     3273      -1,    -1,    -1,    -1,    72,    -1,    74,    75,    -1,   817,
     3274      -1,    -1,    -1,    -1,    -1,    83,    84,    -1,  1468,   827,
     3275      -1,   829,  1445,    -1,   473,  1475,   834,    -1,    -1,   837,
     3276      -1,    -1,    -1,   841,    53,    -1,    55,    -1,    -1,    58,
     3277      59,    60,   491,    62,   493,  1468,   600,    -1,    -1,    -1,
     3278      -1,    -1,  1475,    -1,    -1,    -1,    -1,    -1,    77,    -1,
     3279      -1,    -1,   987,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3280      89,    90,    -1,    -1,    -1,    -1,    -1,    -1,  1528,    -1,
     3281      -1,    10,    11,    12,    13,    14,   535,    -1,    -1,    -1,
     3282     644,   645,   646,    -1,    -1,   903,    -1,    -1,    -1,    -1,
     3283      -1,    -1,    -1,    -1,    -1,  1528,    -1,    -1,    -1,   663,
     3284      39,    -1,  1535,    -1,    -1,    -1,  1041,  1042,    -1,  1044,
     3285    1045,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3286      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    67,  1064,
     3287      -1,    -1,    -1,    72,    -1,    74,    75,    76,    -1,    -1,
     3288      -1,   600,    -1,    -1,    83,    84,    10,    11,    12,    13,
     3289      14,    15,    16,    17,    18,    19,    20,    21,    22,    23,
     3290      24,    25,    26,    27,  1099,  1100,    30,    31,    32,   987,
     3291      -1,   110,    -1,   737,    -1,    39,    -1,    -1,    -1,    -1,
     3292     119,   120,    -1,    -1,    -1,   644,   645,   646,    -1,    -1,
     3293      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3294      -1,    -1,    -1,    67,   663,    -1,    -1,    -1,    72,    -1,
     3295      74,    75,    76,    -1,    -1,    -1,    -1,    -1,    -1,    83,
     3296      84,    -1,   681,  1041,  1042,    -1,  1044,  1045,    -1,  1164,
     3297      -1,    -1,    -1,   692,    -1,    -1,    -1,    -1,    -1,   698,
     3298      -1,    37,    38,    -1,    40,    -1,  1064,    -1,   112,    -1,
     3299      -1,    -1,    -1,    -1,    -1,   119,   120,    -1,    -1,    -1,
     3300      -1,    -1,    -1,    -1,    -1,   829,    -1,    -1,    -1,    -1,
     3301      66,    -1,  1207,   837,    -1,   734,    72,    -1,   737,    -1,
     3302      76,  1099,  1100,    79,    80,    81,    82,    83,    84,    -1,
     3303      86,    87,    -1,    -1,  1229,    -1,    -1,    -1,    94,    -1,
     3304      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  1243,    -1,
     3305    1245,    -1,    -1,    -1,   110,   774,   345,    -1,   347,    -1,
     3306      -1,    -1,    -1,   119,   120,   121,   122,   123,   124,   358,
     3307     359,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   903,
     3308    1275,    -1,    -1,    -1,    -1,    -1,  1164,    -1,  1283,  1284,
     3309    1285,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   817,  1294,
     3310    1295,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   827,    -1,
     3311     829,    -1,    -1,  1308,    -1,   834,    -1,    -1,   837,    -1,
     3312      -1,    -1,   841,    -1,    -1,    -1,    -1,    -1,    -1,  1207,
     3313     283,    -1,   285,   286,    -1,    -1,  1331,    -1,    -1,    -1,
     3314     293,   294,    -1,    -1,    -1,    -1,   970,    -1,    -1,    -1,
     3315      -1,  1229,    -1,    -1,    -1,   308,   309,    -1,    -1,    -1,
     3316      -1,    -1,    -1,   987,    -1,  1243,    -1,  1245,    -1,    -1,
     3317      -1,    66,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3318      -1,    76,    -1,    78,   903,    80,    -1,    -1,    26,    27,
     3319      28,    -1,    87,   346,    -1,    -1,    -1,  1275,    -1,    -1,
     3320      -1,    -1,    -1,    -1,    -1,  1283,  1284,  1285,    -1,    -1,
     3321      -1,    -1,    -1,    -1,    -1,    -1,  1294,  1295,    -1,    -1,
     3322    1044,  1045,    -1,   118,  1419,   120,   121,   122,    -1,   382,
     3323    1308,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3324    1064,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3325      -1,    -1,    -1,  1331,    -1,    -1,    -1,    -1,    -1,    -1,
     3326      -1,    99,    -1,   101,    -1,    -1,   161,    -1,   987,    -1,
     3327      -1,    -1,    -1,  1468,    -1,    -1,    -1,    -1,    -1,    -1,
     3328    1475,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   126,    -1,
     3329      -1,    -1,     3,     4,     5,     6,     7,     8,     9,    10,
     3330      11,    12,    13,    14,    15,    16,    17,    18,    19,    20,
     3331      21,    22,    23,    24,    25,    26,    27,    -1,    -1,    30,
     3332      31,    32,  1041,  1042,    -1,  1044,  1045,   222,    39,   224,
     3333     225,   226,    -1,  1528,    -1,    -1,    -1,    -1,    -1,    -1,
     3334      -1,  1419,    -1,    -1,   182,  1064,    -1,    -1,    -1,    -1,
     3335      -1,    -1,   190,    -1,   192,   193,    67,    -1,    69,   197,
     3336      71,   199,   200,    74,    75,   260,    -1,    -1,    -1,    -1,
     3337     265,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3338    1099,  1100,  1206,  1207,    -1,   280,    -1,    -1,    -1,    -1,
     3339    1468,    -1,    -1,    -1,    -1,    -1,    -1,  1475,    -1,    -1,
     3340      -1,    -1,    -1,    -1,   115,  1229,   559,   560,   561,   562,
     3341     563,   564,   565,   566,   567,   568,   569,   570,   571,   572,
     3342     573,   574,   575,   576,    -1,  1249,    -1,    -1,    -1,    -1,
     3343      -1,   269,    -1,    -1,   329,    -1,    -1,   726,    -1,   728,
     3344      -1,    -1,    -1,    -1,    -1,  1164,   735,   736,    -1,    -1,
     3345    1528,   740,    -1,    -1,    -1,    -1,   351,    -1,    -1,    -1,
     3346      -1,   356,   357,   752,    -1,    -1,    -1,    -1,   757,   364,
     3347    1294,  1295,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  1303,
     3348      -1,    -1,    -1,    -1,  1308,    -1,    -1,    -1,  1207,    -1,
     3349      -1,    -1,    -1,    -1,   783,    -1,    -1,    -1,    -1,    -1,
     3350      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3351    1229,    -1,   407,    -1,    -1,    -1,    -1,    -1,  1342,    -1,
     3352      -1,    -1,    -1,    -1,  1243,    -1,  1245,    -1,    -1,    -1,
     3353     425,    -1,    -1,    -1,    -1,   430,    -1,   432,    -1,    -1,
     3354      -1,    -1,    -1,    -1,    -1,    -1,    -1,   700,    -1,    -1,
     3355      -1,    -1,    -1,    -1,   449,    -1,  1275,   452,   453,    -1,
     3356      -1,    -1,    -1,    -1,  1283,  1284,  1285,    -1,    -1,   722,
     3357      -1,    -1,    -1,   468,    -1,  1294,  1295,    -1,    -1,    -1,
     3358      -1,    -1,    -1,    -1,    -1,    -1,    -1,   482,    -1,  1308,
     3359      -1,    -1,    -1,    -1,   489,  1419,   885,   886,   887,   888,
     3360      -1,   890,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3361      37,    38,  1331,    40,    -1,    -1,    -1,   906,    -1,    -1,
     3362      -1,  1445,    -1,    -1,    -1,    -1,    -1,    -1,   781,    -1,
     3363      -1,   920,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    66,
     3364      -1,    -1,    -1,    -1,  1468,    72,    49,    74,    75,    76,
     3365      -1,  1475,    79,    80,    81,    82,    83,    84,    -1,    86,
     3366      87,   814,    -1,    66,    -1,    -1,    -1,    94,    -1,    -1,
     3367     959,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3368      -1,    -1,    -1,   110,    -1,   112,    -1,   114,   115,    -1,
     3369      -1,    -1,   119,   120,   121,   122,   123,   124,    -1,    -1,
     3370    1419,    -1,    -1,    -1,  1528,    -1,    -1,    -1,    -1,   604,
     3371     999,   114,    -1,    -1,    -1,   118,    -1,  1006,    -1,    -1,
     3372      -1,    -1,  1011,    -1,    -1,    -1,    -1,  1016,    -1,  1018,
     3373      -1,    -1,    -1,  1022,    -1,  1024,  1025,   632,    -1,  1028,
     3374      -1,    -1,   637,    -1,   147,    -1,   584,   585,  1037,  1468,
     3375      -1,    -1,    -1,    -1,   157,    -1,  1475,    -1,   161,    -1,
     3376      -1,    -1,    -1,    -1,    -1,    -1,  1055,  1056,    -1,    -1,
     3377      -1,    -1,    -1,    -1,    -1,   613,    -1,    -1,   616,   617,
     3378      -1,   619,    -1,   621,   622,    -1,    -1,    -1,   626,   627,
     3379      -1,    -1,    -1,  1082,    -1,    -1,  1085,    -1,    -1,    -1,
     3380      -1,    -1,    -1,    -1,    -1,    -1,    -1,   210,    -1,  1528,
     3381      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   222,
     3382      -1,    -1,    -1,    -1,    -1,    -1,   979,    -1,    -1,    -1,
     3383     725,    -1,    -1,    -1,    -1,  1124,    -1,   240,   241,    -1,
     3384      -1,  1130,  1131,    -1,   739,    -1,    -1,    -1,    -1,    -1,
     3385      -1,    -1,    -1,  1142,    -1,    -1,    -1,  1010,  1147,    -1,
     3386      -1,  1150,   265,  1152,   759,    -1,  1155,   705,    -1,   272,
     3387    1023,    -1,   710,   711,    -1,    -1,    -1,    -1,   716,  1168,
     3388      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3389      -1,    -1,  1181,   296,  1183,  1184,  1185,  1186,    -1,    -1,
     3390      -1,    -1,    -1,    -1,    -1,   308,    -1,    -1,    -1,    -1,
     3391    1199,  1064,  1201,    -1,    -1,    -1,  1205,    -1,    -1,    -1,
     3392      -1,    -1,    -1,    -1,    -1,    -1,   821,    -1,    -1,    -1,
     3393      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   833,    -1,
     3394      -1,    -1,    -1,   346,    -1,  1234,  1235,    -1,   351,    -1,
     3395      -1,    -1,    -1,    -1,    -1,    -1,    -1,   852,    10,    11,
     3396      12,    13,    14,    15,    16,    17,    18,    19,    20,    21,
     3397      22,    23,    24,    25,    26,    27,    28,    -1,    30,    31,
     3398      32,    -1,    -1,    -1,  1137,    -1,    -1,    39,    -1,    -1,
     3399      -1,    -1,    -1,    -1,    -1,    -1,    -1,  1286,  1287,    -1,
     3400      -1,    -1,    -1,    -1,    -1,    -1,    -1,  1296,    -1,    -1,
     3401      -1,    -1,    -1,    -1,    -1,    67,    -1,    -1,    -1,    -1,
     3402      -1,    -1,    74,    75,   427,   428,    78,    -1,    -1,    -1,
     3403      -1,   434,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3404      -1,    -1,  1195,  1196,   939,    -1,    -1,    -1,    -1,    -1,
     3405      -1,    -1,   455,    -1,    -1,   458,    -1,    -1,   110,  1348,
     3406     112,    -1,    -1,    -1,    -1,    -1,    -1,   119,   120,    -1,
     3407     965,  1360,    -1,  1362,  1363,  1364,    -1,    -1,    -1,    -1,
     3408      -1,    -1,    -1,    -1,    -1,  1374,    -1,    -1,   491,    -1,
     3409      -1,    -1,    -1,    -1,  1383,    -1,    -1,    -1,   993,    -1,
     3410     503,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3411    1399,    -1,   515,    -1,   517,    -1,    -1,   520,    -1,   522,
     3412     523,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3413      -1,  1026,   535,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3414      -1,    44,  1037,    -1,    -1,    -1,    -1,    -1,    10,    11,
     3415      12,    13,    14,    15,    16,    17,    18,    19,    20,    21,
     3416      22,    23,    24,    25,    26,    27,  1455,  1456,    30,    31,
     3417      32,    -1,    -1,    -1,    -1,    -1,    -1,    39,    -1,  1468,
     3418      -1,    -1,    -1,    -1,    -1,   588,  1475,    -1,    -1,    92,
     3419      -1,    -1,    -1,    -1,    -1,    -1,    -1,   600,    -1,   102,
     3420      -1,   604,    -1,    -1,    -1,    67,    -1,    -1,    -1,    -1,
     3421      72,    -1,    74,    75,    76,    -1,    -1,    -1,    -1,  1508,
     3422      -1,    83,    84,  1512,  1119,    -1,    -1,   630,    -1,    -1,
     3423      -1,    -1,   635,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3424      -1,   644,   645,   646,    -1,    -1,    -1,    -1,   110,    -1,
     3425     112,    -1,  1541,  1406,  1543,   158,    -1,   119,   120,    -1,
     3426     663,    -1,    -1,  1101,    -1,    -1,    -1,    -1,    -1,   172,
     3427    1423,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3428      -1,    -1,  1571,  1572,    -1,    -1,    -1,    -1,    -1,    -1,
     3429    1579,  1580,   195,    -1,    -1,   698,    -1,    -1,    -1,    -1,
     3430      -1,    -1,    -1,    -1,    -1,    -1,   209,    -1,    -1,    -1,
     3431      -1,  1206,    -1,    -1,    -1,   218,   719,    -1,    -1,    -1,
     3432      -1,    -1,    -1,    -1,    -1,   228,    -1,    -1,    -1,    -1,
     3433      -1,    -1,    -1,    -1,   737,    -1,   739,    -1,    -1,    -1,
     3434      -1,    -1,    -1,  1496,  1497,    -1,    -1,    -1,    -1,    -1,
     3435     253,    -1,    -1,    -1,    -1,   258,    -1,    -1,    -1,    -1,
     3436      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   271,    -1,
     3437      -1,   774,    -1,    -1,   277,    -1,   279,    -1,    -1,    -1,
     3438      -1,    -1,    -1,    -1,    -1,    -1,     7,    -1,  1226,    10,
     3439      11,    12,    13,    14,   297,    -1,    -1,    -1,    -1,    -1,
     3440      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  1303,    -1,
     3441      -1,    -1,    -1,    -1,    -1,    -1,    37,    38,    39,    40,
     3442      -1,    -1,    -1,    -1,    -1,    -1,   829,    -1,    -1,    -1,
     3443     833,    -1,    -1,    -1,   837,    -1,   339,    -1,    -1,    -1,
     3444      -1,   344,    -1,    -1,    -1,    66,    67,    -1,    -1,    -1,
     3445      -1,    72,    -1,    -1,    -1,    76,    -1,    -1,    79,    80,
     3446      81,    82,    83,    84,    -1,    86,    87,    -1,    -1,    -1,
     3447     373,    -1,    -1,    94,   377,   378,    -1,   380,    -1,    -1,
     3448      -1,    -1,    -1,    -1,   387,   388,    -1,   390,   391,   110,
     3449     393,   112,   395,    -1,    -1,    -1,    -1,    -1,   119,   120,
     3450     121,   122,   123,   124,    -1,    -1,    -1,    -1,    -1,   412,
     3451      -1,    -1,    -1,    -1,    -1,    37,    38,   420,    40,    -1,
     3452      -1,    -1,    -1,    -1,    -1,    -1,   929,    -1,    -1,    -1,
     3453      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3454      -1,    -1,   445,    -1,    66,   948,    -1,    -1,    -1,    -1,
     3455      72,    -1,    -1,   456,    76,    -1,    -1,    79,    80,    81,
     3456      82,    83,    84,    -1,    86,    87,    -1,    -1,   971,    -1,
     3457      -1,    -1,    94,    -1,    -1,    -1,   479,    -1,    -1,    -1,
     3458      -1,    -1,   485,    -1,   987,    -1,    -1,   490,   110,    -1,
     3459     112,    -1,    -1,   115,    -1,    -1,    -1,   119,   120,   121,
     3460     122,   123,   124,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3461      -1,    -1,    -1,    -1,    -1,    -1,   156,   157,    -1,    -1,
     3462    1023,    -1,    -1,    -1,   527,    -1,    -1,    -1,    -1,    -1,
     3463      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   541,    -1,
     3464      -1,  1044,  1045,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3465     190,    -1,    -1,    -1,    -1,    -1,    -1,   197,    -1,    -1,
     3466      -1,    -1,    -1,    -1,  1559,    -1,    -1,    -1,    -1,    -1,
     3467      -1,    -1,    -1,    -1,    -1,    -1,    -1,   580,    -1,    -1,
     3468      -1,    -1,    -1,    -1,    -1,    -1,   589,    -1,    -1,    -1,
     3469      -1,    -1,    -1,   596,    -1,    -1,    -1,    -1,    -1,   602,
     3470      -1,  1104,    -1,    -1,    -1,    -1,    -1,    -1,   611,    -1,
    32343471      10,    11,    12,    13,    14,    15,    16,    17,    18,    19,
    3235       20,    21,    22,    23,    24,    25,    26,    27,    28,    -1,
    3236       -1,  1417,    -1,    -1,    -1,    -1,    -1,   998,    -1,    39,
    3237       -1,   350,   704,   773,  1005,    -1,    -1,    -1,    -1,  1010,
    3238       -1,    -1,    -1,    -1,  1015,    -1,  1017,  1443,    -1,    -1,
    3239     1021,  1022,  1023,    -1,    -1,  1026,    -1,    67,    -1,    -1,
    3240       -1,    -1,    -1,    -1,  1035,    -1,    -1,   704,    78,    -1,
    3241     1466,    -1,   709,   710,    -1,   815,    -1,  1473,   715,    -1,
    3242       -1,    -1,  1053,  1054,  1224,   825,    -1,    -1,   828,    -1,
    3243       -1,    -1,    -1,   833,    -1,   835,    -1,    -1,   417,    -1,
    3244      840,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  1080,
    3245       -1,    -1,  1083,   432,    -1,    -1,    -1,    -1,   437,    -1,
    3246       -1,    -1,    -1,    -1,    -1,    -1,   445,    -1,    -1,    -1,
    3247     1526,    -1,    -1,    -1,    -1,    -1,    -1,  1533,    -1,    -1,
    3248       -1,    -1,    -1,    -1,    -1,    -1,    -1,   819,    -1,    -1,
    3249       -1,  1122,   471,    -1,    -1,    -1,    -1,  1128,  1129,    -1,
    3250       -1,    -1,   902,    -1,    -1,    -1,    -1,    -1,    -1,  1140,
    3251      489,    -1,   491,     0,  1145,    -1,    -1,  1148,    -1,  1150,
    3252       -1,    -1,  1153,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3253       -1,    -1,    -1,    -1,    -1,  1166,    -1,    -1,    -1,    -1,
    3254       -1,    -1,    -1,    -1,    -1,    32,    37,    38,  1179,    40,
    3255     1181,  1182,  1183,  1184,   533,    -1,    -1,    -1,    -1,    -1,
    3256       -1,    -1,    -1,    -1,    -1,    -1,  1197,    -1,  1199,    -1,
    3257       -1,    -1,  1203,    -1,    -1,    66,    -1,    -1,    -1,    -1,
    3258       67,    72,    -1,    74,    75,    76,   986,    -1,    79,    80,
    3259       81,    82,    83,    84,    -1,    86,    87,    -1,    -1,    -1,
    3260      932,  1232,  1233,    94,    -1,    -1,    -1,    -1,    -1,    -1,
    3261       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   109,   598,
    3262      111,    -1,   113,   114,    -1,    -1,    -1,   118,   119,   120,
    3263      121,   122,   123,    -1,    -1,    -1,    -1,    -1,    -1,  1039,
    3264     1040,    -1,  1042,  1043,    -1,    -1,    -1,    -1,    -1,    -1,
    3265       -1,    -1,    -1,  1284,  1285,    -1,    -1,    -1,    -1,    -1,
    3266       -1,    -1,  1062,  1294,   643,   644,   645,    -1,   155,    -1,
    3267       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  1011,
    3268       -1,    -1,    -1,   662,    -1,    -1,    -1,    -1,    -1,    -1,
    3269       -1,    -1,    -1,    -1,    -1,  1027,    -1,  1097,  1098,    -1,
    3270       -1,   680,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3271       -1,    -1,   691,    -1,    -1,  1346,    -1,    -1,   697,    -1,
    3272       -1,    -1,    -1,    -1,    -1,    -1,    -1,  1358,    -1,  1360,
    3273     1361,  1362,    37,    38,    -1,    40,    -1,    -1,    -1,    -1,
    3274       -1,  1372,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3275     1381,    -1,    -1,    -1,   733,    -1,    -1,   736,    -1,    -1,
    3276       -1,    66,  1162,   250,    -1,    -1,  1397,    72,   255,    -1,
    3277       -1,    76,  1104,    -1,    79,    80,    81,    82,    83,    84,
    3278       -1,    86,    87,    -1,    -1,    -1,    -1,    -1,     0,    94,
    3279       -1,    -1,    -1,    -1,   773,    -1,    -1,    -1,    -1,    -1,
    3280       -1,    -1,  1099,    -1,   109,  1205,   111,    -1,    -1,   114,
    3281       -1,    -1,    -1,   118,   119,   120,   121,   122,   123,    -1,
    3282       32,    -1,  1453,  1454,    -1,    -1,    -1,  1227,    -1,    -1,
    3283       -1,    -1,    -1,    -1,    -1,  1466,   815,    -1,    -1,    -1,
    3284       -1,  1241,  1473,  1243,    -1,    -1,   825,    -1,    -1,   828,
    3285       -1,    -1,    -1,    -1,   833,    67,   835,    -1,    -1,    -1,
    3286       -1,   840,    -1,   350,    -1,    -1,    -1,    -1,    -1,    -1,
    3287       -1,    -1,    -1,  1273,    -1,  1506,    -1,    -1,    -1,  1510,
    3288       -1,  1281,  1282,  1283,    -1,    -1,    -1,    -1,    -1,    -1,
    3289       -1,    -1,  1292,  1293,    -1,    -1,    -1,    -1,    -1,    -1,
    3290       -1,    -1,    -1,    -1,    -1,    -1,  1306,    -1,  1539,    -1,
    3291     1541,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3292       -1,    -1,    -1,   902,    -1,    -1,    -1,  1224,    -1,  1329,
    3293      417,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  1569,  1570,
    3294       -1,    -1,    -1,   155,    -1,   432,  1577,  1578,    -1,    -1,
    3295      437,    -1,    -1,    -1,    -1,    -1,     0,    -1,   445,     3,
    3296        4,     5,     6,     7,     8,     9,    10,    11,    12,    13,
    3297       14,    15,    16,    17,    18,    19,    20,    21,    22,    23,
    3298       24,    25,    26,    27,   471,    -1,    30,    31,    32,    33,
    3299       -1,    -1,    36,    -1,    -1,    39,    40,    -1,    -1,    -1,
    3300       -1,    -1,   489,    -1,   491,    -1,    -1,   986,    -1,    -1,
    3301       -1,    -1,    -1,    -1,    -1,    -1,    -1,  1417,    -1,    -1,
    3302       64,    -1,    -1,    67,    -1,    69,    -1,    71,    72,    -1,
    3303       74,    75,    76,    -1,    -1,    -1,    -1,    -1,   250,    83,
    3304       84,    -1,    -1,   255,    -1,    -1,   533,    -1,     7,    -1,
    3305       -1,    10,    11,    12,    13,    14,    -1,    -1,    -1,    -1,
    3306     1039,  1040,    -1,  1042,  1043,   109,  1466,   111,    -1,    -1,
    3307       -1,    -1,    -1,  1473,    -1,   119,    -1,    -1,    37,    38,
    3308       39,    40,    -1,  1062,    -1,    10,    11,    12,    13,    14,
    3309       15,    16,    17,    18,    19,    20,    21,    22,    23,    24,
    3310       25,    26,    27,    28,    -1,    -1,    -1,    66,    67,    -1,
    3311       -1,   598,    -1,    72,    39,    -1,    -1,    76,  1097,  1098,
    3312       79,    80,    81,    82,    83,    84,  1526,    86,    87,    -1,
    3313       -1,    -1,    -1,    -1,    -1,    94,    -1,    -1,   350,    -1,
    3314       -1,    -1,    67,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3315      109,    -1,   111,    78,    -1,    -1,   643,   644,   645,   118,
    3316      119,   120,   121,   122,   123,    -1,    -1,    -1,    -1,    -1,
    3317       -1,    -1,    -1,    -1,    -1,   662,    -1,    -1,    -1,    -1,
    3318       -1,    -1,    -1,  1162,    -1,    -1,    -1,    -1,    -1,    -1,
    3319       -1,    -1,    -1,   680,    -1,    -1,    -1,    -1,    -1,    -1,
    3320       -1,    -1,    -1,    -1,   691,   417,    -1,    -1,    -1,    45,
    3321      697,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3322      432,    -1,    -1,    -1,    -1,   437,  1205,    -1,    64,    -1,
    3323       -1,    -1,    -1,   445,    -1,    -1,    -1,    -1,    -1,    -1,
    3324       -1,    -1,    -1,    -1,    -1,    -1,   733,    -1,  1227,   736,
    3325       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   471,
    3326       -1,    -1,  1241,    -1,  1243,    -1,    -1,    -1,    -1,    -1,
    3327       -1,    -1,    -1,    -1,   110,    -1,    -1,   489,    -1,   491,
    3328      116,    -1,    -1,    -1,    -1,    -1,   773,    -1,    -1,    -1,
    3329       -1,    -1,    -1,    -1,  1273,    -1,    -1,    -1,    -1,    -1,
    3330       -1,    -1,  1281,  1282,  1283,    -1,    -1,    -1,    -1,   145,
    3331       -1,    -1,    -1,  1292,  1293,    -1,    -1,    -1,    -1,   155,
    3332       -1,   533,    -1,   159,    -1,    -1,    -1,  1306,   815,    -1,
    3333       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   825,    -1,
    3334       -1,   828,    -1,    -1,    -1,    -1,   833,    -1,   835,    -1,
    3335     1329,    -1,    -1,   840,    10,    11,    12,    13,    14,    15,
    3336       16,    17,    18,    19,    20,    21,    22,    23,    24,    25,
    3337       26,    27,   208,    -1,    30,    31,    32,    -1,    -1,    -1,
    3338       -1,    -1,    -1,    39,   220,    -1,   598,    -1,    -1,    -1,
     3472      20,    21,    22,    23,    24,    25,    26,    27,    -1,   269,
     3473      30,    31,    32,    -1,    -1,    -1,    -1,    -1,    -1,    39,
     3474      40,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   652,
    33393475      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3340       -1,    -1,   238,   239,    -1,    -1,    -1,    -1,    -1,    -1,
    3341       -1,    67,    -1,    -1,    -1,   902,    -1,    -1,    74,    75,
    3342       -1,    -1,    -1,    -1,    -1,    -1,   262,    -1,    -1,    -1,
    3343       -1,   643,   644,   645,   270,    -1,    -1,    -1,  1417,    -1,
    3344       -1,    -1,    -1,    -1,   281,    -1,   283,   284,    -1,    -1,
    3345      662,    -1,    -1,    -1,   291,   292,    -1,    -1,   294,   296,
    3346      297,   297,    -1,   119,    -1,    -1,    -1,    -1,   680,    -1,
    3347       -1,   308,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   691,
    3348       -1,    -1,    -1,    -1,    -1,   697,    -1,  1466,    37,    38,
    3349       -1,    40,    -1,    -1,  1473,    -1,    -1,    -1,    -1,   986,
    3350       -1,    -1,    -1,    -1,    -1,    -1,    -1,   344,   344,    -1,
    3351       -1,    -1,    -1,   349,    -1,    -1,    -1,    66,    -1,    -1,
    3352       -1,   733,    -1,    72,   736,    -1,    -1,    76,    -1,    -1,
    3353       79,    80,    81,    82,    83,    84,    -1,    86,    87,    -1,
    3354       -1,    -1,    -1,   380,    -1,    94,    -1,  1526,    -1,    -1,
    3355       -1,    -1,  1039,  1040,    -1,  1042,  1043,    -1,    -1,    -1,
    3356      109,   773,   111,    -1,    -1,    -1,    -1,    -1,   117,   118,
    3357      119,   120,   121,   122,   123,  1062,    -1,    -1,    -1,    -1,
    3358       -1,    -1,    -1,    -1,    -1,    64,    -1,    -1,    -1,   425,
    3359      426,    -1,    -1,    -1,    -1,    74,   432,    76,    -1,    78,
    3360       -1,    -1,    -1,   815,    -1,    -1,    85,    -1,    -1,    -1,
    3361     1097,  1098,    -1,   825,    -1,    -1,   828,   453,    -1,    -1,
    3362      456,   833,    -1,   835,    -1,    -1,    -1,    -1,   840,    -1,
    3363       -1,    -1,    -1,    -1,    -1,    -1,    -1,   116,    -1,   118,
     3476      -1,  1164,    -1,    -1,    -1,    -1,    -1,    67,    -1,    -1,
     3477      -1,    -1,    -1,    -1,    74,    75,    -1,    -1,    -1,    -1,
     3478      -1,    -1,    -1,    -1,   324,   688,    -1,    -1,    -1,    -1,
     3479      -1,    -1,   332,   333,    -1,   335,   336,    -1,    -1,    -1,
     3480      -1,    -1,    -1,  1206,    -1,    -1,   346,    -1,    -1,    -1,
     3481     350,    -1,   112,    -1,    -1,    -1,   116,    -1,    -1,   119,
     3482     120,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   369,
     3483      -1,    -1,   372,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3484     743,    -1,  1245,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3485     753,   754,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   399,
     3486      -1,    -1,    -1,   403,   767,    -1,    -1,    -1,    -1,    -1,
     3487      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3488      -1,   784,    -1,   786,    -1,    -1,   147,   790,    -1,    -1,
     3489      -1,  1294,  1295,    -1,   434,    -1,   157,    -1,    -1,    -1,
     3490    1303,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   169,   170,
     3491      -1,    -1,    -1,    -1,    -1,    -1,    -1,   457,    -1,    -1,
     3492      -1,    10,    11,    12,    13,    14,    15,    16,    17,    18,
     3493      19,    20,    21,    22,    23,    24,    25,    26,    27,    -1,
     3494      -1,    30,    31,    32,    -1,    -1,    -1,    -1,   488,    -1,
     3495      39,   491,    -1,   856,    -1,    -1,    -1,    -1,    -1,    -1,
     3496     863,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3497      -1,    -1,    -1,   876,    -1,   878,    -1,    -1,    67,   240,
     3498      -1,    -1,    -1,    -1,    -1,    74,    75,    -1,    -1,   892,
     3499      -1,   531,    -1,    -1,   534,   535,   899,    -1,    -1,    -1,
     3500      -1,    -1,    -1,   264,    -1,    -1,    -1,    -1,   911,    -1,
     3501      -1,   914,    -1,    -1,    -1,    -1,  1419,    -1,    -1,    -1,
     3502      -1,   110,    -1,   112,    -1,    -1,    -1,    -1,    -1,   932,
    33643503     119,   120,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3365       -1,    -1,    -1,   489,    -1,    -1,    -1,    -1,    -1,    -1,
    3366       -1,    -1,    -1,    -1,    -1,   501,    -1,    -1,    -1,    -1,
    3367       -1,    -1,    -1,    -1,    -1,  1162,    -1,   513,    -1,   515,
    3368      159,    -1,   518,    -1,   520,   521,    -1,    -1,    -1,    -1,
    3369      902,    -1,    -1,    -1,    -1,    -1,    -1,   533,    -1,    -1,
     3504     580,   581,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3505      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   599,
     3506     600,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3507     610,    -1,   612,   613,  1477,    -1,  1479,    -1,    -1,   619,
     3508      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   629,
     3509     630,    -1,    -1,    -1,    -1,   635,    -1,    -1,    -1,    -1,
     3510      -1,    -1,    -1,    -1,   644,   645,   646,    -1,    -1,    -1,
     3511      -1,  1514,    -1,  1516,    -1,    -1,    -1,    -1,  1021,    -1,
     3512     381,    -1,    -1,   663,    -1,    -1,    -1,    -1,   668,   669,
     3513      -1,    -1,   672,   673,    -1,    -1,    -1,    -1,    -1,   679,
     3514      -1,  1544,    -1,    -1,    -1,    37,    38,    -1,    40,    -1,
     3515      -1,    -1,    -1,    -1,    -1,    -1,    -1,   697,   698,   699,
     3516      -1,   701,    -1,    -1,    -1,   705,    -1,    -1,    -1,    -1,
     3517      -1,    -1,    -1,    -1,    66,  1078,    -1,    -1,    -1,    -1,
     3518      72,    -1,  1085,    -1,    76,    -1,    -1,    79,    80,    81,
     3519      82,    83,    84,    -1,    86,    87,    -1,   737,   738,    -1,
     3520      -1,    -1,    94,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3521      -1,    -1,  1115,    -1,    -1,    -1,    -1,  1120,   110,    -1,
     3522     112,    -1,   483,    -1,    -1,  1128,   118,   119,   120,   121,
     3523     122,   123,   124,   773,   774,    -1,    -1,    -1,   778,   779,
    33703524      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3371       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  1205,    -1,
    3372      557,   558,   559,   560,   561,   562,   563,   564,   565,   566,
    3373      567,   568,   569,   570,   571,   572,   573,   574,    -1,    -1,
    3374     1227,   220,    -1,   222,   223,   224,    -1,    -1,    -1,    -1,
    3375      586,    -1,    -1,    -1,  1241,    -1,  1243,    -1,    -1,    -1,
    3376       -1,    -1,   598,   600,   600,    -1,    -1,   603,    -1,    -1,
    3377       -1,    -1,    -1,    -1,   986,    -1,    -1,    -1,    -1,   258,
    3378       -1,    -1,    -1,   262,    -1,    -1,  1273,    -1,    -1,    -1,
    3379       -1,    -1,    -1,   629,  1281,  1282,  1283,    -1,   634,   278,
    3380       -1,    -1,    -1,    -1,    -1,  1292,  1293,   643,   644,   645,
    3381       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  1306,
    3382       -1,    -1,    -1,    -1,    -1,    -1,   662,  1039,  1040,    -1,
    3383     1042,  1043,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3384       -1,    -1,  1329,    -1,    -1,    -1,    -1,    -1,    -1,   328,
    3385     1062,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3386       -1,   697,   699,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3387      349,    -1,    -1,    -1,    -1,   354,   355,    44,    -1,    -1,
    3388       -1,    -1,   718,   362,   721,  1097,  1098,    -1,    -1,    -1,
    3389       -1,    -1,    -1,    -1,    -1,    -1,    -1,   734,    -1,    -1,
    3390      736,    -1,   738,    10,    11,    12,    13,    14,    15,    16,
    3391       17,    18,    19,    20,    21,    22,    23,    24,    25,    26,
    3392       27,    -1,    -1,    90,    -1,    -1,   405,    -1,    -1,    -1,
    3393     1417,    -1,    39,   100,    -1,    -1,    -1,   773,    -1,    -1,
    3394       -1,    -1,    -1,   780,   423,    -1,    -1,    -1,    -1,   428,
    3395     1162,   430,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3396       67,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   447,    -1,
    3397       -1,   450,   451,    -1,    -1,   812,    -1,    -1,    -1,  1466,
    3398       -1,    -1,    -1,    -1,    -1,    -1,  1473,   466,    -1,   156,
    3399      827,    -1,   828,  1205,    -1,    -1,   832,    -1,    -1,   835,
    3400       -1,   480,    -1,   170,    -1,    -1,    -1,    -1,   487,    -1,
    3401       -1,    -1,    -1,    -1,    -1,  1227,    -1,    -1,    -1,    -1,
    3402       -1,    -1,    -1,    -1,    -1,    -1,   193,    -1,    -1,  1241,
    3403       -1,  1243,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  1526,
    3404      207,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   216,
    3405       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   226,
    3406       -1,  1273,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  1281,
    3407     1282,  1283,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3408     1292,  1293,    -1,    -1,   251,    -1,    -1,    -1,    -1,   256,
    3409       -1,    -1,   928,    -1,  1306,    -1,    -1,    -1,    -1,    -1,
    3410       -1,    -1,   269,    -1,    -1,    -1,    -1,    -1,   275,    -1,
    3411      277,   947,    -1,    -1,    -1,    -1,    -1,  1329,    -1,    -1,
    3412       -1,    -1,    -1,    -1,   603,    -1,    -1,    -1,   295,    -1,
    3413       -1,    -1,    -1,    -1,   970,    -1,    -1,    -1,    -1,    -1,
    3414       -1,   978,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3415      986,    -1,   631,    -1,    -1,    -1,    -1,   636,    -1,    -1,
    3416       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3417       -1,   338,  1009,    -1,    -1,    -1,   343,    -1,    -1,    -1,
    3418       -1,    -1,    -1,    -1,  1021,  1021,    -1,    -1,    -1,    -1,
    3419       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3420       -1,    -1,    -1,    -1,   371,  1417,  1042,  1043,   375,   376,
    3421       -1,   378,    -1,    -1,    -1,    -1,    -1,    -1,   385,   386,
    3422       -1,   388,   389,    -1,   391,  1062,   393,    -1,    -1,    -1,
    3423       -1,    -1,     7,    -1,    -1,    10,    11,    12,    13,    14,
    3424       -1,    -1,    -1,   410,    -1,   724,    -1,    -1,    -1,    -1,
    3425       -1,   418,    -1,    -1,  1466,    -1,    -1,    -1,    -1,   738,
    3426       -1,  1473,    37,    38,    39,    40,  1102,    -1,    -1,    -1,
    3427       -1,    -1,    -1,    -1,    -1,    -1,   443,    -1,    -1,   758,
    3428       -1,    -1,    -1,    -1,    -1,    -1,    -1,   454,    -1,    -1,
    3429       -1,    66,    67,    -1,    -1,    -1,    -1,    72,  1135,    -1,
    3430       -1,    76,    -1,    -1,    79,    80,    81,    82,    83,    84,
    3431      477,    86,    87,    -1,  1526,    -1,   483,    -1,    -1,    94,
    3432       -1,   488,    -1,    -1,    -1,    -1,  1162,    -1,    -1,    -1,
    3433       -1,    -1,    -1,    -1,   109,    -1,   111,    -1,    -1,    -1,
    3434      819,    -1,  1179,   118,   119,   120,   121,   122,   123,    -1,
    3435       -1,    -1,    -1,   832,    -1,    -1,  1193,  1194,   525,    -1,
    3436       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  1204,    -1,
    3437       -1,    -1,   851,    -1,   541,    -1,    -1,    -1,    -1,    -1,
    3438       -1,     3,     4,     5,     6,     7,     8,     9,    10,    11,
    3439       12,    13,    14,    15,    16,    17,    18,    19,    20,    21,
    3440       22,    23,    24,    25,    26,    27,    -1,  1243,    30,    31,
    3441       32,   578,    -1,    -1,    -1,    -1,    -1,    39,    -1,    -1,
    3442      587,    -1,    -1,    -1,    -1,    -1,    -1,   594,    -1,    -1,
    3443       -1,    -1,   599,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3444       -1,    -1,    -1,   610,    -1,    67,    -1,    69,    -1,    71,
    3445       72,    -1,    74,    75,    76,    -1,  1292,  1293,    -1,   938,
    3446       -1,    83,    84,    -1,    -1,  1301,    -1,    -1,    -1,    -1,
    3447       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3448       -1,    -1,    -1,    -1,   651,   964,    -1,   109,    -1,   111,
    3449       -1,    -1,    -1,    -1,    -1,    -1,    -1,   119,    -1,    -1,
    3450       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3451       -1,    -1,    -1,   992,    -1,    -1,    -1,    -1,    -1,    -1,
    3452      687,    -1,    -1,    -1,    -1,    -1,    10,    11,    12,    13,
    3453       14,    15,    16,    17,    18,    19,    20,    21,    22,    23,
    3454       24,    25,    26,    27,    28,  1024,    30,    31,    32,    -1,
    3455       -1,    -1,    -1,    -1,    -1,    39,  1035,    -1,    -1,    -1,
    3456       -1,    -1,    -1,    -1,    -1,    -1,    -1,  1404,    -1,    -1,
    3457       -1,    -1,    -1,    -1,    -1,   742,    -1,    -1,    -1,    -1,
    3458       -1,  1417,    -1,    67,  1421,   752,   753,    -1,    -1,    -1,
    3459       74,    75,    -1,    -1,    78,    -1,    -1,    -1,    -1,   766,
    3460       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3461       -1,    -1,    -1,    -1,    -1,    -1,   783,    -1,   785,    -1,
    3462       -1,    -1,   789,    -1,    -1,   109,    -1,   111,    -1,    -1,
    3463       -1,    -1,    -1,    -1,    -1,   119,    -1,    -1,  1117,  1475,
    3464       -1,  1477,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3465       -1,    -1,    -1,    -1,    -1,    -1,    -1,  1494,  1495,    -1,
    3466       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3467       37,    38,    -1,    40,    -1,    -1,  1512,    -1,  1514,    -1,
    3468       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   855,    -1,
    3469       -1,    -1,    -1,    -1,    -1,   862,    -1,    -1,    -1,    66,
    3470       -1,    -1,    -1,    -1,    -1,    72,  1542,    -1,   875,    76,
    3471      877,    -1,    79,    80,    81,    82,    83,    84,    -1,    86,
    3472       87,    -1,    -1,    -1,   891,  1204,    -1,    94,    -1,    -1,
    3473       -1,   898,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3474       -1,    -1,   109,   910,   111,    -1,   913,    -1,    -1,   116,
    3475       -1,   118,   119,   120,   121,   122,   123,    -1,    -1,    -1,
    3476       -1,    -1,    -1,    -1,   931,    -1,    -1,    -1,    -1,    -1,
    3477       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3478       -1,    -1,    -1,    -1,   154,   155,    -1,    -1,    -1,    -1,
    3479       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3480       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3481       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   188,    -1,
    3482       -1,    -1,  1301,    -1,    -1,   195,    -1,     3,     4,     5,
    3483        6,     7,     8,     9,    10,    11,    12,    13,    14,    15,
    3484       16,    17,    18,    19,    20,    21,    22,    23,    24,    25,
    3485       26,    27,    -1,  1020,    30,    31,    32,    33,    -1,    -1,
    3486       36,    -1,    -1,    39,    40,    10,    11,    12,    13,    14,
    3487       15,    16,    17,    18,    19,    20,    21,    22,    23,    24,
    3488       25,    26,    27,    -1,    -1,    30,    31,    32,    64,    -1,
    3489       -1,    67,    -1,    69,    39,    71,    72,   267,    74,    75,
    3490       76,    -1,    -1,    -1,    -1,    -1,    -1,    83,    84,  1076,
    3491       -1,    -1,    -1,    -1,    -1,    -1,  1083,    -1,    -1,    -1,
    3492       -1,    -1,    67,    -1,    -1,    -1,    -1,    -1,    -1,    74,
    3493       75,    -1,    -1,   109,    -1,   111,    -1,    -1,    -1,   115,
    3494       -1,    -1,    -1,   119,    -1,   145,  1113,    -1,    -1,    -1,
    3495       -1,  1118,    -1,   323,    -1,   155,    -1,    -1,    -1,  1126,
    3496       -1,   331,   332,    -1,   334,   335,    -1,   167,   168,    -1,
    3497       -1,    -1,    -1,    -1,   344,    -1,    -1,    -1,   348,    -1,
    3498       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3499     1157,    -1,    -1,    -1,    -1,    -1,    -1,   367,    -1,    -1,
    3500      370,    -1,  1169,    -1,    -1,  1172,    -1,  1174,    -1,    -1,
    3501       37,    38,    -1,    40,    -1,    -1,    -1,    -1,    -1,    -1,
    3502       -1,  1188,  1189,    -1,    -1,    -1,    -1,   397,    -1,    -1,
    3503       -1,   401,    -1,    -1,    -1,    -1,    -1,    -1,   238,    66,
    3504       -1,    -1,    -1,  1210,    -1,    72,    -1,    -1,    -1,    76,
    3505       -1,    -1,    79,    80,    81,    82,    83,    84,    -1,    86,
    3506       87,    -1,   432,   263,    -1,    -1,    -1,    94,    -1,    -1,
    3507     1237,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  1557,    -1,
    3508       -1,    -1,   109,    -1,   111,   455,    -1,   114,    -1,    -1,
    3509       -1,   118,   119,   120,   121,   122,   123,    -1,    -1,    -1,
    3510       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3511       -1,    -1,    -1,    -1,    -1,    -1,   486,    -1,    -1,   489,
    3512       -1,    -1,    -1,    -1,     3,     4,     5,     6,     7,     8,
    3513        9,    10,    11,    12,    13,    14,    15,    16,    17,    18,
    3514       19,    20,    21,    22,    23,    24,    25,    26,    27,    28,
    3515       -1,    30,    31,    32,    33,    -1,    -1,    36,    -1,   529,
    3516       39,    -1,   532,   533,    -1,    -1,    -1,    -1,  1335,    -1,
    3517     1337,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   379,
    3518       -1,    -1,    -1,  1350,    -1,  1352,    -1,    -1,    67,    -1,
    3519       69,    -1,    71,    -1,    -1,    74,    75,    -1,    -1,    78,
    3520       -1,    -1,    -1,  1370,    -1,    -1,    -1,    -1,   578,   579,
    3521       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  1386,
    3522     1387,    -1,    -1,    -1,    -1,    -1,    -1,   597,   598,    -1,
    3523      600,  1398,   111,    -1,  1401,    -1,    -1,    -1,    -1,   609,
    3524      119,   611,   612,    -1,    -1,    -1,    -1,    -1,   618,    -1,
    3525       -1,    -1,    -1,    -1,    -1,    -1,  1423,    -1,   628,   629,
    3526       -1,    -1,    -1,    -1,   634,  1432,    -1,    -1,  1435,    -1,
    3527     1437,  1438,  1439,   643,   644,   645,    -1,    -1,    -1,    -1,
    3528       -1,   481,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3529       -1,    -1,   662,    -1,    -1,    -1,    -1,   667,   668,    -1,
    3530       -1,   671,   672,    -1,    -1,    -1,    -1,    -1,   678,    -1,
    3531       -1,    -1,  1479,    -1,  1481,    -1,    -1,  1484,    -1,    -1,
    3532      520,    -1,    -1,    -1,    -1,    -1,   696,   697,   698,    -1,
    3533      700,    -1,  1499,   533,   704,    -1,    -1,    -1,    -1,    -1,
    3534      540,    -1,    -1,   543,    -1,    -1,    -1,    -1,    -1,    -1,
    3535       -1,    -1,    -1,    -1,   554,   555,    -1,    -1,    -1,    -1,
    3536       -1,    -1,    -1,    -1,    -1,    -1,   736,   737,    -1,    -1,
    3537       -1,    -1,    -1,    -1,    -1,    -1,   576,    -1,    -1,    -1,
    3538       -1,    -1,    -1,    -1,    -1,    -1,   586,    -1,    -1,    -1,
    3539       -1,    -1,    -1,   593,    -1,    -1,    -1,    -1,   598,    -1,
    3540       -1,    -1,   772,   773,    -1,    -1,    -1,   777,   778,    -1,
    3541       -1,    -1,    -1,    -1,     3,     4,     5,     6,     7,     8,
    3542        9,    10,    11,    12,    13,    14,    15,    16,    17,    18,
    3543       19,    20,    21,    22,    23,    24,    25,    26,    27,    -1,
    3544       -1,    30,    31,    32,    33,    -1,    -1,    36,   648,   819,
    3545       39,    40,    -1,    -1,    -1,    -1,    -1,   657,   828,    -1,
    3546       -1,    -1,    -1,    -1,   834,   835,    -1,    -1,    -1,   839,
    3547       -1,   841,    -1,    -1,    -1,    64,    -1,    -1,    67,    -1,
    3548       69,   851,    71,    72,    -1,    74,    75,    76,    -1,    -1,
    3549       -1,    -1,    -1,    -1,    83,    84,    -1,   697,    -1,    -1,
    3550       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3551       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3552      109,    -1,   111,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3553      119,    -1,    -1,    -1,    -1,    10,    11,    12,    13,    14,
    3554       15,    16,    17,    18,    19,    20,    21,    22,    23,    24,
    3555       25,    26,    27,    28,   924,    30,    31,    32,    -1,    -1,
    3556       -1,    -1,   932,    -1,    39,    -1,    -1,    -1,   938,    -1,
    3557       -1,    -1,    -1,   773,    -1,   775,   946,    -1,    -1,    -1,
    3558       -1,   781,    -1,    -1,    -1,    -1,    -1,    -1,   788,   959,
    3559      960,    -1,    67,    -1,    -1,    -1,    -1,    72,    -1,    74,
    3560       75,    76,    -1,    78,    -1,    -1,    -1,    -1,    83,    84,
    3561       -1,    -1,    -1,    -1,    -1,    -1,   986,    -1,    -1,    -1,
    3562       -1,    -1,   992,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3563       -1,    -1,   832,   833,   109,   835,   111,    -1,    -1,    -1,
    3564       -1,  1011,  1012,    -1,   119,    -1,    -1,    -1,    -1,    -1,
    3565      850,  1021,    -1,    -1,    -1,    -1,    -1,  1027,  1028,    -1,
    3566     1030,  1031,  1032,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3567       -1,    -1,  1042,  1043,    -1,    -1,    -1,    -1,    -1,    -1,
    3568       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3569      890,    -1,    -1,    -1,   894,     3,     4,     5,     6,     7,
     3525      -1,    -1,    -1,    -1,    -1,    -1,  1159,    -1,    -1,    -1,
     3526      -1,   522,    -1,    -1,    -1,    -1,    -1,    -1,  1171,    -1,
     3527      -1,  1174,    -1,  1176,   535,    -1,    -1,    -1,    -1,   540,
     3528      -1,   821,   543,    -1,    -1,    -1,    -1,  1190,  1191,   829,
     3529      -1,    -1,    -1,   554,   555,   556,   836,   837,    -1,    -1,
     3530     840,    -1,   842,    -1,    -1,    -1,    -1,    -1,    -1,  1212,
     3531      -1,    -1,   852,    -1,    -1,    -1,    -1,   578,    -1,    -1,
     3532      -1,    -1,    -1,    -1,    -1,    -1,    -1,   588,    -1,    -1,
     3533      -1,    -1,    -1,    -1,   595,    -1,  1239,    -1,    -1,   600,
     3534      -1,    -1,     0,    -1,    -1,     3,     4,     5,     6,     7,
    35703535       8,     9,    10,    11,    12,    13,    14,    15,    16,    17,
    35713536      18,    19,    20,    21,    22,    23,    24,    25,    26,    27,
    35723537      -1,    -1,    30,    31,    32,    33,    -1,    -1,    36,    -1,
    3573       -1,    39,    -1,  1103,  1104,  1105,    -1,    -1,    -1,    -1,
    3574       -1,    -1,    -1,    -1,    -1,    -1,    -1,  1117,    -1,    -1,
    3575       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    67,
    3576       -1,    69,    -1,    71,    -1,    -1,    74,    75,    -1,    -1,
    3577      970,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3578       -1,    -1,    -1,    -1,    -1,    -1,   986,   987,    -1,    -1,
    3579       -1,    -1,  1162,   993,    -1,    -1,    -1,    37,    38,   999,
    3580       40,    -1,  1002,   111,  1004,    -1,    -1,    -1,    -1,    -1,
    3581       -1,   119,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3582       -1,    -1,    -1,    -1,  1024,    -1,    66,    -1,    -1,    -1,
    3583       -1,    -1,    72,    -1,    -1,  1035,    76,    -1,    -1,    79,
     3538      -1,    39,    40,    -1,    -1,   925,    -1,    -1,   649,    -1,
     3539      -1,    -1,    -1,   933,    -1,    -1,    -1,   658,    -1,   939,
     3540      -1,    -1,    -1,    -1,    -1,    -1,    64,   947,    -1,    67,
     3541      -1,    69,    -1,    71,    72,    -1,    74,    75,    76,    -1,
     3542     960,   961,    -1,    -1,    -1,    83,    84,    -1,    -1,    -1,
     3543      -1,    -1,    -1,    -1,  1337,    -1,  1339,   698,    -1,    -1,
     3544      -1,    -1,    -1,    -1,    -1,    -1,    -1,   987,    -1,  1352,
     3545      -1,  1354,   110,   993,   112,    -1,    -1,    -1,    -1,    -1,
     3546      -1,   119,   120,    -1,    -1,    -1,    -1,    -1,    -1,  1372,
     3547      -1,    -1,  1012,  1013,    -1,    -1,    -1,    -1,    -1,    -1,
     3548      -1,    -1,    -1,  1023,    -1,  1388,  1389,    -1,    -1,  1029,
     3549    1030,    -1,  1032,  1033,  1034,    -1,    -1,  1400,    -1,    -1,
     3550    1403,    -1,    -1,    -1,  1044,  1045,    -1,    -1,    -1,    -1,
     3551      -1,    -1,    -1,   774,    -1,   776,    -1,    -1,    -1,    -1,
     3552      -1,   782,  1425,    -1,    -1,    -1,    -1,    -1,   789,    -1,
     3553      -1,  1434,    -1,    -1,  1437,    -1,  1439,  1440,  1441,     4,
     3554       5,     6,     7,     8,     9,    10,    11,    12,    13,    14,
     3555      15,    16,    17,    18,    19,    20,    21,    22,    23,    24,
     3556      25,    26,    27,    -1,    -1,  1105,  1106,  1107,    -1,    -1,
     3557      -1,    -1,   833,   834,    39,    -1,   837,    -1,  1481,  1119,
     3558    1483,    -1,    -1,  1486,    -1,    -1,    -1,    -1,    -1,    -1,
     3559     851,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  1501,    -1,
     3560      -1,    -1,    67,    -1,    69,    -1,    71,    72,    -1,    74,
     3561      75,    76,    -1,    -1,    -1,    -1,    -1,    -1,    83,    84,
     3562      -1,    -1,    -1,    -1,  1164,    -1,    -1,    -1,    -1,    -1,
     3563     891,    -1,    -1,    -1,   895,    -1,    -1,    -1,    -1,    -1,
     3564       3,     4,     5,     6,     7,     8,     9,    10,    11,    12,
     3565      13,    14,    15,    16,    17,    18,    19,    20,    21,    22,
     3566      23,    24,    25,    26,    27,    -1,    -1,    30,    31,    32,
     3567      33,    -1,    -1,    36,    37,    38,    39,    40,    -1,    -1,
     3568      -1,    -1,    -1,    -1,  1224,    -1,    -1,    -1,    -1,    -1,
     3569      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3570      -1,    -1,    -1,    66,    67,  1245,    69,    -1,    71,    72,
     3571     971,    74,    75,    76,    -1,    -1,    79,    80,    81,    82,
     3572      83,    84,    -1,    86,    87,    -1,   987,   988,    -1,    -1,
     3573      -1,    94,    -1,   994,    -1,    -1,    -1,    -1,    -1,  1000,
     3574      -1,    -1,  1003,    -1,  1005,    37,    38,   110,    40,   112,
     3575      -1,    -1,    -1,    -1,  1294,  1295,   119,   120,   121,   122,
     3576     123,   124,    -1,    -1,    -1,  1026,    -1,    -1,    -1,    -1,
     3577     133,    -1,    -1,    -1,    66,    -1,  1037,    -1,    -1,    -1,
     3578      72,    -1,    -1,    -1,    76,    -1,    -1,    79,    80,    81,
     3579      82,    83,    84,    -1,    86,    87,    -1,    -1,  1059,    -1,
     3580    1061,    -1,    94,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3581      -1,    -1,    -1,    -1,    -1,  1076,  1077,    -1,   110,    -1,
     3582     112,    -1,    -1,    -1,    -1,   117,    -1,   119,   120,   121,
     3583     122,   123,   124,    -1,    -1,    -1,  1097,    -1,    -1,    -1,
     3584       3,     4,     5,     6,     7,     8,     9,    10,    11,    12,
     3585      13,    14,    15,    16,    17,    18,    19,    20,    21,    22,
     3586      23,    24,    25,    26,    27,    -1,    -1,    30,    31,    32,
     3587      33,    -1,    -1,    36,    -1,    -1,    39,    40,    -1,  1419,
     3588      -1,    -1,    -1,    -1,  1145,    -1,    -1,    -1,    37,    38,
     3589      -1,    40,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3590      -1,    64,    -1,  1164,    67,    -1,    69,    -1,    71,    72,
     3591      -1,    74,    75,    76,    -1,    -1,    -1,    66,  1179,  1180,
     3592      83,    84,    -1,    72,    -1,    -1,    -1,    76,    -1,    -1,
     3593      79,    80,    81,    82,    83,    84,    -1,    86,    87,    -1,
     3594      -1,    -1,    -1,    -1,    -1,    94,    -1,   110,    -1,   112,
     3595      -1,    -1,    -1,   116,    -1,    -1,   119,   120,    -1,    -1,
     3596      -1,   110,    -1,   112,    -1,    -1,   115,    -1,    -1,  1509,
     3597     119,   120,   121,   122,   123,   124,    -1,    -1,    -1,    -1,
     3598      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3599      -1,    -1,    -1,    -1,  1534,  1535,    -1,    -1,    -1,    -1,
     3600    1261,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3601      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  1559,
     3602      -1,    -1,     3,     4,     5,     6,     7,     8,     9,    10,
     3603      11,    12,    13,    14,    15,    16,    17,    18,    19,    20,
     3604      21,    22,    23,    24,    25,    26,    27,    -1,    -1,    30,
     3605      31,    32,    33,    -1,    -1,    36,    37,    38,    39,    40,
     3606      41,  1322,    43,  1324,    -1,    46,    47,    48,    49,    50,
     3607      51,    52,    53,    -1,    -1,    -1,    57,    -1,    -1,    -1,
     3608      61,    62,    -1,    64,    -1,    66,    67,    -1,    69,    -1,
     3609      71,    72,    -1,    74,    75,    76,    -1,    -1,    79,    80,
     3610      81,    82,    83,    84,    -1,    86,    87,    -1,    -1,    -1,
     3611      -1,    -1,    -1,    94,    -1,    -1,    -1,    -1,    -1,    -1,
     3612      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   110,
     3613      -1,   112,    -1,    -1,   115,    -1,    -1,    -1,   119,   120,
     3614     121,   122,   123,   124,    -1,    -1,    -1,    -1,   129,  1410,
     3615      -1,    -1,   133,    -1,    -1,    -1,     3,     4,     5,     6,
     3616       7,     8,     9,    10,    11,    12,    13,    14,    15,    16,
     3617      17,    18,    19,    20,    21,    22,    23,    24,    25,    26,
     3618      27,    -1,    -1,    30,    31,    32,    33,    -1,    -1,    36,
     3619      37,    38,    39,    40,    10,    11,    12,    13,    14,    15,
     3620      16,    17,    18,    19,    20,    21,    22,    23,    24,    25,
     3621      26,    27,    28,    -1,    -1,    -1,    -1,    -1,    -1,    66,
     3622      67,    -1,    69,    39,    71,    72,    -1,    74,    75,    76,
     3623      -1,  1492,    79,    80,    81,    82,    83,    84,    -1,    86,
     3624      87,    -1,    -1,    -1,    -1,    -1,    -1,    94,    -1,    -1,
     3625      -1,    67,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3626      -1,    -1,    78,   110,    -1,   112,    -1,    -1,    -1,    -1,
     3627      -1,    -1,   119,   120,   121,   122,   123,   124,    -1,    -1,
     3628      -1,    -1,    -1,  1544,     4,     5,     6,     7,     8,     9,
     3629      10,    11,    12,    13,    14,    15,    16,    17,    18,    19,
     3630      20,    21,    22,    23,    24,    25,    26,    27,    -1,    -1,
     3631      30,    31,    32,    -1,    -1,    -1,    -1,    37,    38,    39,
     3632      40,    10,    11,    12,    13,    14,    15,    16,    17,    18,
     3633      19,    20,    21,    22,    23,    24,    25,    26,    27,    28,
     3634      -1,    -1,    -1,    -1,    -1,    -1,    66,    67,    -1,    69,
     3635      39,    71,    72,    -1,    74,    75,    76,    -1,    -1,    79,
    35843636      80,    81,    82,    83,    84,    -1,    86,    87,    -1,    -1,
    3585       -1,    -1,  1222,    -1,    94,    37,    38,  1057,    40,  1059,
    3586       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   109,
    3587       -1,   111,    -1,  1243,  1074,  1075,    -1,    -1,   118,   119,
    3588      120,   121,   122,   123,    66,    -1,    -1,    -1,    -1,    -1,
    3589       72,    -1,    -1,    -1,    76,  1095,    -1,    79,    80,    81,
    3590       82,    83,    84,    -1,    86,    87,    -1,    -1,    -1,    -1,
    3591       -1,    -1,    94,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3592       -1,    -1,  1292,  1293,    -1,    -1,    -1,   109,    -1,   111,
    3593       -1,    -1,    -1,    -1,    -1,    -1,   118,   119,   120,   121,
    3594      122,   123,    -1,  1143,    -1,    -1,    -1,    -1,    -1,    -1,
    3595       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3596       -1,    -1,  1162,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3597       -1,    -1,    -1,    -1,    -1,    -1,    -1,  1177,  1178,    -1,
    3598       -1,    -1,    -1,    -1,    -1,     3,     4,     5,     6,     7,
     3637      -1,    -1,    -1,    -1,    94,    -1,    -1,    -1,    67,    -1,
     3638      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    78,
     3639     110,    -1,   112,    -1,    -1,    -1,    -1,   117,    -1,   119,
     3640     120,   121,   122,   123,   124,     4,     5,     6,     7,     8,
     3641       9,    10,    11,    12,    13,    14,    15,    16,    17,    18,
     3642      19,    20,    21,    22,    23,    24,    25,    26,    27,    -1,
     3643      -1,    30,    31,    32,    -1,    -1,    -1,    -1,    37,    38,
     3644      39,    40,    10,    11,    12,    13,    14,    15,    16,    17,
     3645      18,    19,    20,    21,    22,    23,    24,    25,    26,    27,
     3646      -1,    -1,    30,    31,    32,    -1,    -1,    66,    67,    -1,
     3647      69,    39,    71,    72,    -1,    74,    75,    76,    -1,    -1,
     3648      79,    80,    81,    82,    83,    84,    -1,    86,    87,    -1,
     3649      -1,    -1,    -1,    -1,    -1,    94,    -1,    -1,    -1,    67,
     3650      -1,    -1,    -1,    -1,    -1,    -1,    74,    75,    -1,    -1,
     3651      -1,   110,    -1,   112,    -1,    -1,    -1,    -1,   117,    -1,
     3652     119,   120,   121,   122,   123,   124,     4,     5,     6,     7,
    35993653       8,     9,    10,    11,    12,    13,    14,    15,    16,    17,
    36003654      18,    19,    20,    21,    22,    23,    24,    25,    26,    27,
    3601       -1,    -1,    30,    31,    32,    33,    -1,    -1,    36,    37,
    3602       38,    39,    40,    41,    -1,    43,    -1,    -1,    46,    47,
    3603       48,    49,    50,    51,    52,    53,    -1,    -1,    -1,    57,
    3604       -1,    -1,    -1,    61,    62,    -1,    64,  1417,    66,    67,
    3605       -1,    69,    -1,    71,    72,    -1,    74,    75,    76,  1259,
    3606       -1,    79,    80,    81,    82,    83,    84,    -1,    86,    87,
    3607       -1,    -1,    -1,    -1,    -1,    -1,    94,    -1,    -1,    -1,
    3608       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3609       -1,   109,    -1,   111,    -1,    -1,   114,    -1,    -1,    -1,
    3610      118,   119,   120,   121,   122,   123,    -1,    -1,    -1,    -1,
    3611      128,    -1,    -1,    -1,   132,    -1,    -1,    -1,    -1,    -1,
    3612     1320,    -1,  1322,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3613       -1,    -1,    -1,    -1,    -1,    -1,    -1,  1507,    10,    11,
    3614       12,    13,    14,    15,    16,    17,    18,    19,    20,    21,
    3615       22,    23,    24,    25,    26,    27,    -1,    -1,    30,    31,
    3616       32,    -1,  1532,  1533,    -1,    -1,    -1,    39,    -1,    -1,
    3617       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3618       -1,    -1,    -1,    -1,    -1,    -1,    -1,  1557,    -1,    -1,
    3619       -1,    -1,    -1,    -1,    -1,    67,    -1,    -1,    -1,    -1,
    3620       -1,    -1,    74,    75,    -1,    -1,    -1,    -1,  1408,    -1,
    3621       -1,    -1,    -1,    -1,    -1,     3,     4,     5,     6,     7,
    3622        8,     9,    10,    11,    12,    13,    14,    15,    16,    17,
    3623       18,    19,    20,    21,    22,    23,    24,    25,    26,    27,
    3624       -1,    -1,    30,    31,    32,    33,    -1,   119,    36,    37,
    3625       38,    39,    40,    10,    11,    12,    13,    14,    15,    16,
    3626       17,    18,    19,    20,    21,    22,    23,    24,    25,    26,
    3627       27,    -1,    -1,    30,    31,    32,    -1,    -1,    66,    67,
    3628       -1,    69,    39,    71,    72,    -1,    74,    75,    76,    -1,
    3629     1490,    79,    80,    81,    82,    83,    84,    -1,    86,    87,
    3630       -1,    -1,    -1,    -1,    -1,    -1,    94,    -1,    -1,    -1,
    3631       67,    -1,    -1,    -1,    -1,    72,    -1,    74,    75,    -1,
    3632       -1,   109,    -1,   111,    -1,    -1,    83,    84,    -1,    -1,
    3633      118,   119,   120,   121,   122,   123,    -1,    -1,    -1,    -1,
    3634       -1,    -1,  1542,    -1,   132,     3,     4,     5,     6,     7,
    3635        8,     9,    10,    11,    12,    13,    14,    15,    16,    17,
    3636       18,    19,    20,    21,    22,    23,    24,    25,    26,    27,
    3637       -1,    -1,    30,    31,    32,    33,    -1,    -1,    36,    37,
     3655      -1,    -1,    30,    31,    32,    -1,    -1,    -1,    -1,    37,
    36383656      38,    39,    40,    10,    11,    12,    13,    14,    15,    16,
    36393657      17,    18,    19,    20,    21,    22,    23,    24,    25,    26,
     
    36433661      -1,    -1,    -1,    -1,    -1,    -1,    94,    -1,    -1,    -1,
    36443662      67,    -1,    -1,    -1,    -1,    -1,    -1,    74,    75,    -1,
    3645       -1,   109,    -1,   111,    -1,    -1,    -1,    -1,    -1,    -1,
    3646      118,   119,   120,   121,   122,   123,     4,     5,     6,     7,
    3647        8,     9,    10,    11,    12,    13,    14,    15,    16,    17,
    3648       18,    19,    20,    21,    22,    23,    24,    25,    26,    27,
    3649       -1,    -1,    30,    31,    32,    -1,    -1,    -1,    -1,    37,
    3650       38,    39,    40,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3651       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3652       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    66,    67,
    3653       -1,    69,    -1,    71,    72,    -1,    74,    75,    76,    -1,
    3654       -1,    79,    80,    81,    82,    83,    84,    -1,    86,    87,
    3655       -1,    -1,    -1,    -1,    -1,    -1,    94,    -1,    -1,    -1,
    3656       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3657       -1,   109,    -1,   111,    -1,    -1,    -1,    -1,   116,    -1,
    3658      118,   119,   120,   121,   122,   123,     4,     5,     6,     7,
    3659        8,     9,    10,    11,    12,    13,    14,    15,    16,    17,
    3660       18,    19,    20,    21,    22,    23,    24,    25,    26,    27,
    3661       -1,    -1,    30,    31,    32,    -1,    -1,    -1,    -1,    37,
    3662       38,    39,    40,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3663       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3664       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    66,    67,
    3665       -1,    69,    -1,    71,    72,    -1,    74,    75,    76,    -1,
    3666       -1,    79,    80,    81,    82,    83,    84,    -1,    86,    87,
    3667       -1,    -1,    -1,    -1,    -1,    -1,    94,    -1,    -1,    -1,
    3668       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3669       -1,   109,    -1,   111,    -1,    -1,    -1,    -1,   116,    -1,
    3670      118,   119,   120,   121,   122,   123,     4,     5,     6,     7,
    3671        8,     9,    10,    11,    12,    13,    14,    15,    16,    17,
    3672       18,    19,    20,    21,    22,    23,    24,    25,    26,    27,
    3673       -1,    -1,    30,    31,    32,    -1,    -1,    -1,    -1,    37,
    3674       38,    39,    40,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3675       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3676       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    66,    67,
    3677       -1,    69,    -1,    71,    72,    -1,    74,    75,    76,    -1,
    3678       -1,    79,    80,    81,    82,    83,    84,    -1,    86,    87,
    3679       -1,    -1,    -1,    -1,    -1,    -1,    94,    -1,    -1,    -1,
    3680       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3681       -1,   109,    -1,   111,    -1,    -1,    -1,    -1,   116,    -1,
    3682      118,   119,   120,   121,   122,   123,     4,     5,     6,     7,
    3683        8,     9,    10,    11,    12,    13,    14,    15,    16,    17,
    3684       18,    19,    20,    21,    22,    23,    24,    25,    26,    27,
    3685       -1,    -1,    30,    31,    32,    -1,    -1,    -1,    -1,    37,
    3686       38,    39,    40,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3687       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3688       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    66,    67,
    3689       -1,    69,    -1,    71,    72,    -1,    74,    75,    76,    -1,
    3690       -1,    79,    80,    81,    82,    83,    84,    -1,    86,    87,
    3691       -1,    -1,    -1,    -1,    -1,    -1,    94,    -1,    -1,    -1,
    3692       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3693       -1,   109,    -1,   111,    -1,    -1,    -1,    -1,    -1,    -1,
    3694      118,   119,   120,   121,   122,   123,     4,     5,     6,     7,
    3695        8,     9,    10,    11,    12,    13,    14,    15,    16,    17,
    3696       18,    19,    20,    21,    22,    23,    24,    25,    26,    27,
    3697       -1,    -1,    30,    31,    32,    -1,    -1,    -1,    -1,    37,
    3698       38,    39,    40,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3699       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3700       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    66,    67,
    3701       -1,    69,    -1,    71,    72,    -1,    74,    75,    76,    -1,
    3702       -1,    79,    80,    81,    82,    83,    84,    -1,    86,    87,
    3703       -1,    -1,    -1,    -1,    -1,    -1,    94,    -1,    -1,    -1,
    3704       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3705       -1,   109,    -1,   111,    -1,    -1,    -1,    -1,    -1,    -1,
    3706      118,   119,   120,   121,   122,   123,     4,     5,     6,     7,
    3707        8,     9,    10,    11,    12,    13,    14,    15,    16,    17,
    3708       18,    19,    20,    21,    22,    23,    24,    25,    26,    27,
    3709       -1,    -1,    30,    31,    32,    -1,    -1,    -1,    -1,    37,
    3710       38,    39,    40,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3711       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3712       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    66,    67,
    3713       -1,    69,    -1,    71,    72,    -1,    74,    75,    76,    -1,
    3714       -1,    79,    80,    81,    82,    83,    84,    -1,    86,    87,
    3715       -1,    -1,    -1,    -1,    -1,    -1,    94,    -1,    -1,    -1,
    3716       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3717       -1,   109,    -1,   111,    -1,    -1,    -1,    -1,    -1,    -1,
    3718      118,   119,   120,   121,   122,   123,     4,     5,     6,     7,
    3719        8,     9,    10,    11,    12,    13,    14,    15,    16,    17,
    3720       18,    19,    20,    21,    22,    23,    24,    25,    26,    27,
    3721       -1,    -1,    30,    31,    32,    -1,    -1,    -1,    -1,    37,
    3722       38,    39,    40,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3723       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3724       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    66,    67,
    3725       -1,    69,    -1,    71,    72,    -1,    74,    75,    76,    -1,
    3726       -1,    79,    80,    81,    82,    83,    84,    -1,    86,    87,
    3727       -1,    -1,    -1,    -1,    -1,    -1,    94,    -1,    -1,    -1,
    3728       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3729       -1,   109,    -1,   111,    -1,    -1,    -1,    -1,    -1,    -1,
    3730      118,   119,   120,   121,   122,   123,     3,     4,     5,     6,
     3663      -1,    -1,   110,    -1,   112,    -1,    -1,    -1,    -1,   117,
     3664      -1,   119,   120,   121,   122,   123,   124,     4,     5,     6,
    37313665       7,     8,     9,    10,    11,    12,    13,    14,    15,    16,
    37323666      17,    18,    19,    20,    21,    22,    23,    24,    25,    26,
    37333667      27,    -1,    -1,    30,    31,    32,    -1,    -1,    -1,    -1,
    3734       -1,    -1,    39,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3668      37,    38,    39,    40,    10,    11,    12,    13,    14,    15,
     3669      16,    17,    18,    19,    20,    21,    22,    23,    24,    25,
     3670      26,    27,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    66,
     3671      67,    -1,    69,    39,    71,    72,    -1,    74,    75,    76,
     3672      -1,    -1,    79,    80,    81,    82,    83,    84,    -1,    86,
     3673      87,    -1,    -1,    -1,    -1,    -1,    -1,    94,    -1,    -1,
     3674      -1,    67,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3675      -1,    -1,    -1,   110,    -1,   112,    -1,    -1,    -1,    -1,
     3676      -1,    -1,   119,   120,   121,   122,   123,   124,     4,     5,
     3677       6,     7,     8,     9,    10,    11,    12,    13,    14,    15,
     3678      16,    17,    18,    19,    20,    21,    22,    23,    24,    25,
     3679      26,    27,    -1,    -1,    30,    31,    32,    -1,    -1,    -1,
     3680      -1,    37,    38,    39,    40,    -1,    -1,    -1,    -1,    -1,
    37353681      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    37363682      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3737       67,    -1,    69,    -1,    71,    -1,    -1,    74,    75,    -1,
    3738        4,     5,     6,     7,     8,     9,    10,    11,    12,    13,
    3739       14,    15,    16,    17,    18,    19,    20,    21,    22,    23,
    3740       24,    25,    26,    27,    -1,    -1,    30,    31,    32,    -1,
    3741       -1,    -1,    -1,    -1,   111,    39,    -1,    -1,    -1,    -1,
    3742       -1,    -1,   119,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3683      66,    67,    -1,    69,    -1,    71,    72,    -1,    74,    75,
     3684      76,    -1,    -1,    79,    80,    81,    82,    83,    84,    -1,
     3685      86,    87,    -1,    -1,    -1,    -1,    -1,    -1,    94,    -1,
    37433686      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3744       -1,    -1,    -1,    67,    -1,    69,    -1,    71,    72,    -1,
    3745       74,    75,    76,    -1,    -1,    -1,    -1,    -1,    -1,    83,
    3746       84,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3747       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3748       -1,    -1,    -1,    -1,    -1,   109,    -1,   111,    -1,    -1,
    3749       -1,    -1,    -1,    -1,    -1,   119,     4,     5,     6,     7,
    3750        8,     9,    10,    11,    12,    13,    14,    15,    16,    17,
    3751       18,    19,    20,    21,    22,    23,    24,    25,    26,    27,
    3752       -1,    -1,    30,    31,    32,    -1,    -1,    -1,    -1,    -1,
    3753       -1,    39,    -1,    -1,    -1,    -1,    10,    11,    12,    13,
    3754       14,    15,    16,    17,    18,    19,    20,    21,    22,    23,
    3755       24,    25,    26,    27,    -1,    -1,    30,    31,    32,    67,
    3756       -1,    69,    -1,    71,    -1,    39,    74,    75,    -1,     4,
     3687      -1,    -1,    -1,    -1,   110,    -1,   112,    -1,    -1,    -1,
     3688      -1,    -1,    -1,   119,   120,   121,   122,   123,   124,     4,
    37573689       5,     6,     7,     8,     9,    10,    11,    12,    13,    14,
    37583690      15,    16,    17,    18,    19,    20,    21,    22,    23,    24,
    3759       25,    26,    27,    67,    -1,    30,    31,    32,    72,    -1,
    3760       74,    75,   110,   111,    39,    -1,    -1,    -1,    -1,    83,
    3761       84,   119,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3762       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3763       -1,    -1,    67,    -1,    69,    -1,    71,   111,    -1,    74,
    3764       75,    -1,    -1,    -1,    -1,   119,    -1,    -1,    -1,    -1,
    3765       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3766       -1,    96,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3767       -1,    -1,    -1,    -1,    -1,    -1,   111,    -1,    -1,    -1,
    3768       -1,    -1,    -1,    -1,   119,     4,     5,     6,     7,     8,
    3769        9,    10,    11,    12,    13,    14,    15,    16,    17,    18,
    3770       19,    20,    21,    22,    23,    24,    25,    26,    27,    -1,
    3771       -1,    30,    31,    32,    -1,    -1,    -1,    -1,    -1,    -1,
    3772       39,    -1,    -1,    -1,    -1,    10,    11,    12,    13,    14,
    3773       15,    16,    17,    18,    19,    20,    21,    22,    23,    24,
    3774       25,    26,    27,    28,    -1,    30,    31,    32,    67,    -1,
    3775       69,    -1,    71,    -1,    39,    74,    75,    -1,    -1,    -1,
    3776       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3777       -1,    -1,    -1,    -1,    -1,    -1,    -1,    96,    -1,    -1,
    3778       -1,    -1,    67,    -1,    -1,    -1,    -1,    72,    -1,    74,
    3779       75,    76,   111,    78,    -1,    -1,    -1,    -1,    83,    84,
    3780      119,     4,     5,     6,     7,     8,     9,    10,    11,    12,
    3781       13,    14,    15,    16,    17,    18,    19,    20,    21,    22,
    3782       23,    24,    25,    26,    27,    -1,   111,    30,    31,    32,
    3783       -1,    -1,    -1,    -1,   119,    -1,    39,    -1,    -1,    -1,
     3691      25,    26,    27,    -1,    -1,    30,    31,    32,    -1,    -1,
     3692      -1,    -1,    37,    38,    39,    40,    -1,    -1,    -1,    -1,
    37843693      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    37853694      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3786       -1,    -1,    -1,    -1,    67,    -1,    69,    -1,    71,    -1,
    3787       -1,    74,    75,    -1,     4,     5,     6,     7,     8,     9,
    3788       10,    11,    12,    13,    14,    15,    16,    17,    18,    19,
    3789       20,    21,    22,    23,    24,    25,    26,    27,    -1,    -1,
    3790       30,    31,    32,    -1,    -1,    -1,    -1,    -1,   111,    39,
    3791       -1,    -1,    -1,    -1,    -1,    -1,   119,    -1,    -1,    -1,
     3695      -1,    66,    67,    -1,    69,    -1,    71,    72,    -1,    74,
     3696      75,    76,    -1,    -1,    79,    80,    81,    82,    83,    84,
     3697      -1,    86,    87,    -1,    -1,    -1,    -1,    -1,    -1,    94,
    37923698      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3793       -1,    -1,    -1,    -1,    -1,    -1,    -1,    67,    -1,    69,
    3794       -1,    71,    -1,    -1,    74,    75,    -1,     4,     5,     6,
    3795        7,     8,     9,    10,    11,    12,    13,    14,    15,    16,
    3796       17,    18,    19,    20,    21,    22,    23,    24,    25,    26,
    3797       27,    -1,    -1,    30,    31,    32,    -1,    -1,    -1,    -1,
    3798       -1,   111,    39,    -1,    -1,    -1,    -1,    -1,    -1,   119,
    3799       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3800       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3801       67,    -1,    69,    -1,    71,    -1,    -1,    74,    75,    -1,
     3699      -1,    -1,    -1,    -1,    -1,   110,    -1,   112,    -1,    -1,
     3700      -1,    -1,    -1,    -1,   119,   120,   121,   122,   123,   124,
    38023701       4,     5,     6,     7,     8,     9,    10,    11,    12,    13,
    3803       14,    15,    16,    17,    18,    19,    20,    21,    22,    23,
    3804       24,    25,    26,    27,    -1,    -1,    30,    31,    32,    -1,
    3805       -1,    -1,    -1,    -1,   111,    39,    -1,    -1,    -1,    -1,
    3806       -1,    -1,   119,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3807       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3808       -1,    -1,    -1,    67,    -1,    69,    -1,    71,    -1,    -1,
    3809       74,    75,    10,    11,    12,    13,    14,    15,    16,    17,
    3810       18,    19,    20,    21,    22,    23,    24,    25,    26,    27,
    3811       -1,    -1,    30,    31,    32,    -1,    -1,    -1,    -1,    37,
    3812       38,    39,    40,    -1,    -1,    -1,    -1,   111,    -1,    -1,
    3813       -1,    -1,    -1,    -1,    -1,   119,    -1,    -1,    -1,    -1,
    3814       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    66,    67,
    3815       -1,    -1,    -1,    -1,    72,    -1,    74,    75,    76,    -1,
    3816       -1,    79,    80,    81,    82,    83,    84,    -1,    86,    87,
    3817       -1,    -1,    -1,    -1,    -1,    -1,    94,    -1,    -1,    -1,
    3818       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3819       -1,   109,    -1,   111,    -1,    -1,   114,    -1,    -1,    -1,
    3820      118,   119,   120,   121,   122,   123,    10,    11,    12,    13,
    38213702      14,    15,    16,    17,    18,    19,    20,    21,    22,    23,
    38223703      24,    25,    26,    27,    -1,    -1,    30,    31,    32,    -1,
     
    38243705      13,    14,    15,    16,    17,    18,    19,    20,    21,    22,
    38253706      23,    24,    25,    26,    27,    -1,    -1,    30,    31,    32,
    3826       -1,    -1,    66,    67,    -1,    -1,    39,    -1,    72,    -1,
     3707      -1,    -1,    66,    67,    -1,    69,    39,    71,    72,    -1,
    38273708      74,    75,    76,    -1,    -1,    79,    80,    81,    82,    83,
    38283709      84,    -1,    86,    87,    -1,    -1,    -1,    -1,    -1,    -1,
    3829       94,    -1,    -1,    -1,    67,    -1,    -1,    -1,    -1,    72,
    3830       -1,    74,    75,    76,    -1,   109,    -1,   111,   112,    -1,
    3831       83,    84,    -1,    -1,   118,   119,   120,   121,   122,   123,
    3832       10,    11,    12,    13,    14,    15,    16,    17,    18,    19,
    3833       20,    21,    22,    23,    24,    25,    26,    27,   111,    -1,
    3834       30,    31,    32,    -1,    -1,    -1,   119,    37,    38,    39,
    3835       40,    10,    11,    12,    13,    14,    15,    16,    17,    18,
     3710      94,    -1,    -1,    -1,    67,    -1,    -1,    -1,    -1,    -1,
     3711      -1,    74,    75,    -1,    -1,    -1,   110,    -1,   112,    -1,
     3712      -1,    -1,    -1,    -1,    -1,   119,   120,   121,   122,   123,
     3713     124,     3,     4,     5,     6,     7,     8,     9,    10,    11,
     3714      12,    13,    14,    15,    16,    17,    18,    19,    20,    21,
     3715      22,    23,    24,    25,    26,    27,   119,   120,    30,    31,
     3716      32,    33,    -1,    -1,    36,    -1,    -1,    39,    40,    -1,
     3717      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3718      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3719      -1,    -1,    64,    -1,    -1,    67,    -1,    69,    -1,    71,
     3720      72,    -1,    74,    75,    76,    -1,    -1,    -1,    -1,    -1,
     3721      -1,    83,    84,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3722      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3723      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   110,    -1,
     3724     112,    -1,    -1,    -1,    -1,    -1,    -1,   119,   120,     3,
     3725       4,     5,     6,     7,     8,     9,    10,    11,    12,    13,
     3726      14,    15,    16,    17,    18,    19,    20,    21,    22,    23,
     3727      24,    25,    26,    27,    -1,    -1,    30,    31,    32,    -1,
     3728      -1,    -1,    -1,    -1,    -1,    39,    -1,    10,    11,    12,
     3729      13,    14,    15,    16,    17,    18,    19,    20,    21,    22,
     3730      23,    24,    25,    26,    27,    -1,    -1,    30,    31,    32,
     3731      33,    34,    35,    67,    -1,    69,    39,    71,    72,    -1,
     3732      74,    75,    76,    -1,    -1,    -1,    -1,    -1,    -1,    83,
     3733      84,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3734      -1,    -1,    -1,    -1,    67,    -1,    -1,    -1,    -1,    -1,
     3735      -1,    74,    75,    -1,    -1,    -1,   110,    -1,   112,    -1,
     3736      -1,    -1,    -1,    -1,    -1,   119,   120,     3,     4,     5,
     3737       6,     7,     8,     9,    10,    11,    12,    13,    14,    15,
     3738      16,    17,    18,    19,    20,    21,    22,    23,    24,    25,
     3739      26,    27,    28,    -1,    30,    31,    32,    33,    -1,    -1,
     3740      36,    -1,    -1,    39,    -1,    -1,    -1,    -1,    -1,    -1,
     3741      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3742      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3743      -1,    67,    -1,    69,    -1,    71,    -1,    -1,    74,    75,
     3744      -1,    -1,    78,    -1,     3,     4,     5,     6,     7,     8,
     3745       9,    10,    11,    12,    13,    14,    15,    16,    17,    18,
    38363746      19,    20,    21,    22,    23,    24,    25,    26,    27,    -1,
    3837       -1,    30,    31,    32,    -1,    -1,    66,    67,    -1,    -1,
    3838       39,    40,    72,    -1,    74,    75,    76,    -1,    -1,    79,
    3839       80,    81,    82,    83,    84,    -1,    86,    87,    -1,    -1,
    3840       -1,    -1,    -1,    -1,    94,    -1,    -1,    -1,    67,    -1,
    3841       -1,    -1,    -1,    -1,    -1,    74,    75,    -1,    -1,   109,
    3842      110,   111,    -1,    -1,    -1,    -1,    -1,    -1,   118,   119,
    3843      120,   121,   122,   123,    10,    11,    12,    13,    14,    15,
     3747      -1,    30,    31,    32,    33,    -1,   112,    36,    -1,    -1,
     3748      39,    -1,    -1,   119,   120,    -1,    -1,    -1,    -1,    -1,
     3749      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3750      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    67,    -1,
     3751      69,    -1,    71,    -1,    -1,    74,    75,    -1,     3,     4,
     3752       5,     6,     7,     8,     9,    10,    11,    12,    13,    14,
     3753      15,    16,    17,    18,    19,    20,    21,    22,    23,    24,
     3754      25,    26,    27,    -1,    -1,    30,    31,    32,    -1,    -1,
     3755      -1,    -1,    -1,   112,    39,    -1,    -1,    -1,    -1,    -1,
     3756     119,   120,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3757      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3758      -1,    -1,    67,    -1,    69,    -1,    71,    -1,    -1,    74,
     3759      75,     4,     5,     6,     7,     8,     9,    10,    11,    12,
     3760      13,    14,    15,    16,    17,    18,    19,    20,    21,    22,
     3761      23,    24,    25,    26,    27,    -1,    -1,    30,    31,    32,
     3762      -1,    -1,    -1,    -1,    -1,    -1,    39,   112,    -1,    -1,
     3763      -1,    -1,    -1,    -1,   119,   120,    -1,    -1,    -1,    -1,
     3764      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3765      -1,    -1,    -1,    -1,    67,    -1,    69,    -1,    71,    72,
     3766      -1,    74,    75,    76,    -1,    -1,    -1,    -1,    -1,    -1,
     3767      83,    84,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3768      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3769      -1,    -1,    -1,    -1,    -1,    -1,    -1,   110,    -1,   112,
     3770      -1,    -1,    -1,    -1,    -1,    -1,   119,   120,     4,     5,
     3771       6,     7,     8,     9,    10,    11,    12,    13,    14,    15,
    38443772      16,    17,    18,    19,    20,    21,    22,    23,    24,    25,
    3845       26,    27,   111,    -1,    30,    31,    32,    -1,    -1,    -1,
    3846      119,    37,    38,    39,    40,    -1,    -1,    -1,    -1,    -1,
    3847       -1,    -1,    10,    11,    12,    13,    14,    15,    16,    17,
    3848       18,    19,    20,    21,    22,    23,    24,    25,    26,    27,
    3849       66,    67,    30,    31,    32,    -1,    72,    -1,    74,    75,
    3850       76,    39,    -1,    79,    80,    81,    82,    83,    84,    -1,
    3851       86,    87,    -1,    -1,    -1,    -1,    -1,    -1,    94,    -1,
    3852       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    67,
    3853       -1,    -1,    -1,   109,    -1,   111,    74,    75,    -1,    -1,
    3854       -1,    -1,   118,   119,   120,   121,   122,   123,    10,    11,
     3773      26,    27,    -1,    -1,    30,    31,    32,    -1,    -1,    -1,
     3774      -1,    -1,    -1,    39,    -1,    -1,    -1,    -1,    -1,    -1,
     3775      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3776      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3777      -1,    67,    -1,    69,    -1,    71,    -1,    -1,    74,    75,
     3778      -1,    -1,     4,     5,     6,     7,     8,     9,    10,    11,
    38553779      12,    13,    14,    15,    16,    17,    18,    19,    20,    21,
    38563780      22,    23,    24,    25,    26,    27,    -1,    -1,    30,    31,
    3857       32,   109,    -1,   111,    -1,    37,    38,    39,    40,    -1,
    3858       -1,   119,    -1,    -1,    -1,    -1,    10,    11,    12,    13,
    3859       14,    15,    16,    17,    18,    19,    20,    21,    22,    23,
    3860       24,    25,    26,    27,    66,    67,    30,    31,    32,    -1,
    3861       72,    -1,    74,    75,    76,    39,    -1,    79,    80,    81,
    3862       82,    83,    84,    -1,    86,    87,    -1,    -1,    -1,    -1,
    3863       -1,    -1,    94,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3864       -1,    -1,    -1,    67,    -1,    -1,    -1,   109,    -1,   111,
    3865       74,    75,    -1,    -1,    -1,    -1,   118,   119,   120,   121,
    3866      122,   123,    10,    11,    12,    13,    14,    15,    16,    17,
     3781      32,    -1,    -1,    -1,    -1,   111,   112,    39,    -1,    -1,
     3782      -1,    -1,    -1,   119,   120,    -1,    -1,    -1,    -1,    -1,
     3783      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3784      -1,    -1,    -1,    -1,    -1,    67,    -1,    69,    -1,    71,
     3785      -1,    -1,    74,    75,    -1,    -1,    -1,    -1,    -1,    -1,
     3786      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3787      -1,    -1,    -1,    -1,    96,    -1,    -1,    -1,    -1,    -1,
     3788      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3789     112,    -1,    -1,    -1,    -1,    -1,    -1,   119,   120,     4,
     3790       5,     6,     7,     8,     9,    10,    11,    12,    13,    14,
     3791      15,    16,    17,    18,    19,    20,    21,    22,    23,    24,
     3792      25,    26,    27,    -1,    -1,    30,    31,    32,    -1,    -1,
     3793      -1,    -1,    -1,    -1,    39,    -1,    -1,    -1,    10,    11,
     3794      12,    13,    14,    15,    16,    17,    18,    19,    20,    21,
     3795      22,    23,    24,    25,    26,    27,    28,    -1,    30,    31,
     3796      32,    -1,    67,    -1,    69,    -1,    71,    39,    -1,    74,
     3797      75,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3798      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3799      -1,    96,    -1,    -1,    -1,    67,    -1,    -1,    -1,    -1,
     3800      72,    -1,    74,    75,    76,    -1,    78,   112,    -1,    -1,
     3801      -1,    83,    84,    -1,   119,   120,     4,     5,     6,     7,
     3802       8,     9,    10,    11,    12,    13,    14,    15,    16,    17,
    38673803      18,    19,    20,    21,    22,    23,    24,    25,    26,    27,
    3868       -1,    -1,    30,    31,    32,   109,    -1,   111,    -1,    37,
    3869       38,    39,    40,    -1,    -1,   119,    -1,    -1,    -1,    -1,
    3870       10,    11,    12,    13,    14,    15,    16,    17,    18,    19,
    3871       20,    21,    22,    23,    24,    25,    26,    27,    66,    67,
    3872       30,    31,    32,    -1,    72,    -1,    74,    75,    76,    39,
    3873       -1,    79,    80,    81,    82,    83,    84,    -1,    86,    87,
    3874       -1,    -1,    -1,    -1,    -1,    -1,    94,    -1,    -1,    -1,
    3875       -1,    -1,    -1,    -1,    -1,    -1,    -1,    67,    -1,    -1,
    3876       -1,   109,    -1,   111,    74,    75,    -1,    -1,    -1,    -1,
    3877      118,   119,   120,   121,   122,   123,    10,    11,    12,    13,
     3804     112,    -1,    30,    31,    32,    -1,    -1,   119,   120,    -1,
     3805      -1,    39,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3806      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3807      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    67,
     3808      -1,    69,    -1,    71,    -1,    -1,    74,    75,     4,     5,
     3809       6,     7,     8,     9,    10,    11,    12,    13,    14,    15,
     3810      16,    17,    18,    19,    20,    21,    22,    23,    24,    25,
     3811      26,    27,    -1,    -1,    30,    31,    32,    -1,    -1,    -1,
     3812      -1,    -1,    -1,    39,   112,    -1,    -1,    -1,    -1,    -1,
     3813      -1,   119,   120,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3814      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3815      -1,    67,    -1,    69,    -1,    71,    -1,    -1,    74,    75,
     3816       4,     5,     6,     7,     8,     9,    10,    11,    12,    13,
    38783817      14,    15,    16,    17,    18,    19,    20,    21,    22,    23,
    38793818      24,    25,    26,    27,    -1,    -1,    30,    31,    32,    -1,
    3880       -1,   111,    -1,    37,    38,    39,    40,    -1,    -1,   119,
    3881       -1,    -1,    -1,    -1,    10,    11,    12,    13,    14,    15,
     3819      -1,    -1,    -1,    -1,    -1,    39,   112,    -1,    -1,    -1,
     3820      -1,    -1,    -1,   119,   120,    -1,    -1,    -1,    -1,    -1,
     3821      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3822      -1,    -1,    -1,    67,    -1,    69,    -1,    71,    -1,    -1,
     3823      74,    75,     4,     5,     6,     7,     8,     9,    10,    11,
     3824      12,    13,    14,    15,    16,    17,    18,    19,    20,    21,
     3825      22,    23,    24,    25,    26,    27,    -1,    -1,    30,    31,
     3826      32,    -1,    -1,    -1,    -1,    -1,    -1,    39,   112,    -1,
     3827      -1,    -1,    -1,    -1,    -1,   119,   120,    -1,    -1,    -1,
     3828      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3829      -1,    -1,    -1,    -1,    -1,    67,    -1,    69,    -1,    71,
     3830      -1,    -1,    74,    75,    10,    11,    12,    13,    14,    15,
    38823831      16,    17,    18,    19,    20,    21,    22,    23,    24,    25,
    3883       26,    27,    66,    67,    30,    31,    32,    -1,    72,    -1,
    3884       74,    75,    76,    39,    -1,    79,    80,    81,    82,    83,
    3885       84,    -1,    86,    87,    -1,    -1,    -1,    -1,    -1,    -1,
    3886       94,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3887       -1,    67,    -1,    -1,    -1,   109,    -1,   111,    74,    75,
    3888       -1,    -1,    -1,    -1,   118,   119,   120,   121,   122,   123,
    3889        3,     4,     5,     6,     7,     8,     9,    10,    11,    12,
    3890       13,    14,    15,    16,    17,    18,    19,    20,    21,    22,
    3891       23,    24,    25,    26,    27,   111,    -1,    30,    31,    32,
    3892       -1,    -1,    -1,   119,    -1,    -1,    39,    -1,    -1,    -1,
     3832      26,    27,    -1,    -1,    30,    31,    32,    -1,    -1,    -1,
     3833      -1,    37,    38,    39,    40,    -1,    -1,    -1,    -1,    -1,
     3834     112,    -1,    -1,    -1,    -1,    -1,    -1,   119,   120,    -1,
     3835      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3836      66,    67,    -1,    -1,    -1,    -1,    72,    -1,    74,    75,
     3837      76,    -1,    -1,    79,    80,    81,    82,    83,    84,    -1,
     3838      86,    87,    -1,    -1,    -1,    -1,    -1,    -1,    94,    -1,
     3839      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3840      -1,    -1,    -1,    -1,   110,    -1,   112,    -1,    -1,   115,
     3841      -1,    -1,    -1,   119,   120,   121,   122,   123,   124,    10,
     3842      11,    12,    13,    14,    15,    16,    17,    18,    19,    20,
     3843      21,    22,    23,    24,    25,    26,    27,    -1,    -1,    30,
     3844      31,    32,    -1,    -1,    -1,    -1,    37,    38,    39,    40,
     3845      10,    11,    12,    13,    14,    15,    16,    17,    18,    19,
     3846      20,    21,    22,    23,    24,    25,    26,    27,    28,    -1,
     3847      30,    31,    32,    -1,    -1,    66,    67,    -1,    -1,    39,
     3848      -1,    72,    -1,    74,    75,    76,    -1,    -1,    79,    80,
     3849      81,    82,    83,    84,    -1,    86,    87,    -1,    -1,    -1,
     3850      -1,    -1,    -1,    94,    -1,    -1,    -1,    67,    -1,    -1,
     3851      -1,    -1,    -1,    -1,    74,    75,    -1,    -1,    78,   110,
     3852     111,   112,    -1,    -1,    -1,    -1,    -1,    -1,   119,   120,
     3853     121,   122,   123,   124,    10,    11,    12,    13,    14,    15,
     3854      16,    17,    18,    19,    20,    21,    22,    23,    24,    25,
     3855      26,    27,   112,    -1,    30,    31,    32,    -1,    -1,   119,
     3856     120,    37,    38,    39,    40,    10,    11,    12,    13,    14,
     3857      15,    16,    17,    18,    19,    20,    21,    22,    23,    24,
     3858      25,    26,    27,    -1,    -1,    30,    31,    32,    -1,    -1,
     3859      66,    67,    -1,    -1,    39,    40,    72,    -1,    74,    75,
     3860      76,    -1,    -1,    79,    80,    81,    82,    83,    84,    -1,
     3861      86,    87,    -1,    -1,    -1,    -1,    -1,    -1,    94,    -1,
     3862      -1,    -1,    67,    -1,    -1,    -1,    -1,    -1,    -1,    74,
     3863      75,    -1,    -1,    -1,   110,    -1,   112,    -1,    -1,    -1,
     3864      -1,    -1,    -1,   119,   120,   121,   122,   123,   124,    10,
     3865      11,    12,    13,    14,    15,    16,    17,    18,    19,    20,
     3866      21,    22,    23,    24,    25,    26,    27,   112,    -1,    30,
     3867      31,    32,    -1,    -1,   119,   120,    37,    38,    39,    40,
    38933868      10,    11,    12,    13,    14,    15,    16,    17,    18,    19,
    38943869      20,    21,    22,    23,    24,    25,    26,    27,    -1,    -1,
    3895       30,    31,    32,    -1,    67,    -1,    69,    -1,    71,    39,
    3896       -1,    74,    75,    -1,    -1,    -1,    -1,    -1,    10,    11,
    3897       12,    13,    14,    15,    16,    17,    18,    19,    20,    21,
    3898       22,    23,    24,    25,    26,    27,    -1,    67,    30,    31,
    3899       32,    -1,    72,    -1,    74,    75,    76,    39,    -1,    -1,
    3900       -1,   114,    -1,    83,    84,    -1,    10,    11,    12,    13,
    3901       14,    15,    16,    17,    18,    19,    20,    21,    22,    23,
    3902       24,    25,    26,    27,    -1,    67,    30,    31,    32,   109,
    3903       72,   111,    74,    75,    76,    39,    -1,    -1,    -1,   119,
    3904       -1,    83,    84,    -1,    10,    11,    12,    13,    14,    15,
     3870      30,    31,    32,    -1,    -1,    66,    67,    -1,    -1,    39,
     3871      -1,    72,    -1,    74,    75,    76,    -1,    -1,    79,    80,
     3872      81,    82,    83,    84,    -1,    86,    87,    -1,    -1,    -1,
     3873      -1,    -1,    -1,    94,    -1,    -1,    -1,    67,    -1,    -1,
     3874      -1,    -1,    -1,    -1,    74,    75,    -1,    -1,    -1,   110,
     3875      -1,   112,    -1,    -1,    -1,    -1,    -1,    -1,   119,   120,
     3876     121,   122,   123,   124,    10,    11,    12,    13,    14,    15,
    39053877      16,    17,    18,    19,    20,    21,    22,    23,    24,    25,
    3906       26,    27,    -1,    67,    30,    31,    32,   109,    72,   111,
    3907       74,    75,    76,    39,    -1,    -1,    -1,   119,    -1,    83,
    3908       84,    -1,    10,    11,    12,    13,    14,    15,    16,    17,
    3909       18,    19,    20,    21,    22,    23,    24,    25,    26,    27,
    3910       28,    67,    30,    31,    32,   109,    72,   111,    74,    75,
    3911       76,    39,    -1,    -1,    -1,   119,    -1,    83,    84,    -1,
    3912       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3913       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    67,
    3914       -1,    -1,    -1,   109,    -1,   111,    74,    75,    -1,    -1,
    3915       78,    -1,    -1,   119,    -1,    10,    11,    12,    13,    14,
     3878      26,    27,   112,    -1,    30,    31,    32,    -1,    -1,   119,
     3879     120,    37,    38,    39,    40,    10,    11,    12,    13,    14,
    39163880      15,    16,    17,    18,    19,    20,    21,    22,    23,    24,
    39173881      25,    26,    27,    -1,    -1,    30,    31,    32,    -1,    -1,
    3918       -1,   109,    -1,   111,    39,    40,    -1,    -1,    -1,    -1,
    3919       -1,   119,    -1,    10,    11,    12,    13,    14,    15,    16,
    3920       17,    18,    19,    20,    21,    22,    23,    24,    25,    26,
    3921       27,    28,    67,    30,    31,    32,    -1,    -1,    -1,    74,
    3922       75,    -1,    39,    10,    11,    12,    13,    14,    15,    16,
    3923       17,    18,    19,    20,    21,    22,    23,    24,    25,    26,
    3924       27,    -1,    -1,    30,    31,    32,    -1,    -1,    -1,    -1,
    3925       67,    -1,    39,    40,    -1,    -1,   111,    74,    75,    -1,
    3926      115,    78,    -1,    -1,   119,    -1,    -1,    -1,    -1,    -1,
     3882      66,    67,    -1,    -1,    39,    -1,    72,    -1,    74,    75,
     3883      76,    -1,    -1,    79,    80,    81,    82,    83,    84,    -1,
     3884      86,    87,    -1,    -1,    -1,    -1,    -1,    -1,    94,    -1,
     3885      -1,    -1,    67,    -1,    -1,    -1,    -1,    -1,    -1,    74,
     3886      75,    -1,    -1,    -1,   110,    -1,   112,    -1,    -1,    -1,
     3887      -1,    -1,    -1,   119,   120,   121,   122,   123,   124,    10,
     3888      11,    12,    13,    14,    15,    16,    17,    18,    19,    20,
     3889      21,    22,    23,    24,    25,    26,    27,   112,    -1,    30,
     3890      31,    32,    -1,    -1,   119,   120,    37,    38,    39,    40,
     3891      10,    11,    12,    13,    14,    15,    16,    17,    18,    19,
     3892      20,    21,    22,    23,    24,    25,    26,    27,    28,    -1,
     3893      30,    31,    32,    -1,    -1,    66,    67,    -1,    -1,    39,
     3894      -1,    72,    -1,    74,    75,    76,    -1,    -1,    79,    80,
     3895      81,    82,    83,    84,    -1,    86,    87,    -1,    -1,    -1,
     3896      -1,    -1,    -1,    94,    -1,    -1,    -1,    67,    -1,    -1,
     3897      -1,    -1,    72,    -1,    74,    75,    76,    -1,    78,   110,
     3898      -1,   112,    -1,    83,    84,    -1,    -1,    -1,   119,   120,
     3899     121,   122,   123,   124,    -1,    -1,    -1,    -1,    -1,    -1,
    39273900      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3928       67,    -1,    -1,    -1,    -1,    -1,    -1,    74,    75,    -1,
    3929       -1,    -1,    -1,    -1,   111,    -1,    -1,    -1,    -1,    -1,
    3930       -1,    -1,   119,    -1,    -1,    10,    11,    12,    13,    14,
     3901     110,    -1,   112,    -1,    -1,    -1,    -1,    -1,    -1,   119,
     3902     120,    10,    11,    12,    13,    14,    15,    16,    17,    18,
     3903      19,    20,    21,    22,    23,    24,    25,    26,    27,    -1,
     3904      -1,    30,    31,    32,    -1,    -1,    -1,    -1,    -1,    -1,
     3905      39,    10,    11,    12,    13,    14,    15,    16,    17,    18,
     3906      19,    20,    21,    22,    23,    24,    25,    26,    27,    -1,
     3907      -1,    30,    31,    32,    -1,    -1,    -1,    -1,    67,    -1,
     3908      39,    -1,    -1,    72,    -1,    74,    75,    76,    -1,    -1,
     3909      -1,    -1,    -1,    -1,    83,    84,    -1,    -1,    -1,    -1,
     3910      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    67,    -1,
     3911      -1,    -1,    -1,    72,    -1,    74,    75,    76,    -1,    -1,
     3912      -1,   110,    -1,   112,    83,    84,    -1,    -1,    -1,    -1,
     3913     119,   120,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3914      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3915      -1,   110,    -1,   112,    -1,    -1,    -1,    -1,    -1,    -1,
     3916     119,   120,    10,    11,    12,    13,    14,    15,    16,    17,
     3917      18,    19,    20,    21,    22,    23,    24,    25,    26,    27,
     3918      -1,    -1,    30,    31,    32,    -1,    -1,    -1,    -1,    -1,
     3919      -1,    39,    10,    11,    12,    13,    14,    15,    16,    17,
     3920      18,    19,    20,    21,    22,    23,    24,    25,    26,    27,
     3921      -1,    -1,    30,    31,    32,    -1,    -1,    -1,    -1,    67,
     3922      -1,    39,    40,    -1,    72,    -1,    74,    75,    76,    -1,
     3923      -1,    -1,    -1,    -1,    -1,    83,    84,    -1,    -1,    -1,
     3924      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    67,
     3925      -1,    -1,    -1,    -1,    -1,    -1,    74,    75,    -1,    -1,
     3926      -1,    -1,   110,    -1,   112,    -1,    -1,    -1,    -1,    -1,
     3927      -1,   119,   120,    -1,    -1,    10,    11,    12,    13,    14,
    39313928      15,    16,    17,    18,    19,    20,    21,    22,    23,    24,
    3932       25,    26,    27,    -1,   111,    30,    31,    32,   115,    -1,
    3933       -1,    -1,   119,    -1,    39,    40,    10,    11,    12,    13,
     3929      25,    26,    27,    -1,   112,    30,    31,    32,   116,    -1,
     3930      -1,   119,   120,    -1,    39,    40,    10,    11,    12,    13,
    39343931      14,    15,    16,    17,    18,    19,    20,    21,    22,    23,
    39353932      24,    25,    26,    27,    -1,    -1,    30,    31,    32,    -1,
    39363933      -1,    -1,    67,    -1,    -1,    39,    -1,    -1,    -1,    74,
    3937       75,    -1,    -1,    -1,    10,    11,    12,    13,    14,    15,
    3938       16,    17,    18,    19,    20,    21,    22,    23,    24,    25,
    3939       26,    27,    -1,    67,    30,    31,    32,    -1,    -1,    -1,
    3940       74,    75,    -1,    39,    -1,    -1,   111,    -1,    -1,    -1,
    3941      115,    -1,    -1,    -1,   119,    -1,    -1,    -1,    -1,    -1,
     3934      75,    -1,    -1,    -1,    -1,    10,    11,    12,    13,    14,
     3935      15,    16,    17,    18,    19,    20,    21,    22,    23,    24,
     3936      25,    26,    27,    67,    -1,    30,    31,    32,    -1,    -1,
     3937      74,    75,    -1,    -1,    39,    -1,    -1,   112,    -1,    -1,
     3938      -1,   116,    -1,    -1,   119,   120,    -1,    -1,    -1,    -1,
    39423939      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3943       -1,    67,    -1,    -1,    -1,    -1,    -1,   111,    74,    75,
    3944       -1,    -1,    -1,    -1,    -1,   119,    -1,    10,    11,    12,
     3940      -1,    -1,    67,    -1,    -1,    -1,    -1,    -1,   112,    74,
     3941      75,    -1,    -1,    -1,    -1,   119,   120,    10,    11,    12,
    39453942      13,    14,    15,    16,    17,    18,    19,    20,    21,    22,
    39463943      23,    24,    25,    26,    27,    -1,    -1,    30,    31,    32,
    3947       -1,    -1,    -1,    -1,    -1,   111,    39,    -1,    -1,    -1,
    3948       -1,    -1,    -1,   119,    -1,    10,    11,    12,    13,    14,
    3949       15,    16,    17,    18,    19,    20,    21,    22,    23,    24,
    3950       25,    26,    27,    -1,    67,    30,    31,    32,    -1,    -1,
    3951       -1,    74,    75,    -1,    39,    10,    11,    12,    13,    14,
    3952       15,    16,    17,    18,    19,    20,    21,    22,    23,    24,
    3953       25,    26,    27,    -1,    -1,    30,    31,    32,    -1,    -1,
    3954       -1,    -1,    67,    -1,    39,    -1,    -1,    -1,   111,    74,
    3955       75,    -1,    -1,    -1,    -1,    -1,   119,    -1,    -1,    -1,
     3944      -1,    -1,    -1,    -1,    -1,    -1,    39,   112,    -1,    -1,
     3945      -1,    -1,    -1,    -1,   119,   120,    10,    11,    12,    13,
     3946      14,    15,    16,    17,    18,    19,    20,    21,    22,    23,
     3947      24,    25,    26,    27,    67,    -1,    30,    31,    32,    -1,
     3948      -1,    74,    75,    -1,    -1,    39,    10,    11,    12,    13,
     3949      14,    15,    16,    17,    18,    19,    20,    21,    22,    23,
     3950      24,    25,    26,    27,    -1,    -1,    30,    31,    32,    -1,
     3951      -1,    -1,    -1,    67,    -1,    39,    -1,    -1,    -1,   112,
     3952      74,    75,    -1,    -1,    -1,    -1,   119,   120,    -1,    -1,
    39563953      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3957       -1,    -1,    67,    -1,    -1,    -1,    -1,    -1,    -1,    74,
    3958       75,    -1,    -1,    -1,    -1,    -1,   111,    -1,    -1,    -1,
    3959       -1,    -1,    -1,    -1,   119,    -1,    -1,    10,    11,    12,
    3960       13,    14,    15,    16,    17,    18,    19,    20,    21,    22,
    3961       23,    24,    25,    26,    27,    -1,   111,    30,    31,    32,
    3962       -1,    -1,    -1,    -1,   119,    -1,    39,    10,    11,    12,
    3963       13,    14,    15,    16,    17,    18,    19,    20,    21,    22,
    3964       23,    24,    25,    26,    27,    -1,    -1,    30,    31,    32,
    3965       -1,    -1,    -1,    -1,    67,    -1,    39,    -1,    -1,    -1,
    3966       -1,    74,    75,    -1,    -1,    10,    11,    12,    13,    14,
    3967       15,    16,    17,    18,    19,    20,    21,    22,    23,    24,
    3968       25,    26,    27,    -1,    67,    30,    31,    32,    -1,    -1,
    3969       -1,    74,    75,    -1,    39,    -1,    -1,    -1,   111,    -1,
    3970       -1,    -1,    -1,    -1,    -1,    -1,   119,    -1,    -1,    -1,
     3954      -1,    -1,    -1,    67,    -1,    -1,    -1,    -1,    -1,    -1,
     3955      74,    75,    -1,    -1,    -1,    -1,    -1,    -1,   112,    -1,
     3956      -1,    -1,    -1,    -1,    -1,   119,   120,    -1,    -1,    -1,
    39713957      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3972       -1,    -1,    67,    -1,    -1,    -1,    -1,    -1,   111,    74,
    3973       75,    -1,    -1,    -1,    -1,    -1,   119,     4,     5,     6,
     3958      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   112,    -1,
     3959      -1,    -1,    -1,    -1,    -1,   119,   120,     4,     5,     6,
    39743960       7,     8,     9,    10,    11,    12,    13,    14,    15,    16,
    39753961      17,    18,    19,    20,    21,    22,    23,    24,    25,    26,
    3976       27,    -1,    -1,    30,    31,    32,   111,    -1,    -1,    -1,
    3977       -1,    -1,    39,    -1,   119,    -1,    -1,    -1,    -1,    -1,
     3962      27,    -1,    -1,    30,    31,    32,    -1,    -1,    -1,    -1,
     3963      -1,    -1,    39,    -1,    37,    38,    -1,    40,    41,    -1,
     3964      43,    -1,    -1,    46,    47,    48,    49,    50,    51,    52,
     3965      53,    -1,    -1,    56,    57,    -1,    -1,    -1,    61,    62,
     3966      67,    64,    69,    66,    71,    -1,    -1,    74,    75,    72,
     3967      -1,    -1,    -1,    76,    -1,    -1,    79,    80,    81,    82,
     3968      83,    84,    -1,    86,    87,    -1,    -1,    -1,    -1,    -1,
     3969      -1,    94,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3970      -1,    -1,    -1,    -1,   111,    -1,    -1,   110,    -1,   112,
     3971      -1,    -1,   115,    -1,    -1,    -1,   119,   120,   121,   122,
     3972     123,   124,    -1,    -1,    -1,    -1,   129,    -1,    37,    38,
     3973     133,    40,    41,    -1,    43,    -1,    -1,    46,    47,    48,
     3974      49,    50,    51,    52,    53,    -1,    -1,    -1,    57,    -1,
     3975      -1,    -1,    61,    62,    -1,    64,    -1,    66,    -1,    -1,
     3976      -1,    -1,    -1,    72,    -1,    -1,    -1,    76,    -1,    -1,
     3977      79,    80,    81,    82,    83,    84,    -1,    86,    87,    -1,
     3978      -1,    -1,    -1,    -1,    -1,    94,    -1,    -1,    -1,    -1,
    39783979      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     3980      -1,   110,    -1,   112,    -1,    -1,   115,    -1,    -1,    -1,
     3981     119,   120,   121,   122,   123,   124,    -1,    -1,    -1,    -1,
     3982     129,    -1,    37,    38,   133,    40,    41,    -1,    43,    44,
     3983      45,    46,    47,    48,    49,    50,    51,    52,    53,    -1,
     3984      -1,    56,    57,    -1,    -1,    -1,    61,    62,    -1,    64,
     3985      -1,    66,    -1,    -1,    -1,    -1,    -1,    72,    -1,    -1,
     3986      -1,    76,    -1,    -1,    79,    80,    81,    82,    83,    84,
     3987      -1,    86,    87,    -1,    -1,    -1,    -1,    -1,    -1,    94,
    39793988      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3980       67,    -1,    69,    -1,    71,    -1,    -1,    74,    75,    37,
    3981       38,    -1,    40,    41,    -1,    43,    -1,    -1,    46,    47,
    3982       48,    49,    50,    51,    52,    53,    -1,    -1,    56,    57,
    3983       -1,    -1,    -1,    61,    62,    -1,    64,    -1,    66,    -1,
    3984       -1,    -1,    -1,   110,    72,    -1,    -1,    -1,    76,    -1,
    3985       -1,    79,    80,    81,    82,    83,    84,    -1,    86,    87,
    3986       -1,    -1,    -1,    -1,    -1,    -1,    94,    -1,    -1,    -1,
     3989      -1,    -1,    -1,    -1,    -1,   110,    -1,   112,    -1,    -1,
     3990     115,    -1,    -1,    -1,   119,   120,   121,   122,   123,   124,
     3991      -1,    -1,    37,    38,   129,    40,    41,    -1,    43,    44,
     3992      45,    46,    47,    48,    49,    50,    51,    52,    53,    -1,
     3993      -1,    -1,    57,    -1,    -1,    -1,    61,    62,    -1,    64,
     3994      -1,    66,    -1,    -1,    -1,    -1,    -1,    72,    -1,    -1,
     3995      -1,    76,    -1,    -1,    79,    80,    81,    82,    83,    84,
     3996      -1,    86,    87,    -1,    -1,    -1,    -1,    -1,    -1,    94,
    39873997      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3988       -1,   109,    -1,   111,    -1,    -1,   114,    -1,    -1,    -1,
    3989      118,   119,   120,   121,   122,   123,    -1,    -1,    -1,    -1,
    3990      128,    -1,    37,    38,   132,    40,    41,    -1,    43,    -1,
     3998      -1,    -1,    -1,    -1,    -1,   110,    -1,   112,    -1,    -1,
     3999     115,    -1,    -1,    -1,   119,   120,   121,   122,   123,   124,
     4000      -1,    -1,    37,    38,   129,    40,    41,    -1,    43,    -1,
    39914001      -1,    46,    47,    48,    49,    50,    51,    52,    53,    -1,
    39924002      -1,    -1,    57,    -1,    -1,    -1,    61,    62,    -1,    64,
     
    39954005      -1,    86,    87,    -1,    -1,    -1,    -1,    -1,    -1,    94,
    39964006      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3997       -1,    -1,    -1,    -1,   109,    -1,   111,    -1,    -1,   114,
    3998       -1,    -1,    -1,   118,   119,   120,   121,   122,   123,    -1,
    3999       -1,    -1,    -1,   128,    -1,    -1,    -1,   132,     4,     5,
    4000        6,     7,     8,     9,    10,    11,    12,    13,    14,    15,
    4001       16,    17,    18,    19,    20,    21,    22,    23,    24,    25,
    4002       26,    27,    -1,    -1,    30,    31,    32,    -1,    -1,    -1,
    4003       -1,    -1,    -1,    39,    -1,    37,    38,    -1,    40,    41,
    4004       -1,    43,    44,    45,    46,    47,    48,    49,    50,    51,
    4005       52,    53,    -1,    -1,    56,    57,    -1,    -1,    -1,    61,
    4006       62,    67,    64,    69,    66,    71,    -1,    -1,    74,    75,
    4007       72,    -1,    -1,    -1,    76,    -1,    -1,    79,    80,    81,
    4008       82,    83,    84,    -1,    86,    87,    -1,    -1,    -1,    -1,
    4009       96,    -1,    94,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    4010       -1,    -1,    -1,    -1,    -1,    -1,    -1,   109,    -1,   111,
    4011       -1,    -1,   114,    -1,    -1,    -1,   118,   119,   120,   121,
    4012      122,   123,    -1,    -1,    37,    38,   128,    40,    41,    -1,
    4013       43,    44,    45,    46,    47,    48,    49,    50,    51,    52,
    4014       53,    -1,    -1,    -1,    57,    -1,    -1,    -1,    61,    62,
    4015       -1,    64,    -1,    66,    -1,    -1,    -1,    -1,    -1,    72,
    4016       -1,    -1,    -1,    76,    -1,    -1,    79,    80,    81,    82,
    4017       83,    84,    -1,    86,    87,    -1,    -1,    -1,    -1,    -1,
    4018       -1,    94,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    4019       -1,    -1,    -1,    -1,    -1,    -1,   109,    -1,   111,    -1,
    4020       -1,   114,    -1,    -1,    -1,   118,   119,   120,   121,   122,
    4021      123,    -1,    -1,    37,    38,   128,    40,    41,    -1,    43,
    4022       -1,    -1,    46,    47,    48,    49,    50,    51,    52,    53,
    4023       -1,    -1,    -1,    57,    -1,    -1,    -1,    61,    62,    -1,
    4024       64,    -1,    66,    -1,    -1,    -1,    -1,    -1,    72,    -1,
    4025       -1,    -1,    76,    -1,    -1,    79,    80,    81,    82,    83,
    4026       84,    -1,    86,    87,    -1,    -1,    -1,    -1,    -1,    -1,
    4027       94,    37,    38,    -1,    40,    -1,    -1,    -1,    -1,    -1,
    4028       -1,    -1,    -1,    -1,    -1,   109,    -1,   111,    -1,    -1,
    4029      114,    -1,    -1,    -1,   118,   119,   120,   121,   122,   123,
    4030       66,    -1,    -1,    -1,   128,    -1,    72,    -1,    -1,    -1,
     4007      -1,    -1,    -1,    -1,    -1,   110,    -1,   112,    -1,    -1,
     4008     115,    -1,    -1,    -1,   119,   120,   121,   122,   123,   124,
     4009      -1,    -1,    -1,    -1,   129,     4,     5,     6,     7,     8,
     4010       9,    10,    11,    12,    13,    14,    15,    16,    17,    18,
     4011      19,    20,    21,    22,    23,    24,    25,    26,    27,    -1,
     4012      -1,    30,    31,    32,    -1,    -1,    -1,    -1,    -1,    -1,
     4013      39,    -1,    37,    38,    -1,    40,    -1,    -1,    -1,    -1,
     4014      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     4015      -1,    37,    38,    -1,    40,    -1,    -1,    -1,    67,    -1,
     4016      69,    66,    71,    -1,    -1,    74,    75,    72,    -1,    -1,
     4017      -1,    76,    -1,    -1,    79,    80,    81,    82,    83,    84,
     4018      66,    86,    87,    -1,    -1,    -1,    72,    96,    -1,    94,
    40314019      76,    -1,    -1,    79,    80,    81,    82,    83,    84,    -1,
    4032       86,    87,    -1,    -1,    -1,    -1,    -1,    -1,    94,    37,
    4033       38,    -1,    40,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    4034       -1,    -1,    -1,   109,    -1,   111,    -1,    -1,    37,    38,
    4035       -1,    40,   118,   119,   120,   121,   122,   123,    66,    -1,
    4036       -1,    -1,    -1,    -1,    72,    -1,    -1,    -1,    76,    -1,
    4037       -1,    79,    80,    81,    82,    83,    84,    66,    86,    87,
    4038       -1,    -1,    -1,    72,    -1,    -1,    94,    76,    -1,    -1,
    4039       79,    80,    81,    82,    83,    84,    -1,    86,    87,    -1,
    4040       -1,   109,    -1,   111,    -1,    94,    37,    38,    -1,    40,
    4041      118,   119,   120,   121,   122,   123,    -1,    -1,    -1,    -1,
    4042      109,    -1,    -1,    -1,    -1,    37,    38,    -1,    40,   118,
    4043      119,   120,   121,   122,   123,    66,    -1,    -1,    -1,    -1,
     4020      86,    87,    -1,    -1,    -1,   110,    -1,   112,    94,    -1,
     4021      37,    38,    -1,    40,   119,   120,   121,   122,   123,   124,
     4022      -1,    -1,    -1,    -1,   110,    -1,   112,    -1,    -1,    37,
     4023      38,    -1,    40,   119,   120,   121,   122,   123,   124,    66,
     4024      -1,    -1,    -1,    -1,    -1,    72,    -1,    -1,    -1,    76,
     4025      -1,    -1,    79,    80,    81,    82,    83,    84,    66,    86,
     4026      87,    -1,    -1,    -1,    72,    -1,    -1,    94,    76,    -1,
     4027      -1,    79,    80,    81,    82,    83,    84,    -1,    86,    87,
     4028      -1,    -1,    -1,   110,    -1,   112,    94,    -1,    37,    38,
     4029      -1,    40,   119,   120,   121,   122,   123,   124,    -1,    -1,
     4030      -1,    -1,   110,    -1,   112,    -1,    -1,    37,    38,    -1,
     4031      40,   119,   120,   121,   122,   123,   124,    66,    -1,    -1,
     4032      -1,    -1,    -1,    72,    -1,    -1,    -1,    76,    -1,    -1,
     4033      79,    80,    81,    82,    83,    84,    66,    86,    87,    -1,
     4034      -1,    -1,    72,    -1,    -1,    94,    76,    -1,    -1,    79,
     4035      80,    81,    82,    83,    84,    -1,    86,    87,    -1,    -1,
     4036      -1,   110,    -1,    -1,    94,    -1,    37,    38,    -1,    40,
     4037     119,   120,   121,   122,   123,   124,    -1,    -1,    -1,    -1,
     4038     110,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   119,
     4039     120,   121,   122,   123,   124,    66,    -1,    -1,    -1,    -1,
    40444040      -1,    72,    -1,    -1,    -1,    76,    -1,    -1,    79,    80,
    4045       81,    82,    83,    84,    66,    86,    87,    -1,    -1,    -1,
    4046       72,    -1,    -1,    94,    76,    -1,    -1,    79,    80,    81,
    4047       82,    83,    84,    -1,    86,    87,    -1,    -1,   109,    -1,
    4048       -1,    -1,    94,    37,    38,    -1,    40,   118,   119,   120,
    4049      121,   122,   123,    -1,    -1,    -1,    -1,   109,    -1,    -1,
    4050       -1,    -1,    -1,    -1,    -1,    -1,   118,   119,   120,   121,
    4051      122,   123,    66,    -1,    -1,    -1,    -1,    -1,    72,    -1,
    4052       -1,    -1,    76,    -1,    -1,    79,    80,    81,    82,    83,
    4053       84,    -1,    86,    87,    -1,    -1,    -1,    -1,    -1,    -1,
    4054       94,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    4055       -1,    -1,    -1,    -1,    -1,   109,    -1,    -1,    -1,    -1,
    4056       -1,    -1,    -1,    -1,   118,   119,   120,   121,   122,   123,
    4057        4,     5,     6,     7,     8,     9,    10,    11,    12,    13,
    4058       14,    15,    16,    17,    18,    19,    20,    21,    22,    23,
    4059       24,    25,    26,    27,    -1,    -1,    -1,    -1,    -1,    -1,
    4060       -1,    -1,    -1,    -1,    -1,    39,    -1,    -1,    -1,    -1,
    4061       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    4062       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    4063       -1,    -1,    -1,    67,    -1,    69,    -1,    71,    72,    -1,
    4064       74,    75,    76,    -1,    -1,    -1,    -1,    -1,    -1,    83,
    4065       84,     3,     4,     5,     6,     7,     8,     9,    10,    11,
    4066       12,    13,    14,    15,    16,    17,    18,    19,    20,    21,
    4067       22,    23,    24,    25,    26,    27,    -1,    -1,    30,    31,
    4068       32,    -1,    -1,    -1,    -1,    -1,    -1,    39,    -1,    -1,
    4069       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    4070       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    4071       -1,    -1,    -1,    -1,    -1,    67,    -1,    69,    -1,    71,
    4072       -1,    -1,    74,    75,     3,     4,     5,     6,     7,     8,
     4041      81,    82,    83,    84,    -1,    86,    87,    -1,    -1,    -1,
     4042      -1,    -1,    -1,    94,    -1,    -1,    -1,    -1,    -1,    -1,
     4043      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   110,
     4044      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   119,   120,
     4045     121,   122,   123,   124,     3,     4,     5,     6,     7,     8,
    40734046       9,    10,    11,    12,    13,    14,    15,    16,    17,    18,
    40744047      19,    20,    21,    22,    23,    24,    25,    26,    27,    -1,
     
    40774050      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    40784051      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    67,    -1,
    4079       69,    -1,    71,    -1,    -1,    74,    75,     4,     5,     6,
    4080        7,     8,     9,    10,    11,    12,    13,    14,    15,    16,
    4081       17,    18,    19,    20,    21,    22,    23,    24,    25,    26,
    4082       27,    -1,    -1,    30,    31,    32,    -1,    -1,    -1,    -1,
    4083       -1,    -1,    39,    -1,    10,    11,    12,    13,    14,    15,
     4052      69,    -1,    71,    -1,    -1,    74,    75,     3,     4,     5,
     4053       6,     7,     8,     9,    10,    11,    12,    13,    14,    15,
    40844054      16,    17,    18,    19,    20,    21,    22,    23,    24,    25,
    4085       26,    27,    -1,    -1,    30,    31,    32,    33,    34,    35,
    4086       67,    -1,    69,    39,    71,    -1,    -1,    74,    75,    -1,
     4055      26,    27,    -1,    -1,    30,    31,    32,    -1,    -1,    -1,
     4056      -1,    -1,    -1,    39,    -1,    -1,    -1,    -1,    -1,    -1,
    40874057      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    40884058      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    4089       -1,    67,    -1,    -1,    -1,    -1,    -1,    -1,    74,    75
     4059      -1,    67,    -1,    69,    -1,    71,    -1,    -1,    74,    75,
     4060       4,     5,     6,     7,     8,     9,    10,    11,    12,    13,
     4061      14,    15,    16,    17,    18,    19,    20,    21,    22,    23,
     4062      24,    25,    26,    27,    -1,    -1,    30,    31,    32,    -1,
     4063      -1,    -1,    -1,    -1,    -1,    39,    -1,    -1,    -1,    -1,
     4064      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     4065      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     4066      -1,    -1,    -1,    67,    -1,    69,    -1,    71,    -1,    -1,
     4067      74,    75
    40904068};
    40914069
     
    40984076      22,    23,    24,    25,    26,    27,    30,    31,    32,    33,
    40994077      36,    39,    40,    64,    67,    69,    71,    72,    74,    75,
    4100       76,    83,    84,   109,   111,   119,   137,   140,   197,   211,
    4101      212,   213,   214,   215,   216,   217,   218,   219,   220,   221,
    4102      222,   223,   224,   225,   226,   227,   228,   230,   231,   232,
    4103      233,   234,   235,   236,   237,   239,   240,   241,   242,   243,
    4104      244,   246,   254,   255,   282,   283,   284,   292,   295,   301,
    4105      302,   304,   306,   307,   313,   318,   322,   323,   324,   325,
    4106      326,   327,   328,   329,   349,   366,   367,   368,   369,    72,
    4107      119,   139,   140,   214,   216,   224,   226,   236,   240,   242,
    4108      283,    82,   109,   311,   312,   313,   311,   311,    72,    74,
    4109       75,    76,   138,   139,   272,   273,   293,   294,    74,    75,
    4110      273,   109,   304,    11,   198,   109,   119,   318,   323,   324,
    4111      325,   327,   328,   329,   112,   134,   111,   217,   224,   226,
    4112      322,   326,   365,   366,   369,   370,   135,   107,   131,   276,
    4113      114,   135,   172,    74,    75,   137,   271,   135,   135,   135,
    4114      116,   135,    74,    75,   109,   119,   308,   317,   318,   319,
    4115      320,   321,   322,   326,   330,   331,   332,   333,   334,   340,
    4116        3,    28,    78,   238,     3,     5,    74,   111,   119,   216,
    4117      227,   231,   234,   243,   284,   322,   326,   369,   214,   216,
    4118      226,   236,   240,   242,   283,   322,   326,    33,   232,   232,
    4119      227,   234,   135,   232,   227,   232,   227,    75,   109,   114,
    4120      273,   284,   114,   273,   232,   227,   116,   135,   135,     0,
    4121      134,   109,   172,   311,   311,   134,   111,   224,   226,   367,
    4122      271,   271,   226,   131,   109,   119,   308,   318,   322,   111,
    4123      119,   369,   305,   229,   313,   109,   289,   109,   109,    51,
    4124      109,    37,    38,    40,    66,    72,    76,    79,    80,    81,
    4125       82,    86,    87,    94,   109,   111,   118,   119,   120,   121,
    4126      122,   123,   136,   140,   141,   142,   143,   148,   149,   150,
    4127      151,   152,   153,   154,   155,   156,   157,   158,   159,   160,
    4128      161,   163,   165,   224,   275,   291,   365,   370,   226,   110,
    4129      110,   110,   110,   110,   110,   110,    74,    75,   111,   224,
    4130      271,   349,   367,   111,   119,   163,   216,   217,   223,   226,
    4131      230,   231,   236,   239,   240,   242,   261,   262,   266,   267,
    4132      268,   269,   283,   349,   361,   362,   363,   364,   369,   370,
    4133      112,   109,   322,   326,   369,   109,   116,   132,   111,   114,
    4134      119,   163,   277,   277,   115,   134,   116,   132,   109,   116,
    4135      132,   116,   132,   116,   132,   311,   132,   318,   319,   320,
    4136      321,   331,   332,   333,   334,   226,   317,   330,    64,   310,
    4137      111,   311,   348,   349,   311,   311,   172,   134,   109,   311,
    4138      348,   311,   311,   226,   308,   109,   109,   225,   226,   224,
    4139      226,   112,   134,   224,   365,   370,   172,   134,   271,   276,
    4140      216,   231,   322,   326,   172,   134,   293,   226,   236,   132,
    4141      226,   226,   291,    40,   111,   224,   247,   248,   249,   250,
    4142      365,   369,   245,   257,   273,   256,   226,   293,   132,   132,
    4143      304,   134,   139,   270,     3,   135,   206,   207,   221,   223,
    4144      226,   134,   310,   109,   310,   163,   318,   226,   109,   134,
    4145      271,   114,    33,    34,    35,   224,   285,   286,   288,   134,
    4146      129,   131,   290,   134,   227,   233,   234,   271,   314,   315,
    4147      316,   109,   141,   109,   148,   109,   148,   150,   109,   148,
    4148      109,   109,   148,   148,   139,   111,   163,   168,   172,   224,
    4149      274,   365,   112,   134,   150,   150,    82,    85,    86,    87,
    4150      109,   111,   113,   114,    97,    98,    99,   100,   101,   102,
    4151      103,   104,   105,   106,   131,   167,   150,   119,   124,   125,
    4152      121,   122,    88,    89,    90,    91,   126,   127,    92,    93,
    4153      120,   128,   129,    94,    95,   130,   131,   372,   109,   119,
    4154      344,   345,   346,   347,   348,   110,   116,   109,   348,   349,
    4155      109,   348,   349,   134,   109,   224,   367,   112,   134,   111,
    4156      119,   135,   224,   226,   360,   361,   369,   370,   135,   109,
    4157      111,   119,   318,   335,   336,   337,   338,   339,   340,   341,
    4158      342,   343,   349,   350,   351,   352,   353,   354,   355,   119,
    4159      369,   226,   135,   135,   119,   224,   226,   362,   271,   224,
    4160      349,   362,   271,   109,   134,   134,   134,   112,   134,    72,
    4161       80,   111,   113,   140,   273,   277,   278,   279,   280,   281,
    4162      134,   134,   134,   134,   134,   134,   308,   110,   110,   110,
    4163      110,   110,   110,   110,   317,   330,   109,   276,   112,   206,
    4164      134,   308,   168,   275,   168,   275,   308,   111,   206,   310,
    4165      172,   134,   206,   110,   249,   250,   112,   134,   109,   117,
    4166      119,   251,   253,   317,   318,   330,   348,   356,   357,   358,
    4167      359,   115,   248,   116,   132,   116,   132,   273,   114,   116,
    4168      371,   131,   258,   114,   226,   263,   264,   265,   268,   269,
    4169      110,   116,   172,   134,   119,   163,   134,   223,   226,   262,
    4170      361,   369,   302,   303,   109,   119,   335,   110,   116,   372,
    4171      273,   285,   109,   114,   273,   275,   285,   110,   116,   109,
    4172      141,   110,   117,   274,   274,   274,   111,   139,   145,   163,
    4173      275,   274,   112,   134,   110,   116,   110,   109,   119,   356,
    4174      110,   116,   163,   111,   139,   111,   144,   145,   134,   111,
    4175      139,   144,   163,   163,   150,   150,   150,   151,   151,   152,
    4176      152,   153,   153,   153,   153,   154,   154,   155,   156,   157,
    4177      158,   159,   117,   168,   163,   134,   345,   346,   347,   226,
    4178      344,   311,   311,   163,   275,   134,   270,   119,   134,   224,
    4179      349,   362,   226,   230,   112,   134,   112,   369,   112,   109,
    4180      134,   318,   336,   337,   338,   341,   351,   352,   353,   112,
    4181      134,   226,   335,   339,   350,   109,   311,   354,   372,   311,
    4182      311,   372,   109,   311,   354,   311,   311,   311,   311,   349,
    4183      224,   360,   370,   271,   112,   116,   112,   116,   372,   224,
    4184      362,   372,   259,   260,   261,   262,   259,   259,   271,   163,
    4185      134,   111,   273,   117,   116,   371,   277,    80,   111,   117,
    4186      281,    29,   208,   209,   271,   259,   139,   308,   139,   310,
    4187      109,   348,   349,   109,   348,   349,   141,   349,   172,   263,
    4188      110,   110,   110,   110,   112,   172,   206,   172,   114,   132,
    4189      132,   111,   318,   357,   358,   359,   161,   162,   226,   356,
    4190      252,   253,   252,   311,   311,   273,   311,   247,   273,   115,
    4191      162,   257,   135,   135,   139,   221,   135,   135,   259,   109,
    4192      119,   369,   135,   115,   226,   286,   287,   135,   134,   134,
    4193      109,   135,   110,   315,   168,   169,   117,   132,   111,   141,
    4194      199,   200,   201,   110,   116,   110,   134,   117,   110,   110,
    4195      110,   163,   226,   114,   150,   165,   163,   164,   166,   116,
    4196      135,   134,   134,   110,   116,   163,   134,   115,   161,   117,
    4197      263,   110,   110,   110,   344,   263,   110,   259,   224,   362,
    4198      111,   119,   163,   163,   226,   341,   263,   110,   110,   110,
    4199      110,   110,   110,   110,     7,   226,   335,   339,   350,   134,
    4200      134,   372,   134,   134,   110,   135,   135,   135,   135,   276,
    4201      135,   161,   162,   163,   309,   134,   277,   279,   115,   134,
    4202      210,   273,    40,    41,    43,    46,    47,    48,    49,    50,
    4203       51,    52,    53,    57,    61,    62,   111,   128,   139,   169,
    4204      170,   171,   172,   173,   174,   176,   177,   189,   191,   192,
    4205      197,   211,   307,    29,   135,   131,   276,   134,   134,   110,
    4206      135,   172,   247,   112,   110,   110,   110,   356,   251,   115,
    4207      258,   371,   110,   116,   112,   112,   135,   226,   116,   372,
    4208      289,   110,   285,   214,   216,   224,   297,   298,   299,   300,
    4209      291,   110,   110,   117,   162,   109,   110,   117,   116,   139,
    4210      163,   163,   278,   116,   135,   166,   112,   139,   146,   147,
    4211      163,   145,   135,   146,   161,   165,   135,   109,   348,   349,
    4212      135,   135,   134,   135,   135,   135,   163,   110,   135,   109,
    4213      348,   349,   109,   354,   109,   354,   349,   225,     7,   119,
    4214      135,   163,   263,   263,   262,   266,   266,   267,   116,   116,
    4215      110,   110,   112,    96,   123,   135,   135,   146,   277,   163,
    4216      116,   132,   211,   215,   226,   230,   109,   109,   170,   109,
    4217      109,   132,   139,   132,   139,   119,   139,   169,   109,   172,
    4218      164,   164,   112,   143,   117,   132,   135,   134,   135,   210,
    4219      110,   163,   263,   263,   311,   110,   115,   109,   348,   349,
    4220      115,   134,   110,   134,   135,   308,   115,   134,   135,   135,
    4221      110,   114,   199,   112,   162,   132,   199,   201,   110,   116,
    4222      135,   371,   164,   112,   135,    85,   113,   116,   135,   135,
    4223      112,   135,   110,   134,   110,   110,   112,   112,   112,   135,
    4224      110,   134,   134,   134,   163,   163,   135,   112,   135,   135,
    4225      135,   135,   134,   134,   162,   162,   112,   112,   135,   135,
    4226      273,   226,   168,   168,    47,   168,   134,   132,   132,   168,
    4227      132,   132,   168,    58,    59,    60,   193,   194,   195,   132,
    4228       63,   132,   114,   311,   174,   115,   132,   135,   135,   134,
    4229       96,   268,   269,   110,   298,   116,   132,   116,   132,   115,
    4230      296,   117,   141,   110,   110,   117,   166,   112,   115,   112,
    4231      111,   147,   111,   147,   147,   112,   112,   112,   263,   112,
    4232      263,   263,   263,   135,   135,   112,   112,   110,   110,   112,
    4233      116,    96,   262,    96,   135,   112,   112,   110,   110,   109,
    4234      110,   169,   190,   211,   132,   110,   109,   109,   172,   195,
    4235       58,    59,   163,   144,   170,   110,   110,   263,   114,   134,
    4236      134,   297,   141,   202,   109,   132,   202,   135,   117,   134,
    4237      134,   135,   135,   135,   135,   112,   112,   134,   135,   112,
    4238      170,    44,    45,   114,   180,   181,   182,   168,   170,   135,
    4239      110,   169,   114,   182,    96,   134,    96,   134,   109,   109,
    4240      132,   115,   135,   134,   271,   308,   115,   116,   117,   162,
    4241      110,   112,   163,   146,   146,   110,   110,   110,   110,   266,
    4242       42,   162,   178,   179,   309,   117,   134,   170,   180,   110,
    4243      132,   170,   132,   134,   110,   134,   110,   134,    96,   134,
    4244       96,   134,   132,   110,   297,   141,   139,   203,   110,   132,
    4245      117,   135,   135,   170,    96,   116,   117,   135,   204,   205,
    4246      211,   132,   169,   169,   204,   172,   196,   224,   365,   172,
    4247      196,   110,   134,   110,   134,   115,   110,   116,   163,   112,
    4248      112,   162,   178,   181,   183,   184,   134,   132,   181,   185,
    4249      186,   135,   109,   119,   308,   356,   139,   135,   172,   196,
    4250      172,   196,   109,   132,   139,   170,   175,   115,   181,   211,
    4251      169,    56,   175,   188,   115,   181,   110,   226,   110,   135,
    4252      135,   291,   170,   175,   132,   187,   188,   175,   188,   172,
    4253      172,   110,   110,   110,   187,   135,   135,   172,   172,   135,
    4254      135
     4078      76,    83,    84,   110,   112,   119,   120,   138,   141,   150,
     4079     199,   213,   214,   215,   216,   217,   218,   219,   220,   221,
     4080     222,   223,   224,   225,   226,   227,   228,   229,   230,   232,
     4081     233,   234,   235,   236,   237,   238,   239,   241,   242,   243,
     4082     244,   245,   246,   248,   256,   257,   284,   285,   286,   294,
     4083     297,   303,   304,   306,   308,   309,   315,   320,   324,   325,
     4084     326,   327,   328,   329,   330,   331,   351,   368,   369,   370,
     4085     371,    72,   140,   141,   150,   216,   218,   226,   228,   238,
     4086     242,   244,   285,    82,   110,   313,   314,   315,   313,   313,
     4087      72,    74,    75,    76,   139,   140,   274,   275,   295,   296,
     4088      74,    75,   275,   110,   306,    11,   200,   110,   150,   320,
     4089     325,   326,   327,   329,   330,   331,   113,   135,   112,   219,
     4090     226,   228,   324,   328,   367,   368,   371,   372,   136,   107,
     4091     132,   278,   115,   136,   174,    74,    75,   138,   273,   136,
     4092     136,   136,   117,   136,    74,    75,   110,   150,   310,   319,
     4093     320,   321,   322,   323,   324,   328,   332,   333,   334,   335,
     4094     336,   342,     3,    28,    78,   240,     3,     5,    74,   112,
     4095     150,   218,   229,   233,   236,   245,   286,   324,   328,   371,
     4096     216,   218,   228,   238,   242,   244,   285,   324,   328,    33,
     4097     234,   234,   229,   236,   136,   234,   229,   234,   229,    75,
     4098     110,   115,   275,   286,   115,   275,   234,   229,   117,   136,
     4099     136,     0,   135,   110,   174,   313,   313,   135,   112,   226,
     4100     228,   369,   273,   273,   132,   228,   110,   150,   310,   320,
     4101     324,   112,   150,   371,   307,   231,   315,   110,   291,   110,
     4102     110,    51,   110,    37,    38,    40,    66,    72,    76,    79,
     4103      80,    81,    82,    86,    87,    94,   110,   112,   121,   122,
     4104     123,   124,   137,   141,   142,   143,   144,   149,   150,   151,
     4105     152,   153,   154,   155,   156,   157,   158,   159,   160,   161,
     4106     162,   163,   165,   167,   226,   277,   293,   367,   372,   228,
     4107     111,   111,   111,   111,   111,   111,   111,    74,    75,   112,
     4108     226,   273,   351,   369,   112,   119,   150,   165,   218,   219,
     4109     225,   228,   232,   233,   238,   241,   242,   244,   263,   264,
     4110     268,   269,   270,   271,   285,   351,   363,   364,   365,   366,
     4111     371,   372,   113,   110,   324,   328,   371,   110,   117,   133,
     4112     112,   115,   150,   165,   279,   279,   116,   135,   117,   133,
     4113     110,   117,   133,   117,   133,   117,   133,   313,   133,   320,
     4114     321,   322,   323,   333,   334,   335,   336,   228,   319,   332,
     4115      64,   312,   112,   313,   350,   351,   313,   313,   174,   135,
     4116     110,   313,   350,   313,   313,   228,   310,   110,   110,   227,
     4117     228,   226,   228,   113,   135,   226,   367,   372,   174,   135,
     4118     273,   278,   218,   233,   324,   328,   174,   135,   295,   228,
     4119     238,   133,   228,   228,   293,    40,   112,   226,   249,   250,
     4120     251,   252,   367,   371,   247,   259,   275,   258,   228,   295,
     4121     133,   133,   306,   135,   140,   272,     3,   136,   208,   209,
     4122     223,   225,   228,   135,   312,   110,   312,   165,   320,   228,
     4123     110,   135,   273,   115,    33,    34,    35,   226,   287,   288,
     4124     290,   135,   130,   132,   292,   135,   229,   235,   236,   273,
     4125     316,   317,   318,   110,   142,   110,   149,   110,   149,   152,
     4126     110,   149,   110,   110,   149,   149,   140,   112,   165,   170,
     4127     174,   226,   276,   367,   113,   135,    82,    85,    86,    87,
     4128     110,   112,   114,   115,    97,    98,    99,   100,   101,   102,
     4129     103,   104,   105,   106,   108,   132,   169,   152,   152,   119,
     4130     125,   126,   121,   122,    88,    89,    90,    91,   127,   128,
     4131      92,    93,   120,   129,   130,    94,    95,   131,   132,   374,
     4132     110,   150,   346,   347,   348,   349,   350,   111,   117,   110,
     4133     350,   351,   110,   350,   351,   135,   110,   226,   369,   113,
     4134     135,   136,   112,   226,   228,   362,   363,   371,   372,   136,
     4135     110,   112,   150,   320,   337,   338,   339,   340,   341,   342,
     4136     343,   344,   345,   351,   352,   353,   354,   355,   356,   357,
     4137     150,   371,   228,   136,   136,   150,   226,   228,   364,   273,
     4138     226,   351,   364,   273,   110,   135,   135,   135,   113,   135,
     4139      72,    80,   112,   114,   141,   275,   279,   280,   281,   282,
     4140     283,   135,   135,   135,   135,   135,   135,   310,   111,   111,
     4141     111,   111,   111,   111,   111,   319,   332,   110,   278,   113,
     4142     208,   135,   310,   170,   277,   170,   277,   310,   112,   208,
     4143     312,   174,   135,   208,   111,   251,   252,   113,   135,   110,
     4144     118,   150,   253,   255,   319,   320,   332,   350,   358,   359,
     4145     360,   361,   116,   250,   117,   133,   117,   133,   275,   115,
     4146     117,   373,   132,   260,   115,   228,   265,   266,   267,   270,
     4147     271,   111,   117,   174,   135,   119,   165,   135,   225,   228,
     4148     264,   363,   371,   304,   305,   110,   150,   337,   111,   117,
     4149     374,   275,   287,   110,   115,   275,   277,   287,   111,   117,
     4150     110,   142,   111,   118,   276,   276,   276,   112,   140,   146,
     4151     165,   277,   276,   113,   135,   111,   117,   111,   110,   150,
     4152     358,   111,   117,   165,   112,   140,   112,   145,   146,   135,
     4153     112,   140,   145,   165,   165,   165,   152,   152,   152,   153,
     4154     153,   154,   154,   155,   155,   155,   155,   156,   156,   157,
     4155     158,   159,   160,   161,   118,   170,   165,   135,   347,   348,
     4156     349,   228,   346,   313,   313,   165,   277,   135,   272,   135,
     4157     226,   351,   364,   228,   232,   113,   113,   135,   371,   113,
     4158     110,   135,   320,   338,   339,   340,   343,   353,   354,   355,
     4159     113,   135,   228,   337,   341,   352,   110,   313,   356,   374,
     4160     313,   313,   374,   110,   313,   356,   313,   313,   313,   313,
     4161     351,   226,   362,   372,   273,   113,   117,   113,   117,   374,
     4162     226,   364,   374,   261,   262,   263,   264,   261,   261,   273,
     4163     165,   135,   112,   275,   118,   117,   373,   279,    80,   112,
     4164     118,   283,    29,   210,   211,   273,   261,   140,   310,   140,
     4165     312,   110,   350,   351,   110,   350,   351,   142,   351,   174,
     4166     265,   111,   111,   111,   111,   113,   174,   208,   174,   115,
     4167     133,   133,   112,   320,   359,   360,   361,   163,   164,   228,
     4168     358,   254,   255,   254,   313,   313,   275,   313,   249,   275,
     4169     116,   164,   259,   136,   136,   140,   223,   136,   136,   261,
     4170     110,   150,   371,   136,   116,   228,   288,   289,   136,   135,
     4171     135,   110,   136,   111,   317,   170,   171,   118,   133,   112,
     4172     142,   201,   202,   203,   111,   117,   111,   135,   118,   111,
     4173     111,   111,   165,   228,   115,   152,   167,   165,   166,   168,
     4174     117,   136,   135,   135,   111,   117,   165,   135,   116,   163,
     4175     118,   265,   111,   111,   111,   346,   265,   111,   261,   226,
     4176     364,   112,   119,   150,   165,   165,   228,   343,   265,   111,
     4177     111,   111,   111,   111,   111,   111,     7,   228,   337,   341,
     4178     352,   135,   135,   374,   135,   135,   111,   136,   136,   136,
     4179     136,   278,   136,   163,   164,   165,   311,   135,   279,   281,
     4180     116,   135,   212,   275,    40,    41,    43,    46,    47,    48,
     4181      49,    50,    51,    52,    53,    57,    61,    62,   112,   129,
     4182     140,   171,   172,   173,   174,   175,   176,   178,   179,   191,
     4183     193,   194,   199,   213,   309,    29,   136,   132,   278,   135,
     4184     135,   111,   136,   174,   249,   113,   111,   111,   111,   358,
     4185     253,   116,   260,   373,   111,   117,   113,   113,   136,   228,
     4186     117,   374,   291,   111,   287,   216,   218,   226,   299,   300,
     4187     301,   302,   293,   111,   111,   118,   164,   110,   111,   118,
     4188     117,   140,   165,   165,   280,   117,   136,   168,   113,   140,
     4189     147,   148,   165,   146,   136,   147,   163,   167,   136,   110,
     4190     350,   351,   136,   136,   135,   136,   136,   136,   165,   111,
     4191     136,   110,   350,   351,   110,   356,   110,   356,   351,   227,
     4192       7,   119,   136,   165,   265,   265,   264,   268,   268,   269,
     4193     117,   117,   111,   111,   113,    96,   124,   136,   136,   147,
     4194     279,   165,   117,   133,   213,   217,   228,   232,   110,   110,
     4195     172,   110,   110,   133,   140,   133,   140,   119,   140,   171,
     4196     110,   174,   166,   166,   113,   144,   118,   133,   136,   135,
     4197     136,   212,   111,   165,   265,   265,   313,   111,   116,   110,
     4198     350,   351,   116,   135,   111,   135,   136,   310,   116,   135,
     4199     136,   136,   111,   115,   201,   113,   164,   133,   201,   203,
     4200     111,   117,   136,   373,   166,   113,   136,    85,   114,   117,
     4201     136,   136,   113,   136,   111,   135,   111,   111,   113,   113,
     4202     113,   136,   111,   135,   135,   135,   165,   165,   136,   113,
     4203     136,   136,   136,   136,   135,   135,   164,   164,   113,   113,
     4204     136,   136,   275,   228,   170,   170,    47,   170,   135,   133,
     4205     133,   170,   133,   133,   170,    58,    59,    60,   195,   196,
     4206     197,   133,    63,   133,   115,   313,   176,   116,   133,   136,
     4207     136,   135,    96,   270,   271,   111,   300,   117,   133,   117,
     4208     133,   116,   298,   118,   142,   111,   111,   118,   168,   113,
     4209     116,   113,   112,   148,   112,   148,   148,   113,   113,   113,
     4210     265,   113,   265,   265,   265,   136,   136,   113,   113,   111,
     4211     111,   113,   117,    96,   264,    96,   136,   113,   113,   111,
     4212     111,   110,   111,   171,   192,   213,   133,   111,   110,   110,
     4213     174,   197,    58,    59,   165,   145,   172,   111,   111,   265,
     4214     115,   135,   135,   299,   142,   204,   110,   133,   204,   136,
     4215     118,   135,   135,   136,   136,   136,   136,   113,   113,   135,
     4216     136,   113,   172,    44,    45,   115,   182,   183,   184,   170,
     4217     172,   136,   111,   171,   115,   184,    96,   135,    96,   135,
     4218     110,   110,   133,   116,   136,   135,   273,   310,   116,   117,
     4219     118,   164,   111,   113,   165,   147,   147,   111,   111,   111,
     4220     111,   268,    42,   164,   180,   181,   311,   118,   135,   172,
     4221     182,   111,   133,   172,   133,   135,   111,   135,   111,   135,
     4222      96,   135,    96,   135,   133,   111,   299,   142,   140,   205,
     4223     111,   133,   118,   136,   136,   172,    96,   117,   118,   136,
     4224     206,   207,   213,   133,   171,   171,   206,   174,   198,   226,
     4225     367,   174,   198,   111,   135,   111,   135,   116,   111,   117,
     4226     165,   113,   113,   164,   180,   183,   185,   186,   135,   133,
     4227     183,   187,   188,   136,   110,   150,   310,   358,   140,   136,
     4228     174,   198,   174,   198,   110,   133,   140,   172,   177,   116,
     4229     183,   213,   171,    56,   177,   190,   116,   183,   111,   228,
     4230     111,   136,   136,   293,   172,   177,   133,   189,   190,   177,
     4231     190,   174,   174,   111,   111,   111,   189,   136,   136,   174,
     4232     174,   136,   136
    42554233};
    42564234
     
    53215299/* Line 1806 of yacc.c  */
    53225300#line 432 "parser.yy"
     5301    { (yyval.en) = (yyvsp[(2) - (2)].en); }
     5302    break;
     5303
     5304  case 51:
     5305
     5306/* Line 1806 of yacc.c  */
     5307#line 434 "parser.yy"
     5308    { (yyval.en) = new CompositeExprNode( (yyvsp[(1) - (2)].en), (yyvsp[(2) - (2)].en) ); }
     5309    break;
     5310
     5311  case 52:
     5312
     5313/* Line 1806 of yacc.c  */
     5314#line 439 "parser.yy"
     5315    { (yyval.en) = new CompositeExprNode( (yyvsp[(1) - (2)].en), (yyvsp[(2) - (2)].en) ); }
     5316    break;
     5317
     5318  case 53:
     5319
     5320/* Line 1806 of yacc.c  */
     5321#line 441 "parser.yy"
    53235322    { (yyval.en) = new CompositeExprNode( new OperatorNode( OperatorNode::Incr ), (yyvsp[(2) - (2)].en) ); }
    53245323    break;
    53255324
    5326   case 51:
    5327 
    5328 /* Line 1806 of yacc.c  */
    5329 #line 434 "parser.yy"
     5325  case 54:
     5326
     5327/* Line 1806 of yacc.c  */
     5328#line 443 "parser.yy"
    53305329    { (yyval.en) = new CompositeExprNode( new OperatorNode( OperatorNode::Decr ), (yyvsp[(2) - (2)].en) ); }
    53315330    break;
    53325331
    5333   case 52:
    5334 
    5335 /* Line 1806 of yacc.c  */
    5336 #line 436 "parser.yy"
    5337     { (yyval.en) = (yyvsp[(2) - (2)].en); }
    5338     break;
    5339 
    5340   case 53:
    5341 
    5342 /* Line 1806 of yacc.c  */
    5343 #line 438 "parser.yy"
    5344     { (yyval.en) = new CompositeExprNode( (yyvsp[(1) - (2)].en), (yyvsp[(2) - (2)].en) ); }
    5345     break;
    5346 
    5347   case 54:
    5348 
    5349 /* Line 1806 of yacc.c  */
    5350 #line 440 "parser.yy"
    5351     { (yyval.en) = new CompositeExprNode( new OperatorNode( OperatorNode::Neg ), (yyvsp[(2) - (2)].en) ); }
    5352     break;
    5353 
    53545332  case 55:
    53555333
    53565334/* Line 1806 of yacc.c  */
    5357 #line 442 "parser.yy"
    5358     { (yyval.en) = new CompositeExprNode( new OperatorNode( OperatorNode::PointTo ), (yyvsp[(2) - (2)].en) ); }
     5335#line 445 "parser.yy"
     5336    { (yyval.en) = new CompositeExprNode( new OperatorNode( OperatorNode::SizeOf ), (yyvsp[(2) - (2)].en) ); }
    53595337    break;
    53605338
     
    53625340
    53635341/* Line 1806 of yacc.c  */
    5364 #line 448 "parser.yy"
    5365     { (yyval.en) = new CompositeExprNode( new OperatorNode( OperatorNode::SizeOf ), (yyvsp[(2) - (2)].en) ); }
     5342#line 447 "parser.yy"
     5343    { (yyval.en) = new CompositeExprNode( new OperatorNode( OperatorNode::SizeOf ), new TypeValueNode( (yyvsp[(3) - (4)].decl) )); }
    53665344    break;
    53675345
     
    53695347
    53705348/* Line 1806 of yacc.c  */
    5371 #line 450 "parser.yy"
    5372     { (yyval.en) = new CompositeExprNode( new OperatorNode( OperatorNode::SizeOf ), new TypeValueNode( (yyvsp[(3) - (4)].decl) )); }
     5349#line 449 "parser.yy"
     5350    { (yyval.en) = new CompositeExprNode( new OperatorNode( OperatorNode::OffsetOf ), new TypeValueNode( (yyvsp[(3) - (6)].decl) ), new VarRefNode( (yyvsp[(5) - (6)].tok) )); }
    53735351    break;
    53745352
     
    53765354
    53775355/* Line 1806 of yacc.c  */
    5378 #line 452 "parser.yy"
    5379     { (yyval.en) = new CompositeExprNode( new OperatorNode( OperatorNode::OffsetOf ), new TypeValueNode( (yyvsp[(3) - (6)].decl) ), new VarRefNode( (yyvsp[(5) - (6)].tok) )); }
     5356#line 451 "parser.yy"
     5357    { (yyval.en) = new CompositeExprNode( new OperatorNode( OperatorNode::Attr ), new VarRefNode( (yyvsp[(1) - (1)].tok) )); }
    53805358    break;
    53815359
     
    53835361
    53845362/* Line 1806 of yacc.c  */
    5385 #line 454 "parser.yy"
    5386     { (yyval.en) = new CompositeExprNode( new OperatorNode( OperatorNode::Attr ), new VarRefNode( (yyvsp[(1) - (1)].tok) )); }
     5363#line 453 "parser.yy"
     5364    { (yyval.en) = new CompositeExprNode( new OperatorNode( OperatorNode::Attr ), new VarRefNode( (yyvsp[(1) - (4)].tok) ), new TypeValueNode( (yyvsp[(3) - (4)].decl) )); }
    53875365    break;
    53885366
     
    53905368
    53915369/* Line 1806 of yacc.c  */
    5392 #line 456 "parser.yy"
    5393     { (yyval.en) = new CompositeExprNode( new OperatorNode( OperatorNode::Attr ), new VarRefNode( (yyvsp[(1) - (4)].tok) ), new TypeValueNode( (yyvsp[(3) - (4)].decl) )); }
     5370#line 455 "parser.yy"
     5371    { (yyval.en) = new CompositeExprNode( new OperatorNode( OperatorNode::Attr ), new VarRefNode( (yyvsp[(1) - (4)].tok) ), (yyvsp[(3) - (4)].en) ); }
    53945372    break;
    53955373
     
    53975375
    53985376/* Line 1806 of yacc.c  */
    5399 #line 458 "parser.yy"
    5400     { (yyval.en) = new CompositeExprNode( new OperatorNode( OperatorNode::Attr ), new VarRefNode( (yyvsp[(1) - (4)].tok) ), (yyvsp[(3) - (4)].en) ); }
     5377#line 457 "parser.yy"
     5378    { (yyval.en) = new CompositeExprNode( new OperatorNode( OperatorNode::AlignOf ), (yyvsp[(2) - (2)].en) ); }
    54015379    break;
    54025380
     
    54045382
    54055383/* Line 1806 of yacc.c  */
    5406 #line 460 "parser.yy"
    5407     { (yyval.en) = new CompositeExprNode( new OperatorNode( OperatorNode::AlignOf ), (yyvsp[(2) - (2)].en) ); }
     5384#line 459 "parser.yy"
     5385    { (yyval.en) = new CompositeExprNode( new OperatorNode( OperatorNode::AlignOf ), new TypeValueNode( (yyvsp[(3) - (4)].decl) ) ); }
    54085386    break;
    54095387
     
    54115389
    54125390/* Line 1806 of yacc.c  */
    5413 #line 462 "parser.yy"
    5414     { (yyval.en) = new CompositeExprNode( new OperatorNode( OperatorNode::AlignOf ), new TypeValueNode( (yyvsp[(3) - (4)].decl) ) ); }
     5391#line 461 "parser.yy"
     5392    { (yyval.en) = new CompositeExprNode( new OperatorNode( OperatorNode::LabelAddress ), new VarRefNode( (yyvsp[(2) - (2)].tok), true ) ); }
    54155393    break;
    54165394
     
    54185396
    54195397/* Line 1806 of yacc.c  */
    5420 #line 464 "parser.yy"
    5421     { (yyval.en) = new CompositeExprNode( new OperatorNode( OperatorNode::LabelAddress ), new VarRefNode( (yyvsp[(2) - (2)].tok), true ) ); }
     5398#line 465 "parser.yy"
     5399    { (yyval.en) = new OperatorNode( OperatorNode::PointTo ); }
    54225400    break;
    54235401
     
    54255403
    54265404/* Line 1806 of yacc.c  */
    5427 #line 468 "parser.yy"
     5405#line 466 "parser.yy"
    54285406    { (yyval.en) = new OperatorNode( OperatorNode::AddressOf ); }
    54295407    break;
     
    54325410
    54335411/* Line 1806 of yacc.c  */
    5434 #line 469 "parser.yy"
     5412#line 470 "parser.yy"
    54355413    { (yyval.en) = new OperatorNode( OperatorNode::UnPlus ); }
    54365414    break;
     
    54395417
    54405418/* Line 1806 of yacc.c  */
    5441 #line 470 "parser.yy"
     5419#line 471 "parser.yy"
    54425420    { (yyval.en) = new OperatorNode( OperatorNode::UnMinus ); }
    54435421    break;
     
    54465424
    54475425/* Line 1806 of yacc.c  */
    5448 #line 471 "parser.yy"
     5426#line 472 "parser.yy"
     5427    { (yyval.en) = new OperatorNode( OperatorNode::Neg ); }
     5428    break;
     5429
     5430  case 69:
     5431
     5432/* Line 1806 of yacc.c  */
     5433#line 473 "parser.yy"
    54495434    { (yyval.en) = new OperatorNode( OperatorNode::BitNeg ); }
    5450     break;
    5451 
    5452   case 70:
    5453 
    5454 /* Line 1806 of yacc.c  */
    5455 #line 477 "parser.yy"
    5456     { (yyval.en) = new CompositeExprNode( new OperatorNode( OperatorNode::Cast ), new TypeValueNode( (yyvsp[(2) - (4)].decl) ), (yyvsp[(4) - (4)].en) ); }
    54575435    break;
    54585436
     
    54645442    break;
    54655443
    5466   case 73:
    5467 
    5468 /* Line 1806 of yacc.c  */
    5469 #line 485 "parser.yy"
     5444  case 72:
     5445
     5446/* Line 1806 of yacc.c  */
     5447#line 481 "parser.yy"
     5448    { (yyval.en) = new CompositeExprNode( new OperatorNode( OperatorNode::Cast ), new TypeValueNode( (yyvsp[(2) - (4)].decl) ), (yyvsp[(4) - (4)].en) ); }
     5449    break;
     5450
     5451  case 74:
     5452
     5453/* Line 1806 of yacc.c  */
     5454#line 487 "parser.yy"
    54705455    { (yyval.en) = new CompositeExprNode( new OperatorNode( OperatorNode::Mul ), (yyvsp[(1) - (3)].en), (yyvsp[(3) - (3)].en) ); }
    54715456    break;
    54725457
    5473   case 74:
    5474 
    5475 /* Line 1806 of yacc.c  */
    5476 #line 487 "parser.yy"
     5458  case 75:
     5459
     5460/* Line 1806 of yacc.c  */
     5461#line 489 "parser.yy"
    54775462    { (yyval.en) = new CompositeExprNode( new OperatorNode( OperatorNode::Div ), (yyvsp[(1) - (3)].en), (yyvsp[(3) - (3)].en) ); }
    54785463    break;
    54795464
    5480   case 75:
    5481 
    5482 /* Line 1806 of yacc.c  */
    5483 #line 489 "parser.yy"
     5465  case 76:
     5466
     5467/* Line 1806 of yacc.c  */
     5468#line 491 "parser.yy"
    54845469    { (yyval.en) = new CompositeExprNode( new OperatorNode( OperatorNode::Mod ), (yyvsp[(1) - (3)].en), (yyvsp[(3) - (3)].en) ); }
    54855470    break;
    54865471
    5487   case 77:
    5488 
    5489 /* Line 1806 of yacc.c  */
    5490 #line 495 "parser.yy"
     5472  case 78:
     5473
     5474/* Line 1806 of yacc.c  */
     5475#line 497 "parser.yy"
    54915476    { (yyval.en) = new CompositeExprNode( new OperatorNode( OperatorNode::Plus ), (yyvsp[(1) - (3)].en), (yyvsp[(3) - (3)].en) ); }
    54925477    break;
    54935478
    5494   case 78:
    5495 
    5496 /* Line 1806 of yacc.c  */
    5497 #line 497 "parser.yy"
     5479  case 79:
     5480
     5481/* Line 1806 of yacc.c  */
     5482#line 499 "parser.yy"
    54985483    { (yyval.en) = new CompositeExprNode( new OperatorNode( OperatorNode::Minus ), (yyvsp[(1) - (3)].en), (yyvsp[(3) - (3)].en) ); }
    54995484    break;
    55005485
    5501   case 80:
    5502 
    5503 /* Line 1806 of yacc.c  */
    5504 #line 503 "parser.yy"
     5486  case 81:
     5487
     5488/* Line 1806 of yacc.c  */
     5489#line 505 "parser.yy"
    55055490    { (yyval.en) = new CompositeExprNode( new OperatorNode( OperatorNode::LShift ), (yyvsp[(1) - (3)].en), (yyvsp[(3) - (3)].en) ); }
    55065491    break;
    55075492
    5508   case 81:
    5509 
    5510 /* Line 1806 of yacc.c  */
    5511 #line 505 "parser.yy"
     5493  case 82:
     5494
     5495/* Line 1806 of yacc.c  */
     5496#line 507 "parser.yy"
    55125497    { (yyval.en) = new CompositeExprNode( new OperatorNode( OperatorNode::RShift ), (yyvsp[(1) - (3)].en), (yyvsp[(3) - (3)].en) ); }
    55135498    break;
    55145499
    5515   case 83:
    5516 
    5517 /* Line 1806 of yacc.c  */
    5518 #line 511 "parser.yy"
     5500  case 84:
     5501
     5502/* Line 1806 of yacc.c  */
     5503#line 513 "parser.yy"
    55195504    { (yyval.en) = new CompositeExprNode( new OperatorNode( OperatorNode::LThan ), (yyvsp[(1) - (3)].en), (yyvsp[(3) - (3)].en) ); }
    55205505    break;
    55215506
    5522   case 84:
    5523 
    5524 /* Line 1806 of yacc.c  */
    5525 #line 513 "parser.yy"
     5507  case 85:
     5508
     5509/* Line 1806 of yacc.c  */
     5510#line 515 "parser.yy"
    55265511    { (yyval.en) = new CompositeExprNode( new OperatorNode( OperatorNode::GThan ), (yyvsp[(1) - (3)].en), (yyvsp[(3) - (3)].en) ); }
    55275512    break;
    55285513
    5529   case 85:
    5530 
    5531 /* Line 1806 of yacc.c  */
    5532 #line 515 "parser.yy"
     5514  case 86:
     5515
     5516/* Line 1806 of yacc.c  */
     5517#line 517 "parser.yy"
    55335518    { (yyval.en) = new CompositeExprNode( new OperatorNode( OperatorNode::LEThan ), (yyvsp[(1) - (3)].en), (yyvsp[(3) - (3)].en) ); }
    55345519    break;
    55355520
    5536   case 86:
    5537 
    5538 /* Line 1806 of yacc.c  */
    5539 #line 517 "parser.yy"
     5521  case 87:
     5522
     5523/* Line 1806 of yacc.c  */
     5524#line 519 "parser.yy"
    55405525    { (yyval.en) = new CompositeExprNode( new OperatorNode( OperatorNode::GEThan ), (yyvsp[(1) - (3)].en), (yyvsp[(3) - (3)].en) ); }
    55415526    break;
    55425527
    5543   case 88:
    5544 
    5545 /* Line 1806 of yacc.c  */
    5546 #line 523 "parser.yy"
     5528  case 89:
     5529
     5530/* Line 1806 of yacc.c  */
     5531#line 525 "parser.yy"
    55475532    { (yyval.en) = new CompositeExprNode( new OperatorNode( OperatorNode::Eq ), (yyvsp[(1) - (3)].en), (yyvsp[(3) - (3)].en) ); }
    55485533    break;
    55495534
    5550   case 89:
    5551 
    5552 /* Line 1806 of yacc.c  */
    5553 #line 525 "parser.yy"
     5535  case 90:
     5536
     5537/* Line 1806 of yacc.c  */
     5538#line 527 "parser.yy"
    55545539    { (yyval.en) = new CompositeExprNode( new OperatorNode( OperatorNode::Neq ), (yyvsp[(1) - (3)].en), (yyvsp[(3) - (3)].en) ); }
    55555540    break;
    55565541
    5557   case 91:
    5558 
    5559 /* Line 1806 of yacc.c  */
    5560 #line 531 "parser.yy"
     5542  case 92:
     5543
     5544/* Line 1806 of yacc.c  */
     5545#line 533 "parser.yy"
    55615546    { (yyval.en) =new CompositeExprNode( new OperatorNode( OperatorNode::BitAnd ), (yyvsp[(1) - (3)].en), (yyvsp[(3) - (3)].en) ); }
    55625547    break;
    55635548
    5564   case 93:
    5565 
    5566 /* Line 1806 of yacc.c  */
    5567 #line 537 "parser.yy"
     5549  case 94:
     5550
     5551/* Line 1806 of yacc.c  */
     5552#line 539 "parser.yy"
    55685553    { (yyval.en) = new CompositeExprNode( new OperatorNode( OperatorNode::Xor ), (yyvsp[(1) - (3)].en), (yyvsp[(3) - (3)].en) ); }
    55695554    break;
    55705555
    5571   case 95:
    5572 
    5573 /* Line 1806 of yacc.c  */
    5574 #line 543 "parser.yy"
     5556  case 96:
     5557
     5558/* Line 1806 of yacc.c  */
     5559#line 545 "parser.yy"
    55755560    { (yyval.en) = new CompositeExprNode( new OperatorNode( OperatorNode::BitOr ), (yyvsp[(1) - (3)].en), (yyvsp[(3) - (3)].en) ); }
    55765561    break;
    55775562
    5578   case 97:
    5579 
    5580 /* Line 1806 of yacc.c  */
    5581 #line 549 "parser.yy"
     5563  case 98:
     5564
     5565/* Line 1806 of yacc.c  */
     5566#line 551 "parser.yy"
    55825567    { (yyval.en) = new CompositeExprNode( new OperatorNode( OperatorNode::And ), (yyvsp[(1) - (3)].en), (yyvsp[(3) - (3)].en) ); }
    55835568    break;
    55845569
    5585   case 99:
    5586 
    5587 /* Line 1806 of yacc.c  */
    5588 #line 555 "parser.yy"
     5570  case 100:
     5571
     5572/* Line 1806 of yacc.c  */
     5573#line 557 "parser.yy"
    55895574    { (yyval.en) = new CompositeExprNode( new OperatorNode( OperatorNode::Or ), (yyvsp[(1) - (3)].en), (yyvsp[(3) - (3)].en) ); }
    55905575    break;
    55915576
    5592   case 101:
    5593 
    5594 /* Line 1806 of yacc.c  */
    5595 #line 561 "parser.yy"
     5577  case 102:
     5578
     5579/* Line 1806 of yacc.c  */
     5580#line 563 "parser.yy"
    55965581    { (yyval.en) = new CompositeExprNode( new OperatorNode( OperatorNode::Cond ), (ExpressionNode *)mkList( (*(yyvsp[(1) - (5)].en), *(yyvsp[(3) - (5)].en), *(yyvsp[(5) - (5)].en) ) ) ); }
    55975582    break;
    55985583
    5599   case 102:
    5600 
    5601 /* Line 1806 of yacc.c  */
    5602 #line 563 "parser.yy"
     5584  case 103:
     5585
     5586/* Line 1806 of yacc.c  */
     5587#line 565 "parser.yy"
    56035588    { (yyval.en)=new CompositeExprNode( new OperatorNode( OperatorNode::NCond ), (yyvsp[(1) - (4)].en), (yyvsp[(4) - (4)].en) ); }
    56045589    break;
    56055590
    5606   case 103:
    5607 
    5608 /* Line 1806 of yacc.c  */
    5609 #line 565 "parser.yy"
     5591  case 104:
     5592
     5593/* Line 1806 of yacc.c  */
     5594#line 567 "parser.yy"
    56105595    { (yyval.en) = new CompositeExprNode( new OperatorNode( OperatorNode::Cond ), (ExpressionNode *)mkList( (*(yyvsp[(1) - (5)].en), *(yyvsp[(3) - (5)].en), *(yyvsp[(5) - (5)].en) ) ) ); }
    56115596    break;
    56125597
    5613   case 106:
    5614 
    5615 /* Line 1806 of yacc.c  */
    5616 #line 576 "parser.yy"
     5598  case 107:
     5599
     5600/* Line 1806 of yacc.c  */
     5601#line 578 "parser.yy"
    56175602    { (yyval.en) =new CompositeExprNode( new OperatorNode( OperatorNode::Assign ), (yyvsp[(1) - (3)].en), (yyvsp[(3) - (3)].en) ); }
    56185603    break;
    56195604
    5620   case 107:
    5621 
    5622 /* Line 1806 of yacc.c  */
    5623 #line 578 "parser.yy"
     5605  case 108:
     5606
     5607/* Line 1806 of yacc.c  */
     5608#line 580 "parser.yy"
     5609    { (yyval.en) =new CompositeExprNode( new OperatorNode( OperatorNode::Assign ), (yyvsp[(1) - (3)].en), (yyvsp[(3) - (3)].en) ); }
     5610    break;
     5611
     5612  case 109:
     5613
     5614/* Line 1806 of yacc.c  */
     5615#line 582 "parser.yy"
    56245616    { (yyval.en) =new CompositeExprNode( (yyvsp[(2) - (3)].en), (yyvsp[(1) - (3)].en), (yyvsp[(3) - (3)].en) ); }
    56255617    break;
    56265618
    5627   case 108:
    5628 
    5629 /* Line 1806 of yacc.c  */
    5630 #line 580 "parser.yy"
     5619  case 110:
     5620
     5621/* Line 1806 of yacc.c  */
     5622#line 584 "parser.yy"
    56315623    { (yyval.en) = ( (yyvsp[(2) - (2)].en) == 0 ) ? (yyvsp[(1) - (2)].en) : new CompositeExprNode( new OperatorNode( OperatorNode::Assign ), (yyvsp[(1) - (2)].en), (yyvsp[(2) - (2)].en) ); }
    56325624    break;
    56335625
    5634   case 109:
    5635 
    5636 /* Line 1806 of yacc.c  */
    5637 #line 585 "parser.yy"
     5626  case 111:
     5627
     5628/* Line 1806 of yacc.c  */
     5629#line 589 "parser.yy"
    56385630    { (yyval.en) = new NullExprNode; }
    56395631    break;
    56405632
    5641   case 111:
    5642 
    5643 /* Line 1806 of yacc.c  */
    5644 #line 593 "parser.yy"
     5633  case 113:
     5634
     5635/* Line 1806 of yacc.c  */
     5636#line 597 "parser.yy"
    56455637    { (yyval.en) = new CompositeExprNode( new OperatorNode( OperatorNode::TupleC ) ); }
    56465638    break;
    56475639
    5648   case 112:
    5649 
    5650 /* Line 1806 of yacc.c  */
    5651 #line 595 "parser.yy"
     5640  case 114:
     5641
     5642/* Line 1806 of yacc.c  */
     5643#line 599 "parser.yy"
    56525644    { (yyval.en) = new CompositeExprNode( new OperatorNode( OperatorNode::TupleC ), (yyvsp[(3) - (5)].en) ); }
    56535645    break;
    56545646
    5655   case 113:
    5656 
    5657 /* Line 1806 of yacc.c  */
    5658 #line 597 "parser.yy"
     5647  case 115:
     5648
     5649/* Line 1806 of yacc.c  */
     5650#line 601 "parser.yy"
    56595651    { (yyval.en) = new CompositeExprNode( new OperatorNode( OperatorNode::TupleC ), (ExpressionNode *)(new NullExprNode)->set_link( (yyvsp[(4) - (6)].en) ) ); }
    56605652    break;
    56615653
    5662   case 114:
    5663 
    5664 /* Line 1806 of yacc.c  */
    5665 #line 599 "parser.yy"
     5654  case 116:
     5655
     5656/* Line 1806 of yacc.c  */
     5657#line 603 "parser.yy"
    56665658    { (yyval.en) = new CompositeExprNode( new OperatorNode( OperatorNode::TupleC ), (ExpressionNode *)(yyvsp[(3) - (7)].en)->set_link( flattenCommas( (yyvsp[(5) - (7)].en) ) ) ); }
    56675659    break;
    56685660
    5669   case 116:
    5670 
    5671 /* Line 1806 of yacc.c  */
    5672 #line 605 "parser.yy"
     5661  case 118:
     5662
     5663/* Line 1806 of yacc.c  */
     5664#line 609 "parser.yy"
    56735665    { (yyval.en) = (ExpressionNode *)(yyvsp[(1) - (3)].en)->set_link( (yyvsp[(3) - (3)].en) ); }
    56745666    break;
    56755667
    5676   case 117:
    5677 
    5678 /* Line 1806 of yacc.c  */
    5679 #line 609 "parser.yy"
     5668  case 119:
     5669
     5670/* Line 1806 of yacc.c  */
     5671#line 613 "parser.yy"
    56805672    { (yyval.en) = new OperatorNode( OperatorNode::MulAssn ); }
    56815673    break;
    56825674
    5683   case 118:
    5684 
    5685 /* Line 1806 of yacc.c  */
    5686 #line 610 "parser.yy"
     5675  case 120:
     5676
     5677/* Line 1806 of yacc.c  */
     5678#line 614 "parser.yy"
    56875679    { (yyval.en) = new OperatorNode( OperatorNode::DivAssn ); }
    56885680    break;
    56895681
    5690   case 119:
    5691 
    5692 /* Line 1806 of yacc.c  */
    5693 #line 611 "parser.yy"
     5682  case 121:
     5683
     5684/* Line 1806 of yacc.c  */
     5685#line 615 "parser.yy"
    56945686    { (yyval.en) = new OperatorNode( OperatorNode::ModAssn ); }
    56955687    break;
    56965688
    5697   case 120:
    5698 
    5699 /* Line 1806 of yacc.c  */
    5700 #line 612 "parser.yy"
     5689  case 122:
     5690
     5691/* Line 1806 of yacc.c  */
     5692#line 616 "parser.yy"
    57015693    { (yyval.en) = new OperatorNode( OperatorNode::PlusAssn ); }
    57025694    break;
    57035695
    5704   case 121:
    5705 
    5706 /* Line 1806 of yacc.c  */
    5707 #line 613 "parser.yy"
     5696  case 123:
     5697
     5698/* Line 1806 of yacc.c  */
     5699#line 617 "parser.yy"
    57085700    { (yyval.en) = new OperatorNode( OperatorNode::MinusAssn ); }
    57095701    break;
    57105702
    5711   case 122:
    5712 
    5713 /* Line 1806 of yacc.c  */
    5714 #line 614 "parser.yy"
     5703  case 124:
     5704
     5705/* Line 1806 of yacc.c  */
     5706#line 618 "parser.yy"
    57155707    { (yyval.en) = new OperatorNode( OperatorNode::LSAssn ); }
    57165708    break;
    57175709
    5718   case 123:
    5719 
    5720 /* Line 1806 of yacc.c  */
    5721 #line 615 "parser.yy"
     5710  case 125:
     5711
     5712/* Line 1806 of yacc.c  */
     5713#line 619 "parser.yy"
    57225714    { (yyval.en) = new OperatorNode( OperatorNode::RSAssn ); }
    57235715    break;
    57245716
    5725   case 124:
    5726 
    5727 /* Line 1806 of yacc.c  */
    5728 #line 616 "parser.yy"
     5717  case 126:
     5718
     5719/* Line 1806 of yacc.c  */
     5720#line 620 "parser.yy"
    57295721    { (yyval.en) = new OperatorNode( OperatorNode::AndAssn ); }
    57305722    break;
    57315723
    5732   case 125:
    5733 
    5734 /* Line 1806 of yacc.c  */
    5735 #line 617 "parser.yy"
     5724  case 127:
     5725
     5726/* Line 1806 of yacc.c  */
     5727#line 621 "parser.yy"
    57365728    { (yyval.en) = new OperatorNode( OperatorNode::ERAssn ); }
    57375729    break;
    57385730
    5739   case 126:
    5740 
    5741 /* Line 1806 of yacc.c  */
    5742 #line 618 "parser.yy"
     5731  case 128:
     5732
     5733/* Line 1806 of yacc.c  */
     5734#line 622 "parser.yy"
    57435735    { (yyval.en) = new OperatorNode( OperatorNode::OrAssn ); }
    57445736    break;
    57455737
    5746   case 128:
    5747 
    5748 /* Line 1806 of yacc.c  */
    5749 #line 624 "parser.yy"
     5738  case 130:
     5739
     5740/* Line 1806 of yacc.c  */
     5741#line 628 "parser.yy"
    57505742    { (yyval.en) = new CompositeExprNode( new OperatorNode( OperatorNode::Comma ), (yyvsp[(1) - (3)].en), (yyvsp[(3) - (3)].en) ); }
    57515743    break;
    57525744
    5753   case 129:
    5754 
    5755 /* Line 1806 of yacc.c  */
    5756 #line 629 "parser.yy"
     5745  case 131:
     5746
     5747/* Line 1806 of yacc.c  */
     5748#line 633 "parser.yy"
    57575749    { (yyval.en) = 0; }
    57585750    break;
    57595751
    5760   case 133:
    5761 
    5762 /* Line 1806 of yacc.c  */
    5763 #line 638 "parser.yy"
     5752  case 135:
     5753
     5754/* Line 1806 of yacc.c  */
     5755#line 642 "parser.yy"
    57645756    { (yyval.sn) = (yyvsp[(1) - (1)].sn); }
    57655757    break;
    57665758
    5767   case 139:
    5768 
    5769 /* Line 1806 of yacc.c  */
    5770 #line 645 "parser.yy"
     5759  case 141:
     5760
     5761/* Line 1806 of yacc.c  */
     5762#line 649 "parser.yy"
    57715763    {
    57725764                        Token fn; fn.str = new std::string( "^?{}" ); // location undefined
     
    57765768    break;
    57775769
    5778   case 140:
    5779 
    5780 /* Line 1806 of yacc.c  */
    5781 #line 654 "parser.yy"
     5770  case 142:
     5771
     5772/* Line 1806 of yacc.c  */
     5773#line 658 "parser.yy"
    57825774    {
    57835775                        (yyval.sn) = (yyvsp[(4) - (4)].sn)->add_label( (yyvsp[(1) - (4)].tok) );
     
    57855777    break;
    57865778
    5787   case 141:
    5788 
    5789 /* Line 1806 of yacc.c  */
    5790 #line 661 "parser.yy"
     5779  case 143:
     5780
     5781/* Line 1806 of yacc.c  */
     5782#line 665 "parser.yy"
    57915783    { (yyval.sn) = new CompoundStmtNode( (StatementNode *)0 ); }
    57925784    break;
    57935785
    5794   case 142:
    5795 
    5796 /* Line 1806 of yacc.c  */
    5797 #line 668 "parser.yy"
     5786  case 144:
     5787
     5788/* Line 1806 of yacc.c  */
     5789#line 672 "parser.yy"
    57985790    { (yyval.sn) = new CompoundStmtNode( (yyvsp[(5) - (7)].sn) ); }
    57995791    break;
    58005792
    5801   case 144:
    5802 
    5803 /* Line 1806 of yacc.c  */
    5804 #line 674 "parser.yy"
     5793  case 146:
     5794
     5795/* Line 1806 of yacc.c  */
     5796#line 678 "parser.yy"
    58055797    { if ( (yyvsp[(1) - (3)].sn) != 0 ) { (yyvsp[(1) - (3)].sn)->set_link( (yyvsp[(3) - (3)].sn) ); (yyval.sn) = (yyvsp[(1) - (3)].sn); } }
    5806     break;
    5807 
    5808   case 145:
    5809 
    5810 /* Line 1806 of yacc.c  */
    5811 #line 679 "parser.yy"
    5812     { (yyval.sn) = new StatementNode( (yyvsp[(1) - (1)].decl) ); }
    5813     break;
    5814 
    5815   case 146:
    5816 
    5817 /* Line 1806 of yacc.c  */
    5818 #line 681 "parser.yy"
    5819     { (yyval.sn) = new StatementNode( (yyvsp[(2) - (2)].decl) ); }
    58205798    break;
    58215799
     
    58275805    break;
    58285806
    5829   case 150:
    5830 
    5831 /* Line 1806 of yacc.c  */
    5832 #line 690 "parser.yy"
     5807  case 148:
     5808
     5809/* Line 1806 of yacc.c  */
     5810#line 685 "parser.yy"
     5811    { (yyval.sn) = new StatementNode( (yyvsp[(2) - (2)].decl) ); }
     5812    break;
     5813
     5814  case 149:
     5815
     5816/* Line 1806 of yacc.c  */
     5817#line 687 "parser.yy"
     5818    { (yyval.sn) = new StatementNode( (yyvsp[(1) - (1)].decl) ); }
     5819    break;
     5820
     5821  case 152:
     5822
     5823/* Line 1806 of yacc.c  */
     5824#line 694 "parser.yy"
    58335825    { if ( (yyvsp[(1) - (2)].sn) != 0 ) { (yyvsp[(1) - (2)].sn)->set_link( (yyvsp[(2) - (2)].sn) ); (yyval.sn) = (yyvsp[(1) - (2)].sn); } }
    58345826    break;
    58355827
    5836   case 151:
    5837 
    5838 /* Line 1806 of yacc.c  */
    5839 #line 695 "parser.yy"
     5828  case 153:
     5829
     5830/* Line 1806 of yacc.c  */
     5831#line 699 "parser.yy"
    58405832    { (yyval.sn) = new StatementNode( StatementNode::Exp, (yyvsp[(1) - (2)].en), 0 ); }
    58415833    break;
    58425834
    5843   case 152:
    5844 
    5845 /* Line 1806 of yacc.c  */
    5846 #line 701 "parser.yy"
     5835  case 154:
     5836
     5837/* Line 1806 of yacc.c  */
     5838#line 705 "parser.yy"
    58475839    { (yyval.sn) = new StatementNode( StatementNode::If, (yyvsp[(3) - (5)].en), (yyvsp[(5) - (5)].sn) ); }
    58485840    break;
    58495841
    5850   case 153:
    5851 
    5852 /* Line 1806 of yacc.c  */
    5853 #line 703 "parser.yy"
     5842  case 155:
     5843
     5844/* Line 1806 of yacc.c  */
     5845#line 707 "parser.yy"
    58545846    { (yyval.sn) = new StatementNode( StatementNode::If, (yyvsp[(3) - (7)].en), (StatementNode *)mkList((*(yyvsp[(5) - (7)].sn), *(yyvsp[(7) - (7)].sn) )) ); }
    58555847    break;
    58565848
    5857   case 154:
    5858 
    5859 /* Line 1806 of yacc.c  */
    5860 #line 705 "parser.yy"
     5849  case 156:
     5850
     5851/* Line 1806 of yacc.c  */
     5852#line 709 "parser.yy"
    58615853    { (yyval.sn) = new StatementNode( StatementNode::Switch, (yyvsp[(3) - (5)].en), (yyvsp[(5) - (5)].sn) ); }
    58625854    break;
    58635855
    5864   case 155:
    5865 
    5866 /* Line 1806 of yacc.c  */
    5867 #line 707 "parser.yy"
     5856  case 157:
     5857
     5858/* Line 1806 of yacc.c  */
     5859#line 711 "parser.yy"
    58685860    { (yyval.sn) = new StatementNode( StatementNode::Switch, (yyvsp[(3) - (9)].en), (yyvsp[(8) - (9)].sn) ); /* xxx */ }
    58695861    break;
    58705862
    5871   case 156:
    5872 
    5873 /* Line 1806 of yacc.c  */
    5874 #line 712 "parser.yy"
     5863  case 158:
     5864
     5865/* Line 1806 of yacc.c  */
     5866#line 716 "parser.yy"
    58755867    { (yyval.sn) = new StatementNode( StatementNode::Choose, (yyvsp[(3) - (5)].en), (yyvsp[(5) - (5)].sn) ); }
    58765868    break;
    58775869
    5878   case 157:
    5879 
    5880 /* Line 1806 of yacc.c  */
    5881 #line 714 "parser.yy"
     5870  case 159:
     5871
     5872/* Line 1806 of yacc.c  */
     5873#line 718 "parser.yy"
    58825874    { (yyval.sn) = new StatementNode( StatementNode::Choose, (yyvsp[(3) - (9)].en), (yyvsp[(8) - (9)].sn) ); }
    58835875    break;
    58845876
    5885   case 158:
    5886 
    5887 /* Line 1806 of yacc.c  */
    5888 #line 721 "parser.yy"
     5877  case 160:
     5878
     5879/* Line 1806 of yacc.c  */
     5880#line 725 "parser.yy"
    58895881    { (yyval.en) = (yyvsp[(1) - (1)].en); }
    58905882    break;
    58915883
    5892   case 159:
    5893 
    5894 /* Line 1806 of yacc.c  */
    5895 #line 723 "parser.yy"
     5884  case 161:
     5885
     5886/* Line 1806 of yacc.c  */
     5887#line 727 "parser.yy"
    58965888    { (yyval.en) = new CompositeExprNode( new OperatorNode( OperatorNode::Range ), (yyvsp[(1) - (3)].en), (yyvsp[(3) - (3)].en) ); }
    58975889    break;
    58985890
    5899   case 162:
    5900 
    5901 /* Line 1806 of yacc.c  */
    5902 #line 730 "parser.yy"
     5891  case 164:
     5892
     5893/* Line 1806 of yacc.c  */
     5894#line 734 "parser.yy"
    59035895    { (yyval.en) = new CompositeExprNode( new OperatorNode( OperatorNode::TupleC ), (ExpressionNode *)(tupleContents( (yyvsp[(1) - (3)].en) ))->set_link( (yyvsp[(3) - (3)].en) ) ); }
    59045896    break;
    59055897
    5906   case 163:
    5907 
    5908 /* Line 1806 of yacc.c  */
    5909 #line 734 "parser.yy"
     5898  case 165:
     5899
     5900/* Line 1806 of yacc.c  */
     5901#line 738 "parser.yy"
    59105902    { (yyval.sn) = new StatementNode( StatementNode::Case, (yyvsp[(2) - (3)].en), 0 ); }
    59115903    break;
    59125904
    5913   case 164:
    5914 
    5915 /* Line 1806 of yacc.c  */
    5916 #line 735 "parser.yy"
     5905  case 166:
     5906
     5907/* Line 1806 of yacc.c  */
     5908#line 739 "parser.yy"
    59175909    { (yyval.sn) = new StatementNode( StatementNode::Default ); }
    59185910    break;
    59195911
    5920   case 166:
    5921 
    5922 /* Line 1806 of yacc.c  */
    5923 #line 741 "parser.yy"
     5912  case 168:
     5913
     5914/* Line 1806 of yacc.c  */
     5915#line 745 "parser.yy"
    59245916    { (yyval.sn) = (StatementNode *)( (yyvsp[(1) - (2)].sn)->set_link( (yyvsp[(2) - (2)].sn) )); }
    59255917    break;
    59265918
    5927   case 167:
    5928 
    5929 /* Line 1806 of yacc.c  */
    5930 #line 745 "parser.yy"
     5919  case 169:
     5920
     5921/* Line 1806 of yacc.c  */
     5922#line 749 "parser.yy"
    59315923    { (yyval.sn) = (yyvsp[(1) - (2)].sn)->append_last_case( (yyvsp[(2) - (2)].sn) ); }
    59325924    break;
    59335925
    5934   case 168:
    5935 
    5936 /* Line 1806 of yacc.c  */
    5937 #line 750 "parser.yy"
     5926  case 170:
     5927
     5928/* Line 1806 of yacc.c  */
     5929#line 754 "parser.yy"
    59385930    { (yyval.sn) = 0; }
    59395931    break;
    59405932
    5941   case 170:
    5942 
    5943 /* Line 1806 of yacc.c  */
    5944 #line 756 "parser.yy"
     5933  case 172:
     5934
     5935/* Line 1806 of yacc.c  */
     5936#line 760 "parser.yy"
    59455937    { (yyval.sn) = (yyvsp[(1) - (2)].sn)->append_last_case( (yyvsp[(2) - (2)].sn) ); }
    59465938    break;
    59475939
    5948   case 171:
    5949 
    5950 /* Line 1806 of yacc.c  */
    5951 #line 758 "parser.yy"
     5940  case 173:
     5941
     5942/* Line 1806 of yacc.c  */
     5943#line 762 "parser.yy"
    59525944    { (yyval.sn) = (StatementNode *)( (yyvsp[(1) - (3)].sn)->set_link( (yyvsp[(2) - (3)].sn)->append_last_case( (yyvsp[(3) - (3)].sn) ))); }
    59535945    break;
    59545946
    5955   case 172:
    5956 
    5957 /* Line 1806 of yacc.c  */
    5958 #line 763 "parser.yy"
     5947  case 174:
     5948
     5949/* Line 1806 of yacc.c  */
     5950#line 767 "parser.yy"
    59595951    { (yyval.sn) = 0; }
    59605952    break;
    59615953
    5962   case 174:
    5963 
    5964 /* Line 1806 of yacc.c  */
    5965 #line 769 "parser.yy"
     5954  case 176:
     5955
     5956/* Line 1806 of yacc.c  */
     5957#line 773 "parser.yy"
    59665958    { (yyval.sn) = (yyvsp[(1) - (2)].sn)->append_last_case( (yyvsp[(2) - (2)].sn) ); }
    59675959    break;
    59685960
    5969   case 175:
    5970 
    5971 /* Line 1806 of yacc.c  */
    5972 #line 771 "parser.yy"
     5961  case 177:
     5962
     5963/* Line 1806 of yacc.c  */
     5964#line 775 "parser.yy"
    59735965    { (yyval.sn) = (yyvsp[(1) - (3)].sn)->append_last_case((StatementNode *)mkList((*(yyvsp[(2) - (3)].sn),*(yyvsp[(3) - (3)].sn) ))); }
    59745966    break;
    59755967
    5976   case 176:
    5977 
    5978 /* Line 1806 of yacc.c  */
    5979 #line 773 "parser.yy"
     5968  case 178:
     5969
     5970/* Line 1806 of yacc.c  */
     5971#line 777 "parser.yy"
    59805972    { (yyval.sn) = (StatementNode *)( (yyvsp[(1) - (3)].sn)->set_link( (yyvsp[(2) - (3)].sn)->append_last_case( (yyvsp[(3) - (3)].sn) ))); }
    59815973    break;
    59825974
    5983   case 177:
    5984 
    5985 /* Line 1806 of yacc.c  */
    5986 #line 775 "parser.yy"
     5975  case 179:
     5976
     5977/* Line 1806 of yacc.c  */
     5978#line 779 "parser.yy"
    59875979    { (yyval.sn) = (StatementNode *)( (yyvsp[(1) - (4)].sn)->set_link( (yyvsp[(2) - (4)].sn)->append_last_case((StatementNode *)mkList((*(yyvsp[(3) - (4)].sn),*(yyvsp[(4) - (4)].sn) ))))); }
    59885980    break;
    59895981
    5990   case 178:
    5991 
    5992 /* Line 1806 of yacc.c  */
    5993 #line 780 "parser.yy"
     5982  case 180:
     5983
     5984/* Line 1806 of yacc.c  */
     5985#line 784 "parser.yy"
    59945986    { (yyval.sn) = 0; }
    59955987    break;
    59965988
    5997   case 180:
    5998 
    5999 /* Line 1806 of yacc.c  */
    6000 #line 785 "parser.yy"
     5989  case 182:
     5990
     5991/* Line 1806 of yacc.c  */
     5992#line 789 "parser.yy"
    60015993    { (yyval.sn) = new StatementNode( StatementNode::Fallthru ); }
    60025994    break;
    60035995
    6004   case 181:
    6005 
    6006 /* Line 1806 of yacc.c  */
    6007 #line 786 "parser.yy"
     5996  case 183:
     5997
     5998/* Line 1806 of yacc.c  */
     5999#line 790 "parser.yy"
    60086000    { (yyval.sn) = new StatementNode( StatementNode::Fallthru ); }
    60096001    break;
    60106002
    6011   case 182:
    6012 
    6013 /* Line 1806 of yacc.c  */
    6014 #line 791 "parser.yy"
     6003  case 184:
     6004
     6005/* Line 1806 of yacc.c  */
     6006#line 795 "parser.yy"
    60156007    { (yyval.sn) = new StatementNode( StatementNode::While, (yyvsp[(3) - (5)].en), (yyvsp[(5) - (5)].sn) ); }
    60166008    break;
    60176009
    6018   case 183:
    6019 
    6020 /* Line 1806 of yacc.c  */
    6021 #line 793 "parser.yy"
     6010  case 185:
     6011
     6012/* Line 1806 of yacc.c  */
     6013#line 797 "parser.yy"
    60226014    { (yyval.sn) = new StatementNode( StatementNode::Do, (yyvsp[(5) - (7)].en), (yyvsp[(2) - (7)].sn) ); }
    60236015    break;
    60246016
    6025   case 184:
    6026 
    6027 /* Line 1806 of yacc.c  */
    6028 #line 795 "parser.yy"
     6017  case 186:
     6018
     6019/* Line 1806 of yacc.c  */
     6020#line 799 "parser.yy"
    60296021    { (yyval.sn) = new StatementNode( StatementNode::For, (yyvsp[(4) - (6)].en), (yyvsp[(6) - (6)].sn) ); }
    60306022    break;
    60316023
    6032   case 185:
    6033 
    6034 /* Line 1806 of yacc.c  */
    6035 #line 800 "parser.yy"
     6024  case 187:
     6025
     6026/* Line 1806 of yacc.c  */
     6027#line 804 "parser.yy"
    60366028    { (yyval.en) = new ForCtlExprNode( (yyvsp[(1) - (6)].en), (yyvsp[(4) - (6)].en), (yyvsp[(6) - (6)].en) ); }
    60376029    break;
    60386030
    6039   case 186:
    6040 
    6041 /* Line 1806 of yacc.c  */
    6042 #line 802 "parser.yy"
     6031  case 188:
     6032
     6033/* Line 1806 of yacc.c  */
     6034#line 806 "parser.yy"
    60436035    { (yyval.en) = new ForCtlExprNode( (yyvsp[(1) - (4)].decl), (yyvsp[(2) - (4)].en), (yyvsp[(4) - (4)].en) ); }
    60446036    break;
    60456037
    6046   case 187:
    6047 
    6048 /* Line 1806 of yacc.c  */
    6049 #line 807 "parser.yy"
     6038  case 189:
     6039
     6040/* Line 1806 of yacc.c  */
     6041#line 811 "parser.yy"
    60506042    { (yyval.sn) = new StatementNode( StatementNode::Goto, (yyvsp[(2) - (3)].tok) ); }
    60516043    break;
    60526044
    6053   case 188:
    6054 
    6055 /* Line 1806 of yacc.c  */
    6056 #line 811 "parser.yy"
     6045  case 190:
     6046
     6047/* Line 1806 of yacc.c  */
     6048#line 815 "parser.yy"
    60576049    { (yyval.sn) = new StatementNode( StatementNode::Goto, (yyvsp[(3) - (4)].en) ); }
    60586050    break;
    60596051
    6060   case 189:
    6061 
    6062 /* Line 1806 of yacc.c  */
    6063 #line 814 "parser.yy"
     6052  case 191:
     6053
     6054/* Line 1806 of yacc.c  */
     6055#line 818 "parser.yy"
    60646056    { (yyval.sn) = new StatementNode( StatementNode::Continue ); }
    60656057    break;
    60666058
    6067   case 190:
    6068 
    6069 /* Line 1806 of yacc.c  */
    6070 #line 818 "parser.yy"
     6059  case 192:
     6060
     6061/* Line 1806 of yacc.c  */
     6062#line 822 "parser.yy"
    60716063    { (yyval.sn) = new StatementNode( StatementNode::Continue, (yyvsp[(2) - (3)].tok) ); }
    60726064    break;
    60736065
    6074   case 191:
    6075 
    6076 /* Line 1806 of yacc.c  */
    6077 #line 821 "parser.yy"
     6066  case 193:
     6067
     6068/* Line 1806 of yacc.c  */
     6069#line 825 "parser.yy"
    60786070    { (yyval.sn) = new StatementNode( StatementNode::Break ); }
    60796071    break;
    60806072
    6081   case 192:
    6082 
    6083 /* Line 1806 of yacc.c  */
    6084 #line 825 "parser.yy"
     6073  case 194:
     6074
     6075/* Line 1806 of yacc.c  */
     6076#line 829 "parser.yy"
    60856077    { (yyval.sn) = new StatementNode( StatementNode::Break, (yyvsp[(2) - (3)].tok) ); }
    60866078    break;
    60876079
    6088   case 193:
    6089 
    6090 /* Line 1806 of yacc.c  */
    6091 #line 827 "parser.yy"
     6080  case 195:
     6081
     6082/* Line 1806 of yacc.c  */
     6083#line 831 "parser.yy"
    60926084    { (yyval.sn) = new StatementNode( StatementNode::Return, (yyvsp[(2) - (3)].en), 0 ); }
    60936085    break;
    60946086
    6095   case 194:
    6096 
    6097 /* Line 1806 of yacc.c  */
    6098 #line 829 "parser.yy"
    6099     { (yyval.sn) = new StatementNode( StatementNode::Throw, (yyvsp[(2) - (3)].en), 0 ); }
    6100     break;
    6101 
    6102   case 195:
     6087  case 196:
    61036088
    61046089/* Line 1806 of yacc.c  */
     
    61076092    break;
    61086093
    6109   case 196:
    6110 
    6111 /* Line 1806 of yacc.c  */
    6112 #line 835 "parser.yy"
     6094  case 197:
     6095
     6096/* Line 1806 of yacc.c  */
     6097#line 837 "parser.yy"
     6098    { (yyval.sn) = new StatementNode( StatementNode::Throw, (yyvsp[(2) - (3)].en), 0 ); }
     6099    break;
     6100
     6101  case 198:
     6102
     6103/* Line 1806 of yacc.c  */
     6104#line 839 "parser.yy"
    61136105    { (yyval.sn) = new StatementNode( StatementNode::Throw, (yyvsp[(2) - (5)].en), 0 ); }
    61146106    break;
    61156107
    6116   case 197:
    6117 
    6118 /* Line 1806 of yacc.c  */
    6119 #line 842 "parser.yy"
     6108  case 199:
     6109
     6110/* Line 1806 of yacc.c  */
     6111#line 846 "parser.yy"
    61206112    { (yyval.sn) = new StatementNode( StatementNode::Try, 0,(StatementNode *)(mkList((*(yyvsp[(2) - (3)].sn),*(yyvsp[(3) - (3)].pn) )))); }
    61216113    break;
    61226114
    6123   case 198:
    6124 
    6125 /* Line 1806 of yacc.c  */
    6126 #line 844 "parser.yy"
     6115  case 200:
     6116
     6117/* Line 1806 of yacc.c  */
     6118#line 848 "parser.yy"
    61276119    { (yyval.sn) = new StatementNode( StatementNode::Try, 0,(StatementNode *)(mkList((*(yyvsp[(2) - (3)].sn),*(yyvsp[(3) - (3)].pn) )))); }
    61286120    break;
    61296121
    6130   case 199:
    6131 
    6132 /* Line 1806 of yacc.c  */
    6133 #line 846 "parser.yy"
     6122  case 201:
     6123
     6124/* Line 1806 of yacc.c  */
     6125#line 850 "parser.yy"
    61346126    {
    61356127                        (yyvsp[(3) - (4)].pn)->set_link( (yyvsp[(4) - (4)].pn) );
     
    61386130    break;
    61396131
    6140   case 201:
    6141 
    6142 /* Line 1806 of yacc.c  */
    6143 #line 857 "parser.yy"
    6144     { (yyval.pn) = StatementNode::newCatchStmt( 0, (yyvsp[(5) - (5)].sn), true ); }
    6145     break;
    6146 
    6147   case 202:
    6148 
    6149 /* Line 1806 of yacc.c  */
    6150 #line 859 "parser.yy"
    6151     { (yyval.pn) = (yyvsp[(1) - (6)].pn)->set_link( StatementNode::newCatchStmt( 0, (yyvsp[(6) - (6)].sn), true ) ); }
    6152     break;
    6153 
    61546132  case 203:
    61556133
     
    61696147
    61706148/* Line 1806 of yacc.c  */
    6171 #line 868 "parser.yy"
    6172     { (yyval.pn) = StatementNode::newCatchStmt( (yyvsp[(5) - (9)].decl), (yyvsp[(8) - (9)].sn) ); }
     6149#line 865 "parser.yy"
     6150    { (yyval.pn) = StatementNode::newCatchStmt( 0, (yyvsp[(5) - (5)].sn), true ); }
    61736151    break;
    61746152
     
    61766154
    61776155/* Line 1806 of yacc.c  */
    6178 #line 870 "parser.yy"
    6179     { (yyval.pn) = (yyvsp[(1) - (10)].pn)->set_link( StatementNode::newCatchStmt( (yyvsp[(6) - (10)].decl), (yyvsp[(9) - (10)].sn) ) ); }
     6156#line 867 "parser.yy"
     6157    { (yyval.pn) = (yyvsp[(1) - (6)].pn)->set_link( StatementNode::newCatchStmt( 0, (yyvsp[(6) - (6)].sn), true ) ); }
    61806158    break;
    61816159
     
    61976175
    61986176/* Line 1806 of yacc.c  */
    6199 #line 879 "parser.yy"
     6177#line 876 "parser.yy"
     6178    { (yyval.pn) = StatementNode::newCatchStmt( (yyvsp[(5) - (9)].decl), (yyvsp[(8) - (9)].sn) ); }
     6179    break;
     6180
     6181  case 210:
     6182
     6183/* Line 1806 of yacc.c  */
     6184#line 878 "parser.yy"
     6185    { (yyval.pn) = (yyvsp[(1) - (10)].pn)->set_link( StatementNode::newCatchStmt( (yyvsp[(6) - (10)].decl), (yyvsp[(9) - (10)].sn) ) ); }
     6186    break;
     6187
     6188  case 211:
     6189
     6190/* Line 1806 of yacc.c  */
     6191#line 883 "parser.yy"
    62006192    {
    62016193                        (yyval.pn) = new StatementNode( StatementNode::Finally, 0, (yyvsp[(2) - (2)].sn) );
     
    62046196    break;
    62056197
    6206   case 211:
    6207 
    6208 /* Line 1806 of yacc.c  */
    6209 #line 893 "parser.yy"
     6198  case 213:
     6199
     6200/* Line 1806 of yacc.c  */
     6201#line 897 "parser.yy"
    62106202    {
    62116203                        typedefTable.addToEnclosingScope( TypedefTable::ID );
     
    62146206    break;
    62156207
    6216   case 212:
    6217 
    6218 /* Line 1806 of yacc.c  */
    6219 #line 898 "parser.yy"
     6208  case 214:
     6209
     6210/* Line 1806 of yacc.c  */
     6211#line 902 "parser.yy"
    62206212    { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addType( (yyvsp[(1) - (2)].decl) ); }
    62216213    break;
    62226214
    6223   case 213:
    6224 
    6225 /* Line 1806 of yacc.c  */
    6226 #line 900 "parser.yy"
     6215  case 215:
     6216
     6217/* Line 1806 of yacc.c  */
     6218#line 904 "parser.yy"
    62276219    {
    62286220                        typedefTable.addToEnclosingScope( TypedefTable::ID );
     
    62316223    break;
    62326224
    6233   case 215:
    6234 
    6235 /* Line 1806 of yacc.c  */
    6236 #line 909 "parser.yy"
     6225  case 217:
     6226
     6227/* Line 1806 of yacc.c  */
     6228#line 913 "parser.yy"
    62376229    { (yyval.sn) = new AsmStmtNode( StatementNode::Asm, (yyvsp[(2) - (6)].flag), (yyvsp[(4) - (6)].constant), 0 ); }
    62386230    break;
    62396231
    6240   case 216:
    6241 
    6242 /* Line 1806 of yacc.c  */
    6243 #line 911 "parser.yy"
     6232  case 218:
     6233
     6234/* Line 1806 of yacc.c  */
     6235#line 915 "parser.yy"
    62446236    { (yyval.sn) = new AsmStmtNode( StatementNode::Asm, (yyvsp[(2) - (8)].flag), (yyvsp[(4) - (8)].constant), (yyvsp[(6) - (8)].en) ); }
    62456237    break;
    62466238
    6247   case 217:
    6248 
    6249 /* Line 1806 of yacc.c  */
    6250 #line 913 "parser.yy"
     6239  case 219:
     6240
     6241/* Line 1806 of yacc.c  */
     6242#line 917 "parser.yy"
    62516243    { (yyval.sn) = new AsmStmtNode( StatementNode::Asm, (yyvsp[(2) - (10)].flag), (yyvsp[(4) - (10)].constant), (yyvsp[(6) - (10)].en), (yyvsp[(8) - (10)].en) ); }
    62526244    break;
    62536245
    6254   case 218:
    6255 
    6256 /* Line 1806 of yacc.c  */
    6257 #line 915 "parser.yy"
     6246  case 220:
     6247
     6248/* Line 1806 of yacc.c  */
     6249#line 919 "parser.yy"
    62586250    { (yyval.sn) = new AsmStmtNode( StatementNode::Asm, (yyvsp[(2) - (12)].flag), (yyvsp[(4) - (12)].constant), (yyvsp[(6) - (12)].en), (yyvsp[(8) - (12)].en), (yyvsp[(10) - (12)].constant) ); }
    62596251    break;
    62606252
    6261   case 219:
    6262 
    6263 /* Line 1806 of yacc.c  */
    6264 #line 917 "parser.yy"
     6253  case 221:
     6254
     6255/* Line 1806 of yacc.c  */
     6256#line 921 "parser.yy"
    62656257    { (yyval.sn) = new AsmStmtNode( StatementNode::Asm, (yyvsp[(2) - (14)].flag), (yyvsp[(5) - (14)].constant), 0, (yyvsp[(8) - (14)].en), (yyvsp[(10) - (14)].constant), (yyvsp[(12) - (14)].label) ); }
    62666258    break;
    62676259
    6268   case 220:
    6269 
    6270 /* Line 1806 of yacc.c  */
    6271 #line 922 "parser.yy"
     6260  case 222:
     6261
     6262/* Line 1806 of yacc.c  */
     6263#line 926 "parser.yy"
    62726264    { (yyval.flag) = false; }
    62736265    break;
    62746266
    6275   case 221:
    6276 
    6277 /* Line 1806 of yacc.c  */
    6278 #line 924 "parser.yy"
     6267  case 223:
     6268
     6269/* Line 1806 of yacc.c  */
     6270#line 928 "parser.yy"
    62796271    { (yyval.flag) = true; }
    62806272    break;
    62816273
    6282   case 222:
    6283 
    6284 /* Line 1806 of yacc.c  */
    6285 #line 929 "parser.yy"
     6274  case 224:
     6275
     6276/* Line 1806 of yacc.c  */
     6277#line 933 "parser.yy"
    62866278    { (yyval.en) = 0; }
    62876279    break;
    62886280
    6289   case 225:
    6290 
    6291 /* Line 1806 of yacc.c  */
    6292 #line 936 "parser.yy"
     6281  case 227:
     6282
     6283/* Line 1806 of yacc.c  */
     6284#line 940 "parser.yy"
    62936285    { (yyval.en) = (ExpressionNode *)(yyvsp[(1) - (3)].en)->set_link( (yyvsp[(3) - (3)].en) ); }
    62946286    break;
    62956287
    6296   case 226:
    6297 
    6298 /* Line 1806 of yacc.c  */
    6299 #line 941 "parser.yy"
     6288  case 228:
     6289
     6290/* Line 1806 of yacc.c  */
     6291#line 945 "parser.yy"
    63006292    { (yyval.en) = new AsmExprNode( 0, (yyvsp[(1) - (4)].constant), (yyvsp[(3) - (4)].en) ); }
    63016293    break;
    63026294
    6303   case 227:
    6304 
    6305 /* Line 1806 of yacc.c  */
    6306 #line 943 "parser.yy"
     6295  case 229:
     6296
     6297/* Line 1806 of yacc.c  */
     6298#line 947 "parser.yy"
    63076299    { (yyval.en) = new AsmExprNode( (yyvsp[(2) - (7)].en), (yyvsp[(4) - (7)].constant), (yyvsp[(6) - (7)].en) ); }
    63086300    break;
    63096301
    6310   case 228:
    6311 
    6312 /* Line 1806 of yacc.c  */
    6313 #line 948 "parser.yy"
     6302  case 230:
     6303
     6304/* Line 1806 of yacc.c  */
     6305#line 952 "parser.yy"
    63146306    { (yyval.constant) = 0; }
    63156307    break;
    63166308
    6317   case 229:
    6318 
    6319 /* Line 1806 of yacc.c  */
    6320 #line 950 "parser.yy"
     6309  case 231:
     6310
     6311/* Line 1806 of yacc.c  */
     6312#line 954 "parser.yy"
    63216313    { (yyval.constant) = (yyvsp[(1) - (1)].constant); }
    63226314    break;
    63236315
    6324   case 230:
    6325 
    6326 /* Line 1806 of yacc.c  */
    6327 #line 952 "parser.yy"
     6316  case 232:
     6317
     6318/* Line 1806 of yacc.c  */
     6319#line 956 "parser.yy"
    63286320    { (yyval.constant) = (ConstantNode *)(yyvsp[(1) - (3)].constant)->set_link( (yyvsp[(3) - (3)].constant) ); }
    63296321    break;
    63306322
    6331   case 231:
    6332 
    6333 /* Line 1806 of yacc.c  */
    6334 #line 957 "parser.yy"
     6323  case 233:
     6324
     6325/* Line 1806 of yacc.c  */
     6326#line 961 "parser.yy"
    63356327    { (yyval.label) = new LabelNode(); (yyval.label)->append_label( (yyvsp[(1) - (1)].tok) ); }
    63366328    break;
    63376329
    6338   case 232:
    6339 
    6340 /* Line 1806 of yacc.c  */
    6341 #line 959 "parser.yy"
     6330  case 234:
     6331
     6332/* Line 1806 of yacc.c  */
     6333#line 963 "parser.yy"
    63426334    { (yyval.label) = (yyvsp[(1) - (3)].label); (yyvsp[(1) - (3)].label)->append_label( (yyvsp[(3) - (3)].tok) ); }
    63436335    break;
    63446336
    6345   case 233:
    6346 
    6347 /* Line 1806 of yacc.c  */
    6348 #line 966 "parser.yy"
     6337  case 235:
     6338
     6339/* Line 1806 of yacc.c  */
     6340#line 970 "parser.yy"
    63496341    { (yyval.decl) = 0; }
    63506342    break;
    63516343
    6352   case 236:
    6353 
    6354 /* Line 1806 of yacc.c  */
    6355 #line 973 "parser.yy"
     6344  case 238:
     6345
     6346/* Line 1806 of yacc.c  */
     6347#line 977 "parser.yy"
    63566348    { (yyval.decl) = (yyvsp[(1) - (3)].decl)->appendList( (yyvsp[(3) - (3)].decl) ); }
    63576349    break;
    63586350
    6359   case 237:
    6360 
    6361 /* Line 1806 of yacc.c  */
    6362 #line 978 "parser.yy"
     6351  case 239:
     6352
     6353/* Line 1806 of yacc.c  */
     6354#line 982 "parser.yy"
    63636355    { (yyval.decl) = 0; }
    63646356    break;
    63656357
    6366   case 240:
    6367 
    6368 /* Line 1806 of yacc.c  */
    6369 #line 985 "parser.yy"
     6358  case 242:
     6359
     6360/* Line 1806 of yacc.c  */
     6361#line 989 "parser.yy"
    63706362    { (yyval.decl) = (yyvsp[(1) - (3)].decl)->appendList( (yyvsp[(3) - (3)].decl) ); }
    63716363    break;
    63726364
    6373   case 245:
    6374 
    6375 /* Line 1806 of yacc.c  */
    6376 #line 999 "parser.yy"
     6365  case 247:
     6366
     6367/* Line 1806 of yacc.c  */
     6368#line 1003 "parser.yy"
    63776369    {}
    63786370    break;
    63796371
    6380   case 246:
    6381 
    6382 /* Line 1806 of yacc.c  */
    6383 #line 1000 "parser.yy"
     6372  case 248:
     6373
     6374/* Line 1806 of yacc.c  */
     6375#line 1004 "parser.yy"
    63846376    {}
    63856377    break;
    63866378
    6387   case 254:
    6388 
    6389 /* Line 1806 of yacc.c  */
    6390 #line 1029 "parser.yy"
     6379  case 256:
     6380
     6381/* Line 1806 of yacc.c  */
     6382#line 1033 "parser.yy"
    63916383    {
    63926384                        typedefTable.addToEnclosingScope( TypedefTable::ID );
     
    63956387    break;
    63966388
    6397   case 255:
    6398 
    6399 /* Line 1806 of yacc.c  */
    6400 #line 1036 "parser.yy"
     6389  case 257:
     6390
     6391/* Line 1806 of yacc.c  */
     6392#line 1040 "parser.yy"
    64016393    {
    64026394                        typedefTable.addToEnclosingScope( TypedefTable::ID );
     
    64056397    break;
    64066398
    6407   case 256:
    6408 
    6409 /* Line 1806 of yacc.c  */
    6410 #line 1041 "parser.yy"
     6399  case 258:
     6400
     6401/* Line 1806 of yacc.c  */
     6402#line 1045 "parser.yy"
    64116403    {
    64126404                        typedefTable.addToEnclosingScope( *(yyvsp[(5) - (6)].tok), TypedefTable::ID );
     
    64156407    break;
    64166408
    6417   case 257:
    6418 
    6419 /* Line 1806 of yacc.c  */
    6420 #line 1051 "parser.yy"
     6409  case 259:
     6410
     6411/* Line 1806 of yacc.c  */
     6412#line 1055 "parser.yy"
    64216413    {
    64226414                        typedefTable.setNextIdentifier( *(yyvsp[(2) - (3)].tok) );
     
    64256417    break;
    64266418
    6427   case 258:
    6428 
    6429 /* Line 1806 of yacc.c  */
    6430 #line 1056 "parser.yy"
     6419  case 260:
     6420
     6421/* Line 1806 of yacc.c  */
     6422#line 1060 "parser.yy"
    64316423    {
    64326424                        typedefTable.setNextIdentifier( *(yyvsp[(2) - (3)].tok) );
     
    64356427    break;
    64366428
    6437   case 259:
    6438 
    6439 /* Line 1806 of yacc.c  */
    6440 #line 1061 "parser.yy"
     6429  case 261:
     6430
     6431/* Line 1806 of yacc.c  */
     6432#line 1065 "parser.yy"
    64416433    {
    64426434                        typedefTable.setNextIdentifier( *(yyvsp[(3) - (4)].tok) );
     
    64456437    break;
    64466438
    6447   case 260:
    6448 
    6449 /* Line 1806 of yacc.c  */
    6450 #line 1069 "parser.yy"
     6439  case 262:
     6440
     6441/* Line 1806 of yacc.c  */
     6442#line 1073 "parser.yy"
    64516443    {
    64526444                        typedefTable.addToEnclosingScope( TypedefTable::ID );
     
    64556447    break;
    64566448
    6457   case 261:
    6458 
    6459 /* Line 1806 of yacc.c  */
    6460 #line 1074 "parser.yy"
     6449  case 263:
     6450
     6451/* Line 1806 of yacc.c  */
     6452#line 1078 "parser.yy"
    64616453    {
    64626454                        typedefTable.addToEnclosingScope( TypedefTable::ID );
     
    64656457    break;
    64666458
    6467   case 262:
    6468 
    6469 /* Line 1806 of yacc.c  */
    6470 #line 1079 "parser.yy"
     6459  case 264:
     6460
     6461/* Line 1806 of yacc.c  */
     6462#line 1083 "parser.yy"
    64716463    {
    64726464                        typedefTable.addToEnclosingScope( TypedefTable::ID );
     
    64756467    break;
    64766468
    6477   case 263:
    6478 
    6479 /* Line 1806 of yacc.c  */
    6480 #line 1084 "parser.yy"
     6469  case 265:
     6470
     6471/* Line 1806 of yacc.c  */
     6472#line 1088 "parser.yy"
    64816473    {
    64826474                        typedefTable.addToEnclosingScope( TypedefTable::ID );
     
    64856477    break;
    64866478
    6487   case 264:
    6488 
    6489 /* Line 1806 of yacc.c  */
    6490 #line 1089 "parser.yy"
     6479  case 266:
     6480
     6481/* Line 1806 of yacc.c  */
     6482#line 1093 "parser.yy"
    64916483    {
    64926484                        typedefTable.addToEnclosingScope( *(yyvsp[(5) - (5)].tok), TypedefTable::ID );
     
    64956487    break;
    64966488
    6497   case 265:
    6498 
    6499 /* Line 1806 of yacc.c  */
    6500 #line 1097 "parser.yy"
     6489  case 267:
     6490
     6491/* Line 1806 of yacc.c  */
     6492#line 1101 "parser.yy"
    65016493    {
    65026494                        (yyval.decl) = DeclarationNode::newFunction( (yyvsp[(3) - (8)].tok), DeclarationNode::newTuple( 0 ), (yyvsp[(6) - (8)].decl), 0, true );
     
    65046496    break;
    65056497
    6506   case 266:
    6507 
    6508 /* Line 1806 of yacc.c  */
    6509 #line 1120 "parser.yy"
    6510     {
    6511                         (yyval.decl) = DeclarationNode::newFunction( (yyvsp[(2) - (7)].tok), (yyvsp[(1) - (7)].decl), (yyvsp[(5) - (7)].decl), 0, true );
    6512                 }
    6513     break;
    6514 
    6515   case 267:
     6498  case 268:
    65166499
    65176500/* Line 1806 of yacc.c  */
     
    65226505    break;
    65236506
    6524   case 268:
    6525 
    6526 /* Line 1806 of yacc.c  */
    6527 #line 1131 "parser.yy"
     6507  case 269:
     6508
     6509/* Line 1806 of yacc.c  */
     6510#line 1128 "parser.yy"
     6511    {
     6512                        (yyval.decl) = DeclarationNode::newFunction( (yyvsp[(2) - (7)].tok), (yyvsp[(1) - (7)].decl), (yyvsp[(5) - (7)].decl), 0, true );
     6513                }
     6514    break;
     6515
     6516  case 270:
     6517
     6518/* Line 1806 of yacc.c  */
     6519#line 1135 "parser.yy"
    65286520    { (yyval.decl) = DeclarationNode::newTuple( (yyvsp[(3) - (5)].decl) ); }
    65296521    break;
    65306522
    6531   case 269:
    6532 
    6533 /* Line 1806 of yacc.c  */
    6534 #line 1135 "parser.yy"
     6523  case 271:
     6524
     6525/* Line 1806 of yacc.c  */
     6526#line 1139 "parser.yy"
    65356527    { (yyval.decl) = DeclarationNode::newTuple( (yyvsp[(3) - (9)].decl)->appendList( (yyvsp[(7) - (9)].decl) ) ); }
    65366528    break;
    65376529
    6538   case 270:
    6539 
    6540 /* Line 1806 of yacc.c  */
    6541 #line 1140 "parser.yy"
     6530  case 272:
     6531
     6532/* Line 1806 of yacc.c  */
     6533#line 1144 "parser.yy"
    65426534    {
    65436535                        typedefTable.addToEnclosingScope( TypedefTable::TD );
     
    65466538    break;
    65476539
    6548   case 271:
    6549 
    6550 /* Line 1806 of yacc.c  */
    6551 #line 1145 "parser.yy"
     6540  case 273:
     6541
     6542/* Line 1806 of yacc.c  */
     6543#line 1149 "parser.yy"
    65526544    {
    65536545                        typedefTable.addToEnclosingScope( TypedefTable::TD );
     
    65566548    break;
    65576549
    6558   case 272:
    6559 
    6560 /* Line 1806 of yacc.c  */
    6561 #line 1150 "parser.yy"
     6550  case 274:
     6551
     6552/* Line 1806 of yacc.c  */
     6553#line 1154 "parser.yy"
    65626554    {
    65636555                        typedefTable.addToEnclosingScope( *(yyvsp[(5) - (5)].tok), TypedefTable::TD );
     
    65666558    break;
    65676559
    6568   case 273:
    6569 
    6570 /* Line 1806 of yacc.c  */
    6571 #line 1161 "parser.yy"
     6560  case 275:
     6561
     6562/* Line 1806 of yacc.c  */
     6563#line 1165 "parser.yy"
    65726564    {
    65736565                        typedefTable.addToEnclosingScope( TypedefTable::TD );
     
    65766568    break;
    65776569
    6578   case 274:
    6579 
    6580 /* Line 1806 of yacc.c  */
    6581 #line 1166 "parser.yy"
     6570  case 276:
     6571
     6572/* Line 1806 of yacc.c  */
     6573#line 1170 "parser.yy"
    65826574    {
    65836575                        typedefTable.addToEnclosingScope( TypedefTable::TD );
     
    65866578    break;
    65876579
    6588   case 275:
    6589 
    6590 /* Line 1806 of yacc.c  */
    6591 #line 1171 "parser.yy"
     6580  case 277:
     6581
     6582/* Line 1806 of yacc.c  */
     6583#line 1175 "parser.yy"
    65926584    {
    65936585                        typedefTable.addToEnclosingScope( TypedefTable::TD );
     
    65966588    break;
    65976589
    6598   case 276:
    6599 
    6600 /* Line 1806 of yacc.c  */
    6601 #line 1176 "parser.yy"
     6590  case 278:
     6591
     6592/* Line 1806 of yacc.c  */
     6593#line 1180 "parser.yy"
    66026594    {
    66036595                        typedefTable.addToEnclosingScope( TypedefTable::TD );
     
    66066598    break;
    66076599
    6608   case 277:
    6609 
    6610 /* Line 1806 of yacc.c  */
    6611 #line 1181 "parser.yy"
     6600  case 279:
     6601
     6602/* Line 1806 of yacc.c  */
     6603#line 1185 "parser.yy"
    66126604    {
    66136605                        typedefTable.addToEnclosingScope( TypedefTable::TD );
     
    66166608    break;
    66176609
    6618   case 278:
    6619 
    6620 /* Line 1806 of yacc.c  */
    6621 #line 1190 "parser.yy"
     6610  case 280:
     6611
     6612/* Line 1806 of yacc.c  */
     6613#line 1194 "parser.yy"
    66226614    {
    66236615                        typedefTable.addToEnclosingScope( *(yyvsp[(2) - (4)].tok), TypedefTable::TD );
     
    66266618    break;
    66276619
    6628   case 279:
    6629 
    6630 /* Line 1806 of yacc.c  */
    6631 #line 1195 "parser.yy"
     6620  case 281:
     6621
     6622/* Line 1806 of yacc.c  */
     6623#line 1199 "parser.yy"
    66326624    {
    66336625                        typedefTable.addToEnclosingScope( *(yyvsp[(5) - (7)].tok), TypedefTable::TD );
     
    66366628    break;
    66376629
    6638   case 284:
    6639 
    6640 /* Line 1806 of yacc.c  */
    6641 #line 1212 "parser.yy"
     6630  case 286:
     6631
     6632/* Line 1806 of yacc.c  */
     6633#line 1216 "parser.yy"
    66426634    {
    66436635                        typedefTable.addToEnclosingScope( TypedefTable::ID );
     
    66466638    break;
    66476639
    6648   case 285:
    6649 
    6650 /* Line 1806 of yacc.c  */
    6651 #line 1217 "parser.yy"
     6640  case 287:
     6641
     6642/* Line 1806 of yacc.c  */
     6643#line 1221 "parser.yy"
    66526644    {
    66536645                        typedefTable.addToEnclosingScope( TypedefTable::ID );
     
    66566648    break;
    66576649
    6658   case 294:
    6659 
    6660 /* Line 1806 of yacc.c  */
    6661 #line 1239 "parser.yy"
     6650  case 296:
     6651
     6652/* Line 1806 of yacc.c  */
     6653#line 1243 "parser.yy"
    66626654    { (yyval.decl) = 0; }
    66636655    break;
    66646656
    6665   case 297:
    6666 
    6667 /* Line 1806 of yacc.c  */
    6668 #line 1251 "parser.yy"
     6657  case 299:
     6658
     6659/* Line 1806 of yacc.c  */
     6660#line 1255 "parser.yy"
    66696661    { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); }
    66706662    break;
    66716663
    6672   case 300:
    6673 
    6674 /* Line 1806 of yacc.c  */
    6675 #line 1262 "parser.yy"
     6664  case 302:
     6665
     6666/* Line 1806 of yacc.c  */
     6667#line 1266 "parser.yy"
    66766668    { (yyval.decl) = DeclarationNode::newQualifier( DeclarationNode::Const ); }
    66776669    break;
    66786670
    6679   case 301:
    6680 
    6681 /* Line 1806 of yacc.c  */
    6682 #line 1264 "parser.yy"
     6671  case 303:
     6672
     6673/* Line 1806 of yacc.c  */
     6674#line 1268 "parser.yy"
    66836675    { (yyval.decl) = DeclarationNode::newQualifier( DeclarationNode::Restrict ); }
    66846676    break;
    66856677
    6686   case 302:
    6687 
    6688 /* Line 1806 of yacc.c  */
    6689 #line 1266 "parser.yy"
     6678  case 304:
     6679
     6680/* Line 1806 of yacc.c  */
     6681#line 1270 "parser.yy"
    66906682    { (yyval.decl) = DeclarationNode::newQualifier( DeclarationNode::Volatile ); }
    66916683    break;
    66926684
    6693   case 303:
    6694 
    6695 /* Line 1806 of yacc.c  */
    6696 #line 1268 "parser.yy"
     6685  case 305:
     6686
     6687/* Line 1806 of yacc.c  */
     6688#line 1272 "parser.yy"
    66976689    { (yyval.decl) = DeclarationNode::newQualifier( DeclarationNode::Lvalue ); }
    66986690    break;
    66996691
    6700   case 304:
    6701 
    6702 /* Line 1806 of yacc.c  */
    6703 #line 1270 "parser.yy"
     6692  case 306:
     6693
     6694/* Line 1806 of yacc.c  */
     6695#line 1274 "parser.yy"
    67046696    { (yyval.decl) = DeclarationNode::newQualifier( DeclarationNode::Atomic ); }
    67056697    break;
    67066698
    6707   case 305:
    6708 
    6709 /* Line 1806 of yacc.c  */
    6710 #line 1272 "parser.yy"
     6699  case 307:
     6700
     6701/* Line 1806 of yacc.c  */
     6702#line 1276 "parser.yy"
    67116703    {
    67126704                        typedefTable.enterScope();
     
    67146706    break;
    67156707
    6716   case 306:
    6717 
    6718 /* Line 1806 of yacc.c  */
    6719 #line 1276 "parser.yy"
     6708  case 308:
     6709
     6710/* Line 1806 of yacc.c  */
     6711#line 1280 "parser.yy"
    67206712    {
    67216713                        typedefTable.leaveScope();
     
    67246716    break;
    67256717
    6726   case 308:
    6727 
    6728 /* Line 1806 of yacc.c  */
    6729 #line 1285 "parser.yy"
     6718  case 310:
     6719
     6720/* Line 1806 of yacc.c  */
     6721#line 1289 "parser.yy"
    67306722    { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); }
    67316723    break;
    67326724
    6733   case 309:
    6734 
    6735 /* Line 1806 of yacc.c  */
    6736 #line 1287 "parser.yy"
     6725  case 311:
     6726
     6727/* Line 1806 of yacc.c  */
     6728#line 1291 "parser.yy"
    67376729    { (yyval.decl) = (yyvsp[(1) - (3)].decl)->addQualifiers( (yyvsp[(2) - (3)].decl) )->addQualifiers( (yyvsp[(3) - (3)].decl) ); }
    67386730    break;
    67396731
    6740   case 311:
    6741 
    6742 /* Line 1806 of yacc.c  */
    6743 #line 1298 "parser.yy"
     6732  case 313:
     6733
     6734/* Line 1806 of yacc.c  */
     6735#line 1302 "parser.yy"
    67446736    { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); }
    67456737    break;
    67466738
    6747   case 313:
    6748 
    6749 /* Line 1806 of yacc.c  */
    6750 #line 1307 "parser.yy"
     6739  case 315:
     6740
     6741/* Line 1806 of yacc.c  */
     6742#line 1311 "parser.yy"
    67516743    { (yyval.decl) = DeclarationNode::newStorageClass( DeclarationNode::Extern ); }
    67526744    break;
    67536745
    6754   case 314:
    6755 
    6756 /* Line 1806 of yacc.c  */
    6757 #line 1309 "parser.yy"
     6746  case 316:
     6747
     6748/* Line 1806 of yacc.c  */
     6749#line 1313 "parser.yy"
    67586750    { (yyval.decl) = DeclarationNode::newStorageClass( DeclarationNode::Static ); }
    67596751    break;
    67606752
    6761   case 315:
    6762 
    6763 /* Line 1806 of yacc.c  */
    6764 #line 1311 "parser.yy"
     6753  case 317:
     6754
     6755/* Line 1806 of yacc.c  */
     6756#line 1315 "parser.yy"
    67656757    { (yyval.decl) = DeclarationNode::newStorageClass( DeclarationNode::Auto ); }
    67666758    break;
    67676759
    6768   case 316:
    6769 
    6770 /* Line 1806 of yacc.c  */
    6771 #line 1313 "parser.yy"
     6760  case 318:
     6761
     6762/* Line 1806 of yacc.c  */
     6763#line 1317 "parser.yy"
    67726764    { (yyval.decl) = DeclarationNode::newStorageClass( DeclarationNode::Register ); }
    67736765    break;
    67746766
    6775   case 317:
    6776 
    6777 /* Line 1806 of yacc.c  */
    6778 #line 1315 "parser.yy"
     6767  case 319:
     6768
     6769/* Line 1806 of yacc.c  */
     6770#line 1319 "parser.yy"
    67796771    { (yyval.decl) = DeclarationNode::newStorageClass( DeclarationNode::Inline ); }
    67806772    break;
    67816773
    6782   case 318:
    6783 
    6784 /* Line 1806 of yacc.c  */
    6785 #line 1317 "parser.yy"
     6774  case 320:
     6775
     6776/* Line 1806 of yacc.c  */
     6777#line 1321 "parser.yy"
    67866778    { (yyval.decl) = DeclarationNode::newStorageClass( DeclarationNode::Fortran ); }
    67876779    break;
    67886780
    6789   case 319:
    6790 
    6791 /* Line 1806 of yacc.c  */
    6792 #line 1319 "parser.yy"
     6781  case 321:
     6782
     6783/* Line 1806 of yacc.c  */
     6784#line 1323 "parser.yy"
    67936785    { (yyval.decl) = DeclarationNode::newStorageClass( DeclarationNode::Noreturn ); }
    67946786    break;
    67956787
    6796   case 320:
    6797 
    6798 /* Line 1806 of yacc.c  */
    6799 #line 1321 "parser.yy"
     6788  case 322:
     6789
     6790/* Line 1806 of yacc.c  */
     6791#line 1325 "parser.yy"
    68006792    { (yyval.decl) = DeclarationNode::newStorageClass( DeclarationNode::Threadlocal ); }
    68016793    break;
    68026794
    6803   case 321:
    6804 
    6805 /* Line 1806 of yacc.c  */
    6806 #line 1326 "parser.yy"
     6795  case 323:
     6796
     6797/* Line 1806 of yacc.c  */
     6798#line 1330 "parser.yy"
    68076799    { (yyval.decl) = DeclarationNode::newBasicType( DeclarationNode::Char ); }
    68086800    break;
    68096801
    6810   case 322:
    6811 
    6812 /* Line 1806 of yacc.c  */
    6813 #line 1328 "parser.yy"
     6802  case 324:
     6803
     6804/* Line 1806 of yacc.c  */
     6805#line 1332 "parser.yy"
    68146806    { (yyval.decl) = DeclarationNode::newBasicType( DeclarationNode::Double ); }
    68156807    break;
    68166808
    6817   case 323:
    6818 
    6819 /* Line 1806 of yacc.c  */
    6820 #line 1330 "parser.yy"
     6809  case 325:
     6810
     6811/* Line 1806 of yacc.c  */
     6812#line 1334 "parser.yy"
    68216813    { (yyval.decl) = DeclarationNode::newBasicType( DeclarationNode::Float ); }
    68226814    break;
    68236815
    6824   case 324:
    6825 
    6826 /* Line 1806 of yacc.c  */
    6827 #line 1332 "parser.yy"
     6816  case 326:
     6817
     6818/* Line 1806 of yacc.c  */
     6819#line 1336 "parser.yy"
    68286820    { (yyval.decl) = DeclarationNode::newBasicType( DeclarationNode::Int ); }
    68296821    break;
    68306822
    6831   case 325:
    6832 
    6833 /* Line 1806 of yacc.c  */
    6834 #line 1334 "parser.yy"
     6823  case 327:
     6824
     6825/* Line 1806 of yacc.c  */
     6826#line 1338 "parser.yy"
    68356827    { (yyval.decl) = DeclarationNode::newModifier( DeclarationNode::Long ); }
    68366828    break;
    68376829
    6838   case 326:
    6839 
    6840 /* Line 1806 of yacc.c  */
    6841 #line 1336 "parser.yy"
     6830  case 328:
     6831
     6832/* Line 1806 of yacc.c  */
     6833#line 1340 "parser.yy"
    68426834    { (yyval.decl) = DeclarationNode::newModifier( DeclarationNode::Short ); }
    68436835    break;
    68446836
    6845   case 327:
    6846 
    6847 /* Line 1806 of yacc.c  */
    6848 #line 1338 "parser.yy"
     6837  case 329:
     6838
     6839/* Line 1806 of yacc.c  */
     6840#line 1342 "parser.yy"
    68496841    { (yyval.decl) = DeclarationNode::newModifier( DeclarationNode::Signed ); }
    68506842    break;
    68516843
    6852   case 328:
    6853 
    6854 /* Line 1806 of yacc.c  */
    6855 #line 1340 "parser.yy"
     6844  case 330:
     6845
     6846/* Line 1806 of yacc.c  */
     6847#line 1344 "parser.yy"
    68566848    { (yyval.decl) = DeclarationNode::newModifier( DeclarationNode::Unsigned ); }
    68576849    break;
    68586850
    6859   case 329:
    6860 
    6861 /* Line 1806 of yacc.c  */
    6862 #line 1342 "parser.yy"
     6851  case 331:
     6852
     6853/* Line 1806 of yacc.c  */
     6854#line 1346 "parser.yy"
    68636855    { (yyval.decl) = DeclarationNode::newBasicType( DeclarationNode::Void ); }
    68646856    break;
    68656857
    6866   case 330:
    6867 
    6868 /* Line 1806 of yacc.c  */
    6869 #line 1344 "parser.yy"
     6858  case 332:
     6859
     6860/* Line 1806 of yacc.c  */
     6861#line 1348 "parser.yy"
    68706862    { (yyval.decl) = DeclarationNode::newBasicType( DeclarationNode::Bool ); }
    68716863    break;
    68726864
    6873   case 331:
    6874 
    6875 /* Line 1806 of yacc.c  */
    6876 #line 1346 "parser.yy"
     6865  case 333:
     6866
     6867/* Line 1806 of yacc.c  */
     6868#line 1350 "parser.yy"
    68776869    { (yyval.decl) = DeclarationNode::newBasicType( DeclarationNode::Complex ); }
    68786870    break;
    68796871
    6880   case 332:
    6881 
    6882 /* Line 1806 of yacc.c  */
    6883 #line 1348 "parser.yy"
     6872  case 334:
     6873
     6874/* Line 1806 of yacc.c  */
     6875#line 1352 "parser.yy"
    68846876    { (yyval.decl) = DeclarationNode::newBasicType( DeclarationNode::Imaginary ); }
    68856877    break;
    68866878
    6887   case 333:
    6888 
    6889 /* Line 1806 of yacc.c  */
    6890 #line 1350 "parser.yy"
     6879  case 335:
     6880
     6881/* Line 1806 of yacc.c  */
     6882#line 1354 "parser.yy"
    68916883    { (yyval.decl) = DeclarationNode::newBuiltinType( DeclarationNode::Valist ); }
    68926884    break;
    68936885
    6894   case 335:
    6895 
    6896 /* Line 1806 of yacc.c  */
    6897 #line 1357 "parser.yy"
     6886  case 337:
     6887
     6888/* Line 1806 of yacc.c  */
     6889#line 1361 "parser.yy"
    68986890    { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addQualifiers( (yyvsp[(1) - (2)].decl) ); }
    68996891    break;
    69006892
    6901   case 336:
    6902 
    6903 /* Line 1806 of yacc.c  */
    6904 #line 1359 "parser.yy"
     6893  case 338:
     6894
     6895/* Line 1806 of yacc.c  */
     6896#line 1363 "parser.yy"
    69056897    { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); }
    69066898    break;
    69076899
    6908   case 337:
    6909 
    6910 /* Line 1806 of yacc.c  */
    6911 #line 1361 "parser.yy"
     6900  case 339:
     6901
     6902/* Line 1806 of yacc.c  */
     6903#line 1365 "parser.yy"
    69126904    { (yyval.decl) = (yyvsp[(1) - (3)].decl)->addQualifiers( (yyvsp[(2) - (3)].decl) )->addQualifiers( (yyvsp[(3) - (3)].decl) ); }
    69136905    break;
    69146906
    6915   case 338:
    6916 
    6917 /* Line 1806 of yacc.c  */
    6918 #line 1363 "parser.yy"
     6907  case 340:
     6908
     6909/* Line 1806 of yacc.c  */
     6910#line 1367 "parser.yy"
    69196911    { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addQualifiers( (yyvsp[(2) - (3)].decl) )->addType( (yyvsp[(1) - (3)].decl) ); }
    69206912    break;
    69216913
    6922   case 340:
    6923 
    6924 /* Line 1806 of yacc.c  */
    6925 #line 1369 "parser.yy"
     6914  case 342:
     6915
     6916/* Line 1806 of yacc.c  */
     6917#line 1373 "parser.yy"
    69266918    { (yyval.decl) = (yyvsp[(2) - (3)].decl)->addQualifiers( (yyvsp[(1) - (3)].decl) )->addQualifiers( (yyvsp[(3) - (3)].decl) ); }
    69276919    break;
    69286920
    6929   case 342:
    6930 
    6931 /* Line 1806 of yacc.c  */
    6932 #line 1376 "parser.yy"
     6921  case 344:
     6922
     6923/* Line 1806 of yacc.c  */
     6924#line 1380 "parser.yy"
    69336925    { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addQualifiers( (yyvsp[(1) - (2)].decl) ); }
    69346926    break;
    69356927
    6936   case 343:
    6937 
    6938 /* Line 1806 of yacc.c  */
    6939 #line 1378 "parser.yy"
     6928  case 345:
     6929
     6930/* Line 1806 of yacc.c  */
     6931#line 1382 "parser.yy"
    69406932    { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); }
    69416933    break;
    69426934
    6943   case 344:
    6944 
    6945 /* Line 1806 of yacc.c  */
    6946 #line 1380 "parser.yy"
     6935  case 346:
     6936
     6937/* Line 1806 of yacc.c  */
     6938#line 1384 "parser.yy"
    69476939    { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addType( (yyvsp[(2) - (2)].decl) ); }
    69486940    break;
    69496941
    6950   case 345:
    6951 
    6952 /* Line 1806 of yacc.c  */
    6953 #line 1385 "parser.yy"
     6942  case 347:
     6943
     6944/* Line 1806 of yacc.c  */
     6945#line 1389 "parser.yy"
    69546946    { (yyval.decl) = (yyvsp[(3) - (4)].decl); }
    69556947    break;
    69566948
    6957   case 346:
    6958 
    6959 /* Line 1806 of yacc.c  */
    6960 #line 1387 "parser.yy"
     6949  case 348:
     6950
     6951/* Line 1806 of yacc.c  */
     6952#line 1391 "parser.yy"
    69616953    { (yyval.decl) = DeclarationNode::newTypeof( (yyvsp[(3) - (4)].en) ); }
    69626954    break;
    69636955
    6964   case 347:
    6965 
    6966 /* Line 1806 of yacc.c  */
    6967 #line 1389 "parser.yy"
     6956  case 349:
     6957
     6958/* Line 1806 of yacc.c  */
     6959#line 1393 "parser.yy"
    69686960    { (yyval.decl) = DeclarationNode::newAttr( (yyvsp[(1) - (4)].tok), (yyvsp[(3) - (4)].decl) ); }
    69696961    break;
    69706962
    6971   case 348:
    6972 
    6973 /* Line 1806 of yacc.c  */
    6974 #line 1391 "parser.yy"
     6963  case 350:
     6964
     6965/* Line 1806 of yacc.c  */
     6966#line 1395 "parser.yy"
    69756967    { (yyval.decl) = DeclarationNode::newAttr( (yyvsp[(1) - (4)].tok), (yyvsp[(3) - (4)].en) ); }
    69766968    break;
    69776969
    6978   case 350:
    6979 
    6980 /* Line 1806 of yacc.c  */
    6981 #line 1397 "parser.yy"
     6970  case 352:
     6971
     6972/* Line 1806 of yacc.c  */
     6973#line 1401 "parser.yy"
    69826974    { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addQualifiers( (yyvsp[(1) - (2)].decl) ); }
    69836975    break;
    69846976
    6985   case 351:
    6986 
    6987 /* Line 1806 of yacc.c  */
    6988 #line 1399 "parser.yy"
     6977  case 353:
     6978
     6979/* Line 1806 of yacc.c  */
     6980#line 1403 "parser.yy"
    69896981    { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); }
    69906982    break;
    69916983
    6992   case 352:
    6993 
    6994 /* Line 1806 of yacc.c  */
    6995 #line 1401 "parser.yy"
     6984  case 354:
     6985
     6986/* Line 1806 of yacc.c  */
     6987#line 1405 "parser.yy"
    69966988    { (yyval.decl) = (yyvsp[(1) - (3)].decl)->addQualifiers( (yyvsp[(2) - (3)].decl) )->addQualifiers( (yyvsp[(3) - (3)].decl) ); }
    69976989    break;
    69986990
    6999   case 354:
    7000 
    7001 /* Line 1806 of yacc.c  */
    7002 #line 1407 "parser.yy"
     6991  case 356:
     6992
     6993/* Line 1806 of yacc.c  */
     6994#line 1411 "parser.yy"
    70036995    { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addQualifiers( (yyvsp[(1) - (2)].decl) ); }
    70046996    break;
    70056997
    7006   case 355:
    7007 
    7008 /* Line 1806 of yacc.c  */
    7009 #line 1409 "parser.yy"
     6998  case 357:
     6999
     7000/* Line 1806 of yacc.c  */
     7001#line 1413 "parser.yy"
    70107002    { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); }
    70117003    break;
    70127004
    7013   case 357:
    7014 
    7015 /* Line 1806 of yacc.c  */
    7016 #line 1415 "parser.yy"
     7005  case 359:
     7006
     7007/* Line 1806 of yacc.c  */
     7008#line 1419 "parser.yy"
    70177009    { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addQualifiers( (yyvsp[(1) - (2)].decl) ); }
    70187010    break;
    70197011
    7020   case 358:
    7021 
    7022 /* Line 1806 of yacc.c  */
    7023 #line 1417 "parser.yy"
     7012  case 360:
     7013
     7014/* Line 1806 of yacc.c  */
     7015#line 1421 "parser.yy"
    70247016    { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); }
    70257017    break;
    70267018
    7027   case 359:
    7028 
    7029 /* Line 1806 of yacc.c  */
    7030 #line 1419 "parser.yy"
     7019  case 361:
     7020
     7021/* Line 1806 of yacc.c  */
     7022#line 1423 "parser.yy"
    70317023    { (yyval.decl) = (yyvsp[(1) - (3)].decl)->addQualifiers( (yyvsp[(2) - (3)].decl) )->addQualifiers( (yyvsp[(3) - (3)].decl) ); }
    70327024    break;
    70337025
    7034   case 360:
    7035 
    7036 /* Line 1806 of yacc.c  */
    7037 #line 1424 "parser.yy"
     7026  case 362:
     7027
     7028/* Line 1806 of yacc.c  */
     7029#line 1428 "parser.yy"
    70387030    { (yyval.decl) = DeclarationNode::newFromTypedef( (yyvsp[(1) - (1)].tok) ); }
    70397031    break;
    70407032
    7041   case 361:
    7042 
    7043 /* Line 1806 of yacc.c  */
    7044 #line 1426 "parser.yy"
     7033  case 363:
     7034
     7035/* Line 1806 of yacc.c  */
     7036#line 1430 "parser.yy"
    70457037    { (yyval.decl) = DeclarationNode::newFromTypedef( (yyvsp[(2) - (2)].tok) )->addQualifiers( (yyvsp[(1) - (2)].decl) ); }
    70467038    break;
    70477039
    7048   case 362:
    7049 
    7050 /* Line 1806 of yacc.c  */
    7051 #line 1428 "parser.yy"
     7040  case 364:
     7041
     7042/* Line 1806 of yacc.c  */
     7043#line 1432 "parser.yy"
    70527044    { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); }
    70537045    break;
    70547046
    7055   case 365:
    7056 
    7057 /* Line 1806 of yacc.c  */
    7058 #line 1438 "parser.yy"
     7047  case 367:
     7048
     7049/* Line 1806 of yacc.c  */
     7050#line 1442 "parser.yy"
    70597051    { (yyval.decl) = DeclarationNode::newAggregate( (yyvsp[(1) - (4)].aggKey), 0, 0, (yyvsp[(3) - (4)].decl) ); }
    70607052    break;
    70617053
    7062   case 366:
    7063 
    7064 /* Line 1806 of yacc.c  */
    7065 #line 1440 "parser.yy"
     7054  case 368:
     7055
     7056/* Line 1806 of yacc.c  */
     7057#line 1444 "parser.yy"
    70667058    {
    70677059                        typedefTable.makeTypedef( *(yyvsp[(2) - (2)].tok) );
     
    70707062    break;
    70717063
    7072   case 367:
    7073 
    7074 /* Line 1806 of yacc.c  */
    7075 #line 1445 "parser.yy"
     7064  case 369:
     7065
     7066/* Line 1806 of yacc.c  */
     7067#line 1449 "parser.yy"
    70767068    { typedefTable.makeTypedef( *(yyvsp[(2) - (2)].tok) ); }
    70777069    break;
    70787070
    7079   case 368:
    7080 
    7081 /* Line 1806 of yacc.c  */
    7082 #line 1447 "parser.yy"
     7071  case 370:
     7072
     7073/* Line 1806 of yacc.c  */
     7074#line 1451 "parser.yy"
    70837075    { (yyval.decl) = DeclarationNode::newAggregate( (yyvsp[(1) - (6)].aggKey), (yyvsp[(2) - (6)].tok), 0, (yyvsp[(5) - (6)].decl)); }
    70847076    break;
    70857077
    7086   case 369:
    7087 
    7088 /* Line 1806 of yacc.c  */
    7089 #line 1449 "parser.yy"
     7078  case 371:
     7079
     7080/* Line 1806 of yacc.c  */
     7081#line 1453 "parser.yy"
    70907082    { (yyval.decl) = DeclarationNode::newAggregate( (yyvsp[(1) - (7)].aggKey), 0, (yyvsp[(3) - (7)].en), (yyvsp[(6) - (7)].decl) ); }
    70917083    break;
    70927084
    7093   case 370:
    7094 
    7095 /* Line 1806 of yacc.c  */
    7096 #line 1451 "parser.yy"
     7085  case 372:
     7086
     7087/* Line 1806 of yacc.c  */
     7088#line 1455 "parser.yy"
    70977089    { (yyval.decl) = (yyvsp[(2) - (2)].decl); }
    70987090    break;
    70997091
    7100   case 371:
    7101 
    7102 /* Line 1806 of yacc.c  */
    7103 #line 1456 "parser.yy"
     7092  case 373:
     7093
     7094/* Line 1806 of yacc.c  */
     7095#line 1460 "parser.yy"
    71047096    { (yyval.aggKey) = DeclarationNode::Struct; }
    71057097    break;
    71067098
    7107   case 372:
    7108 
    7109 /* Line 1806 of yacc.c  */
    7110 #line 1458 "parser.yy"
     7099  case 374:
     7100
     7101/* Line 1806 of yacc.c  */
     7102#line 1462 "parser.yy"
    71117103    { (yyval.aggKey) = DeclarationNode::Union; }
    71127104    break;
    71137105
    7114   case 373:
    7115 
    7116 /* Line 1806 of yacc.c  */
    7117 #line 1463 "parser.yy"
     7106  case 375:
     7107
     7108/* Line 1806 of yacc.c  */
     7109#line 1467 "parser.yy"
    71187110    { (yyval.decl) = (yyvsp[(1) - (1)].decl); }
    71197111    break;
    71207112
    7121   case 374:
    7122 
    7123 /* Line 1806 of yacc.c  */
    7124 #line 1465 "parser.yy"
     7113  case 376:
     7114
     7115/* Line 1806 of yacc.c  */
     7116#line 1469 "parser.yy"
    71257117    { (yyval.decl) = (yyvsp[(1) - (2)].decl)->appendList( (yyvsp[(2) - (2)].decl) ); }
    71267118    break;
    71277119
    7128   case 376:
    7129 
    7130 /* Line 1806 of yacc.c  */
    7131 #line 1471 "parser.yy"
     7120  case 378:
     7121
     7122/* Line 1806 of yacc.c  */
     7123#line 1475 "parser.yy"
    71327124    { (yyval.decl) = (yyvsp[(2) - (3)].decl); }
    71337125    break;
    71347126
    7135   case 378:
    7136 
    7137 /* Line 1806 of yacc.c  */
    7138 #line 1474 "parser.yy"
     7127  case 380:
     7128
     7129/* Line 1806 of yacc.c  */
     7130#line 1478 "parser.yy"
    71397131    { (yyval.decl) = (yyvsp[(2) - (3)].decl); }
    71407132    break;
    71417133
    7142   case 380:
    7143 
    7144 /* Line 1806 of yacc.c  */
    7145 #line 1480 "parser.yy"
     7134  case 382:
     7135
     7136/* Line 1806 of yacc.c  */
     7137#line 1484 "parser.yy"
    71467138    { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addName( (yyvsp[(2) - (2)].tok) ); }
    71477139    break;
    71487140
    7149   case 381:
    7150 
    7151 /* Line 1806 of yacc.c  */
    7152 #line 1482 "parser.yy"
     7141  case 383:
     7142
     7143/* Line 1806 of yacc.c  */
     7144#line 1486 "parser.yy"
    71537145    { (yyval.decl) = (yyvsp[(1) - (3)].decl)->appendList( (yyvsp[(1) - (3)].decl)->cloneType( (yyvsp[(3) - (3)].tok) ) ); }
    71547146    break;
    71557147
    7156   case 382:
    7157 
    7158 /* Line 1806 of yacc.c  */
    7159 #line 1484 "parser.yy"
     7148  case 384:
     7149
     7150/* Line 1806 of yacc.c  */
     7151#line 1488 "parser.yy"
    71607152    { (yyval.decl) = (yyvsp[(1) - (2)].decl)->appendList( (yyvsp[(1) - (2)].decl)->cloneType( 0 ) ); }
    71617153    break;
    71627154
    7163   case 383:
    7164 
    7165 /* Line 1806 of yacc.c  */
    7166 #line 1489 "parser.yy"
     7155  case 385:
     7156
     7157/* Line 1806 of yacc.c  */
     7158#line 1493 "parser.yy"
    71677159    { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addType( (yyvsp[(1) - (2)].decl) ); }
    71687160    break;
    71697161
    7170   case 384:
    7171 
    7172 /* Line 1806 of yacc.c  */
    7173 #line 1491 "parser.yy"
     7162  case 386:
     7163
     7164/* Line 1806 of yacc.c  */
     7165#line 1495 "parser.yy"
    71747166    { (yyval.decl) = (yyvsp[(1) - (4)].decl)->appendList( (yyvsp[(1) - (4)].decl)->cloneBaseType( (yyvsp[(4) - (4)].decl) ) ); }
    71757167    break;
    71767168
    7177   case 385:
    7178 
    7179 /* Line 1806 of yacc.c  */
    7180 #line 1496 "parser.yy"
     7169  case 387:
     7170
     7171/* Line 1806 of yacc.c  */
     7172#line 1500 "parser.yy"
    71817173    { (yyval.decl) = DeclarationNode::newName( 0 ); /* XXX */ }
    71827174    break;
    71837175
    7184   case 386:
    7185 
    7186 /* Line 1806 of yacc.c  */
    7187 #line 1498 "parser.yy"
     7176  case 388:
     7177
     7178/* Line 1806 of yacc.c  */
     7179#line 1502 "parser.yy"
    71887180    { (yyval.decl) = DeclarationNode::newBitfield( (yyvsp[(1) - (1)].en) ); }
    71897181    break;
    71907182
    7191   case 387:
    7192 
    7193 /* Line 1806 of yacc.c  */
    7194 #line 1501 "parser.yy"
     7183  case 389:
     7184
     7185/* Line 1806 of yacc.c  */
     7186#line 1505 "parser.yy"
    71957187    { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addBitfield( (yyvsp[(2) - (2)].en) ); }
    71967188    break;
    71977189
    7198   case 388:
    7199 
    7200 /* Line 1806 of yacc.c  */
    7201 #line 1504 "parser.yy"
     7190  case 390:
     7191
     7192/* Line 1806 of yacc.c  */
     7193#line 1508 "parser.yy"
    72027194    { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addBitfield( (yyvsp[(2) - (2)].en) ); }
    72037195    break;
    72047196
    7205   case 390:
    7206 
    7207 /* Line 1806 of yacc.c  */
    7208 #line 1510 "parser.yy"
     7197  case 392:
     7198
     7199/* Line 1806 of yacc.c  */
     7200#line 1514 "parser.yy"
    72097201    { (yyval.en) = 0; }
    72107202    break;
    72117203
    7212   case 391:
    7213 
    7214 /* Line 1806 of yacc.c  */
    7215 #line 1512 "parser.yy"
     7204  case 393:
     7205
     7206/* Line 1806 of yacc.c  */
     7207#line 1516 "parser.yy"
    72167208    { (yyval.en) = (yyvsp[(1) - (1)].en); }
    72177209    break;
    72187210
    7219   case 392:
    7220 
    7221 /* Line 1806 of yacc.c  */
    7222 #line 1517 "parser.yy"
     7211  case 394:
     7212
     7213/* Line 1806 of yacc.c  */
     7214#line 1521 "parser.yy"
    72237215    { (yyval.en) = (yyvsp[(2) - (2)].en); }
    72247216    break;
    72257217
    7226   case 394:
    7227 
    7228 /* Line 1806 of yacc.c  */
    7229 #line 1526 "parser.yy"
     7218  case 396:
     7219
     7220/* Line 1806 of yacc.c  */
     7221#line 1530 "parser.yy"
    72307222    { (yyval.decl) = DeclarationNode::newEnum( 0, (yyvsp[(3) - (5)].decl) ); }
    72317223    break;
    72327224
    7233   case 395:
    7234 
    7235 /* Line 1806 of yacc.c  */
    7236 #line 1528 "parser.yy"
     7225  case 397:
     7226
     7227/* Line 1806 of yacc.c  */
     7228#line 1532 "parser.yy"
    72377229    {
    72387230                        typedefTable.makeTypedef( *(yyvsp[(2) - (2)].tok) );
     
    72417233    break;
    72427234
    7243   case 396:
    7244 
    7245 /* Line 1806 of yacc.c  */
    7246 #line 1533 "parser.yy"
     7235  case 398:
     7236
     7237/* Line 1806 of yacc.c  */
     7238#line 1537 "parser.yy"
    72477239    { typedefTable.makeTypedef( *(yyvsp[(2) - (2)].tok) ); }
    72487240    break;
    72497241
    7250   case 397:
    7251 
    7252 /* Line 1806 of yacc.c  */
    7253 #line 1535 "parser.yy"
     7242  case 399:
     7243
     7244/* Line 1806 of yacc.c  */
     7245#line 1539 "parser.yy"
    72547246    { (yyval.decl) = DeclarationNode::newEnum( (yyvsp[(2) - (7)].tok), (yyvsp[(5) - (7)].decl) ); }
    72557247    break;
    72567248
    7257   case 398:
    7258 
    7259 /* Line 1806 of yacc.c  */
    7260 #line 1540 "parser.yy"
     7249  case 400:
     7250
     7251/* Line 1806 of yacc.c  */
     7252#line 1544 "parser.yy"
    72617253    { (yyval.decl) = DeclarationNode::newEnumConstant( (yyvsp[(1) - (2)].tok), (yyvsp[(2) - (2)].en) ); }
    72627254    break;
    72637255
    7264   case 399:
    7265 
    7266 /* Line 1806 of yacc.c  */
    7267 #line 1542 "parser.yy"
     7256  case 401:
     7257
     7258/* Line 1806 of yacc.c  */
     7259#line 1546 "parser.yy"
    72687260    { (yyval.decl) = (yyvsp[(1) - (4)].decl)->appendList( DeclarationNode::newEnumConstant( (yyvsp[(3) - (4)].tok), (yyvsp[(4) - (4)].en) ) ); }
    72697261    break;
    72707262
    7271   case 400:
    7272 
    7273 /* Line 1806 of yacc.c  */
    7274 #line 1547 "parser.yy"
     7263  case 402:
     7264
     7265/* Line 1806 of yacc.c  */
     7266#line 1551 "parser.yy"
    72757267    { (yyval.en) = 0; }
    72767268    break;
    72777269
    7278   case 401:
    7279 
    7280 /* Line 1806 of yacc.c  */
    7281 #line 1549 "parser.yy"
     7270  case 403:
     7271
     7272/* Line 1806 of yacc.c  */
     7273#line 1553 "parser.yy"
    72827274    { (yyval.en) = (yyvsp[(2) - (2)].en); }
    72837275    break;
    72847276
    7285   case 402:
    7286 
    7287 /* Line 1806 of yacc.c  */
    7288 #line 1556 "parser.yy"
     7277  case 404:
     7278
     7279/* Line 1806 of yacc.c  */
     7280#line 1560 "parser.yy"
    72897281    { (yyval.decl) = 0; }
    72907282    break;
    72917283
    7292   case 406:
    7293 
    7294 /* Line 1806 of yacc.c  */
    7295 #line 1564 "parser.yy"
     7284  case 408:
     7285
     7286/* Line 1806 of yacc.c  */
     7287#line 1568 "parser.yy"
    72967288    { (yyval.decl) = (yyvsp[(1) - (5)].decl)->appendList( (yyvsp[(5) - (5)].decl) ); }
    72977289    break;
    72987290
    7299   case 407:
    7300 
    7301 /* Line 1806 of yacc.c  */
    7302 #line 1566 "parser.yy"
     7291  case 409:
     7292
     7293/* Line 1806 of yacc.c  */
     7294#line 1570 "parser.yy"
    73037295    { (yyval.decl) = (yyvsp[(1) - (5)].decl)->addVarArgs(); }
    73047296    break;
    73057297
    7306   case 408:
    7307 
    7308 /* Line 1806 of yacc.c  */
    7309 #line 1568 "parser.yy"
     7298  case 410:
     7299
     7300/* Line 1806 of yacc.c  */
     7301#line 1572 "parser.yy"
    73107302    { (yyval.decl) = (yyvsp[(1) - (5)].decl)->addVarArgs(); }
    73117303    break;
    73127304
    7313   case 410:
    7314 
    7315 /* Line 1806 of yacc.c  */
    7316 #line 1576 "parser.yy"
     7305  case 412:
     7306
     7307/* Line 1806 of yacc.c  */
     7308#line 1580 "parser.yy"
    73177309    { (yyval.decl) = (yyvsp[(1) - (5)].decl)->appendList( (yyvsp[(5) - (5)].decl) ); }
    73187310    break;
    73197311
    7320   case 411:
    7321 
    7322 /* Line 1806 of yacc.c  */
    7323 #line 1578 "parser.yy"
     7312  case 413:
     7313
     7314/* Line 1806 of yacc.c  */
     7315#line 1582 "parser.yy"
    73247316    { (yyval.decl) = (yyvsp[(1) - (5)].decl)->appendList( (yyvsp[(5) - (5)].decl) ); }
    73257317    break;
    73267318
    7327   case 412:
    7328 
    7329 /* Line 1806 of yacc.c  */
    7330 #line 1580 "parser.yy"
     7319  case 414:
     7320
     7321/* Line 1806 of yacc.c  */
     7322#line 1584 "parser.yy"
    73317323    { (yyval.decl) = (yyvsp[(1) - (9)].decl)->appendList( (yyvsp[(5) - (9)].decl) )->appendList( (yyvsp[(9) - (9)].decl) ); }
    73327324    break;
    73337325
    7334   case 414:
    7335 
    7336 /* Line 1806 of yacc.c  */
    7337 #line 1586 "parser.yy"
     7326  case 416:
     7327
     7328/* Line 1806 of yacc.c  */
     7329#line 1590 "parser.yy"
    73387330    { (yyval.decl) = (yyvsp[(1) - (5)].decl)->appendList( (yyvsp[(5) - (5)].decl) ); }
    73397331    break;
    73407332
    7341   case 415:
    7342 
    7343 /* Line 1806 of yacc.c  */
    7344 #line 1591 "parser.yy"
     7333  case 417:
     7334
     7335/* Line 1806 of yacc.c  */
     7336#line 1595 "parser.yy"
    73457337    { (yyval.decl) = 0; }
    73467338    break;
    73477339
    7348   case 418:
    7349 
    7350 /* Line 1806 of yacc.c  */
    7351 #line 1598 "parser.yy"
     7340  case 420:
     7341
     7342/* Line 1806 of yacc.c  */
     7343#line 1602 "parser.yy"
    73527344    { (yyval.decl) = (yyvsp[(1) - (5)].decl)->addVarArgs(); }
    73537345    break;
    73547346
    7355   case 421:
    7356 
    7357 /* Line 1806 of yacc.c  */
    7358 #line 1605 "parser.yy"
     7347  case 423:
     7348
     7349/* Line 1806 of yacc.c  */
     7350#line 1609 "parser.yy"
    73597351    { (yyval.decl) = (yyvsp[(1) - (5)].decl)->appendList( (yyvsp[(5) - (5)].decl) ); }
    73607352    break;
    73617353
    7362   case 422:
    7363 
    7364 /* Line 1806 of yacc.c  */
    7365 #line 1607 "parser.yy"
     7354  case 424:
     7355
     7356/* Line 1806 of yacc.c  */
     7357#line 1611 "parser.yy"
    73667358    { (yyval.decl) = (yyvsp[(1) - (5)].decl)->appendList( (yyvsp[(5) - (5)].decl) ); }
    73677359    break;
    73687360
    7369   case 424:
    7370 
    7371 /* Line 1806 of yacc.c  */
    7372 #line 1616 "parser.yy"
     7361  case 426:
     7362
     7363/* Line 1806 of yacc.c  */
     7364#line 1620 "parser.yy"
    73737365    { (yyval.decl) = (yyvsp[(1) - (3)].decl)->addName( (yyvsp[(2) - (3)].tok) ); }
    73747366    break;
    73757367
    7376   case 425:
    7377 
    7378 /* Line 1806 of yacc.c  */
    7379 #line 1619 "parser.yy"
     7368  case 427:
     7369
     7370/* Line 1806 of yacc.c  */
     7371#line 1623 "parser.yy"
    73807372    { (yyval.decl) = (yyvsp[(1) - (3)].decl)->addName( (yyvsp[(2) - (3)].tok) ); }
    73817373    break;
    73827374
    7383   case 426:
    7384 
    7385 /* Line 1806 of yacc.c  */
    7386 #line 1621 "parser.yy"
     7375  case 428:
     7376
     7377/* Line 1806 of yacc.c  */
     7378#line 1625 "parser.yy"
    73877379    { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addName( (yyvsp[(3) - (4)].tok) )->addQualifiers( (yyvsp[(1) - (4)].decl) ); }
    73887380    break;
    73897381
    7390   case 431:
    7391 
    7392 /* Line 1806 of yacc.c  */
    7393 #line 1631 "parser.yy"
     7382  case 433:
     7383
     7384/* Line 1806 of yacc.c  */
     7385#line 1635 "parser.yy"
    73947386    { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addQualifiers( (yyvsp[(1) - (2)].decl) ); }
    73957387    break;
    73967388
    7397   case 433:
    7398 
    7399 /* Line 1806 of yacc.c  */
    7400 #line 1637 "parser.yy"
     7389  case 435:
     7390
     7391/* Line 1806 of yacc.c  */
     7392#line 1641 "parser.yy"
    74017393    {
    74027394                        typedefTable.addToEnclosingScope( TypedefTable::ID );
     
    74057397    break;
    74067398
    7407   case 434:
    7408 
    7409 /* Line 1806 of yacc.c  */
    7410 #line 1642 "parser.yy"
     7399  case 436:
     7400
     7401/* Line 1806 of yacc.c  */
     7402#line 1646 "parser.yy"
    74117403    {
    74127404                        typedefTable.addToEnclosingScope( TypedefTable::ID );
     
    74157407    break;
    74167408
    7417   case 436:
    7418 
    7419 /* Line 1806 of yacc.c  */
    7420 #line 1651 "parser.yy"
     7409  case 438:
     7410
     7411/* Line 1806 of yacc.c  */
     7412#line 1655 "parser.yy"
    74217413    { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addType( (yyvsp[(1) - (2)].decl) ); }
    74227414    break;
    74237415
    7424   case 437:
    7425 
    7426 /* Line 1806 of yacc.c  */
    7427 #line 1660 "parser.yy"
     7416  case 439:
     7417
     7418/* Line 1806 of yacc.c  */
     7419#line 1664 "parser.yy"
    74287420    { (yyval.decl) = DeclarationNode::newName( (yyvsp[(1) - (1)].tok) ); }
    74297421    break;
    74307422
    7431   case 438:
    7432 
    7433 /* Line 1806 of yacc.c  */
    7434 #line 1662 "parser.yy"
     7423  case 440:
     7424
     7425/* Line 1806 of yacc.c  */
     7426#line 1666 "parser.yy"
    74357427    { (yyval.decl) = (yyvsp[(1) - (3)].decl)->appendList( DeclarationNode::newName( (yyvsp[(3) - (3)].tok) ) ); }
    74367428    break;
    74377429
    7438   case 450:
    7439 
    7440 /* Line 1806 of yacc.c  */
    7441 #line 1687 "parser.yy"
     7430  case 452:
     7431
     7432/* Line 1806 of yacc.c  */
     7433#line 1691 "parser.yy"
    74427434    { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addType( (yyvsp[(1) - (2)].decl) ); }
    74437435    break;
    74447436
    7445   case 454:
    7446 
    7447 /* Line 1806 of yacc.c  */
    7448 #line 1695 "parser.yy"
     7437  case 456:
     7438
     7439/* Line 1806 of yacc.c  */
     7440#line 1699 "parser.yy"
    74497441    { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addType( (yyvsp[(1) - (2)].decl) ); }
    74507442    break;
    74517443
    7452   case 455:
    7453 
    7454 /* Line 1806 of yacc.c  */
    7455 #line 1700 "parser.yy"
     7444  case 457:
     7445
     7446/* Line 1806 of yacc.c  */
     7447#line 1704 "parser.yy"
    74567448    { (yyval.in) = 0; }
    74577449    break;
    74587450
    7459   case 456:
    7460 
    7461 /* Line 1806 of yacc.c  */
    7462 #line 1702 "parser.yy"
     7451  case 458:
     7452
     7453/* Line 1806 of yacc.c  */
     7454#line 1706 "parser.yy"
    74637455    { (yyval.in) = (yyvsp[(2) - (2)].in); }
    74647456    break;
    74657457
    7466   case 457:
    7467 
    7468 /* Line 1806 of yacc.c  */
    7469 #line 1704 "parser.yy"
     7458  case 459:
     7459
     7460/* Line 1806 of yacc.c  */
     7461#line 1708 "parser.yy"
    74707462    { (yyval.in) = (yyvsp[(2) - (2)].in)->set_maybeConstructed( false ); }
    74717463    break;
    74727464
    7473   case 458:
    7474 
    7475 /* Line 1806 of yacc.c  */
    7476 #line 1708 "parser.yy"
     7465  case 460:
     7466
     7467/* Line 1806 of yacc.c  */
     7468#line 1712 "parser.yy"
    74777469    { (yyval.in) = new InitializerNode( (yyvsp[(1) - (1)].en) ); }
    74787470    break;
    74797471
    7480   case 459:
    7481 
    7482 /* Line 1806 of yacc.c  */
    7483 #line 1709 "parser.yy"
     7472  case 461:
     7473
     7474/* Line 1806 of yacc.c  */
     7475#line 1713 "parser.yy"
    74847476    { (yyval.in) = new InitializerNode( (yyvsp[(2) - (4)].in), true ); }
    74857477    break;
    74867478
    7487   case 460:
    7488 
    7489 /* Line 1806 of yacc.c  */
    7490 #line 1714 "parser.yy"
     7479  case 462:
     7480
     7481/* Line 1806 of yacc.c  */
     7482#line 1718 "parser.yy"
    74917483    { (yyval.in) = 0; }
    74927484    break;
    74937485
    7494   case 462:
    7495 
    7496 /* Line 1806 of yacc.c  */
    7497 #line 1716 "parser.yy"
     7486  case 464:
     7487
     7488/* Line 1806 of yacc.c  */
     7489#line 1720 "parser.yy"
    74987490    { (yyval.in) = (yyvsp[(2) - (2)].in)->set_designators( (yyvsp[(1) - (2)].en) ); }
    74997491    break;
    75007492
    7501   case 463:
    7502 
    7503 /* Line 1806 of yacc.c  */
    7504 #line 1717 "parser.yy"
     7493  case 465:
     7494
     7495/* Line 1806 of yacc.c  */
     7496#line 1721 "parser.yy"
    75057497    { (yyval.in) = (InitializerNode *)( (yyvsp[(1) - (3)].in)->set_link( (yyvsp[(3) - (3)].in) ) ); }
    75067498    break;
    75077499
    7508   case 464:
    7509 
    7510 /* Line 1806 of yacc.c  */
    7511 #line 1719 "parser.yy"
     7500  case 466:
     7501
     7502/* Line 1806 of yacc.c  */
     7503#line 1723 "parser.yy"
    75127504    { (yyval.in) = (InitializerNode *)( (yyvsp[(1) - (4)].in)->set_link( (yyvsp[(4) - (4)].in)->set_designators( (yyvsp[(3) - (4)].en) ) ) ); }
    75137505    break;
    75147506
    7515   case 466:
    7516 
    7517 /* Line 1806 of yacc.c  */
    7518 #line 1735 "parser.yy"
     7507  case 468:
     7508
     7509/* Line 1806 of yacc.c  */
     7510#line 1739 "parser.yy"
    75197511    { (yyval.en) = new VarRefNode( (yyvsp[(1) - (2)].tok) ); }
    75207512    break;
    75217513
    7522   case 468:
    7523 
    7524 /* Line 1806 of yacc.c  */
    7525 #line 1741 "parser.yy"
     7514  case 470:
     7515
     7516/* Line 1806 of yacc.c  */
     7517#line 1745 "parser.yy"
    75267518    { (yyval.en) = (ExpressionNode *)( (yyvsp[(1) - (2)].en)->set_link( (yyvsp[(2) - (2)].en) )); }
    75277519    break;
    75287520
    7529   case 469:
    7530 
    7531 /* Line 1806 of yacc.c  */
    7532 #line 1749 "parser.yy"
     7521  case 471:
     7522
     7523/* Line 1806 of yacc.c  */
     7524#line 1753 "parser.yy"
    75337525    { (yyval.en) = new DesignatorNode( new VarRefNode( (yyvsp[(1) - (1)].tok) ) ); }
    75347526    break;
    75357527
    7536   case 470:
    7537 
    7538 /* Line 1806 of yacc.c  */
    7539 #line 1751 "parser.yy"
     7528  case 472:
     7529
     7530/* Line 1806 of yacc.c  */
     7531#line 1755 "parser.yy"
    75407532    { (yyval.en) = new DesignatorNode( new VarRefNode( (yyvsp[(2) - (2)].tok) ) ); }
    75417533    break;
    75427534
    7543   case 471:
    7544 
    7545 /* Line 1806 of yacc.c  */
    7546 #line 1754 "parser.yy"
     7535  case 473:
     7536
     7537/* Line 1806 of yacc.c  */
     7538#line 1758 "parser.yy"
    75477539    { (yyval.en) = new DesignatorNode( (yyvsp[(3) - (5)].en), true ); }
    75487540    break;
    75497541
    7550   case 472:
    7551 
    7552 /* Line 1806 of yacc.c  */
    7553 #line 1756 "parser.yy"
     7542  case 474:
     7543
     7544/* Line 1806 of yacc.c  */
     7545#line 1760 "parser.yy"
    75547546    { (yyval.en) = new DesignatorNode( (yyvsp[(3) - (5)].en), true ); }
    75557547    break;
    75567548
    7557   case 473:
    7558 
    7559 /* Line 1806 of yacc.c  */
    7560 #line 1758 "parser.yy"
     7549  case 475:
     7550
     7551/* Line 1806 of yacc.c  */
     7552#line 1762 "parser.yy"
    75617553    { (yyval.en) = new DesignatorNode( new CompositeExprNode( new OperatorNode( OperatorNode::Range ), (yyvsp[(3) - (7)].en), (yyvsp[(5) - (7)].en) ), true ); }
    75627554    break;
    75637555
    7564   case 474:
    7565 
    7566 /* Line 1806 of yacc.c  */
    7567 #line 1760 "parser.yy"
     7556  case 476:
     7557
     7558/* Line 1806 of yacc.c  */
     7559#line 1764 "parser.yy"
    75687560    { (yyval.en) = new DesignatorNode( (yyvsp[(4) - (6)].en) ); }
    75697561    break;
    75707562
    7571   case 476:
    7572 
    7573 /* Line 1806 of yacc.c  */
    7574 #line 1784 "parser.yy"
     7563  case 478:
     7564
     7565/* Line 1806 of yacc.c  */
     7566#line 1788 "parser.yy"
    75757567    { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addQualifiers( (yyvsp[(1) - (2)].decl) ); }
    75767568    break;
    75777569
    7578   case 477:
    7579 
    7580 /* Line 1806 of yacc.c  */
    7581 #line 1786 "parser.yy"
     7570  case 479:
     7571
     7572/* Line 1806 of yacc.c  */
     7573#line 1790 "parser.yy"
    75827574    { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); }
    75837575    break;
    75847576
    7585   case 478:
    7586 
    7587 /* Line 1806 of yacc.c  */
    7588 #line 1788 "parser.yy"
     7577  case 480:
     7578
     7579/* Line 1806 of yacc.c  */
     7580#line 1792 "parser.yy"
    75897581    { (yyval.decl) = (yyvsp[(1) - (3)].decl)->addQualifiers( (yyvsp[(2) - (3)].decl) )->addQualifiers( (yyvsp[(3) - (3)].decl) ); }
    75907582    break;
    75917583
    7592   case 480:
    7593 
    7594 /* Line 1806 of yacc.c  */
    7595 #line 1794 "parser.yy"
     7584  case 482:
     7585
     7586/* Line 1806 of yacc.c  */
     7587#line 1798 "parser.yy"
    75967588    { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addQualifiers( (yyvsp[(1) - (2)].decl) ); }
    75977589    break;
    75987590
    7599   case 481:
    7600 
    7601 /* Line 1806 of yacc.c  */
    7602 #line 1796 "parser.yy"
     7591  case 483:
     7592
     7593/* Line 1806 of yacc.c  */
     7594#line 1800 "parser.yy"
    76037595    { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); }
    76047596    break;
    76057597
    7606   case 482:
    7607 
    7608 /* Line 1806 of yacc.c  */
    7609 #line 1801 "parser.yy"
     7598  case 484:
     7599
     7600/* Line 1806 of yacc.c  */
     7601#line 1805 "parser.yy"
    76107602    { (yyval.decl) = DeclarationNode::newFromTypeGen( (yyvsp[(1) - (4)].tok), (yyvsp[(3) - (4)].en) ); }
    76117603    break;
    76127604
    7613   case 484:
    7614 
    7615 /* Line 1806 of yacc.c  */
    7616 #line 1807 "parser.yy"
     7605  case 486:
     7606
     7607/* Line 1806 of yacc.c  */
     7608#line 1811 "parser.yy"
    76177609    { (yyval.decl) = (yyvsp[(1) - (4)].decl)->appendList( (yyvsp[(3) - (4)].decl) ); }
    76187610    break;
    76197611
    7620   case 485:
    7621 
    7622 /* Line 1806 of yacc.c  */
    7623 #line 1812 "parser.yy"
     7612  case 487:
     7613
     7614/* Line 1806 of yacc.c  */
     7615#line 1816 "parser.yy"
    76247616    { typedefTable.addToEnclosingScope( *(yyvsp[(2) - (2)].tok), TypedefTable::TD ); }
    76257617    break;
    76267618
    7627   case 486:
    7628 
    7629 /* Line 1806 of yacc.c  */
    7630 #line 1814 "parser.yy"
     7619  case 488:
     7620
     7621/* Line 1806 of yacc.c  */
     7622#line 1818 "parser.yy"
    76317623    { (yyval.decl) = DeclarationNode::newTypeParam( (yyvsp[(1) - (4)].tclass), (yyvsp[(2) - (4)].tok) )->addAssertions( (yyvsp[(4) - (4)].decl) ); }
    76327624    break;
    76337625
    7634   case 488:
    7635 
    7636 /* Line 1806 of yacc.c  */
    7637 #line 1820 "parser.yy"
     7626  case 490:
     7627
     7628/* Line 1806 of yacc.c  */
     7629#line 1824 "parser.yy"
    76387630    { (yyval.tclass) = DeclarationNode::Type; }
    76397631    break;
    76407632
    7641   case 489:
    7642 
    7643 /* Line 1806 of yacc.c  */
    7644 #line 1822 "parser.yy"
     7633  case 491:
     7634
     7635/* Line 1806 of yacc.c  */
     7636#line 1826 "parser.yy"
    76457637    { (yyval.tclass) = DeclarationNode::Ftype; }
    76467638    break;
    76477639
    7648   case 490:
    7649 
    7650 /* Line 1806 of yacc.c  */
    7651 #line 1824 "parser.yy"
     7640  case 492:
     7641
     7642/* Line 1806 of yacc.c  */
     7643#line 1828 "parser.yy"
    76527644    { (yyval.tclass) = DeclarationNode::Dtype; }
    76537645    break;
    76547646
    7655   case 491:
    7656 
    7657 /* Line 1806 of yacc.c  */
    7658 #line 1829 "parser.yy"
     7647  case 493:
     7648
     7649/* Line 1806 of yacc.c  */
     7650#line 1833 "parser.yy"
    76597651    { (yyval.decl) = 0; }
    76607652    break;
    76617653
    7662   case 492:
    7663 
    7664 /* Line 1806 of yacc.c  */
    7665 #line 1831 "parser.yy"
     7654  case 494:
     7655
     7656/* Line 1806 of yacc.c  */
     7657#line 1835 "parser.yy"
    76667658    { (yyval.decl) = (yyvsp[(1) - (2)].decl) == 0 ? (yyvsp[(2) - (2)].decl) : (yyvsp[(1) - (2)].decl)->appendList( (yyvsp[(2) - (2)].decl) ); }
    76677659    break;
    76687660
    7669   case 493:
    7670 
    7671 /* Line 1806 of yacc.c  */
    7672 #line 1836 "parser.yy"
     7661  case 495:
     7662
     7663/* Line 1806 of yacc.c  */
     7664#line 1840 "parser.yy"
    76737665    {
    76747666                        typedefTable.openTrait( *(yyvsp[(2) - (5)].tok) );
     
    76777669    break;
    76787670
    7679   case 494:
    7680 
    7681 /* Line 1806 of yacc.c  */
    7682 #line 1841 "parser.yy"
     7671  case 496:
     7672
     7673/* Line 1806 of yacc.c  */
     7674#line 1845 "parser.yy"
    76837675    { (yyval.decl) = (yyvsp[(4) - (5)].decl); }
    76847676    break;
    76857677
    7686   case 495:
    7687 
    7688 /* Line 1806 of yacc.c  */
    7689 #line 1843 "parser.yy"
     7678  case 497:
     7679
     7680/* Line 1806 of yacc.c  */
     7681#line 1847 "parser.yy"
    76907682    { (yyval.decl) = 0; }
    76917683    break;
    76927684
    7693   case 496:
    7694 
    7695 /* Line 1806 of yacc.c  */
    7696 #line 1848 "parser.yy"
     7685  case 498:
     7686
     7687/* Line 1806 of yacc.c  */
     7688#line 1852 "parser.yy"
    76977689    { (yyval.en) = new TypeValueNode( (yyvsp[(1) - (1)].decl) ); }
    76987690    break;
    76997691
    7700   case 498:
    7701 
    7702 /* Line 1806 of yacc.c  */
    7703 #line 1851 "parser.yy"
     7692  case 500:
     7693
     7694/* Line 1806 of yacc.c  */
     7695#line 1855 "parser.yy"
    77047696    { (yyval.en) = (ExpressionNode *)( (yyvsp[(1) - (3)].en)->set_link( new TypeValueNode( (yyvsp[(3) - (3)].decl) ))); }
    77057697    break;
    77067698
    7707   case 499:
    7708 
    7709 /* Line 1806 of yacc.c  */
    7710 #line 1853 "parser.yy"
     7699  case 501:
     7700
     7701/* Line 1806 of yacc.c  */
     7702#line 1857 "parser.yy"
    77117703    { (yyval.en) = (ExpressionNode *)( (yyvsp[(1) - (3)].en)->set_link( (yyvsp[(3) - (3)].en) )); }
    77127704    break;
    77137705
    7714   case 500:
    7715 
    7716 /* Line 1806 of yacc.c  */
    7717 #line 1858 "parser.yy"
     7706  case 502:
     7707
     7708/* Line 1806 of yacc.c  */
     7709#line 1862 "parser.yy"
    77187710    { (yyval.decl) = (yyvsp[(2) - (2)].decl); }
    77197711    break;
    77207712
    7721   case 501:
    7722 
    7723 /* Line 1806 of yacc.c  */
    7724 #line 1860 "parser.yy"
     7713  case 503:
     7714
     7715/* Line 1806 of yacc.c  */
     7716#line 1864 "parser.yy"
    77257717    { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addQualifiers( (yyvsp[(1) - (3)].decl) ); }
    77267718    break;
    77277719
    7728   case 502:
    7729 
    7730 /* Line 1806 of yacc.c  */
    7731 #line 1862 "parser.yy"
     7720  case 504:
     7721
     7722/* Line 1806 of yacc.c  */
     7723#line 1866 "parser.yy"
    77327724    { (yyval.decl) = (yyvsp[(1) - (3)].decl)->appendList( (yyvsp[(3) - (3)].decl)->copyStorageClasses( (yyvsp[(1) - (3)].decl) ) ); }
    77337725    break;
    77347726
    7735   case 503:
    7736 
    7737 /* Line 1806 of yacc.c  */
    7738 #line 1867 "parser.yy"
     7727  case 505:
     7728
     7729/* Line 1806 of yacc.c  */
     7730#line 1871 "parser.yy"
    77397731    { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addAssertions( (yyvsp[(2) - (2)].decl) ); }
    77407732    break;
    77417733
    7742   case 504:
    7743 
    7744 /* Line 1806 of yacc.c  */
    7745 #line 1869 "parser.yy"
     7734  case 506:
     7735
     7736/* Line 1806 of yacc.c  */
     7737#line 1873 "parser.yy"
    77467738    { (yyval.decl) = (yyvsp[(1) - (4)].decl)->addAssertions( (yyvsp[(2) - (4)].decl) )->addType( (yyvsp[(4) - (4)].decl) ); }
    77477739    break;
    77487740
    7749   case 505:
    7750 
    7751 /* Line 1806 of yacc.c  */
    7752 #line 1874 "parser.yy"
     7741  case 507:
     7742
     7743/* Line 1806 of yacc.c  */
     7744#line 1878 "parser.yy"
    77537745    {
    77547746                        typedefTable.addToEnclosingScope( *(yyvsp[(1) - (1)].tok), TypedefTable::TD );
     
    77577749    break;
    77587750
    7759   case 506:
    7760 
    7761 /* Line 1806 of yacc.c  */
    7762 #line 1879 "parser.yy"
     7751  case 508:
     7752
     7753/* Line 1806 of yacc.c  */
     7754#line 1883 "parser.yy"
    77637755    {
    77647756                        typedefTable.addToEnclosingScope( *(yyvsp[(1) - (6)].tok), TypedefTable::TG );
     
    77677759    break;
    77687760
    7769   case 507:
    7770 
    7771 /* Line 1806 of yacc.c  */
    7772 #line 1887 "parser.yy"
     7761  case 509:
     7762
     7763/* Line 1806 of yacc.c  */
     7764#line 1891 "parser.yy"
    77737765    {
    77747766                        typedefTable.addToEnclosingScope( *(yyvsp[(2) - (9)].tok), TypedefTable::ID );
     
    77777769    break;
    77787770
    7779   case 508:
    7780 
    7781 /* Line 1806 of yacc.c  */
    7782 #line 1892 "parser.yy"
     7771  case 510:
     7772
     7773/* Line 1806 of yacc.c  */
     7774#line 1896 "parser.yy"
    77837775    {
    77847776                        typedefTable.enterTrait( *(yyvsp[(2) - (8)].tok) );
     
    77877779    break;
    77887780
    7789   case 509:
    7790 
    7791 /* Line 1806 of yacc.c  */
    7792 #line 1897 "parser.yy"
     7781  case 511:
     7782
     7783/* Line 1806 of yacc.c  */
     7784#line 1901 "parser.yy"
    77937785    {
    77947786                        typedefTable.leaveTrait();
     
    77987790    break;
    77997791
    7800   case 511:
    7801 
    7802 /* Line 1806 of yacc.c  */
    7803 #line 1907 "parser.yy"
     7792  case 513:
     7793
     7794/* Line 1806 of yacc.c  */
     7795#line 1911 "parser.yy"
    78047796    { (yyval.decl) = (yyvsp[(1) - (3)].decl)->appendList( (yyvsp[(3) - (3)].decl) ); }
    78057797    break;
    78067798
    7807   case 514:
    7808 
    7809 /* Line 1806 of yacc.c  */
    7810 #line 1917 "parser.yy"
     7799  case 516:
     7800
     7801/* Line 1806 of yacc.c  */
     7802#line 1921 "parser.yy"
    78117803    {
    78127804                        typedefTable.addToEnclosingScope2( TypedefTable::ID );
     
    78157807    break;
    78167808
    7817   case 515:
    7818 
    7819 /* Line 1806 of yacc.c  */
    7820 #line 1922 "parser.yy"
     7809  case 517:
     7810
     7811/* Line 1806 of yacc.c  */
     7812#line 1926 "parser.yy"
    78217813    {
    78227814                        typedefTable.addToEnclosingScope2( TypedefTable::ID );
     
    78257817    break;
    78267818
    7827   case 516:
    7828 
    7829 /* Line 1806 of yacc.c  */
    7830 #line 1927 "parser.yy"
     7819  case 518:
     7820
     7821/* Line 1806 of yacc.c  */
     7822#line 1931 "parser.yy"
    78317823    {
    78327824                        typedefTable.addToEnclosingScope2( *(yyvsp[(5) - (5)].tok), TypedefTable::ID );
     
    78357827    break;
    78367828
    7837   case 517:
    7838 
    7839 /* Line 1806 of yacc.c  */
    7840 #line 1935 "parser.yy"
     7829  case 519:
     7830
     7831/* Line 1806 of yacc.c  */
     7832#line 1939 "parser.yy"
    78417833    {
    78427834                        typedefTable.addToEnclosingScope2( TypedefTable::ID );
     
    78457837    break;
    78467838
    7847   case 518:
    7848 
    7849 /* Line 1806 of yacc.c  */
    7850 #line 1940 "parser.yy"
     7839  case 520:
     7840
     7841/* Line 1806 of yacc.c  */
     7842#line 1944 "parser.yy"
    78517843    {
    78527844                        typedefTable.addToEnclosingScope2( TypedefTable::ID );
     
    78557847    break;
    78567848
    7857   case 519:
    7858 
    7859 /* Line 1806 of yacc.c  */
    7860 #line 1950 "parser.yy"
     7849  case 521:
     7850
     7851/* Line 1806 of yacc.c  */
     7852#line 1954 "parser.yy"
    78617853    {}
    78627854    break;
    78637855
    7864   case 520:
    7865 
    7866 /* Line 1806 of yacc.c  */
    7867 #line 1952 "parser.yy"
     7856  case 522:
     7857
     7858/* Line 1806 of yacc.c  */
     7859#line 1956 "parser.yy"
    78687860    {
    78697861                        if ( theTree ) {
     
    78757867    break;
    78767868
    7877   case 522:
    7878 
    7879 /* Line 1806 of yacc.c  */
    7880 #line 1964 "parser.yy"
     7869  case 524:
     7870
     7871/* Line 1806 of yacc.c  */
     7872#line 1968 "parser.yy"
    78817873    { (yyval.decl) = ( (yyvsp[(1) - (3)].decl) != NULL ) ? (yyvsp[(1) - (3)].decl)->appendList( (yyvsp[(3) - (3)].decl) ) : (yyvsp[(3) - (3)].decl); }
    78827874    break;
    78837875
    7884   case 523:
    7885 
    7886 /* Line 1806 of yacc.c  */
    7887 #line 1969 "parser.yy"
     7876  case 525:
     7877
     7878/* Line 1806 of yacc.c  */
     7879#line 1973 "parser.yy"
    78887880    { (yyval.decl) = 0; }
    78897881    break;
    78907882
    7891   case 527:
    7892 
    7893 /* Line 1806 of yacc.c  */
    7894 #line 1977 "parser.yy"
     7883  case 529:
     7884
     7885/* Line 1806 of yacc.c  */
     7886#line 1981 "parser.yy"
    78957887    {}
    78967888    break;
    78977889
    7898   case 528:
    7899 
    7900 /* Line 1806 of yacc.c  */
    7901 #line 1979 "parser.yy"
     7890  case 530:
     7891
     7892/* Line 1806 of yacc.c  */
     7893#line 1983 "parser.yy"
    79027894    {
    79037895                        linkageStack.push( linkage );
     
    79067898    break;
    79077899
    7908   case 529:
    7909 
    7910 /* Line 1806 of yacc.c  */
    7911 #line 1984 "parser.yy"
     7900  case 531:
     7901
     7902/* Line 1806 of yacc.c  */
     7903#line 1988 "parser.yy"
    79127904    {
    79137905                        linkage = linkageStack.top();
     
    79177909    break;
    79187910
    7919   case 530:
    7920 
    7921 /* Line 1806 of yacc.c  */
    7922 #line 1990 "parser.yy"
     7911  case 532:
     7912
     7913/* Line 1806 of yacc.c  */
     7914#line 1994 "parser.yy"
    79237915    { (yyval.decl) = (yyvsp[(2) - (2)].decl); }
    79247916    break;
    79257917
    7926   case 532:
    7927 
    7928 /* Line 1806 of yacc.c  */
    7929 #line 2000 "parser.yy"
     7918  case 534:
     7919
     7920/* Line 1806 of yacc.c  */
     7921#line 2004 "parser.yy"
    79307922    {
    79317923                        typedefTable.addToEnclosingScope( TypedefTable::ID );
     
    79357927    break;
    79367928
    7937   case 533:
    7938 
    7939 /* Line 1806 of yacc.c  */
    7940 #line 2006 "parser.yy"
     7929  case 535:
     7930
     7931/* Line 1806 of yacc.c  */
     7932#line 2010 "parser.yy"
    79417933    {
    79427934                        typedefTable.addToEnclosingScope( TypedefTable::ID );
     
    79467938    break;
    79477939
    7948   case 534:
    7949 
    7950 /* Line 1806 of yacc.c  */
    7951 #line 2015 "parser.yy"
     7940  case 536:
     7941
     7942/* Line 1806 of yacc.c  */
     7943#line 2019 "parser.yy"
    79527944    {
    79537945                        typedefTable.addToEnclosingScope( TypedefTable::ID );
     
    79577949    break;
    79587950
    7959   case 535:
    7960 
    7961 /* Line 1806 of yacc.c  */
    7962 #line 2021 "parser.yy"
     7951  case 537:
     7952
     7953/* Line 1806 of yacc.c  */
     7954#line 2025 "parser.yy"
    79637955    {
    79647956                        typedefTable.addToEnclosingScope( TypedefTable::ID );
     
    79687960    break;
    79697961
    7970   case 536:
    7971 
    7972 /* Line 1806 of yacc.c  */
    7973 #line 2027 "parser.yy"
     7962  case 538:
     7963
     7964/* Line 1806 of yacc.c  */
     7965#line 2031 "parser.yy"
    79747966    {
    79757967                        typedefTable.addToEnclosingScope( TypedefTable::ID );
     
    79797971    break;
    79807972
    7981   case 537:
    7982 
    7983 /* Line 1806 of yacc.c  */
    7984 #line 2033 "parser.yy"
     7973  case 539:
     7974
     7975/* Line 1806 of yacc.c  */
     7976#line 2037 "parser.yy"
    79857977    {
    79867978                        typedefTable.addToEnclosingScope( TypedefTable::ID );
     
    79907982    break;
    79917983
    7992   case 538:
    7993 
    7994 /* Line 1806 of yacc.c  */
    7995 #line 2039 "parser.yy"
     7984  case 540:
     7985
     7986/* Line 1806 of yacc.c  */
     7987#line 2043 "parser.yy"
    79967988    {
    79977989                        typedefTable.addToEnclosingScope( TypedefTable::ID );
     
    80017993    break;
    80027994
    8003   case 539:
    8004 
    8005 /* Line 1806 of yacc.c  */
    8006 #line 2047 "parser.yy"
     7995  case 541:
     7996
     7997/* Line 1806 of yacc.c  */
     7998#line 2051 "parser.yy"
    80077999    {
    80088000                        typedefTable.addToEnclosingScope( TypedefTable::ID );
     
    80128004    break;
    80138005
    8014   case 540:
    8015 
    8016 /* Line 1806 of yacc.c  */
    8017 #line 2053 "parser.yy"
     8006  case 542:
     8007
     8008/* Line 1806 of yacc.c  */
     8009#line 2057 "parser.yy"
    80188010    {
    80198011                        typedefTable.addToEnclosingScope( TypedefTable::ID );
     
    80238015    break;
    80248016
    8025   case 541:
    8026 
    8027 /* Line 1806 of yacc.c  */
    8028 #line 2061 "parser.yy"
     8017  case 543:
     8018
     8019/* Line 1806 of yacc.c  */
     8020#line 2065 "parser.yy"
    80298021    {
    80308022                        typedefTable.addToEnclosingScope( TypedefTable::ID );
     
    80348026    break;
    80358027
    8036   case 542:
    8037 
    8038 /* Line 1806 of yacc.c  */
    8039 #line 2067 "parser.yy"
     8028  case 544:
     8029
     8030/* Line 1806 of yacc.c  */
     8031#line 2071 "parser.yy"
    80408032    {
    80418033                        typedefTable.addToEnclosingScope( TypedefTable::ID );
     
    80458037    break;
    80468038
    8047   case 546:
    8048 
    8049 /* Line 1806 of yacc.c  */
    8050 #line 2082 "parser.yy"
     8039  case 548:
     8040
     8041/* Line 1806 of yacc.c  */
     8042#line 2086 "parser.yy"
    80518043    { (yyval.en) = new CompositeExprNode( new OperatorNode( OperatorNode::Range ), (yyvsp[(1) - (3)].en), (yyvsp[(3) - (3)].en) ); }
    80528044    break;
    80538045
    8054   case 549:
    8055 
    8056 /* Line 1806 of yacc.c  */
    8057 #line 2092 "parser.yy"
     8046  case 551:
     8047
     8048/* Line 1806 of yacc.c  */
     8049#line 2096 "parser.yy"
    80588050    { (yyval.decl) = 0; }
    80598051    break;
    80608052
    8061   case 552:
    8062 
    8063 /* Line 1806 of yacc.c  */
    8064 #line 2099 "parser.yy"
     8053  case 554:
     8054
     8055/* Line 1806 of yacc.c  */
     8056#line 2103 "parser.yy"
    80658057    { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addQualifiers( (yyvsp[(1) - (2)].decl) ); }
    80668058    break;
    80678059
    8068   case 553:
    8069 
    8070 /* Line 1806 of yacc.c  */
    8071 #line 2105 "parser.yy"
     8060  case 555:
     8061
     8062/* Line 1806 of yacc.c  */
     8063#line 2109 "parser.yy"
    80728064    { (yyval.decl) = 0; }
    80738065    break;
    80748066
    8075   case 559:
    8076 
    8077 /* Line 1806 of yacc.c  */
    8078 #line 2120 "parser.yy"
     8067  case 561:
     8068
     8069/* Line 1806 of yacc.c  */
     8070#line 2124 "parser.yy"
    80798071    {}
    80808072    break;
    80818073
    8082   case 560:
    8083 
    8084 /* Line 1806 of yacc.c  */
    8085 #line 2121 "parser.yy"
     8074  case 562:
     8075
     8076/* Line 1806 of yacc.c  */
     8077#line 2125 "parser.yy"
    80868078    {}
    80878079    break;
    80888080
    8089   case 561:
    8090 
    8091 /* Line 1806 of yacc.c  */
    8092 #line 2122 "parser.yy"
     8081  case 563:
     8082
     8083/* Line 1806 of yacc.c  */
     8084#line 2126 "parser.yy"
    80938085    {}
    80948086    break;
    80958087
    8096   case 562:
    8097 
    8098 /* Line 1806 of yacc.c  */
    8099 #line 2123 "parser.yy"
     8088  case 564:
     8089
     8090/* Line 1806 of yacc.c  */
     8091#line 2127 "parser.yy"
    81008092    {}
    81018093    break;
    81028094
    8103   case 563:
    8104 
    8105 /* Line 1806 of yacc.c  */
    8106 #line 2158 "parser.yy"
     8095  case 565:
     8096
     8097/* Line 1806 of yacc.c  */
     8098#line 2162 "parser.yy"
    81078099    { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); }
    81088100    break;
    81098101
    8110   case 565:
    8111 
    8112 /* Line 1806 of yacc.c  */
    8113 #line 2161 "parser.yy"
     8102  case 567:
     8103
     8104/* Line 1806 of yacc.c  */
     8105#line 2165 "parser.yy"
    81148106    { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); }
    81158107    break;
    81168108
    8117   case 566:
    8118 
    8119 /* Line 1806 of yacc.c  */
    8120 #line 2163 "parser.yy"
     8109  case 568:
     8110
     8111/* Line 1806 of yacc.c  */
     8112#line 2167 "parser.yy"
    81218113    { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); }
    81228114    break;
    81238115
    8124   case 567:
    8125 
    8126 /* Line 1806 of yacc.c  */
    8127 #line 2168 "parser.yy"
     8116  case 569:
     8117
     8118/* Line 1806 of yacc.c  */
     8119#line 2172 "parser.yy"
    81288120    {
    81298121                        typedefTable.setNextIdentifier( *(yyvsp[(1) - (1)].tok) );
     
    81328124    break;
    81338125
    8134   case 568:
    8135 
    8136 /* Line 1806 of yacc.c  */
    8137 #line 2173 "parser.yy"
     8126  case 570:
     8127
     8128/* Line 1806 of yacc.c  */
     8129#line 2177 "parser.yy"
    81388130    { (yyval.decl) = (yyvsp[(2) - (3)].decl); }
    81398131    break;
    81408132
    8141   case 569:
    8142 
    8143 /* Line 1806 of yacc.c  */
    8144 #line 2178 "parser.yy"
     8133  case 571:
     8134
     8135/* Line 1806 of yacc.c  */
     8136#line 2182 "parser.yy"
    81458137    { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addPointer( DeclarationNode::newPointer( 0 ) ); }
    81468138    break;
    81478139
    8148   case 570:
    8149 
    8150 /* Line 1806 of yacc.c  */
    8151 #line 2180 "parser.yy"
     8140  case 572:
     8141
     8142/* Line 1806 of yacc.c  */
     8143#line 2184 "parser.yy"
    81528144    { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addPointer( DeclarationNode::newPointer( (yyvsp[(2) - (3)].decl) ) ); }
    81538145    break;
    81548146
    8155   case 571:
    8156 
    8157 /* Line 1806 of yacc.c  */
    8158 #line 2182 "parser.yy"
     8147  case 573:
     8148
     8149/* Line 1806 of yacc.c  */
     8150#line 2186 "parser.yy"
    81598151    { (yyval.decl) = (yyvsp[(2) - (3)].decl); }
    81608152    break;
    81618153
    8162   case 572:
    8163 
    8164 /* Line 1806 of yacc.c  */
    8165 #line 2187 "parser.yy"
     8154  case 574:
     8155
     8156/* Line 1806 of yacc.c  */
     8157#line 2191 "parser.yy"
    81668158    { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addArray( (yyvsp[(2) - (2)].decl) ); }
    81678159    break;
    81688160
    8169   case 573:
    8170 
    8171 /* Line 1806 of yacc.c  */
    8172 #line 2189 "parser.yy"
     8161  case 575:
     8162
     8163/* Line 1806 of yacc.c  */
     8164#line 2193 "parser.yy"
    81738165    { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addArray( (yyvsp[(4) - (4)].decl) ); }
    81748166    break;
    81758167
    8176   case 574:
    8177 
    8178 /* Line 1806 of yacc.c  */
    8179 #line 2191 "parser.yy"
     8168  case 576:
     8169
     8170/* Line 1806 of yacc.c  */
     8171#line 2195 "parser.yy"
    81808172    { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addArray( (yyvsp[(4) - (4)].decl) ); }
    81818173    break;
    81828174
    8183   case 575:
    8184 
    8185 /* Line 1806 of yacc.c  */
    8186 #line 2193 "parser.yy"
     8175  case 577:
     8176
     8177/* Line 1806 of yacc.c  */
     8178#line 2197 "parser.yy"
    81878179    { (yyval.decl) = (yyvsp[(2) - (3)].decl); }
    81888180    break;
    81898181
    8190   case 576:
    8191 
    8192 /* Line 1806 of yacc.c  */
    8193 #line 2198 "parser.yy"
     8182  case 578:
     8183
     8184/* Line 1806 of yacc.c  */
     8185#line 2202 "parser.yy"
    81948186    { (yyval.decl) = (yyvsp[(2) - (8)].decl)->addParamList( (yyvsp[(6) - (8)].decl) ); }
    81958187    break;
    81968188
    8197   case 577:
    8198 
    8199 /* Line 1806 of yacc.c  */
    8200 #line 2200 "parser.yy"
     8189  case 579:
     8190
     8191/* Line 1806 of yacc.c  */
     8192#line 2204 "parser.yy"
    82018193    { (yyval.decl) = (yyvsp[(2) - (3)].decl); }
    82028194    break;
    82038195
    8204   case 578:
    8205 
    8206 /* Line 1806 of yacc.c  */
    8207 #line 2210 "parser.yy"
     8196  case 580:
     8197
     8198/* Line 1806 of yacc.c  */
     8199#line 2214 "parser.yy"
    82088200    { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); }
    82098201    break;
    82108202
    8211   case 580:
    8212 
    8213 /* Line 1806 of yacc.c  */
    8214 #line 2213 "parser.yy"
     8203  case 582:
     8204
     8205/* Line 1806 of yacc.c  */
     8206#line 2217 "parser.yy"
    82158207    { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); }
    82168208    break;
    82178209
    8218   case 581:
    8219 
    8220 /* Line 1806 of yacc.c  */
    8221 #line 2218 "parser.yy"
     8210  case 583:
     8211
     8212/* Line 1806 of yacc.c  */
     8213#line 2222 "parser.yy"
    82228214    { (yyval.decl) = (yyvsp[(1) - (6)].decl)->addParamList( (yyvsp[(4) - (6)].decl) ); }
    82238215    break;
    82248216
    8225   case 582:
    8226 
    8227 /* Line 1806 of yacc.c  */
    8228 #line 2220 "parser.yy"
     8217  case 584:
     8218
     8219/* Line 1806 of yacc.c  */
     8220#line 2224 "parser.yy"
    82298221    { (yyval.decl) = (yyvsp[(2) - (8)].decl)->addParamList( (yyvsp[(6) - (8)].decl) ); }
    82308222    break;
    82318223
    8232   case 583:
    8233 
    8234 /* Line 1806 of yacc.c  */
    8235 #line 2222 "parser.yy"
     8224  case 585:
     8225
     8226/* Line 1806 of yacc.c  */
     8227#line 2226 "parser.yy"
    82368228    { (yyval.decl) = (yyvsp[(2) - (3)].decl); }
    82378229    break;
    82388230
    8239   case 584:
    8240 
    8241 /* Line 1806 of yacc.c  */
    8242 #line 2227 "parser.yy"
     8231  case 586:
     8232
     8233/* Line 1806 of yacc.c  */
     8234#line 2231 "parser.yy"
    82438235    { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addPointer( DeclarationNode::newPointer( 0 ) ); }
    82448236    break;
    82458237
    8246   case 585:
    8247 
    8248 /* Line 1806 of yacc.c  */
    8249 #line 2229 "parser.yy"
     8238  case 587:
     8239
     8240/* Line 1806 of yacc.c  */
     8241#line 2233 "parser.yy"
    82508242    { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addPointer( DeclarationNode::newPointer( (yyvsp[(2) - (3)].decl) ) ); }
    82518243    break;
    82528244
    8253   case 586:
    8254 
    8255 /* Line 1806 of yacc.c  */
    8256 #line 2231 "parser.yy"
     8245  case 588:
     8246
     8247/* Line 1806 of yacc.c  */
     8248#line 2235 "parser.yy"
    82578249    { (yyval.decl) = (yyvsp[(2) - (3)].decl); }
    82588250    break;
    82598251
    8260   case 587:
    8261 
    8262 /* Line 1806 of yacc.c  */
    8263 #line 2236 "parser.yy"
     8252  case 589:
     8253
     8254/* Line 1806 of yacc.c  */
     8255#line 2240 "parser.yy"
    82648256    { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addArray( (yyvsp[(4) - (4)].decl) ); }
    82658257    break;
    82668258
    8267   case 588:
    8268 
    8269 /* Line 1806 of yacc.c  */
    8270 #line 2238 "parser.yy"
     8259  case 590:
     8260
     8261/* Line 1806 of yacc.c  */
     8262#line 2242 "parser.yy"
    82718263    { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addArray( (yyvsp[(4) - (4)].decl) ); }
    82728264    break;
    82738265
    8274   case 589:
    8275 
    8276 /* Line 1806 of yacc.c  */
    8277 #line 2240 "parser.yy"
     8266  case 591:
     8267
     8268/* Line 1806 of yacc.c  */
     8269#line 2244 "parser.yy"
    82788270    { (yyval.decl) = (yyvsp[(2) - (3)].decl); }
    82798271    break;
    82808272
    8281   case 593:
    8282 
    8283 /* Line 1806 of yacc.c  */
    8284 #line 2255 "parser.yy"
     8273  case 595:
     8274
     8275/* Line 1806 of yacc.c  */
     8276#line 2259 "parser.yy"
    82858277    { (yyval.decl) = (yyvsp[(1) - (4)].decl)->addIdList( (yyvsp[(3) - (4)].decl) ); }
    82868278    break;
    82878279
    8288   case 594:
    8289 
    8290 /* Line 1806 of yacc.c  */
    8291 #line 2257 "parser.yy"
     8280  case 596:
     8281
     8282/* Line 1806 of yacc.c  */
     8283#line 2261 "parser.yy"
    82928284    { (yyval.decl) = (yyvsp[(2) - (6)].decl)->addIdList( (yyvsp[(5) - (6)].decl) ); }
    82938285    break;
    82948286
    8295   case 595:
    8296 
    8297 /* Line 1806 of yacc.c  */
    8298 #line 2259 "parser.yy"
     8287  case 597:
     8288
     8289/* Line 1806 of yacc.c  */
     8290#line 2263 "parser.yy"
    82998291    { (yyval.decl) = (yyvsp[(2) - (3)].decl); }
    83008292    break;
    83018293
    8302   case 596:
    8303 
    8304 /* Line 1806 of yacc.c  */
    8305 #line 2264 "parser.yy"
     8294  case 598:
     8295
     8296/* Line 1806 of yacc.c  */
     8297#line 2268 "parser.yy"
    83068298    { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addPointer( DeclarationNode::newPointer( 0 ) ); }
    83078299    break;
    83088300
    8309   case 597:
    8310 
    8311 /* Line 1806 of yacc.c  */
    8312 #line 2266 "parser.yy"
     8301  case 599:
     8302
     8303/* Line 1806 of yacc.c  */
     8304#line 2270 "parser.yy"
    83138305    { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addPointer( DeclarationNode::newPointer( (yyvsp[(2) - (3)].decl) ) ); }
    83148306    break;
    83158307
    8316   case 598:
    8317 
    8318 /* Line 1806 of yacc.c  */
    8319 #line 2268 "parser.yy"
     8308  case 600:
     8309
     8310/* Line 1806 of yacc.c  */
     8311#line 2272 "parser.yy"
    83208312    { (yyval.decl) = (yyvsp[(2) - (3)].decl); }
    83218313    break;
    83228314
    8323   case 599:
    8324 
    8325 /* Line 1806 of yacc.c  */
    8326 #line 2273 "parser.yy"
     8315  case 601:
     8316
     8317/* Line 1806 of yacc.c  */
     8318#line 2277 "parser.yy"
    83278319    { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addArray( (yyvsp[(4) - (4)].decl) ); }
    83288320    break;
    83298321
    8330   case 600:
    8331 
    8332 /* Line 1806 of yacc.c  */
    8333 #line 2275 "parser.yy"
     8322  case 602:
     8323
     8324/* Line 1806 of yacc.c  */
     8325#line 2279 "parser.yy"
    83348326    { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addArray( (yyvsp[(4) - (4)].decl) ); }
    83358327    break;
    83368328
    8337   case 601:
    8338 
    8339 /* Line 1806 of yacc.c  */
    8340 #line 2277 "parser.yy"
     8329  case 603:
     8330
     8331/* Line 1806 of yacc.c  */
     8332#line 2281 "parser.yy"
    83418333    { (yyval.decl) = (yyvsp[(2) - (3)].decl); }
    83428334    break;
    83438335
    8344   case 602:
    8345 
    8346 /* Line 1806 of yacc.c  */
    8347 #line 2292 "parser.yy"
     8336  case 604:
     8337
     8338/* Line 1806 of yacc.c  */
     8339#line 2296 "parser.yy"
    83488340    { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); }
    83498341    break;
    83508342
    8351   case 604:
    8352 
    8353 /* Line 1806 of yacc.c  */
    8354 #line 2295 "parser.yy"
     8343  case 606:
     8344
     8345/* Line 1806 of yacc.c  */
     8346#line 2299 "parser.yy"
    83558347    { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); }
    83568348    break;
    83578349
    8358   case 605:
    8359 
    8360 /* Line 1806 of yacc.c  */
    8361 #line 2297 "parser.yy"
     8350  case 607:
     8351
     8352/* Line 1806 of yacc.c  */
     8353#line 2301 "parser.yy"
    83628354    { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); }
    83638355    break;
    83648356
    8365   case 607:
    8366 
    8367 /* Line 1806 of yacc.c  */
    8368 #line 2303 "parser.yy"
     8357  case 609:
     8358
     8359/* Line 1806 of yacc.c  */
     8360#line 2307 "parser.yy"
    83698361    { (yyval.decl) = (yyvsp[(2) - (3)].decl); }
    83708362    break;
    83718363
    8372   case 608:
    8373 
    8374 /* Line 1806 of yacc.c  */
    8375 #line 2308 "parser.yy"
     8364  case 610:
     8365
     8366/* Line 1806 of yacc.c  */
     8367#line 2312 "parser.yy"
    83768368    { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addPointer( DeclarationNode::newPointer( 0 ) ); }
    83778369    break;
    83788370
    8379   case 609:
    8380 
    8381 /* Line 1806 of yacc.c  */
    8382 #line 2310 "parser.yy"
     8371  case 611:
     8372
     8373/* Line 1806 of yacc.c  */
     8374#line 2314 "parser.yy"
    83838375    { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addPointer( DeclarationNode::newPointer( (yyvsp[(2) - (3)].decl) ) ); }
    83848376    break;
    83858377
    8386   case 610:
    8387 
    8388 /* Line 1806 of yacc.c  */
    8389 #line 2312 "parser.yy"
     8378  case 612:
     8379
     8380/* Line 1806 of yacc.c  */
     8381#line 2316 "parser.yy"
    83908382    { (yyval.decl) = (yyvsp[(2) - (3)].decl); }
    83918383    break;
    83928384
    8393   case 611:
    8394 
    8395 /* Line 1806 of yacc.c  */
    8396 #line 2317 "parser.yy"
     8385  case 613:
     8386
     8387/* Line 1806 of yacc.c  */
     8388#line 2321 "parser.yy"
    83978389    { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addArray( (yyvsp[(2) - (2)].decl) ); }
    83988390    break;
    83998391
    8400   case 612:
    8401 
    8402 /* Line 1806 of yacc.c  */
    8403 #line 2319 "parser.yy"
     8392  case 614:
     8393
     8394/* Line 1806 of yacc.c  */
     8395#line 2323 "parser.yy"
    84048396    { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addArray( (yyvsp[(4) - (4)].decl) ); }
    84058397    break;
    84068398
    8407   case 613:
    8408 
    8409 /* Line 1806 of yacc.c  */
    8410 #line 2321 "parser.yy"
     8399  case 615:
     8400
     8401/* Line 1806 of yacc.c  */
     8402#line 2325 "parser.yy"
    84118403    { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addArray( (yyvsp[(4) - (4)].decl) ); }
    84128404    break;
    84138405
    8414   case 614:
    8415 
    8416 /* Line 1806 of yacc.c  */
    8417 #line 2323 "parser.yy"
     8406  case 616:
     8407
     8408/* Line 1806 of yacc.c  */
     8409#line 2327 "parser.yy"
    84188410    { (yyval.decl) = (yyvsp[(2) - (3)].decl); }
    84198411    break;
    84208412
    8421   case 615:
    8422 
    8423 /* Line 1806 of yacc.c  */
    8424 #line 2328 "parser.yy"
     8413  case 617:
     8414
     8415/* Line 1806 of yacc.c  */
     8416#line 2332 "parser.yy"
    84258417    { (yyval.decl) = (yyvsp[(1) - (6)].decl)->addParamList( (yyvsp[(4) - (6)].decl) ); }
    84268418    break;
    84278419
    8428   case 616:
    8429 
    8430 /* Line 1806 of yacc.c  */
    8431 #line 2330 "parser.yy"
     8420  case 618:
     8421
     8422/* Line 1806 of yacc.c  */
     8423#line 2334 "parser.yy"
    84328424    { (yyval.decl) = (yyvsp[(2) - (8)].decl)->addParamList( (yyvsp[(6) - (8)].decl) ); }
    84338425    break;
    84348426
    8435   case 617:
    8436 
    8437 /* Line 1806 of yacc.c  */
    8438 #line 2332 "parser.yy"
     8427  case 619:
     8428
     8429/* Line 1806 of yacc.c  */
     8430#line 2336 "parser.yy"
    84398431    { (yyval.decl) = (yyvsp[(2) - (3)].decl); }
    84408432    break;
    84418433
    8442   case 618:
    8443 
    8444 /* Line 1806 of yacc.c  */
    8445 #line 2342 "parser.yy"
     8434  case 620:
     8435
     8436/* Line 1806 of yacc.c  */
     8437#line 2346 "parser.yy"
    84468438    { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); }
    84478439    break;
    84488440
    8449   case 620:
    8450 
    8451 /* Line 1806 of yacc.c  */
    8452 #line 2345 "parser.yy"
     8441  case 622:
     8442
     8443/* Line 1806 of yacc.c  */
     8444#line 2349 "parser.yy"
    84538445    { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); }
    84548446    break;
    84558447
    8456   case 621:
    8457 
    8458 /* Line 1806 of yacc.c  */
    8459 #line 2347 "parser.yy"
     8448  case 623:
     8449
     8450/* Line 1806 of yacc.c  */
     8451#line 2351 "parser.yy"
    84608452    { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); }
    84618453    break;
    84628454
    8463   case 622:
    8464 
    8465 /* Line 1806 of yacc.c  */
    8466 #line 2352 "parser.yy"
     8455  case 624:
     8456
     8457/* Line 1806 of yacc.c  */
     8458#line 2356 "parser.yy"
    84678459    { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addPointer( DeclarationNode::newPointer( 0 ) ); }
    84688460    break;
    84698461
    8470   case 623:
    8471 
    8472 /* Line 1806 of yacc.c  */
    8473 #line 2354 "parser.yy"
     8462  case 625:
     8463
     8464/* Line 1806 of yacc.c  */
     8465#line 2358 "parser.yy"
    84748466    { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addPointer( DeclarationNode::newPointer( (yyvsp[(2) - (3)].decl) ) ); }
    84758467    break;
    84768468
    8477   case 624:
    8478 
    8479 /* Line 1806 of yacc.c  */
    8480 #line 2356 "parser.yy"
     8469  case 626:
     8470
     8471/* Line 1806 of yacc.c  */
     8472#line 2360 "parser.yy"
    84818473    { (yyval.decl) = (yyvsp[(2) - (3)].decl); }
    84828474    break;
    84838475
    8484   case 625:
    8485 
    8486 /* Line 1806 of yacc.c  */
    8487 #line 2361 "parser.yy"
     8476  case 627:
     8477
     8478/* Line 1806 of yacc.c  */
     8479#line 2365 "parser.yy"
    84888480    { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addArray( (yyvsp[(2) - (2)].decl) ); }
    84898481    break;
    84908482
    8491   case 626:
    8492 
    8493 /* Line 1806 of yacc.c  */
    8494 #line 2363 "parser.yy"
     8483  case 628:
     8484
     8485/* Line 1806 of yacc.c  */
     8486#line 2367 "parser.yy"
    84958487    { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addArray( (yyvsp[(4) - (4)].decl) ); }
    84968488    break;
    84978489
    8498   case 627:
    8499 
    8500 /* Line 1806 of yacc.c  */
    8501 #line 2365 "parser.yy"
     8490  case 629:
     8491
     8492/* Line 1806 of yacc.c  */
     8493#line 2369 "parser.yy"
    85028494    { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addArray( (yyvsp[(4) - (4)].decl) ); }
    85038495    break;
    85048496
    8505   case 628:
    8506 
    8507 /* Line 1806 of yacc.c  */
    8508 #line 2367 "parser.yy"
     8497  case 630:
     8498
     8499/* Line 1806 of yacc.c  */
     8500#line 2371 "parser.yy"
    85098501    { (yyval.decl) = (yyvsp[(2) - (3)].decl); }
    85108502    break;
    85118503
    8512   case 629:
    8513 
    8514 /* Line 1806 of yacc.c  */
    8515 #line 2372 "parser.yy"
     8504  case 631:
     8505
     8506/* Line 1806 of yacc.c  */
     8507#line 2376 "parser.yy"
    85168508    { (yyval.decl) = (yyvsp[(1) - (6)].decl)->addParamList( (yyvsp[(4) - (6)].decl) ); }
    85178509    break;
    85188510
    8519   case 630:
    8520 
    8521 /* Line 1806 of yacc.c  */
    8522 #line 2374 "parser.yy"
     8511  case 632:
     8512
     8513/* Line 1806 of yacc.c  */
     8514#line 2378 "parser.yy"
    85238515    { (yyval.decl) = (yyvsp[(2) - (8)].decl)->addParamList( (yyvsp[(6) - (8)].decl) ); }
    85248516    break;
    85258517
    8526   case 631:
    8527 
    8528 /* Line 1806 of yacc.c  */
    8529 #line 2376 "parser.yy"
     8518  case 633:
     8519
     8520/* Line 1806 of yacc.c  */
     8521#line 2380 "parser.yy"
    85308522    { (yyval.decl) = (yyvsp[(2) - (3)].decl); }
    85318523    break;
    85328524
    8533   case 632:
    8534 
    8535 /* Line 1806 of yacc.c  */
    8536 #line 2407 "parser.yy"
     8525  case 634:
     8526
     8527/* Line 1806 of yacc.c  */
     8528#line 2411 "parser.yy"
    85378529    { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); }
    85388530    break;
    85398531
    8540   case 634:
    8541 
    8542 /* Line 1806 of yacc.c  */
    8543 #line 2410 "parser.yy"
     8532  case 636:
     8533
     8534/* Line 1806 of yacc.c  */
     8535#line 2414 "parser.yy"
    85448536    { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); }
    85458537    break;
    85468538
    8547   case 635:
    8548 
    8549 /* Line 1806 of yacc.c  */
    8550 #line 2412 "parser.yy"
     8539  case 637:
     8540
     8541/* Line 1806 of yacc.c  */
     8542#line 2416 "parser.yy"
    85518543    { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); }
    85528544    break;
    85538545
    8554   case 636:
    8555 
    8556 /* Line 1806 of yacc.c  */
    8557 #line 2417 "parser.yy"
     8546  case 638:
     8547
     8548/* Line 1806 of yacc.c  */
     8549#line 2421 "parser.yy"
    85588550    {
    85598551                        typedefTable.setNextIdentifier( *(yyvsp[(1) - (1)].tok) );
     
    85628554    break;
    85638555
    8564   case 637:
    8565 
    8566 /* Line 1806 of yacc.c  */
    8567 #line 2422 "parser.yy"
     8556  case 639:
     8557
     8558/* Line 1806 of yacc.c  */
     8559#line 2426 "parser.yy"
    85688560    {
    85698561                        typedefTable.setNextIdentifier( *(yyvsp[(1) - (1)].tok) );
     
    85728564    break;
    85738565
    8574   case 638:
    8575 
    8576 /* Line 1806 of yacc.c  */
    8577 #line 2430 "parser.yy"
     8566  case 640:
     8567
     8568/* Line 1806 of yacc.c  */
     8569#line 2434 "parser.yy"
    85788570    { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addPointer( DeclarationNode::newPointer( 0 ) ); }
    85798571    break;
    85808572
    8581   case 639:
    8582 
    8583 /* Line 1806 of yacc.c  */
    8584 #line 2432 "parser.yy"
     8573  case 641:
     8574
     8575/* Line 1806 of yacc.c  */
     8576#line 2436 "parser.yy"
    85858577    { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addPointer( DeclarationNode::newPointer( (yyvsp[(2) - (3)].decl) ) ); }
    85868578    break;
    85878579
    8588   case 640:
    8589 
    8590 /* Line 1806 of yacc.c  */
    8591 #line 2434 "parser.yy"
     8580  case 642:
     8581
     8582/* Line 1806 of yacc.c  */
     8583#line 2438 "parser.yy"
    85928584    { (yyval.decl) = (yyvsp[(2) - (3)].decl); }
    85938585    break;
    85948586
    8595   case 641:
    8596 
    8597 /* Line 1806 of yacc.c  */
    8598 #line 2439 "parser.yy"
     8587  case 643:
     8588
     8589/* Line 1806 of yacc.c  */
     8590#line 2443 "parser.yy"
    85998591    { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addArray( (yyvsp[(2) - (2)].decl) ); }
    86008592    break;
    86018593
    8602   case 642:
    8603 
    8604 /* Line 1806 of yacc.c  */
    8605 #line 2441 "parser.yy"
     8594  case 644:
     8595
     8596/* Line 1806 of yacc.c  */
     8597#line 2445 "parser.yy"
    86068598    { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addArray( (yyvsp[(4) - (4)].decl) ); }
    86078599    break;
    86088600
    8609   case 643:
    8610 
    8611 /* Line 1806 of yacc.c  */
    8612 #line 2446 "parser.yy"
     8601  case 645:
     8602
     8603/* Line 1806 of yacc.c  */
     8604#line 2450 "parser.yy"
    86138605    { (yyval.decl) = (yyvsp[(1) - (6)].decl)->addParamList( (yyvsp[(4) - (6)].decl) ); }
    86148606    break;
    86158607
    8616   case 644:
    8617 
    8618 /* Line 1806 of yacc.c  */
    8619 #line 2448 "parser.yy"
     8608  case 646:
     8609
     8610/* Line 1806 of yacc.c  */
     8611#line 2452 "parser.yy"
    86208612    { (yyval.decl) = (yyvsp[(2) - (8)].decl)->addParamList( (yyvsp[(6) - (8)].decl) ); }
    86218613    break;
    86228614
    8623   case 646:
    8624 
    8625 /* Line 1806 of yacc.c  */
    8626 #line 2463 "parser.yy"
     8615  case 648:
     8616
     8617/* Line 1806 of yacc.c  */
     8618#line 2467 "parser.yy"
    86278619    { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); }
    86288620    break;
    86298621
    8630   case 647:
    8631 
    8632 /* Line 1806 of yacc.c  */
    8633 #line 2465 "parser.yy"
     8622  case 649:
     8623
     8624/* Line 1806 of yacc.c  */
     8625#line 2469 "parser.yy"
    86348626    { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); }
    86358627    break;
    86368628
    8637   case 648:
    8638 
    8639 /* Line 1806 of yacc.c  */
    8640 #line 2470 "parser.yy"
     8629  case 650:
     8630
     8631/* Line 1806 of yacc.c  */
     8632#line 2474 "parser.yy"
    86418633    { (yyval.decl) = DeclarationNode::newPointer( 0 ); }
    86428634    break;
    86438635
    8644   case 649:
    8645 
    8646 /* Line 1806 of yacc.c  */
    8647 #line 2472 "parser.yy"
     8636  case 651:
     8637
     8638/* Line 1806 of yacc.c  */
     8639#line 2476 "parser.yy"
    86488640    { (yyval.decl) = DeclarationNode::newPointer( (yyvsp[(2) - (2)].decl) ); }
    86498641    break;
    86508642
    8651   case 650:
    8652 
    8653 /* Line 1806 of yacc.c  */
    8654 #line 2474 "parser.yy"
     8643  case 652:
     8644
     8645/* Line 1806 of yacc.c  */
     8646#line 2478 "parser.yy"
    86558647    { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addPointer( DeclarationNode::newPointer( 0 ) ); }
    86568648    break;
    86578649
    8658   case 651:
    8659 
    8660 /* Line 1806 of yacc.c  */
    8661 #line 2476 "parser.yy"
     8650  case 653:
     8651
     8652/* Line 1806 of yacc.c  */
     8653#line 2480 "parser.yy"
    86628654    { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addPointer( DeclarationNode::newPointer( (yyvsp[(2) - (3)].decl) ) ); }
    86638655    break;
    86648656
    8665   case 652:
    8666 
    8667 /* Line 1806 of yacc.c  */
    8668 #line 2478 "parser.yy"
     8657  case 654:
     8658
     8659/* Line 1806 of yacc.c  */
     8660#line 2482 "parser.yy"
    86698661    { (yyval.decl) = (yyvsp[(2) - (3)].decl); }
    86708662    break;
    86718663
    8672   case 654:
    8673 
    8674 /* Line 1806 of yacc.c  */
    8675 #line 2484 "parser.yy"
     8664  case 656:
     8665
     8666/* Line 1806 of yacc.c  */
     8667#line 2488 "parser.yy"
    86768668    { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addArray( (yyvsp[(4) - (4)].decl) ); }
    86778669    break;
    86788670
    8679   case 655:
    8680 
    8681 /* Line 1806 of yacc.c  */
    8682 #line 2486 "parser.yy"
     8671  case 657:
     8672
     8673/* Line 1806 of yacc.c  */
     8674#line 2490 "parser.yy"
    86838675    { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addArray( (yyvsp[(4) - (4)].decl) ); }
    86848676    break;
    86858677
    8686   case 656:
    8687 
    8688 /* Line 1806 of yacc.c  */
    8689 #line 2488 "parser.yy"
     8678  case 658:
     8679
     8680/* Line 1806 of yacc.c  */
     8681#line 2492 "parser.yy"
    86908682    { (yyval.decl) = (yyvsp[(2) - (3)].decl); }
    86918683    break;
    86928684
    8693   case 657:
    8694 
    8695 /* Line 1806 of yacc.c  */
    8696 #line 2493 "parser.yy"
     8685  case 659:
     8686
     8687/* Line 1806 of yacc.c  */
     8688#line 2497 "parser.yy"
    86978689    { (yyval.decl) = DeclarationNode::newFunction( 0, 0, (yyvsp[(3) - (5)].decl), 0 ); }
    86988690    break;
    86998691
    8700   case 658:
    8701 
    8702 /* Line 1806 of yacc.c  */
    8703 #line 2495 "parser.yy"
     8692  case 660:
     8693
     8694/* Line 1806 of yacc.c  */
     8695#line 2499 "parser.yy"
    87048696    { (yyval.decl) = (yyvsp[(2) - (8)].decl)->addParamList( (yyvsp[(6) - (8)].decl) ); }
    87058697    break;
    87068698
    8707   case 659:
    8708 
    8709 /* Line 1806 of yacc.c  */
    8710 #line 2497 "parser.yy"
     8699  case 661:
     8700
     8701/* Line 1806 of yacc.c  */
     8702#line 2501 "parser.yy"
    87118703    { (yyval.decl) = (yyvsp[(2) - (3)].decl); }
    87128704    break;
    87138705
    8714   case 660:
    8715 
    8716 /* Line 1806 of yacc.c  */
    8717 #line 2503 "parser.yy"
     8706  case 662:
     8707
     8708/* Line 1806 of yacc.c  */
     8709#line 2507 "parser.yy"
    87188710    { (yyval.decl) = DeclarationNode::newArray( 0, 0, false ); }
    87198711    break;
    87208712
    8721   case 661:
    8722 
    8723 /* Line 1806 of yacc.c  */
    8724 #line 2505 "parser.yy"
     8713  case 663:
     8714
     8715/* Line 1806 of yacc.c  */
     8716#line 2509 "parser.yy"
    87258717    { (yyval.decl) = DeclarationNode::newArray( 0, 0, false )->addArray( (yyvsp[(3) - (3)].decl) ); }
    87268718    break;
    87278719
    8728   case 663:
    8729 
    8730 /* Line 1806 of yacc.c  */
    8731 #line 2511 "parser.yy"
     8720  case 665:
     8721
     8722/* Line 1806 of yacc.c  */
     8723#line 2515 "parser.yy"
    87328724    { (yyval.decl) = DeclarationNode::newArray( (yyvsp[(3) - (5)].en), 0, false ); }
    87338725    break;
    87348726
    8735   case 664:
    8736 
    8737 /* Line 1806 of yacc.c  */
    8738 #line 2513 "parser.yy"
     8727  case 666:
     8728
     8729/* Line 1806 of yacc.c  */
     8730#line 2517 "parser.yy"
    87398731    { (yyval.decl) = DeclarationNode::newVarArray( 0 ); }
    87408732    break;
    87418733
    8742   case 665:
    8743 
    8744 /* Line 1806 of yacc.c  */
    8745 #line 2515 "parser.yy"
     8734  case 667:
     8735
     8736/* Line 1806 of yacc.c  */
     8737#line 2519 "parser.yy"
    87468738    { (yyval.decl) = (yyvsp[(1) - (6)].decl)->addArray( DeclarationNode::newArray( (yyvsp[(4) - (6)].en), 0, false ) ); }
    87478739    break;
    87488740
    8749   case 666:
    8750 
    8751 /* Line 1806 of yacc.c  */
    8752 #line 2517 "parser.yy"
     8741  case 668:
     8742
     8743/* Line 1806 of yacc.c  */
     8744#line 2521 "parser.yy"
    87538745    { (yyval.decl) = (yyvsp[(1) - (6)].decl)->addArray( DeclarationNode::newVarArray( 0 ) ); }
    87548746    break;
    87558747
    8756   case 668:
    8757 
    8758 /* Line 1806 of yacc.c  */
    8759 #line 2532 "parser.yy"
     8748  case 670:
     8749
     8750/* Line 1806 of yacc.c  */
     8751#line 2536 "parser.yy"
    87608752    { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); }
    87618753    break;
    87628754
    8763   case 669:
    8764 
    8765 /* Line 1806 of yacc.c  */
    8766 #line 2534 "parser.yy"
     8755  case 671:
     8756
     8757/* Line 1806 of yacc.c  */
     8758#line 2538 "parser.yy"
    87678759    { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); }
    87688760    break;
    87698761
    8770   case 670:
    8771 
    8772 /* Line 1806 of yacc.c  */
    8773 #line 2539 "parser.yy"
     8762  case 672:
     8763
     8764/* Line 1806 of yacc.c  */
     8765#line 2543 "parser.yy"
    87748766    { (yyval.decl) = DeclarationNode::newPointer( 0 ); }
    87758767    break;
    87768768
    8777   case 671:
    8778 
    8779 /* Line 1806 of yacc.c  */
    8780 #line 2541 "parser.yy"
     8769  case 673:
     8770
     8771/* Line 1806 of yacc.c  */
     8772#line 2545 "parser.yy"
    87818773    { (yyval.decl) = DeclarationNode::newPointer( (yyvsp[(2) - (2)].decl) ); }
    87828774    break;
    87838775
    8784   case 672:
    8785 
    8786 /* Line 1806 of yacc.c  */
    8787 #line 2543 "parser.yy"
     8776  case 674:
     8777
     8778/* Line 1806 of yacc.c  */
     8779#line 2547 "parser.yy"
    87888780    { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addPointer( DeclarationNode::newPointer( 0 ) ); }
    87898781    break;
    87908782
    8791   case 673:
    8792 
    8793 /* Line 1806 of yacc.c  */
    8794 #line 2545 "parser.yy"
     8783  case 675:
     8784
     8785/* Line 1806 of yacc.c  */
     8786#line 2549 "parser.yy"
    87958787    { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addPointer( DeclarationNode::newPointer( (yyvsp[(2) - (3)].decl) ) ); }
    87968788    break;
    87978789
    8798   case 674:
    8799 
    8800 /* Line 1806 of yacc.c  */
    8801 #line 2547 "parser.yy"
     8790  case 676:
     8791
     8792/* Line 1806 of yacc.c  */
     8793#line 2551 "parser.yy"
    88028794    { (yyval.decl) = (yyvsp[(2) - (3)].decl); }
    88038795    break;
    88048796
    8805   case 676:
    8806 
    8807 /* Line 1806 of yacc.c  */
    8808 #line 2553 "parser.yy"
     8797  case 678:
     8798
     8799/* Line 1806 of yacc.c  */
     8800#line 2557 "parser.yy"
    88098801    { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addArray( (yyvsp[(4) - (4)].decl) ); }
    88108802    break;
    88118803
    8812   case 677:
    8813 
    8814 /* Line 1806 of yacc.c  */
    8815 #line 2555 "parser.yy"
     8804  case 679:
     8805
     8806/* Line 1806 of yacc.c  */
     8807#line 2559 "parser.yy"
    88168808    { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addArray( (yyvsp[(4) - (4)].decl) ); }
    88178809    break;
    88188810
    8819   case 678:
    8820 
    8821 /* Line 1806 of yacc.c  */
    8822 #line 2557 "parser.yy"
     8811  case 680:
     8812
     8813/* Line 1806 of yacc.c  */
     8814#line 2561 "parser.yy"
    88238815    { (yyval.decl) = (yyvsp[(2) - (3)].decl); }
    88248816    break;
    88258817
    8826   case 679:
    8827 
    8828 /* Line 1806 of yacc.c  */
    8829 #line 2562 "parser.yy"
     8818  case 681:
     8819
     8820/* Line 1806 of yacc.c  */
     8821#line 2566 "parser.yy"
    88308822    { (yyval.decl) = DeclarationNode::newFunction( 0, 0, (yyvsp[(3) - (5)].decl), 0 ); }
    88318823    break;
    88328824
    8833   case 680:
    8834 
    8835 /* Line 1806 of yacc.c  */
    8836 #line 2564 "parser.yy"
     8825  case 682:
     8826
     8827/* Line 1806 of yacc.c  */
     8828#line 2568 "parser.yy"
    88378829    { (yyval.decl) = (yyvsp[(2) - (8)].decl)->addParamList( (yyvsp[(6) - (8)].decl) ); }
    88388830    break;
    88398831
    8840   case 681:
    8841 
    8842 /* Line 1806 of yacc.c  */
    8843 #line 2566 "parser.yy"
     8832  case 683:
     8833
     8834/* Line 1806 of yacc.c  */
     8835#line 2570 "parser.yy"
    88448836    { (yyval.decl) = (yyvsp[(2) - (3)].decl); }
    88458837    break;
    88468838
    8847   case 683:
    8848 
    8849 /* Line 1806 of yacc.c  */
    8850 #line 2573 "parser.yy"
     8839  case 685:
     8840
     8841/* Line 1806 of yacc.c  */
     8842#line 2577 "parser.yy"
    88518843    { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addArray( (yyvsp[(2) - (2)].decl) ); }
    88528844    break;
    88538845
    8854   case 685:
    8855 
    8856 /* Line 1806 of yacc.c  */
    8857 #line 2584 "parser.yy"
     8846  case 687:
     8847
     8848/* Line 1806 of yacc.c  */
     8849#line 2588 "parser.yy"
    88588850    { (yyval.decl) = DeclarationNode::newArray( 0, 0, false ); }
    88598851    break;
    88608852
    8861   case 686:
    8862 
    8863 /* Line 1806 of yacc.c  */
    8864 #line 2587 "parser.yy"
     8853  case 688:
     8854
     8855/* Line 1806 of yacc.c  */
     8856#line 2591 "parser.yy"
    88658857    { (yyval.decl) = DeclarationNode::newVarArray( (yyvsp[(3) - (6)].decl) ); }
    88668858    break;
    88678859
    8868   case 687:
    8869 
    8870 /* Line 1806 of yacc.c  */
    8871 #line 2589 "parser.yy"
     8860  case 689:
     8861
     8862/* Line 1806 of yacc.c  */
     8863#line 2593 "parser.yy"
    88728864    { (yyval.decl) = DeclarationNode::newArray( 0, (yyvsp[(3) - (5)].decl), false ); }
    88738865    break;
    88748866
    8875   case 688:
    8876 
    8877 /* Line 1806 of yacc.c  */
    8878 #line 2592 "parser.yy"
     8867  case 690:
     8868
     8869/* Line 1806 of yacc.c  */
     8870#line 2596 "parser.yy"
    88798871    { (yyval.decl) = DeclarationNode::newArray( (yyvsp[(4) - (6)].en), (yyvsp[(3) - (6)].decl), false ); }
    88808872    break;
    88818873
    8882   case 689:
    8883 
    8884 /* Line 1806 of yacc.c  */
    8885 #line 2594 "parser.yy"
     8874  case 691:
     8875
     8876/* Line 1806 of yacc.c  */
     8877#line 2598 "parser.yy"
    88868878    { (yyval.decl) = DeclarationNode::newArray( (yyvsp[(5) - (7)].en), (yyvsp[(4) - (7)].decl), true ); }
    88878879    break;
    88888880
    8889   case 690:
    8890 
    8891 /* Line 1806 of yacc.c  */
    8892 #line 2596 "parser.yy"
     8881  case 692:
     8882
     8883/* Line 1806 of yacc.c  */
     8884#line 2600 "parser.yy"
    88938885    { (yyval.decl) = DeclarationNode::newArray( (yyvsp[(5) - (7)].en), (yyvsp[(3) - (7)].decl), true ); }
    88948886    break;
    88958887
    8896   case 692:
    8897 
    8898 /* Line 1806 of yacc.c  */
    8899 #line 2610 "parser.yy"
     8888  case 694:
     8889
     8890/* Line 1806 of yacc.c  */
     8891#line 2614 "parser.yy"
    89008892    { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); }
    89018893    break;
    89028894
    8903   case 693:
    8904 
    8905 /* Line 1806 of yacc.c  */
    8906 #line 2612 "parser.yy"
     8895  case 695:
     8896
     8897/* Line 1806 of yacc.c  */
     8898#line 2616 "parser.yy"
    89078899    { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); }
    89088900    break;
    89098901
    8910   case 694:
    8911 
    8912 /* Line 1806 of yacc.c  */
    8913 #line 2617 "parser.yy"
     8902  case 696:
     8903
     8904/* Line 1806 of yacc.c  */
     8905#line 2621 "parser.yy"
    89148906    { (yyval.decl) = DeclarationNode::newPointer( 0 ); }
    89158907    break;
    89168908
    8917   case 695:
    8918 
    8919 /* Line 1806 of yacc.c  */
    8920 #line 2619 "parser.yy"
     8909  case 697:
     8910
     8911/* Line 1806 of yacc.c  */
     8912#line 2623 "parser.yy"
    89218913    { (yyval.decl) = DeclarationNode::newPointer( (yyvsp[(2) - (2)].decl) ); }
    89228914    break;
    89238915
    8924   case 696:
    8925 
    8926 /* Line 1806 of yacc.c  */
    8927 #line 2621 "parser.yy"
     8916  case 698:
     8917
     8918/* Line 1806 of yacc.c  */
     8919#line 2625 "parser.yy"
    89288920    { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addPointer( DeclarationNode::newPointer( 0 ) ); }
    89298921    break;
    89308922
    8931   case 697:
    8932 
    8933 /* Line 1806 of yacc.c  */
    8934 #line 2623 "parser.yy"
     8923  case 699:
     8924
     8925/* Line 1806 of yacc.c  */
     8926#line 2627 "parser.yy"
    89358927    { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addPointer( DeclarationNode::newPointer( (yyvsp[(2) - (3)].decl) ) ); }
    89368928    break;
    89378929
    8938   case 698:
    8939 
    8940 /* Line 1806 of yacc.c  */
    8941 #line 2625 "parser.yy"
     8930  case 700:
     8931
     8932/* Line 1806 of yacc.c  */
     8933#line 2629 "parser.yy"
    89428934    { (yyval.decl) = (yyvsp[(2) - (3)].decl); }
    89438935    break;
    89448936
    8945   case 700:
    8946 
    8947 /* Line 1806 of yacc.c  */
    8948 #line 2631 "parser.yy"
     8937  case 702:
     8938
     8939/* Line 1806 of yacc.c  */
     8940#line 2635 "parser.yy"
    89498941    { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addArray( (yyvsp[(4) - (4)].decl) ); }
    89508942    break;
    89518943
    8952   case 701:
    8953 
    8954 /* Line 1806 of yacc.c  */
    8955 #line 2633 "parser.yy"
     8944  case 703:
     8945
     8946/* Line 1806 of yacc.c  */
     8947#line 2637 "parser.yy"
    89568948    { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addArray( (yyvsp[(4) - (4)].decl) ); }
    89578949    break;
    89588950
    8959   case 702:
    8960 
    8961 /* Line 1806 of yacc.c  */
    8962 #line 2635 "parser.yy"
     8951  case 704:
     8952
     8953/* Line 1806 of yacc.c  */
     8954#line 2639 "parser.yy"
    89638955    { (yyval.decl) = (yyvsp[(2) - (3)].decl); }
    89648956    break;
    89658957
    8966   case 703:
    8967 
    8968 /* Line 1806 of yacc.c  */
    8969 #line 2640 "parser.yy"
     8958  case 705:
     8959
     8960/* Line 1806 of yacc.c  */
     8961#line 2644 "parser.yy"
    89708962    { (yyval.decl) = (yyvsp[(2) - (8)].decl)->addParamList( (yyvsp[(6) - (8)].decl) ); }
    89718963    break;
    89728964
    8973   case 704:
    8974 
    8975 /* Line 1806 of yacc.c  */
    8976 #line 2642 "parser.yy"
     8965  case 706:
     8966
     8967/* Line 1806 of yacc.c  */
     8968#line 2646 "parser.yy"
    89778969    { (yyval.decl) = (yyvsp[(2) - (3)].decl); }
    89788970    break;
    89798971
    8980   case 707:
    8981 
    8982 /* Line 1806 of yacc.c  */
    8983 #line 2652 "parser.yy"
     8972  case 709:
     8973
     8974/* Line 1806 of yacc.c  */
     8975#line 2656 "parser.yy"
    89848976    { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addQualifiers( (yyvsp[(1) - (2)].decl) ); }
    8985     break;
    8986 
    8987   case 710:
    8988 
    8989 /* Line 1806 of yacc.c  */
    8990 #line 2662 "parser.yy"
    8991     { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addNewPointer( DeclarationNode::newPointer( 0 ) ); }
    8992     break;
    8993 
    8994   case 711:
    8995 
    8996 /* Line 1806 of yacc.c  */
    8997 #line 2664 "parser.yy"
    8998     { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addNewPointer( DeclarationNode::newPointer( (yyvsp[(1) - (3)].decl) ) ); }
    89998977    break;
    90008978
     
    90309008
    90319009/* Line 1806 of yacc.c  */
    9032 #line 2679 "parser.yy"
     9010#line 2674 "parser.yy"
     9011    { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addNewPointer( DeclarationNode::newPointer( 0 ) ); }
     9012    break;
     9013
     9014  case 717:
     9015
     9016/* Line 1806 of yacc.c  */
     9017#line 2676 "parser.yy"
     9018    { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addNewPointer( DeclarationNode::newPointer( (yyvsp[(1) - (3)].decl) ) ); }
     9019    break;
     9020
     9021  case 718:
     9022
     9023/* Line 1806 of yacc.c  */
     9024#line 2683 "parser.yy"
    90339025    { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addNewArray( DeclarationNode::newArray( 0, 0, false ) ); }
    90349026    break;
    90359027
    9036   case 717:
    9037 
    9038 /* Line 1806 of yacc.c  */
    9039 #line 2681 "parser.yy"
     9028  case 719:
     9029
     9030/* Line 1806 of yacc.c  */
     9031#line 2685 "parser.yy"
    90409032    { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addNewArray( (yyvsp[(1) - (2)].decl) ); }
    90419033    break;
    90429034
    9043   case 718:
    9044 
    9045 /* Line 1806 of yacc.c  */
    9046 #line 2683 "parser.yy"
     9035  case 720:
     9036
     9037/* Line 1806 of yacc.c  */
     9038#line 2687 "parser.yy"
    90479039    { (yyval.decl) = (yyvsp[(4) - (4)].decl)->addNewArray( (yyvsp[(3) - (4)].decl) )->addNewArray( DeclarationNode::newArray( 0, 0, false ) ); }
    90489040    break;
    90499041
    9050   case 719:
    9051 
    9052 /* Line 1806 of yacc.c  */
    9053 #line 2685 "parser.yy"
     9042  case 721:
     9043
     9044/* Line 1806 of yacc.c  */
     9045#line 2689 "parser.yy"
    90549046    { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addNewArray( (yyvsp[(2) - (3)].decl) )->addNewArray( (yyvsp[(1) - (3)].decl) ); }
    9055     break;
    9056 
    9057   case 720:
    9058 
    9059 /* Line 1806 of yacc.c  */
    9060 #line 2687 "parser.yy"
    9061     { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addNewArray( (yyvsp[(1) - (2)].decl) ); }
    9062     break;
    9063 
    9064   case 721:
    9065 
    9066 /* Line 1806 of yacc.c  */
    9067 #line 2689 "parser.yy"
    9068     { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addNewArray( DeclarationNode::newArray( 0, 0, false ) ); }
    90699047    break;
    90709048
     
    90809058/* Line 1806 of yacc.c  */
    90819059#line 2693 "parser.yy"
     9060    { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addNewArray( DeclarationNode::newArray( 0, 0, false ) ); }
     9061    break;
     9062
     9063  case 724:
     9064
     9065/* Line 1806 of yacc.c  */
     9066#line 2695 "parser.yy"
     9067    { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addNewArray( (yyvsp[(1) - (2)].decl) ); }
     9068    break;
     9069
     9070  case 725:
     9071
     9072/* Line 1806 of yacc.c  */
     9073#line 2697 "parser.yy"
    90829074    { (yyval.decl) = (yyvsp[(4) - (4)].decl)->addNewArray( (yyvsp[(3) - (4)].decl) )->addNewArray( DeclarationNode::newArray( 0, 0, false ) ); }
    90839075    break;
    90849076
    9085   case 724:
    9086 
    9087 /* Line 1806 of yacc.c  */
    9088 #line 2695 "parser.yy"
     9077  case 726:
     9078
     9079/* Line 1806 of yacc.c  */
     9080#line 2699 "parser.yy"
    90899081    { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addNewArray( (yyvsp[(2) - (3)].decl) )->addNewArray( (yyvsp[(1) - (3)].decl) ); }
    90909082    break;
    90919083
    9092   case 725:
    9093 
    9094 /* Line 1806 of yacc.c  */
    9095 #line 2697 "parser.yy"
     9084  case 727:
     9085
     9086/* Line 1806 of yacc.c  */
     9087#line 2701 "parser.yy"
    90969088    { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addNewArray( (yyvsp[(1) - (2)].decl) ); }
    90979089    break;
    90989090
    9099   case 726:
    9100 
    9101 /* Line 1806 of yacc.c  */
    9102 #line 2702 "parser.yy"
     9091  case 728:
     9092
     9093/* Line 1806 of yacc.c  */
     9094#line 2706 "parser.yy"
    91039095    { (yyval.decl) = DeclarationNode::newVarArray( (yyvsp[(3) - (6)].decl) ); }
    91049096    break;
    91059097
    9106   case 727:
    9107 
    9108 /* Line 1806 of yacc.c  */
    9109 #line 2704 "parser.yy"
     9098  case 729:
     9099
     9100/* Line 1806 of yacc.c  */
     9101#line 2708 "parser.yy"
    91109102    { (yyval.decl) = DeclarationNode::newArray( (yyvsp[(4) - (6)].en), (yyvsp[(3) - (6)].decl), false ); }
    91119103    break;
    91129104
    9113   case 728:
    9114 
    9115 /* Line 1806 of yacc.c  */
    9116 #line 2709 "parser.yy"
     9105  case 730:
     9106
     9107/* Line 1806 of yacc.c  */
     9108#line 2713 "parser.yy"
    91179109    { (yyval.decl) = DeclarationNode::newArray( (yyvsp[(4) - (6)].en), (yyvsp[(3) - (6)].decl), true ); }
    91189110    break;
    91199111
    9120   case 729:
    9121 
    9122 /* Line 1806 of yacc.c  */
    9123 #line 2711 "parser.yy"
     9112  case 731:
     9113
     9114/* Line 1806 of yacc.c  */
     9115#line 2715 "parser.yy"
    91249116    { (yyval.decl) = DeclarationNode::newArray( (yyvsp[(5) - (7)].en), (yyvsp[(4) - (7)].decl)->addQualifiers( (yyvsp[(3) - (7)].decl) ), true ); }
    91259117    break;
    91269118
    9127   case 731:
    9128 
    9129 /* Line 1806 of yacc.c  */
    9130 #line 2738 "parser.yy"
     9119  case 733:
     9120
     9121/* Line 1806 of yacc.c  */
     9122#line 2742 "parser.yy"
    91319123    { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addQualifiers( (yyvsp[(1) - (2)].decl) ); }
    9132     break;
    9133 
    9134   case 735:
    9135 
    9136 /* Line 1806 of yacc.c  */
    9137 #line 2749 "parser.yy"
    9138     { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addNewPointer( DeclarationNode::newPointer( 0 ) ); }
    9139     break;
    9140 
    9141   case 736:
    9142 
    9143 /* Line 1806 of yacc.c  */
    9144 #line 2751 "parser.yy"
    9145     { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addNewPointer( DeclarationNode::newPointer( (yyvsp[(1) - (3)].decl) ) ); }
    91469124    break;
    91479125
     
    91779155
    91789156/* Line 1806 of yacc.c  */
    9179 #line 2766 "parser.yy"
     9157#line 2761 "parser.yy"
     9158    { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addNewPointer( DeclarationNode::newPointer( 0 ) ); }
     9159    break;
     9160
     9161  case 742:
     9162
     9163/* Line 1806 of yacc.c  */
     9164#line 2763 "parser.yy"
     9165    { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addNewPointer( DeclarationNode::newPointer( (yyvsp[(1) - (3)].decl) ) ); }
     9166    break;
     9167
     9168  case 743:
     9169
     9170/* Line 1806 of yacc.c  */
     9171#line 2770 "parser.yy"
    91809172    { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addNewArray( DeclarationNode::newArray( 0, 0, false ) ); }
    91819173    break;
    91829174
    9183   case 742:
    9184 
    9185 /* Line 1806 of yacc.c  */
    9186 #line 2768 "parser.yy"
     9175  case 744:
     9176
     9177/* Line 1806 of yacc.c  */
     9178#line 2772 "parser.yy"
    91879179    { (yyval.decl) = (yyvsp[(4) - (4)].decl)->addNewArray( (yyvsp[(3) - (4)].decl) )->addNewArray( DeclarationNode::newArray( 0, 0, false ) ); }
    91889180    break;
    91899181
    9190   case 743:
    9191 
    9192 /* Line 1806 of yacc.c  */
    9193 #line 2770 "parser.yy"
     9182  case 745:
     9183
     9184/* Line 1806 of yacc.c  */
     9185#line 2774 "parser.yy"
    91949186    { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addNewArray( (yyvsp[(1) - (2)].decl) ); }
    91959187    break;
    91969188
    9197   case 744:
    9198 
    9199 /* Line 1806 of yacc.c  */
    9200 #line 2772 "parser.yy"
     9189  case 746:
     9190
     9191/* Line 1806 of yacc.c  */
     9192#line 2776 "parser.yy"
    92019193    { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addNewArray( DeclarationNode::newArray( 0, 0, false ) ); }
    92029194    break;
    92039195
    9204   case 745:
    9205 
    9206 /* Line 1806 of yacc.c  */
    9207 #line 2774 "parser.yy"
     9196  case 747:
     9197
     9198/* Line 1806 of yacc.c  */
     9199#line 2778 "parser.yy"
    92089200    { (yyval.decl) = (yyvsp[(4) - (4)].decl)->addNewArray( (yyvsp[(3) - (4)].decl) )->addNewArray( DeclarationNode::newArray( 0, 0, false ) ); }
    92099201    break;
    92109202
    9211   case 746:
    9212 
    9213 /* Line 1806 of yacc.c  */
    9214 #line 2776 "parser.yy"
     9203  case 748:
     9204
     9205/* Line 1806 of yacc.c  */
     9206#line 2780 "parser.yy"
    92159207    { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addNewArray( (yyvsp[(1) - (2)].decl) ); }
    92169208    break;
    92179209
    9218   case 747:
    9219 
    9220 /* Line 1806 of yacc.c  */
    9221 #line 2781 "parser.yy"
     9210  case 749:
     9211
     9212/* Line 1806 of yacc.c  */
     9213#line 2785 "parser.yy"
    92229214    { (yyval.decl) = DeclarationNode::newTuple( (yyvsp[(3) - (5)].decl) ); }
    92239215    break;
    92249216
    9225   case 748:
    9226 
    9227 /* Line 1806 of yacc.c  */
    9228 #line 2786 "parser.yy"
     9217  case 750:
     9218
     9219/* Line 1806 of yacc.c  */
     9220#line 2790 "parser.yy"
    92299221    { (yyval.decl) = DeclarationNode::newFunction( 0, DeclarationNode::newTuple( 0 ), (yyvsp[(4) - (5)].decl), 0 ); }
    92309222    break;
    92319223
    9232   case 749:
    9233 
    9234 /* Line 1806 of yacc.c  */
    9235 #line 2788 "parser.yy"
     9224  case 751:
     9225
     9226/* Line 1806 of yacc.c  */
     9227#line 2792 "parser.yy"
    92369228    { (yyval.decl) = DeclarationNode::newFunction( 0, (yyvsp[(1) - (6)].decl), (yyvsp[(4) - (6)].decl), 0 ); }
    92379229    break;
    92389230
    9239   case 750:
    9240 
    9241 /* Line 1806 of yacc.c  */
    9242 #line 2790 "parser.yy"
     9231  case 752:
     9232
     9233/* Line 1806 of yacc.c  */
     9234#line 2794 "parser.yy"
    92439235    { (yyval.decl) = DeclarationNode::newFunction( 0, (yyvsp[(1) - (6)].decl), (yyvsp[(4) - (6)].decl), 0 ); }
    92449236    break;
    92459237
    9246   case 753:
    9247 
    9248 /* Line 1806 of yacc.c  */
    9249 #line 2814 "parser.yy"
     9238  case 755:
     9239
     9240/* Line 1806 of yacc.c  */
     9241#line 2818 "parser.yy"
    92509242    { (yyval.en) = 0; }
    92519243    break;
    92529244
    9253   case 754:
    9254 
    9255 /* Line 1806 of yacc.c  */
    9256 #line 2816 "parser.yy"
     9245  case 756:
     9246
     9247/* Line 1806 of yacc.c  */
     9248#line 2820 "parser.yy"
    92579249    { (yyval.en) = (yyvsp[(2) - (2)].en); }
    92589250    break;
     
    92619253
    92629254/* Line 1806 of yacc.c  */
    9263 #line 9264 "Parser/parser.cc"
     9255#line 9256 "Parser/parser.cc"
    92649256      default: break;
    92659257    }
     
    94929484
    94939485/* Line 2067 of yacc.c  */
    9494 #line 2819 "parser.yy"
     9486#line 2823 "parser.yy"
    94959487
    94969488// ----end of grammar----
  • src/Parser/parser.h

    rd5f1cfc rdd51906  
    143143     ORassign = 361,
    144144     ATassign = 362,
    145      THEN = 363
     145     REFassign = 363,
     146     THEN = 364
    146147   };
    147148#endif
     
    252253#define ORassign 361
    253254#define ATassign 362
    254 #define THEN 363
     255#define REFassign 363
     256#define THEN 364
    255257
    256258
     
    279281
    280282/* Line 2068 of yacc.c  */
    281 #line 282 "Parser/parser.h"
     283#line 284 "Parser/parser.h"
    282284} YYSTYPE;
    283285# define YYSTYPE_IS_TRIVIAL 1
  • src/Parser/parser.yy

    rd5f1cfc rdd51906  
    1010// Created On       : Sat Sep  1 20:22:55 2001
    1111// Last Modified By : Peter A. Buhr
    12 // Last Modified On : Wed Apr 13 16:58:43 2016
    13 // Update Count     : 1519
     12// Last Modified On : Tue Jun  7 08:08:31 2016
     13// Update Count     : 1560
    1414//
    1515
     
    106106%token ANDassign        ERassign        ORassign                                // &=   ^=      |=
    107107
    108 %token ATassign                                                                                 // @=
     108%token ATassign         REFassign                                                       // @=   :=
    109109
    110110// Types declaration
     
    131131%type<constant> constant
    132132%type<en> tuple                                                 tuple_expression_list
    133 %type<en> unary_operator                                assignment_operator
     133%type<en> ptrref_operator                               unary_operator                          assignment_operator
    134134%type<en> primary_expression                    postfix_expression                      unary_expression
    135135%type<en> cast_expression                               multiplicative_expression       additive_expression                     shift_expression
     
    423423unary_expression:
    424424        postfix_expression
    425         // first location where constant/string can have operator applied: sizeof 3/sizeof "abc"
    426         // still requires semantics checks, e.g., ++3, 3--, *3, &&3
     425        // first location where constant/string can have operator applied: sizeof 3/sizeof "abc" still requires semantics
     426        // checks, e.g., ++3, 3--, *3, &&3
    427427        | constant
    428428                { $$ = $1; }
    429429        | string_literal_list
    430430                { $$ = $1; }
     431        | EXTENSION cast_expression                                                     // GCC
     432                { $$ = $2; }
     433        | ptrref_operator cast_expression                                       // CFA
     434                { $$ = new CompositeExprNode( $1, $2 ); }
     435        // '*' ('&') is separated from unary_operator because of shift/reduce conflict in:
     436        //              { * X; }         // dereference X
     437        //              { * int X; } // CFA declaration of pointer to int
     438        | unary_operator cast_expression
     439                { $$ = new CompositeExprNode( $1, $2 ); }
    431440        | ICR unary_expression
    432441                { $$ = new CompositeExprNode( new OperatorNode( OperatorNode::Incr ), $2 ); }
    433442        | DECR unary_expression
    434443                { $$ = new CompositeExprNode( new OperatorNode( OperatorNode::Decr ), $2 ); }
    435         | EXTENSION cast_expression                                                     // GCC
    436                 { $$ = $2; }
    437         | unary_operator cast_expression
    438                 { $$ = new CompositeExprNode( $1, $2 ); }
    439         | '!' cast_expression
    440                 { $$ = new CompositeExprNode( new OperatorNode( OperatorNode::Neg ), $2 ); }
    441         | '*' cast_expression                                                           // CFA
    442                 { $$ = new CompositeExprNode( new OperatorNode( OperatorNode::PointTo ), $2 ); }
    443                 // '*' is is separated from unary_operator because of shift/reduce conflict in:
    444                 //              { * X; } // dereference X
    445                 //              { * int X; } // CFA declaration of pointer to int
    446                 // '&' must be moved here if C++ reference variables are supported.
    447444        | SIZEOF unary_expression
    448445                { $$ = new CompositeExprNode( new OperatorNode( OperatorNode::SizeOf ), $2 ); }
     
    465462        ;
    466463
     464ptrref_operator:
     465        '*'                                                                                     { $$ = new OperatorNode( OperatorNode::PointTo ); }
     466        | '&'                                                                           { $$ = new OperatorNode( OperatorNode::AddressOf ); }
     467        ;
     468
    467469unary_operator:
    468         '&'                                                                                     { $$ = new OperatorNode( OperatorNode::AddressOf ); }
    469         | '+'                                                                           { $$ = new OperatorNode( OperatorNode::UnPlus ); }
     470        '+'                                                                                     { $$ = new OperatorNode( OperatorNode::UnPlus ); }
    470471        | '-'                                                                           { $$ = new OperatorNode( OperatorNode::UnMinus ); }
     472        | '!'                                                                           { $$ = new OperatorNode( OperatorNode::Neg ); }
    471473        | '~'                                                                           { $$ = new OperatorNode( OperatorNode::BitNeg ); }
    472474        ;
     
    575577        | unary_expression '=' assignment_expression
    576578                { $$ =new CompositeExprNode( new OperatorNode( OperatorNode::Assign ), $1, $3 ); }
     579        | unary_expression REFassign assignment_expression
     580                { $$ =new CompositeExprNode( new OperatorNode( OperatorNode::Assign ), $1, $3 ); } // FIX ME
    577581        | unary_expression assignment_operator assignment_expression
    578582                { $$ =new CompositeExprNode( $2, $1, $3 ); }
     
    21752179
    21762180variable_ptr:
    2177         '*' variable_declarator
     2181        ptrref_operator variable_declarator
    21782182                { $$ = $2->addPointer( DeclarationNode::newPointer( 0 ) ); }
    2179         | '*' type_qualifier_list variable_declarator
     2183        | ptrref_operator type_qualifier_list variable_declarator
    21802184                { $$ = $3->addPointer( DeclarationNode::newPointer( $2 ) ); }
    21812185        | '(' variable_ptr ')'
     
    22242228
    22252229function_ptr:
    2226         '*' function_declarator
     2230        ptrref_operator function_declarator
    22272231                { $$ = $2->addPointer( DeclarationNode::newPointer( 0 ) ); }
    2228         | '*' type_qualifier_list function_declarator
     2232        | ptrref_operator type_qualifier_list function_declarator
    22292233                { $$ = $3->addPointer( DeclarationNode::newPointer( $2 ) ); }
    22302234        | '(' function_ptr ')'
     
    22612265
    22622266old_function_ptr:
    2263         '*' old_function_declarator
     2267        ptrref_operator old_function_declarator
    22642268                { $$ = $2->addPointer( DeclarationNode::newPointer( 0 ) ); }
    2265         | '*' type_qualifier_list old_function_declarator
     2269        | ptrref_operator type_qualifier_list old_function_declarator
    22662270                { $$ = $3->addPointer( DeclarationNode::newPointer( $2 ) ); }
    22672271        | '(' old_function_ptr ')'
     
    23052309
    23062310type_ptr:
    2307         '*' type_redeclarator
     2311        ptrref_operator type_redeclarator
    23082312                { $$ = $2->addPointer( DeclarationNode::newPointer( 0 ) ); }
    2309         | '*' type_qualifier_list type_redeclarator
     2313        | ptrref_operator type_qualifier_list type_redeclarator
    23102314                { $$ = $3->addPointer( DeclarationNode::newPointer( $2 ) ); }
    23112315        | '(' type_ptr ')'
     
    23492353
    23502354identifier_parameter_ptr:
    2351         '*' identifier_parameter_declarator
     2355        ptrref_operator identifier_parameter_declarator
    23522356                { $$ = $2->addPointer( DeclarationNode::newPointer( 0 ) ); }
    2353         | '*' type_qualifier_list identifier_parameter_declarator
     2357        | ptrref_operator type_qualifier_list identifier_parameter_declarator
    23542358                { $$ = $3->addPointer( DeclarationNode::newPointer( $2 ) ); }
    23552359        | '(' identifier_parameter_ptr ')'
     
    24272431
    24282432type_parameter_ptr:
    2429         '*' type_parameter_redeclarator
     2433        ptrref_operator type_parameter_redeclarator
    24302434                { $$ = $2->addPointer( DeclarationNode::newPointer( 0 ) ); }
    2431         | '*' type_qualifier_list type_parameter_redeclarator
     2435        | ptrref_operator type_qualifier_list type_parameter_redeclarator
    24322436                { $$ = $3->addPointer( DeclarationNode::newPointer( $2 ) ); }
    24332437        | '(' type_parameter_ptr ')'
     
    24672471
    24682472abstract_ptr:
    2469         '*'
     2473        ptrref_operator
    24702474                { $$ = DeclarationNode::newPointer( 0 ); }
    2471         | '*' type_qualifier_list
     2475        | ptrref_operator type_qualifier_list
    24722476                { $$ = DeclarationNode::newPointer( $2 ); }
    2473         | '*' abstract_declarator
     2477        | ptrref_operator abstract_declarator
    24742478                { $$ = $2->addPointer( DeclarationNode::newPointer( 0 ) ); }
    2475         | '*' type_qualifier_list abstract_declarator
     2479        | ptrref_operator type_qualifier_list abstract_declarator
    24762480                { $$ = $3->addPointer( DeclarationNode::newPointer( $2 ) ); }
    24772481        | '(' abstract_ptr ')'
     
    25362540
    25372541abstract_parameter_ptr:
    2538         '*'
     2542        ptrref_operator
    25392543                { $$ = DeclarationNode::newPointer( 0 ); }
    2540         | '*' type_qualifier_list
     2544        | ptrref_operator type_qualifier_list
    25412545                { $$ = DeclarationNode::newPointer( $2 ); }
    2542         | '*' abstract_parameter_declarator
     2546        | ptrref_operator abstract_parameter_declarator
    25432547                { $$ = $2->addPointer( DeclarationNode::newPointer( 0 ) ); }
    2544         | '*' type_qualifier_list abstract_parameter_declarator
     2548        | ptrref_operator type_qualifier_list abstract_parameter_declarator
    25452549                { $$ = $3->addPointer( DeclarationNode::newPointer( $2 ) ); }
    25462550        | '(' abstract_parameter_ptr ')'
     
    26142618
    26152619variable_abstract_ptr:
    2616         '*'
     2620        ptrref_operator
    26172621                { $$ = DeclarationNode::newPointer( 0 ); }
    2618         | '*' type_qualifier_list
     2622        | ptrref_operator type_qualifier_list
    26192623                { $$ = DeclarationNode::newPointer( $2 ); }
    2620         | '*' variable_abstract_declarator
     2624        | ptrref_operator variable_abstract_declarator
    26212625                { $$ = $2->addPointer( DeclarationNode::newPointer( 0 ) ); }
    2622         | '*' type_qualifier_list variable_abstract_declarator
     2626        | ptrref_operator type_qualifier_list variable_abstract_declarator
    26232627                { $$ = $3->addPointer( DeclarationNode::newPointer( $2 ) ); }
    26242628        | '(' variable_abstract_ptr ')'
     
    26592663
    26602664new_identifier_parameter_ptr:                                                   // CFA
    2661         '*' type_specifier
     2665        ptrref_operator type_specifier
    26622666                { $$ = $2->addNewPointer( DeclarationNode::newPointer( 0 ) ); }
    2663         | type_qualifier_list '*' type_specifier
     2667        | type_qualifier_list ptrref_operator type_specifier
    26642668                { $$ = $3->addNewPointer( DeclarationNode::newPointer( $1 ) ); }
    2665         | '*' new_abstract_function
     2669        | ptrref_operator new_abstract_function
    26662670                { $$ = $2->addNewPointer( DeclarationNode::newPointer( 0 ) ); }
    2667         | type_qualifier_list '*' new_abstract_function
     2671        | type_qualifier_list ptrref_operator new_abstract_function
    26682672                { $$ = $3->addNewPointer( DeclarationNode::newPointer( $1 ) ); }
    2669         | '*' new_identifier_parameter_declarator_tuple
     2673        | ptrref_operator new_identifier_parameter_declarator_tuple
    26702674                { $$ = $2->addNewPointer( DeclarationNode::newPointer( 0 ) ); }
    2671         | type_qualifier_list '*' new_identifier_parameter_declarator_tuple
     2675        | type_qualifier_list ptrref_operator new_identifier_parameter_declarator_tuple
    26722676                { $$ = $3->addNewPointer( DeclarationNode::newPointer( $1 ) ); }
    26732677        ;
     
    27462750
    27472751new_abstract_ptr:                                                                               // CFA
    2748         '*' type_specifier
     2752        ptrref_operator type_specifier
    27492753                { $$ = $2->addNewPointer( DeclarationNode::newPointer( 0 ) ); }
    2750         | type_qualifier_list '*' type_specifier
     2754        | type_qualifier_list ptrref_operator type_specifier
    27512755                { $$ = $3->addNewPointer( DeclarationNode::newPointer( $1 ) ); }
    2752         | '*' new_abstract_function
     2756        | ptrref_operator new_abstract_function
    27532757                { $$ = $2->addNewPointer( DeclarationNode::newPointer( 0 ) ); }
    2754         | type_qualifier_list '*' new_abstract_function
     2758        | type_qualifier_list ptrref_operator new_abstract_function
    27552759                { $$ = $3->addNewPointer( DeclarationNode::newPointer( $1 ) ); }
    2756         | '*' new_abstract_declarator_tuple
     2760        | ptrref_operator new_abstract_declarator_tuple
    27572761                { $$ = $2->addNewPointer( DeclarationNode::newPointer( 0 ) ); }
    2758         | type_qualifier_list '*' new_abstract_declarator_tuple
     2762        | type_qualifier_list ptrref_operator new_abstract_declarator_tuple
    27592763                { $$ = $3->addNewPointer( DeclarationNode::newPointer( $1 ) ); }
    27602764        ;
  • src/driver/Makefile.in

    rd5f1cfc rdd51906  
    196196          esac; \
    197197        done; \
    198         echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu src/driver/Makefile'; \
     198        echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign src/driver/Makefile'; \
    199199        $(am__cd) $(top_srcdir) && \
    200           $(AUTOMAKE) --gnu src/driver/Makefile
     200          $(AUTOMAKE) --foreign src/driver/Makefile
    201201.PRECIOUS: Makefile
    202202Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
  • src/examples/Makefile.in

    rd5f1cfc rdd51906  
    198198          esac; \
    199199        done; \
    200         echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu src/examples/Makefile'; \
     200        echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign src/examples/Makefile'; \
    201201        $(am__cd) $(top_srcdir) && \
    202           $(AUTOMAKE) --gnu src/examples/Makefile
     202          $(AUTOMAKE) --foreign src/examples/Makefile
    203203.PRECIOUS: Makefile
    204204Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
  • src/examples/io.c

    rd5f1cfc rdd51906  
    1111// Created On       : Wed Mar  2 16:56:02 2016
    1212// Last Modified By : Peter A. Buhr
    13 // Last Modified On : Sat Apr 30 08:34:13 2016
    14 // Update Count     : 27
     13// Last Modified On : Thu May 26 10:06:00 2016
     14// Update Count     : 28
    1515//
    1616
     
    9292                | 25 | "`" | 27
    9393                | 25 | "\"" | 27
     94                | 25 | " " | 27
    9495                | 25 | "\f" | 27
    9596                | 25 | "\n" | 27
  • src/examples/sum.c

    rd5f1cfc rdd51906  
    55// file "LICENCE" distributed with Cforall.
    66//
    7 // sum.c --
     7// sum.c -- test resolvers ability to deal with many variables with the same name and to use the minimum number of casts
     8//    necessary to disambiguate overloaded variable names.
    89//
    910// Author           : Peter A. Buhr
    1011// Created On       : Wed May 27 17:56:53 2015
    1112// Last Modified By : Peter A. Buhr
    12 // Last Modified On : Mon May  2 15:07:57 2016
    13 // Update Count     : 198
     13// Last Modified On : Thu May 26 09:25:42 2016
     14// Update Count     : 201
    1415//
    1516
     
    7576
    7677        struct S { int i, j; } 0 = { 0, 0 }, 1 = { 1, 1 };
    77         S ?+?( S t1, S t2 ) { S s = { t1.i + t2.i, t1.j + t2.j }; return s; }
     78        S ?+?( S t1, S t2 ) { return (S){ t1.i + t2.i, t1.j + t2.j }; }
    7879        S ?+=?( S *t1, S t2 ) { *t1 = *t1 + t2; return *t1; }
    7980        S ++?( S *t ) { *t += 1; return *t; }
  • src/libcfa/Makefile.in

    rd5f1cfc rdd51906  
    231231          esac; \
    232232        done; \
    233         echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu src/libcfa/Makefile'; \
     233        echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign src/libcfa/Makefile'; \
    234234        $(am__cd) $(top_srcdir) && \
    235           $(AUTOMAKE) --gnu src/libcfa/Makefile
     235          $(AUTOMAKE) --foreign src/libcfa/Makefile
    236236.PRECIOUS: Makefile
    237237Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
  • src/main.cc

    rd5f1cfc rdd51906  
    99// Author           : Richard C. Bilson
    1010// Created On       : Fri May 15 23:12:02 2015
    11 // Last Modified By : Rob Schluntz
    12 // Last Modified On : Fri May 06 15:59:09 2016
    13 // Update Count     : 203
     11// Last Modified By : Peter A. Buhr
     12// Last Modified On : Sun Jun  5 15:57:30 2016
     13// Update Count     : 205
    1414//
    1515
     
    182182                  case '?':
    183183                        cout << "Unknown option: '" << (char)optopt << "'" << endl;
    184                         exit(1);
     184                        exit( EXIT_FAILURE );
    185185                  default:
    186186                        abort();
     
    194194                        if ( ! input ) {
    195195                                std::cout << "Error: can't open " << argv[ optind ] << std::endl;
    196                                 exit( 1 );
     196                                exit( EXIT_FAILURE );
    197197                        } // if
    198198                        // if running cfa-cpp directly, might forget to pass -F option (and really shouldn't have to)
     
    220220                        if ( builtins == NULL ) {
    221221                                std::cerr << "Error: can't open builtins.cf" << std::endl;
    222                                 exit( 1 );
     222                                exit( EXIT_FAILURE );
    223223                        } // if
    224224
     
    230230                                if ( prelude == NULL ) {
    231231                                        std::cerr << "Error: can't open prelude.cf" << std::endl;
    232                                         exit( 1 );
     232                                        exit( EXIT_FAILURE );
    233233                                } // if
    234234
Note: See TracChangeset for help on using the changeset viewer.