// created by jay 1.1.0 (c) 2002-2006 ats@cs.rit.edu
// skeleton c# 1.1.0 (c) 2002-2006 ats@cs.rit.edu
#line 8 "mrb_parse.jay"
// can first specify namespace
// could specify using directives
// [this has not been done here to stress-test the skeleton]
using System;
using Bridge;
using Bridge.Html5;
namespace WebMrbc
{
public enum MrbTokens
{
#line default
// %token constants
keyword_class = 257,
keyword_module = 258,
keyword_def = 259,
keyword_begin = 260,
keyword_if = 261,
keyword_unless = 262,
keyword_while = 263,
keyword_until = 264,
keyword_for = 265,
keyword_undef = 266,
keyword_rescue = 267,
keyword_ensure = 268,
keyword_end = 269,
keyword_then = 270,
keyword_elsif = 271,
keyword_else = 272,
keyword_case = 273,
keyword_when = 274,
keyword_break = 275,
keyword_next = 276,
keyword_redo = 277,
keyword_retry = 278,
keyword_in = 279,
keyword_do = 280,
keyword_do_cond = 281,
keyword_do_block = 282,
keyword_do_LAMBDA = 283,
keyword_return = 284,
keyword_yield = 285,
keyword_super = 286,
keyword_self = 287,
keyword_nil = 288,
keyword_true = 289,
keyword_false = 290,
keyword_and = 291,
keyword_or = 292,
keyword_not = 293,
modifier_if = 294,
modifier_unless = 295,
modifier_while = 296,
modifier_until = 297,
modifier_rescue = 298,
keyword_alias = 299,
keyword_BEGIN = 300,
keyword_END = 301,
keyword__LINE__ = 302,
keyword__FILE__ = 303,
keyword__ENCODING__ = 304,
tIDENTIFIER = 305,
tFID = 306,
tGVAR = 307,
tIVAR = 308,
tCONSTANT = 309,
tCVAR = 310,
tLABEL = 311,
tINTEGER = 312,
tFLOAT = 313,
tCHAR = 314,
tXSTRING = 315,
tREGEXP = 316,
tSTRING = 317,
tSTRING_PART = 318,
tSTRING_MID = 319,
tLABEL_END = 320,
tNTH_REF = 321,
tBACK_REF = 322,
tREGEXP_END = 323,
tUPLUS = 324,
tUMINUS = 325,
tPOW = 326,
tCMP = 327,
tEQ = 328,
tEQQ = 329,
tNEQ = 330,
tGEQ = 331,
tLEQ = 332,
tANDOP = 333,
tOROP = 334,
tMATCH = 335,
tNMATCH = 336,
tDOT2 = 337,
tDOT3 = 338,
tAREF = 339,
tASET = 340,
tLSHFT = 341,
tRSHFT = 342,
tCOLON2 = 343,
tCOLON3 = 344,
tOP_ASGN = 345,
tASSOC = 346,
tLPAREN = 347,
tLPAREN_ARG = 348,
tRPAREN = 349,
tLBRACK = 350,
tLBRACE = 351,
tLBRACE_ARG = 352,
tSTAR = 353,
tAMPER = 354,
tLAMBDA = 355,
tANDDOT = 356,
tSYMBEG = 357,
tREGEXP_BEG = 358,
tWORDS_BEG = 359,
tSYMBOLS_BEG = 360,
tSTRING_BEG = 361,
tXSTRING_BEG = 362,
tSTRING_DVAR = 363,
tLAMBEG = 364,
tHEREDOC_BEG = 365,
tHEREDOC_END = 366,
tLITERAL_DELIM = 367,
tHD_LITERAL_DELIM = 368,
tHD_STRING_PART = 369,
tHD_STRING_MID = 370,
tLOWEST = 371,
tUMINUS_NUM = 372,
tLAST_TOKEN = 373,
yyErrorCode = 256
#line 167 "mrb_parse.jay"
}
///
/// start with an argument to trace
///
public partial class MrbParser
{
// must specify class header
// must not use yy[A-Z].* as identifiers
// could overwrite some methods named yy[A-Z].* in subclass
const int yyErrorCode = (int)MrbTokens.yyErrorCode;
#line default
///
/// final state of parser.
///
protected const int yyFinal = 1;
///
/// parser tables.
/// Order is mandated by jay.
///
protected static readonly short[] yyLhs = new short[] {
//yyLhs 559
-1, 110, 0, 11, 12, 12, 12, 12, 13, 113,
13, 14, 15, 16, 16, 16, 16, 114, 17, 17,
17, 17, 17, 17, 17, 17, 17, 17, 17, 17,
17, 17, 47, 47, 47, 47, 47, 47, 47, 47,
48, 48, 48, 18, 18, 18, 18, 18, 18, 24,
22, 22, 52, 52, 117, 79, 21, 21, 21, 21,
21, 21, 21, 21, 21, 21, 21, 84, 84, 90,
90, 87, 87, 87, 87, 87, 87, 87, 87, 87,
87, 88, 88, 85, 85, 86, 86, 89, 89, 89,
89, 89, 89, 89, 89, 81, 81, 81, 81, 81,
81, 81, 81, 97, 97, 9, 9, 9, 98, 98,
98, 98, 98, 91, 91, 66, 120, 66, 99, 99,
99, 99, 99, 99, 99, 99, 99, 99, 99, 99,
99, 99, 99, 99, 99, 99, 99, 99, 99, 99,
99, 99, 99, 99, 99, 99, 99, 119, 119, 119,
119, 119, 119, 119, 119, 119, 119, 119, 119, 119,
119, 119, 119, 119, 119, 119, 119, 119, 119, 119,
119, 119, 119, 119, 119, 119, 119, 119, 119, 119,
119, 119, 119, 119, 119, 119, 119, 19, 19, 19,
19, 19, 19, 19, 19, 19, 19, 19, 19, 19,
19, 19, 19, 19, 19, 19, 19, 19, 19, 19,
19, 19, 19, 19, 19, 19, 19, 19, 19, 19,
19, 19, 19, 19, 19, 19, 19, 19, 19, 42,
42, 42, 42, 25, 25, 38, 39, 39, 37, 37,
37, 37, 37, 36, 36, 36, 36, 36, 123, 41,
44, 43, 43, 122, 122, 35, 35, 35, 35, 49,
49, 49, 20, 20, 20, 20, 20, 20, 20, 20,
125, 20, 126, 127, 20, 128, 20, 20, 20, 20,
20, 20, 20, 20, 20, 20, 20, 20, 20, 129,
130, 20, 20, 20, 132, 134, 20, 135, 136, 20,
20, 20, 137, 138, 20, 139, 20, 141, 142, 20,
143, 20, 144, 145, 20, 147, 148, 20, 20, 20,
20, 20, 26, 131, 131, 131, 133, 133, 27, 27,
28, 28, 68, 68, 60, 60, 61, 61, 62, 62,
62, 62, 62, 62, 62, 62, 62, 69, 69, 69,
69, 69, 69, 69, 69, 69, 69, 69, 69, 69,
69, 69, 70, 70, 71, 71, 71, 74, 74, 73,
73, 75, 75, 76, 76, 77, 77, 149, 80, 51,
51, 51, 51, 23, 23, 23, 23, 23, 23, 23,
23, 23, 150, 78, 151, 78, 29, 30, 30, 31,
31, 32, 32, 32, 33, 33, 34, 34, 7, 7,
7, 7, 2, 2, 2, 2, 3, 3, 4, 152,
4, 4, 4, 5, 5, 6, 6, 105, 124, 124,
153, 153, 154, 154, 155, 156, 155, 106, 106, 10,
10, 93, 92, 92, 92, 92, 92, 92, 107, 107,
8, 8, 8, 8, 40, 40, 40, 40, 40, 46,
45, 45, 45, 45, 45, 45, 45, 67, 67, 50,
157, 50, 55, 55, 56, 56, 56, 56, 56, 56,
56, 56, 56, 56, 56, 56, 56, 56, 56, 83,
83, 83, 83, 103, 103, 58, 58, 57, 57, 104,
72, 54, 53, 53, 59, 59, 158, 158, 100, 100,
159, 159, 101, 102, 102, 1, 160, 1, 63, 63,
64, 64, 65, 65, 65, 65, 65, 94, 94, 94,
95, 95, 95, 95, 96, 96, 96, 146, 146, 108,
108, 109, 109, 111, 111, 116, 116, 118, 115, 121,
121, 121, 140, 140, 140, 161, 112, 112, 82,
}, yyLen = new short[] {
//yyLen 559
2, 0, 2, 2, 1, 1, 3, 2, 1, 0,
5, 4, 2, 1, 1, 3, 2, 0, 4, 2,
3, 3, 3, 3, 3, 4, 1, 3, 3, 3,
3, 1, 3, 3, 6, 5, 5, 5, 5, 3,
1, 3, 1, 1, 3, 3, 3, 2, 1, 1,
1, 1, 1, 4, 0, 5, 2, 3, 4, 5,
4, 5, 2, 2, 2, 2, 2, 1, 3, 1,
3, 1, 2, 3, 5, 2, 4, 2, 4, 1,
3, 1, 3, 2, 3, 1, 2, 1, 4, 3,
3, 3, 3, 2, 1, 1, 4, 3, 3, 3,
3, 2, 1, 1, 1, 2, 1, 3, 1, 1,
1, 1, 1, 1, 1, 1, 0, 4, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 3, 3, 6,
5, 5, 5, 5, 4, 3, 3, 3, 3, 3,
3, 3, 3, 3, 4, 4, 2, 2, 3, 3,
3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
3, 2, 2, 3, 3, 3, 3, 6, 1, 1,
2, 4, 2, 1, 3, 3, 1, 1, 1, 1,
2, 4, 2, 1, 2, 2, 4, 1, 0, 2,
2, 2, 1, 1, 2, 1, 2, 3, 4, 3,
4, 2, 1, 1, 1, 1, 1, 1, 1, 1,
0, 4, 0, 0, 5, 0, 3, 3, 3, 2,
3, 3, 1, 2, 4, 3, 2, 1, 2, 0,
0, 5, 6, 6, 0, 0, 7, 0, 0, 7,
5, 4, 0, 0, 9, 0, 6, 0, 0, 8,
0, 5, 0, 0, 7, 0, 0, 9, 1, 1,
1, 1, 1, 1, 1, 2, 1, 1, 1, 5,
1, 2, 1, 1, 1, 3, 1, 3, 1, 4,
6, 3, 5, 2, 4, 1, 3, 6, 8, 4,
6, 4, 2, 6, 2, 4, 6, 2, 4, 2,
4, 1, 1, 1, 3, 1, 4, 1, 4, 1,
3, 1, 1, 4, 1, 3, 3, 0, 5, 2,
4, 5, 5, 2, 4, 4, 3, 3, 3, 2,
1, 4, 0, 5, 0, 5, 5, 1, 1, 6,
1, 1, 1, 1, 2, 1, 2, 1, 1, 1,
1, 1, 1, 1, 2, 3, 1, 2, 1, 0,
4, 1, 2, 2, 3, 2, 3, 1, 1, 2,
1, 2, 1, 2, 1, 0, 4, 2, 3, 1,
4, 2, 1, 1, 1, 1, 1, 2, 2, 3,
1, 1, 2, 2, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 0,
0, 4, 3, 2, 6, 8, 4, 6, 4, 6,
2, 4, 6, 2, 4, 2, 4, 1, 0, 1,
1, 1, 1, 1, 1, 1, 3, 1, 3, 2,
2, 2, 1, 3, 1, 3, 1, 1, 2, 1,
1, 1, 2, 2, 1, 1, 0, 4, 1, 2,
1, 3, 3, 2, 2, 3, 4, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 0, 1, 0, 1, 2, 2, 0,
1, 1, 1, 1, 1, 1, 1, 2, 0,
}, yyDefRed = new short[] {
//yyDefRed 986
1, 0, 0, 0, 0, 0, 0, 270, 0, 0,
294, 297, 0, 0, 0, 0, 0, 320, 321, 0,
0, 0, 462, 461, 463, 464, 0, 0, 9, 0,
466, 465, 0, 0, 456, 455, 0, 457, 450, 451,
412, 413, 467, 468, 0, 0, 0, 0, 0, 0,
0, 0, 289, 0, 0, 0, 0, 0, 0, 427,
0, 0, 0, 263, 264, 265, 262, 408, 409, 2,
0, 5, 0, 0, 0, 0, 0, 43, 0, 0,
0, 267, 0, 26, 0, 51, 0, 0, 4, 0,
0, 67, 0, 81, 439, 0, 266, 410, 411, 7,
318, 319, 282, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 322, 0, 460, 268, 0, 106, 310,
157, 167, 158, 154, 183, 184, 185, 186, 165, 180,
173, 163, 162, 178, 161, 160, 156, 181, 155, 168,
172, 174, 166, 159, 175, 182, 177, 0, 0, 0,
0, 153, 171, 170, 152, 150, 151, 0, 0, 149,
0, 110, 0, 142, 143, 139, 121, 122, 123, 130,
127, 129, 124, 125, 144, 145, 131, 132, 136, 126,
128, 118, 119, 120, 133, 134, 135, 137, 138, 140,
141, 146, 516, 0, 515, 312, 111, 112, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 332, 333, 176, 169, 179,
164, 147, 148, 108, 109, 0, 0, 115, 114, 113,
430, 435, 434, 552, 555, 0, 0, 0, 556, 554,
0, 432, 553, 0, 0, 0, 0, 0, 0, 0,
243, 0, 65, 247, 0, 520, 66, 64, 0, 237,
283, 63, 236, 0, 389, 62, 0, 0, 546, 17,
0, 0, 206, 0, 0, 0, 0, 0, 0, 0,
0, 13, 0, 0, 0, 0, 0, 0, 0, 229,
0, 0, 0, 518, 0, 0, 0, 0, 0, 0,
0, 444, 443, 445, 446, 0, 441, 442, 425, 419,
418, 421, 0, 0, 416, 437, 0, 448, 0, 414,
0, 423, 0, 0, 0, 221, 47, 222, 3, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 377, 379, 394, 392, 288, 0, 540,
0, 539, 0, 0, 542, 541, 0, 0, 0, 0,
0, 0, 0, 83, 383, 0, 286, 0, 103, 0,
105, 452, 453, 470, 305, 0, 0, 0, 0, 0,
538, 537, 315, 313, 0, 0, 0, 324, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 302, 0, 116, 0, 0, 0, 0,
557, 431, 433, 0, 0, 0, 0, 0, 0, 0,
0, 244, 252, 0, 0, 245, 0, 0, 239, 0,
0, 238, 249, 0, 0, 285, 46, 0, 0, 0,
0, 0, 0, 0, 0, 277, 12, 0, 0, 0,
276, 230, 0, 550, 280, 232, 551, 281, 519, 0,
0, 80, 0, 0, 0, 0, 0, 0, 491, 490,
489, 492, 0, 507, 511, 510, 506, 0, 374, 0,
497, 0, 504, 290, 493, 0, 487, 495, 0, 0,
0, 447, 0, 0, 0, 428, 426, 417, 438, 449,
415, 424, 0, 0, 6, 20, 21, 22, 23, 24,
44, 45, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 388, 0, 386, 0, 0, 0,
532, 0, 387, 0, 533, 0, 0, 188, 0, 42,
33, 0, 0, 530, 531, 0, 195, 39, 0, 0,
187, 0, 32, 28, 0, 27, 30, 0, 0, 0,
84, 54, 57, 0, 0, 0, 0, 0, 0, 107,
0, 0, 0, 0, 0, 0, 271, 0, 0, 400,
0, 325, 0, 0, 0, 0, 0, 0, 327, 295,
326, 298, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 301, 0, 0, 0, 0, 0, 0,
251, 0, 521, 0, 0, 235, 0, 284, 547, 18,
0, 25, 194, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 78, 499, 494, 0, 0, 336, 0,
0, 334, 0, 0, 514, 480, 0, 483, 0, 0,
485, 0, 508, 512, 440, 0, 429, 0, 0, 0,
365, 0, 0, 363, 362, 0, 0, 0, 0, 385,
0, 0, 0, 0, 0, 384, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 82, 76, 0,
0, 308, 0, 0, 391, 311, 517, 316, 0, 0,
0, 0, 0, 402, 403, 0, 0, 330, 0, 0,
328, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 117, 436, 300, 0, 0, 0, 0, 246, 0,
10, 274, 231, 0, 0, 0, 0, 0, 496, 0,
0, 498, 0, 0, 513, 0, 505, 0, 0, 0,
291, 0, 420, 0, 0, 502, 0, 0, 0, 0,
361, 0, 0, 0, 0, 192, 38, 37, 193, 61,
0, 548, 190, 35, 191, 36, 59, 0, 41, 0,
0, 0, 0, 0, 381, 382, 0, 0, 74, 0,
0, 471, 306, 0, 0, 0, 473, 0, 0, 405,
331, 0, 11, 407, 0, 292, 0, 293, 0, 0,
303, 0, 0, 0, 335, 0, 0, 0, 337, 373,
0, 0, 476, 0, 478, 0, 484, 0, 481, 0,
0, 486, 0, 0, 357, 0, 354, 0, 364, 0,
359, 0, 0, 378, 395, 393, 189, 34, 0, 0,
0, 0, 0, 472, 314, 0, 0, 0, 0, 404,
0, 406, 0, 296, 299, 0, 397, 398, 396, 0,
0, 0, 0, 371, 0, 369, 372, 0, 0, 0,
0, 376, 375, 503, 0, 0, 0, 0, 366, 0,
279, 0, 55, 309, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 368, 477, 0, 474, 479,
482, 358, 0, 355, 0, 349, 0, 351, 360, 0,
0, 317, 0, 0, 0, 0, 0, 399, 329, 304,
0, 370, 0, 0, 0, 0, 0, 0, 475, 356,
350, 0, 347, 353, 0, 348,
}, yyDgoto = new short[] {
//yyDgoto 162
1, 193, 63, 313, 314, 64, 65, 66, 67, 112,
68, 69, 70, 71, 404, 405, 279, 280, 73, 74,
75, 76, 77, 78, 201, 590, 273, 749, 750, 429,
908, 618, 742, 838, 842, 447, 448, 449, 564, 260,
203, 261, 287, 441, 253, 81, 204, 83, 592, 593,
394, 84, 85, 794, 795, 739, 740, 499, 500, 501,
678, 679, 680, 291, 450, 255, 226, 205, 214, 797,
702, 703, 502, 914, 779, 915, 503, 790, 386, 602,
364, 206, 281, 504, 89, 90, 481, 91, 92, 93,
283, 227, 306, 94, 95, 608, 566, 118, 229, 567,
505, 784, 685, 507, 508, 96, 97, 98, 397, 376,
2, 236, 237, 270, 457, 711, 454, 730, 455, 197,
638, 471, 446, 263, 647, 198, 284, 665, 285, 300,
688, 408, 208, 629, 757, 209, 758, 637, 905, 605,
409, 603, 830, 398, 403, 615, 402, 614, 833, 558,
560, 559, 513, 239, 240, 241, 426, 604, 509, 510,
399, 268,
}, yySindex = new short[] {
//yySindex 986
0, 0, 18871, 19108, 23947, 24440, 22368, 0, 21122, 21122,
0, 0, 24208, 22267, 18634, 19700, 19700, 0, 0, 19700,
118, 118, 0, 0, 0, 0, 254, 22267, 0, 55,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 21241, 21241, -67, 19226, 0, 20174,
20411, 21859, 0, 21653, 852, 997, 1248, 1641, 408, 0,
-112, 21359, 21241, 0, 0, 0, 0, 0, 0, 0,
671, 0, 846, -34, 14293, 0, -17, 0, -20, 35,
0, 0, -36, 0, 161, 0, 10, 296, 0, 298,
24324, 0, 349, 0, 0, 19, 0, 0, 0, 0,
0, 0, 0, 118, 118, 341, 0, 0, 21122, -92,
19345, 386, 344, 0, 127, 0, 0, 19, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 4, 0, 0, 0, 0, 19345, 92,
-34, 581, 175, 0, 66, 76, 345, 581, 21122, 21122,
113, 209, 0, 0, 162, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 21772, 416, 0, 0, 0,
0, 0, 0, 0, 0, 671, 197, 671, 0, 0,
639, 0, 0, 21241, 21241, 21241, 21241, 1589, 21241, 13862,
0, 456, 0, 0, 478, 0, 0, 0, 19700, 0,
0, 0, 0, 19700, 0, 0, 18751, 21122, 0, 0,
354, 19345, 0, 216, 202, 224, 19819, 19226, 501, 671,
846, 0, 0, 565, 19819, 565, 249, 510, 269, 0,
13862, 488, 269, 0, 308, 24556, 337, 0, 0, 575,
1625, 0, 0, 0, 0, 1693, 0, 0, 0, 0,
0, 0, 738, 1183, 0, 0, 1738, 0, 1840, 0,
1866, 0, 562, 311, 324, 0, 0, 0, 0, 17327,
21122, 21122, 21122, 21122, 19819, 21122, 21122, 21241, 21241, 21241,
21241, 21241, 21241, 21241, 21241, 21241, 21241, 21241, 21241, 21241,
21241, 21241, 21241, 21241, 21241, 21241, 21241, 21241, 21241, 21241,
21241, 21241, 21241, 0, 0, 0, 0, 0, 22718, 0,
19700, 0, 22756, 21359, 0, 0, 24122, 21359, 20530, 20530,
19226, 21975, 580, 0, 0, 278, 0, -34, 0, 0,
0, 0, 0, 0, 0, 22794, 19700, 22867, 19345, 21122,
0, 0, 0, 0, 374, 393, 224, 0, 19345, 383,
23117, 19700, 23184, 21241, 21241, 21241, 19345, 618, 618, 0,
23222, 19700, 23260, 0, 348, 0, 19345, 197, 20648, 398,
0, 0, 0, 14293, 14293, 14293, 14293, 21241, 1608, 21241,
738, 0, 0, 19937, 19463, 0, 315, 629, 0, 565,
631, 0, 0, 61, 621, 0, 0, 22267, 18871, 554,
23117, 23184, 21241, 846, 565, 0, 0, 18252, 0, 846,
0, 0, 20293, 0, 0, 0, 0, 0, 0, 0,
24556, 0, 349, 23336, 19700, 23586, 24556, 626, 0, 0,
0, 0, 2276, 0, 0, 0, 0, 1771, 0, 638,
0, 648, 0, 0, 0, 659, 0, 0, 21241, 401,
406, 0, 1871, 19345, 738, 0, 0, 0, 0, 0,
0, 0, 21241, 21241, 0, 0, 0, 0, 0, 0,
0, 0, 202, 8856, 8856, 8856, 8856, 3423, 3423, 10863,
10250, 8856, 8856, 8138, 8138, 112, 112, 10185, 3423, 3423,
1811, 1811, 1477, 25, 25, 202, 202, 202, -71, -71,
-71, 372, 0, 376, 0, 118, 0, 0, 565, 391,
0, 403, 0, 118, 0, 14738, 421, 0, 509, 0,
0, 10, 677, 0, 0, 118, 0, 0, 21241, 14738,
0, 456, 0, 0, 14293, 0, 0, 565, 24556, 715,
0, 0, 0, 671, 21122, 19345, 0, 0, 118, 0,
565, 118, 493, 61, 22680, 2255, 0, 20767, 492, 0,
485, 0, 425, 439, 565, 458, 475, 492, 0, 0,
0, 0, 0, 0, 565, 0, 0, 21122, 22267, 641,
532, 14293, 238, 0, 14293, 21241, 14293, 738, 21241, 13862,
0, 478, 0, 738, 19937, 0, 19463, 0, 0, 0,
697, 0, 0, 0, 846, 565, 269, 580, 0, 0,
565, 0, 0, 0, 0, 0, 2276, 601, 0, 734,
565, 0, 565, 1771, 0, 0, 1771, 0, -229, 1229,
0, 14293, 0, 0, 0, 699, 0, 202, 202, 768,
0, 1341, 19345, 0, 0, 19345, 19345, 21359, 21359, 0,
278, 484, 739, 21359, 21359, 0, 278, 21241, 19819, 23653,
19700, 23691, 21359, -20, -17, 14293, 20885, 0, 0, 24556,
-71, 0, 671, 567, 0, 0, 0, 0, 1771, 19345,
671, 14293, 497, 0, 0, 19345, 566, 0, 21122, 589,
0, 21241, 21241, 514, 21241, 21241, 591, 19345, 19345, 0,
618, 0, 0, 0, 21004, 19345, 14293, 14293, 0, 817,
0, 0, 0, 0, 565, 1084, 824, 2325, 0, 832,
819, 0, 842, 851, 0, 854, 0, 856, 19345, 19345,
0, 854, 0, 21241, 859, 0, 863, 565, 772, 868,
0, 24672, 662, 664, 803, 0, 0, 0, 0, 0,
21359, 0, 0, 0, 0, 0, 0, 14293, 0, 372,
376, 565, 391, 403, 0, 0, 21241, 14293, 0, 19345,
19345, 0, 0, 2255, 565, 675, 0, 24788, 581, 0,
0, 19345, 0, 0, 581, 0, 21241, 0, 676, 684,
0, 14293, 30, 19463, 0, 919, 1084, 974, 0, 0,
857, 1771, 0, 1229, 0, 1229, 0, 1229, 0, 700,
843, 0, 14293, 1771, 0, 1771, 0, 855, 0, 1229,
0, 667, 727, 0, 0, 0, 0, 0, 484, 14293,
860, 712, 19345, 0, 0, 687, 830, 0, 0, 0,
19345, 0, 19345, 0, 0, 19345, 0, 0, 0, 1084,
919, 1084, 954, 0, 275, 0, 0, 854, 958, 854,
854, 0, 0, 0, 854, 960, 966, 970, 0, 854,
0, 23729, 0, 0, 747, 0, 23805, 19700, 24055, 393,
485, 753, 919, 1084, 857, 0, 0, 1229, 0, 0,
0, 0, 1229, 0, 1771, 0, 1229, 0, 0, 0,
0, 0, 0, 0, 565, 0, 0, 0, 0, 0,
919, 0, 854, 854, 854, 982, 854, 0, 0, 0,
0, 1229, 0, 0, 854, 0,
}, yyRindex = new short[] {
//yyRindex 986
0, 0, 166, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 749, 10406, 10496, 0, 0, 10600,
5486, 5006, 0, 0, 0, 0, 21478, 0, 0, 0,
0, 0, 2969, 4046, 0, 0, 3086, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 228, 18490, 943,
918, 109, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
116, 0, 143, 8564, 1261, 9204, 9010, 0, 9543, 0,
12452, 0, 0, 0, 9453, 0, 12542, 0, 0, 0,
120, 0, 0, 0, 0, 20056, 0, 0, 0, 0,
0, 0, 0, 9647, 8214, 0, 16758, 17089, 0, 0,
228, 0, 17846, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 2158, 5080, 5560,
6040, 0, 0, 0, 0, 0, 0, 6520, 7000, 0,
7476, 0, 7496, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 570, 0,
2787, 0, 0, 8318, 0, 8761, 0, 0, 0, 0,
0, 0, 11, 1403, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 11282, 0, 0, 0,
0, 0, 0, 0, 0, 749, 0, 775, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 1699,
0, 16309, 0, 0, 16309, 0, 0, 0, 304, 0,
0, 0, 0, 0, 0, 0, 1016, 0, 0, 0,
0, 178, 0, 0, 10939, 12646, 0, 228, 0, 1022,
595, 0, 136, 1016, 0, 1016, 971, 0, 971, 0,
0, 0, 940, 0, 0, 0, 0, 1598, 2439, 153,
-196, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 9986, 10090, 0, 0, 0, 0, 148,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
157, 0, 0, 0, 0, 0, 0, 0, 0, 0,
228, 165, 210, 0, 0, 16598, 0, 692, 0, 17609,
0, 0, 0, 0, 0, 0, 157, 0, 570, 0,
0, 0, 0, 0, 0, 436, 9100, 0, 706, 17729,
0, 157, 0, 0, 0, 0, 686, 0, 0, 1426,
0, 157, 0, 0, 0, 0, 178, 0, 0, 0,
0, 0, 0, 2053, 15958, 16062, 16415, 0, 0, 0,
19582, 0, 0, 0, -28, 0, 0, 150, 0, 1016,
150, 0, 0, 1016, 0, 0, 0, 0, 178, 0,
0, 0, 0, 1001, 1016, 0, 0, 1135, 108, 317,
0, 0, 976, 0, 0, 0, 0, 0, 0, 2512,
0, 0, 270, 0, 157, 0, 0, 1578, 0, 0,
0, 0, 0, 0, 0, 0, 0, 195, 0, 736,
0, 736, 0, 0, 0, 736, 0, 0, 0, 1722,
0, 0, 0, 178, 1406, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 11030, 14657, 14748, 14839, 15088, 13977, 14226, 15179,
15610, 15270, 15519, 2474, 15643, 13364, 13455, 1013, 14317, 14408,
13795, 13886, 13546, 12960, 13051, 11121, 11434, 11525, 17966, 17966,
18132, 5849, 4409, 7289, 0, 20056, 0, 4526, 980, 5966,
0, 6329, 0, 5369, 0, 15923, 11373, 0, 0, 0,
0, 13142, 0, 0, 0, 7769, 0, 0, 0, 1989,
0, 0, 0, 0, 519, 0, 0, 1016, 0, 295,
0, 0, 0, 0, 0, 570, 17206, 17492, 0, 0,
980, 8657, 0, 1016, 0, 834, 0, 745, 572, 0,
808, 0, 3449, 4889, 980, 3566, 3929, 808, 0, 0,
0, 0, 2397, 756, 980, 2682, 2762, 0, 0, 0,
0, 320, 0, 0, 16109, 0, 16172, 18989, 0, 16223,
0, 16309, 0, 18370, 0, 0, 58, 0, 0, 0,
0, 0, 0, 257, 1244, 1016, 971, 653, 1108, 1374,
980, 2089, 2130, 0, 0, 0, 0, 332, 0, 433,
1016, 0, 307, 0, 0, 0, 0, 0, 0, 0,
0, 331, 0, 0, 0, 0, 0, 11616, 11929, 0,
0, 106, 762, 0, 0, 762, 178, 0, 0, 0,
16635, 12020, 0, 0, 0, 0, 16715, 0, 0, 0,
157, 0, 0, 15456, 9896, 942, 0, 0, 0, 0,
18132, 0, 0, 0, 0, 0, 0, 0, 505, 570,
0, 678, 769, 0, 0, 651, 808, 0, 0, 0,
0, 0, 0, 7875, 0, 0, 0, 762, 762, 2708,
0, 0, 0, 0, 0, 723, 16262, 16352, 0, 150,
0, 0, 0, 2269, 1016, 0, 529, 0, 0, 0,
100, 0, 736, 736, 0, 736, 0, 736, 762, 178,
0, 736, 0, 0, 85, 0, 85, 106, 0, 85,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 2626, 0, 6446,
7406, 980, 6809, 6926, 0, 0, 0, 2607, 0, 178,
570, 0, 0, 834, 1016, 0, 0, 0, 0, 0,
0, 762, 0, 0, 0, 0, 0, 0, 0, 0,
0, 789, 808, 63, 0, 540, 0, 544, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 15762, 0, 0, 103, 0, 0, 0, 0,
0, 0, 583, 0, 0, 0, 0, 0, 12113, 8518,
0, 0, 570, 0, 0, 0, 0, 1115, 1391, 0,
570, 0, 706, 0, 0, 762, 0, 0, 0, 0,
569, 0, 579, 0, 182, 0, 0, 736, 736, 736,
736, 0, 0, 0, 85, 85, 85, 85, 0, 85,
0, 0, 0, 0, 0, 2086, 0, 157, 0, 436,
808, 0, 585, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 2272,
1533, 0, 1386, 624, 980, 1535, 1595, 0, 0, 0,
592, 0, 736, 85, 85, 85, 85, 1398, 0, 0,
0, 0, 0, 0, 85, 0,
}, yyGindex = new short[] {
//yyGindex 162
0, 0, 0, 129, 979, 0, 0, 0, 0, 1073,
0, 630, 0, 42, -376, 125, 0, 40, 131, 984,
34, 12, -56, 0, 2, 299, 476, 139, -346, -401,
0, 151, 0, 0, 0, 74, 174, -355, -12, -47,
1436, 3, 0, -235, -334, 1076, 1833, -267, -289, -305,
0, 0, 0, 220, -746, 263, -263, 7473, -589, 414,
-697, -628, 422, 0, 14, -395, 0, 1082, 0, 0,
-483, 0, -616, 0, -593, 159, 0, 0, -68, -518,
377, 1669, -2, -745, 1104, -270, -434, -3, -73, -19,
-177, -15, 0, -7, 2349, -290, 0, -51, 7, 8,
-565, -266, 1099, 48, -584, 0, 0, 0, -77, 0,
0, 5, -1, 0, 0, -496, -23, 0, -103, 0,
0, -252, -155, 0, 809, 0, 0, 0, 0, 0,
0, -203, 0, -417, 0, 0, 0, 0, 0, 0,
9, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, -261, 0, 880, 0, 0, 0, 0,
0, 831,
}, yyTable = new short[] {
//yyTable 25161
88, 631, 372, 267, 416, 326, 228, 375, 259, 264,
367, 207, 269, 195, 196, 568, 235, 382, 262, 445,
228, 196, 612, 238, 265, 480, 640, 250, 250, 254,
254, 250, 299, 254, 506, 196, 475, 498, 113, 113,
478, 610, 72, 72, 282, 99, 113, 289, 293, 652,
401, 515, 673, 701, 788, 87, 624, 460, 390, 258,
307, 196, 362, 288, 292, 253, 634, 360, 242, 329,
786, 234, 361, 241, 596, 328, 705, 706, 565, 238,
858, 371, 573, 384, 580, 113, 585, 488, 587, 251,
251, 259, 264, 251, 781, 558, 443, 253, 385, 242,
464, 262, 460, 366, 241, 384, 579, 611, 798, 650,
579, 579, 650, 352, 734, 916, 543, 801, 783, 79,
565, 787, 573, 286, 113, 412, 370, 923, 753, 670,
71, 472, 611, 476, 422, 789, 799, 476, 759, 200,
200, 367, 366, 8, 558, 200, 69, 855, 544, 362,
79, 242, 82, 8, 360, 358, 241, 359, 258, 361,
558, 71, 352, 77, 728, 545, 558, 558, 488, 68,
79, 611, 278, 371, 773, 75, 558, 69, 271, 515,
468, 71, 470, 515, 316, 318, 320, 322, 558, 252,
256, 558, 809, 257, 77, 611, 461, 67, 816, 916,
323, 324, 8, 597, 877, 488, 75, 371, 923, 558,
417, 418, 858, 388, 77, 445, 480, 389, 396, 485,
72, 371, 482, 545, 367, 558, 75, 352, 910, 733,
545, 506, 307, 196, 682, 278, 488, 558, 558, 387,
427, 543, 275, 558, 238, 786, 430, 829, 234, 442,
558, 72, 442, 696, 488, 371, 451, 335, 336, 234,
365, 652, 371, 700, 234, 363, 411, 70, 8, 558,
250, 72, 746, 544, 282, 250, 781, 254, 467, 234,
85, 756, 440, 942, 466, 234, 781, 558, 238, 801,
95, 801, 654, 440, 266, 828, 918, 233, 70, 365,
421, 82, 745, 558, 428, 73, 545, 411, 925, 373,
927, 85, 743, 444, 558, 970, 463, 576, 68, 944,
650, 576, 576, 595, 469, 888, 253, 273, 480, 113,
255, 85, 525, 526, 527, 528, 73, 251, 430, 200,
200, 500, 345, 850, 609, 558, 655, 400, 545, 506,
657, 337, 335, 336, 460, 377, 73, 378, 273, 379,
572, 663, 599, 835, 255, 821, 545, 460, 451, 72,
801, 524, 500, 345, 529, 500, 438, 282, 368, 255,
574, 266, 250, 371, 574, 572, 696, 68, 79, 975,
500, 369, 515, 383, 451, 515, 459, 453, 456, 71,
572, 406, 278, 619, 393, 574, 415, 667, 250, 451,
572, 413, 253, 482, 772, 113, 768, 253, 806, 451,
574, 414, 419, 250, 813, 815, 630, 630, 484, 565,
574, 573, 77, 250, 512, 800, 726, 452, 337, 765,
579, 423, 659, 338, 75, 442, 579, 579, 442, 572,
228, 907, 591, 591, 891, 579, 88, 651, 652, 480,
425, 200, 200, 200, 200, 196, 530, 531, 977, 574,
395, 428, 506, 572, 338, 834, 430, 458, 79, 79,
114, 114, 451, 369, 202, 202, 666, 764, 211, 72,
202, 202, 202, 574, 727, 202, 250, 684, 72, 684,
440, 721, 642, 684, 374, 278, 906, 664, 407, 8,
736, 476, 8, 8, 113, 488, 934, 369, 410, 29,
113, 887, 444, 79, 699, 482, 715, 296, 337, 29,
613, 369, 558, 620, 768, 558, 558, 202, 723, 343,
681, 627, 465, 579, 558, 712, 488, 558, 558, 85,
346, 639, 420, 709, 341, 371, 704, 704, 704, 460,
29, 259, 771, 255, 715, 369, 296, 506, 710, 462,
343, 262, 369, 259, 73, 234, 716, 778, 29, 344,
558, 346, 964, 262, 202, 341, 79, 712, 724, 339,
255, 234, 515, 501, 558, 342, 709, 558, 558, 259,
720, 712, 340, 474, 230, 14, 732, 231, 232, 262,
344, 712, 731, 477, 500, 744, 747, 479, 747, 486,
339, 737, 196, 761, 600, 747, 342, 501, 234, 558,
601, 228, 113, 340, 100, 900, 14, 522, 695, 760,
233, 902, 501, 616, 29, 775, 196, 712, 611, 442,
523, 576, 807, 621, 14, 824, 482, 576, 576, 780,
617, 558, 658, 86, 531, 511, 576, 643, 769, 246,
278, 854, 577, 653, 79, 656, 586, 233, 780, 661,
483, 234, 683, 100, 202, 202, 255, 674, 401, 255,
255, 591, 686, 369, 86, 500, 558, 500, 391, 392,
500, 500, 307, 689, 558, 558, 692, 501, 558, 572,
558, 693, 577, 586, 86, 278, 558, 707, 451, 718,
14, 708, 255, 321, 681, 776, 309, 310, 704, 574,
233, 893, 250, 558, 202, 200, 713, 401, 722, 202,
839, 831, 202, 202, 843, 558, 558, 79, 714, 836,
844, 307, 79, 79, 576, 558, 748, 745, 818, 729,
79, 662, 735, 113, 745, 558, 762, 442, 200, 630,
751, 296, 558, 371, 780, 311, 312, 558, 777, 558,
684, 684, 558, 684, 752, 684, 29, 29, 29, 684,
29, 29, 684, 29, 684, 558, 531, 684, 712, 257,
92, 763, 278, 754, 558, 79, 202, 202, 202, 202,
79, 202, 202, 29, 29, 29, 29, 29, 396, 938,
755, 558, 770, 681, 792, 681, 793, 802, 558, 810,
803, 804, 811, 257, 841, 113, 832, 558, 558, 558,
558, 558, 558, 837, 488, 242, 202, 278, 257, 578,
747, 407, 719, 578, 578, 202, 79, 296, 845, 846,
847, 853, 14, 14, 14, 369, 14, 14, 856, 14,
840, 113, 202, 859, 79, 202, 371, 521, 860, 200,
309, 310, 848, 849, 79, 29, 861, 202, 29, 29,
852, 945, 79, 488, 100, 863, 878, 202, 865, 628,
867, 242, 79, 873, 681, 912, 675, 875, 488, 489,
490, 491, 879, 869, 870, 684, 684, 684, 684, 558,
558, 937, 684, 684, 684, 684, 572, 684, 885, 311,
312, 883, 86, 884, 79, 451, 558, 619, 747, 558,
558, 712, 261, 79, 894, 903, 574, 230, 401, 250,
231, 232, 261, 904, 890, 558, 296, 681, 558, 681,
202, 14, 296, 909, 14, 14, 901, 278, 922, 921,
684, 684, 684, 684, 684, 558, 930, 558, 558, 928,
278, 933, 684, 261, 230, 932, 256, 231, 232, 79,
100, 681, 558, 100, 100, 558, 935, 558, 943, 249,
249, 261, 947, 249, 952, 431, 805, 808, 231, 232,
954, 16, 812, 814, 956, 558, 961, 558, 911, 558,
558, 558, 969, 543, 401, 939, 981, 940, 272, 274,
941, 558, 242, 249, 290, 100, 558, 230, 242, 558,
231, 232, 16, 558, 401, 325, 327, 401, 401, 544,
805, 808, 558, 812, 814, 558, 558, 545, 307, 257,
16, 307, 307, 543, 549, 549, 242, 261, 242, 551,
931, 545, 558, 545, 296, 558, 558, 558, 119, 968,
202, 79, 194, 369, 86, 86, 116, 116, 660, 558,
967, 558, 558, 558, 213, 926, 892, 782, 774, 278,
558, 825, 558, 971, 230, 558, 558, 231, 232, 886,
242, 558, 278, 202, 558, 558, 216, 473, 90, 473,
432, 514, 0, 473, 0, 95, 16, 0, 558, 86,
0, 558, 558, 298, 0, 558, 0, 0, 558, 558,
330, 331, 332, 333, 334, 886, 0, 543, 530, 90,
0, 0, 90, 0, 534, 257, 0, 0, 257, 257,
242, 460, 913, 0, 488, 489, 490, 491, 308, 90,
309, 310, 298, 936, 95, 0, 544, 0, 79, 0,
0, 79, 79, 578, 202, 0, 369, 0, 0, 578,
578, 0, 86, 0, 79, 0, 202, 0, 578, 534,
488, 0, 0, 488, 488, 296, 460, 0, 0, 261,
261, 261, 261, 261, 261, 79, 261, 0, 0, 311,
312, 79, 0, 0, 202, 0, 0, 433, 434, 435,
436, 534, 325, 79, 79, 0, 261, 261, 261, 261,
261, 79, 249, 0, 0, 0, 0, 249, 242, 242,
0, 0, 0, 0, 15, 0, 0, 0, 0, 0,
544, 48, 0, 0, 79, 79, 0, 495, 16, 16,
16, 48, 16, 16, 0, 16, 0, 882, 0, 675,
86, 488, 489, 490, 491, 15, 578, 0, 261, 543,
543, 543, 517, 543, 543, 517, 543, 517, 242, 517,
0, 517, 48, 15, 0, 79, 79, 0, 261, 0,
0, 261, 261, 896, 315, 309, 310, 79, 0, 0,
48, 532, 533, 534, 535, 536, 537, 538, 539, 540,
541, 542, 543, 544, 545, 546, 547, 548, 549, 550,
551, 552, 553, 554, 555, 556, 557, 0, 0, 0,
0, 234, 0, 86, 249, 0, 0, 575, 86, 86,
0, 575, 589, 594, 311, 312, 86, 16, 79, 15,
16, 16, 0, 0, 0, 0, 79, 298, 79, 495,
249, 79, 0, 496, 92, 95, 48, 90, 534, 675,
0, 488, 489, 490, 491, 249, 98, 575, 575, 575,
0, 102, 544, 544, 544, 249, 544, 544, 96, 544,
0, 86, 641, 202, 531, 92, 86, 517, 92, 0,
278, 644, 0, 646, 0, 0, 530, 649, 290, 0,
0, 676, 534, 0, 242, 92, 0, 268, 80, 80,
115, 115, 115, 0, 391, 98, 575, 94, 212, 268,
102, 534, 0, 0, 0, 581, 649, 96, 460, 581,
581, 0, 86, 298, 534, 278, 0, 0, 249, 0,
93, 460, 279, 242, 0, 0, 0, 534, 0, 0,
86, 95, 268, 80, 95, 95, 0, 297, 0, 391,
86, 517, 691, 0, 268, 0, 0, 473, 86, 516,
0, 309, 310, 0, 0, 0, 697, 698, 86, 534,
0, 15, 15, 15, 362, 15, 15, 279, 15, 360,
358, 391, 359, 0, 361, 0, 297, 0, 48, 48,
48, 48, 48, 48, 675, 48, 488, 489, 490, 491,
86, 0, 48, 278, 0, 97, 80, 0, 0, 86,
311, 312, 48, 48, 0, 48, 48, 48, 48, 48,
0, 0, 298, 242, 0, 317, 309, 310, 298, 0,
0, 242, 725, 531, 0, 530, 492, 278, 0, 278,
0, 530, 0, 494, 0, 0, 0, 0, 494, 0,
0, 242, 278, 0, 97, 86, 0, 0, 0, 0,
687, 741, 0, 0, 690, 99, 0, 0, 87, 0,
15, 0, 0, 15, 15, 311, 312, 0, 0, 494,
0, 0, 494, 0, 278, 0, 530, 48, 0, 766,
48, 48, 767, 0, 80, 531, 0, 494, 649, 87,
290, 531, 87, 0, 460, 0, 487, 0, 488, 489,
490, 491, 0, 92, 99, 0, 98, 278, 530, 87,
0, 102, 0, 495, 0, 497, 534, 496, 96, 242,
0, 87, 87, 0, 0, 242, 0, 0, 391, 0,
298, 215, 102, 0, 0, 0, 531, 86, 492, 460,
0, 575, 575, 0, 493, 494, 0, 575, 575, 255,
0, 817, 494, 0, 249, 101, 575, 80, 0, 255,
827, 0, 80, 80, 0, 0, 87, 278, 531, 0,
80, 422, 422, 422, 422, 422, 422, 0, 0, 534,
278, 297, 509, 0, 268, 575, 575, 0, 575, 575,
255, 391, 534, 255, 0, 0, 268, 268, 851, 0,
0, 0, 98, 0, 391, 98, 98, 102, 255, 268,
102, 102, 0, 509, 96, 80, 509, 96, 96, 279,
80, 0, 0, 422, 422, 0, 0, 872, 0, 87,
0, 509, 279, 0, 86, 0, 0, 86, 86, 581,
0, 0, 255, 0, 575, 581, 581, 0, 0, 0,
86, 0, 0, 337, 581, 97, 0, 0, 0, 495,
889, 298, 0, 496, 0, 530, 80, 297, 350, 351,
0, 86, 0, 0, 255, 0, 0, 86, 0, 0,
575, 0, 0, 0, 80, 82, 82, 290, 0, 86,
86, 0, 0, 0, 80, 0, 509, 86, 362, 357,
0, 0, 80, 360, 358, 0, 359, 0, 361, 0,
0, 494, 80, 0, 0, 99, 0, 87, 0, 0,
86, 86, 0, 0, 0, 531, 278, 87, 530, 0,
82, 862, 864, 116, 866, 0, 868, 0, 0, 278,
871, 530, 581, 874, 80, 876, 0, 0, 880, 0,
0, 97, 0, 80, 97, 97, 319, 309, 310, 437,
0, 86, 86, 0, 0, 0, 297, 0, 0, 898,
0, 249, 297, 86, 0, 520, 309, 310, 645, 0,
487, 0, 488, 489, 490, 491, 0, 0, 531, 0,
87, 460, 494, 82, 494, 87, 87, 494, 494, 80,
0, 531, 0, 87, 460, 0, 311, 312, 319, 309,
310, 99, 0, 0, 99, 99, 255, 255, 255, 255,
255, 255, 492, 255, 86, 311, 312, 0, 493, 494,
255, 255, 86, 0, 86, 0, 0, 86, 0, 233,
255, 255, 0, 255, 255, 255, 255, 255, 87, 233,
0, 0, 0, 87, 0, 509, 0, 0, 311, 312,
511, 309, 310, 0, 0, 0, 946, 948, 949, 950,
0, 0, 0, 951, 953, 955, 957, 0, 958, 0,
233, 82, 0, 255, 297, 0, 0, 0, 0, 0,
0, 80, 582, 0, 0, 0, 582, 582, 233, 87,
0, 255, 0, 523, 0, 518, 309, 310, 0, 0,
311, 312, 0, 523, 0, 255, 0, 87, 255, 255,
0, 978, 979, 980, 982, 983, 487, 87, 488, 489,
490, 491, 0, 985, 0, 87, 509, 0, 509, 0,
0, 509, 509, 0, 523, 87, 101, 523, 0, 89,
0, 0, 0, 0, 82, 311, 312, 0, 0, 82,
82, 0, 523, 0, 233, 0, 0, 82, 492, 0,
0, 0, 0, 0, 493, 494, 0, 87, 0, 530,
89, 0, 279, 89, 0, 530, 87, 337, 80, 0,
91, 80, 80, 0, 0, 101, 523, 0, 0, 0,
89, 0, 350, 351, 80, 0, 0, 519, 309, 310,
0, 0, 82, 0, 0, 297, 0, 82, 176, 0,
531, 91, 0, 0, 91, 80, 531, 279, 523, 0,
530, 80, 87, 520, 309, 310, 0, 0, 694, 309,
310, 91, 0, 80, 80, 0, 176, 0, 176, 0,
176, 80, 0, 0, 462, 0, 82, 311, 312, 0,
82, 82, 530, 82, 0, 0, 0, 176, 0, 0,
0, 531, 0, 0, 80, 80, 0, 0, 0, 0,
0, 82, 0, 311, 312, 0, 0, 115, 311, 312,
0, 82, 0, 0, 0, 0, 0, 0, 0, 82,
0, 0, 0, 531, 0, 0, 233, 233, 233, 82,
233, 233, 0, 233, 0, 80, 80, 0, 0, 0,
0, 0, 0, 897, 87, 0, 0, 80, 0, 88,
233, 233, 534, 233, 233, 233, 233, 0, 0, 0,
0, 82, 0, 495, 0, 738, 0, 496, 0, 0,
82, 0, 0, 0, 0, 0, 0, 0, 0, 0,
88, 0, 530, 88, 0, 391, 534, 0, 534, 0,
523, 523, 523, 523, 523, 523, 0, 523, 80, 0,
88, 534, 0, 0, 523, 523, 80, 0, 80, 0,
0, 80, 0, 0, 523, 523, 82, 523, 523, 523,
523, 523, 0, 117, 117, 233, 101, 0, 233, 233,
391, 117, 0, 534, 0, 0, 0, 0, 89, 530,
0, 87, 0, 0, 87, 87, 582, 0, 0, 0,
0, 0, 582, 582, 0, 0, 0, 87, 0, 0,
0, 582, 391, 117, 117, 534, 534, 0, 117, 117,
117, 0, 0, 0, 0, 523, 0, 0, 87, 91,
531, 117, 0, 0, 87, 0, 0, 0, 0, 523,
0, 0, 523, 523, 0, 0, 87, 87, 0, 279,
0, 0, 530, 0, 87, 0, 0, 530, 82, 117,
0, 90, 279, 534, 0, 530, 0, 0, 0, 94,
0, 0, 101, 0, 0, 101, 101, 87, 87, 0,
0, 0, 0, 176, 0, 176, 176, 176, 176, 0,
0, 0, 0, 531, 196, 0, 0, 0, 0, 582,
94, 0, 0, 94, 196, 268, 531, 0, 534, 0,
0, 0, 0, 0, 0, 0, 0, 0, 87, 87,
94, 462, 0, 0, 0, 176, 899, 0, 0, 0,
87, 176, 176, 0, 0, 196, 0, 0, 196, 0,
534, 0, 93, 0, 176, 0, 0, 176, 176, 0,
268, 0, 196, 196, 0, 82, 0, 196, 82, 82,
82, 0, 0, 0, 0, 0, 82, 82, 88, 391,
0, 82, 534, 93, 0, 82, 93, 0, 279, 0,
487, 87, 488, 489, 490, 491, 0, 196, 0, 87,
0, 87, 82, 93, 87, 0, 0, 0, 82, 0,
0, 675, 0, 488, 489, 490, 491, 0, 0, 0,
82, 82, 117, 117, 117, 117, 0, 117, 82, 196,
0, 0, 492, 279, 0, 0, 0, 259, 493, 494,
0, 0, 391, 0, 0, 534, 0, 259, 0, 0,
0, 82, 82, 676, 0, 391, 234, 0, 534, 677,
675, 0, 488, 489, 490, 491, 234, 0, 0, 0,
0, 0, 0, 82, 117, 0, 0, 0, 259, 0,
0, 257, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 82, 82, 0, 0, 259, 234, 0, 0,
234, 0, 676, 0, 82, 0, 98, 534, 857, 0,
0, 0, 0, 0, 234, 234, 117, 117, 117, 117,
117, 117, 117, 117, 117, 117, 117, 117, 117, 117,
117, 117, 117, 117, 117, 117, 117, 117, 117, 117,
117, 117, 0, 0, 0, 0, 0, 0, 94, 234,
0, 0, 530, 0, 0, 82, 89, 0, 530, 0,
117, 0, 259, 82, 0, 82, 0, 0, 82, 0,
534, 196, 196, 196, 196, 196, 196, 0, 196, 0,
0, 234, 88, 534, 391, 196, 196, 196, 0, 0,
0, 0, 117, 117, 117, 196, 196, 0, 196, 196,
196, 196, 196, 530, 0, 0, 0, 117, 0, 0,
0, 0, 268, 0, 0, 0, 117, 49, 117, 0,
0, 93, 117, 117, 0, 268, 0, 49, 0, 391,
0, 0, 531, 0, 0, 530, 91, 0, 531, 0,
0, 117, 0, 0, 0, 0, 0, 0, 0, 0,
196, 117, 0, 0, 0, 0, 196, 0, 49, 117,
0, 391, 0, 0, 0, 117, 0, 0, 196, 0,
196, 0, 0, 196, 196, 0, 49, 0, 0, 0,
0, 0, 0, 531, 0, 279, 0, 117, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 279, 0,
0, 117, 117, 0, 259, 259, 259, 259, 259, 259,
0, 259, 0, 0, 0, 531, 0, 0, 0, 0,
0, 0, 0, 234, 234, 234, 234, 234, 234, 0,
234, 259, 259, 259, 259, 259, 0, 234, 234, 234,
0, 0, 49, 0, 0, 0, 0, 234, 234, 0,
234, 234, 234, 234, 234, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 117, 0, 0,
0, 0, 0, 0, 0, 0, 0, 117, 0, 0,
0, 0, 0, 259, 0, 0, 0, 0, 0, 0,
0, 97, 530, 0, 0, 0, 117, 0, 0, 454,
0, 0, 234, 259, 0, 0, 259, 259, 234, 454,
0, 0, 0, 0, 0, 0, 0, 96, 391, 0,
234, 0, 234, 0, 117, 234, 234, 117, 0, 0,
0, 0, 527, 117, 0, 117, 454, 454, 0, 527,
454, 454, 454, 454, 454, 454, 454, 0, 0, 0,
0, 0, 0, 0, 0, 530, 0, 454, 454, 454,
454, 454, 454, 0, 0, 0, 0, 0, 530, 0,
0, 99, 531, 0, 0, 0, 0, 0, 0, 0,
0, 391, 0, 0, 49, 49, 49, 49, 49, 49,
454, 49, 454, 454, 391, 0, 117, 0, 49, 0,
0, 0, 0, 0, 0, 117, 0, 0, 117, 0,
0, 49, 49, 49, 49, 49, 458, 0, 0, 0,
0, 0, 527, 454, 454, 527, 458, 0, 0, 0,
117, 117, 0, 117, 117, 531, 0, 0, 0, 0,
0, 0, 0, 117, 0, 0, 0, 0, 531, 528,
0, 0, 0, 458, 458, 0, 528, 458, 458, 458,
458, 458, 458, 458, 0, 0, 0, 0, 0, 0,
0, 0, 117, 0, 458, 458, 458, 458, 458, 458,
117, 0, 0, 49, 0, 0, 49, 49, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 117, 0, 458, 0, 458,
458, 0, 0, 0, 0, 0, 117, 0, 0, 0,
0, 0, 0, 0, 0, 117, 0, 0, 0, 0,
0, 0, 117, 0, 0, 0, 0, 0, 0, 528,
458, 458, 528, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 527, 527, 527, 527,
527, 527, 527, 527, 527, 0, 454, 454, 454, 454,
454, 454, 527, 454, 527, 527, 527, 527, 454, 527,
454, 454, 454, 527, 527, 527, 527, 527, 527, 527,
454, 454, 527, 454, 454, 454, 454, 454, 0, 0,
0, 527, 527, 0, 527, 527, 527, 527, 527, 527,
527, 527, 527, 527, 0, 0, 527, 0, 0, 527,
527, 527, 0, 527, 527, 454, 454, 454, 454, 454,
454, 454, 454, 454, 454, 454, 454, 454, 0, 0,
454, 454, 454, 527, 454, 454, 527, 527, 0, 527,
527, 454, 527, 527, 527, 454, 527, 527, 527, 527,
527, 527, 0, 454, 527, 454, 0, 0, 454, 454,
0, 527, 0, 528, 528, 528, 528, 528, 528, 528,
528, 528, 0, 458, 458, 458, 458, 458, 458, 528,
458, 528, 528, 528, 528, 458, 528, 458, 458, 458,
528, 528, 528, 528, 528, 528, 528, 458, 458, 528,
458, 458, 458, 458, 458, 0, 0, 0, 528, 528,
0, 528, 528, 528, 528, 528, 528, 528, 528, 528,
528, 0, 0, 528, 0, 0, 528, 528, 528, 0,
528, 528, 458, 458, 458, 458, 458, 458, 458, 458,
458, 458, 458, 458, 458, 0, 0, 458, 458, 458,
528, 458, 458, 528, 528, 0, 528, 528, 458, 528,
528, 528, 458, 528, 528, 528, 528, 528, 528, 534,
458, 528, 458, 0, 0, 458, 458, 0, 528, 534,
362, 357, 0, 0, 0, 360, 358, 0, 359, 0,
361, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 530, 0, 0, 0, 534, 534, 0, 530,
534, 534, 534, 534, 534, 534, 534, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 534, 534, 534,
98, 534, 534, 0, 0, 0, 0, 356, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
534, 0, 534, 534, 0, 0, 0, 355, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 530, 0, 0, 0,
0, 0, 534, 534, 534, 530, 530, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 530,
0, 0, 0, 530, 530, 0, 530, 530, 530, 530,
530, 530, 530, 530, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 530, 530, 530, 97, 530, 530,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 530, 0, 530,
530, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 530,
530, 530, 530, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 530, 530, 530, 530,
530, 530, 530, 530, 530, 0, 534, 534, 534, 534,
534, 534, 530, 534, 530, 530, 530, 530, 0, 534,
534, 534, 534, 530, 530, 530, 530, 530, 530, 530,
534, 534, 530, 534, 534, 534, 534, 534, 0, 337,
0, 530, 530, 0, 530, 530, 530, 530, 530, 530,
530, 530, 530, 530, 350, 351, 530, 0, 0, 530,
530, 530, 0, 530, 530, 534, 534, 534, 534, 534,
534, 534, 534, 534, 534, 534, 534, 534, 0, 0,
534, 534, 534, 530, 0, 534, 530, 530, 0, 530,
530, 534, 530, 530, 530, 534, 530, 530, 530, 530,
530, 530, 0, 534, 530, 534, 0, 0, 534, 534,
0, 530, 0, 530, 530, 530, 530, 530, 530, 530,
530, 530, 0, 530, 530, 530, 530, 530, 530, 530,
530, 530, 530, 530, 530, 0, 530, 530, 530, 530,
530, 530, 530, 530, 530, 530, 530, 530, 530, 530,
530, 530, 530, 530, 530, 0, 0, 0, 530, 530,
0, 530, 530, 530, 530, 530, 530, 530, 530, 530,
530, 0, 0, 530, 0, 0, 530, 530, 530, 0,
530, 530, 530, 530, 530, 530, 530, 530, 530, 530,
530, 530, 530, 530, 530, 0, 0, 530, 530, 530,
530, 0, 530, 530, 530, 0, 530, 530, 530, 530,
530, 530, 530, 530, 530, 530, 530, 530, 530, 531,
530, 530, 530, 0, 0, 530, 530, 0, 530, 531,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 531, 0, 0, 0, 531, 531, 0, 531,
531, 531, 531, 531, 531, 531, 531, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 531, 531, 531,
99, 531, 531, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
531, 0, 531, 531, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 269, 0, 0, 0,
0, 0, 531, 531, 531, 531, 269, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 529,
0, 0, 0, 269, 269, 0, 529, 269, 269, 269,
269, 269, 269, 269, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 269, 269, 269, 0, 269, 269,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 269, 0, 269,
269, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 529,
269, 269, 529, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 531, 531, 531, 531,
531, 531, 531, 531, 531, 0, 531, 531, 531, 531,
531, 531, 531, 531, 531, 531, 531, 531, 0, 531,
531, 531, 531, 531, 531, 531, 531, 531, 531, 531,
531, 531, 531, 531, 531, 531, 531, 531, 0, 0,
0, 531, 531, 0, 531, 531, 531, 531, 531, 531,
531, 531, 531, 531, 0, 0, 531, 0, 0, 531,
531, 531, 0, 531, 531, 531, 531, 531, 531, 531,
531, 531, 531, 531, 531, 531, 531, 531, 0, 0,
531, 531, 531, 531, 0, 531, 531, 531, 0, 531,
531, 531, 531, 531, 531, 531, 531, 531, 531, 531,
531, 531, 0, 531, 531, 531, 0, 0, 531, 531,
0, 531, 0, 529, 529, 529, 529, 529, 529, 529,
529, 529, 0, 269, 269, 269, 269, 269, 269, 529,
269, 529, 529, 529, 529, 0, 529, 269, 269, 269,
529, 529, 529, 529, 529, 529, 529, 269, 269, 529,
269, 269, 269, 269, 269, 0, 0, 0, 529, 529,
0, 529, 529, 529, 529, 529, 529, 529, 529, 529,
529, 0, 0, 529, 0, 0, 529, 529, 529, 0,
529, 529, 269, 269, 269, 269, 269, 269, 269, 269,
269, 269, 269, 269, 269, 0, 0, 269, 269, 269,
529, 0, 269, 529, 529, 0, 529, 529, 269, 529,
529, 529, 269, 529, 529, 529, 529, 529, 529, 535,
269, 529, 269, 0, 0, 269, 269, 0, 529, 535,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 532, 0, 0, 0, 535, 535, 0, 532,
535, 535, 535, 535, 535, 535, 535, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 535, 535, 535,
0, 535, 535, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
535, 0, 535, 535, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 536, 0, 0, 0,
0, 0, 535, 535, 535, 532, 536, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 533,
0, 0, 0, 536, 536, 0, 533, 536, 536, 536,
536, 536, 536, 536, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 536, 536, 536, 0, 536, 536,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 536, 0, 536,
536, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 536,
536, 536, 533, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 532, 532, 532, 532,
532, 532, 532, 532, 532, 0, 535, 535, 535, 535,
535, 535, 532, 535, 532, 532, 532, 532, 0, 535,
535, 535, 535, 532, 532, 532, 532, 532, 532, 532,
535, 535, 532, 535, 535, 535, 535, 535, 0, 0,
0, 532, 532, 0, 532, 532, 532, 532, 532, 532,
532, 532, 532, 532, 0, 0, 532, 0, 0, 532,
532, 532, 0, 532, 532, 535, 535, 535, 535, 535,
535, 535, 535, 535, 535, 535, 535, 535, 0, 0,
535, 535, 535, 532, 0, 535, 532, 532, 0, 532,
532, 535, 532, 532, 532, 535, 532, 532, 532, 532,
532, 532, 0, 535, 532, 535, 0, 0, 535, 535,
0, 532, 0, 533, 533, 533, 533, 533, 533, 533,
533, 533, 0, 536, 536, 536, 536, 536, 536, 533,
536, 533, 533, 533, 533, 0, 536, 536, 536, 536,
533, 533, 533, 533, 533, 533, 533, 536, 536, 533,
536, 536, 536, 536, 536, 0, 0, 0, 533, 533,
0, 533, 533, 533, 533, 533, 533, 533, 533, 533,
533, 0, 0, 533, 0, 0, 533, 533, 533, 0,
533, 533, 536, 536, 536, 536, 536, 536, 536, 536,
536, 536, 536, 536, 536, 0, 0, 536, 536, 536,
533, 0, 536, 533, 533, 0, 533, 533, 536, 533,
533, 533, 536, 533, 533, 533, 533, 533, 533, 278,
536, 533, 536, 0, 0, 536, 536, 0, 533, 278,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 531, 0, 0, 0, 278, 278, 0, 531,
278, 278, 278, 278, 278, 278, 278, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 278, 278, 278,
100, 278, 278, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
278, 0, 278, 278, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 390, 0, 0, 0,
0, 0, 0, 278, 278, 531, 390, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 248,
0, 0, 0, 390, 390, 0, 0, 390, 390, 390,
390, 390, 390, 390, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 390, 390, 0, 390, 390,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
169, 0, 0, 0, 0, 0, 0, 390, 0, 390,
390, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 169, 0,
169, 0, 169, 0, 0, 0, 461, 0, 0, 390,
390, 390, 248, 0, 0, 0, 0, 0, 0, 169,
0, 0, 0, 0, 0, 0, 531, 531, 531, 531,
531, 531, 531, 531, 531, 0, 278, 278, 278, 278,
278, 278, 531, 278, 531, 531, 531, 531, 0, 0,
278, 278, 278, 531, 531, 531, 531, 531, 531, 531,
278, 278, 531, 278, 278, 278, 278, 278, 0, 0,
0, 531, 531, 0, 531, 531, 531, 531, 531, 531,
531, 531, 531, 531, 0, 0, 531, 0, 0, 531,
531, 531, 0, 531, 531, 278, 278, 278, 278, 278,
278, 278, 278, 278, 278, 278, 278, 278, 0, 0,
278, 278, 278, 531, 0, 278, 531, 531, 0, 531,
531, 278, 531, 531, 531, 278, 531, 531, 531, 531,
531, 531, 0, 278, 531, 278, 0, 0, 278, 278,
0, 531, 0, 248, 248, 248, 248, 248, 248, 248,
248, 248, 0, 390, 390, 390, 390, 390, 390, 248,
390, 248, 248, 248, 248, 0, 390, 390, 390, 0,
248, 248, 248, 248, 248, 248, 248, 390, 390, 248,
390, 390, 390, 390, 390, 0, 0, 0, 248, 248,
0, 248, 248, 248, 248, 248, 248, 248, 248, 248,
248, 0, 0, 248, 0, 0, 248, 248, 248, 0,
248, 248, 390, 390, 390, 390, 390, 390, 390, 390,
390, 390, 390, 390, 390, 0, 0, 390, 390, 390,
248, 0, 390, 248, 248, 0, 248, 248, 390, 248,
248, 248, 390, 248, 248, 248, 248, 248, 248, 558,
0, 248, 390, 0, 0, 390, 390, 0, 248, 558,
0, 0, 0, 0, 0, 169, 0, 169, 169, 169,
169, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 248, 0, 0, 0, 558, 558, 0, 0,
558, 558, 558, 558, 558, 558, 558, 0, 0, 0,
0, 0, 0, 461, 0, 0, 0, 169, 558, 558,
0, 558, 558, 169, 169, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 169, 0, 0, 169,
169, 0, 0, 0, 0, 0, 0, 0, 0, 0,
558, 0, 558, 558, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 558, 0, 0, 0,
0, 0, 558, 558, 558, 248, 558, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 248,
0, 0, 0, 558, 558, 0, 0, 558, 558, 558,
558, 558, 558, 558, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 558, 558, 0, 558, 558,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
179, 0, 0, 0, 0, 0, 0, 558, 0, 558,
558, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 179, 0,
179, 0, 179, 0, 0, 0, 463, 0, 0, 0,
558, 558, 248, 0, 0, 0, 0, 0, 0, 179,
0, 0, 0, 0, 0, 0, 248, 248, 248, 248,
248, 248, 248, 248, 248, 0, 558, 558, 558, 558,
558, 558, 248, 558, 248, 248, 248, 248, 0, 558,
558, 558, 0, 248, 248, 248, 248, 248, 248, 248,
558, 558, 248, 558, 558, 558, 558, 558, 0, 0,
0, 248, 248, 0, 248, 248, 248, 248, 248, 248,
248, 248, 248, 248, 0, 0, 248, 0, 0, 248,
248, 248, 0, 248, 248, 558, 558, 558, 558, 558,
558, 558, 558, 558, 558, 558, 558, 558, 0, 0,
558, 558, 558, 248, 0, 558, 248, 248, 0, 248,
248, 558, 248, 248, 248, 558, 248, 248, 248, 248,
248, 248, 0, 0, 248, 558, 0, 0, 558, 558,
0, 248, 0, 248, 248, 248, 248, 248, 248, 248,
248, 248, 0, 558, 558, 558, 558, 558, 558, 248,
558, 248, 248, 248, 248, 0, 0, 558, 558, 0,
248, 248, 248, 248, 248, 248, 248, 558, 558, 248,
558, 558, 558, 558, 558, 0, 0, 0, 248, 248,
0, 248, 248, 248, 248, 248, 248, 248, 248, 248,
248, 0, 0, 248, 0, 0, 248, 248, 248, 0,
248, 248, 558, 558, 558, 558, 558, 558, 558, 558,
558, 558, 558, 558, 558, 0, 0, 558, 558, 558,
248, 0, 558, 248, 248, 0, 248, 248, 558, 248,
248, 248, 558, 248, 248, 248, 248, 248, 248, 534,
0, 248, 558, 0, 0, 558, 558, 0, 248, 534,
0, 0, 0, 0, 0, 179, 0, 179, 179, 179,
179, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 530, 0, 0, 0, 534, 534, 0, 530,
534, 534, 534, 90, 534, 534, 534, 0, 0, 0,
0, 0, 0, 463, 0, 0, 0, 179, 534, 534,
98, 534, 534, 179, 179, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 179, 0, 0, 179,
179, 0, 0, 0, 0, 0, 0, 0, 0, 0,
534, 0, 0, 534, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 530, 0, 0, 0,
0, 0, 534, 534, 534, 530, 530, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 530,
0, 0, 0, 530, 530, 0, 530, 530, 530, 530,
89, 530, 530, 530, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 530, 530, 97, 530, 530,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
164, 0, 0, 0, 0, 0, 0, 530, 0, 0,
530, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 164, 0,
164, 0, 164, 0, 0, 0, 464, 0, 0, 530,
530, 530, 530, 0, 0, 0, 0, 0, 0, 164,
0, 0, 0, 0, 0, 0, 530, 530, 530, 530,
530, 530, 530, 530, 530, 0, 534, 534, 534, 0,
534, 534, 530, 534, 530, 530, 530, 530, 0, 534,
0, 0, 0, 530, 530, 530, 530, 530, 530, 530,
534, 534, 530, 534, 534, 534, 534, 534, 0, 0,
0, 530, 530, 0, 530, 530, 530, 530, 530, 530,
530, 530, 530, 530, 0, 0, 530, 0, 0, 530,
530, 530, 0, 530, 530, 534, 534, 534, 534, 534,
534, 534, 534, 534, 534, 534, 534, 534, 0, 0,
534, 534, 534, 530, 0, 0, 530, 530, 0, 530,
530, 0, 530, 530, 530, 534, 530, 530, 530, 530,
530, 530, 0, 0, 530, 534, 0, 0, 534, 534,
0, 530, 0, 530, 530, 530, 530, 530, 530, 530,
530, 530, 0, 530, 530, 530, 0, 530, 530, 530,
530, 530, 530, 530, 530, 0, 530, 0, 0, 0,
530, 530, 530, 530, 530, 530, 530, 530, 530, 530,
530, 530, 530, 530, 530, 0, 0, 0, 530, 530,
0, 530, 530, 530, 530, 530, 530, 530, 530, 530,
530, 0, 0, 530, 0, 0, 530, 530, 530, 0,
530, 530, 530, 530, 530, 530, 530, 530, 530, 530,
530, 530, 530, 530, 530, 0, 0, 530, 530, 530,
530, 0, 0, 530, 530, 0, 530, 530, 0, 530,
530, 530, 530, 530, 530, 530, 530, 530, 530, 531,
0, 530, 530, 0, 0, 530, 530, 0, 530, 531,
0, 0, 0, 0, 0, 164, 0, 164, 164, 164,
164, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 531, 0, 0, 0, 531, 531, 0, 531,
531, 531, 531, 91, 531, 531, 531, 0, 0, 0,
0, 0, 0, 464, 0, 0, 0, 164, 531, 531,
99, 531, 531, 164, 164, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 164, 0, 0, 164,
164, 0, 0, 0, 0, 0, 0, 0, 0, 0,
531, 0, 0, 531, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 534, 0, 0, 0,
0, 0, 531, 531, 531, 531, 534, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 530,
0, 0, 0, 534, 534, 0, 530, 534, 534, 534,
534, 534, 534, 534, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 534, 534, 98, 534, 534,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
147, 0, 0, 0, 0, 0, 0, 534, 0, 0,
534, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 147, 0,
147, 0, 147, 0, 0, 0, 466, 0, 0, 534,
534, 534, 530, 0, 0, 0, 0, 0, 0, 147,
0, 0, 0, 0, 0, 0, 531, 531, 531, 531,
531, 531, 531, 531, 531, 0, 531, 531, 531, 0,
531, 531, 531, 531, 531, 531, 531, 531, 0, 531,
0, 0, 0, 531, 531, 531, 531, 531, 531, 531,
531, 531, 531, 531, 531, 531, 531, 531, 0, 0,
0, 531, 531, 0, 531, 531, 531, 531, 531, 531,
531, 531, 531, 531, 0, 0, 531, 0, 0, 531,
531, 531, 0, 531, 531, 531, 531, 531, 531, 531,
531, 531, 531, 531, 531, 531, 531, 531, 0, 0,
531, 531, 531, 531, 0, 0, 531, 531, 0, 531,
531, 0, 531, 531, 531, 531, 531, 531, 531, 531,
531, 531, 0, 0, 531, 531, 0, 0, 531, 531,
0, 531, 0, 530, 530, 530, 530, 530, 530, 530,
530, 530, 0, 534, 534, 534, 0, 534, 534, 530,
534, 530, 530, 530, 530, 0, 534, 0, 0, 0,
530, 530, 530, 530, 530, 530, 530, 534, 534, 530,
534, 534, 534, 534, 534, 0, 0, 0, 530, 530,
0, 530, 530, 530, 530, 530, 530, 530, 530, 530,
530, 0, 0, 530, 0, 0, 530, 530, 530, 0,
530, 530, 534, 534, 534, 534, 534, 534, 534, 534,
534, 534, 534, 534, 534, 0, 0, 534, 534, 534,
530, 0, 0, 530, 530, 0, 530, 530, 0, 530,
530, 530, 534, 530, 530, 530, 530, 530, 530, 530,
0, 530, 534, 0, 0, 534, 534, 0, 530, 530,
0, 0, 0, 0, 0, 147, 0, 147, 147, 147,
147, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 530, 0, 0, 0, 530, 530, 0, 530,
530, 530, 530, 530, 530, 530, 530, 0, 0, 0,
0, 0, 0, 466, 0, 0, 0, 147, 530, 530,
97, 530, 530, 147, 147, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 147, 0, 0, 147,
147, 0, 0, 0, 0, 0, 0, 0, 0, 0,
530, 0, 0, 530, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 531, 0, 0, 0,
0, 0, 530, 530, 530, 530, 531, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 531,
0, 0, 0, 531, 531, 0, 531, 531, 531, 531,
531, 531, 531, 531, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 531, 531, 99, 531, 531,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
148, 0, 0, 0, 0, 0, 0, 531, 0, 0,
531, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 148, 0,
148, 0, 148, 0, 0, 0, 465, 0, 0, 531,
531, 531, 531, 0, 0, 0, 0, 0, 0, 148,
0, 0, 0, 0, 0, 0, 530, 530, 530, 530,
530, 530, 530, 530, 530, 0, 530, 530, 530, 0,
530, 530, 530, 530, 530, 530, 530, 530, 0, 530,
0, 0, 0, 530, 530, 530, 530, 530, 530, 530,
530, 530, 530, 530, 530, 530, 530, 530, 0, 0,
0, 530, 530, 0, 530, 530, 530, 530, 530, 530,
530, 530, 530, 530, 0, 0, 530, 0, 0, 530,
530, 530, 0, 530, 530, 530, 530, 530, 530, 530,
530, 530, 530, 530, 530, 530, 530, 530, 0, 0,
530, 530, 530, 530, 0, 0, 530, 530, 0, 530,
530, 0, 530, 530, 530, 530, 530, 530, 530, 530,
530, 530, 0, 0, 530, 530, 0, 0, 530, 530,
0, 530, 0, 531, 531, 531, 531, 531, 531, 531,
531, 531, 0, 531, 531, 531, 0, 531, 531, 531,
531, 531, 531, 531, 531, 0, 531, 0, 0, 0,
531, 531, 531, 531, 531, 531, 531, 531, 531, 531,
531, 531, 531, 531, 531, 0, 0, 0, 531, 531,
0, 531, 531, 531, 531, 531, 531, 531, 531, 531,
531, 0, 0, 531, 0, 0, 531, 531, 531, 0,
531, 531, 531, 531, 531, 531, 531, 531, 531, 531,
531, 531, 531, 531, 531, 0, 0, 531, 531, 531,
531, 0, 0, 531, 531, 0, 531, 531, 0, 531,
531, 531, 531, 531, 531, 531, 531, 531, 531, 278,
0, 531, 531, 0, 0, 531, 531, 0, 531, 278,
0, 0, 0, 0, 0, 148, 0, 148, 148, 148,
148, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 531, 0, 0, 0, 278, 278, 0, 531,
278, 278, 278, 92, 278, 278, 278, 0, 0, 0,
0, 0, 0, 465, 0, 0, 0, 148, 278, 278,
100, 278, 278, 148, 148, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 148, 0, 0, 148,
148, 0, 0, 0, 0, 0, 0, 0, 0, 0,
278, 0, 0, 278, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 278, 0, 0, 0,
0, 0, 0, 278, 278, 531, 278, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 531,
0, 0, 0, 278, 278, 0, 531, 278, 278, 278,
278, 278, 278, 278, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 278, 278, 100, 278, 278,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 108, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 278, 0, 0,
278, 0, 0, 0, 0, 0, 109, 0, 0, 0,
0, 0, 0, 0, 108, 0, 108, 0, 108, 0,
0, 0, 454, 0, 0, 0, 0, 0, 0, 0,
278, 278, 531, 0, 109, 108, 109, 0, 109, 0,
0, 0, 458, 0, 0, 0, 531, 531, 531, 531,
531, 531, 531, 531, 531, 109, 278, 278, 278, 0,
278, 278, 531, 278, 531, 531, 531, 531, 0, 0,
0, 0, 0, 531, 531, 531, 531, 531, 531, 531,
278, 278, 531, 278, 278, 278, 278, 278, 0, 0,
0, 531, 531, 0, 531, 531, 531, 531, 531, 531,
531, 531, 531, 531, 0, 0, 531, 0, 0, 531,
531, 531, 0, 531, 531, 278, 278, 278, 278, 278,
278, 278, 278, 278, 278, 278, 278, 278, 0, 0,
278, 278, 278, 531, 0, 0, 531, 531, 0, 531,
531, 0, 531, 531, 531, 278, 531, 531, 531, 531,
531, 531, 0, 0, 531, 278, 0, 0, 278, 278,
0, 531, 0, 531, 531, 531, 531, 531, 531, 531,
531, 531, 0, 278, 278, 278, 0, 278, 278, 531,
278, 531, 531, 531, 531, 0, 0, 0, 0, 0,
531, 531, 531, 531, 531, 531, 531, 278, 278, 531,
278, 278, 278, 278, 278, 0, 0, 0, 531, 531,
0, 531, 531, 531, 531, 531, 531, 531, 531, 531,
531, 0, 0, 531, 0, 0, 531, 531, 531, 0,
531, 531, 278, 278, 278, 278, 278, 278, 278, 278,
278, 278, 278, 278, 278, 0, 0, 278, 278, 278,
531, 0, 0, 531, 531, 0, 531, 531, 0, 531,
531, 531, 278, 531, 531, 531, 531, 531, 531, 558,
0, 531, 278, 0, 0, 278, 278, 0, 531, 558,
0, 108, 0, 108, 108, 108, 108, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 109, 248, 109, 109, 109, 109, 0, 0, 0,
558, 0, 0, 0, 0, 558, 0, 0, 0, 454,
0, 0, 0, 108, 0, 0, 0, 0, 558, 108,
108, 0, 0, 0, 0, 0, 0, 0, 0, 458,
0, 0, 108, 109, 0, 108, 108, 0, 0, 109,
109, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 109, 0, 0, 109, 109, 0, 0, 0,
0, 0, 0, 0, 0, 391, 0, 0, 0, 0,
0, 0, 0, 0, 0, 391, 0, 0, 0, 0,
0, 0, 558, 0, 558, 248, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 391, 391, 0, 0, 391, 391, 391, 391,
391, 391, 391, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 391, 391, 391, 96, 391, 391, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 391, 0, 391, 391,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 391, 391,
391, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 248, 248, 248, 248,
248, 248, 248, 248, 248, 0, 558, 558, 558, 558,
558, 558, 248, 558, 248, 248, 248, 248, 0, 558,
558, 0, 0, 248, 248, 248, 248, 248, 248, 248,
558, 558, 248, 558, 558, 558, 558, 558, 0, 0,
0, 248, 248, 0, 248, 248, 248, 248, 248, 248,
248, 248, 248, 248, 0, 0, 248, 0, 0, 248,
248, 248, 0, 248, 248, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 558, 248, 0, 0, 248, 248, 0, 248,
248, 0, 248, 248, 248, 558, 248, 248, 248, 248,
248, 248, 0, 0, 248, 558, 0, 0, 558, 558,
0, 248, 391, 391, 391, 391, 391, 391, 0, 391,
0, 0, 0, 0, 0, 391, 391, 391, 391, 785,
0, 0, 791, 0, 0, 0, 391, 391, 0, 391,
391, 391, 391, 391, 796, 362, 357, 0, 0, 0,
360, 358, 0, 359, 0, 361, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 354, 0,
353, 391, 391, 391, 391, 391, 391, 391, 391, 391,
391, 391, 391, 391, 390, 0, 391, 391, 391, 0,
0, 391, 0, 0, 390, 0, 0, 391, 0, 0,
0, 391, 356, 0, 0, 0, 0, 0, 0, 391,
0, 391, 0, 0, 391, 391, 0, 0, 0, 0,
0, 390, 390, 0, 0, 390, 390, 390, 390, 390,
390, 390, 355, 0, 0, 0, 0, 0, 0, 0,
0, 0, 390, 390, 390, 0, 390, 390, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 390, 0, 390, 390, 0,
0, 0, 0, 0, 0, 0, 0, 0, 460, 0,
0, 0, 0, 0, 0, 0, 0, 0, 460, 0,
0, 0, 0, 0, 917, 0, 919, 390, 390, 390,
920, 0, 0, 0, 0, 0, 924, 0, 0, 0,
0, 0, 929, 0, 0, 460, 460, 0, 0, 460,
460, 460, 460, 460, 460, 460, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 460, 460, 460, 95,
460, 460, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 460,
0, 460, 460, 0, 0, 0, 0, 0, 0, 0,
972, 0, 0, 0, 0, 973, 0, 974, 0, 976,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 460, 460, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 984, 0, 0, 0, 0, 0,
0, 0, 0, 0, 337, 338, 339, 340, 341, 342,
343, 344, 345, 346, 347, 0, 0, 0, 0, 350,
351, 390, 390, 390, 390, 390, 390, 0, 390, 0,
0, 0, 0, 0, 390, 390, 390, 390, 0, 0,
0, 0, 0, 0, 0, 390, 390, 0, 390, 390,
390, 390, 390, 0, 0, 0, 0, 0, 260, 0,
0, 0, 0, 0, 0, 0, 0, 0, 260, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
390, 390, 390, 390, 390, 390, 390, 390, 390, 390,
390, 390, 390, 0, 0, 390, 390, 390, 0, 260,
390, 0, 258, 0, 31, 0, 390, 0, 0, 0,
390, 0, 0, 0, 31, 0, 0, 260, 390, 0,
390, 0, 0, 390, 390, 460, 460, 460, 460, 460,
460, 0, 460, 0, 0, 0, 0, 0, 0, 460,
460, 460, 0, 0, 0, 31, 0, 0, 0, 460,
460, 0, 460, 460, 460, 460, 460, 0, 0, 0,
0, 0, 0, 31, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 260, 460, 460, 460, 460, 460, 460,
460, 460, 460, 460, 460, 460, 460, 558, 0, 460,
460, 460, 0, 459, 460, 0, 0, 558, 0, 0,
460, 0, 0, 0, 460, 0, 0, 0, 0, 0,
0, 0, 460, 0, 460, 0, 0, 460, 460, 31,
0, 0, 0, 0, 558, 558, 0, 0, 558, 558,
558, 558, 558, 558, 558, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 558, 558, 558, 0, 558,
558, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 558, 0,
558, 558, 0, 0, 0, 0, 0, 0, 0, 0,
0, 268, 0, 0, 0, 0, 0, 0, 0, 0,
0, 268, 0, 0, 0, 0, 0, 0, 0, 0,
558, 558, 558, 0, 0, 260, 260, 260, 260, 260,
260, 0, 260, 0, 0, 0, 0, 0, 268, 268,
0, 0, 268, 268, 268, 268, 268, 268, 268, 0,
0, 0, 260, 260, 260, 260, 260, 0, 0, 268,
268, 268, 102, 268, 268, 0, 0, 0, 0, 0,
0, 31, 31, 31, 0, 31, 31, 0, 31, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 268, 0, 268, 268, 0, 0, 31, 31,
31, 31, 31, 0, 260, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 260, 268, 268, 260, 260, 0,
0, 0, 0, 362, 357, 0, 0, 0, 360, 358,
0, 359, 0, 361, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 354, 0, 353, 0,
0, 0, 0, 0, 558, 558, 558, 558, 558, 558,
31, 558, 0, 31, 31, 0, 0, 558, 558, 558,
558, 0, 0, 0, 0, 0, 0, 0, 558, 558,
356, 558, 558, 558, 558, 558, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
355, 0, 0, 558, 558, 558, 558, 558, 558, 558,
558, 558, 558, 558, 558, 558, 0, 0, 558, 558,
558, 0, 0, 558, 0, 0, 0, 0, 0, 558,
50, 0, 0, 558, 0, 0, 0, 0, 0, 0,
50, 558, 0, 558, 0, 0, 558, 558, 268, 268,
268, 268, 268, 268, 0, 268, 0, 0, 0, 0,
0, 0, 268, 268, 268, 0, 0, 0, 0, 0,
0, 50, 268, 268, 0, 268, 268, 268, 268, 268,
0, 0, 0, 0, 0, 0, 0, 0, 0, 50,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 268, 268, 268,
268, 268, 268, 268, 268, 268, 268, 268, 268, 268,
279, 0, 268, 268, 268, 0, 0, 268, 0, 0,
279, 0, 0, 268, 0, 0, 0, 268, 0, 0,
0, 0, 0, 0, 0, 268, 0, 268, 0, 0,
268, 268, 0, 0, 0, 50, 0, 279, 279, 0,
0, 279, 279, 279, 279, 279, 279, 279, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 279, 279,
279, 101, 279, 279, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 337, 0, 0, 0, 0, 342, 343, 0,
0, 279, 0, 279, 279, 0, 0, 350, 351, 0,
0, 0, 0, 0, 228, 0, 0, 0, 0, 0,
0, 0, 0, 0, 228, 0, 0, 0, 0, 0,
0, 0, 0, 0, 279, 279, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 228, 228, 0, 0, 228, 228, 228, 228, 228,
322, 228, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 228, 228, 228, 0, 228, 228, 0, 0,
0, 0, 0, 0, 0, 0, 0, 50, 50, 50,
50, 50, 50, 0, 50, 0, 0, 0, 0, 0,
0, 50, 0, 0, 0, 322, 0, 228, 228, 0,
0, 50, 50, 0, 50, 50, 50, 50, 50, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 228, 228,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 279, 279, 279,
279, 279, 279, 0, 279, 0, 50, 0, 0, 50,
50, 279, 279, 279, 0, 0, 0, 0, 0, 0,
0, 279, 279, 0, 279, 279, 279, 279, 279, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 279, 279, 279, 279,
279, 279, 279, 279, 279, 279, 279, 279, 279, 0,
0, 279, 279, 279, 0, 0, 279, 0, 0, 0,
0, 0, 279, 52, 0, 0, 279, 0, 0, 0,
0, 0, 0, 52, 279, 0, 279, 0, 0, 279,
279, 228, 228, 228, 228, 228, 228, 0, 228, 0,
0, 0, 0, 0, 0, 228, 228, 228, 0, 0,
0, 0, 0, 0, 52, 228, 228, 0, 228, 228,
228, 228, 228, 0, 0, 0, 0, 0, 0, 0,
0, 0, 52, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
228, 228, 228, 228, 228, 228, 228, 228, 228, 228,
228, 228, 228, 287, 0, 228, 228, 322, 0, 0,
228, 0, 0, 287, 0, 0, 228, 0, 0, 0,
322, 0, 0, 0, 0, 0, 0, 0, 228, 0,
228, 0, 0, 228, 228, 0, 0, 0, 52, 0,
287, 287, 0, 0, 287, 287, 287, 287, 287, 287,
287, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 287, 287, 287, 0, 287, 287, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 287, 0, 287, 287, 0, 0,
0, 0, 0, 0, 0, 0, 0, 558, 0, 0,
0, 0, 0, 0, 0, 0, 0, 558, 0, 0,
0, 0, 0, 0, 0, 0, 0, 287, 287, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 558, 558, 0, 0, 558, 558,
558, 558, 558, 558, 558, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 558, 558, 558, 0, 558,
558, 0, 0, 0, 0, 0, 0, 0, 0, 0,
52, 52, 52, 52, 52, 52, 0, 52, 0, 0,
0, 0, 0, 0, 52, 0, 0, 0, 558, 0,
558, 558, 0, 0, 52, 52, 0, 52, 52, 52,
52, 52, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 558, 558, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
287, 287, 287, 287, 287, 287, 0, 287, 0, 52,
0, 0, 52, 52, 287, 287, 287, 0, 0, 0,
0, 0, 0, 0, 287, 287, 0, 287, 287, 287,
287, 287, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 287,
287, 287, 287, 287, 287, 287, 287, 287, 287, 287,
287, 287, 0, 0, 287, 287, 287, 0, 0, 287,
0, 0, 0, 0, 0, 287, 53, 0, 0, 287,
0, 0, 0, 0, 0, 0, 53, 287, 0, 287,
0, 0, 287, 287, 558, 558, 558, 558, 558, 558,
0, 558, 0, 0, 0, 0, 0, 0, 558, 558,
558, 0, 0, 0, 0, 0, 0, 53, 558, 558,
0, 558, 558, 558, 558, 558, 0, 0, 0, 0,
0, 0, 0, 0, 0, 53, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 558, 558, 558, 558, 558, 558, 558,
558, 558, 558, 558, 558, 558, 452, 0, 558, 558,
558, 0, 0, 558, 0, 0, 452, 0, 0, 558,
0, 0, 0, 558, 0, 0, 0, 0, 0, 0,
0, 558, 0, 558, 0, 0, 558, 558, 0, 0,
0, 53, 0, 452, 452, 0, 0, 452, 452, 452,
452, 452, 452, 452, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 452, 452, 452, 0, 452, 452,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 452, 0, 452,
452, 0, 0, 0, 0, 0, 0, 0, 0, 0,
453, 0, 0, 0, 0, 0, 0, 0, 0, 0,
453, 0, 0, 0, 0, 0, 0, 0, 0, 0,
452, 452, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 453, 453, 0,
0, 453, 453, 453, 453, 453, 453, 453, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 453, 453,
453, 0, 453, 453, 0, 0, 0, 0, 0, 0,
0, 0, 0, 53, 53, 53, 53, 53, 53, 0,
53, 0, 0, 0, 0, 0, 0, 53, 0, 0,
0, 453, 0, 453, 453, 0, 0, 53, 53, 0,
53, 53, 53, 53, 53, 234, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 453, 453, 0, 0, 0, 0,
0, 0, 362, 357, 0, 0, 0, 360, 358, 0,
359, 0, 361, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 354, 0, 353, 352, 0,
0, 0, 0, 452, 452, 452, 452, 452, 452, 0,
452, 0, 53, 0, 0, 53, 53, 452, 452, 452,
0, 0, 0, 0, 0, 0, 0, 452, 452, 356,
452, 452, 452, 452, 452, 0, 0, 362, 357, 0,
0, 0, 360, 358, 0, 359, 0, 361, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 355,
354, 0, 353, 452, 452, 452, 452, 452, 452, 452,
452, 452, 452, 452, 452, 0, 0, 452, 452, 452,
0, 0, 452, 0, 0, 0, 0, 0, 452, 0,
0, 0, 452, 0, 356, 0, 0, 0, 0, 0,
452, 0, 452, 0, 0, 452, 452, 453, 453, 453,
453, 453, 453, 0, 453, 0, 0, 0, 0, 0,
0, 453, 453, 453, 355, 0, 0, 0, 0, 0,
0, 453, 453, 0, 453, 453, 453, 453, 453, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 318, 0, 0, 0,
0, 0, 0, 0, 0, 0, 318, 453, 453, 453,
453, 453, 453, 453, 453, 453, 453, 453, 453, 0,
0, 453, 453, 453, 0, 0, 453, 0, 0, 0,
0, 0, 453, 318, 318, 0, 453, 318, 318, 318,
318, 318, 318, 318, 453, 0, 453, 0, 0, 453,
453, 0, 0, 0, 0, 318, 318, 0, 318, 318,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 319, 318, 0, 318,
318, 0, 0, 0, 0, 0, 319, 0, 0, 0,
0, 337, 338, 339, 340, 341, 342, 343, 344, 345,
346, 347, 348, 349, 0, 0, 350, 351, 0, 0,
318, 318, 0, 319, 319, 0, 0, 319, 319, 319,
319, 319, 319, 319, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 319, 319, 0, 319, 319,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 337, 338, 339, 340,
341, 342, 343, 344, 0, 346, 347, 319, 0, 319,
319, 350, 351, 0, 0, 0, 0, 0, 0, 0,
282, 0, 0, 0, 0, 0, 0, 0, 0, 0,
282, 0, 0, 0, 0, 0, 0, 0, 0, 0,
319, 319, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 282, 282, 0,
0, 282, 282, 282, 282, 282, 282, 282, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 282,
282, 0, 282, 282, 0, 0, 0, 0, 0, 0,
0, 0, 0, 318, 318, 318, 318, 318, 318, 0,
318, 0, 0, 0, 0, 0, 0, 318, 318, 0,
0, 282, 0, 282, 282, 0, 0, 318, 318, 0,
318, 318, 318, 318, 318, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 282, 282, 0, 0, 0, 0,
0, 0, 318, 318, 318, 318, 318, 318, 318, 318,
318, 318, 318, 318, 318, 0, 0, 318, 318, 318,
0, 0, 318, 0, 0, 0, 0, 0, 318, 0,
0, 0, 318, 319, 319, 319, 319, 319, 319, 0,
319, 0, 318, 0, 0, 318, 318, 319, 319, 0,
0, 0, 0, 0, 0, 0, 0, 319, 319, 0,
319, 319, 319, 319, 319, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 319, 319, 319, 319, 319, 319, 319, 319,
319, 319, 319, 319, 319, 0, 0, 319, 319, 319,
0, 0, 319, 0, 0, 0, 0, 0, 319, 0,
0, 0, 319, 0, 0, 0, 0, 0, 0, 0,
0, 0, 319, 0, 0, 319, 319, 282, 282, 282,
282, 282, 282, 0, 282, 0, 0, 0, 0, 0,
0, 282, 282, 0, 0, 0, 0, 0, 0, 0,
0, 282, 282, 0, 282, 282, 282, 282, 282, 0,
362, 357, 0, 0, 0, 360, 358, 0, 359, 0,
361, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 354, 0, 353, 282, 282, 282, 282,
282, 282, 282, 282, 282, 282, 282, 282, 282, 207,
0, 282, 282, 282, 0, 0, 282, 0, 0, 207,
0, 0, 282, 0, 0, 0, 282, 356, 0, 0,
0, 0, 0, 0, 0, 0, 282, 0, 0, 282,
282, 0, 0, 0, 0, 0, 207, 207, 0, 0,
207, 207, 207, 207, 207, 0, 207, 355, 0, 0,
0, 0, 0, 0, 0, 0, 0, 207, 207, 207,
0, 207, 207, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
203, 0, 207, 207, 0, 0, 0, 0, 0, 0,
203, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 207, 207, 0, 0, 203, 203, 0,
0, 203, 203, 203, 203, 203, 0, 203, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 203, 203,
203, 0, 203, 203, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 200, 0, 203, 203, 0, 0, 0, 0, 0,
0, 200, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 203, 203, 0, 0, 200, 200,
0, 0, 200, 200, 200, 200, 200, 0, 200, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 200,
200, 200, 0, 200, 200, 0, 0, 0, 0, 337,
338, 339, 340, 341, 342, 343, 0, 0, 346, 347,
0, 0, 0, 0, 350, 351, 207, 207, 207, 207,
207, 207, 0, 207, 200, 200, 0, 0, 0, 0,
207, 207, 207, 0, 0, 0, 0, 0, 0, 0,
207, 207, 0, 207, 207, 207, 207, 207, 0, 0,
0, 0, 0, 0, 0, 200, 200, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 207, 207, 207, 207,
207, 207, 207, 207, 207, 207, 207, 207, 0, 0,
207, 207, 19, 0, 0, 207, 0, 0, 0, 0,
0, 207, 19, 0, 0, 0, 0, 203, 203, 203,
203, 203, 203, 207, 203, 207, 0, 0, 207, 207,
0, 203, 203, 203, 0, 0, 0, 0, 0, 0,
0, 203, 203, 19, 203, 203, 203, 203, 203, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 19, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 203, 203, 203,
203, 203, 203, 203, 203, 203, 203, 203, 203, 0,
0, 203, 203, 40, 0, 0, 203, 0, 0, 0,
0, 0, 203, 40, 0, 0, 0, 0, 200, 200,
200, 200, 200, 200, 203, 200, 203, 0, 0, 203,
203, 0, 200, 200, 200, 0, 0, 19, 0, 0,
0, 0, 200, 200, 40, 200, 200, 200, 200, 200,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 40, 0, 201, 0, 0, 0, 0, 0,
0, 0, 0, 0, 201, 0, 0, 0, 200, 200,
200, 200, 200, 200, 200, 200, 200, 200, 200, 200,
0, 0, 200, 200, 0, 0, 0, 200, 0, 0,
0, 201, 201, 200, 0, 201, 201, 201, 201, 201,
0, 201, 0, 0, 0, 200, 0, 200, 0, 0,
200, 200, 201, 201, 201, 0, 201, 201, 40, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 202, 0, 201, 201, 0,
0, 0, 0, 0, 0, 202, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 19,
19, 19, 0, 19, 19, 0, 19, 0, 201, 201,
0, 0, 202, 202, 0, 0, 202, 202, 202, 202,
202, 0, 202, 0, 0, 0, 19, 19, 19, 19,
19, 0, 0, 202, 202, 202, 0, 202, 202, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 204, 0, 202, 202,
0, 0, 0, 0, 0, 0, 204, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
40, 40, 40, 0, 40, 40, 0, 40, 19, 202,
202, 19, 19, 204, 204, 0, 0, 204, 204, 204,
204, 204, 0, 204, 0, 0, 0, 40, 40, 40,
40, 0, 0, 0, 204, 204, 204, 0, 204, 204,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 201, 201, 201, 201, 201, 201, 0, 201, 204,
204, 0, 0, 0, 0, 201, 201, 201, 0, 0,
0, 0, 0, 0, 0, 201, 201, 0, 201, 201,
201, 201, 201, 0, 0, 0, 0, 0, 0, 40,
204, 204, 40, 40, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 201, 201, 201, 201, 201, 201, 201, 201, 201,
201, 201, 201, 0, 0, 201, 201, 0, 0, 0,
201, 0, 0, 0, 0, 0, 201, 0, 0, 0,
0, 0, 202, 202, 202, 202, 202, 202, 201, 202,
201, 0, 0, 201, 201, 0, 202, 202, 202, 0,
0, 0, 0, 0, 0, 0, 202, 202, 0, 202,
202, 202, 202, 202, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 202, 202, 202, 202, 202, 202, 202, 202,
202, 202, 202, 202, 0, 0, 202, 202, 0, 0,
0, 202, 0, 0, 0, 0, 0, 202, 0, 0,
0, 0, 0, 204, 204, 204, 204, 204, 204, 202,
204, 202, 0, 0, 202, 202, 0, 204, 204, 204,
0, 0, 0, 0, 0, 0, 0, 204, 204, 0,
204, 204, 204, 204, 204, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 205,
0, 0, 0, 0, 0, 0, 0, 0, 0, 205,
0, 0, 0, 204, 204, 204, 204, 204, 204, 204,
204, 204, 204, 204, 204, 0, 0, 204, 204, 0,
0, 0, 204, 0, 0, 0, 205, 205, 204, 0,
205, 205, 205, 205, 205, 0, 205, 0, 0, 0,
204, 0, 204, 0, 0, 204, 204, 205, 205, 205,
0, 205, 205, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
391, 0, 205, 205, 0, 0, 0, 0, 0, 0,
391, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 205, 205, 0, 0, 391, 391, 0,
0, 391, 391, 391, 88, 391, 391, 391, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 391,
391, 96, 391, 391, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 391, 0, 391, 391, 0, 0, 0, 0, 0,
0, 0, 0, 391, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 391, 391, 391, 0, 0, 0, 0,
391, 391, 0, 0, 391, 391, 391, 391, 391, 391,
391, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 391, 391, 96, 391, 391, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 205, 205, 205, 205,
205, 205, 0, 205, 391, 0, 0, 391, 0, 0,
205, 205, 205, 0, 0, 0, 0, 0, 0, 0,
205, 205, 0, 205, 205, 205, 205, 205, 0, 0,
0, 0, 0, 0, 0, 0, 391, 391, 391, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 205, 205, 205, 205,
205, 205, 205, 205, 205, 205, 205, 205, 0, 0,
205, 205, 0, 0, 0, 205, 0, 0, 0, 0,
0, 205, 0, 0, 0, 0, 0, 391, 391, 391,
0, 391, 391, 205, 391, 205, 0, 0, 205, 205,
391, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 391, 391, 0, 391, 391, 391, 391, 391, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 391, 391, 391, 391,
391, 391, 391, 391, 391, 391, 391, 391, 391, 0,
0, 391, 391, 391, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 391, 0, 0, 0,
391, 391, 391, 0, 391, 391, 391, 391, 0, 391,
391, 0, 0, 391, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 391, 391, 0, 391, 391, 391,
391, 391, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 391,
391, 391, 391, 391, 391, 391, 391, 391, 391, 391,
391, 391, 460, 0, 391, 391, 391, 0, 0, 0,
0, 0, 460, 0, 0, 0, 0, 0, 0, 391,
0, 0, 0, 0, 0, 0, 0, 0, 0, 391,
0, 0, 391, 391, 0, 0, 0, 0, 0, 460,
460, 0, 0, 460, 460, 460, 87, 460, 460, 460,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 460, 460, 95, 460, 460, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 268, 460, 0, 0, 460, 0, 0, 0,
0, 0, 268, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 460, 460, 0, 268,
268, 0, 0, 268, 268, 268, 94, 268, 268, 268,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 268, 268, 102, 268, 268, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 268, 0, 0, 268, 0, 0, 0,
0, 0, 0, 0, 0, 0, 279, 0, 0, 0,
0, 0, 0, 0, 0, 0, 279, 0, 0, 0,
0, 0, 0, 0, 0, 0, 268, 268, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 279, 279, 0, 0, 279, 279, 279,
93, 279, 279, 279, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 279, 279, 101, 279, 279,
0, 0, 0, 0, 0, 0, 0, 0, 0, 460,
460, 460, 0, 460, 460, 0, 460, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 279, 0, 0,
279, 0, 0, 460, 460, 0, 460, 460, 460, 460,
460, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
279, 279, 0, 0, 0, 0, 0, 0, 460, 460,
460, 460, 460, 460, 460, 460, 460, 460, 460, 460,
460, 0, 0, 460, 460, 460, 0, 459, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 460, 268,
268, 268, 0, 268, 268, 0, 268, 0, 460, 0,
0, 460, 460, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 268, 268, 0, 268, 268, 268, 268,
268, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 268, 268,
268, 268, 268, 268, 268, 268, 268, 268, 268, 268,
268, 0, 0, 268, 268, 268, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 268, 0,
0, 0, 0, 0, 0, 0, 0, 0, 268, 0,
0, 268, 268, 279, 279, 279, 0, 279, 279, 0,
279, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 279, 279, 0,
279, 279, 279, 279, 279, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
198, 0, 0, 0, 0, 0, 0, 0, 0, 0,
198, 0, 279, 279, 279, 279, 279, 279, 279, 279,
279, 279, 279, 279, 279, 0, 0, 279, 279, 279,
0, 0, 0, 0, 0, 0, 0, 0, 198, 0,
0, 198, 279, 198, 198, 198, 0, 0, 0, 0,
0, 0, 279, 0, 0, 279, 279, 0, 198, 198,
198, 0, 198, 198, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 199, 0, 198, 198, 0, 0, 0, 0, 0,
0, 199, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 198, 198, 0, 0, 0, 199,
0, 0, 199, 0, 199, 199, 199, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 199,
199, 199, 0, 199, 199, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 268, 0, 199, 199, 0, 0, 0, 0,
0, 0, 268, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 199, 199, 0, 0, 268,
268, 0, 0, 268, 268, 268, 268, 268, 268, 268,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 268, 268, 102, 268, 268, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 198, 198, 198,
198, 198, 198, 268, 198, 0, 268, 0, 0, 0,
0, 198, 198, 198, 0, 0, 0, 0, 0, 0,
0, 198, 198, 0, 198, 198, 198, 198, 198, 0,
0, 0, 0, 0, 0, 0, 268, 268, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 198, 198, 198,
198, 198, 198, 198, 198, 198, 198, 198, 198, 0,
0, 198, 198, 0, 0, 0, 198, 0, 0, 0,
0, 0, 198, 0, 0, 0, 0, 0, 199, 199,
199, 199, 199, 199, 198, 199, 198, 0, 0, 198,
198, 0, 199, 199, 199, 0, 0, 0, 0, 0,
0, 0, 199, 199, 0, 199, 199, 199, 199, 199,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 223, 0, 0, 0, 0, 0,
0, 0, 0, 0, 223, 0, 0, 0, 199, 199,
199, 199, 199, 199, 199, 199, 199, 199, 199, 199,
0, 0, 199, 199, 0, 0, 0, 199, 0, 0,
0, 0, 223, 199, 0, 223, 0, 0, 223, 268,
268, 268, 0, 268, 268, 199, 268, 199, 0, 0,
199, 199, 223, 223, 223, 0, 223, 223, 0, 0,
0, 0, 0, 268, 268, 0, 268, 268, 268, 268,
268, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 224, 0, 223, 223, 0,
0, 0, 0, 0, 0, 224, 0, 0, 268, 268,
268, 268, 268, 268, 268, 268, 268, 268, 268, 268,
268, 0, 0, 268, 268, 268, 0, 0, 223, 223,
0, 0, 0, 224, 0, 0, 224, 0, 268, 224,
0, 0, 0, 0, 0, 0, 0, 0, 268, 0,
0, 268, 268, 224, 224, 224, 0, 224, 224, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 210, 0, 224, 224,
0, 0, 0, 0, 0, 0, 210, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 224,
224, 0, 0, 0, 210, 0, 0, 210, 0, 0,
210, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 210, 210, 210, 0, 210, 210,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 223, 223, 223, 223, 223, 223, 0, 223, 210,
210, 0, 0, 0, 0, 223, 223, 223, 0, 0,
0, 0, 0, 0, 0, 223, 223, 0, 223, 223,
223, 223, 223, 0, 0, 0, 0, 0, 0, 0,
210, 210, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 223, 223, 223, 223, 223, 223, 223, 223, 223,
223, 223, 223, 0, 0, 223, 223, 0, 0, 0,
223, 0, 0, 0, 0, 0, 223, 0, 0, 0,
0, 0, 224, 224, 224, 224, 224, 224, 223, 224,
223, 0, 0, 223, 223, 0, 224, 224, 224, 0,
0, 0, 0, 0, 0, 0, 224, 224, 0, 224,
224, 224, 224, 224, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 224, 224, 224, 224, 224, 224, 224, 224,
224, 224, 224, 224, 0, 208, 224, 224, 0, 0,
0, 224, 0, 0, 0, 208, 0, 224, 0, 0,
0, 0, 0, 210, 210, 210, 210, 210, 210, 224,
210, 224, 0, 0, 224, 224, 0, 210, 210, 210,
0, 0, 0, 0, 0, 0, 208, 210, 210, 208,
210, 210, 210, 210, 210, 0, 0, 0, 0, 0,
0, 0, 0, 208, 208, 208, 0, 208, 208, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 210, 210, 210, 210, 210, 210, 210,
210, 210, 210, 210, 210, 0, 209, 0, 208, 208,
0, 0, 210, 0, 0, 0, 209, 0, 210, 362,
357, 0, 0, 0, 360, 358, 0, 359, 0, 361,
210, 0, 210, 0, 0, 210, 210, 0, 0, 208,
208, 0, 354, 0, 353, 352, 0, 209, 0, 0,
209, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 209, 209, 209, 0, 209, 209,
0, 0, 0, 0, 0, 0, 356, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 213, 0, 209,
209, 0, 0, 0, 0, 0, 355, 213, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
209, 209, 0, 0, 0, 0, 0, 0, 213, 0,
0, 213, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 213, 213, 213, 0, 213,
213, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 208, 208, 208, 208, 208, 208, 0, 208,
213, 0, 0, 0, 0, 0, 208, 208, 208, 0,
0, 0, 0, 0, 0, 0, 208, 208, 0, 208,
208, 208, 208, 208, 0, 0, 0, 0, 0, 0,
0, 0, 213, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 208, 208, 208, 208, 208, 208, 208, 208,
208, 208, 208, 208, 0, 0, 0, 0, 0, 0,
0, 208, 0, 0, 0, 0, 0, 208, 0, 0,
0, 0, 0, 209, 209, 209, 209, 209, 209, 208,
209, 208, 0, 0, 208, 208, 0, 209, 209, 209,
0, 0, 0, 0, 0, 0, 0, 209, 209, 0,
209, 209, 209, 209, 209, 0, 0, 0, 337, 338,
339, 340, 341, 342, 343, 344, 345, 346, 347, 348,
349, 0, 0, 350, 351, 0, 0, 0, 439, 0,
0, 0, 0, 209, 209, 209, 209, 209, 209, 209,
209, 209, 209, 209, 209, 0, 215, 0, 0, 0,
0, 0, 209, 0, 0, 0, 215, 0, 209, 0,
0, 0, 0, 0, 213, 213, 213, 213, 213, 213,
209, 213, 209, 0, 0, 209, 209, 0, 213, 213,
213, 0, 0, 0, 0, 0, 0, 215, 213, 213,
215, 213, 213, 213, 213, 213, 0, 0, 0, 0,
0, 0, 0, 0, 215, 215, 215, 0, 215, 215,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 213, 213, 213, 213, 213, 213,
213, 213, 213, 213, 213, 213, 0, 212, 0, 215,
0, 0, 0, 213, 0, 0, 0, 212, 0, 213,
362, 357, 0, 0, 0, 360, 358, 0, 359, 0,
361, 213, 0, 213, 0, 0, 213, 213, 0, 0,
0, 215, 0, 354, 0, 353, 352, 0, 212, 0,
0, 212, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 212, 212, 212, 0, 212,
212, 0, 0, 0, 0, 0, 0, 356, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 214, 0,
212, 0, 0, 0, 0, 0, 0, 355, 214, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 212, 0, 0, 0, 0, 0, 0, 214,
0, 0, 214, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 214, 214, 214, 0,
214, 214, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 215, 215, 215, 215, 215, 215, 0,
215, 214, 0, 0, 0, 0, 0, 215, 215, 215,
0, 0, 0, 0, 0, 0, 0, 215, 215, 0,
215, 215, 215, 215, 215, 0, 0, 0, 0, 0,
0, 0, 0, 214, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 215, 215, 215, 215, 215, 215, 215,
215, 215, 215, 215, 215, 0, 0, 0, 0, 0,
0, 0, 215, 0, 0, 0, 0, 0, 215, 0,
0, 0, 0, 0, 212, 212, 212, 212, 212, 212,
215, 212, 215, 0, 0, 215, 215, 0, 212, 212,
212, 0, 0, 0, 0, 0, 0, 0, 212, 212,
0, 212, 212, 212, 212, 212, 0, 0, 0, 337,
338, 339, 340, 341, 342, 343, 344, 345, 346, 347,
348, 349, 0, 0, 350, 351, 0, 0, 0, 0,
0, 0, 0, 0, 212, 212, 212, 212, 212, 212,
212, 212, 212, 212, 212, 212, 0, 211, 0, 0,
0, 0, 0, 212, 0, 0, 0, 211, 0, 212,
0, 0, 0, 0, 0, 214, 214, 214, 214, 214,
214, 212, 214, 212, 0, 0, 212, 212, 0, 214,
214, 214, 0, 0, 0, 0, 0, 0, 211, 214,
214, 211, 214, 214, 214, 214, 214, 0, 0, 0,
0, 0, 0, 0, 0, 211, 211, 0, 0, 0,
211, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 214, 214, 214, 214, 214,
214, 214, 214, 214, 214, 214, 214, 0, 216, 0,
211, 0, 0, 0, 214, 0, 0, 0, 216, 0,
214, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 214, 0, 214, 362, 357, 214, 214, 0,
360, 358, 211, 359, 0, 361, 0, 0, 0, 216,
0, 0, 216, 0, 0, 0, 0, 0, 354, 0,
353, 352, 0, 0, 0, 0, 216, 216, 0, 0,
0, 216, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 356, 0, 0, 0, 0, 0, 0, 217,
0, 216, 0, 0, 0, 0, 0, 0, 0, 217,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 355, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 216, 0, 0, 0, 0, 0, 0,
217, 0, 0, 217, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 217, 217, 0,
0, 0, 217, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 211, 211, 211, 211, 211, 211,
0, 211, 217, 0, 0, 0, 0, 0, 211, 211,
211, 0, 0, 0, 0, 0, 0, 0, 211, 211,
0, 211, 211, 211, 211, 211, 0, 0, 0, 0,
0, 0, 0, 0, 217, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
211, 211, 0, 0, 211, 211, 0, 0, 0, 0,
0, 0, 0, 211, 0, 0, 0, 0, 0, 211,
0, 0, 0, 0, 0, 216, 216, 216, 216, 216,
216, 211, 216, 211, 0, 0, 211, 211, 0, 216,
216, 216, 0, 0, 0, 0, 717, 0, 0, 216,
216, 0, 216, 216, 216, 216, 216, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 337, 338, 339, 340, 341, 342,
343, 344, 345, 346, 347, 348, 349, 0, 0, 350,
351, 216, 216, 0, 0, 216, 216, 0, 218, 0,
0, 0, 0, 0, 216, 0, 0, 0, 218, 0,
216, 0, 0, 0, 0, 0, 217, 217, 217, 217,
217, 217, 216, 217, 216, 0, 0, 216, 216, 0,
217, 217, 217, 0, 0, 0, 0, 0, 0, 218,
217, 217, 218, 217, 217, 217, 217, 217, 0, 0,
0, 0, 0, 0, 0, 0, 218, 218, 0, 0,
0, 218, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 217, 217, 0, 0, 217, 217, 0, 225,
0, 218, 0, 0, 0, 217, 0, 0, 0, 225,
0, 217, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 217, 0, 217, 0, 0, 217, 217,
0, 0, 0, 218, 0, 0, 0, 0, 0, 0,
225, 0, 0, 225, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 225, 225, 0,
0, 0, 225, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
219, 0, 225, 0, 0, 0, 0, 0, 0, 0,
219, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 225, 0, 0, 0, 0, 0,
0, 219, 0, 0, 219, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 219, 219,
0, 0, 0, 219, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 218, 218, 218, 218, 218,
218, 0, 218, 219, 0, 0, 0, 0, 0, 218,
218, 218, 0, 0, 0, 0, 0, 0, 0, 218,
218, 0, 218, 218, 218, 218, 218, 0, 0, 0,
0, 0, 0, 0, 0, 219, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 218, 218, 0, 0, 218, 218, 0, 0, 0,
0, 0, 0, 0, 218, 0, 0, 0, 0, 0,
218, 0, 0, 0, 0, 0, 225, 225, 225, 225,
225, 225, 218, 225, 218, 0, 380, 218, 218, 0,
225, 225, 225, 0, 0, 0, 380, 0, 0, 0,
225, 225, 0, 225, 225, 225, 225, 225, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 380, 0, 0,
0, 0, 380, 0, 0, 0, 0, 0, 0, 0,
0, 0, 225, 225, 0, 380, 225, 225, 0, 220,
0, 0, 0, 0, 0, 225, 0, 0, 0, 220,
0, 225, 0, 0, 0, 0, 0, 219, 219, 219,
219, 219, 219, 225, 219, 225, 0, 0, 225, 225,
0, 219, 219, 219, 0, 0, 0, 0, 0, 0,
220, 219, 219, 220, 219, 219, 219, 219, 219, 0,
0, 0, 0, 0, 0, 0, 0, 220, 220, 0,
0, 380, 220, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 219, 219, 0, 0, 219, 219, 0,
226, 0, 220, 0, 0, 0, 219, 0, 0, 0,
226, 0, 219, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 219, 0, 219, 0, 0, 219,
219, 0, 0, 197, 220, 0, 0, 0, 0, 0,
0, 226, 0, 197, 226, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 226, 226,
0, 0, 0, 226, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 197, 0, 0, 197, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 197, 197, 226, 0, 0, 197, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 380, 380, 380, 380, 380, 380, 0,
380, 0, 0, 0, 0, 226, 197, 380, 0, 0,
0, 0, 0, 0, 0, 0, 0, 380, 380, 0,
380, 380, 380, 380, 380, 0, 0, 0, 0, 0,
0, 0, 227, 0, 0, 0, 0, 0, 197, 0,
0, 0, 227, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 220, 220, 220, 220,
220, 220, 0, 220, 0, 0, 0, 0, 0, 380,
220, 220, 220, 227, 0, 0, 227, 0, 0, 0,
220, 220, 380, 220, 220, 220, 220, 220, 0, 0,
227, 227, 380, 0, 0, 380, 380, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 220, 220, 0, 227, 220, 220, 0, 0,
0, 0, 0, 0, 0, 220, 0, 0, 0, 0,
0, 220, 0, 0, 0, 0, 0, 226, 226, 226,
226, 226, 226, 220, 226, 220, 0, 227, 220, 220,
0, 226, 226, 226, 0, 0, 0, 0, 0, 0,
0, 226, 226, 0, 226, 226, 226, 226, 226, 0,
197, 197, 197, 197, 197, 197, 0, 197, 0, 0,
0, 0, 0, 233, 197, 197, 197, 0, 0, 0,
0, 0, 0, 233, 197, 197, 0, 197, 197, 197,
197, 197, 0, 0, 226, 0, 0, 226, 226, 0,
0, 0, 0, 0, 0, 0, 226, 0, 524, 0,
0, 0, 226, 0, 233, 0, 0, 233, 524, 0,
0, 0, 0, 0, 226, 0, 226, 0, 0, 226,
226, 233, 233, 0, 0, 0, 0, 0, 0, 197,
0, 0, 0, 0, 0, 197, 0, 0, 0, 524,
0, 0, 524, 0, 0, 0, 0, 197, 0, 197,
0, 0, 197, 197, 0, 0, 233, 524, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 227,
227, 227, 227, 227, 227, 0, 227, 0, 0, 0,
0, 0, 0, 227, 227, 227, 0, 0, 233, 0,
0, 524, 0, 227, 227, 0, 227, 227, 227, 227,
227, 0, 256, 0, 0, 0, 0, 0, 0, 0,
0, 0, 256, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 524, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 256, 0, 0, 256, 0, 227, 525,
0, 0, 0, 0, 227, 0, 0, 0, 0, 525,
0, 256, 0, 0, 0, 0, 227, 0, 227, 0,
0, 227, 227, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
525, 0, 0, 525, 0, 256, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 525, 0,
0, 0, 522, 0, 0, 0, 0, 0, 0, 0,
0, 0, 522, 0, 0, 0, 0, 256, 0, 0,
233, 233, 233, 233, 233, 233, 0, 233, 0, 0,
0, 0, 525, 0, 233, 233, 233, 0, 0, 0,
0, 0, 0, 522, 233, 233, 522, 233, 233, 233,
233, 0, 0, 257, 0, 524, 524, 524, 524, 524,
524, 522, 524, 257, 525, 0, 0, 0, 0, 524,
524, 0, 0, 0, 0, 0, 0, 0, 0, 524,
524, 0, 524, 524, 524, 524, 524, 0, 0, 0,
0, 0, 526, 0, 257, 522, 0, 257, 0, 233,
0, 0, 526, 0, 0, 233, 0, 0, 0, 0,
0, 0, 257, 0, 0, 0, 0, 233, 0, 233,
0, 0, 233, 233, 0, 0, 0, 522, 0, 0,
0, 0, 0, 526, 0, 0, 526, 0, 0, 558,
524, 0, 0, 0, 0, 0, 257, 0, 0, 558,
0, 526, 0, 0, 524, 0, 0, 524, 524, 256,
256, 256, 256, 256, 256, 0, 256, 0, 0, 0,
0, 0, 0, 256, 256, 0, 0, 0, 257, 0,
558, 0, 258, 256, 256, 526, 256, 256, 256, 256,
256, 0, 258, 0, 0, 0, 0, 0, 558, 0,
0, 0, 0, 0, 0, 0, 525, 525, 525, 525,
525, 525, 0, 525, 0, 0, 0, 526, 0, 0,
525, 525, 0, 258, 0, 0, 258, 0, 0, 0,
525, 525, 558, 525, 525, 525, 525, 525, 0, 0,
0, 258, 0, 0, 256, 250, 0, 0, 0, 0,
0, 0, 0, 0, 0, 250, 0, 0, 256, 0,
0, 256, 256, 0, 558, 0, 0, 0, 0, 522,
522, 522, 522, 522, 522, 258, 522, 0, 0, 0,
0, 0, 0, 522, 522, 0, 250, 0, 0, 0,
0, 525, 0, 522, 522, 0, 522, 522, 522, 522,
522, 0, 0, 0, 250, 525, 0, 258, 525, 525,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
257, 257, 257, 257, 257, 257, 0, 257, 0, 0,
0, 0, 0, 0, 257, 257, 0, 0, 250, 0,
0, 0, 0, 0, 257, 257, 0, 257, 257, 257,
257, 257, 0, 0, 522, 0, 0, 0, 0, 526,
526, 526, 526, 526, 526, 0, 526, 0, 522, 0,
250, 522, 522, 526, 526, 0, 0, 0, 0, 0,
0, 0, 0, 526, 526, 0, 526, 526, 526, 526,
526, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 257, 558, 558, 558, 558,
558, 558, 0, 558, 0, 0, 0, 0, 0, 257,
558, 558, 257, 257, 0, 0, 0, 0, 56, 0,
558, 558, 0, 558, 558, 558, 558, 558, 56, 0,
0, 0, 0, 0, 526, 0, 0, 0, 0, 258,
258, 258, 258, 258, 258, 0, 258, 0, 526, 0,
0, 526, 526, 258, 258, 60, 0, 0, 0, 56,
0, 0, 0, 258, 258, 60, 258, 258, 258, 258,
258, 0, 0, 0, 0, 0, 0, 56, 0, 0,
0, 558, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 558, 60, 0, 558, 558,
0, 0, 250, 250, 250, 250, 250, 250, 0, 250,
0, 56, 0, 0, 60, 0, 250, 250, 0, 0,
0, 0, 0, 0, 258, 0, 250, 250, 0, 250,
250, 250, 250, 250, 0, 58, 0, 0, 258, 0,
0, 258, 258, 56, 0, 58, 0, 0, 60, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 58, 0, 0, 0,
60, 0, 0, 0, 0, 0, 0, 250, 103, 0,
0, 0, 0, 0, 58, 0, 0, 0, 0, 0,
0, 250, 0, 0, 250, 250, 0, 0, 0, 0,
0, 103, 0, 0, 0, 0, 0, 0, 527, 0,
0, 0, 0, 0, 454, 0, 0, 0, 58, 0,
0, 0, 0, 0, 0, 0, 0, 103, 103, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
58, 0, 0, 0, 0, 0, 0, 0, 0, 454,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 56, 56, 56, 56, 56,
56, 0, 56, 0, 0, 0, 0, 0, 0, 56,
56, 527, 0, 0, 103, 0, 0, 0, 0, 56,
56, 0, 56, 56, 56, 56, 56, 0, 0, 0,
0, 0, 60, 60, 60, 60, 60, 60, 0, 60,
0, 0, 0, 0, 0, 0, 60, 60, 0, 0,
0, 0, 0, 0, 0, 0, 60, 60, 0, 60,
60, 60, 60, 60, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 56, 0, 0, 56, 56, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 58, 58, 58, 58, 58, 58, 0, 58,
0, 0, 0, 0, 0, 0, 58, 58, 0, 0,
0, 60, 0, 0, 60, 60, 58, 58, 0, 58,
58, 58, 58, 58, 103, 103, 103, 103, 103, 103,
103, 103, 103, 103, 103, 103, 103, 103, 0, 0,
103, 103, 0, 103, 103, 103, 103, 0, 527, 0,
0, 0, 103, 103, 103, 103, 103, 103, 103, 0,
0, 103, 0, 0, 0, 0, 0, 103, 0, 103,
103, 103, 0, 103, 103, 103, 103, 103, 103, 0,
103, 103, 103, 0, 0, 103, 0, 0, 0, 103,
103, 58, 103, 103, 58, 58, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 104,
0, 454, 103, 0, 0, 103, 103, 0, 103, 103,
0, 103, 0, 103, 454, 103, 103, 103, 103, 103,
103, 0, 104, 103, 103, 0, 0, 103, 103, 528,
103, 0, 0, 0, 0, 458, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 104, 104,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
458, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 528, 0, 0, 104, 103, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 103,
0, 0, 0, 0, 0, 0, 530, 0, 0, 0,
0, 0, 534, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 103, 103, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 534, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 534,
0, 0, 103, 0, 0, 0, 0, 234, 0, 0,
0, 0, 0, 0, 0, 104, 104, 104, 104, 104,
104, 104, 104, 104, 104, 104, 104, 104, 104, 0,
61, 104, 104, 0, 104, 104, 104, 104, 0, 528,
0, 0, 0, 104, 104, 104, 104, 104, 104, 104,
0, 0, 104, 0, 0, 0, 233, 0, 104, 0,
104, 104, 104, 0, 104, 104, 104, 104, 104, 104,
0, 104, 104, 104, 0, 0, 104, 0, 0, 0,
104, 104, 0, 104, 104, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 458, 104, 0, 0, 104, 104, 0, 104,
104, 0, 104, 0, 104, 458, 104, 104, 104, 104,
104, 104, 0, 62, 104, 104, 0, 0, 104, 104,
0, 104, 103, 103, 103, 103, 103, 103, 103, 103,
103, 103, 103, 103, 103, 103, 0, 0, 103, 103,
0, 103, 103, 103, 103, 0, 534, 0, 0, 0,
103, 103, 103, 103, 103, 103, 103, 0, 0, 103,
0, 0, 104, 0, 0, 103, 0, 103, 103, 103,
0, 103, 103, 103, 103, 103, 103, 0, 103, 103,
103, 0, 0, 103, 0, 104, 0, 103, 103, 0,
103, 103, 531, 0, 0, 0, 0, 0, 278, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 534,
103, 104, 104, 103, 103, 0, 103, 103, 0, 103,
0, 103, 534, 103, 103, 103, 103, 103, 103, 0,
0, 103, 103, 0, 0, 103, 103, 0, 103, 0,
0, 0, 0, 278, 4, 5, 6, 7, 8, 9,
10, 11, 12, 13, 0, 0, 0, 0, 0, 0,
14, 0, 15, 16, 17, 18, 0, 0, 0, 0,
0, 19, 20, 21, 22, 23, 24, 25, 104, 104,
26, 0, 0, 0, 0, 0, 27, 28, 29, 30,
31, 0, 32, 33, 34, 35, 36, 37, 0, 38,
39, 40, 104, 0, 41, 0, 0, 0, 42, 43,
0, 44, 45, 0, 0, 279, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 104, 104,
0, 46, 0, 0, 47, 48, 0, 49, 50, 0,
51, 0, 52, 0, 53, 54, 55, 56, 57, 58,
0, 0, 59, 230, 0, 0, 231, 232, 0, 60,
279, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 104, 0, 0, 0, 323,
0, 0, 0, 0, 0, 0, 0, 0, 104, 104,
104, 104, 104, 104, 104, 104, 104, 104, 104, 104,
104, 104, 323, 0, 104, 104, 0, 104, 104, 104,
104, 0, 0, 0, 0, 0, 104, 104, 104, 104,
104, 104, 104, 0, 0, 104, 0, 0, 323, 0,
0, 104, 0, 104, 104, 104, 0, 104, 104, 104,
104, 104, 104, 0, 104, 104, 104, 0, 0, 104,
0, 0, 0, 104, 104, 0, 104, 104, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 278, 104, 0, 0, 104,
104, 0, 104, 104, 0, 104, 0, 104, 278, 104,
104, 104, 104, 104, 104, 323, 469, 104, 104, 0,
0, 104, 104, 0, 104, 104, 104, 104, 104, 104,
104, 104, 104, 104, 104, 104, 104, 104, 104, 469,
0, 104, 104, 0, 104, 104, 104, 104, 0, 0,
0, 0, 0, 104, 104, 104, 104, 104, 104, 104,
0, 0, 104, 0, 0, 469, 0, 0, 104, 0,
104, 104, 104, 0, 104, 104, 104, 104, 104, 104,
0, 104, 104, 104, 0, 0, 104, 0, 0, 0,
104, 104, 0, 104, 104, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 279, 104, 0, 0, 104, 104, 0, 104,
104, 0, 104, 0, 104, 279, 104, 104, 104, 104,
104, 104, 469, 0, 104, 104, 558, 0, 104, 104,
0, 104, 0, 0, 0, 323, 323, 323, 323, 323,
323, 323, 323, 323, 323, 323, 323, 323, 323, 558,
323, 323, 323, 323, 323, 323, 323, 323, 0, 0,
0, 0, 0, 323, 323, 323, 323, 323, 323, 323,
0, 0, 323, 0, 0, 558, 0, 0, 323, 0,
323, 323, 323, 0, 323, 323, 323, 323, 323, 323,
0, 323, 323, 323, 0, 0, 323, 0, 0, 0,
323, 323, 0, 323, 323, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 323, 0, 0, 323, 323, 0, 323,
323, 0, 323, 0, 323, 0, 323, 323, 323, 323,
323, 323, 558, 0, 323, 323, 0, 0, 323, 323,
0, 323, 469, 469, 469, 469, 469, 469, 469, 469,
469, 469, 469, 469, 469, 469, 0, 0, 469, 469,
0, 469, 469, 469, 469, 0, 0, 0, 0, 0,
469, 469, 469, 469, 469, 469, 469, 0, 0, 469,
0, 0, 558, 0, 0, 469, 0, 469, 469, 469,
0, 469, 469, 469, 469, 469, 469, 0, 469, 469,
469, 0, 0, 469, 0, 558, 0, 469, 469, 0,
469, 469, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
469, 558, 0, 469, 469, 0, 469, 469, 0, 469,
0, 469, 0, 469, 469, 469, 469, 469, 469, 0,
0, 469, 469, 0, 0, 469, 469, 0, 469, 0,
0, 0, 558, 558, 558, 558, 558, 558, 558, 558,
558, 558, 558, 0, 0, 558, 0, 0, 0, 558,
0, 558, 558, 558, 558, 0, 0, 0, 0, 0,
558, 558, 558, 558, 558, 558, 558, 558, 558, 558,
0, 0, 234, 0, 0, 558, 0, 558, 558, 558,
0, 558, 558, 558, 558, 558, 558, 0, 558, 558,
558, 0, 0, 558, 0, 61, 0, 558, 558, 0,
558, 558, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
558, 233, 0, 558, 558, 0, 558, 558, 0, 558,
0, 558, 0, 558, 558, 558, 558, 558, 558, 0,
0, 558, 558, 0, 0, 558, 558, 0, 558, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 62, 0,
240, 0, 0, 0, 0, 0, 0, 0, 558, 558,
558, 558, 558, 558, 558, 558, 558, 558, 558, 0,
0, 0, 0, 253, 0, 558, 0, 558, 558, 558,
558, 240, 0, 0, 0, 0, 558, 558, 558, 558,
558, 558, 558, 0, 0, 558, 0, 0, 0, 0,
0, 558, 0, 558, 558, 558, 0, 558, 558, 558,
558, 558, 558, 0, 558, 558, 558, 0, 0, 558,
0, 0, 0, 558, 558, 0, 558, 558, 0, 0,
0, 0, 0, 240, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 558, 0, 0, 558,
558, 0, 558, 558, 0, 558, 0, 558, 0, 558,
558, 558, 558, 558, 558, 0, 253, 558, 558, 0,
275, 558, 558, 0, 558, 0, 0, 0, 0, 4,
5, 6, 7, 8, 9, 10, 11, 12, 13, 0,
0, 0, 0, 272, 0, 14, 0, 15, 16, 17,
18, 275, 0, 0, 0, 0, 19, 20, 21, 22,
23, 24, 25, 0, 0, 26, 0, 0, 0, 0,
0, 27, 0, 29, 30, 31, 0, 32, 33, 34,
35, 36, 37, 0, 38, 39, 40, 0, 0, 41,
0, 0, 0, 42, 43, 0, 44, 45, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 46, 0, 0, 47,
48, 0, 49, 50, 0, 51, 0, 52, 0, 53,
54, 55, 56, 57, 58, 0, 272, 59, 230, 0,
0, 231, 232, 0, 60, 0, 0, 253, 253, 253,
253, 253, 253, 253, 253, 253, 0, 0, 0, 0,
0, 0, 0, 253, 234, 253, 253, 253, 253, 0,
0, 0, 0, 0, 253, 253, 253, 253, 253, 253,
253, 0, 0, 253, 0, 0, 0, 61, 0, 0,
0, 0, 253, 253, 0, 253, 253, 253, 253, 253,
253, 253, 253, 253, 253, 0, 0, 253, 0, 0,
253, 253, 253, 233, 253, 253, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 253, 0, 0, 253, 253, 0,
253, 253, 0, 253, 253, 253, 0, 253, 253, 253,
253, 253, 253, 0, 0, 253, 0, 0, 0, 0,
0, 0, 253, 0, 0, 0, 0, 272, 272, 272,
272, 272, 272, 272, 272, 272, 272, 0, 0, 0,
62, 234, 0, 272, 0, 272, 272, 272, 272, 0,
0, 0, 0, 0, 272, 272, 272, 272, 272, 272,
272, 0, 0, 272, 61, 0, 0, 0, 0, 272,
0, 272, 272, 272, 0, 272, 272, 272, 272, 272,
272, 0, 272, 272, 272, 0, 0, 272, 0, 0,
0, 272, 272, 0, 272, 272, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 272, 0, 0, 272, 272, 0,
272, 272, 0, 272, 0, 272, 0, 272, 272, 272,
272, 272, 272, 0, 0, 272, 0, 0, 0, 0,
0, 0, 272, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 62, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 4, 5, 6, 7, 8, 9, 10, 11, 12,
0, 0, 0, 0, 61, 0, 0, 14, 0, 15,
16, 17, 18, 0, 0, 0, 0, 0, 19, 20,
21, 22, 23, 24, 25, 0, 0, 26, 0, 0,
0, 0, 0, 0, 0, 0, 30, 31, 0, 32,
33, 34, 35, 36, 37, 0, 38, 39, 40, 0,
0, 41, 0, 0, 0, 42, 43, 0, 44, 45,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 199, 0,
0, 110, 48, 0, 49, 50, 0, 0, 0, 52,
0, 53, 54, 55, 56, 57, 58, 62, 0, 59,
230, 0, 0, 231, 232, 0, 60, 0, 4, 5,
6, 7, 8, 9, 10, 11, 12, 0, 0, 0,
0, 0, 254, 0, 14, 0, 15, 16, 17, 18,
0, 0, 0, 0, 0, 19, 20, 21, 22, 23,
24, 25, 0, 0, 26, 0, 0, 0, 0, 0,
0, 0, 0, 30, 31, 0, 32, 33, 34, 35,
36, 37, 0, 38, 39, 40, 0, 0, 41, 0,
0, 0, 42, 43, 0, 44, 45, 0, 0, 0,
0, 0, 254, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 199, 0, 0, 110, 48,
0, 49, 50, 0, 0, 0, 52, 0, 53, 54,
55, 56, 57, 58, 254, 254, 59, 0, 0, 0,
0, 0, 0, 60, 0, 0, 0, 3, 4, 5,
6, 7, 8, 9, 10, 11, 12, 13, 0, 0,
0, 61, 0, 0, 14, 0, 15, 16, 17, 18,
0, 0, 0, 0, 0, 19, 20, 21, 22, 23,
24, 25, 0, 0, 26, 0, 0, 0, 0, 0,
27, 28, 29, 30, 31, 0, 32, 33, 34, 35,
36, 37, 0, 38, 39, 40, 0, 0, 41, 0,
0, 0, 42, 43, 0, 44, 45, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 46, 0, 0, 47, 48,
0, 49, 50, 0, 51, 0, 52, 0, 53, 54,
55, 56, 57, 58, 62, 0, 59, 0, 0, 0,
0, 0, 0, 60, 0, 0, 254, 254, 254, 254,
254, 254, 254, 254, 254, 0, 0, 0, 0, 61,
0, 0, 254, 0, 254, 254, 254, 254, 0, 0,
0, 0, 0, 254, 254, 254, 254, 254, 254, 254,
0, 0, 254, 0, 0, 0, 0, 0, 0, 0,
0, 254, 254, 0, 254, 254, 254, 254, 254, 254,
254, 254, 254, 254, 0, 0, 254, 0, 0, 254,
254, 254, 0, 254, 254, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 254, 0, 0, 254, 254, 0, 254,
254, 0, 254, 254, 254, 0, 254, 254, 254, 254,
254, 254, 62, 0, 254, 0, 0, 0, 0, 0,
0, 254, 0, 0, 0, 4, 5, 6, 7, 8,
9, 10, 11, 12, 13, 0, 0, 0, 61, 0,
0, 14, 0, 15, 16, 17, 18, 0, 0, 0,
0, 0, 19, 20, 21, 22, 23, 24, 25, 0,
0, 26, 0, 0, 0, 0, 0, 27, 28, 29,
30, 31, 0, 32, 33, 34, 35, 36, 37, 0,
38, 39, 40, 0, 0, 41, 0, 0, 0, 42,
43, 0, 44, 45, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 46, 0, 0, 47, 48, 0, 49, 50,
0, 51, 0, 52, 0, 53, 54, 55, 56, 57,
58, 62, 0, 59, 0, 0, 0, 0, 0, 0,
60, 0, 276, 4, 5, 6, 7, 8, 9, 10,
11, 12, 13, 0, 0, 0, 248, 0, 0, 14,
0, 15, 16, 17, 18, 0, 0, 0, 0, 0,
19, 20, 21, 22, 23, 24, 25, 0, 0, 26,
0, 0, 0, 0, 0, 27, 0, 29, 30, 31,
0, 32, 33, 34, 35, 36, 37, 0, 38, 39,
40, 0, 0, 41, 0, 0, 0, 42, 43, 0,
44, 45, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
46, 0, 0, 277, 48, 0, 49, 50, 0, 51,
0, 52, 0, 53, 54, 55, 56, 57, 58, 62,
0, 59, 0, 0, 0, 0, 0, 0, 60, 0,
0, 276, 4, 5, 6, 7, 8, 9, 10, 11,
12, 13, 0, 0, 0, 253, 0, 0, 14, 0,
15, 16, 17, 18, 0, 0, 0, 0, 0, 19,
20, 21, 22, 23, 24, 25, 0, 0, 26, 0,
0, 0, 0, 0, 27, 0, 29, 30, 31, 0,
32, 33, 34, 35, 36, 37, 0, 38, 39, 40,
0, 0, 41, 0, 0, 0, 42, 43, 0, 44,
45, 0, 0, 0, 0, 253, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 46,
0, 0, 47, 48, 0, 49, 50, 0, 51, 0,
52, 0, 53, 54, 55, 56, 57, 58, 253, 0,
59, 0, 0, 0, 0, 0, 0, 60, 0, 0,
4, 5, 6, 7, 8, 9, 10, 11, 12, 0,
0, 0, 0, 248, 0, 0, 14, 0, 100, 101,
17, 18, 0, 0, 0, 0, 0, 102, 103, 104,
22, 23, 24, 25, 0, 0, 105, 0, 0, 0,
0, 0, 0, 0, 0, 30, 31, 0, 32, 33,
34, 35, 36, 37, 243, 38, 39, 40, 0, 0,
41, 0, 0, 244, 42, 43, 0, 44, 45, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 199, 0, 0,
110, 48, 0, 49, 50, 0, 0, 0, 52, 0,
53, 54, 55, 56, 247, 58, 62, 0, 59, 230,
0, 0, 231, 232, 0, 60, 0, 0, 0, 253,
253, 253, 253, 253, 253, 253, 253, 253, 0, 0,
0, 0, 61, 0, 0, 253, 0, 253, 253, 253,
253, 0, 0, 0, 0, 0, 253, 253, 253, 253,
253, 253, 253, 0, 0, 253, 0, 0, 0, 0,
0, 0, 0, 0, 253, 253, 0, 253, 253, 253,
253, 253, 253, 253, 253, 253, 253, 0, 0, 253,
0, 0, 253, 253, 253, 0, 253, 253, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 253, 0, 0, 253,
253, 0, 253, 253, 0, 253, 253, 253, 0, 253,
253, 253, 253, 253, 253, 62, 0, 253, 0, 0,
0, 0, 0, 0, 253, 0, 0, 4, 5, 6,
7, 8, 9, 10, 11, 12, 0, 0, 0, 0,
248, 0, 0, 14, 0, 15, 16, 17, 18, 0,
0, 0, 0, 0, 19, 20, 21, 22, 23, 24,
25, 0, 0, 105, 0, 0, 0, 0, 0, 0,
0, 0, 30, 31, 0, 32, 33, 34, 35, 36,
37, 243, 38, 39, 40, 0, 0, 41, 0, 0,
244, 42, 43, 0, 44, 45, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 199, 0, 0, 110, 48, 0,
49, 50, 0, 245, 246, 52, 0, 53, 54, 55,
56, 247, 58, 62, 0, 59, 0, 0, 0, 0,
0, 0, 60, 0, 0, 0, 4, 5, 6, 7,
8, 9, 10, 11, 12, 13, 0, 0, 0, 248,
0, 0, 14, 0, 15, 16, 17, 18, 0, 0,
0, 0, 0, 19, 20, 21, 22, 23, 24, 25,
0, 0, 26, 0, 0, 0, 0, 0, 27, 0,
29, 30, 31, 0, 32, 33, 34, 35, 36, 37,
0, 38, 39, 40, 0, 0, 41, 0, 0, 0,
42, 43, 0, 44, 45, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 46, 0, 0, 47, 48, 0, 49,
50, 0, 51, 0, 52, 0, 53, 54, 55, 56,
57, 58, 248, 0, 59, 0, 0, 0, 0, 0,
0, 60, 0, 0, 4, 5, 6, 7, 8, 9,
10, 11, 12, 0, 0, 0, 0, 248, 0, 0,
14, 0, 100, 101, 17, 18, 0, 0, 0, 0,
0, 102, 103, 104, 22, 23, 24, 25, 0, 0,
105, 0, 0, 0, 0, 0, 0, 0, 0, 30,
31, 0, 32, 33, 34, 35, 36, 37, 243, 38,
39, 40, 0, 0, 41, 0, 0, 244, 42, 43,
0, 44, 45, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 199, 0, 0, 110, 48, 0, 49, 50, 0,
648, 246, 52, 0, 53, 54, 55, 56, 247, 58,
62, 0, 59, 0, 0, 0, 0, 0, 0, 60,
0, 0, 0, 248, 248, 248, 248, 248, 248, 248,
248, 248, 0, 0, 0, 0, 248, 0, 0, 248,
0, 248, 248, 248, 248, 0, 0, 0, 0, 0,
248, 248, 248, 248, 248, 248, 248, 0, 0, 248,
0, 0, 0, 0, 0, 0, 0, 0, 248, 248,
0, 248, 248, 248, 248, 248, 248, 248, 248, 248,
248, 0, 0, 248, 0, 0, 248, 248, 248, 0,
248, 248, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
248, 0, 0, 248, 248, 0, 248, 248, 0, 248,
248, 248, 0, 248, 248, 248, 248, 248, 248, 62,
0, 248, 0, 0, 0, 0, 0, 0, 248, 0,
0, 4, 5, 6, 7, 8, 9, 10, 11, 12,
0, 0, 0, 0, 248, 0, 0, 14, 0, 100,
101, 17, 18, 0, 0, 0, 0, 0, 102, 103,
104, 22, 23, 24, 25, 0, 0, 105, 0, 0,
0, 0, 0, 0, 0, 0, 30, 31, 0, 32,
33, 34, 35, 36, 37, 243, 38, 39, 40, 0,
0, 41, 0, 0, 244, 42, 43, 0, 44, 45,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 199, 0,
0, 110, 48, 0, 49, 50, 0, 245, 0, 52,
0, 53, 54, 55, 56, 247, 58, 62, 0, 59,
0, 0, 0, 0, 0, 0, 60, 0, 0, 0,
4, 5, 6, 7, 8, 9, 10, 11, 12, 0,
0, 0, 0, 248, 0, 0, 14, 0, 100, 101,
17, 18, 0, 0, 0, 0, 0, 102, 103, 104,
22, 23, 24, 25, 0, 0, 105, 0, 0, 0,
0, 0, 0, 0, 0, 30, 31, 0, 32, 33,
34, 35, 36, 37, 243, 38, 39, 40, 0, 0,
41, 0, 0, 244, 42, 43, 0, 44, 45, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 199, 0, 0,
110, 48, 0, 49, 50, 0, 648, 0, 52, 0,
53, 54, 55, 56, 247, 58, 62, 0, 59, 0,
0, 0, 0, 0, 0, 60, 0, 0, 4, 5,
6, 7, 8, 9, 10, 11, 12, 0, 0, 0,
0, 248, 0, 0, 14, 0, 100, 101, 17, 18,
0, 0, 0, 0, 0, 102, 103, 104, 22, 23,
24, 25, 0, 0, 105, 0, 0, 0, 0, 0,
0, 0, 0, 30, 31, 0, 32, 33, 34, 35,
36, 37, 243, 38, 39, 40, 0, 0, 41, 0,
0, 244, 42, 43, 0, 44, 45, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 199, 0, 0, 110, 48,
0, 49, 50, 0, 0, 0, 52, 0, 53, 54,
55, 56, 247, 58, 62, 0, 59, 0, 0, 0,
0, 0, 0, 60, 0, 0, 0, 4, 5, 6,
7, 8, 9, 10, 11, 12, 0, 0, 0, 0,
248, 0, 0, 14, 0, 15, 16, 17, 18, 0,
0, 0, 0, 0, 19, 20, 21, 22, 23, 24,
25, 0, 0, 105, 0, 0, 0, 0, 0, 0,
0, 0, 30, 31, 0, 32, 33, 34, 35, 36,
37, 0, 38, 39, 40, 0, 0, 41, 0, 0,
0, 42, 43, 0, 44, 45, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 199, 0, 0, 110, 48, 0,
49, 50, 0, 588, 0, 52, 0, 53, 54, 55,
56, 57, 58, 62, 0, 59, 0, 0, 0, 0,
0, 0, 60, 0, 0, 4, 5, 6, 7, 8,
9, 10, 11, 12, 0, 0, 0, 0, 248, 0,
0, 14, 0, 100, 101, 17, 18, 0, 0, 0,
0, 0, 102, 103, 104, 22, 23, 24, 25, 0,
0, 105, 0, 0, 0, 0, 0, 0, 0, 0,
30, 31, 0, 32, 33, 34, 35, 36, 37, 0,
38, 39, 40, 0, 0, 41, 0, 0, 0, 42,
43, 0, 44, 45, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 199, 0, 0, 110, 48, 0, 49, 50,
0, 245, 0, 52, 0, 53, 54, 55, 56, 57,
58, 62, 0, 59, 0, 0, 0, 0, 0, 0,
60, 0, 0, 0, 4, 5, 6, 7, 8, 9,
10, 11, 12, 0, 0, 0, 0, 248, 0, 0,
14, 0, 100, 101, 17, 18, 0, 0, 0, 0,
0, 102, 103, 104, 22, 23, 24, 25, 0, 0,
105, 0, 0, 0, 0, 0, 0, 0, 0, 30,
31, 0, 32, 33, 34, 35, 36, 37, 0, 38,
39, 40, 0, 0, 41, 0, 0, 0, 42, 43,
0, 44, 45, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 199, 0, 0, 110, 48, 0, 49, 50, 0,
588, 0, 52, 0, 53, 54, 55, 56, 57, 58,
62, 0, 59, 0, 0, 0, 0, 0, 0, 60,
0, 0, 4, 5, 6, 7, 8, 9, 10, 11,
12, 0, 0, 0, 0, 61, 0, 0, 14, 0,
100, 101, 17, 18, 0, 0, 0, 0, 0, 102,
103, 104, 22, 23, 24, 25, 0, 0, 105, 0,
0, 0, 0, 0, 0, 0, 0, 30, 31, 0,
32, 33, 34, 35, 36, 37, 0, 38, 39, 40,
0, 0, 41, 0, 0, 0, 42, 43, 0, 44,
45, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 199,
0, 0, 110, 48, 0, 49, 50, 0, 826, 0,
52, 0, 53, 54, 55, 56, 57, 58, 62, 0,
59, 0, 0, 0, 0, 0, 0, 60, 0, 0,
0, 4, 5, 6, 7, 8, 9, 10, 11, 12,
0, 0, 0, 0, 248, 0, 0, 14, 0, 100,
101, 17, 18, 0, 0, 0, 0, 0, 102, 103,
104, 22, 23, 24, 25, 0, 0, 105, 0, 0,
0, 0, 0, 0, 0, 0, 30, 31, 0, 32,
33, 34, 35, 36, 37, 0, 38, 39, 40, 0,
0, 41, 0, 0, 0, 42, 43, 0, 44, 45,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 199, 0,
0, 110, 48, 0, 49, 50, 0, 648, 0, 52,
0, 53, 54, 55, 56, 57, 58, 62, 0, 59,
0, 0, 0, 0, 0, 0, 60, 0, 0, 4,
5, 6, 7, 8, 9, 10, 11, 12, 0, 0,
0, 0, 248, 0, 0, 14, 0, 15, 16, 17,
18, 0, 0, 0, 0, 0, 19, 20, 21, 22,
23, 24, 25, 0, 0, 26, 0, 0, 0, 0,
0, 0, 0, 0, 30, 31, 0, 32, 33, 34,
35, 36, 37, 0, 38, 39, 40, 0, 0, 41,
0, 0, 0, 42, 43, 0, 44, 45, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 199, 0, 0, 110,
48, 0, 49, 50, 0, 0, 0, 52, 0, 53,
54, 55, 56, 57, 58, 62, 0, 59, 0, 0,
0, 0, 0, 0, 60, 0, 0, 0, 4, 5,
6, 7, 8, 9, 10, 11, 12, 0, 0, 0,
0, 545, 0, 0, 14, 0, 100, 101, 17, 18,
0, 0, 0, 0, 0, 102, 103, 104, 22, 23,
24, 25, 0, 0, 105, 0, 0, 0, 0, 0,
0, 0, 0, 30, 31, 0, 32, 33, 34, 35,
36, 37, 0, 38, 39, 40, 0, 0, 41, 0,
0, 0, 42, 43, 0, 44, 45, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 199, 0, 0, 110, 48,
0, 49, 50, 0, 0, 0, 52, 0, 53, 54,
55, 56, 57, 58, 545, 0, 59, 0, 0, 0,
0, 0, 0, 60, 0, 0, 4, 5, 6, 7,
8, 9, 10, 11, 12, 0, 0, 0, 0, 0,
0, 0, 14, 0, 15, 16, 17, 18, 0, 0,
0, 0, 0, 19, 20, 21, 22, 23, 24, 25,
0, 0, 105, 0, 0, 0, 0, 0, 0, 0,
0, 30, 31, 0, 32, 33, 34, 35, 36, 37,
0, 38, 39, 40, 0, 0, 41, 0, 0, 0,
42, 43, 0, 44, 45, 0, 189, 0, 0, 0,
188, 183, 0, 0, 0, 186, 184, 0, 185, 0,
187, 0, 0, 199, 0, 0, 110, 48, 0, 49,
50, 0, 0, 180, 52, 179, 53, 54, 55, 56,
57, 58, 0, 0, 59, 0, 0, 0, 0, 0,
0, 60, 0, 0, 0, 545, 545, 545, 545, 545,
545, 545, 545, 545, 0, 0, 0, 182, 0, 191,
0, 545, 0, 545, 545, 545, 545, 0, 0, 0,
0, 0, 545, 545, 545, 545, 545, 545, 545, 0,
0, 545, 0, 0, 0, 0, 0, 181, 0, 190,
545, 545, 0, 545, 545, 545, 545, 545, 545, 0,
545, 545, 545, 0, 0, 545, 0, 0, 0, 545,
545, 0, 545, 545, 0, 189, 0, 0, 0, 188,
183, 0, 0, 0, 186, 184, 0, 185, 0, 187,
0, 0, 545, 0, 0, 545, 545, 0, 545, 545,
0, 0, 180, 545, 179, 545, 545, 545, 545, 545,
545, 0, 0, 545, 0, 0, 0, 0, 0, 0,
545, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 182, 0, 191, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 181, 0, 190, 0,
0, 0, 0, 295, 0, 0, 0, 0, 0, 0,
120, 121, 122, 123, 124, 125, 126, 127, 128, 129,
130, 131, 132, 133, 134, 135, 136, 137, 138, 139,
140, 141, 142, 143, 0, 0, 0, 144, 145, 146,
217, 218, 219, 220, 151, 152, 153, 0, 0, 0,
0, 0, 154, 155, 156, 221, 222, 159, 223, 161,
301, 302, 224, 303, 0, 0, 0, 0, 0, 0,
304, 0, 0, 0, 0, 0, 0, 163, 164, 165,
166, 167, 168, 169, 170, 171, 0, 0, 172, 173,
0, 0, 174, 175, 176, 177, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 178, 0, 0, 0,
0, 0, 0, 0, 305, 0, 0, 0, 0, 598,
0, 0, 0, 0, 0, 0, 0, 0, 0, 120,
121, 122, 123, 124, 125, 126, 127, 128, 129, 130,
131, 132, 133, 134, 135, 136, 137, 138, 139, 140,
141, 142, 143, 0, 0, 0, 144, 145, 146, 217,
218, 219, 220, 151, 152, 153, 0, 0, 0, 0,
0, 154, 155, 156, 221, 222, 159, 223, 161, 301,
302, 224, 303, 0, 0, 0, 0, 0, 0, 304,
0, 0, 0, 0, 0, 0, 163, 164, 165, 166,
167, 168, 169, 170, 171, 0, 0, 172, 173, 0,
0, 174, 175, 176, 177, 0, 4, 5, 6, 7,
8, 9, 10, 11, 12, 178, 0, 0, 0, 0,
0, 0, 14, 424, 100, 101, 17, 18, 0, 0,
0, 0, 0, 102, 103, 104, 22, 23, 24, 25,
0, 0, 105, 0, 0, 0, 0, 0, 0, 0,
0, 30, 31, 0, 32, 33, 34, 35, 36, 37,
0, 38, 39, 40, 0, 0, 41, 0, 0, 0,
42, 43, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 294, 0, 0, 110, 48, 0, 49,
50, 0, 0, 0, 52, 0, 53, 54, 55, 56,
57, 58, 0, 0, 59, 0, 0, 0, 0, 0,
0, 111, 4, 5, 6, 7, 8, 9, 10, 11,
12, 0, 0, 0, 0, 0, 0, 0, 14, 0,
100, 101, 17, 18, 0, 0, 0, 0, 0, 102,
103, 104, 22, 23, 24, 25, 0, 0, 105, 0,
0, 0, 0, 0, 0, 0, 0, 30, 31, 0,
32, 33, 34, 35, 36, 37, 0, 38, 39, 40,
0, 0, 41, 0, 0, 0, 42, 43, 0, 0,
189, 0, 0, 0, 188, 183, 0, 0, 0, 186,
184, 0, 185, 0, 187, 0, 0, 0, 0, 294,
0, 0, 110, 48, 0, 49, 50, 180, 0, 179,
52, 0, 53, 54, 55, 56, 57, 58, 0, 0,
59, 0, 0, 0, 0, 0, 0, 111, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 182, 0, 191, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 181, 0, 190, 0, 0, 0, 0, 0, 0,
0, 189, 0, 0, 0, 188, 183, 0, 192, 0,
186, 184, 0, 185, 0, 187, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 180, 0,
179, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 182, 0, 191, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 181, 0, 190, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 120, 121, 122, 123, 124, 125,
126, 127, 128, 129, 130, 131, 132, 133, 134, 135,
136, 137, 138, 139, 140, 141, 142, 143, 0, 0,
0, 144, 145, 146, 217, 218, 219, 220, 151, 152,
153, 0, 0, 0, 0, 0, 154, 155, 156, 221,
222, 159, 223, 161, 0, 0, 224, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 163, 164, 165, 166, 167, 168, 169, 170, 171,
0, 0, 172, 173, 0, 0, 174, 175, 176, 177,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
178, 0, 0, 0, 225, 120, 121, 122, 123, 124,
125, 126, 127, 128, 129, 130, 131, 132, 133, 134,
135, 136, 137, 138, 139, 140, 141, 142, 143, 0,
0, 0, 144, 145, 146, 147, 148, 149, 150, 151,
152, 153, 0, 0, 0, 0, 0, 154, 155, 156,
157, 158, 159, 160, 161, 34, 35, 162, 37, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 163, 164, 165, 166, 167, 168, 169, 170,
171, 0, 0, 172, 173, 0, 0, 174, 175, 176,
177, 0, 0, 189, 0, 0, 0, 188, 183, 0,
0, 178, 186, 184, 0, 185, 0, 187, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
180, 0, 179, 0, 0, 0, 0, 0, 0, 0,
0, 189, 0, 0, 0, 188, 183, 0, 258, 0,
186, 184, 0, 185, 0, 187, 0, 0, 0, 0,
0, 0, 0, 0, 182, 0, 191, 0, 180, 0,
179, 0, 0, 0, 0, 0, 0, 0, 0, 189,
0, 0, 0, 188, 183, 0, 258, 0, 186, 184,
0, 185, 0, 187, 181, 0, 190, 0, 0, 0,
0, 0, 182, 0, 191, 0, 180, 0, 179, 0,
0, 0, 0, 0, 0, 0, 0, 189, 0, 0,
0, 188, 183, 0, 258, 0, 186, 184, 0, 185,
0, 187, 181, 0, 190, 0, 0, 0, 0, 0,
182, 0, 191, 0, 180, 0, 179, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
181, 0, 190, 0, 0, 0, 0, 0, 182, 0,
191, 0, 0, 0, 0, 0, 0, 0, 0, 0,
189, 0, 0, 0, 188, 183, 0, 258, 0, 186,
184, 0, 185, 0, 187, 0, 0, 0, 181, 0,
190, 0, 0, 0, 0, 0, 0, 180, 0, 179,
0, 0, 0, 0, 0, 0, 0, 120, 121, 122,
123, 124, 125, 126, 127, 128, 129, 130, 131, 132,
133, 134, 135, 136, 137, 138, 139, 140, 141, 142,
143, 182, 0, 191, 144, 145, 146, 217, 218, 219,
220, 151, 152, 153, 0, 0, 0, 0, 0, 154,
155, 156, 221, 222, 159, 223, 161, 0, 0, 224,
0, 181, 0, 190, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 163, 164, 165, 166, 167, 168,
169, 170, 171, 0, 0, 172, 173, 0, 0, 174,
175, 176, 177, 561, 562, 0, 0, 563, 0, 0,
0, 0, 0, 178, 0, 0, 0, 0, 0, 0,
0, 0, 163, 164, 165, 166, 167, 168, 169, 170,
171, 0, 0, 172, 173, 0, 0, 174, 175, 176,
177, 569, 570, 0, 0, 571, 0, 0, 0, 0,
0, 178, 0, 0, 0, 0, 0, 0, 0, 0,
163, 164, 165, 166, 167, 168, 169, 170, 171, 0,
0, 172, 173, 0, 0, 174, 175, 176, 177, 606,
562, 0, 0, 607, 0, 0, 0, 0, 0, 178,
0, 0, 0, 0, 0, 0, 0, 0, 163, 164,
165, 166, 167, 168, 169, 170, 171, 0, 0, 172,
173, 0, 0, 174, 175, 176, 177, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 178, 0, 0,
189, 0, 0, 0, 188, 183, 0, 258, 0, 186,
184, 0, 185, 0, 187, 0, 0, 0, 0, 0,
0, 0, 583, 570, 0, 0, 584, 180, 0, 179,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 163, 164, 165, 166, 167, 168, 169, 170, 171,
0, 0, 172, 173, 0, 0, 174, 175, 176, 177,
0, 182, 0, 191, 0, 0, 0, 189, 0, 0,
178, 188, 183, 0, 258, 0, 186, 184, 0, 185,
0, 187, 0, 0, 0, 0, 0, 0, 0, 0,
0, 181, 0, 190, 180, 0, 179, 0, 0, 0,
0, 0, 0, 0, 0, 189, 0, 0, 0, 188,
183, 0, 258, 0, 186, 184, 0, 185, 0, 187,
0, 0, 0, 0, 0, 0, 0, 0, 182, 0,
191, 0, 180, 0, 179, 0, 0, 0, 0, 0,
0, 0, 0, 189, 0, 0, 0, 188, 183, 0,
258, 0, 186, 184, 0, 185, 0, 187, 181, 0,
190, 0, 0, 0, 0, 0, 182, 0, 191, 0,
180, 0, 179, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 181, 0, 190, 0,
0, 0, 0, 0, 182, 0, 191, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 189,
0, 0, 0, 188, 183, 0, 258, 0, 186, 184,
0, 185, 0, 187, 181, 0, 190, 0, 0, 0,
0, 0, 0, 0, 0, 0, 180, 0, 179, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 622, 562, 0, 0, 623, 0, 0, 0,
182, 0, 191, 0, 0, 0, 0, 0, 0, 0,
0, 163, 164, 165, 166, 167, 168, 169, 170, 171,
0, 0, 172, 173, 0, 0, 174, 175, 176, 177,
181, 0, 190, 0, 0, 0, 0, 0, 0, 0,
178, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 625,
570, 0, 0, 626, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 163, 164,
165, 166, 167, 168, 169, 170, 171, 0, 0, 172,
173, 0, 0, 174, 175, 176, 177, 632, 562, 0,
0, 633, 0, 0, 0, 0, 0, 178, 0, 0,
0, 0, 0, 0, 0, 0, 163, 164, 165, 166,
167, 168, 169, 170, 171, 0, 0, 172, 173, 0,
0, 174, 175, 176, 177, 635, 570, 0, 0, 636,
0, 0, 0, 0, 0, 178, 0, 0, 0, 0,
0, 0, 0, 0, 163, 164, 165, 166, 167, 168,
169, 170, 171, 0, 0, 172, 173, 0, 0, 174,
175, 176, 177, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 178, 0, 0, 0, 0, 0, 189,
0, 0, 0, 188, 183, 0, 258, 0, 186, 184,
0, 185, 0, 187, 0, 0, 0, 0, 0, 0,
0, 668, 562, 0, 0, 669, 180, 0, 179, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
163, 164, 165, 166, 167, 168, 169, 170, 171, 0,
0, 172, 173, 0, 0, 174, 175, 176, 177, 0,
182, 0, 191, 0, 0, 0, 189, 0, 0, 178,
188, 183, 0, 258, 0, 186, 184, 0, 185, 0,
187, 0, 0, 0, 0, 0, 0, 0, 0, 0,
181, 0, 190, 180, 0, 179, 0, 0, 0, 0,
0, 0, 0, 0, 189, 0, 0, 0, 188, 183,
0, 258, 0, 186, 184, 0, 185, 0, 187, 0,
0, 0, 0, 0, 0, 0, 0, 182, 0, 191,
0, 180, 0, 179, 0, 0, 0, 0, 0, 0,
0, 0, 189, 0, 0, 0, 188, 183, 0, 258,
0, 186, 184, 0, 185, 0, 187, 181, 0, 190,
0, 0, 0, 0, 0, 182, 0, 191, 0, 180,
0, 179, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 181, 0, 190, 0, 0,
0, 0, 0, 182, 0, 191, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 189, 0,
0, 0, 188, 183, 0, 258, 0, 186, 184, 0,
185, 0, 187, 181, 0, 190, 0, 0, 0, 0,
0, 0, 0, 0, 0, 180, 0, 179, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 671, 570, 0, 0, 672, 0, 0, 0, 182,
0, 191, 0, 0, 0, 0, 0, 0, 0, 0,
163, 164, 165, 166, 167, 168, 169, 170, 171, 0,
0, 172, 173, 0, 0, 174, 175, 176, 177, 181,
0, 190, 0, 0, 0, 0, 0, 0, 0, 178,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 819, 562,
0, 0, 820, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 163, 164, 165,
166, 167, 168, 169, 170, 171, 0, 0, 172, 173,
0, 0, 174, 175, 176, 177, 822, 570, 0, 0,
823, 0, 0, 0, 0, 0, 178, 0, 0, 0,
0, 0, 0, 0, 0, 163, 164, 165, 166, 167,
168, 169, 170, 171, 0, 0, 172, 173, 0, 0,
174, 175, 176, 177, 959, 562, 0, 0, 960, 0,
0, 0, 0, 0, 178, 0, 0, 0, 0, 0,
0, 0, 0, 163, 164, 165, 166, 167, 168, 169,
170, 171, 0, 0, 172, 173, 0, 0, 174, 175,
176, 177, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 178, 0, 0, 0, 0, 0, 189, 0,
0, 0, 188, 183, 0, 258, 0, 186, 184, 0,
185, 0, 187, 0, 0, 0, 0, 0, 0, 0,
962, 562, 0, 0, 963, 180, 0, 179, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 163,
164, 165, 166, 167, 168, 169, 170, 171, 0, 0,
172, 173, 0, 0, 174, 175, 176, 177, 0, 182,
0, 191, 0, 0, 0, 189, 0, 0, 178, 188,
183, 0, 0, 0, 186, 184, 0, 185, 0, 187,
0, 0, 0, 0, 0, 0, 0, 0, 0, 181,
0, 190, 180, 0, 179, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 4, 5, 6, 7, 8, 9,
10, 11, 12, 0, 0, 0, 182, 0, 191, 0,
14, 0, 100, 101, 17, 18, 0, 0, 0, 0,
0, 102, 103, 104, 22, 23, 24, 25, 0, 0,
105, 0, 0, 0, 0, 0, 181, 0, 190, 30,
31, 0, 106, 33, 34, 35, 107, 37, 0, 38,
39, 40, 0, 0, 41, 0, 0, 0, 42, 43,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 108, 0,
0, 109, 0, 0, 110, 48, 0, 49, 50, 0,
0, 0, 52, 0, 53, 54, 55, 56, 57, 58,
0, 0, 59, 0, 0, 0, 0, 0, 0, 111,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
965, 570, 0, 0, 966, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 163,
164, 165, 166, 167, 168, 169, 170, 171, 0, 0,
172, 173, 0, 0, 174, 175, 176, 177, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 178, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 583, 570, 0,
0, 584, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 163, 164, 165, 166,
167, 168, 169, 170, 171, 0, 0, 172, 173, 0,
0, 174, 175, 176, 177, 4, 5, 6, 7, 8,
9, 10, 11, 12, 0, 178, 0, 0, 0, 0,
0, 14, 0, 100, 101, 17, 18, 0, 0, 0,
0, 0, 102, 103, 104, 22, 23, 24, 25, 0,
0, 105, 0, 0, 0, 0, 0, 0, 0, 0,
30, 31, 0, 32, 33, 34, 35, 36, 37, 0,
38, 39, 40, 0, 0, 41, 0, 0, 0, 42,
43, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 210, 0, 0, 47, 48, 0, 49, 50,
0, 51, 0, 52, 0, 53, 54, 55, 56, 57,
58, 0, 0, 59, 0, 0, 0, 0, 0, 0,
111, 4, 5, 6, 7, 8, 9, 10, 11, 12,
0, 0, 0, 0, 0, 0, 0, 14, 0, 100,
101, 17, 18, 0, 0, 0, 0, 0, 102, 103,
104, 22, 23, 24, 25, 0, 0, 105, 0, 0,
0, 0, 0, 0, 0, 0, 30, 31, 0, 32,
33, 34, 35, 36, 37, 0, 38, 39, 40, 0,
0, 41, 0, 0, 0, 42, 43, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 294, 0,
0, 380, 48, 0, 49, 50, 0, 381, 0, 52,
0, 53, 54, 55, 56, 57, 58, 0, 0, 59,
0, 0, 0, 0, 0, 0, 111, 4, 5, 6,
7, 8, 9, 10, 11, 12, 0, 0, 0, 0,
0, 0, 0, 14, 0, 100, 101, 17, 18, 0,
0, 0, 0, 0, 102, 103, 104, 22, 23, 24,
25, 0, 0, 105, 0, 0, 0, 0, 0, 0,
0, 0, 30, 31, 0, 106, 33, 34, 35, 107,
37, 0, 38, 39, 40, 0, 0, 41, 0, 0,
0, 42, 43, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 109, 0, 0, 110, 48, 0,
49, 50, 0, 0, 0, 52, 0, 53, 54, 55,
56, 57, 58, 0, 0, 59, 0, 0, 0, 0,
0, 0, 111, 4, 5, 6, 7, 8, 9, 10,
11, 12, 0, 0, 0, 0, 0, 0, 0, 14,
0, 100, 101, 17, 18, 0, 0, 0, 0, 0,
102, 103, 104, 22, 23, 24, 25, 0, 0, 105,
0, 0, 0, 0, 0, 0, 0, 0, 30, 31,
0, 32, 33, 34, 35, 36, 37, 0, 38, 39,
40, 0, 0, 41, 0, 0, 0, 42, 43, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
294, 0, 0, 380, 48, 0, 49, 50, 0, 0,
0, 52, 0, 53, 54, 55, 56, 57, 58, 0,
0, 59, 0, 0, 0, 0, 0, 0, 111, 4,
5, 6, 7, 8, 9, 10, 11, 12, 0, 0,
0, 0, 0, 0, 0, 14, 0, 100, 101, 17,
18, 0, 0, 0, 0, 0, 102, 103, 104, 22,
23, 24, 25, 0, 0, 105, 0, 0, 0, 0,
0, 0, 0, 0, 30, 31, 0, 32, 33, 34,
35, 36, 37, 0, 38, 39, 40, 0, 0, 41,
0, 0, 0, 42, 43, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 881, 0, 0, 110,
48, 0, 49, 50, 0, 0, 0, 52, 0, 53,
54, 55, 56, 57, 58, 0, 0, 59, 0, 0,
0, 0, 0, 0, 111, 4, 5, 6, 7, 8,
9, 10, 11, 12, 0, 0, 0, 0, 0, 0,
0, 14, 0, 100, 101, 17, 18, 0, 0, 0,
0, 0, 102, 103, 104, 22, 23, 24, 25, 0,
0, 105, 0, 0, 0, 0, 0, 0, 0, 0,
30, 31, 0, 32, 33, 34, 35, 36, 37, 0,
38, 39, 40, 0, 0, 41, 0, 0, 0, 42,
43, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 895, 0, 0, 110, 48, 0, 49, 50,
0, 0, 0, 52, 0, 53, 54, 55, 56, 57,
58, 0, 0, 59, 0, 0, 0, 0, 0, 0,
111,
}, yyCheck = new short[] {
//yyCheck 25161
2, 418, 79, 26, 207, 61, 13, 84, 20, 21,
78, 9, 27, 6, 6, 370, 14, 90, 20, 254,
27, 13, 398, 14, 21, 295, 427, 15, 16, 15,
16, 19, 51, 19, 300, 27, 288, 300, 4, 5,
292, 396, 2, 3, 47, 3, 12, 49, 50, 444,
46, 312, 486, 124, 283, 44, 411, 46, 109, 40,
53, 53, 37, 49, 50, 93, 421, 42, 10, 70,
686, 10, 47, 10, 379, 70, 559, 560, 368, 70,
777, 46, 372, 95, 373, 51, 376, 283, 377, 15,
16, 103, 104, 19, 683, 10, 251, 125, 95, 41,
277, 103, 91, 123, 41, 117, 373, 397, 701, 443,
377, 378, 446, 10, 610, 860, 0, 701, 683, 10,
410, 686, 412, 49, 90, 202, 91, 873, 624, 484,
10, 286, 422, 288, 211, 364, 701, 292, 634, 8,
9, 41, 123, 0, 59, 14, 10, 775, 0, 37,
41, 93, 44, 10, 42, 43, 93, 45, 40, 47,
10, 41, 59, 10, 598, 59, 0, 10, 364, 61,
61, 461, 47, 46, 670, 10, 10, 41, 123, 440,
283, 61, 285, 444, 55, 56, 57, 58, 10, 15,
16, 41, 710, 19, 41, 485, 273, 61, 716, 944,
312, 313, 59, 380, 797, 10, 41, 46, 954, 124,
208, 209, 909, 305, 61, 450, 486, 309, 91, 296,
10, 46, 295, 41, 124, 59, 61, 124, 856, 605,
124, 497, 225, 225, 497, 110, 41, 59, 10, 108,
235, 125, 309, 93, 235, 861, 237, 730, 10, 251,
93, 41, 254, 514, 59, 46, 258, 291, 292, 10,
280, 656, 46, 334, 10, 282, 91, 10, 125, 41,
258, 61, 618, 125, 277, 263, 865, 263, 279, 10,
10, 627, 44, 911, 279, 10, 875, 59, 279, 873,
279, 875, 447, 44, 40, 729, 861, 59, 41, 280,
91, 44, 272, 125, 274, 10, 124, 91, 873, 345,
875, 41, 617, 44, 10, 943, 276, 373, 61, 44,
654, 377, 378, 379, 284, 821, 354, 10, 598, 295,
10, 61, 330, 331, 332, 333, 41, 263, 329, 208,
209, 10, 10, 760, 395, 41, 449, 343, 41, 615,
453, 326, 291, 292, 343, 345, 61, 61, 41, 61,
372, 464, 381, 739, 44, 720, 59, 356, 370, 329,
954, 329, 41, 41, 334, 44, 247, 380, 343, 59,
372, 40, 370, 46, 376, 397, 647, 279, 279, 954,
59, 356, 653, 44, 396, 656, 271, 266, 267, 279,
412, 309, 277, 405, 60, 397, 61, 480, 396, 411,
422, 345, 354, 486, 666, 381, 651, 354, 707, 421,
412, 345, 309, 411, 713, 714, 417, 418, 91, 719,
422, 721, 279, 421, 305, 701, 591, 263, 326, 642,
707, 279, 457, 10, 279, 447, 713, 714, 450, 461,
457, 852, 378, 379, 830, 722, 458, 443, 853, 729,
44, 330, 331, 332, 333, 457, 335, 336, 964, 461,
343, 274, 738, 485, 41, 738, 467, 123, 2, 3,
4, 5, 484, 356, 8, 9, 472, 642, 12, 279,
14, 15, 16, 485, 597, 19, 484, 499, 458, 501,
44, 578, 428, 505, 343, 380, 852, 467, 270, 366,
613, 666, 369, 370, 480, 10, 892, 356, 343, 0,
486, 810, 44, 47, 547, 598, 573, 51, 326, 10,
399, 356, 366, 408, 769, 369, 370, 61, 585, 10,
492, 416, 41, 810, 366, 568, 41, 369, 370, 279,
10, 426, 343, 565, 10, 46, 558, 559, 560, 343,
41, 573, 665, 44, 611, 356, 90, 833, 565, 345,
41, 573, 356, 585, 279, 10, 573, 680, 59, 10,
10, 41, 937, 585, 108, 41, 110, 610, 585, 10,
270, 10, 853, 10, 366, 10, 608, 369, 370, 611,
91, 624, 10, 93, 366, 10, 604, 369, 370, 611,
41, 634, 603, 125, 283, 617, 618, 309, 620, 44,
41, 614, 614, 638, 44, 627, 41, 44, 10, 59,
352, 638, 598, 41, 10, 838, 41, 326, 513, 637,
59, 844, 59, 269, 125, 44, 638, 670, 938, 651,
326, 707, 708, 270, 59, 723, 729, 713, 714, 682,
267, 10, 41, 10, 40, 317, 722, 269, 654, 354,
46, 774, 373, 44, 198, 44, 377, 59, 701, 125,
343, 10, 44, 59, 208, 209, 366, 61, 10, 369,
370, 617, 44, 356, 41, 364, 10, 366, 312, 313,
369, 370, 10, 44, 268, 269, 305, 124, 272, 721,
59, 305, 413, 414, 61, 91, 10, 345, 720, 298,
125, 345, 44, 315, 676, 677, 318, 319, 730, 721,
59, 834, 720, 10, 258, 604, 345, 59, 61, 263,
742, 732, 266, 267, 746, 59, 10, 271, 345, 740,
748, 59, 276, 277, 810, 10, 271, 272, 718, 44,
284, 462, 269, 729, 272, 59, 125, 769, 637, 760,
345, 295, 10, 46, 797, 367, 368, 41, 44, 10,
782, 783, 59, 785, 345, 787, 267, 268, 269, 791,
271, 272, 794, 274, 796, 59, 40, 799, 821, 10,
44, 269, 46, 345, 59, 329, 330, 331, 332, 333,
334, 335, 336, 294, 295, 296, 297, 298, 91, 896,
345, 59, 125, 775, 125, 777, 58, 702, 59, 345,
705, 706, 93, 44, 268, 801, 269, 267, 268, 269,
268, 269, 272, 346, 10, 14, 370, 91, 59, 373,
852, 270, 343, 377, 378, 379, 380, 381, 269, 345,
269, 44, 267, 268, 269, 356, 271, 272, 44, 274,
745, 837, 396, 41, 398, 399, 46, 315, 59, 748,
318, 319, 757, 758, 408, 366, 44, 411, 369, 370,
765, 914, 416, 59, 270, 44, 124, 421, 44, 281,
44, 70, 426, 44, 856, 857, 305, 44, 307, 308,
309, 310, 44, 788, 789, 917, 918, 919, 920, 268,
269, 91, 924, 925, 926, 927, 938, 929, 125, 367,
368, 269, 279, 269, 458, 937, 366, 939, 940, 369,
370, 964, 0, 467, 269, 269, 938, 366, 270, 937,
369, 370, 10, 269, 829, 269, 480, 909, 272, 911,
484, 366, 486, 44, 369, 370, 841, 343, 125, 269,
972, 973, 974, 975, 976, 269, 309, 271, 272, 124,
356, 269, 984, 41, 366, 125, 44, 369, 370, 513,
366, 943, 269, 369, 370, 272, 309, 274, 44, 15,
16, 59, 44, 19, 44, 366, 707, 708, 369, 370,
44, 10, 713, 714, 44, 270, 269, 366, 44, 283,
369, 370, 269, 274, 346, 900, 44, 902, 44, 45,
905, 269, 201, 49, 50, 279, 93, 366, 207, 270,
369, 370, 41, 125, 366, 61, 62, 369, 370, 274,
751, 752, 366, 754, 755, 369, 370, 41, 366, 270,
59, 369, 370, 41, 93, 125, 235, 125, 237, 93,
343, 58, 366, 93, 598, 369, 370, 269, 5, 940,
604, 605, 6, 356, 2, 3, 4, 5, 458, 366,
939, 346, 369, 370, 12, 875, 833, 683, 676, 343,
364, 724, 366, 944, 366, 369, 370, 369, 370, 810,
279, 366, 356, 637, 369, 370, 12, 286, 10, 288,
240, 312, -1, 292, -1, 10, 125, -1, 366, 47,
-1, 369, 370, 51, -1, 366, -1, -1, 369, 370,
294, 295, 296, 297, 298, 846, -1, 125, 40, 41,
-1, -1, 44, -1, 46, 366, -1, -1, 369, 370,
329, 46, 305, -1, 307, 308, 309, 310, 316, 61,
318, 319, 90, 343, 59, -1, 41, -1, 702, -1,
-1, 705, 706, 707, 708, -1, 356, -1, -1, 713,
714, -1, 110, -1, 718, -1, 720, -1, 722, 91,
366, -1, -1, 369, 370, 729, 91, -1, -1, 267,
268, 269, 270, 271, 272, 739, 274, -1, -1, 367,
368, 745, -1, -1, 748, -1, -1, 243, 244, 245,
246, 123, 248, 757, 758, -1, 294, 295, 296, 297,
298, 765, 258, -1, -1, -1, -1, 263, 417, 418,
-1, -1, -1, -1, 10, -1, -1, -1, -1, -1,
125, 0, -1, -1, 788, 789, -1, 38, 267, 268,
269, 10, 271, 272, -1, 274, -1, 801, -1, 305,
198, 307, 308, 309, 310, 41, 810, -1, 346, 267,
268, 269, 313, 271, 272, 316, 274, 318, 467, 320,
-1, 322, 41, 59, -1, 829, 830, -1, 366, -1,
-1, 369, 370, 837, 317, 318, 319, 841, -1, -1,
59, 337, 338, 339, 340, 341, 342, 343, 344, 345,
346, 347, 348, 349, 350, 351, 352, 353, 354, 355,
356, 357, 358, 359, 360, 361, 362, -1, -1, -1,
-1, 10, -1, 271, 370, -1, -1, 373, 276, 277,
-1, 377, 378, 379, 367, 368, 284, 366, 892, 125,
369, 370, -1, -1, -1, -1, 900, 295, 902, 38,
396, 905, -1, 42, 10, 270, 125, 279, 280, 305,
-1, 307, 308, 309, 310, 411, 10, 413, 414, 415,
-1, 10, 267, 268, 269, 421, 271, 272, 10, 274,
-1, 329, 428, 937, 40, 41, 334, 438, 44, -1,
46, 437, -1, 439, -1, -1, 40, 443, 444, -1,
-1, 347, 46, -1, 603, 61, -1, 46, 2, 3,
4, 5, 6, -1, 46, 59, 462, 44, 12, 46,
59, 343, -1, -1, -1, 373, 472, 59, 343, 377,
378, -1, 380, 381, 356, 91, -1, -1, 484, -1,
44, 356, 46, 642, -1, -1, -1, 91, -1, -1,
398, 366, 91, 47, 369, 370, -1, 51, -1, 91,
408, 512, 508, -1, 91, -1, -1, 666, 416, 316,
-1, 318, 319, -1, -1, -1, 522, 523, 426, 123,
-1, 267, 268, 269, 37, 271, 272, 91, 274, 42,
43, 123, 45, -1, 47, -1, 90, -1, 267, 268,
269, 270, 271, 272, 305, 274, 307, 308, 309, 310,
458, -1, 281, 10, -1, 10, 110, -1, -1, 467,
367, 368, 291, 292, -1, 294, 295, 296, 297, 298,
-1, -1, 480, 732, -1, 317, 318, 319, 486, -1,
-1, 740, 588, 40, -1, 40, 347, 44, -1, 46,
-1, 46, -1, 354, -1, -1, -1, -1, 10, -1,
-1, 760, 59, -1, 59, 513, -1, -1, -1, -1,
501, 617, -1, -1, 505, 10, -1, -1, 10, -1,
366, -1, -1, 369, 370, 367, 368, -1, -1, 41,
-1, -1, 44, -1, 91, -1, 91, 366, -1, 645,
369, 370, 648, -1, 198, 40, -1, 59, 654, 41,
656, 46, 44, -1, 46, -1, 305, -1, 307, 308,
309, 310, -1, 279, 59, -1, 270, 124, 123, 61,
-1, 270, -1, 38, -1, 40, 280, 42, 270, 838,
-1, 2, 3, -1, -1, 844, -1, -1, 280, -1,
598, 12, 279, -1, -1, -1, 91, 605, 347, 91,
-1, 707, 708, -1, 353, 354, -1, 713, 714, 0,
-1, 717, 124, -1, 720, 279, 722, 271, -1, 10,
726, -1, 276, 277, -1, -1, 47, 343, 123, -1,
284, 315, 316, 317, 318, 319, 320, -1, -1, 343,
356, 295, 10, -1, 343, 751, 752, -1, 754, 755,
41, 343, 356, 44, -1, -1, 343, 356, 764, -1,
-1, -1, 366, -1, 356, 369, 370, 366, 59, 356,
369, 370, -1, 41, 366, 329, 44, 369, 370, 343,
334, -1, -1, 367, 368, -1, -1, 793, -1, 110,
-1, 59, 356, -1, 702, -1, -1, 705, 706, 707,
-1, -1, 93, -1, 810, 713, 714, -1, -1, -1,
718, -1, -1, 326, 722, 270, -1, -1, -1, 38,
826, 729, -1, 42, -1, 280, 380, 381, 341, 342,
-1, 739, -1, -1, 125, -1, -1, 745, -1, -1,
846, -1, -1, -1, 398, 2, 3, 853, -1, 757,
758, -1, -1, -1, 408, -1, 124, 765, 37, 38,
-1, -1, 416, 42, 43, -1, 45, -1, 47, -1,
-1, 283, 426, -1, -1, 270, -1, 198, -1, -1,
788, 789, -1, -1, -1, 280, 343, 279, 343, -1,
47, 782, 783, 801, 785, -1, 787, -1, -1, 356,
791, 356, 810, 794, 458, 796, -1, -1, 799, -1,
-1, 366, -1, 467, 369, 370, 317, 318, 319, 320,
-1, 829, 830, -1, -1, -1, 480, -1, -1, 837,
-1, 937, 486, 841, -1, 317, 318, 319, 320, -1,
305, -1, 307, 308, 309, 310, -1, -1, 343, -1,
271, 343, 364, 110, 366, 276, 277, 369, 370, 513,
-1, 356, -1, 284, 356, -1, 367, 368, 317, 318,
319, 366, -1, -1, 369, 370, 267, 268, 269, 270,
271, 272, 347, 274, 892, 367, 368, -1, 353, 354,
281, 282, 900, -1, 902, -1, -1, 905, -1, 0,
291, 292, -1, 294, 295, 296, 297, 298, 329, 10,
-1, -1, -1, 334, -1, 283, -1, -1, 367, 368,
317, 318, 319, -1, -1, -1, 917, 918, 919, 920,
-1, -1, -1, 924, 925, 926, 927, -1, 929, -1,
41, 198, -1, 44, 598, -1, -1, -1, -1, -1,
-1, 605, 373, -1, -1, -1, 377, 378, 59, 380,
-1, 352, -1, 0, -1, 317, 318, 319, -1, -1,
367, 368, -1, 10, -1, 366, -1, 398, 369, 370,
-1, 972, 973, 974, 975, 976, 305, 408, 307, 308,
309, 310, -1, 984, -1, 416, 364, -1, 366, -1,
-1, 369, 370, -1, 41, 426, 10, 44, -1, 10,
-1, -1, -1, -1, 271, 367, 368, -1, -1, 276,
277, -1, 59, -1, 125, -1, -1, 284, 347, -1,
-1, -1, -1, -1, 353, 354, -1, 458, -1, 40,
41, -1, 46, 44, -1, 46, 467, 326, 702, -1,
10, 705, 706, -1, -1, 59, 93, -1, -1, -1,
61, -1, 341, 342, 718, -1, -1, 317, 318, 319,
-1, -1, 329, -1, -1, 729, -1, 334, 10, -1,
40, 41, -1, -1, 44, 739, 46, 91, 125, -1,
91, 745, 513, 317, 318, 319, -1, -1, 317, 318,
319, 61, -1, 757, 758, -1, 38, -1, 40, -1,
42, 765, -1, -1, 46, -1, 373, 367, 368, -1,
377, 378, 123, 380, -1, -1, -1, 59, -1, -1,
-1, 91, -1, -1, 788, 789, -1, -1, -1, -1,
-1, 398, -1, 367, 368, -1, -1, 801, 367, 368,
-1, 408, -1, -1, -1, -1, -1, -1, -1, 416,
-1, -1, -1, 123, -1, -1, 267, 268, 269, 426,
271, 272, -1, 274, -1, 829, 830, -1, -1, -1,
-1, -1, -1, 837, 605, -1, -1, 841, -1, 10,
291, 292, 10, 294, 295, 296, 297, -1, -1, -1,
-1, 458, -1, 38, -1, 40, -1, 42, -1, -1,
467, -1, -1, -1, -1, -1, -1, -1, -1, -1,
41, -1, 40, 44, -1, 46, 44, -1, 46, -1,
267, 268, 269, 270, 271, 272, -1, 274, 892, -1,
61, 59, -1, -1, 281, 282, 900, -1, 902, -1,
-1, 905, -1, -1, 291, 292, 513, 294, 295, 296,
297, 298, -1, 4, 5, 366, 270, -1, 369, 370,
91, 12, -1, 91, -1, -1, -1, -1, 279, 280,
-1, 702, -1, -1, 705, 706, 707, -1, -1, -1,
-1, -1, 713, 714, -1, -1, -1, 718, -1, -1,
-1, 722, 123, 44, 45, 123, 124, -1, 49, 50,
51, -1, -1, -1, -1, 352, -1, -1, 739, 279,
280, 62, -1, -1, 745, -1, -1, -1, -1, 366,
-1, -1, 369, 370, -1, -1, 757, 758, -1, 343,
-1, -1, 343, -1, 765, -1, -1, 40, 605, 90,
-1, 44, 356, 46, -1, 356, -1, -1, -1, 10,
-1, -1, 366, -1, -1, 369, 370, 788, 789, -1,
-1, -1, -1, 305, -1, 307, 308, 309, 310, -1,
-1, -1, -1, 343, 0, -1, -1, -1, -1, 810,
41, -1, -1, 44, 10, 46, 356, -1, 91, -1,
-1, -1, -1, -1, -1, -1, -1, -1, 829, 830,
61, 343, -1, -1, -1, 347, 837, -1, -1, -1,
841, 353, 354, -1, -1, 41, -1, -1, 44, -1,
123, -1, 10, -1, 366, -1, -1, 369, 370, -1,
91, -1, 58, 59, -1, 702, -1, 63, 705, 706,
707, -1, -1, -1, -1, -1, 713, 714, 279, 280,
-1, 718, 280, 41, -1, 722, 44, -1, 46, -1,
305, 892, 307, 308, 309, 310, -1, 93, -1, 900,
-1, 902, 739, 61, 905, -1, -1, -1, 745, -1,
-1, 305, -1, 307, 308, 309, 310, -1, -1, -1,
757, 758, 243, 244, 245, 246, -1, 248, 765, 125,
-1, -1, 347, 91, -1, -1, -1, 0, 353, 354,
-1, -1, 343, -1, -1, 343, -1, 10, -1, -1,
-1, 788, 789, 347, -1, 356, 0, -1, 356, 353,
305, -1, 307, 308, 309, 310, 10, -1, -1, -1,
-1, -1, -1, 810, 295, -1, -1, -1, 41, -1,
-1, 44, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, 829, 830, -1, -1, 59, 41, -1, -1,
44, -1, 347, -1, 841, -1, 279, 280, 353, -1,
-1, -1, -1, -1, 58, 59, 337, 338, 339, 340,
341, 342, 343, 344, 345, 346, 347, 348, 349, 350,
351, 352, 353, 354, 355, 356, 357, 358, 359, 360,
361, 362, -1, -1, -1, -1, -1, -1, 279, 93,
-1, -1, 40, -1, -1, 892, 44, -1, 46, -1,
381, -1, 125, 900, -1, 902, -1, -1, 905, -1,
343, 267, 268, 269, 270, 271, 272, -1, 274, -1,
-1, 125, 44, 356, 46, 281, 282, 283, -1, -1,
-1, -1, 413, 414, 415, 291, 292, -1, 294, 295,
296, 297, 298, 91, -1, -1, -1, 428, -1, -1,
-1, -1, 343, -1, -1, -1, 437, 0, 439, -1,
-1, 279, 443, 444, -1, 356, -1, 10, -1, 91,
-1, -1, 40, -1, -1, 123, 44, -1, 46, -1,
-1, 462, -1, -1, -1, -1, -1, -1, -1, -1,
346, 472, -1, -1, -1, -1, 352, -1, 41, 480,
-1, 123, -1, -1, -1, 486, -1, -1, 364, -1,
366, -1, -1, 369, 370, -1, 59, -1, -1, -1,
-1, -1, -1, 91, -1, 343, -1, 508, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, 356, -1,
-1, 522, 523, -1, 267, 268, 269, 270, 271, 272,
-1, 274, -1, -1, -1, 123, -1, -1, -1, -1,
-1, -1, -1, 267, 268, 269, 270, 271, 272, -1,
274, 294, 295, 296, 297, 298, -1, 281, 282, 283,
-1, -1, 125, -1, -1, -1, -1, 291, 292, -1,
294, 295, 296, 297, 298, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, 588, -1, -1,
-1, -1, -1, -1, -1, -1, -1, 598, -1, -1,
-1, -1, -1, 346, -1, -1, -1, -1, -1, -1,
-1, 279, 280, -1, -1, -1, 617, -1, -1, 0,
-1, -1, 346, 366, -1, -1, 369, 370, 352, 10,
-1, -1, -1, -1, -1, -1, -1, 279, 280, -1,
364, -1, 366, -1, 645, 369, 370, 648, -1, -1,
-1, -1, 33, 654, -1, 656, 37, 38, -1, 40,
41, 42, 43, 44, 45, 46, 47, -1, -1, -1,
-1, -1, -1, -1, -1, 343, -1, 58, 59, 60,
61, 62, 63, -1, -1, -1, -1, -1, 356, -1,
-1, 279, 280, -1, -1, -1, -1, -1, -1, -1,
-1, 343, -1, -1, 267, 268, 269, 270, 271, 272,
91, 274, 93, 94, 356, -1, 717, -1, 281, -1,
-1, -1, -1, -1, -1, 726, -1, -1, 729, -1,
-1, 294, 295, 296, 297, 298, 0, -1, -1, -1,
-1, -1, 123, 124, 125, 126, 10, -1, -1, -1,
751, 752, -1, 754, 755, 343, -1, -1, -1, -1,
-1, -1, -1, 764, -1, -1, -1, -1, 356, 33,
-1, -1, -1, 37, 38, -1, 40, 41, 42, 43,
44, 45, 46, 47, -1, -1, -1, -1, -1, -1,
-1, -1, 793, -1, 58, 59, 60, 61, 62, 63,
801, -1, -1, 366, -1, -1, 369, 370, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, 826, -1, 91, -1, 93,
94, -1, -1, -1, -1, -1, 837, -1, -1, -1,
-1, -1, -1, -1, -1, 846, -1, -1, -1, -1,
-1, -1, 853, -1, -1, -1, -1, -1, -1, 123,
124, 125, 126, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, 257, 258, 259, 260,
261, 262, 263, 264, 265, -1, 267, 268, 269, 270,
271, 272, 273, 274, 275, 276, 277, 278, 279, 280,
281, 282, 283, 284, 285, 286, 287, 288, 289, 290,
291, 292, 293, 294, 295, 296, 297, 298, -1, -1,
-1, 302, 303, -1, 305, 306, 307, 308, 309, 310,
311, 312, 313, 314, -1, -1, 317, -1, -1, 320,
321, 322, -1, 324, 325, 326, 327, 328, 329, 330,
331, 332, 333, 334, 335, 336, 337, 338, -1, -1,
341, 342, 343, 344, 345, 346, 347, 348, -1, 350,
351, 352, 353, 354, 355, 356, 357, 358, 359, 360,
361, 362, -1, 364, 365, 366, -1, -1, 369, 370,
-1, 372, -1, 257, 258, 259, 260, 261, 262, 263,
264, 265, -1, 267, 268, 269, 270, 271, 272, 273,
274, 275, 276, 277, 278, 279, 280, 281, 282, 283,
284, 285, 286, 287, 288, 289, 290, 291, 292, 293,
294, 295, 296, 297, 298, -1, -1, -1, 302, 303,
-1, 305, 306, 307, 308, 309, 310, 311, 312, 313,
314, -1, -1, 317, -1, -1, 320, 321, 322, -1,
324, 325, 326, 327, 328, 329, 330, 331, 332, 333,
334, 335, 336, 337, 338, -1, -1, 341, 342, 343,
344, 345, 346, 347, 348, -1, 350, 351, 352, 353,
354, 355, 356, 357, 358, 359, 360, 361, 362, 0,
364, 365, 366, -1, -1, 369, 370, -1, 372, 10,
37, 38, -1, -1, -1, 42, 43, -1, 45, -1,
47, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, 33, -1, -1, -1, 37, 38, -1, 40,
41, 42, 43, 44, 45, 46, 47, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, 58, 59, 60,
61, 62, 63, -1, -1, -1, -1, 94, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
91, -1, 93, 94, -1, -1, -1, 124, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, 0, -1, -1, -1,
-1, -1, 123, 124, 125, 126, 10, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, 33,
-1, -1, -1, 37, 38, -1, 40, 41, 42, 43,
44, 45, 46, 47, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, 58, 59, 60, 61, 62, 63,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, 91, -1, 93,
94, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, 123,
124, 125, 126, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, 257, 258, 259, 260,
261, 262, 263, 264, 265, -1, 267, 268, 269, 270,
271, 272, 273, 274, 275, 276, 277, 278, -1, 280,
281, 282, 283, 284, 285, 286, 287, 288, 289, 290,
291, 292, 293, 294, 295, 296, 297, 298, -1, 326,
-1, 302, 303, -1, 305, 306, 307, 308, 309, 310,
311, 312, 313, 314, 341, 342, 317, -1, -1, 320,
321, 322, -1, 324, 325, 326, 327, 328, 329, 330,
331, 332, 333, 334, 335, 336, 337, 338, -1, -1,
341, 342, 343, 344, -1, 346, 347, 348, -1, 350,
351, 352, 353, 354, 355, 356, 357, 358, 359, 360,
361, 362, -1, 364, 365, 366, -1, -1, 369, 370,
-1, 372, -1, 257, 258, 259, 260, 261, 262, 263,
264, 265, -1, 267, 268, 269, 270, 271, 272, 273,
274, 275, 276, 277, 278, -1, 280, 281, 282, 283,
284, 285, 286, 287, 288, 289, 290, 291, 292, 293,
294, 295, 296, 297, 298, -1, -1, -1, 302, 303,
-1, 305, 306, 307, 308, 309, 310, 311, 312, 313,
314, -1, -1, 317, -1, -1, 320, 321, 322, -1,
324, 325, 326, 327, 328, 329, 330, 331, 332, 333,
334, 335, 336, 337, 338, -1, -1, 341, 342, 343,
344, -1, 346, 347, 348, -1, 350, 351, 352, 353,
354, 355, 356, 357, 358, 359, 360, 361, 362, 0,
364, 365, 366, -1, -1, 369, 370, -1, 372, 10,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, 33, -1, -1, -1, 37, 38, -1, 40,
41, 42, 43, 44, 45, 46, 47, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, 58, 59, 60,
61, 62, 63, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
91, -1, 93, 94, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, 0, -1, -1, -1,
-1, -1, 123, 124, 125, 126, 10, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, 33,
-1, -1, -1, 37, 38, -1, 40, 41, 42, 43,
44, 45, 46, 47, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, 58, 59, 60, -1, 62, 63,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, 91, -1, 93,
94, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, 123,
124, 125, 126, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, 257, 258, 259, 260,
261, 262, 263, 264, 265, -1, 267, 268, 269, 270,
271, 272, 273, 274, 275, 276, 277, 278, -1, 280,
281, 282, 283, 284, 285, 286, 287, 288, 289, 290,
291, 292, 293, 294, 295, 296, 297, 298, -1, -1,
-1, 302, 303, -1, 305, 306, 307, 308, 309, 310,
311, 312, 313, 314, -1, -1, 317, -1, -1, 320,
321, 322, -1, 324, 325, 326, 327, 328, 329, 330,
331, 332, 333, 334, 335, 336, 337, 338, -1, -1,
341, 342, 343, 344, -1, 346, 347, 348, -1, 350,
351, 352, 353, 354, 355, 356, 357, 358, 359, 360,
361, 362, -1, 364, 365, 366, -1, -1, 369, 370,
-1, 372, -1, 257, 258, 259, 260, 261, 262, 263,
264, 265, -1, 267, 268, 269, 270, 271, 272, 273,
274, 275, 276, 277, 278, -1, 280, 281, 282, 283,
284, 285, 286, 287, 288, 289, 290, 291, 292, 293,
294, 295, 296, 297, 298, -1, -1, -1, 302, 303,
-1, 305, 306, 307, 308, 309, 310, 311, 312, 313,
314, -1, -1, 317, -1, -1, 320, 321, 322, -1,
324, 325, 326, 327, 328, 329, 330, 331, 332, 333,
334, 335, 336, 337, 338, -1, -1, 341, 342, 343,
344, -1, 346, 347, 348, -1, 350, 351, 352, 353,
354, 355, 356, 357, 358, 359, 360, 361, 362, 0,
364, 365, 366, -1, -1, 369, 370, -1, 372, 10,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, 33, -1, -1, -1, 37, 38, -1, 40,
41, 42, 43, 44, 45, 46, 47, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, 58, 59, 60,
-1, 62, 63, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
91, -1, 93, 94, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, 0, -1, -1, -1,
-1, -1, 123, 124, 125, 126, 10, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, 33,
-1, -1, -1, 37, 38, -1, 40, 41, 42, 43,
44, 45, 46, 47, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, 58, 59, 60, -1, 62, 63,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, 91, -1, 93,
94, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, 123,
124, 125, 126, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, 257, 258, 259, 260,
261, 262, 263, 264, 265, -1, 267, 268, 269, 270,
271, 272, 273, 274, 275, 276, 277, 278, -1, 280,
281, 282, 283, 284, 285, 286, 287, 288, 289, 290,
291, 292, 293, 294, 295, 296, 297, 298, -1, -1,
-1, 302, 303, -1, 305, 306, 307, 308, 309, 310,
311, 312, 313, 314, -1, -1, 317, -1, -1, 320,
321, 322, -1, 324, 325, 326, 327, 328, 329, 330,
331, 332, 333, 334, 335, 336, 337, 338, -1, -1,
341, 342, 343, 344, -1, 346, 347, 348, -1, 350,
351, 352, 353, 354, 355, 356, 357, 358, 359, 360,
361, 362, -1, 364, 365, 366, -1, -1, 369, 370,
-1, 372, -1, 257, 258, 259, 260, 261, 262, 263,
264, 265, -1, 267, 268, 269, 270, 271, 272, 273,
274, 275, 276, 277, 278, -1, 280, 281, 282, 283,
284, 285, 286, 287, 288, 289, 290, 291, 292, 293,
294, 295, 296, 297, 298, -1, -1, -1, 302, 303,
-1, 305, 306, 307, 308, 309, 310, 311, 312, 313,
314, -1, -1, 317, -1, -1, 320, 321, 322, -1,
324, 325, 326, 327, 328, 329, 330, 331, 332, 333,
334, 335, 336, 337, 338, -1, -1, 341, 342, 343,
344, -1, 346, 347, 348, -1, 350, 351, 352, 353,
354, 355, 356, 357, 358, 359, 360, 361, 362, 0,
364, 365, 366, -1, -1, 369, 370, -1, 372, 10,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, 33, -1, -1, -1, 37, 38, -1, 40,
41, 42, 43, 44, 45, 46, 47, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, 58, 59, 60,
61, 62, 63, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
91, -1, 93, 94, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, 0, -1, -1, -1,
-1, -1, -1, 124, 125, 126, 10, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, 33,
-1, -1, -1, 37, 38, -1, -1, 41, 42, 43,
44, 45, 46, 47, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, 59, 60, -1, 62, 63,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
10, -1, -1, -1, -1, -1, -1, 91, -1, 93,
94, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, 38, -1,
40, -1, 42, -1, -1, -1, 46, -1, -1, 123,
124, 125, 126, -1, -1, -1, -1, -1, -1, 59,
-1, -1, -1, -1, -1, -1, 257, 258, 259, 260,
261, 262, 263, 264, 265, -1, 267, 268, 269, 270,
271, 272, 273, 274, 275, 276, 277, 278, -1, -1,
281, 282, 283, 284, 285, 286, 287, 288, 289, 290,
291, 292, 293, 294, 295, 296, 297, 298, -1, -1,
-1, 302, 303, -1, 305, 306, 307, 308, 309, 310,
311, 312, 313, 314, -1, -1, 317, -1, -1, 320,
321, 322, -1, 324, 325, 326, 327, 328, 329, 330,
331, 332, 333, 334, 335, 336, 337, 338, -1, -1,
341, 342, 343, 344, -1, 346, 347, 348, -1, 350,
351, 352, 353, 354, 355, 356, 357, 358, 359, 360,
361, 362, -1, 364, 365, 366, -1, -1, 369, 370,
-1, 372, -1, 257, 258, 259, 260, 261, 262, 263,
264, 265, -1, 267, 268, 269, 270, 271, 272, 273,
274, 275, 276, 277, 278, -1, 280, 281, 282, -1,
284, 285, 286, 287, 288, 289, 290, 291, 292, 293,
294, 295, 296, 297, 298, -1, -1, -1, 302, 303,
-1, 305, 306, 307, 308, 309, 310, 311, 312, 313,
314, -1, -1, 317, -1, -1, 320, 321, 322, -1,
324, 325, 326, 327, 328, 329, 330, 331, 332, 333,
334, 335, 336, 337, 338, -1, -1, 341, 342, 343,
344, -1, 346, 347, 348, -1, 350, 351, 352, 353,
354, 355, 356, 357, 358, 359, 360, 361, 362, 0,
-1, 365, 366, -1, -1, 369, 370, -1, 372, 10,
-1, -1, -1, -1, -1, 305, -1, 307, 308, 309,
310, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, 33, -1, -1, -1, 37, 38, -1, -1,
41, 42, 43, 44, 45, 46, 47, -1, -1, -1,
-1, -1, -1, 343, -1, -1, -1, 347, 59, 60,
-1, 62, 63, 353, 354, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, 366, -1, -1, 369,
370, -1, -1, -1, -1, -1, -1, -1, -1, -1,
91, -1, 93, 94, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, 0, -1, -1, -1,
-1, -1, 123, 124, 125, 126, 10, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, 33,
-1, -1, -1, 37, 38, -1, -1, 41, 42, 43,
44, 45, 46, 47, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, 59, 60, -1, 62, 63,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
10, -1, -1, -1, -1, -1, -1, 91, -1, 93,
94, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, 38, -1,
40, -1, 42, -1, -1, -1, 46, -1, -1, -1,
124, 125, 126, -1, -1, -1, -1, -1, -1, 59,
-1, -1, -1, -1, -1, -1, 257, 258, 259, 260,
261, 262, 263, 264, 265, -1, 267, 268, 269, 270,
271, 272, 273, 274, 275, 276, 277, 278, -1, 280,
281, 282, -1, 284, 285, 286, 287, 288, 289, 290,
291, 292, 293, 294, 295, 296, 297, 298, -1, -1,
-1, 302, 303, -1, 305, 306, 307, 308, 309, 310,
311, 312, 313, 314, -1, -1, 317, -1, -1, 320,
321, 322, -1, 324, 325, 326, 327, 328, 329, 330,
331, 332, 333, 334, 335, 336, 337, 338, -1, -1,
341, 342, 343, 344, -1, 346, 347, 348, -1, 350,
351, 352, 353, 354, 355, 356, 357, 358, 359, 360,
361, 362, -1, -1, 365, 366, -1, -1, 369, 370,
-1, 372, -1, 257, 258, 259, 260, 261, 262, 263,
264, 265, -1, 267, 268, 269, 270, 271, 272, 273,
274, 275, 276, 277, 278, -1, -1, 281, 282, -1,
284, 285, 286, 287, 288, 289, 290, 291, 292, 293,
294, 295, 296, 297, 298, -1, -1, -1, 302, 303,
-1, 305, 306, 307, 308, 309, 310, 311, 312, 313,
314, -1, -1, 317, -1, -1, 320, 321, 322, -1,
324, 325, 326, 327, 328, 329, 330, 331, 332, 333,
334, 335, 336, 337, 338, -1, -1, 341, 342, 343,
344, -1, 346, 347, 348, -1, 350, 351, 352, 353,
354, 355, 356, 357, 358, 359, 360, 361, 362, 0,
-1, 365, 366, -1, -1, 369, 370, -1, 372, 10,
-1, -1, -1, -1, -1, 305, -1, 307, 308, 309,
310, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, 33, -1, -1, -1, 37, 38, -1, 40,
41, 42, 43, 44, 45, 46, 47, -1, -1, -1,
-1, -1, -1, 343, -1, -1, -1, 347, 59, 60,
61, 62, 63, 353, 354, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, 366, -1, -1, 369,
370, -1, -1, -1, -1, -1, -1, -1, -1, -1,
91, -1, -1, 94, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, 0, -1, -1, -1,
-1, -1, 123, 124, 125, 126, 10, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, 33,
-1, -1, -1, 37, 38, -1, 40, 41, 42, 43,
44, 45, 46, 47, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, 59, 60, 61, 62, 63,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
10, -1, -1, -1, -1, -1, -1, 91, -1, -1,
94, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, 38, -1,
40, -1, 42, -1, -1, -1, 46, -1, -1, 123,
124, 125, 126, -1, -1, -1, -1, -1, -1, 59,
-1, -1, -1, -1, -1, -1, 257, 258, 259, 260,
261, 262, 263, 264, 265, -1, 267, 268, 269, -1,
271, 272, 273, 274, 275, 276, 277, 278, -1, 280,
-1, -1, -1, 284, 285, 286, 287, 288, 289, 290,
291, 292, 293, 294, 295, 296, 297, 298, -1, -1,
-1, 302, 303, -1, 305, 306, 307, 308, 309, 310,
311, 312, 313, 314, -1, -1, 317, -1, -1, 320,
321, 322, -1, 324, 325, 326, 327, 328, 329, 330,
331, 332, 333, 334, 335, 336, 337, 338, -1, -1,
341, 342, 343, 344, -1, -1, 347, 348, -1, 350,
351, -1, 353, 354, 355, 356, 357, 358, 359, 360,
361, 362, -1, -1, 365, 366, -1, -1, 369, 370,
-1, 372, -1, 257, 258, 259, 260, 261, 262, 263,
264, 265, -1, 267, 268, 269, -1, 271, 272, 273,
274, 275, 276, 277, 278, -1, 280, -1, -1, -1,
284, 285, 286, 287, 288, 289, 290, 291, 292, 293,
294, 295, 296, 297, 298, -1, -1, -1, 302, 303,
-1, 305, 306, 307, 308, 309, 310, 311, 312, 313,
314, -1, -1, 317, -1, -1, 320, 321, 322, -1,
324, 325, 326, 327, 328, 329, 330, 331, 332, 333,
334, 335, 336, 337, 338, -1, -1, 341, 342, 343,
344, -1, -1, 347, 348, -1, 350, 351, -1, 353,
354, 355, 356, 357, 358, 359, 360, 361, 362, 0,
-1, 365, 366, -1, -1, 369, 370, -1, 372, 10,
-1, -1, -1, -1, -1, 305, -1, 307, 308, 309,
310, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, 33, -1, -1, -1, 37, 38, -1, 40,
41, 42, 43, 44, 45, 46, 47, -1, -1, -1,
-1, -1, -1, 343, -1, -1, -1, 347, 59, 60,
61, 62, 63, 353, 354, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, 366, -1, -1, 369,
370, -1, -1, -1, -1, -1, -1, -1, -1, -1,
91, -1, -1, 94, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, 0, -1, -1, -1,
-1, -1, 123, 124, 125, 126, 10, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, 33,
-1, -1, -1, 37, 38, -1, 40, 41, 42, 43,
44, 45, 46, 47, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, 59, 60, 61, 62, 63,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
10, -1, -1, -1, -1, -1, -1, 91, -1, -1,
94, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, 38, -1,
40, -1, 42, -1, -1, -1, 46, -1, -1, 123,
124, 125, 126, -1, -1, -1, -1, -1, -1, 59,
-1, -1, -1, -1, -1, -1, 257, 258, 259, 260,
261, 262, 263, 264, 265, -1, 267, 268, 269, -1,
271, 272, 273, 274, 275, 276, 277, 278, -1, 280,
-1, -1, -1, 284, 285, 286, 287, 288, 289, 290,
291, 292, 293, 294, 295, 296, 297, 298, -1, -1,
-1, 302, 303, -1, 305, 306, 307, 308, 309, 310,
311, 312, 313, 314, -1, -1, 317, -1, -1, 320,
321, 322, -1, 324, 325, 326, 327, 328, 329, 330,
331, 332, 333, 334, 335, 336, 337, 338, -1, -1,
341, 342, 343, 344, -1, -1, 347, 348, -1, 350,
351, -1, 353, 354, 355, 356, 357, 358, 359, 360,
361, 362, -1, -1, 365, 366, -1, -1, 369, 370,
-1, 372, -1, 257, 258, 259, 260, 261, 262, 263,
264, 265, -1, 267, 268, 269, -1, 271, 272, 273,
274, 275, 276, 277, 278, -1, 280, -1, -1, -1,
284, 285, 286, 287, 288, 289, 290, 291, 292, 293,
294, 295, 296, 297, 298, -1, -1, -1, 302, 303,
-1, 305, 306, 307, 308, 309, 310, 311, 312, 313,
314, -1, -1, 317, -1, -1, 320, 321, 322, -1,
324, 325, 326, 327, 328, 329, 330, 331, 332, 333,
334, 335, 336, 337, 338, -1, -1, 341, 342, 343,
344, -1, -1, 347, 348, -1, 350, 351, -1, 353,
354, 355, 356, 357, 358, 359, 360, 361, 362, 0,
-1, 365, 366, -1, -1, 369, 370, -1, 372, 10,
-1, -1, -1, -1, -1, 305, -1, 307, 308, 309,
310, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, 33, -1, -1, -1, 37, 38, -1, 40,
41, 42, 43, 44, 45, 46, 47, -1, -1, -1,
-1, -1, -1, 343, -1, -1, -1, 347, 59, 60,
61, 62, 63, 353, 354, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, 366, -1, -1, 369,
370, -1, -1, -1, -1, -1, -1, -1, -1, -1,
91, -1, -1, 94, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, 0, -1, -1, -1,
-1, -1, 123, 124, 125, 126, 10, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, 33,
-1, -1, -1, 37, 38, -1, 40, 41, 42, 43,
44, 45, 46, 47, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, 59, 60, 61, 62, 63,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
10, -1, -1, -1, -1, -1, -1, 91, -1, -1,
94, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, 38, -1,
40, -1, 42, -1, -1, -1, 46, -1, -1, 123,
124, 125, 126, -1, -1, -1, -1, -1, -1, 59,
-1, -1, -1, -1, -1, -1, 257, 258, 259, 260,
261, 262, 263, 264, 265, -1, 267, 268, 269, -1,
271, 272, 273, 274, 275, 276, 277, 278, -1, 280,
-1, -1, -1, 284, 285, 286, 287, 288, 289, 290,
291, 292, 293, 294, 295, 296, 297, 298, -1, -1,
-1, 302, 303, -1, 305, 306, 307, 308, 309, 310,
311, 312, 313, 314, -1, -1, 317, -1, -1, 320,
321, 322, -1, 324, 325, 326, 327, 328, 329, 330,
331, 332, 333, 334, 335, 336, 337, 338, -1, -1,
341, 342, 343, 344, -1, -1, 347, 348, -1, 350,
351, -1, 353, 354, 355, 356, 357, 358, 359, 360,
361, 362, -1, -1, 365, 366, -1, -1, 369, 370,
-1, 372, -1, 257, 258, 259, 260, 261, 262, 263,
264, 265, -1, 267, 268, 269, -1, 271, 272, 273,
274, 275, 276, 277, 278, -1, 280, -1, -1, -1,
284, 285, 286, 287, 288, 289, 290, 291, 292, 293,
294, 295, 296, 297, 298, -1, -1, -1, 302, 303,
-1, 305, 306, 307, 308, 309, 310, 311, 312, 313,
314, -1, -1, 317, -1, -1, 320, 321, 322, -1,
324, 325, 326, 327, 328, 329, 330, 331, 332, 333,
334, 335, 336, 337, 338, -1, -1, 341, 342, 343,
344, -1, -1, 347, 348, -1, 350, 351, -1, 353,
354, 355, 356, 357, 358, 359, 360, 361, 362, 0,
-1, 365, 366, -1, -1, 369, 370, -1, 372, 10,
-1, -1, -1, -1, -1, 305, -1, 307, 308, 309,
310, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, 33, -1, -1, -1, 37, 38, -1, 40,
41, 42, 43, 44, 45, 46, 47, -1, -1, -1,
-1, -1, -1, 343, -1, -1, -1, 347, 59, 60,
61, 62, 63, 353, 354, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, 366, -1, -1, 369,
370, -1, -1, -1, -1, -1, -1, -1, -1, -1,
91, -1, -1, 94, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, 0, -1, -1, -1,
-1, -1, -1, 124, 125, 126, 10, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, 33,
-1, -1, -1, 37, 38, -1, 40, 41, 42, 43,
44, 45, 46, 47, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, 59, 60, 61, 62, 63,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, 10, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, 91, -1, -1,
94, -1, -1, -1, -1, -1, 10, -1, -1, -1,
-1, -1, -1, -1, 38, -1, 40, -1, 42, -1,
-1, -1, 46, -1, -1, -1, -1, -1, -1, -1,
124, 125, 126, -1, 38, 59, 40, -1, 42, -1,
-1, -1, 46, -1, -1, -1, 257, 258, 259, 260,
261, 262, 263, 264, 265, 59, 267, 268, 269, -1,
271, 272, 273, 274, 275, 276, 277, 278, -1, -1,
-1, -1, -1, 284, 285, 286, 287, 288, 289, 290,
291, 292, 293, 294, 295, 296, 297, 298, -1, -1,
-1, 302, 303, -1, 305, 306, 307, 308, 309, 310,
311, 312, 313, 314, -1, -1, 317, -1, -1, 320,
321, 322, -1, 324, 325, 326, 327, 328, 329, 330,
331, 332, 333, 334, 335, 336, 337, 338, -1, -1,
341, 342, 343, 344, -1, -1, 347, 348, -1, 350,
351, -1, 353, 354, 355, 356, 357, 358, 359, 360,
361, 362, -1, -1, 365, 366, -1, -1, 369, 370,
-1, 372, -1, 257, 258, 259, 260, 261, 262, 263,
264, 265, -1, 267, 268, 269, -1, 271, 272, 273,
274, 275, 276, 277, 278, -1, -1, -1, -1, -1,
284, 285, 286, 287, 288, 289, 290, 291, 292, 293,
294, 295, 296, 297, 298, -1, -1, -1, 302, 303,
-1, 305, 306, 307, 308, 309, 310, 311, 312, 313,
314, -1, -1, 317, -1, -1, 320, 321, 322, -1,
324, 325, 326, 327, 328, 329, 330, 331, 332, 333,
334, 335, 336, 337, 338, -1, -1, 341, 342, 343,
344, -1, -1, 347, 348, -1, 350, 351, -1, 353,
354, 355, 356, 357, 358, 359, 360, 361, 362, 0,
-1, 365, 366, -1, -1, 369, 370, -1, 372, 10,
-1, 305, -1, 307, 308, 309, 310, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, 305, 33, 307, 308, 309, 310, -1, -1, -1,
41, -1, -1, -1, -1, 46, -1, -1, -1, 343,
-1, -1, -1, 347, -1, -1, -1, -1, 59, 353,
354, -1, -1, -1, -1, -1, -1, -1, -1, 343,
-1, -1, 366, 347, -1, 369, 370, -1, -1, 353,
354, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, 366, -1, -1, 369, 370, -1, -1, -1,
-1, -1, -1, -1, -1, 0, -1, -1, -1, -1,
-1, -1, -1, -1, -1, 10, -1, -1, -1, -1,
-1, -1, 123, -1, 125, 126, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, 37, 38, -1, -1, 41, 42, 43, 44,
45, 46, 47, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, 58, 59, 60, 61, 62, 63, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, 91, -1, 93, 94,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, 123, 124,
125, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, 257, 258, 259, 260,
261, 262, 263, 264, 265, -1, 267, 268, 269, 270,
271, 272, 273, 274, 275, 276, 277, 278, -1, 280,
281, -1, -1, 284, 285, 286, 287, 288, 289, 290,
291, 292, 293, 294, 295, 296, 297, 298, -1, -1,
-1, 302, 303, -1, 305, 306, 307, 308, 309, 310,
311, 312, 313, 314, -1, -1, 317, -1, -1, 320,
321, 322, -1, 324, 325, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, 343, 344, -1, -1, 347, 348, -1, 350,
351, -1, 353, 354, 355, 356, 357, 358, 359, 360,
361, 362, -1, -1, 365, 366, -1, -1, 369, 370,
-1, 372, 267, 268, 269, 270, 271, 272, -1, 274,
-1, -1, -1, -1, -1, 280, 281, 282, 283, 686,
-1, -1, 689, -1, -1, -1, 291, 292, -1, 294,
295, 296, 297, 298, 701, 37, 38, -1, -1, -1,
42, 43, -1, 45, -1, 47, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, 60, -1,
62, 326, 327, 328, 329, 330, 331, 332, 333, 334,
335, 336, 337, 338, 0, -1, 341, 342, 343, -1,
-1, 346, -1, -1, 10, -1, -1, 352, -1, -1,
-1, 356, 94, -1, -1, -1, -1, -1, -1, 364,
-1, 366, -1, -1, 369, 370, -1, -1, -1, -1,
-1, 37, 38, -1, -1, 41, 42, 43, 44, 45,
46, 47, 124, -1, -1, -1, -1, -1, -1, -1,
-1, -1, 58, 59, 60, -1, 62, 63, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, 91, -1, 93, 94, -1,
-1, -1, -1, -1, -1, -1, -1, -1, 0, -1,
-1, -1, -1, -1, -1, -1, -1, -1, 10, -1,
-1, -1, -1, -1, 861, -1, 863, 123, 124, 125,
867, -1, -1, -1, -1, -1, 873, -1, -1, -1,
-1, -1, 879, -1, -1, 37, 38, -1, -1, 41,
42, 43, 44, 45, 46, 47, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, 58, 59, 60, 61,
62, 63, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, 91,
-1, 93, 94, -1, -1, -1, -1, -1, -1, -1,
947, -1, -1, -1, -1, 952, -1, 954, -1, 956,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, 124, 125, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, 981, -1, -1, -1, -1, -1,
-1, -1, -1, -1, 326, 327, 328, 329, 330, 331,
332, 333, 334, 335, 336, -1, -1, -1, -1, 341,
342, 267, 268, 269, 270, 271, 272, -1, 274, -1,
-1, -1, -1, -1, 280, 281, 282, 283, -1, -1,
-1, -1, -1, -1, -1, 291, 292, -1, 294, 295,
296, 297, 298, -1, -1, -1, -1, -1, 0, -1,
-1, -1, -1, -1, -1, -1, -1, -1, 10, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
326, 327, 328, 329, 330, 331, 332, 333, 334, 335,
336, 337, 338, -1, -1, 341, 342, 343, -1, 41,
346, -1, 44, -1, 0, -1, 352, -1, -1, -1,
356, -1, -1, -1, 10, -1, -1, 59, 364, -1,
366, -1, -1, 369, 370, 267, 268, 269, 270, 271,
272, -1, 274, -1, -1, -1, -1, -1, -1, 281,
282, 283, -1, -1, -1, 41, -1, -1, -1, 291,
292, -1, 294, 295, 296, 297, 298, -1, -1, -1,
-1, -1, -1, 59, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, 125, 326, 327, 328, 329, 330, 331,
332, 333, 334, 335, 336, 337, 338, 0, -1, 341,
342, 343, -1, 345, 346, -1, -1, 10, -1, -1,
352, -1, -1, -1, 356, -1, -1, -1, -1, -1,
-1, -1, 364, -1, 366, -1, -1, 369, 370, 125,
-1, -1, -1, -1, 37, 38, -1, -1, 41, 42,
43, 44, 45, 46, 47, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, 58, 59, 60, -1, 62,
63, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, 91, -1,
93, 94, -1, -1, -1, -1, -1, -1, -1, -1,
-1, 0, -1, -1, -1, -1, -1, -1, -1, -1,
-1, 10, -1, -1, -1, -1, -1, -1, -1, -1,
123, 124, 125, -1, -1, 267, 268, 269, 270, 271,
272, -1, 274, -1, -1, -1, -1, -1, 37, 38,
-1, -1, 41, 42, 43, 44, 45, 46, 47, -1,
-1, -1, 294, 295, 296, 297, 298, -1, -1, 58,
59, 60, 61, 62, 63, -1, -1, -1, -1, -1,
-1, 267, 268, 269, -1, 271, 272, -1, 274, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, 91, -1, 93, 94, -1, -1, 294, 295,
296, 297, 298, -1, 346, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, 366, 124, 125, 369, 370, -1,
-1, -1, -1, 37, 38, -1, -1, -1, 42, 43,
-1, 45, -1, 47, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, 60, -1, 62, -1,
-1, -1, -1, -1, 267, 268, 269, 270, 271, 272,
366, 274, -1, 369, 370, -1, -1, 280, 281, 282,
283, -1, -1, -1, -1, -1, -1, -1, 291, 292,
94, 294, 295, 296, 297, 298, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
124, -1, -1, 326, 327, 328, 329, 330, 331, 332,
333, 334, 335, 336, 337, 338, -1, -1, 341, 342,
343, -1, -1, 346, -1, -1, -1, -1, -1, 352,
0, -1, -1, 356, -1, -1, -1, -1, -1, -1,
10, 364, -1, 366, -1, -1, 369, 370, 267, 268,
269, 270, 271, 272, -1, 274, -1, -1, -1, -1,
-1, -1, 281, 282, 283, -1, -1, -1, -1, -1,
-1, 41, 291, 292, -1, 294, 295, 296, 297, 298,
-1, -1, -1, -1, -1, -1, -1, -1, -1, 59,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, 326, 327, 328,
329, 330, 331, 332, 333, 334, 335, 336, 337, 338,
0, -1, 341, 342, 343, -1, -1, 346, -1, -1,
10, -1, -1, 352, -1, -1, -1, 356, -1, -1,
-1, -1, -1, -1, -1, 364, -1, 366, -1, -1,
369, 370, -1, -1, -1, 125, -1, 37, 38, -1,
-1, 41, 42, 43, 44, 45, 46, 47, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, 58, 59,
60, 61, 62, 63, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, 326, -1, -1, -1, -1, 331, 332, -1,
-1, 91, -1, 93, 94, -1, -1, 341, 342, -1,
-1, -1, -1, -1, 0, -1, -1, -1, -1, -1,
-1, -1, -1, -1, 10, -1, -1, -1, -1, -1,
-1, -1, -1, -1, 124, 125, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, 37, 38, -1, -1, 41, 42, 43, 44, 45,
46, 47, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, 58, 59, 60, -1, 62, 63, -1, -1,
-1, -1, -1, -1, -1, -1, -1, 267, 268, 269,
270, 271, 272, -1, 274, -1, -1, -1, -1, -1,
-1, 281, -1, -1, -1, 91, -1, 93, 94, -1,
-1, 291, 292, -1, 294, 295, 296, 297, 298, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, 124, 125,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, 267, 268, 269,
270, 271, 272, -1, 274, -1, 366, -1, -1, 369,
370, 281, 282, 283, -1, -1, -1, -1, -1, -1,
-1, 291, 292, -1, 294, 295, 296, 297, 298, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, 326, 327, 328, 329,
330, 331, 332, 333, 334, 335, 336, 337, 338, -1,
-1, 341, 342, 343, -1, -1, 346, -1, -1, -1,
-1, -1, 352, 0, -1, -1, 356, -1, -1, -1,
-1, -1, -1, 10, 364, -1, 366, -1, -1, 369,
370, 267, 268, 269, 270, 271, 272, -1, 274, -1,
-1, -1, -1, -1, -1, 281, 282, 283, -1, -1,
-1, -1, -1, -1, 41, 291, 292, -1, 294, 295,
296, 297, 298, -1, -1, -1, -1, -1, -1, -1,
-1, -1, 59, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
326, 327, 328, 329, 330, 331, 332, 333, 334, 335,
336, 337, 338, 0, -1, 341, 342, 343, -1, -1,
346, -1, -1, 10, -1, -1, 352, -1, -1, -1,
356, -1, -1, -1, -1, -1, -1, -1, 364, -1,
366, -1, -1, 369, 370, -1, -1, -1, 125, -1,
37, 38, -1, -1, 41, 42, 43, 44, 45, 46,
47, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, 58, 59, 60, -1, 62, 63, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, 91, -1, 93, 94, -1, -1,
-1, -1, -1, -1, -1, -1, -1, 0, -1, -1,
-1, -1, -1, -1, -1, -1, -1, 10, -1, -1,
-1, -1, -1, -1, -1, -1, -1, 124, 125, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, 37, 38, -1, -1, 41, 42,
43, 44, 45, 46, 47, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, 58, 59, 60, -1, 62,
63, -1, -1, -1, -1, -1, -1, -1, -1, -1,
267, 268, 269, 270, 271, 272, -1, 274, -1, -1,
-1, -1, -1, -1, 281, -1, -1, -1, 91, -1,
93, 94, -1, -1, 291, 292, -1, 294, 295, 296,
297, 298, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, 124, 125, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
267, 268, 269, 270, 271, 272, -1, 274, -1, 366,
-1, -1, 369, 370, 281, 282, 283, -1, -1, -1,
-1, -1, -1, -1, 291, 292, -1, 294, 295, 296,
297, 298, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, 326,
327, 328, 329, 330, 331, 332, 333, 334, 335, 336,
337, 338, -1, -1, 341, 342, 343, -1, -1, 346,
-1, -1, -1, -1, -1, 352, 0, -1, -1, 356,
-1, -1, -1, -1, -1, -1, 10, 364, -1, 366,
-1, -1, 369, 370, 267, 268, 269, 270, 271, 272,
-1, 274, -1, -1, -1, -1, -1, -1, 281, 282,
283, -1, -1, -1, -1, -1, -1, 41, 291, 292,
-1, 294, 295, 296, 297, 298, -1, -1, -1, -1,
-1, -1, -1, -1, -1, 59, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, 326, 327, 328, 329, 330, 331, 332,
333, 334, 335, 336, 337, 338, 0, -1, 341, 342,
343, -1, -1, 346, -1, -1, 10, -1, -1, 352,
-1, -1, -1, 356, -1, -1, -1, -1, -1, -1,
-1, 364, -1, 366, -1, -1, 369, 370, -1, -1,
-1, 125, -1, 37, 38, -1, -1, 41, 42, 43,
44, 45, 46, 47, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, 58, 59, 60, -1, 62, 63,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, 91, -1, 93,
94, -1, -1, -1, -1, -1, -1, -1, -1, -1,
0, -1, -1, -1, -1, -1, -1, -1, -1, -1,
10, -1, -1, -1, -1, -1, -1, -1, -1, -1,
124, 125, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, 37, 38, -1,
-1, 41, 42, 43, 44, 45, 46, 47, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, 58, 59,
60, -1, 62, 63, -1, -1, -1, -1, -1, -1,
-1, -1, -1, 267, 268, 269, 270, 271, 272, -1,
274, -1, -1, -1, -1, -1, -1, 281, -1, -1,
-1, 91, -1, 93, 94, -1, -1, 291, 292, -1,
294, 295, 296, 297, 298, 10, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, 124, 125, -1, -1, -1, -1,
-1, -1, 37, 38, -1, -1, -1, 42, 43, -1,
45, -1, 47, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, 60, -1, 62, 63, -1,
-1, -1, -1, 267, 268, 269, 270, 271, 272, -1,
274, -1, 366, -1, -1, 369, 370, 281, 282, 283,
-1, -1, -1, -1, -1, -1, -1, 291, 292, 94,
294, 295, 296, 297, 298, -1, -1, 37, 38, -1,
-1, -1, 42, 43, -1, 45, -1, 47, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, 124,
60, -1, 62, 327, 328, 329, 330, 331, 332, 333,
334, 335, 336, 337, 338, -1, -1, 341, 342, 343,
-1, -1, 346, -1, -1, -1, -1, -1, 352, -1,
-1, -1, 356, -1, 94, -1, -1, -1, -1, -1,
364, -1, 366, -1, -1, 369, 370, 267, 268, 269,
270, 271, 272, -1, 274, -1, -1, -1, -1, -1,
-1, 281, 282, 283, 124, -1, -1, -1, -1, -1,
-1, 291, 292, -1, 294, 295, 296, 297, 298, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, 0, -1, -1, -1,
-1, -1, -1, -1, -1, -1, 10, 327, 328, 329,
330, 331, 332, 333, 334, 335, 336, 337, 338, -1,
-1, 341, 342, 343, -1, -1, 346, -1, -1, -1,
-1, -1, 352, 37, 38, -1, 356, 41, 42, 43,
44, 45, 46, 47, 364, -1, 366, -1, -1, 369,
370, -1, -1, -1, -1, 59, 60, -1, 62, 63,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, 0, 91, -1, 93,
94, -1, -1, -1, -1, -1, 10, -1, -1, -1,
-1, 326, 327, 328, 329, 330, 331, 332, 333, 334,
335, 336, 337, 338, -1, -1, 341, 342, -1, -1,
124, 125, -1, 37, 38, -1, -1, 41, 42, 43,
44, 45, 46, 47, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, 59, 60, -1, 62, 63,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, 326, 327, 328, 329,
330, 331, 332, 333, -1, 335, 336, 91, -1, 93,
94, 341, 342, -1, -1, -1, -1, -1, -1, -1,
0, -1, -1, -1, -1, -1, -1, -1, -1, -1,
10, -1, -1, -1, -1, -1, -1, -1, -1, -1,
124, 125, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, 37, 38, -1,
-1, 41, 42, 43, 44, 45, 46, 47, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, 59,
60, -1, 62, 63, -1, -1, -1, -1, -1, -1,
-1, -1, -1, 267, 268, 269, 270, 271, 272, -1,
274, -1, -1, -1, -1, -1, -1, 281, 282, -1,
-1, 91, -1, 93, 94, -1, -1, 291, 292, -1,
294, 295, 296, 297, 298, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, 124, 125, -1, -1, -1, -1,
-1, -1, 326, 327, 328, 329, 330, 331, 332, 333,
334, 335, 336, 337, 338, -1, -1, 341, 342, 343,
-1, -1, 346, -1, -1, -1, -1, -1, 352, -1,
-1, -1, 356, 267, 268, 269, 270, 271, 272, -1,
274, -1, 366, -1, -1, 369, 370, 281, 282, -1,
-1, -1, -1, -1, -1, -1, -1, 291, 292, -1,
294, 295, 296, 297, 298, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, 326, 327, 328, 329, 330, 331, 332, 333,
334, 335, 336, 337, 338, -1, -1, 341, 342, 343,
-1, -1, 346, -1, -1, -1, -1, -1, 352, -1,
-1, -1, 356, -1, -1, -1, -1, -1, -1, -1,
-1, -1, 366, -1, -1, 369, 370, 267, 268, 269,
270, 271, 272, -1, 274, -1, -1, -1, -1, -1,
-1, 281, 282, -1, -1, -1, -1, -1, -1, -1,
-1, 291, 292, -1, 294, 295, 296, 297, 298, -1,
37, 38, -1, -1, -1, 42, 43, -1, 45, -1,
47, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, 60, -1, 62, 326, 327, 328, 329,
330, 331, 332, 333, 334, 335, 336, 337, 338, 0,
-1, 341, 342, 343, -1, -1, 346, -1, -1, 10,
-1, -1, 352, -1, -1, -1, 356, 94, -1, -1,
-1, -1, -1, -1, -1, -1, 366, -1, -1, 369,
370, -1, -1, -1, -1, -1, 37, 38, -1, -1,
41, 42, 43, 44, 45, -1, 47, 124, -1, -1,
-1, -1, -1, -1, -1, -1, -1, 58, 59, 60,
-1, 62, 63, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
0, -1, 93, 94, -1, -1, -1, -1, -1, -1,
10, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, 124, 125, -1, -1, 37, 38, -1,
-1, 41, 42, 43, 44, 45, -1, 47, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, 58, 59,
60, -1, 62, 63, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, 0, -1, 93, 94, -1, -1, -1, -1, -1,
-1, 10, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, 124, 125, -1, -1, 37, 38,
-1, -1, 41, 42, 43, 44, 45, -1, 47, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, 58,
59, 60, -1, 62, 63, -1, -1, -1, -1, 326,
327, 328, 329, 330, 331, 332, -1, -1, 335, 336,
-1, -1, -1, -1, 341, 342, 267, 268, 269, 270,
271, 272, -1, 274, 93, 94, -1, -1, -1, -1,
281, 282, 283, -1, -1, -1, -1, -1, -1, -1,
291, 292, -1, 294, 295, 296, 297, 298, -1, -1,
-1, -1, -1, -1, -1, 124, 125, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, 327, 328, 329, 330,
331, 332, 333, 334, 335, 336, 337, 338, -1, -1,
341, 342, 0, -1, -1, 346, -1, -1, -1, -1,
-1, 352, 10, -1, -1, -1, -1, 267, 268, 269,
270, 271, 272, 364, 274, 366, -1, -1, 369, 370,
-1, 281, 282, 283, -1, -1, -1, -1, -1, -1,
-1, 291, 292, 41, 294, 295, 296, 297, 298, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, 59, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, 327, 328, 329,
330, 331, 332, 333, 334, 335, 336, 337, 338, -1,
-1, 341, 342, 0, -1, -1, 346, -1, -1, -1,
-1, -1, 352, 10, -1, -1, -1, -1, 267, 268,
269, 270, 271, 272, 364, 274, 366, -1, -1, 369,
370, -1, 281, 282, 283, -1, -1, 125, -1, -1,
-1, -1, 291, 292, 41, 294, 295, 296, 297, 298,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, 59, -1, 0, -1, -1, -1, -1, -1,
-1, -1, -1, -1, 10, -1, -1, -1, 327, 328,
329, 330, 331, 332, 333, 334, 335, 336, 337, 338,
-1, -1, 341, 342, -1, -1, -1, 346, -1, -1,
-1, 37, 38, 352, -1, 41, 42, 43, 44, 45,
-1, 47, -1, -1, -1, 364, -1, 366, -1, -1,
369, 370, 58, 59, 60, -1, 62, 63, 125, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, 0, -1, 93, 94, -1,
-1, -1, -1, -1, -1, 10, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, 267,
268, 269, -1, 271, 272, -1, 274, -1, 124, 125,
-1, -1, 37, 38, -1, -1, 41, 42, 43, 44,
45, -1, 47, -1, -1, -1, 294, 295, 296, 297,
298, -1, -1, 58, 59, 60, -1, 62, 63, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, 0, -1, 93, 94,
-1, -1, -1, -1, -1, -1, 10, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
267, 268, 269, -1, 271, 272, -1, 274, 366, 124,
125, 369, 370, 37, 38, -1, -1, 41, 42, 43,
44, 45, -1, 47, -1, -1, -1, 294, 295, 296,
297, -1, -1, -1, 58, 59, 60, -1, 62, 63,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, 267, 268, 269, 270, 271, 272, -1, 274, 93,
94, -1, -1, -1, -1, 281, 282, 283, -1, -1,
-1, -1, -1, -1, -1, 291, 292, -1, 294, 295,
296, 297, 298, -1, -1, -1, -1, -1, -1, 366,
124, 125, 369, 370, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, 327, 328, 329, 330, 331, 332, 333, 334, 335,
336, 337, 338, -1, -1, 341, 342, -1, -1, -1,
346, -1, -1, -1, -1, -1, 352, -1, -1, -1,
-1, -1, 267, 268, 269, 270, 271, 272, 364, 274,
366, -1, -1, 369, 370, -1, 281, 282, 283, -1,
-1, -1, -1, -1, -1, -1, 291, 292, -1, 294,
295, 296, 297, 298, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, 327, 328, 329, 330, 331, 332, 333, 334,
335, 336, 337, 338, -1, -1, 341, 342, -1, -1,
-1, 346, -1, -1, -1, -1, -1, 352, -1, -1,
-1, -1, -1, 267, 268, 269, 270, 271, 272, 364,
274, 366, -1, -1, 369, 370, -1, 281, 282, 283,
-1, -1, -1, -1, -1, -1, -1, 291, 292, -1,
294, 295, 296, 297, 298, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, 0,
-1, -1, -1, -1, -1, -1, -1, -1, -1, 10,
-1, -1, -1, 327, 328, 329, 330, 331, 332, 333,
334, 335, 336, 337, 338, -1, -1, 341, 342, -1,
-1, -1, 346, -1, -1, -1, 37, 38, 352, -1,
41, 42, 43, 44, 45, -1, 47, -1, -1, -1,
364, -1, 366, -1, -1, 369, 370, 58, 59, 60,
-1, 62, 63, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
0, -1, 93, 94, -1, -1, -1, -1, -1, -1,
10, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, 124, 125, -1, -1, 37, 38, -1,
-1, 41, 42, 43, 44, 45, 46, 47, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, 59,
60, 61, 62, 63, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, 91, -1, 0, 94, -1, -1, -1, -1, -1,
-1, -1, -1, 10, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, 123, 124, 125, -1, -1, -1, -1,
37, 38, -1, -1, 41, 42, 43, 44, 45, 46,
47, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, 59, 60, 61, 62, 63, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, 267, 268, 269, 270,
271, 272, -1, 274, 91, -1, -1, 94, -1, -1,
281, 282, 283, -1, -1, -1, -1, -1, -1, -1,
291, 292, -1, 294, 295, 296, 297, 298, -1, -1,
-1, -1, -1, -1, -1, -1, 123, 124, 125, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, 327, 328, 329, 330,
331, 332, 333, 334, 335, 336, 337, 338, -1, -1,
341, 342, -1, -1, -1, 346, -1, -1, -1, -1,
-1, 352, -1, -1, -1, -1, -1, 267, 268, 269,
-1, 271, 272, 364, 274, 366, -1, -1, 369, 370,
280, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, 291, 292, -1, 294, 295, 296, 297, 298, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, 326, 327, 328, 329,
330, 331, 332, 333, 334, 335, 336, 337, 338, -1,
-1, 341, 342, 343, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, 356, -1, -1, -1,
267, 268, 269, -1, 271, 272, 366, 274, -1, 369,
370, -1, -1, 280, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, 291, 292, -1, 294, 295, 296,
297, 298, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, 326,
327, 328, 329, 330, 331, 332, 333, 334, 335, 336,
337, 338, 0, -1, 341, 342, 343, -1, -1, -1,
-1, -1, 10, -1, -1, -1, -1, -1, -1, 356,
-1, -1, -1, -1, -1, -1, -1, -1, -1, 366,
-1, -1, 369, 370, -1, -1, -1, -1, -1, 37,
38, -1, -1, 41, 42, 43, 44, 45, 46, 47,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, 59, 60, 61, 62, 63, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, 0, 91, -1, -1, 94, -1, -1, -1,
-1, -1, 10, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, 124, 125, -1, 37,
38, -1, -1, 41, 42, 43, 44, 45, 46, 47,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, 59, 60, 61, 62, 63, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, 91, -1, -1, 94, -1, -1, -1,
-1, -1, -1, -1, -1, -1, 0, -1, -1, -1,
-1, -1, -1, -1, -1, -1, 10, -1, -1, -1,
-1, -1, -1, -1, -1, -1, 124, 125, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, 37, 38, -1, -1, 41, 42, 43,
44, 45, 46, 47, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, 59, 60, 61, 62, 63,
-1, -1, -1, -1, -1, -1, -1, -1, -1, 267,
268, 269, -1, 271, 272, -1, 274, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, 91, -1, -1,
94, -1, -1, 291, 292, -1, 294, 295, 296, 297,
298, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
124, 125, -1, -1, -1, -1, -1, -1, 326, 327,
328, 329, 330, 331, 332, 333, 334, 335, 336, 337,
338, -1, -1, 341, 342, 343, -1, 345, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, 356, 267,
268, 269, -1, 271, 272, -1, 274, -1, 366, -1,
-1, 369, 370, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, 291, 292, -1, 294, 295, 296, 297,
298, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, 326, 327,
328, 329, 330, 331, 332, 333, 334, 335, 336, 337,
338, -1, -1, 341, 342, 343, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, 356, -1,
-1, -1, -1, -1, -1, -1, -1, -1, 366, -1,
-1, 369, 370, 267, 268, 269, -1, 271, 272, -1,
274, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, 291, 292, -1,
294, 295, 296, 297, 298, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
0, -1, -1, -1, -1, -1, -1, -1, -1, -1,
10, -1, 326, 327, 328, 329, 330, 331, 332, 333,
334, 335, 336, 337, 338, -1, -1, 341, 342, 343,
-1, -1, -1, -1, -1, -1, -1, -1, 38, -1,
-1, 41, 356, 43, 44, 45, -1, -1, -1, -1,
-1, -1, 366, -1, -1, 369, 370, -1, 58, 59,
60, -1, 62, 63, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, 0, -1, 93, 94, -1, -1, -1, -1, -1,
-1, 10, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, 124, 125, -1, -1, -1, 38,
-1, -1, 41, -1, 43, 44, 45, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, 58,
59, 60, -1, 62, 63, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, 0, -1, 93, 94, -1, -1, -1, -1,
-1, -1, 10, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, 124, 125, -1, -1, 37,
38, -1, -1, 41, 42, 43, 44, 45, 46, 47,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, 59, 60, 61, 62, 63, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, 267, 268, 269,
270, 271, 272, 91, 274, -1, 94, -1, -1, -1,
-1, 281, 282, 283, -1, -1, -1, -1, -1, -1,
-1, 291, 292, -1, 294, 295, 296, 297, 298, -1,
-1, -1, -1, -1, -1, -1, 124, 125, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, 327, 328, 329,
330, 331, 332, 333, 334, 335, 336, 337, 338, -1,
-1, 341, 342, -1, -1, -1, 346, -1, -1, -1,
-1, -1, 352, -1, -1, -1, -1, -1, 267, 268,
269, 270, 271, 272, 364, 274, 366, -1, -1, 369,
370, -1, 281, 282, 283, -1, -1, -1, -1, -1,
-1, -1, 291, 292, -1, 294, 295, 296, 297, 298,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, 0, -1, -1, -1, -1, -1,
-1, -1, -1, -1, 10, -1, -1, -1, 327, 328,
329, 330, 331, 332, 333, 334, 335, 336, 337, 338,
-1, -1, 341, 342, -1, -1, -1, 346, -1, -1,
-1, -1, 38, 352, -1, 41, -1, -1, 44, 267,
268, 269, -1, 271, 272, 364, 274, 366, -1, -1,
369, 370, 58, 59, 60, -1, 62, 63, -1, -1,
-1, -1, -1, 291, 292, -1, 294, 295, 296, 297,
298, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, 0, -1, 93, 94, -1,
-1, -1, -1, -1, -1, 10, -1, -1, 326, 327,
328, 329, 330, 331, 332, 333, 334, 335, 336, 337,
338, -1, -1, 341, 342, 343, -1, -1, 124, 125,
-1, -1, -1, 38, -1, -1, 41, -1, 356, 44,
-1, -1, -1, -1, -1, -1, -1, -1, 366, -1,
-1, 369, 370, 58, 59, 60, -1, 62, 63, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, 0, -1, 93, 94,
-1, -1, -1, -1, -1, -1, 10, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, 124,
125, -1, -1, -1, 38, -1, -1, 41, -1, -1,
44, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, 58, 59, 60, -1, 62, 63,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, 267, 268, 269, 270, 271, 272, -1, 274, 93,
94, -1, -1, -1, -1, 281, 282, 283, -1, -1,
-1, -1, -1, -1, -1, 291, 292, -1, 294, 295,
296, 297, 298, -1, -1, -1, -1, -1, -1, -1,
124, 125, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, 327, 328, 329, 330, 331, 332, 333, 334, 335,
336, 337, 338, -1, -1, 341, 342, -1, -1, -1,
346, -1, -1, -1, -1, -1, 352, -1, -1, -1,
-1, -1, 267, 268, 269, 270, 271, 272, 364, 274,
366, -1, -1, 369, 370, -1, 281, 282, 283, -1,
-1, -1, -1, -1, -1, -1, 291, 292, -1, 294,
295, 296, 297, 298, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, 327, 328, 329, 330, 331, 332, 333, 334,
335, 336, 337, 338, -1, 0, 341, 342, -1, -1,
-1, 346, -1, -1, -1, 10, -1, 352, -1, -1,
-1, -1, -1, 267, 268, 269, 270, 271, 272, 364,
274, 366, -1, -1, 369, 370, -1, 281, 282, 283,
-1, -1, -1, -1, -1, -1, 41, 291, 292, 44,
294, 295, 296, 297, 298, -1, -1, -1, -1, -1,
-1, -1, -1, 58, 59, 60, -1, 62, 63, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, 327, 328, 329, 330, 331, 332, 333,
334, 335, 336, 337, 338, -1, 0, -1, 93, 94,
-1, -1, 346, -1, -1, -1, 10, -1, 352, 37,
38, -1, -1, -1, 42, 43, -1, 45, -1, 47,
364, -1, 366, -1, -1, 369, 370, -1, -1, 124,
125, -1, 60, -1, 62, 63, -1, 41, -1, -1,
44, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, 58, 59, 60, -1, 62, 63,
-1, -1, -1, -1, -1, -1, 94, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, 0, -1, 93,
94, -1, -1, -1, -1, -1, 124, 10, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
124, 125, -1, -1, -1, -1, -1, -1, 41, -1,
-1, 44, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, 58, 59, 60, -1, 62,
63, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, 267, 268, 269, 270, 271, 272, -1, 274,
93, -1, -1, -1, -1, -1, 281, 282, 283, -1,
-1, -1, -1, -1, -1, -1, 291, 292, -1, 294,
295, 296, 297, 298, -1, -1, -1, -1, -1, -1,
-1, -1, 125, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, 327, 328, 329, 330, 331, 332, 333, 334,
335, 336, 337, 338, -1, -1, -1, -1, -1, -1,
-1, 346, -1, -1, -1, -1, -1, 352, -1, -1,
-1, -1, -1, 267, 268, 269, 270, 271, 272, 364,
274, 366, -1, -1, 369, 370, -1, 281, 282, 283,
-1, -1, -1, -1, -1, -1, -1, 291, 292, -1,
294, 295, 296, 297, 298, -1, -1, -1, 326, 327,
328, 329, 330, 331, 332, 333, 334, 335, 336, 337,
338, -1, -1, 341, 342, -1, -1, -1, 346, -1,
-1, -1, -1, 327, 328, 329, 330, 331, 332, 333,
334, 335, 336, 337, 338, -1, 0, -1, -1, -1,
-1, -1, 346, -1, -1, -1, 10, -1, 352, -1,
-1, -1, -1, -1, 267, 268, 269, 270, 271, 272,
364, 274, 366, -1, -1, 369, 370, -1, 281, 282,
283, -1, -1, -1, -1, -1, -1, 41, 291, 292,
44, 294, 295, 296, 297, 298, -1, -1, -1, -1,
-1, -1, -1, -1, 58, 59, 60, -1, 62, 63,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, 327, 328, 329, 330, 331, 332,
333, 334, 335, 336, 337, 338, -1, 0, -1, 93,
-1, -1, -1, 346, -1, -1, -1, 10, -1, 352,
37, 38, -1, -1, -1, 42, 43, -1, 45, -1,
47, 364, -1, 366, -1, -1, 369, 370, -1, -1,
-1, 125, -1, 60, -1, 62, 63, -1, 41, -1,
-1, 44, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, 58, 59, 60, -1, 62,
63, -1, -1, -1, -1, -1, -1, 94, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, 0, -1,
93, -1, -1, -1, -1, -1, -1, 124, 10, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, 125, -1, -1, -1, -1, -1, -1, 41,
-1, -1, 44, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, 58, 59, 60, -1,
62, 63, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, 267, 268, 269, 270, 271, 272, -1,
274, 93, -1, -1, -1, -1, -1, 281, 282, 283,
-1, -1, -1, -1, -1, -1, -1, 291, 292, -1,
294, 295, 296, 297, 298, -1, -1, -1, -1, -1,
-1, -1, -1, 125, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, 327, 328, 329, 330, 331, 332, 333,
334, 335, 336, 337, 338, -1, -1, -1, -1, -1,
-1, -1, 346, -1, -1, -1, -1, -1, 352, -1,
-1, -1, -1, -1, 267, 268, 269, 270, 271, 272,
364, 274, 366, -1, -1, 369, 370, -1, 281, 282,
283, -1, -1, -1, -1, -1, -1, -1, 291, 292,
-1, 294, 295, 296, 297, 298, -1, -1, -1, 326,
327, 328, 329, 330, 331, 332, 333, 334, 335, 336,
337, 338, -1, -1, 341, 342, -1, -1, -1, -1,
-1, -1, -1, -1, 327, 328, 329, 330, 331, 332,
333, 334, 335, 336, 337, 338, -1, 0, -1, -1,
-1, -1, -1, 346, -1, -1, -1, 10, -1, 352,
-1, -1, -1, -1, -1, 267, 268, 269, 270, 271,
272, 364, 274, 366, -1, -1, 369, 370, -1, 281,
282, 283, -1, -1, -1, -1, -1, -1, 41, 291,
292, 44, 294, 295, 296, 297, 298, -1, -1, -1,
-1, -1, -1, -1, -1, 58, 59, -1, -1, -1,
63, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, 327, 328, 329, 330, 331,
332, 333, 334, 335, 336, 337, 338, -1, 0, -1,
93, -1, -1, -1, 346, -1, -1, -1, 10, -1,
352, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, 364, -1, 366, 37, 38, 369, 370, -1,
42, 43, 125, 45, -1, 47, -1, -1, -1, 41,
-1, -1, 44, -1, -1, -1, -1, -1, 60, -1,
62, 63, -1, -1, -1, -1, 58, 59, -1, -1,
-1, 63, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, 94, -1, -1, -1, -1, -1, -1, 0,
-1, 93, -1, -1, -1, -1, -1, -1, -1, 10,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, 124, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, 125, -1, -1, -1, -1, -1, -1,
41, -1, -1, 44, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, 58, 59, -1,
-1, -1, 63, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, 267, 268, 269, 270, 271, 272,
-1, 274, 93, -1, -1, -1, -1, -1, 281, 282,
283, -1, -1, -1, -1, -1, -1, -1, 291, 292,
-1, 294, 295, 296, 297, 298, -1, -1, -1, -1,
-1, -1, -1, -1, 125, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
333, 334, -1, -1, 337, 338, -1, -1, -1, -1,
-1, -1, -1, 346, -1, -1, -1, -1, -1, 352,
-1, -1, -1, -1, -1, 267, 268, 269, 270, 271,
272, 364, 274, 366, -1, -1, 369, 370, -1, 281,
282, 283, -1, -1, -1, -1, 298, -1, -1, 291,
292, -1, 294, 295, 296, 297, 298, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, 326, 327, 328, 329, 330, 331,
332, 333, 334, 335, 336, 337, 338, -1, -1, 341,
342, 333, 334, -1, -1, 337, 338, -1, 0, -1,
-1, -1, -1, -1, 346, -1, -1, -1, 10, -1,
352, -1, -1, -1, -1, -1, 267, 268, 269, 270,
271, 272, 364, 274, 366, -1, -1, 369, 370, -1,
281, 282, 283, -1, -1, -1, -1, -1, -1, 41,
291, 292, 44, 294, 295, 296, 297, 298, -1, -1,
-1, -1, -1, -1, -1, -1, 58, 59, -1, -1,
-1, 63, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, 333, 334, -1, -1, 337, 338, -1, 0,
-1, 93, -1, -1, -1, 346, -1, -1, -1, 10,
-1, 352, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, 364, -1, 366, -1, -1, 369, 370,
-1, -1, -1, 125, -1, -1, -1, -1, -1, -1,
41, -1, -1, 44, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, 58, 59, -1,
-1, -1, 63, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
0, -1, 93, -1, -1, -1, -1, -1, -1, -1,
10, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, 125, -1, -1, -1, -1, -1,
-1, 41, -1, -1, 44, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, 58, 59,
-1, -1, -1, 63, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, 267, 268, 269, 270, 271,
272, -1, 274, 93, -1, -1, -1, -1, -1, 281,
282, 283, -1, -1, -1, -1, -1, -1, -1, 291,
292, -1, 294, 295, 296, 297, 298, -1, -1, -1,
-1, -1, -1, -1, -1, 125, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, 333, 334, -1, -1, 337, 338, -1, -1, -1,
-1, -1, -1, -1, 346, -1, -1, -1, -1, -1,
352, -1, -1, -1, -1, -1, 267, 268, 269, 270,
271, 272, 364, 274, 366, -1, 0, 369, 370, -1,
281, 282, 283, -1, -1, -1, 10, -1, -1, -1,
291, 292, -1, 294, 295, 296, 297, 298, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, 41, -1, -1,
-1, -1, 46, -1, -1, -1, -1, -1, -1, -1,
-1, -1, 333, 334, -1, 59, 337, 338, -1, 0,
-1, -1, -1, -1, -1, 346, -1, -1, -1, 10,
-1, 352, -1, -1, -1, -1, -1, 267, 268, 269,
270, 271, 272, 364, 274, 366, -1, -1, 369, 370,
-1, 281, 282, 283, -1, -1, -1, -1, -1, -1,
41, 291, 292, 44, 294, 295, 296, 297, 298, -1,
-1, -1, -1, -1, -1, -1, -1, 58, 59, -1,
-1, 125, 63, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, 333, 334, -1, -1, 337, 338, -1,
0, -1, 93, -1, -1, -1, 346, -1, -1, -1,
10, -1, 352, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, 364, -1, 366, -1, -1, 369,
370, -1, -1, 0, 125, -1, -1, -1, -1, -1,
-1, 41, -1, 10, 44, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, 58, 59,
-1, -1, -1, 63, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, 41, -1, -1, 44, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, 58, 59, 93, -1, -1, 63, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, 267, 268, 269, 270, 271, 272, -1,
274, -1, -1, -1, -1, 125, 93, 281, -1, -1,
-1, -1, -1, -1, -1, -1, -1, 291, 292, -1,
294, 295, 296, 297, 298, -1, -1, -1, -1, -1,
-1, -1, 0, -1, -1, -1, -1, -1, 125, -1,
-1, -1, 10, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, 267, 268, 269, 270,
271, 272, -1, 274, -1, -1, -1, -1, -1, 343,
281, 282, 283, 41, -1, -1, 44, -1, -1, -1,
291, 292, 356, 294, 295, 296, 297, 298, -1, -1,
58, 59, 366, -1, -1, 369, 370, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, 333, 334, -1, 93, 337, 338, -1, -1,
-1, -1, -1, -1, -1, 346, -1, -1, -1, -1,
-1, 352, -1, -1, -1, -1, -1, 267, 268, 269,
270, 271, 272, 364, 274, 366, -1, 125, 369, 370,
-1, 281, 282, 283, -1, -1, -1, -1, -1, -1,
-1, 291, 292, -1, 294, 295, 296, 297, 298, -1,
267, 268, 269, 270, 271, 272, -1, 274, -1, -1,
-1, -1, -1, 0, 281, 282, 283, -1, -1, -1,
-1, -1, -1, 10, 291, 292, -1, 294, 295, 296,
297, 298, -1, -1, 334, -1, -1, 337, 338, -1,
-1, -1, -1, -1, -1, -1, 346, -1, 0, -1,
-1, -1, 352, -1, 41, -1, -1, 44, 10, -1,
-1, -1, -1, -1, 364, -1, 366, -1, -1, 369,
370, 58, 59, -1, -1, -1, -1, -1, -1, 346,
-1, -1, -1, -1, -1, 352, -1, -1, -1, 41,
-1, -1, 44, -1, -1, -1, -1, 364, -1, 366,
-1, -1, 369, 370, -1, -1, 93, 59, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, 267,
268, 269, 270, 271, 272, -1, 274, -1, -1, -1,
-1, -1, -1, 281, 282, 283, -1, -1, 125, -1,
-1, 93, -1, 291, 292, -1, 294, 295, 296, 297,
298, -1, 0, -1, -1, -1, -1, -1, -1, -1,
-1, -1, 10, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, 125, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, 41, -1, -1, 44, -1, 346, 0,
-1, -1, -1, -1, 352, -1, -1, -1, -1, 10,
-1, 59, -1, -1, -1, -1, 364, -1, 366, -1,
-1, 369, 370, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
41, -1, -1, 44, -1, 93, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, 59, -1,
-1, -1, 0, -1, -1, -1, -1, -1, -1, -1,
-1, -1, 10, -1, -1, -1, -1, 125, -1, -1,
267, 268, 269, 270, 271, 272, -1, 274, -1, -1,
-1, -1, 93, -1, 281, 282, 283, -1, -1, -1,
-1, -1, -1, 41, 291, 292, 44, 294, 295, 296,
297, -1, -1, 0, -1, 267, 268, 269, 270, 271,
272, 59, 274, 10, 125, -1, -1, -1, -1, 281,
282, -1, -1, -1, -1, -1, -1, -1, -1, 291,
292, -1, 294, 295, 296, 297, 298, -1, -1, -1,
-1, -1, 0, -1, 41, 93, -1, 44, -1, 346,
-1, -1, 10, -1, -1, 352, -1, -1, -1, -1,
-1, -1, 59, -1, -1, -1, -1, 364, -1, 366,
-1, -1, 369, 370, -1, -1, -1, 125, -1, -1,
-1, -1, -1, 41, -1, -1, 44, -1, -1, 0,
352, -1, -1, -1, -1, -1, 93, -1, -1, 10,
-1, 59, -1, -1, 366, -1, -1, 369, 370, 267,
268, 269, 270, 271, 272, -1, 274, -1, -1, -1,
-1, -1, -1, 281, 282, -1, -1, -1, 125, -1,
41, -1, 0, 291, 292, 93, 294, 295, 296, 297,
298, -1, 10, -1, -1, -1, -1, -1, 59, -1,
-1, -1, -1, -1, -1, -1, 267, 268, 269, 270,
271, 272, -1, 274, -1, -1, -1, 125, -1, -1,
281, 282, -1, 41, -1, -1, 44, -1, -1, -1,
291, 292, 93, 294, 295, 296, 297, 298, -1, -1,
-1, 59, -1, -1, 352, 0, -1, -1, -1, -1,
-1, -1, -1, -1, -1, 10, -1, -1, 366, -1,
-1, 369, 370, -1, 125, -1, -1, -1, -1, 267,
268, 269, 270, 271, 272, 93, 274, -1, -1, -1,
-1, -1, -1, 281, 282, -1, 41, -1, -1, -1,
-1, 352, -1, 291, 292, -1, 294, 295, 296, 297,
298, -1, -1, -1, 59, 366, -1, 125, 369, 370,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
267, 268, 269, 270, 271, 272, -1, 274, -1, -1,
-1, -1, -1, -1, 281, 282, -1, -1, 93, -1,
-1, -1, -1, -1, 291, 292, -1, 294, 295, 296,
297, 298, -1, -1, 352, -1, -1, -1, -1, 267,
268, 269, 270, 271, 272, -1, 274, -1, 366, -1,
125, 369, 370, 281, 282, -1, -1, -1, -1, -1,
-1, -1, -1, 291, 292, -1, 294, 295, 296, 297,
298, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, 352, 267, 268, 269, 270,
271, 272, -1, 274, -1, -1, -1, -1, -1, 366,
281, 282, 369, 370, -1, -1, -1, -1, 0, -1,
291, 292, -1, 294, 295, 296, 297, 298, 10, -1,
-1, -1, -1, -1, 352, -1, -1, -1, -1, 267,
268, 269, 270, 271, 272, -1, 274, -1, 366, -1,
-1, 369, 370, 281, 282, 0, -1, -1, -1, 41,
-1, -1, -1, 291, 292, 10, 294, 295, 296, 297,
298, -1, -1, -1, -1, -1, -1, 59, -1, -1,
-1, 352, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, 366, 41, -1, 369, 370,
-1, -1, 267, 268, 269, 270, 271, 272, -1, 274,
-1, 93, -1, -1, 59, -1, 281, 282, -1, -1,
-1, -1, -1, -1, 352, -1, 291, 292, -1, 294,
295, 296, 297, 298, -1, 0, -1, -1, 366, -1,
-1, 369, 370, 125, -1, 10, -1, -1, 93, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, 41, -1, -1, -1,
125, -1, -1, -1, -1, -1, -1, 352, 10, -1,
-1, -1, -1, -1, 59, -1, -1, -1, -1, -1,
-1, 366, -1, -1, 369, 370, -1, -1, -1, -1,
-1, 33, -1, -1, -1, -1, -1, -1, 40, -1,
-1, -1, -1, -1, 46, -1, -1, -1, 93, -1,
-1, -1, -1, -1, -1, -1, -1, 59, 60, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
125, -1, -1, -1, -1, -1, -1, -1, -1, 91,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, 267, 268, 269, 270, 271,
272, -1, 274, -1, -1, -1, -1, -1, -1, 281,
282, 123, -1, -1, 126, -1, -1, -1, -1, 291,
292, -1, 294, 295, 296, 297, 298, -1, -1, -1,
-1, -1, 267, 268, 269, 270, 271, 272, -1, 274,
-1, -1, -1, -1, -1, -1, 281, 282, -1, -1,
-1, -1, -1, -1, -1, -1, 291, 292, -1, 294,
295, 296, 297, 298, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, 366, -1, -1, 369, 370, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, 267, 268, 269, 270, 271, 272, -1, 274,
-1, -1, -1, -1, -1, -1, 281, 282, -1, -1,
-1, 366, -1, -1, 369, 370, 291, 292, -1, 294,
295, 296, 297, 298, 256, 257, 258, 259, 260, 261,
262, 263, 264, 265, 266, 267, 268, 269, -1, -1,
272, 273, -1, 275, 276, 277, 278, -1, 280, -1,
-1, -1, 284, 285, 286, 287, 288, 289, 290, -1,
-1, 293, -1, -1, -1, -1, -1, 299, -1, 301,
302, 303, -1, 305, 306, 307, 308, 309, 310, -1,
312, 313, 314, -1, -1, 317, -1, -1, -1, 321,
322, 366, 324, 325, 369, 370, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, 10,
-1, 343, 344, -1, -1, 347, 348, -1, 350, 351,
-1, 353, -1, 355, 356, 357, 358, 359, 360, 361,
362, -1, 33, 365, 366, -1, -1, 369, 370, 40,
372, -1, -1, -1, -1, 46, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, 59, 60,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
91, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, 123, -1, -1, 126, 10, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, 33,
-1, -1, -1, -1, -1, -1, 40, -1, -1, -1,
-1, -1, 46, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, 59, 60, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, 91, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, 123,
-1, -1, 126, -1, -1, -1, -1, 10, -1, -1,
-1, -1, -1, -1, -1, 256, 257, 258, 259, 260,
261, 262, 263, 264, 265, 266, 267, 268, 269, -1,
33, 272, 273, -1, 275, 276, 277, 278, -1, 280,
-1, -1, -1, 284, 285, 286, 287, 288, 289, 290,
-1, -1, 293, -1, -1, -1, 59, -1, 299, -1,
301, 302, 303, -1, 305, 306, 307, 308, 309, 310,
-1, 312, 313, 314, -1, -1, 317, -1, -1, -1,
321, 322, -1, 324, 325, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, 343, 344, -1, -1, 347, 348, -1, 350,
351, -1, 353, -1, 355, 356, 357, 358, 359, 360,
361, 362, -1, 126, 365, 366, -1, -1, 369, 370,
-1, 372, 256, 257, 258, 259, 260, 261, 262, 263,
264, 265, 266, 267, 268, 269, -1, -1, 272, 273,
-1, 275, 276, 277, 278, -1, 280, -1, -1, -1,
284, 285, 286, 287, 288, 289, 290, -1, -1, 293,
-1, -1, 10, -1, -1, 299, -1, 301, 302, 303,
-1, 305, 306, 307, 308, 309, 310, -1, 312, 313,
314, -1, -1, 317, -1, 33, -1, 321, 322, -1,
324, 325, 40, -1, -1, -1, -1, -1, 46, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, 343,
344, 59, 60, 347, 348, -1, 350, 351, -1, 353,
-1, 355, 356, 357, 358, 359, 360, 361, 362, -1,
-1, 365, 366, -1, -1, 369, 370, -1, 372, -1,
-1, -1, -1, 91, 257, 258, 259, 260, 261, 262,
263, 264, 265, 266, -1, -1, -1, -1, -1, -1,
273, -1, 275, 276, 277, 278, -1, -1, -1, -1,
-1, 284, 285, 286, 287, 288, 289, 290, 126, 10,
293, -1, -1, -1, -1, -1, 299, 300, 301, 302,
303, -1, 305, 306, 307, 308, 309, 310, -1, 312,
313, 314, 33, -1, 317, -1, -1, -1, 321, 322,
-1, 324, 325, -1, -1, 46, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, 59, 60,
-1, 344, -1, -1, 347, 348, -1, 350, 351, -1,
353, -1, 355, -1, 357, 358, 359, 360, 361, 362,
-1, -1, 365, 366, -1, -1, 369, 370, -1, 372,
91, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, 126, -1, -1, -1, 10,
-1, -1, -1, -1, -1, -1, -1, -1, 256, 257,
258, 259, 260, 261, 262, 263, 264, 265, 266, 267,
268, 269, 33, -1, 272, 273, -1, 275, 276, 277,
278, -1, -1, -1, -1, -1, 284, 285, 286, 287,
288, 289, 290, -1, -1, 293, -1, -1, 59, -1,
-1, 299, -1, 301, 302, 303, -1, 305, 306, 307,
308, 309, 310, -1, 312, 313, 314, -1, -1, 317,
-1, -1, -1, 321, 322, -1, 324, 325, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, 343, 344, -1, -1, 347,
348, -1, 350, 351, -1, 353, -1, 355, 356, 357,
358, 359, 360, 361, 362, 126, 10, 365, 366, -1,
-1, 369, 370, -1, 372, 256, 257, 258, 259, 260,
261, 262, 263, 264, 265, 266, 267, 268, 269, 33,
-1, 272, 273, -1, 275, 276, 277, 278, -1, -1,
-1, -1, -1, 284, 285, 286, 287, 288, 289, 290,
-1, -1, 293, -1, -1, 59, -1, -1, 299, -1,
301, 302, 303, -1, 305, 306, 307, 308, 309, 310,
-1, 312, 313, 314, -1, -1, 317, -1, -1, -1,
321, 322, -1, 324, 325, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, 343, 344, -1, -1, 347, 348, -1, 350,
351, -1, 353, -1, 355, 356, 357, 358, 359, 360,
361, 362, 126, -1, 365, 366, 10, -1, 369, 370,
-1, 372, -1, -1, -1, 256, 257, 258, 259, 260,
261, 262, 263, 264, 265, 266, 267, 268, 269, 33,
271, 272, 273, 274, 275, 276, 277, 278, -1, -1,
-1, -1, -1, 284, 285, 286, 287, 288, 289, 290,
-1, -1, 293, -1, -1, 59, -1, -1, 299, -1,
301, 302, 303, -1, 305, 306, 307, 308, 309, 310,
-1, 312, 313, 314, -1, -1, 317, -1, -1, -1,
321, 322, -1, 324, 325, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, 344, -1, -1, 347, 348, -1, 350,
351, -1, 353, -1, 355, -1, 357, 358, 359, 360,
361, 362, 126, -1, 365, 366, -1, -1, 369, 370,
-1, 372, 256, 257, 258, 259, 260, 261, 262, 263,
264, 265, 266, 267, 268, 269, -1, -1, 272, 273,
-1, 275, 276, 277, 278, -1, -1, -1, -1, -1,
284, 285, 286, 287, 288, 289, 290, -1, -1, 293,
-1, -1, 10, -1, -1, 299, -1, 301, 302, 303,
-1, 305, 306, 307, 308, 309, 310, -1, 312, 313,
314, -1, -1, 317, -1, 33, -1, 321, 322, -1,
324, 325, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
344, 59, -1, 347, 348, -1, 350, 351, -1, 353,
-1, 355, -1, 357, 358, 359, 360, 361, 362, -1,
-1, 365, 366, -1, -1, 369, 370, -1, 372, -1,
-1, -1, 256, 257, 258, 259, 260, 261, 262, 263,
264, 265, 266, -1, -1, 269, -1, -1, -1, 273,
-1, 275, 276, 277, 278, -1, -1, -1, -1, -1,
284, 285, 286, 287, 288, 289, 290, 125, 126, 293,
-1, -1, 10, -1, -1, 299, -1, 301, 302, 303,
-1, 305, 306, 307, 308, 309, 310, -1, 312, 313,
314, -1, -1, 317, -1, 33, -1, 321, 322, -1,
324, 325, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
344, 59, -1, 347, 348, -1, 350, 351, -1, 353,
-1, 355, -1, 357, 358, 359, 360, 361, 362, -1,
-1, 365, 366, -1, -1, 369, 370, -1, 372, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, 126, -1,
10, -1, -1, -1, -1, -1, -1, -1, 256, 257,
258, 259, 260, 261, 262, 263, 264, 265, 266, -1,
-1, -1, -1, 33, -1, 273, -1, 275, 276, 277,
278, 41, -1, -1, -1, -1, 284, 285, 286, 287,
288, 289, 290, -1, -1, 293, -1, -1, -1, -1,
-1, 299, -1, 301, 302, 303, -1, 305, 306, 307,
308, 309, 310, -1, 312, 313, 314, -1, -1, 317,
-1, -1, -1, 321, 322, -1, 324, 325, -1, -1,
-1, -1, -1, 93, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, 344, -1, -1, 347,
348, -1, 350, 351, -1, 353, -1, 355, -1, 357,
358, 359, 360, 361, 362, -1, 126, 365, 366, -1,
10, 369, 370, -1, 372, -1, -1, -1, -1, 257,
258, 259, 260, 261, 262, 263, 264, 265, 266, -1,
-1, -1, -1, 33, -1, 273, -1, 275, 276, 277,
278, 41, -1, -1, -1, -1, 284, 285, 286, 287,
288, 289, 290, -1, -1, 293, -1, -1, -1, -1,
-1, 299, -1, 301, 302, 303, -1, 305, 306, 307,
308, 309, 310, -1, 312, 313, 314, -1, -1, 317,
-1, -1, -1, 321, 322, -1, 324, 325, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, 344, -1, -1, 347,
348, -1, 350, 351, -1, 353, -1, 355, -1, 357,
358, 359, 360, 361, 362, -1, 126, 365, 366, -1,
-1, 369, 370, -1, 372, -1, -1, 257, 258, 259,
260, 261, 262, 263, 264, 265, -1, -1, -1, -1,
-1, -1, -1, 273, 10, 275, 276, 277, 278, -1,
-1, -1, -1, -1, 284, 285, 286, 287, 288, 289,
290, -1, -1, 293, -1, -1, -1, 33, -1, -1,
-1, -1, 302, 303, -1, 305, 306, 307, 308, 309,
310, 311, 312, 313, 314, -1, -1, 317, -1, -1,
320, 321, 322, 59, 324, 325, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, 344, -1, -1, 347, 348, -1,
350, 351, -1, 353, 354, 355, -1, 357, 358, 359,
360, 361, 362, -1, -1, 365, -1, -1, -1, -1,
-1, -1, 372, -1, -1, -1, -1, 257, 258, 259,
260, 261, 262, 263, 264, 265, 266, -1, -1, -1,
126, 10, -1, 273, -1, 275, 276, 277, 278, -1,
-1, -1, -1, -1, 284, 285, 286, 287, 288, 289,
290, -1, -1, 293, 33, -1, -1, -1, -1, 299,
-1, 301, 302, 303, -1, 305, 306, 307, 308, 309,
310, -1, 312, 313, 314, -1, -1, 317, -1, -1,
-1, 321, 322, -1, 324, 325, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, 344, -1, -1, 347, 348, -1,
350, 351, -1, 353, -1, 355, -1, 357, 358, 359,
360, 361, 362, -1, -1, 365, -1, -1, -1, -1,
-1, -1, 372, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, 126, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, 257, 258, 259, 260, 261, 262, 263, 264, 265,
-1, -1, -1, -1, 33, -1, -1, 273, -1, 275,
276, 277, 278, -1, -1, -1, -1, -1, 284, 285,
286, 287, 288, 289, 290, -1, -1, 293, -1, -1,
-1, -1, -1, -1, -1, -1, 302, 303, -1, 305,
306, 307, 308, 309, 310, -1, 312, 313, 314, -1,
-1, 317, -1, -1, -1, 321, 322, -1, 324, 325,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, 344, -1,
-1, 347, 348, -1, 350, 351, -1, -1, -1, 355,
-1, 357, 358, 359, 360, 361, 362, 126, -1, 365,
366, -1, -1, 369, 370, -1, 372, -1, 257, 258,
259, 260, 261, 262, 263, 264, 265, -1, -1, -1,
-1, -1, 33, -1, 273, -1, 275, 276, 277, 278,
-1, -1, -1, -1, -1, 284, 285, 286, 287, 288,
289, 290, -1, -1, 293, -1, -1, -1, -1, -1,
-1, -1, -1, 302, 303, -1, 305, 306, 307, 308,
309, 310, -1, 312, 313, 314, -1, -1, 317, -1,
-1, -1, 321, 322, -1, 324, 325, -1, -1, -1,
-1, -1, 93, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, 344, -1, -1, 347, 348,
-1, 350, 351, -1, -1, -1, 355, -1, 357, 358,
359, 360, 361, 362, 125, 126, 365, -1, -1, -1,
-1, -1, -1, 372, -1, -1, -1, 256, 257, 258,
259, 260, 261, 262, 263, 264, 265, 266, -1, -1,
-1, 33, -1, -1, 273, -1, 275, 276, 277, 278,
-1, -1, -1, -1, -1, 284, 285, 286, 287, 288,
289, 290, -1, -1, 293, -1, -1, -1, -1, -1,
299, 300, 301, 302, 303, -1, 305, 306, 307, 308,
309, 310, -1, 312, 313, 314, -1, -1, 317, -1,
-1, -1, 321, 322, -1, 324, 325, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, 344, -1, -1, 347, 348,
-1, 350, 351, -1, 353, -1, 355, -1, 357, 358,
359, 360, 361, 362, 126, -1, 365, -1, -1, -1,
-1, -1, -1, 372, -1, -1, 257, 258, 259, 260,
261, 262, 263, 264, 265, -1, -1, -1, -1, 33,
-1, -1, 273, -1, 275, 276, 277, 278, -1, -1,
-1, -1, -1, 284, 285, 286, 287, 288, 289, 290,
-1, -1, 293, -1, -1, -1, -1, -1, -1, -1,
-1, 302, 303, -1, 305, 306, 307, 308, 309, 310,
311, 312, 313, 314, -1, -1, 317, -1, -1, 320,
321, 322, -1, 324, 325, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, 344, -1, -1, 347, 348, -1, 350,
351, -1, 353, 354, 355, -1, 357, 358, 359, 360,
361, 362, 126, -1, 365, -1, -1, -1, -1, -1,
-1, 372, -1, -1, -1, 257, 258, 259, 260, 261,
262, 263, 264, 265, 266, -1, -1, -1, 33, -1,
-1, 273, -1, 275, 276, 277, 278, -1, -1, -1,
-1, -1, 284, 285, 286, 287, 288, 289, 290, -1,
-1, 293, -1, -1, -1, -1, -1, 299, 300, 301,
302, 303, -1, 305, 306, 307, 308, 309, 310, -1,
312, 313, 314, -1, -1, 317, -1, -1, -1, 321,
322, -1, 324, 325, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, 344, -1, -1, 347, 348, -1, 350, 351,
-1, 353, -1, 355, -1, 357, 358, 359, 360, 361,
362, 126, -1, 365, -1, -1, -1, -1, -1, -1,
372, -1, 256, 257, 258, 259, 260, 261, 262, 263,
264, 265, 266, -1, -1, -1, 33, -1, -1, 273,
-1, 275, 276, 277, 278, -1, -1, -1, -1, -1,
284, 285, 286, 287, 288, 289, 290, -1, -1, 293,
-1, -1, -1, -1, -1, 299, -1, 301, 302, 303,
-1, 305, 306, 307, 308, 309, 310, -1, 312, 313,
314, -1, -1, 317, -1, -1, -1, 321, 322, -1,
324, 325, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
344, -1, -1, 347, 348, -1, 350, 351, -1, 353,
-1, 355, -1, 357, 358, 359, 360, 361, 362, 126,
-1, 365, -1, -1, -1, -1, -1, -1, 372, -1,
-1, 256, 257, 258, 259, 260, 261, 262, 263, 264,
265, 266, -1, -1, -1, 33, -1, -1, 273, -1,
275, 276, 277, 278, -1, -1, -1, -1, -1, 284,
285, 286, 287, 288, 289, 290, -1, -1, 293, -1,
-1, -1, -1, -1, 299, -1, 301, 302, 303, -1,
305, 306, 307, 308, 309, 310, -1, 312, 313, 314,
-1, -1, 317, -1, -1, -1, 321, 322, -1, 324,
325, -1, -1, -1, -1, 93, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, 344,
-1, -1, 347, 348, -1, 350, 351, -1, 353, -1,
355, -1, 357, 358, 359, 360, 361, 362, 126, -1,
365, -1, -1, -1, -1, -1, -1, 372, -1, -1,
257, 258, 259, 260, 261, 262, 263, 264, 265, -1,
-1, -1, -1, 33, -1, -1, 273, -1, 275, 276,
277, 278, -1, -1, -1, -1, -1, 284, 285, 286,
287, 288, 289, 290, -1, -1, 293, -1, -1, -1,
-1, -1, -1, -1, -1, 302, 303, -1, 305, 306,
307, 308, 309, 310, 311, 312, 313, 314, -1, -1,
317, -1, -1, 320, 321, 322, -1, 324, 325, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, 344, -1, -1,
347, 348, -1, 350, 351, -1, -1, -1, 355, -1,
357, 358, 359, 360, 361, 362, 126, -1, 365, 366,
-1, -1, 369, 370, -1, 372, -1, -1, -1, 257,
258, 259, 260, 261, 262, 263, 264, 265, -1, -1,
-1, -1, 33, -1, -1, 273, -1, 275, 276, 277,
278, -1, -1, -1, -1, -1, 284, 285, 286, 287,
288, 289, 290, -1, -1, 293, -1, -1, -1, -1,
-1, -1, -1, -1, 302, 303, -1, 305, 306, 307,
308, 309, 310, 311, 312, 313, 314, -1, -1, 317,
-1, -1, 320, 321, 322, -1, 324, 325, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, 344, -1, -1, 347,
348, -1, 350, 351, -1, 353, 354, 355, -1, 357,
358, 359, 360, 361, 362, 126, -1, 365, -1, -1,
-1, -1, -1, -1, 372, -1, -1, 257, 258, 259,
260, 261, 262, 263, 264, 265, -1, -1, -1, -1,
33, -1, -1, 273, -1, 275, 276, 277, 278, -1,
-1, -1, -1, -1, 284, 285, 286, 287, 288, 289,
290, -1, -1, 293, -1, -1, -1, -1, -1, -1,
-1, -1, 302, 303, -1, 305, 306, 307, 308, 309,
310, 311, 312, 313, 314, -1, -1, 317, -1, -1,
320, 321, 322, -1, 324, 325, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, 344, -1, -1, 347, 348, -1,
350, 351, -1, 353, 354, 355, -1, 357, 358, 359,
360, 361, 362, 126, -1, 365, -1, -1, -1, -1,
-1, -1, 372, -1, -1, -1, 257, 258, 259, 260,
261, 262, 263, 264, 265, 266, -1, -1, -1, 33,
-1, -1, 273, -1, 275, 276, 277, 278, -1, -1,
-1, -1, -1, 284, 285, 286, 287, 288, 289, 290,
-1, -1, 293, -1, -1, -1, -1, -1, 299, -1,
301, 302, 303, -1, 305, 306, 307, 308, 309, 310,
-1, 312, 313, 314, -1, -1, 317, -1, -1, -1,
321, 322, -1, 324, 325, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, 344, -1, -1, 347, 348, -1, 350,
351, -1, 353, -1, 355, -1, 357, 358, 359, 360,
361, 362, 126, -1, 365, -1, -1, -1, -1, -1,
-1, 372, -1, -1, 257, 258, 259, 260, 261, 262,
263, 264, 265, -1, -1, -1, -1, 33, -1, -1,
273, -1, 275, 276, 277, 278, -1, -1, -1, -1,
-1, 284, 285, 286, 287, 288, 289, 290, -1, -1,
293, -1, -1, -1, -1, -1, -1, -1, -1, 302,
303, -1, 305, 306, 307, 308, 309, 310, 311, 312,
313, 314, -1, -1, 317, -1, -1, 320, 321, 322,
-1, 324, 325, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, 344, -1, -1, 347, 348, -1, 350, 351, -1,
353, 354, 355, -1, 357, 358, 359, 360, 361, 362,
126, -1, 365, -1, -1, -1, -1, -1, -1, 372,
-1, -1, -1, 257, 258, 259, 260, 261, 262, 263,
264, 265, -1, -1, -1, -1, 33, -1, -1, 273,
-1, 275, 276, 277, 278, -1, -1, -1, -1, -1,
284, 285, 286, 287, 288, 289, 290, -1, -1, 293,
-1, -1, -1, -1, -1, -1, -1, -1, 302, 303,
-1, 305, 306, 307, 308, 309, 310, 311, 312, 313,
314, -1, -1, 317, -1, -1, 320, 321, 322, -1,
324, 325, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
344, -1, -1, 347, 348, -1, 350, 351, -1, 353,
354, 355, -1, 357, 358, 359, 360, 361, 362, 126,
-1, 365, -1, -1, -1, -1, -1, -1, 372, -1,
-1, 257, 258, 259, 260, 261, 262, 263, 264, 265,
-1, -1, -1, -1, 33, -1, -1, 273, -1, 275,
276, 277, 278, -1, -1, -1, -1, -1, 284, 285,
286, 287, 288, 289, 290, -1, -1, 293, -1, -1,
-1, -1, -1, -1, -1, -1, 302, 303, -1, 305,
306, 307, 308, 309, 310, 311, 312, 313, 314, -1,
-1, 317, -1, -1, 320, 321, 322, -1, 324, 325,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, 344, -1,
-1, 347, 348, -1, 350, 351, -1, 353, -1, 355,
-1, 357, 358, 359, 360, 361, 362, 126, -1, 365,
-1, -1, -1, -1, -1, -1, 372, -1, -1, -1,
257, 258, 259, 260, 261, 262, 263, 264, 265, -1,
-1, -1, -1, 33, -1, -1, 273, -1, 275, 276,
277, 278, -1, -1, -1, -1, -1, 284, 285, 286,
287, 288, 289, 290, -1, -1, 293, -1, -1, -1,
-1, -1, -1, -1, -1, 302, 303, -1, 305, 306,
307, 308, 309, 310, 311, 312, 313, 314, -1, -1,
317, -1, -1, 320, 321, 322, -1, 324, 325, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, 344, -1, -1,
347, 348, -1, 350, 351, -1, 353, -1, 355, -1,
357, 358, 359, 360, 361, 362, 126, -1, 365, -1,
-1, -1, -1, -1, -1, 372, -1, -1, 257, 258,
259, 260, 261, 262, 263, 264, 265, -1, -1, -1,
-1, 33, -1, -1, 273, -1, 275, 276, 277, 278,
-1, -1, -1, -1, -1, 284, 285, 286, 287, 288,
289, 290, -1, -1, 293, -1, -1, -1, -1, -1,
-1, -1, -1, 302, 303, -1, 305, 306, 307, 308,
309, 310, 311, 312, 313, 314, -1, -1, 317, -1,
-1, 320, 321, 322, -1, 324, 325, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, 344, -1, -1, 347, 348,
-1, 350, 351, -1, -1, -1, 355, -1, 357, 358,
359, 360, 361, 362, 126, -1, 365, -1, -1, -1,
-1, -1, -1, 372, -1, -1, -1, 257, 258, 259,
260, 261, 262, 263, 264, 265, -1, -1, -1, -1,
33, -1, -1, 273, -1, 275, 276, 277, 278, -1,
-1, -1, -1, -1, 284, 285, 286, 287, 288, 289,
290, -1, -1, 293, -1, -1, -1, -1, -1, -1,
-1, -1, 302, 303, -1, 305, 306, 307, 308, 309,
310, -1, 312, 313, 314, -1, -1, 317, -1, -1,
-1, 321, 322, -1, 324, 325, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, 344, -1, -1, 347, 348, -1,
350, 351, -1, 353, -1, 355, -1, 357, 358, 359,
360, 361, 362, 126, -1, 365, -1, -1, -1, -1,
-1, -1, 372, -1, -1, 257, 258, 259, 260, 261,
262, 263, 264, 265, -1, -1, -1, -1, 33, -1,
-1, 273, -1, 275, 276, 277, 278, -1, -1, -1,
-1, -1, 284, 285, 286, 287, 288, 289, 290, -1,
-1, 293, -1, -1, -1, -1, -1, -1, -1, -1,
302, 303, -1, 305, 306, 307, 308, 309, 310, -1,
312, 313, 314, -1, -1, 317, -1, -1, -1, 321,
322, -1, 324, 325, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, 344, -1, -1, 347, 348, -1, 350, 351,
-1, 353, -1, 355, -1, 357, 358, 359, 360, 361,
362, 126, -1, 365, -1, -1, -1, -1, -1, -1,
372, -1, -1, -1, 257, 258, 259, 260, 261, 262,
263, 264, 265, -1, -1, -1, -1, 33, -1, -1,
273, -1, 275, 276, 277, 278, -1, -1, -1, -1,
-1, 284, 285, 286, 287, 288, 289, 290, -1, -1,
293, -1, -1, -1, -1, -1, -1, -1, -1, 302,
303, -1, 305, 306, 307, 308, 309, 310, -1, 312,
313, 314, -1, -1, 317, -1, -1, -1, 321, 322,
-1, 324, 325, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, 344, -1, -1, 347, 348, -1, 350, 351, -1,
353, -1, 355, -1, 357, 358, 359, 360, 361, 362,
126, -1, 365, -1, -1, -1, -1, -1, -1, 372,
-1, -1, 257, 258, 259, 260, 261, 262, 263, 264,
265, -1, -1, -1, -1, 33, -1, -1, 273, -1,
275, 276, 277, 278, -1, -1, -1, -1, -1, 284,
285, 286, 287, 288, 289, 290, -1, -1, 293, -1,
-1, -1, -1, -1, -1, -1, -1, 302, 303, -1,
305, 306, 307, 308, 309, 310, -1, 312, 313, 314,
-1, -1, 317, -1, -1, -1, 321, 322, -1, 324,
325, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, 344,
-1, -1, 347, 348, -1, 350, 351, -1, 353, -1,
355, -1, 357, 358, 359, 360, 361, 362, 126, -1,
365, -1, -1, -1, -1, -1, -1, 372, -1, -1,
-1, 257, 258, 259, 260, 261, 262, 263, 264, 265,
-1, -1, -1, -1, 33, -1, -1, 273, -1, 275,
276, 277, 278, -1, -1, -1, -1, -1, 284, 285,
286, 287, 288, 289, 290, -1, -1, 293, -1, -1,
-1, -1, -1, -1, -1, -1, 302, 303, -1, 305,
306, 307, 308, 309, 310, -1, 312, 313, 314, -1,
-1, 317, -1, -1, -1, 321, 322, -1, 324, 325,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, 344, -1,
-1, 347, 348, -1, 350, 351, -1, 353, -1, 355,
-1, 357, 358, 359, 360, 361, 362, 126, -1, 365,
-1, -1, -1, -1, -1, -1, 372, -1, -1, 257,
258, 259, 260, 261, 262, 263, 264, 265, -1, -1,
-1, -1, 33, -1, -1, 273, -1, 275, 276, 277,
278, -1, -1, -1, -1, -1, 284, 285, 286, 287,
288, 289, 290, -1, -1, 293, -1, -1, -1, -1,
-1, -1, -1, -1, 302, 303, -1, 305, 306, 307,
308, 309, 310, -1, 312, 313, 314, -1, -1, 317,
-1, -1, -1, 321, 322, -1, 324, 325, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, 344, -1, -1, 347,
348, -1, 350, 351, -1, -1, -1, 355, -1, 357,
358, 359, 360, 361, 362, 126, -1, 365, -1, -1,
-1, -1, -1, -1, 372, -1, -1, -1, 257, 258,
259, 260, 261, 262, 263, 264, 265, -1, -1, -1,
-1, 33, -1, -1, 273, -1, 275, 276, 277, 278,
-1, -1, -1, -1, -1, 284, 285, 286, 287, 288,
289, 290, -1, -1, 293, -1, -1, -1, -1, -1,
-1, -1, -1, 302, 303, -1, 305, 306, 307, 308,
309, 310, -1, 312, 313, 314, -1, -1, 317, -1,
-1, -1, 321, 322, -1, 324, 325, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, 344, -1, -1, 347, 348,
-1, 350, 351, -1, -1, -1, 355, -1, 357, 358,
359, 360, 361, 362, 126, -1, 365, -1, -1, -1,
-1, -1, -1, 372, -1, -1, 257, 258, 259, 260,
261, 262, 263, 264, 265, -1, -1, -1, -1, -1,
-1, -1, 273, -1, 275, 276, 277, 278, -1, -1,
-1, -1, -1, 284, 285, 286, 287, 288, 289, 290,
-1, -1, 293, -1, -1, -1, -1, -1, -1, -1,
-1, 302, 303, -1, 305, 306, 307, 308, 309, 310,
-1, 312, 313, 314, -1, -1, 317, -1, -1, -1,
321, 322, -1, 324, 325, -1, 33, -1, -1, -1,
37, 38, -1, -1, -1, 42, 43, -1, 45, -1,
47, -1, -1, 344, -1, -1, 347, 348, -1, 350,
351, -1, -1, 60, 355, 62, 357, 358, 359, 360,
361, 362, -1, -1, 365, -1, -1, -1, -1, -1,
-1, 372, -1, -1, -1, 257, 258, 259, 260, 261,
262, 263, 264, 265, -1, -1, -1, 94, -1, 96,
-1, 273, -1, 275, 276, 277, 278, -1, -1, -1,
-1, -1, 284, 285, 286, 287, 288, 289, 290, -1,
-1, 293, -1, -1, -1, -1, -1, 124, -1, 126,
302, 303, -1, 305, 306, 307, 308, 309, 310, -1,
312, 313, 314, -1, -1, 317, -1, -1, -1, 321,
322, -1, 324, 325, -1, 33, -1, -1, -1, 37,
38, -1, -1, -1, 42, 43, -1, 45, -1, 47,
-1, -1, 344, -1, -1, 347, 348, -1, 350, 351,
-1, -1, 60, 355, 62, 357, 358, 359, 360, 361,
362, -1, -1, 365, -1, -1, -1, -1, -1, -1,
372, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, 94, -1, 96, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, 124, -1, 126, -1,
-1, -1, -1, 44, -1, -1, -1, -1, -1, -1,
257, 258, 259, 260, 261, 262, 263, 264, 265, 266,
267, 268, 269, 270, 271, 272, 273, 274, 275, 276,
277, 278, 279, 280, -1, -1, -1, 284, 285, 286,
287, 288, 289, 290, 291, 292, 293, -1, -1, -1,
-1, -1, 299, 300, 301, 302, 303, 304, 305, 306,
307, 308, 309, 310, -1, -1, -1, -1, -1, -1,
317, -1, -1, -1, -1, -1, -1, 324, 325, 326,
327, 328, 329, 330, 331, 332, -1, -1, 335, 336,
-1, -1, 339, 340, 341, 342, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, 353, -1, -1, -1,
-1, -1, -1, -1, 361, -1, -1, -1, -1, 44,
-1, -1, -1, -1, -1, -1, -1, -1, -1, 257,
258, 259, 260, 261, 262, 263, 264, 265, 266, 267,
268, 269, 270, 271, 272, 273, 274, 275, 276, 277,
278, 279, 280, -1, -1, -1, 284, 285, 286, 287,
288, 289, 290, 291, 292, 293, -1, -1, -1, -1,
-1, 299, 300, 301, 302, 303, 304, 305, 306, 307,
308, 309, 310, -1, -1, -1, -1, -1, -1, 317,
-1, -1, -1, -1, -1, -1, 324, 325, 326, 327,
328, 329, 330, 331, 332, -1, -1, 335, 336, -1,
-1, 339, 340, 341, 342, -1, 257, 258, 259, 260,
261, 262, 263, 264, 265, 353, -1, -1, -1, -1,
-1, -1, 273, 361, 275, 276, 277, 278, -1, -1,
-1, -1, -1, 284, 285, 286, 287, 288, 289, 290,
-1, -1, 293, -1, -1, -1, -1, -1, -1, -1,
-1, 302, 303, -1, 305, 306, 307, 308, 309, 310,
-1, 312, 313, 314, -1, -1, 317, -1, -1, -1,
321, 322, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, 344, -1, -1, 347, 348, -1, 350,
351, -1, -1, -1, 355, -1, 357, 358, 359, 360,
361, 362, -1, -1, 365, -1, -1, -1, -1, -1,
-1, 372, 257, 258, 259, 260, 261, 262, 263, 264,
265, -1, -1, -1, -1, -1, -1, -1, 273, -1,
275, 276, 277, 278, -1, -1, -1, -1, -1, 284,
285, 286, 287, 288, 289, 290, -1, -1, 293, -1,
-1, -1, -1, -1, -1, -1, -1, 302, 303, -1,
305, 306, 307, 308, 309, 310, -1, 312, 313, 314,
-1, -1, 317, -1, -1, -1, 321, 322, -1, -1,
33, -1, -1, -1, 37, 38, -1, -1, -1, 42,
43, -1, 45, -1, 47, -1, -1, -1, -1, 344,
-1, -1, 347, 348, -1, 350, 351, 60, -1, 62,
355, -1, 357, 358, 359, 360, 361, 362, -1, -1,
365, -1, -1, -1, -1, -1, -1, 372, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, 94, -1, 96, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, 124, -1, 126, -1, -1, -1, -1, -1, -1,
-1, 33, -1, -1, -1, 37, 38, -1, 40, -1,
42, 43, -1, 45, -1, 47, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, 60, -1,
62, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, 94, -1, 96, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, 124, -1, 126, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, 257, 258, 259, 260, 261, 262,
263, 264, 265, 266, 267, 268, 269, 270, 271, 272,
273, 274, 275, 276, 277, 278, 279, 280, -1, -1,
-1, 284, 285, 286, 287, 288, 289, 290, 291, 292,
293, -1, -1, -1, -1, -1, 299, 300, 301, 302,
303, 304, 305, 306, -1, -1, 309, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, 324, 325, 326, 327, 328, 329, 330, 331, 332,
-1, -1, 335, 336, -1, -1, 339, 340, 341, 342,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
353, -1, -1, -1, 357, 257, 258, 259, 260, 261,
262, 263, 264, 265, 266, 267, 268, 269, 270, 271,
272, 273, 274, 275, 276, 277, 278, 279, 280, -1,
-1, -1, 284, 285, 286, 287, 288, 289, 290, 291,
292, 293, -1, -1, -1, -1, -1, 299, 300, 301,
302, 303, 304, 305, 306, 307, 308, 309, 310, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, 324, 325, 326, 327, 328, 329, 330, 331,
332, -1, -1, 335, 336, -1, -1, 339, 340, 341,
342, -1, -1, 33, -1, -1, -1, 37, 38, -1,
-1, 353, 42, 43, -1, 45, -1, 47, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
60, -1, 62, -1, -1, -1, -1, -1, -1, -1,
-1, 33, -1, -1, -1, 37, 38, -1, 40, -1,
42, 43, -1, 45, -1, 47, -1, -1, -1, -1,
-1, -1, -1, -1, 94, -1, 96, -1, 60, -1,
62, -1, -1, -1, -1, -1, -1, -1, -1, 33,
-1, -1, -1, 37, 38, -1, 40, -1, 42, 43,
-1, 45, -1, 47, 124, -1, 126, -1, -1, -1,
-1, -1, 94, -1, 96, -1, 60, -1, 62, -1,
-1, -1, -1, -1, -1, -1, -1, 33, -1, -1,
-1, 37, 38, -1, 40, -1, 42, 43, -1, 45,
-1, 47, 124, -1, 126, -1, -1, -1, -1, -1,
94, -1, 96, -1, 60, -1, 62, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
124, -1, 126, -1, -1, -1, -1, -1, 94, -1,
96, -1, -1, -1, -1, -1, -1, -1, -1, -1,
33, -1, -1, -1, 37, 38, -1, 40, -1, 42,
43, -1, 45, -1, 47, -1, -1, -1, 124, -1,
126, -1, -1, -1, -1, -1, -1, 60, -1, 62,
-1, -1, -1, -1, -1, -1, -1, 257, 258, 259,
260, 261, 262, 263, 264, 265, 266, 267, 268, 269,
270, 271, 272, 273, 274, 275, 276, 277, 278, 279,
280, 94, -1, 96, 284, 285, 286, 287, 288, 289,
290, 291, 292, 293, -1, -1, -1, -1, -1, 299,
300, 301, 302, 303, 304, 305, 306, -1, -1, 309,
-1, 124, -1, 126, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, 324, 325, 326, 327, 328, 329,
330, 331, 332, -1, -1, 335, 336, -1, -1, 339,
340, 341, 342, 305, 306, -1, -1, 309, -1, -1,
-1, -1, -1, 353, -1, -1, -1, -1, -1, -1,
-1, -1, 324, 325, 326, 327, 328, 329, 330, 331,
332, -1, -1, 335, 336, -1, -1, 339, 340, 341,
342, 305, 306, -1, -1, 309, -1, -1, -1, -1,
-1, 353, -1, -1, -1, -1, -1, -1, -1, -1,
324, 325, 326, 327, 328, 329, 330, 331, 332, -1,
-1, 335, 336, -1, -1, 339, 340, 341, 342, 305,
306, -1, -1, 309, -1, -1, -1, -1, -1, 353,
-1, -1, -1, -1, -1, -1, -1, -1, 324, 325,
326, 327, 328, 329, 330, 331, 332, -1, -1, 335,
336, -1, -1, 339, 340, 341, 342, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, 353, -1, -1,
33, -1, -1, -1, 37, 38, -1, 40, -1, 42,
43, -1, 45, -1, 47, -1, -1, -1, -1, -1,
-1, -1, 305, 306, -1, -1, 309, 60, -1, 62,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, 324, 325, 326, 327, 328, 329, 330, 331, 332,
-1, -1, 335, 336, -1, -1, 339, 340, 341, 342,
-1, 94, -1, 96, -1, -1, -1, 33, -1, -1,
353, 37, 38, -1, 40, -1, 42, 43, -1, 45,
-1, 47, -1, -1, -1, -1, -1, -1, -1, -1,
-1, 124, -1, 126, 60, -1, 62, -1, -1, -1,
-1, -1, -1, -1, -1, 33, -1, -1, -1, 37,
38, -1, 40, -1, 42, 43, -1, 45, -1, 47,
-1, -1, -1, -1, -1, -1, -1, -1, 94, -1,
96, -1, 60, -1, 62, -1, -1, -1, -1, -1,
-1, -1, -1, 33, -1, -1, -1, 37, 38, -1,
40, -1, 42, 43, -1, 45, -1, 47, 124, -1,
126, -1, -1, -1, -1, -1, 94, -1, 96, -1,
60, -1, 62, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, 124, -1, 126, -1,
-1, -1, -1, -1, 94, -1, 96, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, 33,
-1, -1, -1, 37, 38, -1, 40, -1, 42, 43,
-1, 45, -1, 47, 124, -1, 126, -1, -1, -1,
-1, -1, -1, -1, -1, -1, 60, -1, 62, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, 305, 306, -1, -1, 309, -1, -1, -1,
94, -1, 96, -1, -1, -1, -1, -1, -1, -1,
-1, 324, 325, 326, 327, 328, 329, 330, 331, 332,
-1, -1, 335, 336, -1, -1, 339, 340, 341, 342,
124, -1, 126, -1, -1, -1, -1, -1, -1, -1,
353, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, 305,
306, -1, -1, 309, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, 324, 325,
326, 327, 328, 329, 330, 331, 332, -1, -1, 335,
336, -1, -1, 339, 340, 341, 342, 305, 306, -1,
-1, 309, -1, -1, -1, -1, -1, 353, -1, -1,
-1, -1, -1, -1, -1, -1, 324, 325, 326, 327,
328, 329, 330, 331, 332, -1, -1, 335, 336, -1,
-1, 339, 340, 341, 342, 305, 306, -1, -1, 309,
-1, -1, -1, -1, -1, 353, -1, -1, -1, -1,
-1, -1, -1, -1, 324, 325, 326, 327, 328, 329,
330, 331, 332, -1, -1, 335, 336, -1, -1, 339,
340, 341, 342, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, 353, -1, -1, -1, -1, -1, 33,
-1, -1, -1, 37, 38, -1, 40, -1, 42, 43,
-1, 45, -1, 47, -1, -1, -1, -1, -1, -1,
-1, 305, 306, -1, -1, 309, 60, -1, 62, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
324, 325, 326, 327, 328, 329, 330, 331, 332, -1,
-1, 335, 336, -1, -1, 339, 340, 341, 342, -1,
94, -1, 96, -1, -1, -1, 33, -1, -1, 353,
37, 38, -1, 40, -1, 42, 43, -1, 45, -1,
47, -1, -1, -1, -1, -1, -1, -1, -1, -1,
124, -1, 126, 60, -1, 62, -1, -1, -1, -1,
-1, -1, -1, -1, 33, -1, -1, -1, 37, 38,
-1, 40, -1, 42, 43, -1, 45, -1, 47, -1,
-1, -1, -1, -1, -1, -1, -1, 94, -1, 96,
-1, 60, -1, 62, -1, -1, -1, -1, -1, -1,
-1, -1, 33, -1, -1, -1, 37, 38, -1, 40,
-1, 42, 43, -1, 45, -1, 47, 124, -1, 126,
-1, -1, -1, -1, -1, 94, -1, 96, -1, 60,
-1, 62, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, 124, -1, 126, -1, -1,
-1, -1, -1, 94, -1, 96, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, 33, -1,
-1, -1, 37, 38, -1, 40, -1, 42, 43, -1,
45, -1, 47, 124, -1, 126, -1, -1, -1, -1,
-1, -1, -1, -1, -1, 60, -1, 62, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, 305, 306, -1, -1, 309, -1, -1, -1, 94,
-1, 96, -1, -1, -1, -1, -1, -1, -1, -1,
324, 325, 326, 327, 328, 329, 330, 331, 332, -1,
-1, 335, 336, -1, -1, 339, 340, 341, 342, 124,
-1, 126, -1, -1, -1, -1, -1, -1, -1, 353,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, 305, 306,
-1, -1, 309, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, 324, 325, 326,
327, 328, 329, 330, 331, 332, -1, -1, 335, 336,
-1, -1, 339, 340, 341, 342, 305, 306, -1, -1,
309, -1, -1, -1, -1, -1, 353, -1, -1, -1,
-1, -1, -1, -1, -1, 324, 325, 326, 327, 328,
329, 330, 331, 332, -1, -1, 335, 336, -1, -1,
339, 340, 341, 342, 305, 306, -1, -1, 309, -1,
-1, -1, -1, -1, 353, -1, -1, -1, -1, -1,
-1, -1, -1, 324, 325, 326, 327, 328, 329, 330,
331, 332, -1, -1, 335, 336, -1, -1, 339, 340,
341, 342, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, 353, -1, -1, -1, -1, -1, 33, -1,
-1, -1, 37, 38, -1, 40, -1, 42, 43, -1,
45, -1, 47, -1, -1, -1, -1, -1, -1, -1,
305, 306, -1, -1, 309, 60, -1, 62, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, 324,
325, 326, 327, 328, 329, 330, 331, 332, -1, -1,
335, 336, -1, -1, 339, 340, 341, 342, -1, 94,
-1, 96, -1, -1, -1, 33, -1, -1, 353, 37,
38, -1, -1, -1, 42, 43, -1, 45, -1, 47,
-1, -1, -1, -1, -1, -1, -1, -1, -1, 124,
-1, 126, 60, -1, 62, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, 257, 258, 259, 260, 261, 262,
263, 264, 265, -1, -1, -1, 94, -1, 96, -1,
273, -1, 275, 276, 277, 278, -1, -1, -1, -1,
-1, 284, 285, 286, 287, 288, 289, 290, -1, -1,
293, -1, -1, -1, -1, -1, 124, -1, 126, 302,
303, -1, 305, 306, 307, 308, 309, 310, -1, 312,
313, 314, -1, -1, 317, -1, -1, -1, 321, 322,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, 341, -1,
-1, 344, -1, -1, 347, 348, -1, 350, 351, -1,
-1, -1, 355, -1, 357, 358, 359, 360, 361, 362,
-1, -1, 365, -1, -1, -1, -1, -1, -1, 372,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
305, 306, -1, -1, 309, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, 324,
325, 326, 327, 328, 329, 330, 331, 332, -1, -1,
335, 336, -1, -1, 339, 340, 341, 342, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, 353, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, 305, 306, -1,
-1, 309, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, 324, 325, 326, 327,
328, 329, 330, 331, 332, -1, -1, 335, 336, -1,
-1, 339, 340, 341, 342, 257, 258, 259, 260, 261,
262, 263, 264, 265, -1, 353, -1, -1, -1, -1,
-1, 273, -1, 275, 276, 277, 278, -1, -1, -1,
-1, -1, 284, 285, 286, 287, 288, 289, 290, -1,
-1, 293, -1, -1, -1, -1, -1, -1, -1, -1,
302, 303, -1, 305, 306, 307, 308, 309, 310, -1,
312, 313, 314, -1, -1, 317, -1, -1, -1, 321,
322, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, 344, -1, -1, 347, 348, -1, 350, 351,
-1, 353, -1, 355, -1, 357, 358, 359, 360, 361,
362, -1, -1, 365, -1, -1, -1, -1, -1, -1,
372, 257, 258, 259, 260, 261, 262, 263, 264, 265,
-1, -1, -1, -1, -1, -1, -1, 273, -1, 275,
276, 277, 278, -1, -1, -1, -1, -1, 284, 285,
286, 287, 288, 289, 290, -1, -1, 293, -1, -1,
-1, -1, -1, -1, -1, -1, 302, 303, -1, 305,
306, 307, 308, 309, 310, -1, 312, 313, 314, -1,
-1, 317, -1, -1, -1, 321, 322, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, 344, -1,
-1, 347, 348, -1, 350, 351, -1, 353, -1, 355,
-1, 357, 358, 359, 360, 361, 362, -1, -1, 365,
-1, -1, -1, -1, -1, -1, 372, 257, 258, 259,
260, 261, 262, 263, 264, 265, -1, -1, -1, -1,
-1, -1, -1, 273, -1, 275, 276, 277, 278, -1,
-1, -1, -1, -1, 284, 285, 286, 287, 288, 289,
290, -1, -1, 293, -1, -1, -1, -1, -1, -1,
-1, -1, 302, 303, -1, 305, 306, 307, 308, 309,
310, -1, 312, 313, 314, -1, -1, 317, -1, -1,
-1, 321, 322, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, 344, -1, -1, 347, 348, -1,
350, 351, -1, -1, -1, 355, -1, 357, 358, 359,
360, 361, 362, -1, -1, 365, -1, -1, -1, -1,
-1, -1, 372, 257, 258, 259, 260, 261, 262, 263,
264, 265, -1, -1, -1, -1, -1, -1, -1, 273,
-1, 275, 276, 277, 278, -1, -1, -1, -1, -1,
284, 285, 286, 287, 288, 289, 290, -1, -1, 293,
-1, -1, -1, -1, -1, -1, -1, -1, 302, 303,
-1, 305, 306, 307, 308, 309, 310, -1, 312, 313,
314, -1, -1, 317, -1, -1, -1, 321, 322, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
344, -1, -1, 347, 348, -1, 350, 351, -1, -1,
-1, 355, -1, 357, 358, 359, 360, 361, 362, -1,
-1, 365, -1, -1, -1, -1, -1, -1, 372, 257,
258, 259, 260, 261, 262, 263, 264, 265, -1, -1,
-1, -1, -1, -1, -1, 273, -1, 275, 276, 277,
278, -1, -1, -1, -1, -1, 284, 285, 286, 287,
288, 289, 290, -1, -1, 293, -1, -1, -1, -1,
-1, -1, -1, -1, 302, 303, -1, 305, 306, 307,
308, 309, 310, -1, 312, 313, 314, -1, -1, 317,
-1, -1, -1, 321, 322, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, 344, -1, -1, 347,
348, -1, 350, 351, -1, -1, -1, 355, -1, 357,
358, 359, 360, 361, 362, -1, -1, 365, -1, -1,
-1, -1, -1, -1, 372, 257, 258, 259, 260, 261,
262, 263, 264, 265, -1, -1, -1, -1, -1, -1,
-1, 273, -1, 275, 276, 277, 278, -1, -1, -1,
-1, -1, 284, 285, 286, 287, 288, 289, 290, -1,
-1, 293, -1, -1, -1, -1, -1, -1, -1, -1,
302, 303, -1, 305, 306, 307, 308, 309, 310, -1,
312, 313, 314, -1, -1, 317, -1, -1, -1, 321,
322, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, 344, -1, -1, 347, 348, -1, 350, 351,
-1, -1, -1, 355, -1, 357, 358, 359, 360, 361,
362, -1, -1, 365, -1, -1, -1, -1, -1, -1,
372,
};
///
/// maps symbol value to printable name.
/// see yyExpecting
///
protected static readonly string[] yyNames = {
"end-of-file",null,null,null,null,null,null,null,null,null,"'\\n'",
null,null,null,null,null,null,null,null,null,null,null,null,null,null,
null,null,null,null,null,null,null,null,"'!'",null,null,null,"'%'",
"'&'",null,"'('","')'","'*'","'+'","','","'-'","'.'","'/'",null,null,
null,null,null,null,null,null,null,null,"':'","';'","'<'","'='","'>'",
"'?'",null,null,null,null,null,null,null,null,null,null,null,null,
null,null,null,null,null,null,null,null,null,null,null,null,null,null,
null,"'['",null,"']'","'^'",null,"'`'",null,null,null,null,null,null,
null,null,null,null,null,null,null,null,null,null,null,null,null,null,
null,null,null,null,null,null,"'{'","'|'","'}'","'~'",null,null,null,
null,null,null,null,null,null,null,null,null,null,null,null,null,null,
null,null,null,null,null,null,null,null,null,null,null,null,null,null,
null,null,null,null,null,null,null,null,null,null,null,null,null,null,
null,null,null,null,null,null,null,null,null,null,null,null,null,null,
null,null,null,null,null,null,null,null,null,null,null,null,null,null,
null,null,null,null,null,null,null,null,null,null,null,null,null,null,
null,null,null,null,null,null,null,null,null,null,null,null,null,null,
null,null,null,null,null,null,null,null,null,null,null,null,null,null,
null,null,null,null,null,null,null,null,null,null,null,null,null,null,
null,"keyword_class","keyword_module","keyword_def","keyword_begin",
"keyword_if","keyword_unless","keyword_while","keyword_until",
"keyword_for","keyword_undef","keyword_rescue","keyword_ensure",
"keyword_end","keyword_then","keyword_elsif","keyword_else",
"keyword_case","keyword_when","keyword_break","keyword_next",
"keyword_redo","keyword_retry","keyword_in","keyword_do",
"keyword_do_cond","keyword_do_block","keyword_do_LAMBDA",
"keyword_return","keyword_yield","keyword_super","keyword_self",
"keyword_nil","keyword_true","keyword_false","keyword_and",
"keyword_or","keyword_not","modifier_if","modifier_unless",
"modifier_while","modifier_until","modifier_rescue","keyword_alias",
"keyword_BEGIN","keyword_END","keyword__LINE__","keyword__FILE__",
"keyword__ENCODING__","tIDENTIFIER","tFID","tGVAR","tIVAR",
"tCONSTANT","tCVAR","tLABEL","tINTEGER","tFLOAT","tCHAR","tXSTRING",
"tREGEXP","tSTRING","tSTRING_PART","tSTRING_MID","tLABEL_END",
"tNTH_REF","tBACK_REF","tREGEXP_END","tUPLUS","tUMINUS","tPOW","tCMP",
"tEQ","tEQQ","tNEQ","tGEQ","tLEQ","tANDOP","tOROP","tMATCH","tNMATCH",
"tDOT2","tDOT3","tAREF","tASET","tLSHFT","tRSHFT","tCOLON2","tCOLON3",
"tOP_ASGN","tASSOC","tLPAREN","tLPAREN_ARG","tRPAREN","tLBRACK",
"tLBRACE","tLBRACE_ARG","tSTAR","tAMPER","tLAMBDA","tANDDOT",
"tSYMBEG","tREGEXP_BEG","tWORDS_BEG","tSYMBOLS_BEG","tSTRING_BEG",
"tXSTRING_BEG","tSTRING_DVAR","tLAMBEG","tHEREDOC_BEG","tHEREDOC_END",
"tLITERAL_DELIM","tHD_LITERAL_DELIM","tHD_STRING_PART",
"tHD_STRING_MID","tLOWEST","tUMINUS_NUM","tLAST_TOKEN",
};
///
/// printable rules for debugging.
///
protected static readonly string[] yyRule = {
"$accept : program",
"$$1 :",
"program : $$1 top_compstmt",
"top_compstmt : top_stmts opt_terms",
"top_stmts : none",
"top_stmts : top_stmt",
"top_stmts : top_stmts terms top_stmt",
"top_stmts : error top_stmt",
"top_stmt : stmt",
"$$2 :",
"top_stmt : keyword_BEGIN $$2 '{' top_compstmt '}'",
"bodystmt : compstmt opt_rescue opt_else opt_ensure",
"compstmt : stmts opt_terms",
"stmts : none",
"stmts : stmt",
"stmts : stmts terms stmt",
"stmts : error stmt",
"$$3 :",
"stmt : keyword_alias fsym $$3 fsym",
"stmt : keyword_undef undef_list",
"stmt : stmt modifier_if expr_value",
"stmt : stmt modifier_unless expr_value",
"stmt : stmt modifier_while expr_value",
"stmt : stmt modifier_until expr_value",
"stmt : stmt modifier_rescue stmt",
"stmt : keyword_END '{' compstmt '}'",
"stmt : command_asgn",
"stmt : mlhs '=' command_call",
"stmt : lhs '=' mrhs",
"stmt : mlhs '=' arg",
"stmt : mlhs '=' mrhs",
"stmt : expr",
"command_asgn : lhs '=' command_rhs",
"command_asgn : var_lhs tOP_ASGN command_rhs",
"command_asgn : primary_value '[' opt_call_args rbracket tOP_ASGN command_rhs",
"command_asgn : primary_value call_op tIDENTIFIER tOP_ASGN command_rhs",
"command_asgn : primary_value call_op tCONSTANT tOP_ASGN command_rhs",
"command_asgn : primary_value tCOLON2 tCONSTANT tOP_ASGN command_call",
"command_asgn : primary_value tCOLON2 tIDENTIFIER tOP_ASGN command_rhs",
"command_asgn : backref tOP_ASGN command_rhs",
"command_rhs : command_call",
"command_rhs : command_call modifier_rescue stmt",
"command_rhs : command_asgn",
"expr : command_call",
"expr : expr keyword_and expr",
"expr : expr keyword_or expr",
"expr : keyword_not opt_nl expr",
"expr : '!' command_call",
"expr : arg",
"expr_value : expr",
"command_call : command",
"command_call : block_command",
"block_command : block_call",
"block_command : block_call call_op2 operation2 command_args",
"$$4 :",
"cmd_brace_block : tLBRACE_ARG $$4 opt_block_param compstmt '}'",
"command : operation command_args",
"command : operation command_args cmd_brace_block",
"command : primary_value call_op operation2 command_args",
"command : primary_value call_op operation2 command_args cmd_brace_block",
"command : primary_value tCOLON2 operation2 command_args",
"command : primary_value tCOLON2 operation2 command_args cmd_brace_block",
"command : keyword_super command_args",
"command : keyword_yield command_args",
"command : keyword_return call_args",
"command : keyword_break call_args",
"command : keyword_next call_args",
"mlhs : mlhs_basic",
"mlhs : tLPAREN mlhs_inner rparen",
"mlhs_inner : mlhs_basic",
"mlhs_inner : tLPAREN mlhs_inner rparen",
"mlhs_basic : mlhs_list",
"mlhs_basic : mlhs_list mlhs_item",
"mlhs_basic : mlhs_list tSTAR mlhs_node",
"mlhs_basic : mlhs_list tSTAR mlhs_node ',' mlhs_post",
"mlhs_basic : mlhs_list tSTAR",
"mlhs_basic : mlhs_list tSTAR ',' mlhs_post",
"mlhs_basic : tSTAR mlhs_node",
"mlhs_basic : tSTAR mlhs_node ',' mlhs_post",
"mlhs_basic : tSTAR",
"mlhs_basic : tSTAR ',' mlhs_post",
"mlhs_item : mlhs_node",
"mlhs_item : tLPAREN mlhs_inner rparen",
"mlhs_list : mlhs_item ','",
"mlhs_list : mlhs_list mlhs_item ','",
"mlhs_post : mlhs_item",
"mlhs_post : mlhs_list mlhs_item",
"mlhs_node : variable",
"mlhs_node : primary_value '[' opt_call_args rbracket",
"mlhs_node : primary_value call_op tIDENTIFIER",
"mlhs_node : primary_value tCOLON2 tIDENTIFIER",
"mlhs_node : primary_value call_op tCONSTANT",
"mlhs_node : primary_value tCOLON2 tCONSTANT",
"mlhs_node : tCOLON3 tCONSTANT",
"mlhs_node : backref",
"lhs : variable",
"lhs : primary_value '[' opt_call_args rbracket",
"lhs : primary_value call_op tIDENTIFIER",
"lhs : primary_value tCOLON2 tIDENTIFIER",
"lhs : primary_value call_op tCONSTANT",
"lhs : primary_value tCOLON2 tCONSTANT",
"lhs : tCOLON3 tCONSTANT",
"lhs : backref",
"cname : tIDENTIFIER",
"cname : tCONSTANT",
"cpath : tCOLON3 cname",
"cpath : cname",
"cpath : primary_value tCOLON2 cname",
"fname : tIDENTIFIER",
"fname : tCONSTANT",
"fname : tFID",
"fname : op",
"fname : reswords",
"fsym : fname",
"fsym : basic_symbol",
"undef_list : fsym",
"$$5 :",
"undef_list : undef_list ',' $$5 fsym",
"op : '|'",
"op : '^'",
"op : '&'",
"op : tCMP",
"op : tEQ",
"op : tEQQ",
"op : tMATCH",
"op : tNMATCH",
"op : '>'",
"op : tGEQ",
"op : '<'",
"op : tLEQ",
"op : tNEQ",
"op : tLSHFT",
"op : tRSHFT",
"op : '+'",
"op : '-'",
"op : '*'",
"op : tSTAR",
"op : '/'",
"op : '%'",
"op : tPOW",
"op : '!'",
"op : '~'",
"op : tUPLUS",
"op : tUMINUS",
"op : tAREF",
"op : tASET",
"op : '`'",
"reswords : keyword__LINE__",
"reswords : keyword__FILE__",
"reswords : keyword__ENCODING__",
"reswords : keyword_BEGIN",
"reswords : keyword_END",
"reswords : keyword_alias",
"reswords : keyword_and",
"reswords : keyword_begin",
"reswords : keyword_break",
"reswords : keyword_case",
"reswords : keyword_class",
"reswords : keyword_def",
"reswords : keyword_do",
"reswords : keyword_else",
"reswords : keyword_elsif",
"reswords : keyword_end",
"reswords : keyword_ensure",
"reswords : keyword_false",
"reswords : keyword_for",
"reswords : keyword_in",
"reswords : keyword_module",
"reswords : keyword_next",
"reswords : keyword_nil",
"reswords : keyword_not",
"reswords : keyword_or",
"reswords : keyword_redo",
"reswords : keyword_rescue",
"reswords : keyword_retry",
"reswords : keyword_return",
"reswords : keyword_self",
"reswords : keyword_super",
"reswords : keyword_then",
"reswords : keyword_true",
"reswords : keyword_undef",
"reswords : keyword_when",
"reswords : keyword_yield",
"reswords : keyword_if",
"reswords : keyword_unless",
"reswords : keyword_while",
"reswords : keyword_until",
"arg : lhs '=' arg_rhs",
"arg : var_lhs tOP_ASGN arg_rhs",
"arg : primary_value '[' opt_call_args rbracket tOP_ASGN arg_rhs",
"arg : primary_value call_op tIDENTIFIER tOP_ASGN arg_rhs",
"arg : primary_value call_op tCONSTANT tOP_ASGN arg_rhs",
"arg : primary_value tCOLON2 tIDENTIFIER tOP_ASGN arg_rhs",
"arg : primary_value tCOLON2 tCONSTANT tOP_ASGN arg_rhs",
"arg : tCOLON3 tCONSTANT tOP_ASGN arg_rhs",
"arg : backref tOP_ASGN arg_rhs",
"arg : arg tDOT2 arg",
"arg : arg tDOT3 arg",
"arg : arg '+' arg",
"arg : arg '-' arg",
"arg : arg '*' arg",
"arg : arg '/' arg",
"arg : arg '%' arg",
"arg : arg tPOW arg",
"arg : tUMINUS_NUM tINTEGER tPOW arg",
"arg : tUMINUS_NUM tFLOAT tPOW arg",
"arg : tUPLUS arg",
"arg : tUMINUS arg",
"arg : arg '|' arg",
"arg : arg '^' arg",
"arg : arg '&' arg",
"arg : arg tCMP arg",
"arg : arg '>' arg",
"arg : arg tGEQ arg",
"arg : arg '<' arg",
"arg : arg tLEQ arg",
"arg : arg tEQ arg",
"arg : arg tEQQ arg",
"arg : arg tNEQ arg",
"arg : arg tMATCH arg",
"arg : arg tNMATCH arg",
"arg : '!' arg",
"arg : '~' arg",
"arg : arg tLSHFT arg",
"arg : arg tRSHFT arg",
"arg : arg tANDOP arg",
"arg : arg tOROP arg",
"arg : arg '?' arg opt_nl ':' arg",
"arg : primary",
"aref_args : none",
"aref_args : args trailer",
"aref_args : args comma assocs trailer",
"aref_args : assocs trailer",
"arg_rhs : arg",
"arg_rhs : arg modifier_rescue arg",
"paren_args : '(' opt_call_args rparen",
"opt_paren_args : none",
"opt_paren_args : paren_args",
"opt_call_args : none",
"opt_call_args : call_args",
"opt_call_args : args ','",
"opt_call_args : args comma assocs ','",
"opt_call_args : assocs ','",
"call_args : command",
"call_args : args opt_block_arg",
"call_args : assocs opt_block_arg",
"call_args : args comma assocs opt_block_arg",
"call_args : block_arg",
"$$6 :",
"command_args : $$6 call_args",
"block_arg : tAMPER arg",
"opt_block_arg : comma block_arg",
"opt_block_arg : none",
"comma : ','",
"comma : ',' heredoc_bodies",
"args : arg",
"args : tSTAR arg",
"args : args comma arg",
"args : args comma tSTAR arg",
"mrhs : args comma arg",
"mrhs : args comma tSTAR arg",
"mrhs : tSTAR arg",
"primary : literal",
"primary : string",
"primary : xstring",
"primary : regexp",
"primary : heredoc",
"primary : var_ref",
"primary : backref",
"primary : tFID",
"$$7 :",
"primary : keyword_begin $$7 bodystmt keyword_end",
"$$8 :",
"$$9 :",
"primary : tLPAREN_ARG $$8 stmt $$9 rparen",
"$$10 :",
"primary : tLPAREN_ARG $$10 rparen",
"primary : tLPAREN compstmt ')'",
"primary : primary_value tCOLON2 tCONSTANT",
"primary : tCOLON3 tCONSTANT",
"primary : tLBRACK aref_args ']'",
"primary : tLBRACE assoc_list '}'",
"primary : keyword_return",
"primary : keyword_yield opt_paren_args",
"primary : keyword_not '(' expr rparen",
"primary : keyword_not '(' rparen",
"primary : operation brace_block",
"primary : method_call",
"primary : method_call brace_block",
"$$11 :",
"$$12 :",
"primary : tLAMBDA $$11 f_larglist $$12 lambda_body",
"primary : keyword_if expr_value then compstmt if_tail keyword_end",
"primary : keyword_unless expr_value then compstmt opt_else keyword_end",
"$$13 :",
"$$14 :",
"primary : keyword_while $$13 expr_value do $$14 compstmt keyword_end",
"$$15 :",
"$$16 :",
"primary : keyword_until $$15 expr_value do $$16 compstmt keyword_end",
"primary : keyword_case expr_value opt_terms case_body keyword_end",
"primary : keyword_case opt_terms case_body keyword_end",
"$$17 :",
"$$18 :",
"primary : keyword_for for_var keyword_in $$17 expr_value do $$18 compstmt keyword_end",
"$$19 :",
"primary : keyword_class cpath superclass $$19 bodystmt keyword_end",
"$$20 :",
"$$21 :",
"primary : keyword_class tLSHFT expr $$20 term $$21 bodystmt keyword_end",
"$$22 :",
"primary : keyword_module cpath $$22 bodystmt keyword_end",
"$$23 :",
"$$24 :",
"primary : keyword_def fname $$23 $$24 f_arglist bodystmt keyword_end",
"$$25 :",
"$$26 :",
"primary : keyword_def singleton dot_or_colon $$25 fname $$26 f_arglist bodystmt keyword_end",
"primary : keyword_break",
"primary : keyword_next",
"primary : keyword_redo",
"primary : keyword_retry",
"primary_value : primary",
"then : term",
"then : keyword_then",
"then : term keyword_then",
"do : term",
"do : keyword_do_cond",
"if_tail : opt_else",
"if_tail : keyword_elsif expr_value then compstmt if_tail",
"opt_else : none",
"opt_else : keyword_else compstmt",
"for_var : lhs",
"for_var : mlhs",
"f_marg : f_norm_arg",
"f_marg : tLPAREN f_margs rparen",
"f_marg_list : f_marg",
"f_marg_list : f_marg_list ',' f_marg",
"f_margs : f_marg_list",
"f_margs : f_marg_list ',' tSTAR f_norm_arg",
"f_margs : f_marg_list ',' tSTAR f_norm_arg ',' f_marg_list",
"f_margs : f_marg_list ',' tSTAR",
"f_margs : f_marg_list ',' tSTAR ',' f_marg_list",
"f_margs : tSTAR f_norm_arg",
"f_margs : tSTAR f_norm_arg ',' f_marg_list",
"f_margs : tSTAR",
"f_margs : tSTAR ',' f_marg_list",
"block_param : f_arg ',' f_block_optarg ',' f_rest_arg opt_f_block_arg",
"block_param : f_arg ',' f_block_optarg ',' f_rest_arg ',' f_arg opt_f_block_arg",
"block_param : f_arg ',' f_block_optarg opt_f_block_arg",
"block_param : f_arg ',' f_block_optarg ',' f_arg opt_f_block_arg",
"block_param : f_arg ',' f_rest_arg opt_f_block_arg",
"block_param : f_arg ','",
"block_param : f_arg ',' f_rest_arg ',' f_arg opt_f_block_arg",
"block_param : f_arg opt_f_block_arg",
"block_param : f_block_optarg ',' f_rest_arg opt_f_block_arg",
"block_param : f_block_optarg ',' f_rest_arg ',' f_arg opt_f_block_arg",
"block_param : f_block_optarg opt_f_block_arg",
"block_param : f_block_optarg ',' f_arg opt_f_block_arg",
"block_param : f_rest_arg opt_f_block_arg",
"block_param : f_rest_arg ',' f_arg opt_f_block_arg",
"block_param : f_block_arg",
"opt_block_param : none",
"opt_block_param : block_param_def",
"block_param_def : '|' opt_bv_decl '|'",
"block_param_def : tOROP",
"block_param_def : '|' block_param opt_bv_decl '|'",
"opt_bv_decl : opt_nl",
"opt_bv_decl : opt_nl ';' bv_decls opt_nl",
"bv_decls : bvar",
"bv_decls : bv_decls ',' bvar",
"bvar : tIDENTIFIER",
"bvar : f_bad_arg",
"f_larglist : '(' f_args opt_bv_decl ')'",
"f_larglist : f_args",
"lambda_body : tLAMBEG compstmt '}'",
"lambda_body : keyword_do_LAMBDA compstmt keyword_end",
"$$27 :",
"do_block : keyword_do_block $$27 opt_block_param compstmt keyword_end",
"block_call : command do_block",
"block_call : block_call call_op2 operation2 opt_paren_args",
"block_call : block_call call_op2 operation2 opt_paren_args brace_block",
"block_call : block_call call_op2 operation2 command_args do_block",
"method_call : operation paren_args",
"method_call : primary_value call_op operation2 opt_paren_args",
"method_call : primary_value tCOLON2 operation2 paren_args",
"method_call : primary_value tCOLON2 operation3",
"method_call : primary_value call_op paren_args",
"method_call : primary_value tCOLON2 paren_args",
"method_call : keyword_super paren_args",
"method_call : keyword_super",
"method_call : primary_value '[' opt_call_args rbracket",
"$$28 :",
"brace_block : '{' $$28 opt_block_param compstmt '}'",
"$$29 :",
"brace_block : keyword_do $$29 opt_block_param compstmt keyword_end",
"case_body : keyword_when args then compstmt cases",
"cases : opt_else",
"cases : case_body",
"opt_rescue : keyword_rescue exc_list exc_var then compstmt opt_rescue",
"opt_rescue : none",
"exc_list : arg",
"exc_list : mrhs",
"exc_list : none",
"exc_var : tASSOC lhs",
"exc_var : none",
"opt_ensure : keyword_ensure compstmt",
"opt_ensure : none",
"literal : numeric",
"literal : symbol",
"literal : words",
"literal : symbols",
"string : tCHAR",
"string : tSTRING",
"string : tSTRING_BEG tSTRING",
"string : tSTRING_BEG string_rep tSTRING",
"string_rep : string_interp",
"string_rep : string_rep string_interp",
"string_interp : tSTRING_MID",
"$$30 :",
"string_interp : tSTRING_PART $$30 compstmt '}'",
"string_interp : tLITERAL_DELIM",
"string_interp : tHD_LITERAL_DELIM heredoc_bodies",
"xstring : tXSTRING_BEG tXSTRING",
"xstring : tXSTRING_BEG string_rep tXSTRING",
"regexp : tREGEXP_BEG tREGEXP",
"regexp : tREGEXP_BEG string_rep tREGEXP",
"heredoc : tHEREDOC_BEG",
"heredoc_bodies : heredoc_body",
"heredoc_bodies : heredoc_bodies heredoc_body",
"heredoc_body : tHEREDOC_END",
"heredoc_body : heredoc_string_rep tHEREDOC_END",
"heredoc_string_rep : heredoc_string_interp",
"heredoc_string_rep : heredoc_string_rep heredoc_string_interp",
"heredoc_string_interp : tHD_STRING_MID",
"$$31 :",
"heredoc_string_interp : tHD_STRING_PART $$31 compstmt '}'",
"words : tWORDS_BEG tSTRING",
"words : tWORDS_BEG string_rep tSTRING",
"symbol : basic_symbol",
"symbol : tSYMBEG tSTRING_BEG string_rep tSTRING",
"basic_symbol : tSYMBEG sym",
"sym : fname",
"sym : tIVAR",
"sym : tGVAR",
"sym : tCVAR",
"sym : tSTRING",
"sym : tSTRING_BEG tSTRING",
"symbols : tSYMBOLS_BEG tSTRING",
"symbols : tSYMBOLS_BEG string_rep tSTRING",
"numeric : tINTEGER",
"numeric : tFLOAT",
"numeric : tUMINUS_NUM tINTEGER",
"numeric : tUMINUS_NUM tFLOAT",
"variable : tIDENTIFIER",
"variable : tIVAR",
"variable : tGVAR",
"variable : tCVAR",
"variable : tCONSTANT",
"var_lhs : variable",
"var_ref : variable",
"var_ref : keyword_nil",
"var_ref : keyword_self",
"var_ref : keyword_true",
"var_ref : keyword_false",
"var_ref : keyword__FILE__",
"var_ref : keyword__LINE__",
"backref : tNTH_REF",
"backref : tBACK_REF",
"superclass :",
"$$32 :",
"superclass : '<' $$32 expr_value term",
"f_arglist : '(' f_args rparen",
"f_arglist : f_args term",
"f_args : f_arg ',' f_optarg ',' f_rest_arg opt_f_block_arg",
"f_args : f_arg ',' f_optarg ',' f_rest_arg ',' f_arg opt_f_block_arg",
"f_args : f_arg ',' f_optarg opt_f_block_arg",
"f_args : f_arg ',' f_optarg ',' f_arg opt_f_block_arg",
"f_args : f_arg ',' f_rest_arg opt_f_block_arg",
"f_args : f_arg ',' f_rest_arg ',' f_arg opt_f_block_arg",
"f_args : f_arg opt_f_block_arg",
"f_args : f_optarg ',' f_rest_arg opt_f_block_arg",
"f_args : f_optarg ',' f_rest_arg ',' f_arg opt_f_block_arg",
"f_args : f_optarg opt_f_block_arg",
"f_args : f_optarg ',' f_arg opt_f_block_arg",
"f_args : f_rest_arg opt_f_block_arg",
"f_args : f_rest_arg ',' f_arg opt_f_block_arg",
"f_args : f_block_arg",
"f_args :",
"f_bad_arg : tCONSTANT",
"f_bad_arg : tIVAR",
"f_bad_arg : tGVAR",
"f_bad_arg : tCVAR",
"f_norm_arg : f_bad_arg",
"f_norm_arg : tIDENTIFIER",
"f_arg_item : f_norm_arg",
"f_arg_item : tLPAREN f_margs rparen",
"f_arg : f_arg_item",
"f_arg : f_arg ',' f_arg_item",
"f_opt_asgn : tIDENTIFIER '='",
"f_opt : f_opt_asgn arg",
"f_block_opt : f_opt_asgn primary_value",
"f_block_optarg : f_block_opt",
"f_block_optarg : f_block_optarg ',' f_block_opt",
"f_optarg : f_opt",
"f_optarg : f_optarg ',' f_opt",
"restarg_mark : '*'",
"restarg_mark : tSTAR",
"f_rest_arg : restarg_mark tIDENTIFIER",
"f_rest_arg : restarg_mark",
"blkarg_mark : '&'",
"blkarg_mark : tAMPER",
"f_block_arg : blkarg_mark tIDENTIFIER",
"opt_f_block_arg : ',' f_block_arg",
"opt_f_block_arg : none",
"singleton : var_ref",
"$$33 :",
"singleton : '(' $$33 expr rparen",
"assoc_list : none",
"assoc_list : assocs trailer",
"assocs : assoc",
"assocs : assocs ',' assoc",
"assoc : arg tASSOC arg",
"assoc : tLABEL arg",
"assoc : tLABEL_END arg",
"assoc : tSTRING_BEG tLABEL_END arg",
"assoc : tSTRING_BEG string_rep tLABEL_END arg",
"operation : tIDENTIFIER",
"operation : tCONSTANT",
"operation : tFID",
"operation2 : tIDENTIFIER",
"operation2 : tCONSTANT",
"operation2 : tFID",
"operation2 : op",
"operation3 : tIDENTIFIER",
"operation3 : tFID",
"operation3 : op",
"dot_or_colon : '.'",
"dot_or_colon : tCOLON2",
"call_op : '.'",
"call_op : tANDDOT",
"call_op2 : call_op",
"call_op2 : tCOLON2",
"opt_terms :",
"opt_terms : terms",
"opt_nl :",
"opt_nl : nl",
"rparen : opt_nl ')'",
"rbracket : opt_nl ']'",
"trailer :",
"trailer : nl",
"trailer : comma",
"term : ';'",
"term : nl",
"term : heredoc_body",
"nl : '\\n'",
"terms : term",
"terms : terms term",
"none :",
};
///
/// debugging support, requires yyDebug.
/// Set to null to suppress debugging messages.
///
protected yyDebugOut yyDebug;
///
/// index-checked interface to yyNames[].
///
/// single character or %token value
/// token name or [illegal] or [unknown]
public static string yyName(int token)
{
if ((token < 0) || (token > yyNames.Length)) return "[illegal]";
string name;
if ((name = yyNames[token]) != null) return name;
return "[unknown]";
}
public static int yyToken(string name)
{
int token = 0;
foreach (var n in yyNames) {
if (n == name)
return token;
token++;
}
return yyErrorCode;
}
///
/// thrown for irrecoverable syntax errors and stack overflow.
///
///
/// Nested for convenience, does not depend on parser class.
///
public class yyException : System.Exception
{
public yyException(string message) : base(message)
{
}
}
///
/// must be implemented by a scanner object to supply input to the parser.
///
///
/// Nested for convenience, does not depend on parser class.
///
public interface yyInput
{
///
/// move on to next token.
///
/// false if positioned beyond tokens
/// IOException on input error
bool Advance();
///
/// classifies current token by %token value or single character.
///
///
/// Should not be called if Advance() returned false.
///
int Token { get; }
///
/// value associated with current token.
///
///
/// Should not be called if Advance() returned false.
///
object Value { get; }
}
public interface yyDebugOut
{
void push(int state, object value);
void lex(int state, int token, string name, object value);
void shift(int from, int to, int errorFlag);
void pop(int state);
void discard(int state, int token, string name, object value);
void reduce(int from, int to, int rule, string text, int len);
void shift(int from, int to);
void accept(object value);
void error(string message);
void reject();
}
public interface yyConsoleOut
{
void yyWarning(string message, object[] expected);
void yyError(string message, object[] expected);
}
public yyConsoleOut yyConsole;
///
/// (syntax) warning message.
/// Can be overwritten to control message format.
///
/// text to be displayed
/// list of acceptable tokens, if available
public void yyWarning(string message, params object[] expected)
{
if (yyConsole == null)
return;
yyConsole.yyWarning(message, expected);
}
///
/// (syntax) error message.
/// Can be overwritten to control message format.
///
/// text to be displayed
/// list of acceptable tokens, if available
public void yyError(string message, params object[] expected)
{
if (yyConsole == null)
return;
yyConsole.yyError(message, expected);
}
///
/// computes list of expected tokens on error by tracing the tables.
///
/// for which to compute the list
/// list of token names
protected string[] yyExpecting(int state)
{
int token, n, len = 0;
bool[] ok = new bool[yyNames.Length];
if ((n = yySindex[state]) != 0)
for (token = n < 0 ? -n : 0;
(token < yyNames.Length) && (n + token < yyTable.Length); ++token)
if (yyCheck[n + token] == token && !ok[token] && yyNames[token] != null) {
++len;
ok[token] = true;
}
if ((n = yyRindex[state]) != 0)
for (token = n < 0 ? -n : 0;
(token < yyNames.Length) && (n + token < yyTable.Length); ++token)
if (yyCheck[n + token] == token && !ok[token] && yyNames[token] != null) {
++len;
ok[token] = true;
}
string[] result = new string[len];
for (n = token = 0; n < len; ++token)
if (ok[token]) result[n++] = yyNames[token];
return result;
}
///
/// the generated parser, with debugging messages.
/// Maintains a dynamic state and value stack.
///
/// scanner
/// debug message writer implementing yyDebug,
/// or null
/// result of the last reduction, if any
/// yyException on irrecoverable parse error
public object yyParse(yyInput yyLex, yyDebugOut yyDebug)
{
this.yyDebug = yyDebug;
return yyParse(yyLex);
}
///
/// initial size and increment of the state/value stack [default 256].
/// This is not final so that it can be overwritten outside of invocations
/// of yyParse().
///
protected int yyMax;
protected int yyNest;
///
/// executed at the beginning of a reduce action.
/// Used as $$ = yyDefault($1), prior to the user-specified action, if any.
/// Can be overwritten to provide deep copy, etc.
///
///
/// the generated parser, with debugging messages.
/// Maintains a dynamic state and value stack.
///
/// scanner
/// result of the last reduction, if any
/// yyException on irrecoverable parse error
public object yyParse(yyInput yyLex)
{
yyNest++;
if (yyMax <= 0) yyMax = 256; // initial size
int yyState = 0; // state stack ptr
int[] yyStates = new int[0]; // state stack
object yyVal = null;
object[] yyVals = new object[0]; // value stack
int yyToken = -1; // current input
int yyErrorFlag = 0; // #tokens to shift
for (int yyTop = 0; ; ++yyTop) {
while (yyTop >= yyStates.Length) { // dynamically increase
yyStates.Push(0);
yyVals.Push(null);
}
yyStates[yyTop] = yyState;
yyVals[yyTop] = yyVal;
if (yyDebug != null) yyDebug.push(yyState, yyVal);
for (bool yyLoop = true; yyLoop;) { // discarding a token does not change stack
int yyN;
if ((yyN = yyDefRed[yyState]) == 0) { // else [default] reduce (yyN)
if (yyToken < 0) {
yyToken = yyLex.Advance() ? yyLex.Token : 0;
if (yyDebug != null)
yyDebug.lex(yyState, yyToken, yyName(yyToken), yyLex.Value);
}
if ((yyN = yySindex[yyState]) != 0 && ((yyN += yyToken) >= 0)
&& (yyN < yyTable.Length) && (yyCheck[yyN] == yyToken)) {
if (yyDebug != null)
yyDebug.shift(yyState, yyTable[yyN], yyErrorFlag > 0 ? yyErrorFlag - 1 : 0);
yyState = yyTable[yyN]; // shift to yyN
yyVal = yyLex.Value;
yyToken = -1;
if (yyErrorFlag > 0) --yyErrorFlag;
break;
}
if ((yyN = yyRindex[yyState]) != 0 && (yyN += yyToken) >= 0
&& yyN < yyTable.Length && yyCheck[yyN] == yyToken)
yyN = yyTable[yyN]; // reduce (yyN)
else
switch (yyErrorFlag) {
case 0:
case 1:
case 2:
if (yyErrorFlag == 0) {
yyError("syntax error, expecting {0}", String.Join(",", yyExpecting(yyState)));
if (yyDebug != null) yyDebug.error("syntax error");
}
yyErrorFlag = 3;
do {
if ((yyN = yySindex[yyStates[yyTop]]) != 0
&& (yyN += yyErrorCode) >= 0 && yyN < yyTable.Length
&& yyCheck[yyN] == yyErrorCode) {
if (yyDebug != null)
yyDebug.shift(yyStates[yyTop], yyTable[yyN], 3);
yyState = yyTable[yyN];
yyVal = yyLex.Value;
yyLoop = false;
break;
}
if (yyDebug != null) yyDebug.pop(yyStates[yyTop]);
} while (--yyTop >= 0);
if (!yyLoop)
continue;
if (yyDebug != null) yyDebug.reject();
throw new yyException("irrecoverable syntax error");
case 3:
if (yyToken == 0) {
yyNest--;
if (yyNest <= 0)
return yyVal;
if (yyDebug != null) yyDebug.reject();
throw new yyException("irrecoverable syntax error at end-of-file");
}
if (yyDebug != null)
yyDebug.discard(yyState, yyToken, yyName(yyToken),
yyLex.Value);
yyToken = -1;
continue; // leave stack alone
}
}
int yyV = yyTop + 1 - yyLen[yyN];
if (yyDebug != null)
yyDebug.reduce(yyState, yyStates[yyV - 1], yyN, yyRule[yyN], yyLen[yyN]);
yyVal = yyDefault(yyV > yyTop ? null : yyVals[yyV]);
switch (yyN) {
case 1:
#line 181 "mrb_parse.jay"
{
this.lstate = mrb_lex_state_enum.EXPR_BEG;
if (this.locals == null) this.locals = new locals_node(null);
}
break;
case 2:
#line 186 "mrb_parse.jay"
{
this.tree = new_scope(((node)yyVals[0 + yyTop]));
this.tree.NODE_LINENO(((node)yyVals[0 + yyTop]));
}
break;
case 3:
#line 193 "mrb_parse.jay"
{
yyVal = ((node)yyVals[-1 + yyTop]);
}
break;
case 4:
#line 199 "mrb_parse.jay"
{
yyVal = new_begin(null);
}
break;
case 5:
#line 203 "mrb_parse.jay"
{
yyVal = new_begin(((node)yyVals[0 + yyTop]));
((node)yyVal).NODE_LINENO(((node)yyVals[0 + yyTop]));
}
break;
case 6:
#line 208 "mrb_parse.jay"
{
yyVal = push(((node)yyVals[-2 + yyTop]), newline_node(((node)yyVals[0 + yyTop])));
}
break;
case 7:
#line 212 "mrb_parse.jay"
{
yyVal = new_begin(null);
}
break;
case 9:
#line 219 "mrb_parse.jay"
{
yyVal = local_switch();
}
break;
case 10:
#line 223 "mrb_parse.jay"
{
yyError("BEGIN not supported");
local_resume(((locals_node)yyVals[-3 + yyTop]));
yyVal = null;
}
break;
case 11:
#line 234 "mrb_parse.jay"
{
if (((node)yyVals[-2 + yyTop]) != null) {
yyVal = new_rescue(((node)yyVals[-3 + yyTop]), ((node)yyVals[-2 + yyTop]), ((node)yyVals[-1 + yyTop]));
((node)yyVal).NODE_LINENO(((node)yyVals[-3 + yyTop]));
}
else if (((node)yyVals[-1 + yyTop]) != null) {
yyWarning("else without rescue is useless");
yyVal = push(((node)yyVals[-3 + yyTop]), ((node)yyVals[-1 + yyTop]));
}
else {
yyVal = ((node)yyVals[-3 + yyTop]);
}
if (((node)yyVals[0 + yyTop]) != null) {
if (yyVal != null) {
yyVal = new_ensure(((node)yyVal), ((node)yyVals[0 + yyTop]));
}
else {
yyVal = push(((node)yyVals[0 + yyTop]), new_nil());
}
}
}
break;
case 12:
#line 258 "mrb_parse.jay"
{
yyVal = ((node)yyVals[-1 + yyTop]);
}
break;
case 13:
#line 264 "mrb_parse.jay"
{
yyVal = new_begin(null);
}
break;
case 14:
#line 268 "mrb_parse.jay"
{
yyVal = new_begin(((node)yyVals[0 + yyTop]));
((node)yyVal).NODE_LINENO(((node)yyVals[0 + yyTop]));
}
break;
case 15:
#line 273 "mrb_parse.jay"
{
yyVal = push(((node)yyVals[-2 + yyTop]), newline_node(((node)yyVals[0 + yyTop])));
}
break;
case 16:
#line 277 "mrb_parse.jay"
{
yyVal = new_begin(((node)yyVals[0 + yyTop]));
}
break;
case 17:
#line 282 "mrb_parse.jay"
{ this.lstate = mrb_lex_state_enum.EXPR_FNAME; }
break;
case 18:
#line 283 "mrb_parse.jay"
{
yyVal = new_alias(((mrb_sym)yyVals[-2 + yyTop]), ((mrb_sym)yyVals[0 + yyTop]));
}
break;
case 19:
#line 287 "mrb_parse.jay"
{
yyVal = ((node)yyVals[0 + yyTop]);
}
break;
case 20:
#line 291 "mrb_parse.jay"
{
yyVal = new_if(cond(((node)yyVals[0 + yyTop])), ((node)yyVals[-2 + yyTop]), null);
}
break;
case 21:
#line 295 "mrb_parse.jay"
{
yyVal = new_unless(cond(((node)yyVals[0 + yyTop])), ((node)yyVals[-2 + yyTop]), null);
}
break;
case 22:
#line 299 "mrb_parse.jay"
{
yyVal = new_while(cond(((node)yyVals[0 + yyTop])), ((node)yyVals[-2 + yyTop]));
}
break;
case 23:
#line 303 "mrb_parse.jay"
{
yyVal = new_until(cond(((node)yyVals[0 + yyTop])), ((node)yyVals[-2 + yyTop]));
}
break;
case 24:
#line 307 "mrb_parse.jay"
{
yyVal = new_mod_rescue(((node)yyVals[-2 + yyTop]), ((node)yyVals[0 + yyTop]));
}
break;
case 25:
#line 311 "mrb_parse.jay"
{
yyError("END not supported");
yyVal = new_postexe(((node)yyVals[-1 + yyTop]));
}
break;
case 27:
#line 317 "mrb_parse.jay"
{
yyVal = new_masgn(((node)yyVals[-2 + yyTop]), ((node)yyVals[0 + yyTop]));
}
break;
case 28:
#line 321 "mrb_parse.jay"
{
yyVal = new_asgn(((node)yyVals[-2 + yyTop]), new_array(((node)yyVals[0 + yyTop])));
}
break;
case 29:
#line 325 "mrb_parse.jay"
{
yyVal = new_masgn(((node)yyVals[-2 + yyTop]), ((node)yyVals[0 + yyTop]));
}
break;
case 30:
#line 329 "mrb_parse.jay"
{
yyVal = new_masgn(((node)yyVals[-2 + yyTop]), new_array(((node)yyVals[0 + yyTop])));
}
break;
case 32:
#line 336 "mrb_parse.jay"
{
yyVal = new_asgn(((node)yyVals[-2 + yyTop]), ((node)yyVals[0 + yyTop]));
}
break;
case 33:
#line 340 "mrb_parse.jay"
{
yyVal = new_op_asgn(((node)yyVals[-2 + yyTop]), ((mrb_sym)yyVals[-1 + yyTop]), ((node)yyVals[0 + yyTop]));
}
break;
case 34:
#line 344 "mrb_parse.jay"
{
yyVal = new_op_asgn(new_call(((node)yyVals[-5 + yyTop]), intern("[]", 2), ((node)yyVals[-3 + yyTop]), (MrbTokens)'.'), ((mrb_sym)yyVals[-1 + yyTop]), ((node)yyVals[0 + yyTop]));
}
break;
case 35:
#line 348 "mrb_parse.jay"
{
yyVal = new_op_asgn(new_call(((node)yyVals[-4 + yyTop]), ((mrb_sym)yyVals[-2 + yyTop]), null, ((MrbTokens)yyVals[-3 + yyTop])), ((mrb_sym)yyVals[-1 + yyTop]), ((node)yyVals[0 + yyTop]));
}
break;
case 36:
#line 352 "mrb_parse.jay"
{
yyVal = new_op_asgn(new_call(((node)yyVals[-4 + yyTop]), ((mrb_sym)yyVals[-2 + yyTop]), null, ((MrbTokens)yyVals[-3 + yyTop])), ((mrb_sym)yyVals[-1 + yyTop]), ((node)yyVals[0 + yyTop]));
}
break;
case 37:
#line 356 "mrb_parse.jay"
{
yyError("constant re-assignment");
yyVal = null;
}
break;
case 38:
#line 361 "mrb_parse.jay"
{
yyVal = new_op_asgn(new_call(((node)yyVals[-4 + yyTop]), ((mrb_sym)yyVals[-2 + yyTop]), null, MrbTokens.tCOLON2), ((mrb_sym)yyVals[-1 + yyTop]), ((node)yyVals[0 + yyTop]));
}
break;
case 39:
#line 365 "mrb_parse.jay"
{
backref_error(((node)yyVals[-2 + yyTop]));
yyVal = new_begin(null);
}
break;
case 41:
#line 373 "mrb_parse.jay"
{
yyVal = new_mod_rescue(((node)yyVals[-2 + yyTop]), ((node)yyVals[0 + yyTop]));
}
break;
case 44:
#line 382 "mrb_parse.jay"
{
yyVal = new_and(((node)yyVals[-2 + yyTop]), ((node)yyVals[0 + yyTop]));
}
break;
case 45:
#line 386 "mrb_parse.jay"
{
yyVal = new_or(((node)yyVals[-2 + yyTop]), ((node)yyVals[0 + yyTop]));
}
break;
case 46:
#line 390 "mrb_parse.jay"
{
yyVal = call_uni_op(cond(((node)yyVals[0 + yyTop])), "!");
}
break;
case 47:
#line 394 "mrb_parse.jay"
{
yyVal = call_uni_op(cond(((node)yyVals[0 + yyTop])), "!");
}
break;
case 49:
#line 401 "mrb_parse.jay"
{
if (((node)yyVals[0 + yyTop]) == null) yyVal = new_nil();
else {
void_expr_error(((node)yyVals[0 + yyTop]));
yyVal = ((node)yyVals[0 + yyTop]);
}
}
break;
case 54:
#line 419 "mrb_parse.jay"
{
local_nest();
}
break;
case 55:
#line 425 "mrb_parse.jay"
{
yyVal = new_block(((node)yyVals[-2 + yyTop]), ((node)yyVals[-1 + yyTop]), true);
local_unnest();
}
break;
case 56:
#line 432 "mrb_parse.jay"
{
yyVal = new_fcall(((mrb_sym)yyVals[-1 + yyTop]), ((node)yyVals[0 + yyTop]));
}
break;
case 57:
#line 436 "mrb_parse.jay"
{
args_with_block(((node)yyVals[-1 + yyTop]), ((node)yyVals[0 + yyTop]));
yyVal = new_fcall(((mrb_sym)yyVals[-2 + yyTop]), ((node)yyVals[-1 + yyTop]));
}
break;
case 58:
#line 441 "mrb_parse.jay"
{
yyVal = new_call(((node)yyVals[-3 + yyTop]), ((mrb_sym)yyVals[-1 + yyTop]), ((node)yyVals[0 + yyTop]), ((MrbTokens)yyVals[-2 + yyTop]));
}
break;
case 59:
#line 445 "mrb_parse.jay"
{
args_with_block(((node)yyVals[-1 + yyTop]), ((node)yyVals[0 + yyTop]));
yyVal = new_call(((node)yyVals[-4 + yyTop]), ((mrb_sym)yyVals[-2 + yyTop]), ((node)yyVals[-1 + yyTop]), ((MrbTokens)yyVals[-3 + yyTop]));
}
break;
case 60:
#line 450 "mrb_parse.jay"
{
yyVal = new_call(((node)yyVals[-3 + yyTop]), ((mrb_sym)yyVals[-1 + yyTop]), ((node)yyVals[0 + yyTop]), MrbTokens.tCOLON2);
}
break;
case 61:
#line 454 "mrb_parse.jay"
{
args_with_block(((node)yyVals[-1 + yyTop]), ((node)yyVals[0 + yyTop]));
yyVal = new_call(((node)yyVals[-4 + yyTop]), ((mrb_sym)yyVals[-2 + yyTop]), ((node)yyVals[-1 + yyTop]), MrbTokens.tCOLON2);
}
break;
case 62:
#line 459 "mrb_parse.jay"
{
yyVal = new_super(((node)yyVals[0 + yyTop]));
}
break;
case 63:
#line 463 "mrb_parse.jay"
{
yyVal = new_yield(((node)yyVals[0 + yyTop]));
}
break;
case 64:
#line 467 "mrb_parse.jay"
{
yyVal = new_return(ret_args(((node)yyVals[0 + yyTop])));
}
break;
case 65:
#line 471 "mrb_parse.jay"
{
yyVal = new_break(ret_args(((node)yyVals[0 + yyTop])));
}
break;
case 66:
#line 475 "mrb_parse.jay"
{
yyVal = new_next(ret_args(((node)yyVals[0 + yyTop])));
}
break;
case 67:
#line 481 "mrb_parse.jay"
{
yyVal = ((node)yyVals[0 + yyTop]);
}
break;
case 68:
#line 485 "mrb_parse.jay"
{
yyVal = ((node)yyVals[-1 + yyTop]);
}
break;
case 70:
#line 492 "mrb_parse.jay"
{
yyVal = ((node)yyVals[-1 + yyTop]);
}
break;
case 71:
#line 498 "mrb_parse.jay"
{
yyVal = list1(((node)yyVals[0 + yyTop]));
}
break;
case 72:
#line 502 "mrb_parse.jay"
{
yyVal = list1(push(((node)yyVals[-1 + yyTop]), ((node)yyVals[0 + yyTop])));
}
break;
case 73:
#line 506 "mrb_parse.jay"
{
yyVal = list2(((node)yyVals[-2 + yyTop]), ((node)yyVals[0 + yyTop]));
}
break;
case 74:
#line 510 "mrb_parse.jay"
{
yyVal = list3(((node)yyVals[-4 + yyTop]), ((node)yyVals[-2 + yyTop]), ((node)yyVals[0 + yyTop]));
}
break;
case 75:
#line 514 "mrb_parse.jay"
{
yyVal = list2(((node)yyVals[-1 + yyTop]), new_nil());
}
break;
case 76:
#line 518 "mrb_parse.jay"
{
yyVal = list3(((node)yyVals[-3 + yyTop]), new_nil(), ((node)yyVals[0 + yyTop]));
}
break;
case 77:
#line 522 "mrb_parse.jay"
{
yyVal = list2(null, ((node)yyVals[0 + yyTop]));
}
break;
case 78:
#line 526 "mrb_parse.jay"
{
yyVal = list3(null, ((node)yyVals[-2 + yyTop]), ((node)yyVals[0 + yyTop]));
}
break;
case 79:
#line 530 "mrb_parse.jay"
{
yyVal = list2(null, new_nil());
}
break;
case 80:
#line 534 "mrb_parse.jay"
{
yyVal = list3(null, new_nil(), ((node)yyVals[0 + yyTop]));
}
break;
case 82:
#line 541 "mrb_parse.jay"
{
yyVal = new_masgn(((node)yyVals[-1 + yyTop]), null);
}
break;
case 83:
#line 547 "mrb_parse.jay"
{
yyVal = list1(((node)yyVals[-1 + yyTop]));
}
break;
case 84:
#line 551 "mrb_parse.jay"
{
yyVal = push(((node)yyVals[-2 + yyTop]), ((node)yyVals[-1 + yyTop]));
}
break;
case 85:
#line 557 "mrb_parse.jay"
{
yyVal = list1(((node)yyVals[0 + yyTop]));
}
break;
case 86:
#line 561 "mrb_parse.jay"
{
yyVal = push(((node)yyVals[-1 + yyTop]), ((node)yyVals[0 + yyTop]));
}
break;
case 87:
#line 567 "mrb_parse.jay"
{
assignable(((node)yyVals[0 + yyTop]));
}
break;
case 88:
#line 571 "mrb_parse.jay"
{
yyVal = new_call(((node)yyVals[-3 + yyTop]), intern("[]", 2), ((node)yyVals[-1 + yyTop]), (MrbTokens)'.');
}
break;
case 89:
#line 575 "mrb_parse.jay"
{
yyVal = new_call(((node)yyVals[-2 + yyTop]), ((mrb_sym)yyVals[0 + yyTop]), null, ((MrbTokens)yyVals[-1 + yyTop]));
}
break;
case 90:
#line 579 "mrb_parse.jay"
{
yyVal = new_call(((node)yyVals[-2 + yyTop]), ((mrb_sym)yyVals[0 + yyTop]), null, MrbTokens.tCOLON2);
}
break;
case 91:
#line 583 "mrb_parse.jay"
{
yyVal = new_call(((node)yyVals[-2 + yyTop]), ((mrb_sym)yyVals[0 + yyTop]), null, ((MrbTokens)yyVals[-1 + yyTop]));
}
break;
case 92:
#line 587 "mrb_parse.jay"
{
if (this.in_def != 0 || this.in_single != 0)
yyError("dynamic constant assignment");
yyVal = new_colon2(((node)yyVals[-2 + yyTop]), ((mrb_sym)yyVals[0 + yyTop]));
}
break;
case 93:
#line 593 "mrb_parse.jay"
{
if (this.in_def != 0 || this.in_single != 0)
yyError("dynamic constant assignment");
yyVal = new_colon3(((mrb_sym)yyVals[0 + yyTop]));
}
break;
case 94:
#line 599 "mrb_parse.jay"
{
backref_error(((node)yyVals[0 + yyTop]));
yyVal = null;
}
break;
case 95:
#line 606 "mrb_parse.jay"
{
assignable(((node)yyVals[0 + yyTop]));
}
break;
case 96:
#line 610 "mrb_parse.jay"
{
yyVal = new_call(((node)yyVals[-3 + yyTop]), intern("[]", 2), ((node)yyVals[-1 + yyTop]), (MrbTokens)'.');
}
break;
case 97:
#line 614 "mrb_parse.jay"
{
yyVal = new_call(((node)yyVals[-2 + yyTop]), ((mrb_sym)yyVals[0 + yyTop]), null, ((MrbTokens)yyVals[-1 + yyTop]));
}
break;
case 98:
#line 618 "mrb_parse.jay"
{
yyVal = new_call(((node)yyVals[-2 + yyTop]), ((mrb_sym)yyVals[0 + yyTop]), null, MrbTokens.tCOLON2);
}
break;
case 99:
#line 622 "mrb_parse.jay"
{
yyVal = new_call(((node)yyVals[-2 + yyTop]), ((mrb_sym)yyVals[0 + yyTop]), null, ((MrbTokens)yyVals[-1 + yyTop]));
}
break;
case 100:
#line 626 "mrb_parse.jay"
{
if (this.in_def != 0 || this.in_single != 0)
yyError("dynamic constant assignment");
yyVal = new_colon2(((node)yyVals[-2 + yyTop]), ((mrb_sym)yyVals[0 + yyTop]));
}
break;
case 101:
#line 632 "mrb_parse.jay"
{
if (this.in_def != 0 || this.in_single != 0)
yyError("dynamic constant assignment");
yyVal = new_colon3(((mrb_sym)yyVals[0 + yyTop]));
}
break;
case 102:
#line 638 "mrb_parse.jay"
{
backref_error(((node)yyVals[0 + yyTop]));
yyVal = null;
}
break;
case 103:
#line 645 "mrb_parse.jay"
{
yyError("class/module name must be CONSTANT");
}
break;
case 105:
#line 652 "mrb_parse.jay"
{
yyVal = cons(1, ((mrb_sym)yyVals[0 + yyTop]));
}
break;
case 106:
#line 656 "mrb_parse.jay"
{
yyVal = cons(0, ((mrb_sym)yyVals[0 + yyTop]));
}
break;
case 107:
#line 660 "mrb_parse.jay"
{
yyVal = cons(((node)yyVals[-2 + yyTop]), ((mrb_sym)yyVals[0 + yyTop]));
}
break;
case 111:
#line 669 "mrb_parse.jay"
{
this.lstate = mrb_lex_state_enum.EXPR_ENDFN;
yyVal = ((mrb_sym)yyVals[0 + yyTop]);
}
break;
case 112:
#line 674 "mrb_parse.jay"
{
this.lstate = mrb_lex_state_enum.EXPR_ENDFN;
yyVal = ((mrb_sym)yyVals[0 + yyTop]);
}
break;
case 115:
#line 685 "mrb_parse.jay"
{
yyVal = new_undef(((mrb_sym)yyVals[0 + yyTop]));
}
break;
case 116:
#line 688 "mrb_parse.jay"
{ this.lstate = mrb_lex_state_enum.EXPR_FNAME; }
break;
case 117:
#line 689 "mrb_parse.jay"
{
yyVal = push(((node)yyVals[-3 + yyTop]), ((mrb_sym)yyVals[0 + yyTop]));
}
break;
case 118:
#line 694 "mrb_parse.jay"
{ yyVal = intern_c('|'); }
break;
case 119:
#line 695 "mrb_parse.jay"
{ yyVal = intern_c('^'); }
break;
case 120:
#line 696 "mrb_parse.jay"
{ yyVal = intern_c('&'); }
break;
case 121:
#line 697 "mrb_parse.jay"
{ yyVal = intern("<=>", 3); }
break;
case 122:
#line 698 "mrb_parse.jay"
{ yyVal = intern("==", 2); }
break;
case 123:
#line 699 "mrb_parse.jay"
{ yyVal = intern("===", 3); }
break;
case 124:
#line 700 "mrb_parse.jay"
{ yyVal = intern("=~", 2); }
break;
case 125:
#line 701 "mrb_parse.jay"
{ yyVal = intern("!~", 2); }
break;
case 126:
#line 702 "mrb_parse.jay"
{ yyVal = intern_c('>'); }
break;
case 127:
#line 703 "mrb_parse.jay"
{ yyVal = intern(">=", 2); }
break;
case 128:
#line 704 "mrb_parse.jay"
{ yyVal = intern_c('<'); }
break;
case 129:
#line 705 "mrb_parse.jay"
{ yyVal = intern("<=", 2); }
break;
case 130:
#line 706 "mrb_parse.jay"
{ yyVal = intern("!=", 2); }
break;
case 131:
#line 707 "mrb_parse.jay"
{ yyVal = intern("<<", 2); }
break;
case 132:
#line 708 "mrb_parse.jay"
{ yyVal = intern(">>", 2); }
break;
case 133:
#line 709 "mrb_parse.jay"
{ yyVal = intern_c('+'); }
break;
case 134:
#line 710 "mrb_parse.jay"
{ yyVal = intern_c('-'); }
break;
case 135:
#line 711 "mrb_parse.jay"
{ yyVal = intern_c('*'); }
break;
case 136:
#line 712 "mrb_parse.jay"
{ yyVal = intern_c('*'); }
break;
case 137:
#line 713 "mrb_parse.jay"
{ yyVal = intern_c('/'); }
break;
case 138:
#line 714 "mrb_parse.jay"
{ yyVal = intern_c('%'); }
break;
case 139:
#line 715 "mrb_parse.jay"
{ yyVal = intern("**", 2); }
break;
case 140:
#line 716 "mrb_parse.jay"
{ yyVal = intern_c('!'); }
break;
case 141:
#line 717 "mrb_parse.jay"
{ yyVal = intern_c('~'); }
break;
case 142:
#line 718 "mrb_parse.jay"
{ yyVal = intern("+@", 2); }
break;
case 143:
#line 719 "mrb_parse.jay"
{ yyVal = intern("-@", 2); }
break;
case 144:
#line 720 "mrb_parse.jay"
{ yyVal = intern("[]", 2); }
break;
case 145:
#line 721 "mrb_parse.jay"
{ yyVal = intern("[]=", 3); }
break;
case 146:
#line 722 "mrb_parse.jay"
{ yyVal = intern_c('`'); }
break;
case 187:
#line 740 "mrb_parse.jay"
{
yyVal = new_asgn(((node)yyVals[-2 + yyTop]), ((node)yyVals[0 + yyTop]));
}
break;
case 188:
#line 744 "mrb_parse.jay"
{
yyVal = new_op_asgn(((node)yyVals[-2 + yyTop]), ((mrb_sym)yyVals[-1 + yyTop]), ((node)yyVals[0 + yyTop]));
}
break;
case 189:
#line 748 "mrb_parse.jay"
{
yyVal = new_op_asgn(new_call(((node)yyVals[-5 + yyTop]), intern("[]", 2), ((node)yyVals[-3 + yyTop]), (MrbTokens)'.'), ((mrb_sym)yyVals[-1 + yyTop]), ((node)yyVals[0 + yyTop]));
}
break;
case 190:
#line 752 "mrb_parse.jay"
{
yyVal = new_op_asgn(new_call(((node)yyVals[-4 + yyTop]), ((mrb_sym)yyVals[-2 + yyTop]), null, ((MrbTokens)yyVals[-3 + yyTop])), ((mrb_sym)yyVals[-1 + yyTop]), ((node)yyVals[0 + yyTop]));
}
break;
case 191:
#line 756 "mrb_parse.jay"
{
yyVal = new_op_asgn(new_call(((node)yyVals[-4 + yyTop]), ((mrb_sym)yyVals[-2 + yyTop]), null, ((MrbTokens)yyVals[-3 + yyTop])), ((mrb_sym)yyVals[-1 + yyTop]), ((node)yyVals[0 + yyTop]));
}
break;
case 192:
#line 760 "mrb_parse.jay"
{
yyVal = new_op_asgn(new_call(((node)yyVals[-4 + yyTop]), ((mrb_sym)yyVals[-2 + yyTop]), null, MrbTokens.tCOLON2), ((mrb_sym)yyVals[-1 + yyTop]), ((node)yyVals[0 + yyTop]));
}
break;
case 193:
#line 764 "mrb_parse.jay"
{
yyError("constant re-assignment");
yyVal = new_begin(null);
}
break;
case 194:
#line 769 "mrb_parse.jay"
{
yyError("constant re-assignment");
yyVal = new_begin(null);
}
break;
case 195:
#line 774 "mrb_parse.jay"
{
backref_error(((node)yyVals[-2 + yyTop]));
yyVal = new_begin(null);
}
break;
case 196:
#line 779 "mrb_parse.jay"
{
yyVal = new_dot2(((node)yyVals[-2 + yyTop]), ((node)yyVals[0 + yyTop]));
}
break;
case 197:
#line 783 "mrb_parse.jay"
{
yyVal = new_dot3(((node)yyVals[-2 + yyTop]), ((node)yyVals[0 + yyTop]));
}
break;
case 198:
#line 787 "mrb_parse.jay"
{
yyVal = call_bin_op(((node)yyVals[-2 + yyTop]), "+", ((node)yyVals[0 + yyTop]));
}
break;
case 199:
#line 791 "mrb_parse.jay"
{
yyVal = call_bin_op(((node)yyVals[-2 + yyTop]), "-", ((node)yyVals[0 + yyTop]));
}
break;
case 200:
#line 795 "mrb_parse.jay"
{
yyVal = call_bin_op(((node)yyVals[-2 + yyTop]), "*", ((node)yyVals[0 + yyTop]));
}
break;
case 201:
#line 799 "mrb_parse.jay"
{
yyVal = call_bin_op(((node)yyVals[-2 + yyTop]), "/", ((node)yyVals[0 + yyTop]));
}
break;
case 202:
#line 803 "mrb_parse.jay"
{
yyVal = call_bin_op(((node)yyVals[-2 + yyTop]), "%", ((node)yyVals[0 + yyTop]));
}
break;
case 203:
#line 807 "mrb_parse.jay"
{
yyVal = call_bin_op(((node)yyVals[-2 + yyTop]), "**", ((node)yyVals[0 + yyTop]));
}
break;
case 204:
#line 811 "mrb_parse.jay"
{
yyVal = call_uni_op(call_bin_op(((node)yyVals[-2 + yyTop]), "**", ((node)yyVals[0 + yyTop])), "-@");
}
break;
case 205:
#line 815 "mrb_parse.jay"
{
yyVal = call_uni_op(call_bin_op(((node)yyVals[-2 + yyTop]), "**", ((node)yyVals[0 + yyTop])), "-@");
}
break;
case 206:
#line 819 "mrb_parse.jay"
{
yyVal = call_uni_op(((node)yyVals[0 + yyTop]), "+@");
}
break;
case 207:
#line 823 "mrb_parse.jay"
{
yyVal = call_uni_op(((node)yyVals[0 + yyTop]), "-@");
}
break;
case 208:
#line 827 "mrb_parse.jay"
{
yyVal = call_bin_op(((node)yyVals[-2 + yyTop]), "|", ((node)yyVals[0 + yyTop]));
}
break;
case 209:
#line 831 "mrb_parse.jay"
{
yyVal = call_bin_op(((node)yyVals[-2 + yyTop]), "^", ((node)yyVals[0 + yyTop]));
}
break;
case 210:
#line 835 "mrb_parse.jay"
{
yyVal = call_bin_op(((node)yyVals[-2 + yyTop]), "&", ((node)yyVals[0 + yyTop]));
}
break;
case 211:
#line 839 "mrb_parse.jay"
{
yyVal = call_bin_op(((node)yyVals[-2 + yyTop]), "<=>", ((node)yyVals[0 + yyTop]));
}
break;
case 212:
#line 843 "mrb_parse.jay"
{
yyVal = call_bin_op(((node)yyVals[-2 + yyTop]), ">", ((node)yyVals[0 + yyTop]));
}
break;
case 213:
#line 847 "mrb_parse.jay"
{
yyVal = call_bin_op(((node)yyVals[-2 + yyTop]), ">=", ((node)yyVals[0 + yyTop]));
}
break;
case 214:
#line 851 "mrb_parse.jay"
{
yyVal = call_bin_op(((node)yyVals[-2 + yyTop]), "<", ((node)yyVals[0 + yyTop]));
}
break;
case 215:
#line 855 "mrb_parse.jay"
{
yyVal = call_bin_op(((node)yyVals[-2 + yyTop]), "<=", ((node)yyVals[0 + yyTop]));
}
break;
case 216:
#line 859 "mrb_parse.jay"
{
yyVal = call_bin_op(((node)yyVals[-2 + yyTop]), "==", ((node)yyVals[0 + yyTop]));
}
break;
case 217:
#line 863 "mrb_parse.jay"
{
yyVal = call_bin_op(((node)yyVals[-2 + yyTop]), "===", ((node)yyVals[0 + yyTop]));
}
break;
case 218:
#line 867 "mrb_parse.jay"
{
yyVal = call_bin_op(((node)yyVals[-2 + yyTop]), "!=", ((node)yyVals[0 + yyTop]));
}
break;
case 219:
#line 871 "mrb_parse.jay"
{
yyVal = call_bin_op(((node)yyVals[-2 + yyTop]), "=~", ((node)yyVals[0 + yyTop]));
}
break;
case 220:
#line 875 "mrb_parse.jay"
{
yyVal = call_bin_op(((node)yyVals[-2 + yyTop]), "!~", ((node)yyVals[0 + yyTop]));
}
break;
case 221:
#line 879 "mrb_parse.jay"
{
yyVal = call_uni_op(cond(((node)yyVals[0 + yyTop])), "!");
}
break;
case 222:
#line 883 "mrb_parse.jay"
{
yyVal = call_uni_op(cond(((node)yyVals[0 + yyTop])), "~");
}
break;
case 223:
#line 887 "mrb_parse.jay"
{
yyVal = call_bin_op(((node)yyVals[-2 + yyTop]), "<<", ((node)yyVals[0 + yyTop]));
}
break;
case 224:
#line 891 "mrb_parse.jay"
{
yyVal = call_bin_op(((node)yyVals[-2 + yyTop]), ">>", ((node)yyVals[0 + yyTop]));
}
break;
case 225:
#line 895 "mrb_parse.jay"
{
yyVal = new_and(((node)yyVals[-2 + yyTop]), ((node)yyVals[0 + yyTop]));
}
break;
case 226:
#line 899 "mrb_parse.jay"
{
yyVal = new_or(((node)yyVals[-2 + yyTop]), ((node)yyVals[0 + yyTop]));
}
break;
case 227:
#line 903 "mrb_parse.jay"
{
yyVal = new_if(cond(((node)yyVals[-5 + yyTop])), ((node)yyVals[-3 + yyTop]), ((node)yyVals[0 + yyTop]), true);
}
break;
case 228:
#line 907 "mrb_parse.jay"
{
yyVal = ((node)yyVals[0 + yyTop]);
}
break;
case 230:
#line 914 "mrb_parse.jay"
{
yyVal = ((node)yyVals[-1 + yyTop]);
((node)yyVal).NODE_LINENO(((node)yyVals[-1 + yyTop]));
}
break;
case 231:
#line 919 "mrb_parse.jay"
{
yyVal = push(((node)yyVals[-3 + yyTop]), new_hash(((node)yyVals[-1 + yyTop])));
}
break;
case 232:
#line 923 "mrb_parse.jay"
{
yyVal = cons(new_hash(((node)yyVals[-1 + yyTop])), null);
((node)yyVal).NODE_LINENO(((node)yyVals[-1 + yyTop]));
}
break;
case 233:
#line 930 "mrb_parse.jay"
{
void_expr_error(((node)yyVals[0 + yyTop]));
yyVal = ((node)yyVals[0 + yyTop]);
}
break;
case 234:
#line 935 "mrb_parse.jay"
{
void_expr_error(((node)yyVals[-2 + yyTop]));
yyVal = new_mod_rescue(((node)yyVals[-2 + yyTop]), ((node)yyVals[0 + yyTop]));
}
break;
case 235:
#line 942 "mrb_parse.jay"
{
yyVal = ((node)yyVals[-1 + yyTop]);
}
break;
case 240:
#line 954 "mrb_parse.jay"
{
yyVal = cons(((node)yyVals[-1 + yyTop]), null);
((node)yyVal).NODE_LINENO(((node)yyVals[-1 + yyTop]));
}
break;
case 241:
#line 959 "mrb_parse.jay"
{
yyVal = cons(push(((node)yyVals[-3 + yyTop]), new_hash(((node)yyVals[-1 + yyTop]))), null);
((node)yyVal).NODE_LINENO(((node)yyVals[-3 + yyTop]));
}
break;
case 242:
#line 964 "mrb_parse.jay"
{
yyVal = cons(list1(new_hash(((node)yyVals[-1 + yyTop]))), null);
((node)yyVal).NODE_LINENO(((node)yyVals[-1 + yyTop]));
}
break;
case 243:
#line 971 "mrb_parse.jay"
{
yyVal = cons(list1(((node)yyVals[0 + yyTop])), null);
((node)yyVal).NODE_LINENO(((node)yyVals[0 + yyTop]));
}
break;
case 244:
#line 976 "mrb_parse.jay"
{
yyVal = cons(((node)yyVals[-1 + yyTop]), ((node)yyVals[0 + yyTop]));
((node)yyVal).NODE_LINENO(((node)yyVals[-1 + yyTop]));
}
break;
case 245:
#line 981 "mrb_parse.jay"
{
yyVal = cons(list1(new_hash(((node)yyVals[-1 + yyTop]))), ((node)yyVals[0 + yyTop]));
((node)yyVal).NODE_LINENO(((node)yyVals[-1 + yyTop]));
}
break;
case 246:
#line 986 "mrb_parse.jay"
{
yyVal = cons(push(((node)yyVals[-3 + yyTop]), new_hash(((node)yyVals[-1 + yyTop]))), ((node)yyVals[0 + yyTop]));
((node)yyVal).NODE_LINENO(((node)yyVals[-3 + yyTop]));
}
break;
case 247:
#line 991 "mrb_parse.jay"
{
yyVal = cons(null, ((node)yyVals[0 + yyTop]));
((node)yyVal).NODE_LINENO(((node)yyVals[0 + yyTop]));
}
break;
case 248:
#line 997 "mrb_parse.jay"
{
yyVal = (stack_type)this.cmdarg_stack;
CMDARG_PUSH(1);
}
break;
case 249:
#line 1002 "mrb_parse.jay"
{
this.cmdarg_stack = ((stack_type)yyVals[-1 + yyTop]);
yyVal = ((node)yyVals[0 + yyTop]);
}
break;
case 250:
#line 1009 "mrb_parse.jay"
{
yyVal = new_block_arg((node)((node)yyVals[0 + yyTop]));
}
break;
case 251:
#line 1015 "mrb_parse.jay"
{
yyVal = ((node)yyVals[0 + yyTop]);
}
break;
case 252:
#line 1019 "mrb_parse.jay"
{
yyVal = null;
}
break;
case 255:
#line 1029 "mrb_parse.jay"
{
void_expr_error(((node)yyVals[0 + yyTop]));
yyVal = cons(((node)yyVals[0 + yyTop]), null);
((node)yyVal).NODE_LINENO(((node)yyVals[0 + yyTop]));
}
break;
case 256:
#line 1035 "mrb_parse.jay"
{
void_expr_error(((node)yyVals[0 + yyTop]));
yyVal = cons(new_splat(((node)yyVals[0 + yyTop])), null);
((node)yyVal).NODE_LINENO(((node)yyVals[0 + yyTop]));
}
break;
case 257:
#line 1041 "mrb_parse.jay"
{
void_expr_error(((node)yyVals[0 + yyTop]));
yyVal = push(((node)yyVals[-2 + yyTop]), ((node)yyVals[0 + yyTop]));
}
break;
case 258:
#line 1046 "mrb_parse.jay"
{
void_expr_error(((node)yyVals[0 + yyTop]));
yyVal = push(((node)yyVals[-3 + yyTop]), new_splat(((node)yyVals[0 + yyTop])));
}
break;
case 259:
#line 1053 "mrb_parse.jay"
{
void_expr_error(((node)yyVals[0 + yyTop]));
yyVal = push(((node)yyVals[-2 + yyTop]), ((node)yyVals[0 + yyTop]));
}
break;
case 260:
#line 1058 "mrb_parse.jay"
{
void_expr_error(((node)yyVals[0 + yyTop]));
yyVal = push(((node)yyVals[-3 + yyTop]), new_splat(((node)yyVals[0 + yyTop])));
}
break;
case 261:
#line 1063 "mrb_parse.jay"
{
void_expr_error(((node)yyVals[0 + yyTop]));
yyVal = list1(new_splat(((node)yyVals[0 + yyTop])));
}
break;
case 269:
#line 1077 "mrb_parse.jay"
{
yyVal = new_fcall(((mrb_sym)yyVals[0 + yyTop]), null);
}
break;
case 270:
#line 1081 "mrb_parse.jay"
{
yyVal = (stack_type)this.cmdarg_stack;
this.cmdarg_stack = 0;
}
break;
case 271:
#line 1087 "mrb_parse.jay"
{
this.cmdarg_stack = ((stack_type)yyVals[-2 + yyTop]);
yyVal = ((node)yyVals[-1 + yyTop]);
}
break;
case 272:
#line 1092 "mrb_parse.jay"
{
yyVal = (stack_type)this.cmdarg_stack;
this.cmdarg_stack = 0;
}
break;
case 273:
#line 1096 "mrb_parse.jay"
{ this.lstate = mrb_lex_state_enum.EXPR_ENDARG; }
break;
case 274:
#line 1097 "mrb_parse.jay"
{
this.cmdarg_stack = ((stack_type)yyVals[-3 + yyTop]);
yyVal = ((node)yyVals[-2 + yyTop]);
}
break;
case 275:
#line 1101 "mrb_parse.jay"
{ this.lstate = mrb_lex_state_enum.EXPR_ENDARG; }
break;
case 276:
#line 1102 "mrb_parse.jay"
{
yyVal = new_nil();
}
break;
case 277:
#line 1106 "mrb_parse.jay"
{
yyVal = ((node)yyVals[-1 + yyTop]);
}
break;
case 278:
#line 1110 "mrb_parse.jay"
{
yyVal = new_colon2(((node)yyVals[-2 + yyTop]), ((mrb_sym)yyVals[0 + yyTop]));
}
break;
case 279:
#line 1114 "mrb_parse.jay"
{
yyVal = new_colon3(((mrb_sym)yyVals[0 + yyTop]));
}
break;
case 280:
#line 1118 "mrb_parse.jay"
{
yyVal = new_array(((node)yyVals[-1 + yyTop]));
((node)yyVal).NODE_LINENO(((node)yyVals[-1 + yyTop]));
}
break;
case 281:
#line 1123 "mrb_parse.jay"
{
yyVal = new_hash(((node)yyVals[-1 + yyTop]));
((node)yyVal).NODE_LINENO(((node)yyVals[-1 + yyTop]));
}
break;
case 282:
#line 1128 "mrb_parse.jay"
{
yyVal = new_return(null);
}
break;
case 283:
#line 1132 "mrb_parse.jay"
{
yyVal = new_yield(((node)yyVals[0 + yyTop]));
}
break;
case 284:
#line 1136 "mrb_parse.jay"
{
yyVal = call_uni_op(cond(((node)yyVals[-1 + yyTop])), "!");
}
break;
case 285:
#line 1140 "mrb_parse.jay"
{
yyVal = call_uni_op(new_nil(), "!");
}
break;
case 286:
#line 1144 "mrb_parse.jay"
{
yyVal = new_fcall(((mrb_sym)yyVals[-1 + yyTop]), cons(null, ((node)yyVals[0 + yyTop])));
}
break;
case 288:
#line 1149 "mrb_parse.jay"
{
call_with_block(((node)yyVals[-1 + yyTop]), ((node)yyVals[0 + yyTop]));
yyVal = ((node)yyVals[-1 + yyTop]);
}
break;
case 289:
#line 1154 "mrb_parse.jay"
{
local_nest();
yyVal = (int)this.lpar_beg;
this.lpar_beg = ++this.paren_nest;
}
break;
case 290:
#line 1160 "mrb_parse.jay"
{
yyVal = (stack_type)this.cmdarg_stack;
this.cmdarg_stack = 0;
}
break;
case 291:
#line 1165 "mrb_parse.jay"
{
this.lpar_beg = ((int)yyVals[-3 + yyTop]);
yyVal = new_lambda(((node)yyVals[-2 + yyTop]), ((node)yyVals[0 + yyTop]));
local_unnest();
this.cmdarg_stack = ((stack_type)yyVals[-1 + yyTop]);
CMDARG_LEXPOP();
}
break;
case 292:
#line 1176 "mrb_parse.jay"
{
yyVal = new_if(cond(((node)yyVals[-4 + yyTop])), ((node)yyVals[-2 + yyTop]), ((node)yyVals[-1 + yyTop]));
((node)yyVal).SET_LINENO(((int)yyVals[-5 + yyTop]));
}
break;
case 293:
#line 1184 "mrb_parse.jay"
{
yyVal = new_unless(cond(((node)yyVals[-4 + yyTop])), ((node)yyVals[-2 + yyTop]), ((node)yyVals[-1 + yyTop]));
((node)yyVal).SET_LINENO(((int)yyVals[-5 + yyTop]));
}
break;
case 294:
#line 1188 "mrb_parse.jay"
{ COND_PUSH(1); }
break;
case 295:
#line 1188 "mrb_parse.jay"
{ COND_POP(); }
break;
case 296:
#line 1191 "mrb_parse.jay"
{
yyVal = new_while(cond(((node)yyVals[-4 + yyTop])), ((node)yyVals[-1 + yyTop]));
((node)yyVal).SET_LINENO(((int)yyVals[-6 + yyTop]));
}
break;
case 297:
#line 1195 "mrb_parse.jay"
{ COND_PUSH(1); }
break;
case 298:
#line 1195 "mrb_parse.jay"
{ COND_POP(); }
break;
case 299:
#line 1198 "mrb_parse.jay"
{
yyVal = new_until(cond(((node)yyVals[-4 + yyTop])), ((node)yyVals[-1 + yyTop]));
((node)yyVal).SET_LINENO(((int)yyVals[-6 + yyTop]));
}
break;
case 300:
#line 1205 "mrb_parse.jay"
{
yyVal = new_case(((node)yyVals[-3 + yyTop]), ((node)yyVals[-1 + yyTop]));
}
break;
case 301:
#line 1209 "mrb_parse.jay"
{
yyVal = new_case(null, ((node)yyVals[-1 + yyTop]));
}
break;
case 302:
#line 1213 "mrb_parse.jay"
{ COND_PUSH(1); }
break;
case 303:
#line 1215 "mrb_parse.jay"
{ COND_POP(); }
break;
case 304:
#line 1218 "mrb_parse.jay"
{
yyVal = new_for(((node)yyVals[-7 + yyTop]), ((node)yyVals[-4 + yyTop]), ((node)yyVals[-1 + yyTop]));
((node)yyVal).SET_LINENO(((int)yyVals[-8 + yyTop]));
}
break;
case 305:
#line 1224 "mrb_parse.jay"
{
if (this.in_def != 0 || this.in_single != 0)
yyError("class definition in method body");
yyVal = local_switch();
}
break;
case 306:
#line 1231 "mrb_parse.jay"
{
yyVal = new_class(((node)yyVals[-4 + yyTop]), ((node)yyVals[-3 + yyTop]), ((node)yyVals[-1 + yyTop]));
((node)yyVal).SET_LINENO(((int)yyVals[-5 + yyTop]));
local_resume(((locals_node)yyVals[-2 + yyTop]));
}
break;
case 307:
#line 1238 "mrb_parse.jay"
{
yyVal = (int)this.in_def;
this.in_def = 0;
}
break;
case 308:
#line 1243 "mrb_parse.jay"
{
yyVal = cons(local_switch(), this.in_single);
this.in_single = 0;
}
break;
case 309:
#line 1249 "mrb_parse.jay"
{
yyVal = new_sclass(((node)yyVals[-5 + yyTop]), ((node)yyVals[-1 + yyTop]));
((node)yyVal).SET_LINENO(((int)yyVals[-7 + yyTop]));
local_resume((locals_node)((node)yyVals[-2 + yyTop]).car);
this.in_def = ((int)yyVals[-4 + yyTop]);
this.in_single = (int)(((node)yyVals[-2 + yyTop]).cdr);
}
break;
case 310:
#line 1258 "mrb_parse.jay"
{
if (this.in_def != 0 || this.in_single != 0)
yyError("module definition in method body");
yyVal = local_switch();
}
break;
case 311:
#line 1265 "mrb_parse.jay"
{
yyVal = new_module(((node)yyVals[-3 + yyTop]), ((node)yyVals[-1 + yyTop]));
((node)yyVal).SET_LINENO(((int)yyVals[-4 + yyTop]));
local_resume(((locals_node)yyVals[-2 + yyTop]));
}
break;
case 312:
#line 1271 "mrb_parse.jay"
{
yyVal = (stack_type)this.cmdarg_stack;
this.cmdarg_stack = 0;
}
break;
case 313:
#line 1275 "mrb_parse.jay"
{
this.in_def++;
yyVal = local_switch();
}
break;
case 314:
#line 1282 "mrb_parse.jay"
{
yyVal = new_def(((mrb_sym)yyVals[-5 + yyTop]), ((node)yyVals[-2 + yyTop]), ((node)yyVals[-1 + yyTop]));
((node)yyVal).SET_LINENO(((int)yyVals[-6 + yyTop]));
local_resume(((locals_node)yyVals[-3 + yyTop]));
this.in_def--;
this.cmdarg_stack = ((stack_type)yyVals[-4 + yyTop]);
}
break;
case 315:
#line 1290 "mrb_parse.jay"
{
this.lstate = mrb_lex_state_enum.EXPR_FNAME;
yyVal = (stack_type)this.cmdarg_stack;
this.cmdarg_stack = 0;
}
break;
case 316:
#line 1296 "mrb_parse.jay"
{
this.in_single++;
this.lstate = mrb_lex_state_enum.EXPR_ENDFN; /* force for args */
yyVal = local_switch();
}
break;
case 317:
#line 1304 "mrb_parse.jay"
{
yyVal = new_sdef(((node)yyVals[-7 + yyTop]), ((mrb_sym)yyVals[-4 + yyTop]), ((node)yyVals[-2 + yyTop]), ((node)yyVals[-1 + yyTop]));
((node)yyVal).SET_LINENO(((int)yyVals[-8 + yyTop]));
local_resume(((locals_node)yyVals[-3 + yyTop]));
this.in_single--;
this.cmdarg_stack = ((stack_type)yyVals[-5 + yyTop]);
}
break;
case 318:
#line 1312 "mrb_parse.jay"
{
yyVal = new_break(null);
}
break;
case 319:
#line 1316 "mrb_parse.jay"
{
yyVal = new_next(null);
}
break;
case 320:
#line 1320 "mrb_parse.jay"
{
yyVal = new_redo();
}
break;
case 321:
#line 1324 "mrb_parse.jay"
{
yyVal = new_retry();
}
break;
case 322:
#line 1330 "mrb_parse.jay"
{
yyVal = ((node)yyVals[0 + yyTop]);
if (yyVal == null) yyVal = new_nil();
}
break;
case 329:
#line 1349 "mrb_parse.jay"
{
yyVal = new_if(cond(((node)yyVals[-3 + yyTop])), ((node)yyVals[-1 + yyTop]), ((node)yyVals[0 + yyTop]));
}
break;
case 331:
#line 1356 "mrb_parse.jay"
{
yyVal = ((node)yyVals[0 + yyTop]);
}
break;
case 332:
#line 1362 "mrb_parse.jay"
{
yyVal = list1(list1(((node)yyVals[0 + yyTop])));
}
break;
case 334:
#line 1369 "mrb_parse.jay"
{
yyVal = new_arg(((mrb_sym)yyVals[0 + yyTop]));
}
break;
case 335:
#line 1373 "mrb_parse.jay"
{
yyVal = new_masgn(((node)yyVals[-1 + yyTop]), null);
}
break;
case 336:
#line 1379 "mrb_parse.jay"
{
yyVal = list1(((node)yyVals[0 + yyTop]));
}
break;
case 337:
#line 1383 "mrb_parse.jay"
{
yyVal = push(((node)yyVals[-2 + yyTop]), ((node)yyVals[0 + yyTop]));
}
break;
case 338:
#line 1389 "mrb_parse.jay"
{
yyVal = list3(((node)yyVals[0 + yyTop]), null, null);
}
break;
case 339:
#line 1393 "mrb_parse.jay"
{
yyVal = list3(((node)yyVals[-3 + yyTop]), new_arg(((mrb_sym)yyVals[0 + yyTop])), null);
}
break;
case 340:
#line 1397 "mrb_parse.jay"
{
yyVal = list3(((node)yyVals[-5 + yyTop]), new_arg(((mrb_sym)yyVals[-2 + yyTop])), ((node)yyVals[0 + yyTop]));
}
break;
case 341:
#line 1401 "mrb_parse.jay"
{
yyVal = list3(((node)yyVals[-2 + yyTop]), -1, null);
}
break;
case 342:
#line 1405 "mrb_parse.jay"
{
yyVal = list3(((node)yyVals[-4 + yyTop]), -1, ((node)yyVals[0 + yyTop]));
}
break;
case 343:
#line 1409 "mrb_parse.jay"
{
yyVal = list3(null, new_arg(((mrb_sym)yyVals[0 + yyTop])), null);
}
break;
case 344:
#line 1413 "mrb_parse.jay"
{
yyVal = list3(null, new_arg(((mrb_sym)yyVals[-2 + yyTop])), ((node)yyVals[0 + yyTop]));
}
break;
case 345:
#line 1417 "mrb_parse.jay"
{
yyVal = list3(null, -1, null);
}
break;
case 346:
#line 1421 "mrb_parse.jay"
{
yyVal = list3(null, -1, ((node)yyVals[0 + yyTop]));
}
break;
case 347:
#line 1427 "mrb_parse.jay"
{
yyVal = new_args(((node)yyVals[-5 + yyTop]), ((node)yyVals[-3 + yyTop]), ((mrb_sym)yyVals[-1 + yyTop]), null, ((mrb_sym)yyVals[0 + yyTop]));
}
break;
case 348:
#line 1431 "mrb_parse.jay"
{
yyVal = new_args(((node)yyVals[-7 + yyTop]), ((node)yyVals[-5 + yyTop]), ((mrb_sym)yyVals[-3 + yyTop]), ((node)yyVals[-1 + yyTop]), ((mrb_sym)yyVals[0 + yyTop]));
}
break;
case 349:
#line 1435 "mrb_parse.jay"
{
yyVal = new_args(((node)yyVals[-3 + yyTop]), ((node)yyVals[-1 + yyTop]), 0, null, ((mrb_sym)yyVals[0 + yyTop]));
}
break;
case 350:
#line 1439 "mrb_parse.jay"
{
yyVal = new_args(((node)yyVals[-5 + yyTop]), ((node)yyVals[-3 + yyTop]), 0, ((node)yyVals[-1 + yyTop]), ((mrb_sym)yyVals[0 + yyTop]));
}
break;
case 351:
#line 1443 "mrb_parse.jay"
{
yyVal = new_args(((node)yyVals[-3 + yyTop]), null, ((mrb_sym)yyVals[-1 + yyTop]), null, ((mrb_sym)yyVals[0 + yyTop]));
}
break;
case 352:
#line 1447 "mrb_parse.jay"
{
yyVal = new_args(((node)yyVals[-1 + yyTop]), null, (mrb_sym)0, null, 0);
}
break;
case 353:
#line 1451 "mrb_parse.jay"
{
yyVal = new_args(((node)yyVals[-5 + yyTop]), null, ((mrb_sym)yyVals[-3 + yyTop]), ((node)yyVals[-1 + yyTop]), ((mrb_sym)yyVals[0 + yyTop]));
}
break;
case 354:
#line 1455 "mrb_parse.jay"
{
yyVal = new_args(((node)yyVals[-1 + yyTop]), null, 0, null, ((mrb_sym)yyVals[0 + yyTop]));
}
break;
case 355:
#line 1459 "mrb_parse.jay"
{
yyVal = new_args(null, ((node)yyVals[-3 + yyTop]), ((mrb_sym)yyVals[-1 + yyTop]), null, ((mrb_sym)yyVals[0 + yyTop]));
}
break;
case 356:
#line 1463 "mrb_parse.jay"
{
yyVal = new_args(null, ((node)yyVals[-5 + yyTop]), ((mrb_sym)yyVals[-3 + yyTop]), ((node)yyVals[-1 + yyTop]), ((mrb_sym)yyVals[0 + yyTop]));
}
break;
case 357:
#line 1467 "mrb_parse.jay"
{
yyVal = new_args(null, ((node)yyVals[-1 + yyTop]), 0, null, ((mrb_sym)yyVals[0 + yyTop]));
}
break;
case 358:
#line 1471 "mrb_parse.jay"
{
yyVal = new_args(null, ((node)yyVals[-3 + yyTop]), 0, ((node)yyVals[-1 + yyTop]), ((mrb_sym)yyVals[0 + yyTop]));
}
break;
case 359:
#line 1475 "mrb_parse.jay"
{
yyVal = new_args(null, null, ((mrb_sym)yyVals[-1 + yyTop]), null, ((mrb_sym)yyVals[0 + yyTop]));
}
break;
case 360:
#line 1479 "mrb_parse.jay"
{
yyVal = new_args(null, null, ((mrb_sym)yyVals[-3 + yyTop]), ((node)yyVals[-1 + yyTop]), ((mrb_sym)yyVals[0 + yyTop]));
}
break;
case 361:
#line 1483 "mrb_parse.jay"
{
yyVal = new_args(null, null, 0, null, ((mrb_sym)yyVals[0 + yyTop]));
}
break;
case 363:
#line 1490 "mrb_parse.jay"
{
this.cmd_start = true;
yyVal = ((node)yyVals[0 + yyTop]);
}
break;
case 364:
#line 1497 "mrb_parse.jay"
{
yyVal = null;
}
break;
case 365:
#line 1501 "mrb_parse.jay"
{
yyVal = null;
}
break;
case 366:
#line 1505 "mrb_parse.jay"
{
yyVal = ((node)yyVals[-2 + yyTop]);
}
break;
case 367:
#line 1512 "mrb_parse.jay"
{
yyVal = null;
}
break;
case 368:
#line 1516 "mrb_parse.jay"
{
yyVal = null;
}
break;
case 371:
#line 1526 "mrb_parse.jay"
{
local_add_f(((mrb_sym)yyVals[0 + yyTop]));
new_bv(((mrb_sym)yyVals[0 + yyTop]));
}
break;
case 373:
#line 1534 "mrb_parse.jay"
{
yyVal = ((node)yyVals[-2 + yyTop]);
}
break;
case 374:
#line 1538 "mrb_parse.jay"
{
yyVal = ((node)yyVals[0 + yyTop]);
}
break;
case 375:
#line 1544 "mrb_parse.jay"
{
yyVal = ((node)yyVals[-1 + yyTop]);
}
break;
case 376:
#line 1548 "mrb_parse.jay"
{
yyVal = ((node)yyVals[-1 + yyTop]);
}
break;
case 377:
#line 1554 "mrb_parse.jay"
{
local_nest();
}
break;
case 378:
#line 1560 "mrb_parse.jay"
{
yyVal = new_block(((node)yyVals[-2 + yyTop]), ((node)yyVals[-1 + yyTop]), false);
local_unnest();
}
break;
case 379:
#line 1567 "mrb_parse.jay"
{
if ((node_type)((node)yyVals[-1 + yyTop]).car == node_type.NODE_YIELD) {
yyError("block given to yield");
}
else {
call_with_block(((node)yyVals[-1 + yyTop]), ((node)yyVals[0 + yyTop]));
}
yyVal = ((node)yyVals[-1 + yyTop]);
}
break;
case 380:
#line 1577 "mrb_parse.jay"
{
yyVal = new_call(((node)yyVals[-3 + yyTop]), ((mrb_sym)yyVals[-1 + yyTop]), ((node)yyVals[0 + yyTop]), ((MrbTokens)yyVals[-2 + yyTop]));
}
break;
case 381:
#line 1581 "mrb_parse.jay"
{
yyVal = new_call(((node)yyVals[-4 + yyTop]), ((mrb_sym)yyVals[-2 + yyTop]), ((node)yyVals[-1 + yyTop]), ((MrbTokens)yyVals[-3 + yyTop]));
call_with_block((node)yyVal, ((node)yyVals[0 + yyTop]));
}
break;
case 382:
#line 1586 "mrb_parse.jay"
{
yyVal = new_call(((node)yyVals[-4 + yyTop]), ((mrb_sym)yyVals[-2 + yyTop]), ((node)yyVals[-1 + yyTop]), ((MrbTokens)yyVals[-3 + yyTop]));
call_with_block((node)yyVal, ((node)yyVals[0 + yyTop]));
}
break;
case 383:
#line 1593 "mrb_parse.jay"
{
yyVal = new_fcall(((mrb_sym)yyVals[-1 + yyTop]), ((node)yyVals[0 + yyTop]));
}
break;
case 384:
#line 1597 "mrb_parse.jay"
{
yyVal = new_call(((node)yyVals[-3 + yyTop]), ((mrb_sym)yyVals[-1 + yyTop]), ((node)yyVals[0 + yyTop]), ((MrbTokens)yyVals[-2 + yyTop]));
}
break;
case 385:
#line 1601 "mrb_parse.jay"
{
yyVal = new_call(((node)yyVals[-3 + yyTop]), ((mrb_sym)yyVals[-1 + yyTop]), ((node)yyVals[0 + yyTop]), MrbTokens.tCOLON2);
}
break;
case 386:
#line 1605 "mrb_parse.jay"
{
yyVal = new_call(((node)yyVals[-2 + yyTop]), ((mrb_sym)yyVals[0 + yyTop]), null, MrbTokens.tCOLON2);
}
break;
case 387:
#line 1609 "mrb_parse.jay"
{
yyVal = new_call(((node)yyVals[-2 + yyTop]), intern("call", 4), ((node)yyVals[0 + yyTop]), ((MrbTokens)yyVals[-1 + yyTop]));
}
break;
case 388:
#line 1613 "mrb_parse.jay"
{
yyVal = new_call(((node)yyVals[-2 + yyTop]), intern("call", 4), ((node)yyVals[0 + yyTop]), MrbTokens.tCOLON2);
}
break;
case 389:
#line 1617 "mrb_parse.jay"
{
yyVal = new_super(((node)yyVals[0 + yyTop]));
}
break;
case 390:
#line 1621 "mrb_parse.jay"
{
yyVal = new_zsuper();
}
break;
case 391:
#line 1625 "mrb_parse.jay"
{
yyVal = new_call(((node)yyVals[-3 + yyTop]), intern("[]", 2), ((node)yyVals[-1 + yyTop]), (MrbTokens)'.');
}
break;
case 392:
#line 1631 "mrb_parse.jay"
{
local_nest();
yyVal = (int)this.lineno;
}
break;
case 393:
#line 1637 "mrb_parse.jay"
{
yyVal = new_block(((node)yyVals[-2 + yyTop]), ((node)yyVals[-1 + yyTop]), true);
((node)yyVal).SET_LINENO(((int)yyVals[-3 + yyTop]));
local_unnest();
}
break;
case 394:
#line 1643 "mrb_parse.jay"
{
local_nest();
yyVal = (int)this.lineno;
}
break;
case 395:
#line 1649 "mrb_parse.jay"
{
yyVal = new_block(((node)yyVals[-2 + yyTop]), ((node)yyVals[-1 + yyTop]), false);
((node)yyVal).SET_LINENO(((int)yyVals[-3 + yyTop]));
local_unnest();
}
break;
case 396:
#line 1659 "mrb_parse.jay"
{
yyVal = cons(cons(((node)yyVals[-3 + yyTop]), ((node)yyVals[-1 + yyTop])), ((node)yyVals[0 + yyTop]));
}
break;
case 397:
#line 1665 "mrb_parse.jay"
{
if (((node)yyVals[0 + yyTop]) != null) {
yyVal = cons(cons(null, ((node)yyVals[0 + yyTop])), null);
}
else {
yyVal = null;
}
}
break;
case 399:
#line 1679 "mrb_parse.jay"
{
yyVal = list1(list3(((node)yyVals[-4 + yyTop]), ((node)yyVals[-3 + yyTop]), ((node)yyVals[-1 + yyTop])));
if (((node)yyVals[0 + yyTop]) != null) yyVal = append(((node)yyVal), ((node)yyVals[0 + yyTop]));
}
break;
case 401:
#line 1687 "mrb_parse.jay"
{
yyVal = list1(((node)yyVals[0 + yyTop]));
}
break;
case 404:
#line 1695 "mrb_parse.jay"
{
yyVal = ((node)yyVals[0 + yyTop]);
}
break;
case 406:
#line 1702 "mrb_parse.jay"
{
yyVal = ((node)yyVals[0 + yyTop]);
}
break;
case 414:
#line 1717 "mrb_parse.jay"
{
yyVal = ((node)yyVals[0 + yyTop]);
}
break;
case 415:
#line 1721 "mrb_parse.jay"
{
yyVal = new_dstr(push(((node)yyVals[-1 + yyTop]), ((node)yyVals[0 + yyTop])));
}
break;
case 417:
#line 1728 "mrb_parse.jay"
{
yyVal = append(((node)yyVals[-1 + yyTop]), ((node)yyVals[0 + yyTop]));
}
break;
case 418:
#line 1734 "mrb_parse.jay"
{
yyVal = list1(((node)yyVals[0 + yyTop]));
}
break;
case 419:
#line 1738 "mrb_parse.jay"
{
yyVal = (node)this.lex_strterm;
this.lex_strterm = null;
}
break;
case 420:
#line 1744 "mrb_parse.jay"
{
this.lex_strterm = ((node)yyVals[-2 + yyTop]);
yyVal = list2(((node)yyVals[-3 + yyTop]), ((node)yyVals[-1 + yyTop]));
}
break;
case 421:
#line 1749 "mrb_parse.jay"
{
yyVal = list1(new_literal_delim());
}
break;
case 422:
#line 1753 "mrb_parse.jay"
{
yyVal = list1(new_literal_delim());
}
break;
case 423:
#line 1759 "mrb_parse.jay"
{
yyVal = ((node)yyVals[0 + yyTop]);
}
break;
case 424:
#line 1763 "mrb_parse.jay"
{
yyVal = new_dxstr(push(((node)yyVals[-1 + yyTop]), ((node)yyVals[0 + yyTop])));
}
break;
case 425:
#line 1769 "mrb_parse.jay"
{
yyVal = ((node)yyVals[0 + yyTop]);
}
break;
case 426:
#line 1773 "mrb_parse.jay"
{
yyVal = new_dregx(((node)yyVals[-1 + yyTop]), ((node)yyVals[0 + yyTop]));
}
break;
case 430:
#line 1786 "mrb_parse.jay"
{
parser_heredoc_info inf = parsing_heredoc_inf();
inf.push_doc(new_str(new Uint8Array(0), 0));
heredoc_end();
}
break;
case 431:
#line 1792 "mrb_parse.jay"
{
heredoc_end();
}
break;
case 434:
#line 1802 "mrb_parse.jay"
{
parser_heredoc_info inf = parsing_heredoc_inf();
inf.push_doc(((node)yyVals[0 + yyTop]));
heredoc_treat_nextline();
}
break;
case 435:
#line 1808 "mrb_parse.jay"
{
yyVal = (node)this.lex_strterm;
this.lex_strterm = null;
}
break;
case 436:
#line 1814 "mrb_parse.jay"
{
parser_heredoc_info inf = parsing_heredoc_inf();
this.lex_strterm = ((node)yyVals[-2 + yyTop]);
inf.push_doc(((node)yyVals[-3 + yyTop]));
inf.push_doc(((node)yyVals[-1 + yyTop]));
}
break;
case 437:
#line 1823 "mrb_parse.jay"
{
yyVal = new_words(list1(((node)yyVals[0 + yyTop])));
}
break;
case 438:
#line 1827 "mrb_parse.jay"
{
yyVal = new_words(push(((node)yyVals[-1 + yyTop]), ((node)yyVals[0 + yyTop])));
}
break;
case 439:
#line 1834 "mrb_parse.jay"
{
yyVal = new_sym(((mrb_sym)yyVals[0 + yyTop]));
}
break;
case 440:
#line 1838 "mrb_parse.jay"
{
this.lstate = mrb_lex_state_enum.EXPR_END;
yyVal = new_dsym(push(((node)yyVals[-1 + yyTop]), ((node)yyVals[0 + yyTop])));
}
break;
case 441:
#line 1845 "mrb_parse.jay"
{
this.lstate = mrb_lex_state_enum.EXPR_END;
yyVal = ((mrb_sym)yyVals[0 + yyTop]);
}
break;
case 446:
#line 1856 "mrb_parse.jay"
{
yyVal = new_strsym(((node)yyVals[0 + yyTop]));
}
break;
case 447:
#line 1860 "mrb_parse.jay"
{
yyVal = new_strsym(((node)yyVals[0 + yyTop]));
}
break;
case 448:
#line 1866 "mrb_parse.jay"
{
yyVal = new_symbols(list1(((node)yyVals[0 + yyTop])));
}
break;
case 449:
#line 1870 "mrb_parse.jay"
{
yyVal = new_symbols(push(((node)yyVals[-1 + yyTop]), ((node)yyVals[0 + yyTop])));
}
break;
case 452:
#line 1878 "mrb_parse.jay"
{
yyVal = negate_lit(((node)yyVals[0 + yyTop]));
}
break;
case 453:
#line 1882 "mrb_parse.jay"
{
yyVal = negate_lit(((node)yyVals[0 + yyTop]));
}
break;
case 454:
#line 1888 "mrb_parse.jay"
{
yyVal = new_lvar(((mrb_sym)yyVals[0 + yyTop]));
}
break;
case 455:
#line 1892 "mrb_parse.jay"
{
yyVal = new_ivar(((mrb_sym)yyVals[0 + yyTop]));
}
break;
case 456:
#line 1896 "mrb_parse.jay"
{
yyVal = new_gvar(((mrb_sym)yyVals[0 + yyTop]));
}
break;
case 457:
#line 1900 "mrb_parse.jay"
{
yyVal = new_cvar(((mrb_sym)yyVals[0 + yyTop]));
}
break;
case 458:
#line 1904 "mrb_parse.jay"
{
yyVal = new_const(((mrb_sym)yyVals[0 + yyTop]));
}
break;
case 459:
#line 1910 "mrb_parse.jay"
{
assignable(((node)yyVals[0 + yyTop]));
}
break;
case 460:
#line 1916 "mrb_parse.jay"
{
yyVal = var_reference(((node)yyVals[0 + yyTop]));
}
break;
case 461:
#line 1920 "mrb_parse.jay"
{
yyVal = new_nil();
}
break;
case 462:
#line 1924 "mrb_parse.jay"
{
yyVal = new_self();
}
break;
case 463:
#line 1928 "mrb_parse.jay"
{
yyVal = new_true();
}
break;
case 464:
#line 1932 "mrb_parse.jay"
{
yyVal = new_false();
}
break;
case 465:
#line 1936 "mrb_parse.jay"
{
if (this.filename == null) {
this.mrb_parser_set_filename("(null)");
}
yyVal = new_filename(this.filename);
}
break;
case 466:
#line 1943 "mrb_parse.jay"
{
yyVal = new_lineno(this.lineno);
}
break;
case 469:
#line 1953 "mrb_parse.jay"
{
yyVal = null;
}
break;
case 470:
#line 1957 "mrb_parse.jay"
{
this.lstate = mrb_lex_state_enum.EXPR_BEG;
this.cmd_start = true;
}
break;
case 471:
#line 1962 "mrb_parse.jay"
{
yyVal = ((node)yyVals[-1 + yyTop]);
}
break;
case 472:
#line 1973 "mrb_parse.jay"
{
yyVal = ((node)yyVals[-1 + yyTop]);
this.lstate = mrb_lex_state_enum.EXPR_BEG;
this.cmd_start = true;
}
break;
case 473:
#line 1979 "mrb_parse.jay"
{
yyVal = ((node)yyVals[-1 + yyTop]);
}
break;
case 474:
#line 1985 "mrb_parse.jay"
{
yyVal = new_args(((node)yyVals[-5 + yyTop]), ((node)yyVals[-3 + yyTop]), ((mrb_sym)yyVals[-1 + yyTop]), null, ((mrb_sym)yyVals[0 + yyTop]));
}
break;
case 475:
#line 1989 "mrb_parse.jay"
{
yyVal = new_args(((node)yyVals[-7 + yyTop]), ((node)yyVals[-5 + yyTop]), ((mrb_sym)yyVals[-3 + yyTop]), ((node)yyVals[-1 + yyTop]), ((mrb_sym)yyVals[0 + yyTop]));
}
break;
case 476:
#line 1993 "mrb_parse.jay"
{
yyVal = new_args(((node)yyVals[-3 + yyTop]), ((node)yyVals[-1 + yyTop]), 0, null, ((mrb_sym)yyVals[0 + yyTop]));
}
break;
case 477:
#line 1997 "mrb_parse.jay"
{
yyVal = new_args(((node)yyVals[-5 + yyTop]), ((node)yyVals[-3 + yyTop]), 0, ((node)yyVals[-1 + yyTop]), ((mrb_sym)yyVals[0 + yyTop]));
}
break;
case 478:
#line 2001 "mrb_parse.jay"
{
yyVal = new_args(((node)yyVals[-3 + yyTop]), null, ((mrb_sym)yyVals[-1 + yyTop]), null, ((mrb_sym)yyVals[0 + yyTop]));
}
break;
case 479:
#line 2005 "mrb_parse.jay"
{
yyVal = new_args(((node)yyVals[-5 + yyTop]), null, ((mrb_sym)yyVals[-3 + yyTop]), ((node)yyVals[-1 + yyTop]), ((mrb_sym)yyVals[0 + yyTop]));
}
break;
case 480:
#line 2009 "mrb_parse.jay"
{
yyVal = new_args(((node)yyVals[-1 + yyTop]), null, 0, null, ((mrb_sym)yyVals[0 + yyTop]));
}
break;
case 481:
#line 2013 "mrb_parse.jay"
{
yyVal = new_args(null, ((node)yyVals[-3 + yyTop]), ((mrb_sym)yyVals[-1 + yyTop]), null, ((mrb_sym)yyVals[0 + yyTop]));
}
break;
case 482:
#line 2017 "mrb_parse.jay"
{
yyVal = new_args(null, ((node)yyVals[-5 + yyTop]), ((mrb_sym)yyVals[-3 + yyTop]), ((node)yyVals[-1 + yyTop]), ((mrb_sym)yyVals[0 + yyTop]));
}
break;
case 483:
#line 2021 "mrb_parse.jay"
{
yyVal = new_args(null, ((node)yyVals[-1 + yyTop]), 0, null, ((mrb_sym)yyVals[0 + yyTop]));
}
break;
case 484:
#line 2025 "mrb_parse.jay"
{
yyVal = new_args(null, ((node)yyVals[-3 + yyTop]), 0, ((node)yyVals[-1 + yyTop]), ((mrb_sym)yyVals[0 + yyTop]));
}
break;
case 485:
#line 2029 "mrb_parse.jay"
{
yyVal = new_args(null, null, ((mrb_sym)yyVals[-1 + yyTop]), null, ((mrb_sym)yyVals[0 + yyTop]));
}
break;
case 486:
#line 2033 "mrb_parse.jay"
{
yyVal = new_args(null, null, ((mrb_sym)yyVals[-3 + yyTop]), ((node)yyVals[-1 + yyTop]), ((mrb_sym)yyVals[0 + yyTop]));
}
break;
case 487:
#line 2037 "mrb_parse.jay"
{
yyVal = new_args(null, null, 0, null, ((mrb_sym)yyVals[0 + yyTop]));
}
break;
case 488:
#line 2041 "mrb_parse.jay"
{
local_add_f(0);
yyVal = new_args(null, null, 0, null, 0);
}
break;
case 489:
#line 2048 "mrb_parse.jay"
{
yyError("formal argument cannot be a constant");
yyVal = null;
}
break;
case 490:
#line 2053 "mrb_parse.jay"
{
yyError("formal argument cannot be an instance variable");
yyVal = null;
}
break;
case 491:
#line 2058 "mrb_parse.jay"
{
yyError("formal argument cannot be a global variable");
yyVal = null;
}
break;
case 492:
#line 2063 "mrb_parse.jay"
{
yyError("formal argument cannot be a class variable");
yyVal = null;
}
break;
case 493:
#line 2070 "mrb_parse.jay"
{
yyVal = null;
}
break;
case 494:
#line 2074 "mrb_parse.jay"
{
local_add_f(((mrb_sym)yyVals[0 + yyTop]));
yyVal = ((mrb_sym)yyVals[0 + yyTop]);
}
break;
case 495:
#line 2081 "mrb_parse.jay"
{
yyVal = new_arg(((mrb_sym)yyVals[0 + yyTop]));
}
break;
case 496:
#line 2085 "mrb_parse.jay"
{
yyVal = new_masgn(((node)yyVals[-1 + yyTop]), null);
}
break;
case 497:
#line 2091 "mrb_parse.jay"
{
yyVal = list1(((node)yyVals[0 + yyTop]));
}
break;
case 498:
#line 2095 "mrb_parse.jay"
{
yyVal = push(((node)yyVals[-2 + yyTop]), ((node)yyVals[0 + yyTop]));
}
break;
case 499:
#line 2101 "mrb_parse.jay"
{
local_add_f(((mrb_sym)yyVals[-1 + yyTop]));
yyVal = ((mrb_sym)yyVals[-1 + yyTop]);
}
break;
case 500:
#line 2108 "mrb_parse.jay"
{
yyVal = cons(((mrb_sym)yyVals[-1 + yyTop]), ((node)yyVals[0 + yyTop]));
}
break;
case 501:
#line 2114 "mrb_parse.jay"
{
yyVal = cons(((mrb_sym)yyVals[-1 + yyTop]), ((node)yyVals[0 + yyTop]));
}
break;
case 502:
#line 2120 "mrb_parse.jay"
{
yyVal = list1(((node)yyVals[0 + yyTop]));
}
break;
case 503:
#line 2124 "mrb_parse.jay"
{
yyVal = push(((node)yyVals[-2 + yyTop]), ((node)yyVals[0 + yyTop]));
}
break;
case 504:
#line 2130 "mrb_parse.jay"
{
yyVal = list1(((node)yyVals[0 + yyTop]));
}
break;
case 505:
#line 2134 "mrb_parse.jay"
{
yyVal = push(((node)yyVals[-2 + yyTop]), ((node)yyVals[0 + yyTop]));
}
break;
case 508:
#line 2144 "mrb_parse.jay"
{
local_add_f(((mrb_sym)yyVals[0 + yyTop]));
yyVal = ((mrb_sym)yyVals[0 + yyTop]);
}
break;
case 509:
#line 2149 "mrb_parse.jay"
{
local_add_f(0);
yyVal = -1;
}
break;
case 512:
#line 2160 "mrb_parse.jay"
{
local_add_f(((mrb_sym)yyVals[0 + yyTop]));
yyVal = ((mrb_sym)yyVals[0 + yyTop]);
}
break;
case 513:
#line 2167 "mrb_parse.jay"
{
yyVal = ((mrb_sym)yyVals[0 + yyTop]);
}
break;
case 514:
#line 2171 "mrb_parse.jay"
{
local_add_f(0);
yyVal = 0;
}
break;
case 515:
#line 2178 "mrb_parse.jay"
{
yyVal = ((node)yyVals[0 + yyTop]);
if (yyVal == null) yyVal = new_nil();
}
break;
case 516:
#line 2182 "mrb_parse.jay"
{ this.lstate = mrb_lex_state_enum.EXPR_BEG; }
break;
case 517:
#line 2183 "mrb_parse.jay"
{
if (((int)yyVals[-1 + yyTop]) == 0) {
yyError("can't define singleton method for ().");
}
else {
switch ((node_type)(((node)yyVals[-1 + yyTop]).car)) {
case node_type.NODE_STR:
case node_type.NODE_DSTR:
case node_type.NODE_XSTR:
case node_type.NODE_DXSTR:
case node_type.NODE_DREGX:
case node_type.NODE_MATCH:
case node_type.NODE_FLOAT:
case node_type.NODE_ARRAY:
case node_type.NODE_HEREDOC:
yyError("can't define singleton method for literals");
break;
default:
break;
}
}
yyVal = ((node)yyVals[-1 + yyTop]);
}
break;
case 519:
#line 2210 "mrb_parse.jay"
{
yyVal = ((node)yyVals[-1 + yyTop]);
}
break;
case 520:
#line 2216 "mrb_parse.jay"
{
yyVal = list1(((node)yyVals[0 + yyTop]));
((node)yyVal).NODE_LINENO(((node)yyVals[0 + yyTop]));
}
break;
case 521:
#line 2221 "mrb_parse.jay"
{
yyVal = push(((node)yyVals[-2 + yyTop]), ((node)yyVals[0 + yyTop]));
}
break;
case 522:
#line 2227 "mrb_parse.jay"
{
yyVal = cons(((node)yyVals[-2 + yyTop]), ((node)yyVals[0 + yyTop]));
}
break;
case 523:
#line 2231 "mrb_parse.jay"
{
yyVal = cons(new_sym(((mrb_sym)yyVals[-1 + yyTop])), ((node)yyVals[0 + yyTop]));
}
break;
case 524:
#line 2235 "mrb_parse.jay"
{
yyVal = cons(new_sym(new_strsym(((node)yyVals[-1 + yyTop]))), ((node)yyVals[0 + yyTop]));
}
break;
case 525:
#line 2239 "mrb_parse.jay"
{
yyVal = cons(new_sym(new_strsym(((node)yyVals[-1 + yyTop]))), ((node)yyVals[0 + yyTop]));
}
break;
case 526:
#line 2243 "mrb_parse.jay"
{
yyVal = cons(new_dsym(push(((node)yyVals[-2 + yyTop]), ((node)yyVals[-1 + yyTop]))), ((node)yyVals[0 + yyTop]));
}
break;
case 539:
#line 2269 "mrb_parse.jay"
{
yyVal = (MrbTokens)'.';
}
break;
case 540:
#line 2273 "mrb_parse.jay"
{
yyVal = (MrbTokens)0;
}
break;
case 542:
#line 2280 "mrb_parse.jay"
{
yyVal = MrbTokens.tCOLON2;
}
break;
case 552:
#line 2304 "mrb_parse.jay"
{ yyErrorFlag = 0; }
break;
case 555:
#line 2310 "mrb_parse.jay"
{
this.lineno++;
this.column = 0;
}
break;
case 558:
#line 2321 "mrb_parse.jay"
{
yyVal = null;
}
break;
#line default
}
yyTop -= yyLen[yyN];
yyState = yyStates[yyTop];
int yyM = yyLhs[yyN];
if (yyState == 0 && yyM == 0) {
if (yyDebug != null) yyDebug.shift(0, yyFinal);
yyState = yyFinal;
if (yyToken < 0) {
yyToken = yyLex.Advance() ? yyLex.Token : 0;
if (yyDebug != null)
yyDebug.lex(yyState, yyToken, yyName(yyToken), yyLex.Value);
}
if (yyToken == 0) {
if (yyDebug != null) yyDebug.accept(yyVal);
yyNest--;
return yyVal;
}
break;
}
if (((yyN = yyGindex[yyM]) != 0) && ((yyN += yyState) >= 0)
&& (yyN < yyTable.Length) && (yyCheck[yyN] == yyState))
yyState = yyTable[yyN];
else
yyState = yyDgoto[yyM];
if (yyDebug != null) yyDebug.shift(yyStates[yyTop], yyState);
break;
}
}
}
#line 2326 "mrb_parse.jay"
} // must specify trailing } for parser class
} // must specify trailing } for namespace, if any
#line default