perl5.000 patch.0f: [enable metaconfig (PL48) users to regenerate Configure]
[p5sagit/p5-mst-13.2.git] / x2p / a2p.c
CommitLineData
9c8d0b29 1#ifndef lint
2static char yysccsid[] = "@(#)yaccpar 1.9 (Berkeley) 02/21/93";
3#endif
4#define YYBYACC 1
5#define YYMAJOR 1
6#define YYMINOR 9
7#define yyclearin (yychar=(-1))
8#define yyerrok (yyerrflag=0)
9#define YYRECOVERING (yyerrflag!=0)
10#define YYPREFIX "yy"
11#line 2 "a2p.y"
12/* $RCSfile: a2p.y,v $$Revision: 4.1 $$Date: 92/08/07 18:29:12 $
13 *
14 * Copyright (c) 1991, Larry Wall
15 *
16 * You may distribute under the terms of either the GNU General Public
17 * License or the Artistic License, as specified in the README file.
18 *
19 * $Log: a2p.y,v $
20 */
21
22#include "INTERN.h"
23#include "a2p.h"
24
25int root;
26int begins = Nullop;
27int ends = Nullop;
28
29#line 30 "y.tab.c"
30#define BEGIN 257
31#define END 258
32#define REGEX 259
33#define SEMINEW 260
34#define NEWLINE 261
35#define COMMENT 262
36#define FUN1 263
37#define FUNN 264
38#define GRGR 265
39#define PRINT 266
40#define PRINTF 267
41#define SPRINTF 268
42#define SPLIT 269
43#define IF 270
44#define ELSE 271
45#define WHILE 272
46#define FOR 273
47#define IN 274
48#define EXIT 275
49#define NEXT 276
50#define BREAK 277
51#define CONTINUE 278
52#define RET 279
53#define GETLINE 280
54#define DO 281
55#define SUB 282
56#define GSUB 283
57#define MATCH 284
58#define FUNCTION 285
59#define USERFUN 286
60#define DELETE 287
61#define ASGNOP 288
62#define OROR 289
63#define ANDAND 290
64#define NUMBER 291
65#define VAR 292
66#define SUBSTR 293
67#define INDEX 294
68#define MATCHOP 295
69#define RELOP 296
70#define OR 297
71#define STRING 298
72#define UMINUS 299
73#define NOT 300
74#define INCR 301
75#define DECR 302
76#define FIELD 303
77#define VFIELD 304
78#define YYERRCODE 256
79short yylhs[] = { -1,
80 0, 3, 6, 6, 2, 2, 7, 7, 7, 7,
81 7, 7, 9, 8, 8, 11, 11, 11, 11, 11,
82 15, 15, 15, 15, 14, 14, 14, 14, 13, 13,
83 13, 13, 12, 12, 12, 16, 16, 16, 16, 16,
84 16, 16, 16, 16, 16, 16, 16, 16, 16, 16,
85 16, 16, 16, 16, 16, 16, 16, 16, 16, 16,
86 16, 16, 16, 16, 16, 16, 16, 16, 16, 16,
87 16, 16, 16, 16, 16, 16, 16, 16, 16, 16,
88 16, 17, 17, 17, 17, 10, 10, 10, 18, 18,
89 18, 1, 1, 19, 19, 19, 19, 4, 4, 20,
90 20, 21, 21, 21, 21, 5, 5, 22, 22, 22,
91 22, 25, 25, 23, 23, 23, 23, 23, 23, 23,
92 23, 23, 23, 23, 23, 23, 26, 26, 26, 24,
93 24, 24, 24, 24, 24, 24, 24,
94};
95short yylen[] = { 2,
96 2, 6, 5, 2, 3, 0, 1, 5, 10, 4,
97 1, 1, 1, 1, 3, 1, 1, 1, 1, 5,
98 3, 4, 4, 2, 3, 3, 3, 3, 3, 3,
99 1, 3, 1, 2, 3, 1, 1, 1, 3, 3,
100 3, 3, 3, 3, 3, 5, 2, 2, 2, 2,
101 2, 2, 3, 1, 2, 3, 4, 3, 4, 1,
102 3, 4, 4, 4, 2, 8, 6, 8, 8, 6,
103 6, 6, 6, 6, 6, 6, 6, 8, 8, 8,
104 8, 1, 4, 1, 2, 1, 1, 0, 4, 4,
105 3, 2, 0, 1, 1, 1, 1, 2, 0, 1,
106 1, 2, 2, 2, 2, 2, 0, 3, 2, 2,
107 1, 1, 0, 1, 4, 2, 4, 2, 1, 1,
108 1, 2, 1, 1, 2, 5, 1, 1, 1, 6,
109 9, 6, 7, 10, 9, 6, 5,
110};
111short yydefred[] = { 93,
112 0, 0, 95, 96, 97, 94, 0, 92, 0, 0,
113 31, 0, 0, 0, 0, 0, 0, 0, 0, 0,
114 0, 37, 0, 0, 0, 38, 0, 0, 0, 0,
115 0, 84, 0, 99, 0, 11, 0, 93, 0, 0,
116 0, 17, 18, 19, 0, 0, 99, 99, 0, 0,
117 0, 65, 0, 0, 0, 0, 0, 0, 0, 0,
118 0, 0, 0, 0, 0, 0, 0, 0, 24, 49,
119 50, 0, 0, 0, 0, 0, 0, 4, 0, 99,
120 0, 99, 99, 0, 0, 0, 0, 0, 0, 0,
121 0, 0, 0, 0, 0, 0, 0, 0, 47, 48,
122 0, 0, 61, 0, 0, 0, 0, 99, 99, 0,
123 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
124 0, 0, 100, 101, 0, 98, 53, 32, 28, 21,
125 0, 0, 0, 0, 0, 30, 0, 0, 0, 0,
126 45, 0, 0, 0, 0, 0, 0, 0, 0, 0,
127 0, 62, 63, 91, 0, 0, 0, 0, 0, 0,
128 0, 0, 0, 0, 13, 64, 83, 0, 0, 99,
129 0, 0, 0, 0, 0, 0, 120, 119, 123, 0,
130 99, 0, 99, 10, 99, 0, 106, 0, 111, 0,
131 0, 0, 22, 59, 93, 3, 0, 0, 0, 0,
132 0, 0, 0, 0, 0, 99, 0, 0, 0, 0,
133 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
134 99, 99, 99, 99, 99, 8, 0, 0, 70, 0,
135 75, 0, 74, 0, 77, 0, 76, 0, 72, 73,
136 0, 67, 0, 71, 128, 127, 129, 0, 0, 0,
137 0, 0, 112, 0, 0, 0, 0, 0, 0, 0,
138 0, 0, 0, 0, 0, 0, 0, 0, 99, 0,
139 0, 0, 99, 99, 99, 0, 0, 0, 99, 69,
140 68, 79, 78, 81, 80, 0, 66, 0, 0, 0,
141 0, 0, 0, 126, 0, 0, 0, 132, 136, 0,
142 0, 0, 9, 99, 99, 0, 133, 0, 0, 99,
143 131, 135, 0, 134,
144};
145short yydgoto[] = { 1,
146 2, 7, 36, 73, 125, 37, 38, 39, 164, 52,
147 53, 41, 42, 43, 44, 45, 46, 55, 8, 126,
148 225, 187, 188, 189, 254, 248,
149};
150short yysindex[] = { 0,
151 0, -48, 0, 0, 0, 0, 6619, 0, -121, -110,
152 0, -4, 32, 4183, 38, 30, 51, 64, 68, -260,
153 70, 0, -61, 82, 83, 0, 4448, 4448, 4448, -183,
154 -183, 0, 4448, 0, 4448, 0, -188, 0, 3, 22,
155 6884, 0, 0, 0, 34, -213, 0, 0, 2061, 4183,
156 4183, 0, -49, 5612, 85, 4448, 4448, 14, 4713, 6753,
157 4448, 87, 4183, 4183, 4448, 4448, -77, -77, 0, 0,
158 0, 18, -192, -36, 91, 92, 95, 0, -48, 0,
159 4448, 0, 0, 4448, 6980, 4448, 4448, 4448, 34, -154,
160 4448, 4448, 4448, 4448, 4448, 4448, -135, 4448, 0, 0,
161 -192, -192, 0, 5658, 106, 5612, 11, 0, 0, 5704,
162 186, 4448, 113, 5751, 115, 5805, 5885, 4183, 114, 67,
163 5931, 5978, 0, 0, 4572, 0, 0, 0, 0, 0,
164 -192, 6032, 1964, 1964, -49, 0, 3230, 186, 186, 186,
165 0, 97, 97, -77, -77, -77, -77, -183, -49, 4665,
166 4765, 0, 0, 0, 1964, 1964, -131, 186, 4448, 4448,
167 4448, 4448, 7026, 121, 0, 0, 0, 4448, 4448, 0,
168 4183, 4183, 124, 125, 132, 4448, 0, 0, 0, 4448,
169 0, -117, 0, 0, 0, 6884, 0, -44, 0, 4837,
170 4448, -114, 0, 0, 0, 0, 6884, 6884, 13, 3635,
171 5295, 5367, 5506, 137, 6078, 0, 5560, 6243, -192, -59,
172 -59, 4448, 4448, 5241, 6884, 6884, 3701, 93, -192, -192,
173 0, 0, 0, 0, 0, 0, 6884, -48, 0, 7084,
174 0, 4448, 0, 4448, 0, 4448, 0, 4448, 0, 0,
175 -119, 0, 4448, 0, 0, 0, 0, 4448, 4448, -34,
176 -16, 6343, 0, 123, -89, 4183, 4930, -192, -192, -192,
177 -192, -192, 144, 6389, 6435, 6508, 6554, 6700, 0, 6819,
178 6884, 6884, 0, 0, 0, 6930, 146, 94, 0, 0,
179 0, 0, 0, 0, 0, -192, 0, 3701, 3701, 3701,
180 5241, -53, 4448, 0, -192, 5030, -83, 0, 0, 148,
181 5241, -13, 0, 0, 0, 149, 0, 3701, 3701, 0,
182 0, 0, 3701, 0,
183};
184short yyrindex[] = { 0,
185 0, 2015, 0, 0, 0, 0, 192, 0, 0, 0,
186 0, 56, 0, 3424, 0, 2619, 0, 0, 0, 0,
187 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,
188 0, 0, 0, 0, 0, 0, 2147, 0, 2195, 1676,
189 3509, 0, 0, 0, 1782, 1340, 0, 0, 0, 152,
190 0, 0, 0, 3829, 111, 0, 0, 381, 0, 0,
191 0, 0, 152, 101, 0, 0, 564, 834, 0, 0,
192 0, 436, 5102, 0, -47, 39, 42, 0, 2245, 0,
193 0, 0, 0, 0, 0, 0, 0, 0, 1830, 0,
194 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
195 5102, 5102, 0, 72, 0, 17, 0, 0, 0, 72,
196 2718, 0, 74, 72, 74, 72, 72, 152, 0, 0,
197 72, 72, 0, 0, 0, 0, 0, 0, 0, 0,
198 5102, 72, 0, 0, 1882, 0, 3464, 3057, 3097, 3145,
199 0, 1468, 1734, 888, 942, 1016, 1286, 2564, 1395, 0,
200 0, 0, 0, 0, 0, 0, 0, 3185, 0, 0,
201 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
202 538, 538, 0, 0, 0, 122, 0, 0, 0, 241,
203 0, 0, 0, 0, 0, -41, 0, 0, 0, 0,
204 0, 491, 0, 0, 0, 0, 3549, 3594, 0, 72,
205 72, 72, 72, 74, 72, 0, 72, 72, 3866, 296,
206 357, 0, 0, 136, -10, 169, 0, 0, 5102, 3970,
207 0, 0, 0, 0, 0, 0, 3784, 2294, 0, 0,
208 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
209 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
210 0, -51, 0, 0, 0, 101, 0, 4038, 4135, 4235,
211 4307, 4400, 74, 72, 72, 72, 72, 72, 0, 72,
212 507, 553, 0, 0, 0, 0, 0, 0, 0, 0,
213 0, 0, 0, 0, 0, 5102, 0, 0, 0, 0,
214 155, 0, 0, 0, 4500, 0, 5195, 0, 0, 0,
215 155, 0, 0, 0, 0, 0, 0, 0, 0, 0,
216 0, 0, 0, 0,
217};
218short yygindex[] = { 0,
219 -18, 0, 0, 7251, -19, 0, 0, 0, 0, -31,
220 33, 2875, -14, -12, 16, 7373, 76, 147, 0, 0,
221 0, 231, -205, 0, -267, -9,
222};
223#define YYTABLESIZE 7645
224short yytable[] = { 114,
225 82, 47, 246, 269, 127, 301, 273, 114, 253, 81,
226 6, 16, 48, 81, 224, 17, 96, 114, 105, 79,
227 75, 16, 76, 300, 274, 62, 81, 307, 81, 64,
228 122, 119, 120, 306, 97, 49, 75, 82, 76, 40,
229 82, 82, 82, 82, 82, 82, 81, 82, 122, 81,
230 77, 154, 16, 229, 109, 60, 230, 16, 82, 82,
231 82, 69, 82, 82, 247, 84, 77, 74, 123, 124,
232 95, 50, 78, 112, 98, 93, 91, 56, 92, 16,
233 94, 150, 151, 74, 81, 253, 165, 99, 100, 57,
234 59, 58, 60, 82, 82, 253, 60, 60, 60, 60,
235 60, 18, 60, 60, 19, 70, 71, 61, 23, 63,
236 87, 190, 82, 60, 60, 60, 135, 60, 60, 32,
237 33, 65, 66, 82, 82, 80, 118, 96, 109, 97,
238 149, 128, 129, 95, 16, 130, 31, 141, 93, 210,
239 211, 123, 124, 94, 148, 97, 153, 87, 60, 60,
240 87, 87, 87, 87, 166, 87, 159, 87, 161, 167,
241 199, 206, 121, 212, 213, 192, 193, 60, 87, 87,
242 87, 214, 87, 87, 218, 83, 228, 239, 60, 60,
243 121, 276, 277, 256, 280, 293, 294, 304, 305, 310,
244 96, 1, 88, 88, 113, 113, 0, 107, 0, 257,
245 0, 249, 0, 87, 87, 245, 0, 0, 97, 125,
246 0, 3, 4, 5, 0, 221, 222, 223, 114, 114,
247 114, 0, 87, 194, 278, 35, 0, 125, 27, 0,
248 28, 16, 0, 87, 87, 82, 83, 16, 16, 82,
249 83, 17, 17, 0, 250, 251, 0, 16, 16, 122,
250 122, 122, 82, 83, 82, 83, 0, 82, 82, 82,
251 82, 82, 82, 82, 82, 82, 296, 0, 82, 82,
252 0, 0, 82, 83, 82, 82, 83, 0, 16, 16,
253 82, 124, 82, 82, 82, 82, 82, 0, 82, 82,
254 82, 82, 82, 82, 82, 82, 82, 0, 82, 124,
255 82, 82, 82, 82, 82, 16, 16, 90, 292, 0,
256 82, 83, 60, 60, 60, 60, 60, 60, 60, 60,
257 60, 23, 0, 60, 60, 302, 0, 18, 18, 60,
258 19, 19, 32, 33, 0, 60, 116, 60, 60, 60,
259 60, 60, 0, 60, 60, 60, 60, 60, 60, 60,
260 60, 60, 0, 60, 116, 60, 60, 60, 60, 60,
261 16, 16, 31, 31, 0, 0, 0, 87, 87, 87,
262 87, 87, 87, 87, 87, 87, 0, 0, 87, 87,
263 55, 121, 121, 121, 87, 0, 0, 0, 0, 0,
264 87, 0, 87, 87, 87, 87, 87, 118, 87, 87,
265 87, 87, 87, 87, 87, 87, 87, 0, 87, 0,
266 87, 87, 87, 87, 87, 118, 0, 55, 0, 0,
267 55, 55, 55, 55, 55, 55, 0, 55, 125, 125,
268 125, 0, 0, 0, 0, 85, 0, 0, 55, 55,
269 0, 0, 55, 55, 11, 0, 0, 255, 12, 13,
270 0, 0, 0, 14, 15, 0, 0, 16, 16, 0,
271 0, 0, 0, 0, 0, 16, 0, 17, 18, 19,
272 0, 21, 85, 55, 55, 33, 85, 85, 85, 85,
273 85, 0, 85, 26, 0, 29, 30, 31, 32, 33,
274 23, 0, 55, 85, 85, 33, 0, 33, 33, 0,
275 124, 124, 124, 55, 55, 0, 0, 0, 0, 0,
276 0, 0, 0, 0, 0, 0, 0, 0, 297, 298,
277 299, 0, 0, 0, 0, 0, 0, 23, 85, 85,
278 23, 23, 23, 23, 23, 23, 0, 23, 311, 312,
279 0, 0, 0, 314, 0, 0, 0, 115, 23, 23,
280 23, 0, 23, 23, 0, 116, 116, 116, 85, 85,
281 0, 0, 0, 52, 0, 115, 0, 0, 0, 16,
282 0, 0, 0, 0, 0, 0, 0, 0, 88, 0,
283 0, 0, 0, 23, 23, 0, 0, 0, 0, 0,
284 0, 0, 0, 117, 0, 0, 88, 0, 0, 88,
285 52, 0, 23, 33, 52, 52, 52, 52, 52, 0,
286 52, 117, 0, 23, 23, 16, 118, 118, 118, 0,
287 0, 52, 52, 33, 0, 33, 33, 0, 0, 0,
288 0, 0, 0, 0, 0, 0, 0, 55, 55, 55,
289 55, 55, 55, 55, 55, 55, 0, 0, 55, 55,
290 0, 0, 0, 0, 55, 0, 52, 0, 0, 0,
291 55, 88, 55, 55, 55, 55, 55, 0, 55, 55,
292 55, 55, 55, 55, 55, 55, 55, 0, 55, 0,
293 55, 55, 55, 55, 55, 0, 52, 52, 0, 0,
294 0, 0, 85, 85, 33, 85, 85, 85, 33, 33,
295 85, 0, 0, 33, 33, 0, 0, 0, 0, 85,
296 0, 0, 0, 0, 0, 33, 0, 33, 33, 33,
297 85, 33, 0, 85, 33, 33, 33, 33, 33, 33,
298 33, 33, 0, 33, 0, 33, 33, 33, 33, 33,
299 0, 0, 0, 0, 0, 0, 0, 23, 23, 23,
300 23, 23, 23, 23, 23, 23, 0, 0, 23, 23,
301 0, 0, 0, 0, 23, 0, 115, 115, 115, 0,
302 23, 0, 23, 23, 23, 23, 23, 0, 23, 23,
303 0, 23, 23, 23, 23, 23, 23, 0, 23, 0,
304 23, 23, 23, 23, 23, 16, 16, 88, 88, 88,
305 0, 0, 88, 0, 0, 0, 0, 0, 0, 0,
306 0, 0, 117, 117, 117, 0, 0, 0, 0, 0,
307 52, 52, 33, 52, 52, 52, 33, 33, 52, 0,
308 0, 33, 33, 51, 0, 0, 0, 52, 0, 0,
309 0, 16, 16, 33, 0, 33, 33, 33, 52, 33,
310 0, 52, 33, 33, 33, 33, 33, 33, 33, 33,
311 0, 33, 0, 33, 33, 33, 33, 33, 0, 0,
312 51, 0, 0, 33, 51, 51, 51, 51, 51, 0,
313 51, 0, 0, 0, 0, 0, 0, 41, 0, 0,
314 0, 51, 51, 33, 0, 33, 33, 0, 0, 0,
315 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
316 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
317 0, 0, 0, 0, 41, 0, 51, 33, 41, 41,
318 41, 41, 41, 0, 41, 0, 0, 0, 0, 0,
319 0, 42, 0, 0, 0, 41, 41, 33, 0, 33,
320 33, 0, 0, 0, 0, 0, 51, 51, 0, 0,
321 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
322 0, 0, 0, 0, 0, 0, 0, 0, 42, 0,
323 41, 33, 42, 42, 42, 42, 42, 0, 42, 0,
324 0, 0, 0, 0, 0, 0, 0, 0, 0, 42,
325 42, 33, 0, 33, 33, 0, 0, 0, 0, 0,
326 41, 41, 0, 0, 0, 43, 0, 0, 0, 0,
327 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
328 0, 0, 0, 0, 42, 0, 0, 0, 0, 0,
329 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
330 0, 0, 43, 0, 0, 33, 43, 43, 43, 43,
331 43, 0, 43, 0, 42, 42, 0, 0, 0, 0,
332 0, 0, 0, 43, 43, 33, 0, 33, 33, 0,
333 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
334 51, 51, 33, 51, 51, 51, 33, 33, 51, 0,
335 0, 33, 33, 0, 0, 0, 0, 51, 43, 0,
336 0, 0, 0, 33, 0, 33, 33, 33, 51, 33,
337 0, 51, 33, 33, 33, 33, 33, 33, 33, 33,
338 0, 33, 0, 33, 33, 33, 33, 33, 43, 43,
339 0, 0, 0, 0, 41, 41, 33, 41, 41, 41,
340 33, 33, 41, 0, 0, 33, 33, 0, 0, 0,
341 0, 41, 0, 0, 0, 0, 0, 33, 0, 33,
342 33, 33, 41, 33, 0, 41, 33, 33, 33, 33,
343 33, 33, 33, 33, 0, 33, 0, 33, 33, 33,
344 33, 33, 0, 0, 0, 0, 0, 0, 42, 42,
345 33, 42, 42, 42, 33, 33, 42, 0, 0, 33,
346 33, 0, 0, 0, 0, 42, 0, 0, 0, 0,
347 0, 33, 0, 33, 33, 33, 42, 33, 0, 42,
348 33, 33, 33, 33, 33, 33, 33, 33, 0, 33,
349 0, 33, 33, 33, 33, 33, 0, 0, 0, 0,
350 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
351 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
352 0, 0, 43, 43, 33, 43, 43, 43, 33, 33,
353 43, 0, 0, 33, 33, 44, 0, 0, 0, 43,
354 0, 0, 0, 0, 0, 33, 0, 33, 33, 33,
355 43, 33, 0, 43, 33, 33, 33, 33, 33, 33,
356 33, 33, 0, 33, 0, 33, 33, 33, 33, 33,
357 0, 0, 44, 0, 0, 33, 44, 44, 44, 44,
358 44, 0, 44, 0, 0, 0, 0, 0, 0, 36,
359 0, 0, 0, 44, 44, 33, 0, 33, 33, 0,
360 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
361 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
362 0, 0, 0, 0, 0, 0, 36, 0, 44, 36,
363 36, 36, 36, 36, 36, 0, 36, 0, 0, 0,
364 0, 0, 0, 0, 35, 0, 0, 36, 36, 36,
365 0, 36, 36, 0, 0, 0, 0, 0, 44, 44,
366 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
367 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
368 0, 35, 36, 36, 35, 35, 35, 35, 35, 35,
369 0, 35, 0, 0, 0, 0, 0, 0, 0, 0,
370 0, 36, 35, 35, 35, 0, 35, 0, 0, 0,
371 0, 0, 36, 36, 0, 0, 0, 39, 0, 0,
372 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
373 0, 0, 0, 0, 0, 0, 0, 35, 35, 0,
374 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
375 0, 0, 0, 0, 0, 0, 35, 33, 39, 0,
376 39, 39, 39, 0, 0, 0, 0, 35, 35, 0,
377 0, 0, 0, 0, 0, 39, 39, 33, 0, 33,
378 33, 0, 0, 0, 0, 0, 0, 0, 0, 0,
379 0, 0, 44, 44, 33, 44, 44, 44, 33, 33,
380 44, 0, 0, 33, 33, 0, 0, 0, 0, 44,
381 39, 0, 0, 0, 0, 33, 0, 33, 33, 33,
382 44, 33, 0, 44, 33, 33, 33, 33, 33, 33,
383 33, 33, 0, 33, 0, 33, 33, 33, 33, 33,
384 39, 39, 0, 0, 0, 0, 36, 36, 36, 36,
385 36, 36, 36, 36, 36, 0, 0, 36, 36, 0,
386 0, 0, 0, 36, 0, 0, 0, 0, 0, 36,
387 0, 36, 36, 36, 36, 36, 0, 0, 36, 36,
388 36, 36, 36, 36, 36, 36, 0, 36, 0, 36,
389 0, 0, 36, 36, 0, 0, 0, 0, 0, 0,
390 0, 35, 35, 35, 35, 35, 35, 35, 35, 35,
391 0, 0, 35, 35, 0, 0, 0, 0, 35, 0,
392 0, 0, 0, 0, 35, 14, 35, 35, 35, 35,
393 35, 0, 35, 0, 0, 35, 35, 35, 35, 35,
394 35, 0, 35, 0, 35, 35, 35, 35, 35, 0,
395 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
396 0, 0, 0, 0, 0, 14, 0, 0, 14, 0,
397 14, 0, 0, 0, 39, 39, 33, 39, 39, 39,
398 33, 33, 39, 40, 14, 33, 33, 0, 0, 0,
399 0, 39, 0, 0, 0, 0, 0, 33, 0, 33,
400 33, 33, 39, 33, 0, 39, 33, 33, 33, 33,
401 33, 33, 33, 33, 0, 33, 0, 33, 33, 33,
402 33, 33, 0, 33, 40, 0, 40, 40, 40, 0,
403 0, 33, 0, 0, 0, 0, 0, 0, 0, 0,
404 0, 40, 40, 33, 0, 33, 33, 0, 14, 0,
405 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
406 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
407 0, 33, 33, 0, 0, 33, 40, 0, 0, 34,
408 0, 0, 0, 0, 0, 0, 0, 0, 0, 33,
409 33, 33, 0, 33, 33, 0, 0, 0, 0, 0,
410 0, 0, 0, 0, 0, 0, 40, 40, 0, 0,
411 0, 0, 0, 0, 0, 0, 0, 0, 0, 33,
412 34, 0, 0, 34, 33, 0, 0, 0, 0, 0,
413 0, 15, 0, 0, 0, 0, 0, 34, 34, 33,
414 0, 33, 33, 0, 0, 0, 0, 0, 0, 0,
415 0, 0, 0, 0, 33, 33, 0, 0, 0, 0,
416 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
417 0, 15, 34, 0, 15, 0, 15, 0, 0, 0,
418 0, 0, 14, 14, 14, 14, 14, 14, 14, 14,
419 15, 0, 0, 14, 14, 0, 0, 0, 0, 0,
420 0, 0, 34, 34, 0, 14, 0, 14, 14, 14,
421 14, 14, 0, 0, 0, 0, 14, 14, 14, 14,
422 0, 0, 0, 14, 0, 14, 14, 14, 14, 14,
423 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
424 40, 40, 33, 40, 40, 40, 33, 33, 40, 0,
425 0, 33, 33, 35, 15, 0, 27, 40, 28, 0,
426 0, 0, 0, 33, 6, 33, 33, 33, 40, 33,
427 0, 40, 33, 33, 33, 33, 33, 33, 33, 33,
428 0, 33, 0, 33, 33, 33, 33, 33, 33, 33,
429 33, 33, 33, 33, 33, 33, 33, 0, 0, 33,
430 33, 0, 0, 0, 6, 0, 0, 6, 0, 6,
431 0, 33, 0, 33, 33, 33, 33, 33, 0, 33,
432 33, 33, 33, 33, 33, 33, 33, 33, 0, 33,
433 0, 33, 33, 33, 33, 33, 34, 34, 33, 34,
434 34, 34, 33, 33, 34, 0, 0, 33, 33, 0,
435 35, 103, 0, 27, 0, 28, 0, 0, 0, 33,
436 0, 33, 33, 33, 34, 33, 0, 34, 33, 33,
437 33, 33, 33, 33, 33, 33, 0, 33, 0, 33,
438 33, 33, 33, 33, 0, 0, 0, 6, 15, 15,
439 15, 15, 15, 15, 15, 15, 12, 0, 0, 15,
440 15, 0, 0, 0, 0, 0, 0, 0, 0, 0,
441 0, 15, 0, 15, 15, 15, 15, 15, 0, 0,
442 0, 0, 15, 15, 15, 15, 0, 0, 0, 15,
443 0, 15, 15, 15, 15, 15, 12, 0, 0, 12,
444 0, 12, 0, 0, 7, 0, 0, 0, 0, 0,
445 0, 0, 0, 0, 0, 12, 0, 0, 0, 0,
446 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
447 0, 0, 11, 0, 123, 124, 12, 13, 0, 0,
448 0, 14, 15, 0, 7, 0, 0, 7, 0, 7,
449 0, 0, 0, 16, 5, 17, 18, 19, 0, 21,
450 0, 0, 0, 7, 22, 23, 24, 25, 0, 0,
451 0, 26, 0, 29, 30, 31, 32, 33, 0, 12,
452 0, 6, 6, 6, 0, 0, 0, 6, 6, 0,
453 0, 0, 6, 6, 5, 0, 0, 5, 0, 5,
454 0, 0, 0, 2, 6, 0, 6, 6, 6, 6,
455 6, 0, 0, 0, 0, 6, 6, 6, 6, 0,
456 0, 0, 6, 0, 6, 6, 6, 6, 6, 11,
457 0, 0, 0, 12, 13, 0, 0, 0, 14, 15,
458 0, 0, 0, 2, 0, 0, 2, 0, 2, 0,
459 16, 0, 17, 18, 19, 0, 21, 0, 0, 0,
460 0, 22, 23, 24, 25, 0, 0, 0, 26, 0,
461 29, 30, 31, 32, 33, 0, 0, 5, 0, 0,
462 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
463 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
464 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
465 0, 0, 0, 12, 12, 12, 12, 0, 12, 12,
466 12, 0, 0, 0, 12, 12, 2, 0, 0, 0,
467 0, 0, 0, 0, 0, 0, 12, 0, 12, 12,
468 12, 12, 12, 0, 0, 0, 0, 12, 12, 12,
469 12, 0, 0, 0, 12, 0, 12, 12, 12, 12,
470 12, 7, 7, 7, 7, 7, 7, 7, 7, 0,
471 0, 0, 7, 7, 0, 0, 0, 0, 0, 0,
472 0, 0, 0, 0, 7, 0, 7, 7, 7, 7,
473 7, 0, 0, 0, 0, 7, 7, 7, 7, 0,
474 0, 0, 7, 0, 7, 7, 7, 7, 7, 0,
475 0, 5, 5, 5, 0, 0, 0, 5, 5, 0,
476 0, 0, 5, 5, 0, 0, 0, 0, 0, 0,
477 0, 0, 0, 0, 5, 0, 5, 5, 5, 5,
478 5, 0, 0, 0, 0, 5, 5, 5, 5, 0,
479 0, 0, 5, 0, 5, 5, 5, 5, 5, 0,
480 2, 2, 2, 0, 0, 0, 2, 2, 0, 0,
481 0, 2, 2, 58, 0, 0, 0, 0, 0, 0,
482 0, 0, 0, 2, 0, 2, 2, 2, 2, 2,
483 0, 0, 0, 0, 2, 2, 2, 2, 0, 0,
484 0, 2, 0, 2, 2, 2, 2, 2, 0, 0,
485 58, 0, 0, 58, 58, 58, 58, 58, 58, 0,
486 58, 0, 0, 0, 0, 0, 0, 0, 54, 0,
487 0, 58, 58, 58, 0, 58, 58, 0, 0, 0,
488 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
489 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
490 0, 0, 0, 0, 0, 54, 58, 58, 54, 54,
491 54, 54, 54, 54, 0, 54, 0, 0, 0, 0,
492 0, 0, 0, 0, 0, 58, 54, 54, 0, 0,
493 54, 54, 0, 0, 0, 0, 58, 58, 0, 0,
494 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
495 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
496 0, 54, 54, 0, 0, 0, 0, 56, 0, 0,
497 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
498 54, 0, 0, 0, 0, 0, 0, 0, 0, 0,
499 0, 54, 54, 0, 0, 0, 0, 0, 0, 0,
500 0, 0, 0, 0, 56, 0, 0, 0, 56, 56,
501 0, 56, 0, 0, 56, 0, 0, 0, 0, 0,
502 0, 0, 0, 0, 0, 56, 56, 56, 0, 56,
503 16, 0, 0, 0, 0, 0, 0, 0, 0, 0,
504 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
505 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
506 56, 56, 0, 0, 0, 0, 0, 0, 0, 0,
507 58, 58, 58, 58, 58, 58, 58, 58, 58, 56,
508 0, 58, 58, 0, 0, 0, 0, 58, 0, 0,
509 56, 56, 0, 58, 0, 58, 58, 58, 58, 58,
510 0, 58, 58, 58, 58, 0, 58, 58, 58, 58,
511 0, 58, 0, 58, 58, 58, 0, 0, 0, 0,
512 0, 0, 0, 0, 0, 54, 54, 54, 54, 54,
513 54, 54, 54, 54, 0, 0, 54, 54, 54, 0,
514 0, 0, 54, 0, 0, 0, 0, 0, 54, 0,
515 54, 54, 54, 54, 54, 0, 54, 54, 54, 54,
516 0, 54, 54, 54, 54, 0, 54, 0, 54, 54,
517 54, 0, 0, 104, 54, 106, 0, 0, 0, 0,
518 110, 111, 0, 114, 116, 117, 0, 54, 54, 121,
519 122, 0, 0, 0, 0, 0, 0, 0, 0, 0,
520 0, 0, 0, 0, 0, 132, 0, 0, 0, 137,
521 138, 139, 140, 0, 0, 0, 0, 0, 0, 0,
522 0, 0, 0, 0, 56, 56, 0, 56, 56, 56,
523 0, 0, 56, 0, 0, 0, 158, 0, 0, 0,
524 0, 56, 54, 0, 0, 0, 0, 0, 0, 186,
525 0, 0, 56, 0, 0, 56, 16, 16, 56, 56,
526 56, 56, 56, 56, 0, 0, 0, 0, 0, 0,
527 0, 0, 0, 0, 186, 186, 0, 0, 0, 197,
528 198, 0, 0, 200, 201, 202, 203, 205, 0, 0,
529 0, 0, 207, 208, 0, 54, 54, 0, 0, 0,
530 215, 0, 0, 0, 216, 0, 25, 0, 0, 0,
531 0, 0, 0, 0, 186, 227, 0, 0, 0, 0,
532 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
533 0, 0, 0, 0, 0, 0, 0, 0, 252, 0,
534 0, 186, 0, 25, 0, 0, 27, 25, 25, 0,
535 25, 0, 0, 25, 264, 0, 265, 0, 266, 0,
536 267, 0, 268, 0, 25, 25, 25, 270, 25, 16,
537 0, 0, 271, 272, 0, 0, 0, 0, 0, 0,
538 54, 186, 0, 27, 0, 0, 0, 27, 27, 0,
539 27, 0, 0, 27, 26, 0, 0, 0, 0, 25,
540 25, 0, 0, 0, 27, 27, 27, 0, 27, 16,
541 0, 0, 186, 186, 186, 186, 0, 0, 25, 0,
542 186, 0, 0, 0, 0, 186, 0, 0, 0, 25,
543 25, 26, 186, 186, 57, 26, 26, 186, 26, 27,
544 27, 26, 0, 0, 0, 0, 0, 0, 0, 0,
545 0, 0, 26, 26, 26, 0, 26, 16, 27, 0,
546 0, 0, 0, 0, 0, 0, 0, 0, 0, 27,
547 27, 57, 0, 0, 0, 57, 57, 0, 57, 0,
548 0, 57, 0, 0, 0, 0, 0, 26, 26, 0,
549 0, 0, 57, 57, 57, 0, 57, 16, 0, 0,
550 0, 0, 0, 0, 0, 0, 26, 0, 0, 0,
551 0, 0, 0, 0, 0, 0, 0, 26, 26, 35,
552 0, 0, 27, 0, 28, 0, 0, 57, 57, 0,
553 0, 0, 0, 0, 0, 0, 0, 0, 0, 87,
554 0, 88, 0, 0, 0, 0, 57, 0, 0, 0,
555 0, 0, 0, 0, 0, 0, 0, 57, 57, 0,
556 0, 0, 0, 25, 25, 0, 25, 25, 25, 0,
557 0, 25, 0, 0, 0, 0, 0, 0, 0, 0,
558 25, 0, 0, 0, 0, 0, 0, 0, 0, 0,
559 0, 25, 0, 0, 25, 16, 16, 25, 25, 25,
560 25, 25, 25, 27, 27, 0, 27, 27, 27, 0,
561 0, 27, 0, 0, 0, 0, 0, 0, 0, 0,
562 27, 0, 0, 0, 0, 0, 0, 0, 0, 0,
563 0, 27, 0, 0, 27, 16, 16, 27, 27, 27,
564 27, 27, 27, 0, 0, 0, 0, 0, 0, 0,
565 0, 26, 26, 0, 26, 26, 26, 0, 0, 26,
566 0, 0, 0, 0, 0, 0, 0, 0, 26, 0,
567 0, 0, 0, 88, 0, 0, 0, 0, 0, 26,
568 0, 0, 26, 16, 16, 26, 26, 26, 26, 26,
569 26, 57, 57, 0, 57, 57, 57, 0, 0, 57,
570 0, 0, 0, 0, 0, 0, 0, 0, 57, 0,
571 88, 0, 0, 29, 88, 88, 0, 88, 0, 57,
572 88, 0, 57, 16, 16, 57, 57, 57, 57, 57,
573 57, 88, 88, 88, 0, 88, 88, 0, 11, 0,
574 0, 0, 12, 13, 0, 0, 0, 14, 15, 0,
575 29, 0, 0, 0, 29, 29, 0, 29, 16, 16,
576 29, 17, 18, 19, 0, 21, 88, 88, 0, 0,
577 0, 29, 29, 0, 0, 86, 16, 26, 0, 29,
578 30, 31, 32, 33, 0, 88, 0, 0, 0, 0,
579 0, 0, 0, 0, 0, 16, 88, 88, 89, 16,
580 16, 0, 16, 0, 0, 16, 29, 29, 0, 0,
581 0, 0, 0, 0, 0, 0, 16, 16, 0, 0,
582 0, 16, 0, 0, 0, 29, 0, 0, 0, 0,
583 0, 0, 0, 0, 0, 89, 29, 29, 0, 89,
584 89, 0, 89, 90, 0, 89, 0, 0, 0, 0,
585 0, 16, 16, 0, 0, 0, 89, 89, 0, 0,
586 0, 16, 0, 0, 0, 0, 0, 0, 0, 0,
587 16, 0, 0, 0, 0, 0, 0, 0, 0, 0,
588 90, 16, 16, 0, 90, 90, 0, 90, 0, 0,
589 90, 89, 89, 0, 0, 0, 0, 0, 0, 0,
590 0, 90, 90, 0, 0, 0, 16, 0, 0, 0,
591 89, 0, 0, 0, 0, 0, 0, 0, 0, 0,
592 0, 89, 89, 0, 35, 231, 0, 27, 232, 28,
593 88, 88, 0, 88, 88, 88, 90, 90, 88, 0,
594 0, 0, 0, 0, 87, 0, 88, 88, 0, 0,
595 0, 0, 0, 0, 0, 90, 0, 0, 88, 0,
596 0, 88, 88, 88, 0, 0, 90, 90, 88, 88,
597 29, 29, 0, 29, 29, 29, 0, 0, 29, 0,
598 0, 0, 0, 0, 0, 0, 0, 29, 0, 0,
599 35, 0, 0, 27, 0, 28, 0, 0, 29, 0,
600 0, 29, 16, 16, 29, 29, 29, 29, 29, 185,
601 0, 0, 0, 0, 0, 16, 16, 0, 16, 16,
602 16, 0, 0, 16, 0, 0, 0, 0, 0, 0,
603 0, 0, 16, 20, 0, 0, 0, 0, 0, 0,
604 0, 0, 0, 16, 0, 0, 16, 16, 16, 0,
605 0, 0, 0, 0, 0, 89, 89, 0, 89, 89,
606 89, 0, 0, 89, 0, 0, 0, 0, 0, 0,
607 20, 0, 89, 183, 20, 20, 0, 20, 86, 0,
608 20, 0, 0, 89, 0, 0, 89, 16, 16, 0,
609 0, 20, 20, 0, 0, 0, 16, 0, 0, 0,
610 90, 90, 0, 90, 90, 90, 0, 0, 90, 0,
611 0, 0, 0, 0, 0, 86, 0, 90, 0, 86,
612 86, 0, 0, 0, 0, 86, 20, 20, 90, 0,
613 0, 90, 16, 16, 0, 0, 86, 86, 0, 0,
614 0, 16, 0, 11, 0, 20, 0, 12, 13, 0,
615 0, 0, 14, 15, 0, 110, 20, 20, 110, 0,
616 110, 0, 0, 0, 16, 0, 17, 18, 19, 0,
617 21, 86, 86, 0, 110, 22, 23, 24, 25, 85,
618 86, 0, 26, 0, 29, 30, 31, 32, 33, 0,
619 86, 0, 0, 0, 0, 0, 0, 0, 0, 0,
620 0, 86, 86, 0, 0, 0, 0, 0, 0, 11,
621 170, 123, 124, 12, 13, 0, 171, 172, 14, 15,
622 173, 0, 174, 175, 0, 176, 177, 178, 179, 180,
623 16, 181, 17, 18, 19, 0, 21, 182, 110, 0,
624 110, 22, 23, 24, 25, 0, 0, 0, 26, 0,
625 29, 30, 31, 32, 33, 0, 0, 0, 0, 109,
626 0, 0, 109, 0, 109, 0, 0, 0, 0, 0,
627 0, 0, 0, 0, 0, 0, 0, 0, 109, 0,
628 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
629 20, 20, 0, 20, 20, 20, 0, 0, 20, 0,
630 0, 0, 0, 0, 0, 0, 0, 20, 0, 0,
631 0, 0, 0, 0, 0, 0, 0, 0, 20, 0,
632 0, 20, 16, 16, 0, 0, 0, 103, 0, 0,
633 103, 0, 103, 0, 0, 86, 86, 0, 86, 86,
634 86, 0, 109, 86, 109, 0, 103, 0, 0, 0,
635 0, 0, 86, 0, 0, 0, 0, 0, 0, 0,
636 0, 0, 0, 86, 0, 0, 86, 16, 16, 0,
637 0, 0, 0, 0, 110, 110, 0, 0, 110, 110,
638 0, 110, 110, 110, 110, 110, 110, 110, 110, 0,
639 110, 110, 110, 110, 110, 110, 110, 110, 110, 110,
640 0, 110, 110, 0, 0, 0, 110, 110, 110, 110,
641 103, 0, 103, 110, 0, 110, 110, 110, 110, 110,
642 0, 0, 0, 0, 104, 0, 0, 104, 0, 104,
643 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
644 0, 0, 0, 104, 0, 0, 0, 0, 0, 0,
645 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
646 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
647 0, 0, 51, 0, 0, 27, 0, 28, 109, 109,
648 0, 0, 109, 109, 0, 109, 109, 109, 109, 109,
649 109, 109, 109, 0, 109, 109, 109, 109, 109, 109,
650 109, 109, 109, 109, 0, 109, 109, 104, 0, 104,
651 109, 109, 109, 109, 0, 0, 0, 109, 0, 109,
652 109, 109, 109, 109, 105, 0, 0, 105, 0, 105,
653 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
654 0, 0, 0, 105, 0, 0, 103, 103, 0, 0,
655 103, 103, 0, 103, 103, 103, 103, 103, 103, 103,
656 103, 0, 103, 103, 103, 103, 103, 103, 103, 103,
657 103, 103, 0, 103, 103, 0, 0, 0, 103, 103,
658 103, 103, 0, 0, 0, 103, 0, 103, 103, 103,
659 103, 103, 0, 0, 0, 0, 102, 0, 0, 102,
660 0, 102, 0, 0, 0, 0, 0, 105, 0, 105,
661 0, 0, 0, 0, 0, 102, 0, 0, 0, 0,
662 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
663 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
664 0, 0, 0, 104, 104, 0, 0, 104, 104, 0,
665 104, 104, 104, 104, 104, 104, 104, 104, 0, 104,
666 104, 104, 104, 104, 104, 104, 104, 104, 104, 0,
667 104, 104, 0, 0, 0, 104, 104, 104, 104, 102,
668 0, 102, 104, 0, 104, 104, 104, 104, 104, 108,
669 0, 11, 108, 0, 108, 12, 13, 0, 0, 0,
670 14, 15, 0, 0, 0, 0, 0, 0, 108, 0,
671 0, 0, 16, 0, 17, 18, 19, 0, 21, 0,
672 0, 0, 0, 22, 23, 24, 25, 0, 0, 0,
673 26, 0, 29, 30, 31, 32, 33, 35, 0, 0,
674 27, 0, 28, 105, 105, 0, 0, 105, 105, 0,
675 105, 105, 105, 105, 105, 105, 105, 105, 0, 105,
676 105, 105, 105, 105, 105, 105, 105, 105, 105, 0,
677 105, 105, 108, 0, 108, 105, 105, 105, 105, 0,
678 0, 0, 105, 0, 105, 105, 105, 105, 105, 137,
679 0, 0, 137, 0, 137, 0, 0, 0, 0, 0,
680 0, 0, 0, 0, 0, 0, 0, 0, 137, 0,
681 0, 0, 0, 0, 0, 102, 102, 0, 0, 102,
682 102, 0, 102, 102, 102, 102, 102, 102, 102, 102,
683 0, 102, 102, 102, 102, 102, 102, 102, 102, 102,
684 102, 0, 102, 102, 0, 0, 0, 102, 102, 102,
685 102, 0, 0, 0, 102, 0, 102, 102, 102, 102,
686 102, 35, 0, 0, 27, 0, 28, 0, 0, 0,
687 0, 0, 137, 0, 137, 0, 0, 0, 0, 0,
688 185, 0, 0, 0, 0, 0, 0, 0, 0, 0,
689 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
690 0, 0, 0, 0, 0, 0, 0, 0, 108, 108,
691 0, 0, 108, 108, 0, 108, 108, 108, 108, 108,
692 108, 108, 108, 0, 108, 108, 108, 108, 108, 108,
693 108, 108, 108, 108, 0, 108, 108, 0, 0, 0,
694 108, 108, 108, 108, 183, 0, 184, 108, 0, 108,
695 108, 108, 108, 108, 35, 0, 11, 27, 0, 28,
696 12, 13, 0, 0, 0, 14, 15, 0, 0, 0,
697 0, 0, 0, 185, 0, 0, 0, 16, 0, 17,
698 18, 19, 0, 21, 0, 0, 0, 0, 22, 23,
699 24, 25, 0, 0, 0, 26, 0, 29, 30, 31,
700 32, 33, 35, 0, 0, 27, 0, 28, 137, 137,
701 0, 0, 137, 137, 0, 137, 137, 137, 137, 137,
702 137, 137, 137, 0, 137, 137, 137, 137, 137, 137,
703 137, 137, 137, 137, 0, 137, 137, 183, 0, 195,
704 137, 137, 137, 137, 0, 0, 0, 137, 0, 137,
705 137, 137, 137, 137, 35, 0, 0, 27, 0, 28,
706 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
707 0, 0, 0, 185, 0, 0, 0, 0, 0, 0,
708 11, 170, 0, 0, 12, 13, 0, 171, 172, 14,
709 15, 173, 0, 174, 175, 0, 176, 177, 178, 179,
710 180, 16, 181, 17, 18, 19, 0, 21, 182, 0,
711 0, 0, 22, 23, 24, 25, 0, 0, 0, 26,
712 0, 29, 30, 31, 32, 33, 35, 0, 0, 27,
713 0, 28, 0, 0, 0, 0, 0, 183, 0, 196,
714 0, 0, 0, 0, 0, 185, 0, 0, 0, 0,
715 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
716 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
717 0, 0, 0, 11, 170, 0, 0, 12, 13, 0,
718 171, 172, 14, 15, 173, 0, 174, 175, 0, 176,
719 177, 178, 179, 180, 16, 181, 17, 18, 19, 0,
720 21, 182, 0, 0, 0, 22, 23, 24, 25, 183,
721 0, 226, 26, 0, 29, 30, 31, 32, 33, 35,
722 0, 113, 27, 0, 28, 12, 13, 0, 0, 0,
723 14, 15, 0, 0, 0, 0, 0, 0, 185, 0,
724 0, 0, 16, 0, 17, 18, 19, 0, 21, 0,
725 0, 0, 0, 22, 23, 24, 25, 0, 0, 0,
726 26, 0, 29, 30, 31, 32, 33, 0, 0, 0,
727 0, 0, 0, 11, 170, 0, 0, 12, 13, 0,
728 171, 172, 14, 15, 173, 0, 174, 175, 0, 176,
729 177, 178, 179, 180, 16, 181, 17, 18, 19, 0,
730 21, 182, 183, 0, 279, 22, 23, 24, 25, 0,
731 0, 0, 26, 0, 29, 30, 31, 32, 33, 35,
732 0, 0, 27, 0, 28, 0, 0, 0, 0, 0,
733 0, 0, 0, 0, 0, 0, 0, 0, 185, 0,
734 0, 0, 0, 0, 0, 11, 170, 0, 0, 12,
735 13, 0, 171, 172, 14, 15, 173, 0, 174, 175,
736 0, 176, 177, 178, 179, 180, 16, 181, 17, 18,
737 19, 0, 21, 182, 0, 0, 0, 22, 23, 24,
738 25, 0, 0, 0, 26, 0, 29, 30, 31, 32,
739 33, 107, 0, 0, 107, 0, 107, 0, 0, 0,
740 0, 0, 183, 0, 303, 0, 0, 0, 0, 0,
741 107, 0, 0, 0, 0, 0, 0, 0, 0, 0,
742 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
743 0, 0, 0, 0, 0, 0, 0, 0, 11, 170,
744 0, 0, 12, 13, 0, 171, 172, 14, 15, 173,
745 0, 174, 175, 0, 176, 177, 178, 179, 180, 16,
746 181, 17, 18, 19, 0, 21, 182, 0, 0, 0,
747 22, 23, 24, 25, 107, 0, 107, 26, 0, 29,
748 30, 31, 32, 33, 130, 0, 0, 130, 0, 130,
749 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
750 0, 0, 0, 130, 0, 0, 0, 0, 0, 0,
751 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
752 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
753 35, 0, 0, 27, 0, 28, 0, 0, 11, 170,
754 0, 0, 12, 13, 0, 171, 172, 14, 15, 173,
755 0, 174, 175, 0, 176, 177, 178, 179, 180, 16,
756 181, 17, 18, 19, 0, 21, 182, 130, 0, 130,
757 22, 23, 24, 25, 0, 0, 0, 26, 0, 29,
758 30, 31, 32, 33, 35, 233, 0, 27, 234, 28,
759 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
760 0, 0, 0, 0, 87, 0, 88, 0, 0, 0,
761 107, 107, 0, 0, 107, 107, 0, 107, 107, 107,
762 107, 107, 0, 107, 107, 0, 107, 107, 107, 107,
763 107, 107, 107, 107, 107, 107, 0, 107, 107, 0,
764 0, 0, 107, 107, 107, 107, 0, 0, 0, 107,
765 0, 107, 107, 107, 107, 107, 35, 235, 0, 27,
766 236, 28, 0, 0, 0, 0, 0, 0, 0, 0,
767 0, 0, 0, 0, 0, 0, 87, 0, 88, 0,
768 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
769 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
770 0, 0, 0, 130, 130, 0, 0, 130, 130, 0,
771 130, 130, 130, 130, 130, 0, 130, 130, 0, 130,
772 130, 130, 130, 130, 130, 130, 130, 130, 130, 0,
773 130, 130, 0, 0, 0, 130, 130, 130, 130, 0,
774 0, 0, 130, 0, 130, 130, 130, 130, 130, 11,
775 0, 0, 0, 12, 13, 0, 171, 172, 14, 15,
776 0, 0, 0, 0, 0, 176, 177, 178, 179, 180,
777 16, 0, 17, 18, 19, 0, 21, 182, 0, 0,
778 0, 22, 23, 24, 25, 0, 0, 0, 26, 0,
779 29, 30, 31, 32, 33, 35, 237, 0, 27, 238,
780 28, 0, 0, 11, 0, 0, 0, 12, 13, 0,
781 0, 0, 14, 15, 0, 87, 0, 88, 0, 0,
782 0, 0, 0, 0, 16, 0, 17, 18, 19, 0,
783 21, 0, 0, 0, 0, 22, 23, 24, 25, 85,
784 86, 0, 26, 0, 29, 30, 31, 32, 33, 35,
785 242, 0, 27, 243, 28, 0, 0, 0, 0, 0,
786 0, 0, 0, 0, 0, 0, 0, 0, 0, 87,
787 0, 88, 0, 0, 0, 11, 0, 0, 0, 12,
788 13, 0, 0, 0, 14, 15, 0, 0, 0, 0,
789 0, 0, 0, 0, 0, 0, 16, 0, 17, 18,
790 19, 35, 21, 0, 27, 108, 28, 22, 23, 24,
791 25, 85, 86, 0, 26, 0, 29, 30, 31, 32,
792 33, 87, 0, 88, 0, 0, 0, 0, 0, 0,
793 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
794 0, 0, 0, 0, 0, 0, 0, 35, 152, 0,
795 27, 0, 28, 0, 0, 0, 0, 0, 0, 0,
796 0, 0, 0, 0, 0, 0, 0, 87, 0, 88,
797 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
798 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
799 0, 0, 0, 35, 0, 0, 27, 157, 28, 0,
800 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
801 0, 0, 0, 87, 11, 88, 0, 0, 12, 13,
802 0, 0, 0, 14, 15, 0, 0, 0, 0, 0,
803 0, 0, 0, 0, 0, 16, 0, 17, 18, 19,
804 35, 21, 0, 27, 160, 28, 22, 23, 24, 25,
805 85, 86, 0, 26, 0, 29, 30, 31, 32, 33,
806 87, 0, 88, 0, 0, 0, 0, 0, 11, 0,
807 0, 0, 12, 13, 0, 0, 0, 14, 15, 0,
808 0, 0, 0, 0, 0, 0, 0, 0, 0, 16,
809 0, 17, 18, 19, 35, 21, 0, 27, 162, 28,
810 22, 23, 24, 25, 85, 86, 0, 26, 0, 29,
811 30, 31, 32, 33, 87, 0, 88, 0, 0, 0,
812 11, 0, 0, 0, 12, 13, 0, 0, 0, 14,
813 15, 0, 0, 0, 0, 0, 0, 0, 0, 0,
814 0, 16, 0, 17, 18, 19, 0, 21, 0, 0,
815 0, 0, 22, 23, 24, 25, 85, 86, 0, 26,
816 0, 29, 30, 31, 32, 33, 11, 0, 0, 0,
817 12, 13, 0, 0, 35, 14, 15, 27, 163, 28,
818 0, 0, 0, 0, 0, 0, 0, 16, 0, 17,
819 18, 19, 0, 21, 87, 0, 88, 0, 22, 23,
820 24, 25, 85, 86, 0, 26, 0, 29, 30, 31,
821 32, 33, 11, 0, 0, 0, 12, 13, 0, 0,
822 35, 14, 15, 27, 168, 28, 0, 0, 0, 0,
823 0, 0, 0, 16, 0, 17, 18, 19, 0, 21,
824 87, 0, 88, 0, 22, 23, 24, 25, 85, 86,
825 0, 26, 0, 29, 30, 31, 32, 33, 0, 11,
826 0, 0, 0, 12, 13, 0, 0, 35, 14, 15,
827 27, 169, 28, 0, 0, 0, 0, 0, 0, 0,
828 16, 0, 17, 18, 19, 0, 21, 87, 0, 88,
829 0, 22, 23, 24, 25, 85, 86, 0, 26, 0,
830 29, 30, 31, 32, 33, 0, 0, 0, 0, 0,
831 0, 0, 0, 11, 0, 0, 0, 12, 13, 0,
832 0, 35, 14, 15, 27, 0, 28, 0, 0, 0,
833 0, 0, 0, 0, 16, 0, 17, 18, 19, 191,
834 21, 87, 0, 88, 0, 22, 23, 24, 25, 85,
835 86, 0, 26, 0, 29, 30, 31, 32, 33, 0,
836 0, 0, 0, 0, 0, 0, 0, 35, 240, 0,
837 27, 0, 28, 0, 0, 0, 0, 0, 0, 0,
838 0, 0, 0, 0, 0, 0, 0, 87, 0, 88,
839 0, 0, 0, 11, 0, 0, 0, 12, 13, 0,
840 0, 0, 14, 15, 0, 0, 0, 0, 0, 0,
841 0, 0, 0, 0, 16, 0, 17, 18, 19, 0,
842 21, 0, 0, 0, 0, 22, 23, 24, 25, 85,
843 86, 0, 26, 0, 29, 30, 31, 32, 33, 11,
844 0, 0, 0, 12, 13, 0, 0, 0, 14, 15,
845 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
846 16, 0, 17, 18, 19, 0, 21, 0, 0, 0,
847 0, 22, 23, 24, 25, 85, 86, 0, 26, 0,
848 29, 30, 31, 32, 33, 0, 11, 0, 0, 0,
849 12, 13, 0, 0, 0, 14, 15, 0, 0, 0,
850 0, 0, 0, 0, 0, 0, 0, 16, 0, 17,
851 18, 19, 0, 21, 0, 0, 0, 0, 22, 23,
852 24, 25, 85, 86, 0, 26, 0, 29, 30, 31,
853 32, 33, 35, 244, 0, 27, 0, 28, 0, 0,
854 11, 0, 0, 0, 12, 13, 0, 0, 0, 14,
855 15, 0, 87, 0, 88, 0, 0, 0, 0, 0,
856 0, 16, 0, 17, 18, 19, 0, 21, 0, 0,
857 0, 0, 22, 23, 24, 25, 85, 86, 0, 26,
858 0, 29, 30, 31, 32, 33, 11, 0, 0, 0,
859 12, 13, 0, 0, 0, 14, 15, 0, 0, 0,
860 0, 0, 0, 0, 0, 0, 0, 16, 0, 17,
861 18, 19, 0, 21, 0, 0, 0, 0, 22, 23,
862 24, 25, 85, 86, 0, 26, 0, 29, 30, 31,
863 32, 33, 35, 275, 0, 27, 0, 28, 0, 0,
864 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
865 0, 0, 87, 0, 88, 0, 0, 0, 0, 0,
866 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
867 0, 0, 0, 0, 0, 0, 0, 0, 35, 281,
868 0, 27, 0, 28, 0, 0, 0, 0, 0, 0,
869 0, 0, 0, 0, 0, 0, 0, 0, 87, 0,
870 88, 0, 0, 0, 0, 0, 0, 0, 0, 0,
871 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
872 0, 0, 0, 0, 35, 282, 0, 27, 0, 28,
873 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
874 0, 0, 0, 0, 87, 0, 88, 0, 0, 0,
875 0, 11, 0, 0, 0, 12, 13, 0, 0, 0,
876 14, 15, 0, 0, 0, 0, 0, 0, 0, 0,
877 0, 0, 16, 0, 17, 18, 19, 0, 21, 0,
878 0, 0, 0, 22, 23, 24, 25, 85, 86, 0,
879 26, 0, 29, 30, 31, 32, 33, 35, 283, 0,
880 27, 0, 28, 0, 0, 0, 0, 0, 0, 0,
881 0, 0, 0, 0, 0, 0, 0, 87, 0, 88,
882 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
883 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
884 0, 0, 0, 35, 284, 0, 27, 0, 28, 0,
885 0, 11, 0, 0, 0, 12, 13, 0, 0, 0,
886 14, 15, 0, 87, 0, 88, 0, 0, 0, 0,
887 0, 0, 16, 0, 17, 18, 19, 0, 21, 0,
888 0, 0, 0, 22, 23, 24, 25, 85, 86, 0,
889 26, 0, 29, 30, 31, 32, 33, 11, 0, 0,
890 0, 12, 13, 0, 0, 0, 14, 15, 35, 0,
891 0, 27, 0, 28, 0, 0, 0, 0, 16, 0,
892 17, 18, 19, 0, 21, 0, 0, 0, 0, 22,
893 23, 24, 25, 85, 86, 0, 26, 0, 29, 30,
894 31, 32, 33, 11, 0, 0, 0, 12, 13, 0,
895 0, 0, 14, 15, 0, 0, 0, 0, 0, 0,
896 0, 0, 0, 0, 16, 0, 17, 18, 19, 0,
897 21, 0, 0, 0, 0, 22, 23, 24, 25, 85,
898 86, 0, 26, 0, 29, 30, 31, 32, 33, 35,
899 285, 34, 27, 0, 28, 0, 0, 0, 0, 0,
900 0, 0, 0, 0, 0, 0, 0, 0, 0, 87,
901 0, 88, 0, 0, 0, 0, 11, 0, 0, 0,
902 12, 13, 0, 0, 0, 14, 15, 0, 0, 0,
903 0, 0, 0, 0, 0, 0, 0, 16, 0, 17,
904 18, 19, 35, 21, 0, 27, 0, 28, 22, 23,
905 24, 25, 85, 86, 0, 26, 0, 29, 30, 31,
906 32, 33, 11, 0, 0, 0, 12, 13, 0, 0,
907 0, 14, 15, 0, 0, 0, 0, 0, 0, 0,
908 0, 0, 0, 16, 0, 17, 18, 19, 0, 21,
909 0, 0, 0, 0, 22, 23, 24, 25, 85, 86,
910 0, 26, 0, 29, 30, 31, 32, 33, 35, 287,
911 0, 27, 0, 28, 0, 0, 0, 0, 0, 0,
912 0, 0, 0, 0, 0, 9, 10, 11, 87, 0,
913 88, 12, 13, 0, 0, 0, 14, 15, 0, 0,
914 0, 0, 0, 0, 0, 0, 0, 0, 16, 0,
915 17, 18, 19, 20, 21, 0, 0, 0, 0, 22,
916 23, 24, 25, 0, 0, 0, 26, 0, 29, 30,
917 31, 32, 33, 35, 0, 0, 27, 0, 28, 0,
918 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
919 0, 0, 0, 87, 0, 88, 0, 0, 0, 0,
920 0, 0, 0, 0, 0, 0, 0, 0, 11, 0,
921 0, 0, 12, 13, 0, 0, 0, 14, 15, 35,
922 0, 0, 27, 0, 28, 0, 0, 0, 0, 16,
923 0, 17, 18, 19, 0, 21, 0, 0, 291, 0,
924 22, 23, 24, 25, 85, 86, 0, 26, 0, 29,
925 30, 31, 32, 33, 0, 0, 0, 0, 0, 0,
926 0, 115, 0, 0, 0, 12, 13, 0, 0, 35,
927 14, 15, 27, 0, 28, 0, 0, 0, 0, 0,
928 0, 0, 16, 0, 17, 18, 19, 0, 21, 0,
929 0, 0, 0, 22, 23, 24, 25, 0, 0, 0,
930 26, 0, 29, 30, 31, 32, 33, 0, 0, 0,
931 0, 0, 0, 0, 0, 35, 0, 0, 27, 0,
932 28, 0, 0, 0, 0, 0, 0, 11, 0, 0,
933 0, 12, 13, 0, 0, 0, 14, 15, 0, 0,
934 0, 0, 0, 0, 0, 0, 0, 0, 16, 0,
935 17, 18, 19, 0, 21, 0, 0, 0, 0, 22,
936 23, 24, 25, 85, 86, 0, 26, 0, 29, 30,
937 31, 32, 33, 35, 0, 0, 27, 0, 28, 0,
938 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
939 0, 0, 11, 0, 0, 0, 12, 13, 0, 0,
940 0, 14, 15, 0, 0, 0, 0, 0, 0, 0,
941 0, 0, 0, 16, 0, 17, 18, 19, 0, 21,
942 0, 0, 0, 0, 22, 23, 24, 25, 85, 86,
943 0, 26, 0, 29, 30, 31, 32, 33, 11, 0,
944 0, 0, 12, 13, 0, 0, 0, 14, 15, 0,
945 0, 0, 0, 0, 0, 0, 0, 0, 0, 16,
946 0, 17, 18, 19, 0, 21, 0, 0, 0, 0,
947 22, 23, 24, 25, 0, 0, 0, 26, 0, 29,
948 30, 31, 32, 33, 0, 0, 0, 0, 136, 0,
949 0, 0, 12, 13, 0, 0, 0, 14, 15, 0,
950 0, 0, 0, 0, 0, 0, 0, 0, 0, 16,
951 0, 17, 18, 19, 0, 21, 0, 0, 0, 0,
952 22, 23, 24, 25, 0, 0, 0, 26, 0, 29,
953 30, 31, 32, 33, 204, 0, 0, 0, 12, 13,
954 0, 0, 0, 14, 15, 0, 0, 101, 102, 0,
955 0, 0, 0, 0, 0, 16, 0, 17, 18, 19,
956 0, 21, 0, 0, 0, 0, 22, 23, 24, 25,
957 0, 0, 0, 26, 0, 29, 30, 31, 32, 33,
958 131, 0, 133, 134, 0, 0, 0, 0, 0, 0,
959 0, 0, 263, 0, 0, 0, 12, 13, 0, 0,
960 0, 14, 15, 0, 0, 0, 0, 0, 155, 156,
961 0, 0, 0, 16, 0, 17, 18, 19, 0, 21,
962 0, 0, 0, 0, 22, 23, 24, 25, 0, 0,
963 0, 26, 0, 29, 30, 31, 32, 33, 0, 0,
964 0, 0, 0, 0, 0, 0, 0, 0, 0, 67,
965 68, 0, 0, 0, 0, 72, 0, 0, 0, 0,
966 0, 0, 0, 89, 0, 0, 0, 0, 0, 0,
967 209, 0, 0, 0, 0, 0, 89, 0, 0, 0,
968 0, 217, 0, 219, 0, 220, 0, 0, 0, 0,
969 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
970 0, 0, 0, 0, 0, 0, 241, 0, 0, 0,
971 0, 0, 0, 142, 143, 144, 145, 146, 147, 0,
972 0, 258, 259, 260, 261, 262, 89, 0, 89, 0,
973 0, 0, 89, 89, 0, 0, 89, 0, 89, 89,
974 0, 0, 0, 89, 89, 0, 0, 0, 0, 0,
975 0, 0, 0, 0, 89, 0, 0, 0, 0, 89,
976 89, 89, 89, 0, 0, 0, 0, 0, 0, 286,
977 0, 0, 0, 288, 289, 290, 0, 0, 0, 295,
978 89, 0, 0, 0, 0, 0, 0, 0, 0, 0,
979 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
980 0, 0, 0, 0, 308, 309, 0, 0, 89, 0,
981 313, 0, 0, 0, 0, 0, 0, 0, 0, 89,
982 89, 0, 89, 89, 89, 89, 0, 89, 0, 89,
983 89, 0, 0, 0, 0, 0, 0, 89, 89, 0,
984 0, 0, 0, 0, 0, 0, 0, 0, 0, 89,
985 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
986 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
987 0, 0, 0, 0, 89, 0, 0, 0, 0, 0,
988 0, 0, 0, 0, 0, 0, 89, 89, 89, 89,
989 89, 0, 89, 89, 89,
990};
991short yycheck[] = { 41,
992 0, 123, 62, 123, 41, 59, 41, 59, 214, 63,
993 59, 63, 123, 63, 59, 63, 94, 59, 50, 38,
994 35, 63, 35, 291, 41, 286, 63, 41, 63, 91,
995 41, 63, 64, 301, 112, 40, 51, 37, 51, 7,
996 40, 41, 42, 43, 44, 45, 63, 47, 59, 63,
997 35, 41, 63, 41, 44, 0, 44, 41, 58, 59,
998 60, 29, 62, 63, 124, 44, 51, 35, 261, 262,
999 37, 40, 261, 60, 288, 42, 43, 40, 45, 63,
1000 47, 101, 102, 51, 63, 291, 118, 301, 302, 60,
1001 40, 16, 37, 93, 94, 301, 41, 42, 43, 44,
1002 45, 63, 47, 40, 63, 30, 31, 40, 292, 40,
1003 0, 131, 112, 58, 59, 60, 84, 62, 63, 303,
1004 304, 40, 40, 123, 124, 123, 40, 94, 44, 112,
1005 98, 41, 41, 37, 63, 41, 63, 292, 42, 171,
1006 172, 261, 262, 47, 280, 112, 41, 37, 93, 94,
1007 40, 41, 42, 43, 41, 45, 44, 47, 44, 93,
1008 292, 41, 41, 40, 40, 133, 134, 112, 58, 59,
1009 60, 40, 62, 63, 292, 290, 195, 41, 123, 124,
1010 59, 59, 272, 91, 41, 40, 93, 271, 41, 41,
1011 94, 0, 41, 93, 59, 41, -1, 51, -1, 219,
1012 -1, 211, -1, 93, 94, 265, -1, -1, 112, 41,
1013 -1, 260, 261, 262, -1, 260, 261, 262, 260, 261,
1014 262, -1, 112, 148, 256, 40, -1, 59, 43, -1,
1015 45, 63, -1, 123, 124, 289, 290, 289, 290, 289,
1016 290, 289, 290, -1, 212, 213, -1, 289, 290, 260,
1017 261, 262, 289, 290, 289, 290, -1, 257, 258, 259,
1018 260, 261, 262, 263, 264, 265, 286, -1, 268, 269,
1019 -1, -1, 289, 290, 274, 289, 290, -1, 289, 290,
1020 280, 41, 282, 283, 284, 285, 286, -1, 288, 289,
1021 290, 291, 292, 293, 294, 295, 296, -1, 298, 59,
1022 300, 301, 302, 303, 304, 289, 290, 274, 276, -1,
1023 289, 290, 257, 258, 259, 260, 261, 262, 263, 264,
1024 265, 292, -1, 268, 269, 293, -1, 289, 290, 274,
1025 289, 290, 303, 304, -1, 280, 41, 282, 283, 284,
1026 285, 286, -1, 288, 289, 290, 291, 292, 293, 294,
1027 295, 296, -1, 298, 59, 300, 301, 302, 303, 304,
1028 289, 290, 289, 290, -1, -1, -1, 257, 258, 259,
1029 260, 261, 262, 263, 264, 265, -1, -1, 268, 269,
1030 0, 260, 261, 262, 274, -1, -1, -1, -1, -1,
1031 280, -1, 282, 283, 284, 285, 286, 41, 288, 289,
1032 290, 291, 292, 293, 294, 295, 296, -1, 298, -1,
1033 300, 301, 302, 303, 304, 59, -1, 37, -1, -1,
1034 40, 41, 42, 43, 44, 45, -1, 47, 260, 261,
1035 262, -1, -1, -1, -1, 0, -1, -1, 58, 59,
1036 -1, -1, 62, 63, 259, -1, -1, 217, 263, 264,
1037 -1, -1, -1, 268, 269, -1, -1, 289, 290, -1,
1038 -1, -1, -1, -1, -1, 280, -1, 282, 283, 284,
1039 -1, 286, 37, 93, 94, 40, 41, 42, 43, 44,
1040 45, -1, 47, 298, -1, 300, 301, 302, 303, 304,
1041 0, -1, 112, 58, 59, 60, -1, 62, 63, -1,
1042 260, 261, 262, 123, 124, -1, -1, -1, -1, -1,
1043 -1, -1, -1, -1, -1, -1, -1, -1, 288, 289,
1044 290, -1, -1, -1, -1, -1, -1, 37, 93, 94,
1045 40, 41, 42, 43, 44, 45, -1, 47, 308, 309,
1046 -1, -1, -1, 313, -1, -1, -1, 41, 58, 59,
1047 60, -1, 62, 63, -1, 260, 261, 262, 123, 124,
1048 -1, -1, -1, 0, -1, 59, -1, -1, -1, 63,
1049 -1, -1, -1, -1, -1, -1, -1, -1, 41, -1,
1050 -1, -1, -1, 93, 94, -1, -1, -1, -1, -1,
1051 -1, -1, -1, 41, -1, -1, 59, -1, -1, 62,
1052 37, -1, 112, 40, 41, 42, 43, 44, 45, -1,
1053 47, 59, -1, 123, 124, 63, 260, 261, 262, -1,
1054 -1, 58, 59, 60, -1, 62, 63, -1, -1, -1,
1055 -1, -1, -1, -1, -1, -1, -1, 257, 258, 259,
1056 260, 261, 262, 263, 264, 265, -1, -1, 268, 269,
1057 -1, -1, -1, -1, 274, -1, 93, -1, -1, -1,
1058 280, 124, 282, 283, 284, 285, 286, -1, 288, 289,
1059 290, 291, 292, 293, 294, 295, 296, -1, 298, -1,
1060 300, 301, 302, 303, 304, -1, 123, 124, -1, -1,
1061 -1, -1, 257, 258, 259, 260, 261, 262, 263, 264,
1062 265, -1, -1, 268, 269, -1, -1, -1, -1, 274,
1063 -1, -1, -1, -1, -1, 280, -1, 282, 283, 284,
1064 285, 286, -1, 288, 289, 290, 291, 292, 293, 294,
1065 295, 296, -1, 298, -1, 300, 301, 302, 303, 304,
1066 -1, -1, -1, -1, -1, -1, -1, 257, 258, 259,
1067 260, 261, 262, 263, 264, 265, -1, -1, 268, 269,
1068 -1, -1, -1, -1, 274, -1, 260, 261, 262, -1,
1069 280, -1, 282, 283, 284, 285, 286, -1, 288, 289,
1070 -1, 291, 292, 293, 294, 295, 296, -1, 298, -1,
1071 300, 301, 302, 303, 304, 289, 290, 260, 261, 262,
1072 -1, -1, 265, -1, -1, -1, -1, -1, -1, -1,
1073 -1, -1, 260, 261, 262, -1, -1, -1, -1, -1,
1074 257, 258, 259, 260, 261, 262, 263, 264, 265, -1,
1075 -1, 268, 269, 0, -1, -1, -1, 274, -1, -1,
1076 -1, 289, 290, 280, -1, 282, 283, 284, 285, 286,
1077 -1, 288, 289, 290, 291, 292, 293, 294, 295, 296,
1078 -1, 298, -1, 300, 301, 302, 303, 304, -1, -1,
1079 37, -1, -1, 40, 41, 42, 43, 44, 45, -1,
1080 47, -1, -1, -1, -1, -1, -1, 0, -1, -1,
1081 -1, 58, 59, 60, -1, 62, 63, -1, -1, -1,
1082 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1083 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1084 -1, -1, -1, -1, 37, -1, 93, 40, 41, 42,
1085 43, 44, 45, -1, 47, -1, -1, -1, -1, -1,
1086 -1, 0, -1, -1, -1, 58, 59, 60, -1, 62,
1087 63, -1, -1, -1, -1, -1, 123, 124, -1, -1,
1088 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1089 -1, -1, -1, -1, -1, -1, -1, -1, 37, -1,
1090 93, 40, 41, 42, 43, 44, 45, -1, 47, -1,
1091 -1, -1, -1, -1, -1, -1, -1, -1, -1, 58,
1092 59, 60, -1, 62, 63, -1, -1, -1, -1, -1,
1093 123, 124, -1, -1, -1, 0, -1, -1, -1, -1,
1094 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1095 -1, -1, -1, -1, 93, -1, -1, -1, -1, -1,
1096 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1097 -1, -1, 37, -1, -1, 40, 41, 42, 43, 44,
1098 45, -1, 47, -1, 123, 124, -1, -1, -1, -1,
1099 -1, -1, -1, 58, 59, 60, -1, 62, 63, -1,
1100 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1101 257, 258, 259, 260, 261, 262, 263, 264, 265, -1,
1102 -1, 268, 269, -1, -1, -1, -1, 274, 93, -1,
1103 -1, -1, -1, 280, -1, 282, 283, 284, 285, 286,
1104 -1, 288, 289, 290, 291, 292, 293, 294, 295, 296,
1105 -1, 298, -1, 300, 301, 302, 303, 304, 123, 124,
1106 -1, -1, -1, -1, 257, 258, 259, 260, 261, 262,
1107 263, 264, 265, -1, -1, 268, 269, -1, -1, -1,
1108 -1, 274, -1, -1, -1, -1, -1, 280, -1, 282,
1109 283, 284, 285, 286, -1, 288, 289, 290, 291, 292,
1110 293, 294, 295, 296, -1, 298, -1, 300, 301, 302,
1111 303, 304, -1, -1, -1, -1, -1, -1, 257, 258,
1112 259, 260, 261, 262, 263, 264, 265, -1, -1, 268,
1113 269, -1, -1, -1, -1, 274, -1, -1, -1, -1,
1114 -1, 280, -1, 282, 283, 284, 285, 286, -1, 288,
1115 289, 290, 291, 292, 293, 294, 295, 296, -1, 298,
1116 -1, 300, 301, 302, 303, 304, -1, -1, -1, -1,
1117 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1118 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1119 -1, -1, 257, 258, 259, 260, 261, 262, 263, 264,
1120 265, -1, -1, 268, 269, 0, -1, -1, -1, 274,
1121 -1, -1, -1, -1, -1, 280, -1, 282, 283, 284,
1122 285, 286, -1, 288, 289, 290, 291, 292, 293, 294,
1123 295, 296, -1, 298, -1, 300, 301, 302, 303, 304,
1124 -1, -1, 37, -1, -1, 40, 41, 42, 43, 44,
1125 45, -1, 47, -1, -1, -1, -1, -1, -1, 0,
1126 -1, -1, -1, 58, 59, 60, -1, 62, 63, -1,
1127 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1128 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1129 -1, -1, -1, -1, -1, -1, 37, -1, 93, 40,
1130 41, 42, 43, 44, 45, -1, 47, -1, -1, -1,
1131 -1, -1, -1, -1, 0, -1, -1, 58, 59, 60,
1132 -1, 62, 63, -1, -1, -1, -1, -1, 123, 124,
1133 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1134 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1135 -1, 37, 93, 94, 40, 41, 42, 43, 44, 45,
1136 -1, 47, -1, -1, -1, -1, -1, -1, -1, -1,
1137 -1, 112, 58, 59, 60, -1, 62, -1, -1, -1,
1138 -1, -1, 123, 124, -1, -1, -1, 0, -1, -1,
1139 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1140 -1, -1, -1, -1, -1, -1, -1, 93, 94, -1,
1141 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1142 -1, -1, -1, -1, -1, -1, 112, 40, 41, -1,
1143 43, 44, 45, -1, -1, -1, -1, 123, 124, -1,
1144 -1, -1, -1, -1, -1, 58, 59, 60, -1, 62,
1145 63, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1146 -1, -1, 257, 258, 259, 260, 261, 262, 263, 264,
1147 265, -1, -1, 268, 269, -1, -1, -1, -1, 274,
1148 93, -1, -1, -1, -1, 280, -1, 282, 283, 284,
1149 285, 286, -1, 288, 289, 290, 291, 292, 293, 294,
1150 295, 296, -1, 298, -1, 300, 301, 302, 303, 304,
1151 123, 124, -1, -1, -1, -1, 257, 258, 259, 260,
1152 261, 262, 263, 264, 265, -1, -1, 268, 269, -1,
1153 -1, -1, -1, 274, -1, -1, -1, -1, -1, 280,
1154 -1, 282, 283, 284, 285, 286, -1, -1, 289, 290,
1155 291, 292, 293, 294, 295, 296, -1, 298, -1, 300,
1156 -1, -1, 303, 304, -1, -1, -1, -1, -1, -1,
1157 -1, 257, 258, 259, 260, 261, 262, 263, 264, 265,
1158 -1, -1, 268, 269, -1, -1, -1, -1, 274, -1,
1159 -1, -1, -1, -1, 280, 0, 282, 283, 284, 285,
1160 286, -1, 288, -1, -1, 291, 292, 293, 294, 295,
1161 296, -1, 298, -1, 300, 301, 302, 303, 304, -1,
1162 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1163 -1, -1, -1, -1, -1, 40, -1, -1, 43, -1,
1164 45, -1, -1, -1, 257, 258, 259, 260, 261, 262,
1165 263, 264, 265, 0, 59, 268, 269, -1, -1, -1,
1166 -1, 274, -1, -1, -1, -1, -1, 280, -1, 282,
1167 283, 284, 285, 286, -1, 288, 289, 290, 291, 292,
1168 293, 294, 295, 296, -1, 298, -1, 300, 301, 302,
1169 303, 304, -1, 40, 41, -1, 43, 44, 45, -1,
1170 -1, 0, -1, -1, -1, -1, -1, -1, -1, -1,
1171 -1, 58, 59, 60, -1, 62, 63, -1, 123, -1,
1172 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1173 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1174 -1, 40, 41, -1, -1, 44, 93, -1, -1, 0,
1175 -1, -1, -1, -1, -1, -1, -1, -1, -1, 58,
1176 59, 60, -1, 62, 63, -1, -1, -1, -1, -1,
1177 -1, -1, -1, -1, -1, -1, 123, 124, -1, -1,
1178 -1, -1, -1, -1, -1, -1, -1, -1, -1, 40,
1179 41, -1, -1, 44, 93, -1, -1, -1, -1, -1,
1180 -1, 0, -1, -1, -1, -1, -1, 58, 59, 60,
1181 -1, 62, 63, -1, -1, -1, -1, -1, -1, -1,
1182 -1, -1, -1, -1, 123, 124, -1, -1, -1, -1,
1183 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1184 -1, 40, 93, -1, 43, -1, 45, -1, -1, -1,
1185 -1, -1, 257, 258, 259, 260, 261, 262, 263, 264,
1186 59, -1, -1, 268, 269, -1, -1, -1, -1, -1,
1187 -1, -1, 123, 124, -1, 280, -1, 282, 283, 284,
1188 285, 286, -1, -1, -1, -1, 291, 292, 293, 294,
1189 -1, -1, -1, 298, -1, 300, 301, 302, 303, 304,
1190 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1191 257, 258, 259, 260, 261, 262, 263, 264, 265, -1,
1192 -1, 268, 269, 40, 123, -1, 43, 274, 45, -1,
1193 -1, -1, -1, 280, 0, 282, 283, 284, 285, 286,
1194 -1, 288, 289, 290, 291, 292, 293, 294, 295, 296,
1195 -1, 298, -1, 300, 301, 302, 303, 304, 257, 258,
1196 259, 260, 261, 262, 263, 264, 265, -1, -1, 268,
1197 269, -1, -1, -1, 40, -1, -1, 43, -1, 45,
1198 -1, 280, -1, 282, 283, 284, 285, 286, -1, 288,
1199 289, 290, 291, 292, 293, 294, 295, 296, -1, 298,
1200 -1, 300, 301, 302, 303, 304, 257, 258, 259, 260,
1201 261, 262, 263, 264, 265, -1, -1, 268, 269, -1,
1202 40, 41, -1, 43, -1, 45, -1, -1, -1, 280,
1203 -1, 282, 283, 284, 285, 286, -1, 288, 289, 290,
1204 291, 292, 293, 294, 295, 296, -1, 298, -1, 300,
1205 301, 302, 303, 304, -1, -1, -1, 123, 257, 258,
1206 259, 260, 261, 262, 263, 264, 0, -1, -1, 268,
1207 269, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1208 -1, 280, -1, 282, 283, 284, 285, 286, -1, -1,
1209 -1, -1, 291, 292, 293, 294, -1, -1, -1, 298,
1210 -1, 300, 301, 302, 303, 304, 40, -1, -1, 43,
1211 -1, 45, -1, -1, 0, -1, -1, -1, -1, -1,
1212 -1, -1, -1, -1, -1, 59, -1, -1, -1, -1,
1213 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1214 -1, -1, 259, -1, 261, 262, 263, 264, -1, -1,
1215 -1, 268, 269, -1, 40, -1, -1, 43, -1, 45,
1216 -1, -1, -1, 280, 0, 282, 283, 284, -1, 286,
1217 -1, -1, -1, 59, 291, 292, 293, 294, -1, -1,
1218 -1, 298, -1, 300, 301, 302, 303, 304, -1, 123,
1219 -1, 257, 258, 259, -1, -1, -1, 263, 264, -1,
1220 -1, -1, 268, 269, 40, -1, -1, 43, -1, 45,
1221 -1, -1, -1, 0, 280, -1, 282, 283, 284, 285,
1222 286, -1, -1, -1, -1, 291, 292, 293, 294, -1,
1223 -1, -1, 298, -1, 300, 301, 302, 303, 304, 259,
1224 -1, -1, -1, 263, 264, -1, -1, -1, 268, 269,
1225 -1, -1, -1, 40, -1, -1, 43, -1, 45, -1,
1226 280, -1, 282, 283, 284, -1, 286, -1, -1, -1,
1227 -1, 291, 292, 293, 294, -1, -1, -1, 298, -1,
1228 300, 301, 302, 303, 304, -1, -1, 123, -1, -1,
1229 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1230 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1231 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1232 -1, -1, -1, 257, 258, 259, 260, -1, 262, 263,
1233 264, -1, -1, -1, 268, 269, 123, -1, -1, -1,
1234 -1, -1, -1, -1, -1, -1, 280, -1, 282, 283,
1235 284, 285, 286, -1, -1, -1, -1, 291, 292, 293,
1236 294, -1, -1, -1, 298, -1, 300, 301, 302, 303,
1237 304, 257, 258, 259, 260, 261, 262, 263, 264, -1,
1238 -1, -1, 268, 269, -1, -1, -1, -1, -1, -1,
1239 -1, -1, -1, -1, 280, -1, 282, 283, 284, 285,
1240 286, -1, -1, -1, -1, 291, 292, 293, 294, -1,
1241 -1, -1, 298, -1, 300, 301, 302, 303, 304, -1,
1242 -1, 257, 258, 259, -1, -1, -1, 263, 264, -1,
1243 -1, -1, 268, 269, -1, -1, -1, -1, -1, -1,
1244 -1, -1, -1, -1, 280, -1, 282, 283, 284, 285,
1245 286, -1, -1, -1, -1, 291, 292, 293, 294, -1,
1246 -1, -1, 298, -1, 300, 301, 302, 303, 304, -1,
1247 257, 258, 259, -1, -1, -1, 263, 264, -1, -1,
1248 -1, 268, 269, 0, -1, -1, -1, -1, -1, -1,
1249 -1, -1, -1, 280, -1, 282, 283, 284, 285, 286,
1250 -1, -1, -1, -1, 291, 292, 293, 294, -1, -1,
1251 -1, 298, -1, 300, 301, 302, 303, 304, -1, -1,
1252 37, -1, -1, 40, 41, 42, 43, 44, 45, -1,
1253 47, -1, -1, -1, -1, -1, -1, -1, 0, -1,
1254 -1, 58, 59, 60, -1, 62, 63, -1, -1, -1,
1255 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1256 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1257 -1, -1, -1, -1, -1, 37, 93, 94, 40, 41,
1258 42, 43, 44, 45, -1, 47, -1, -1, -1, -1,
1259 -1, -1, -1, -1, -1, 112, 58, 59, -1, -1,
1260 62, 63, -1, -1, -1, -1, 123, 124, -1, -1,
1261 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1262 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1263 -1, 93, 94, -1, -1, -1, -1, 0, -1, -1,
1264 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1265 112, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1266 -1, 123, 124, -1, -1, -1, -1, -1, -1, -1,
1267 -1, -1, -1, -1, 37, -1, -1, -1, 41, 42,
1268 -1, 44, -1, -1, 47, -1, -1, -1, -1, -1,
1269 -1, -1, -1, -1, -1, 58, 59, 60, -1, 62,
1270 63, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1271 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1272 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1273 93, 94, -1, -1, -1, -1, -1, -1, -1, -1,
1274 257, 258, 259, 260, 261, 262, 263, 264, 265, 112,
1275 -1, 268, 269, -1, -1, -1, -1, 274, -1, -1,
1276 123, 124, -1, 280, -1, 282, 283, 284, 285, 286,
1277 -1, 288, 289, 290, 291, -1, 293, 294, 295, 296,
1278 -1, 298, -1, 300, 301, 302, -1, -1, -1, -1,
1279 -1, -1, -1, -1, -1, 257, 258, 259, 260, 261,
1280 262, 263, 264, 265, -1, -1, 268, 269, 14, -1,
1281 -1, -1, 274, -1, -1, -1, -1, -1, 280, -1,
1282 282, 283, 284, 285, 286, -1, 288, 289, 290, 291,
1283 -1, 293, 294, 295, 296, -1, 298, -1, 300, 301,
1284 302, -1, -1, 49, 50, 51, -1, -1, -1, -1,
1285 56, 57, -1, 59, 60, 61, -1, 63, 64, 65,
1286 66, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1287 -1, -1, -1, -1, -1, 81, -1, -1, -1, 85,
1288 86, 87, 88, -1, -1, -1, -1, -1, -1, -1,
1289 -1, -1, -1, -1, 257, 258, -1, 260, 261, 262,
1290 -1, -1, 265, -1, -1, -1, 112, -1, -1, -1,
1291 -1, 274, 118, -1, -1, -1, -1, -1, -1, 125,
1292 -1, -1, 285, -1, -1, 288, 289, 290, 291, 292,
1293 293, 294, 295, 296, -1, -1, -1, -1, -1, -1,
1294 -1, -1, -1, -1, 150, 151, -1, -1, -1, 155,
1295 156, -1, -1, 159, 160, 161, 162, 163, -1, -1,
1296 -1, -1, 168, 169, -1, 171, 172, -1, -1, -1,
1297 176, -1, -1, -1, 180, -1, 0, -1, -1, -1,
1298 -1, -1, -1, -1, 190, 191, -1, -1, -1, -1,
1299 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1300 -1, -1, -1, -1, -1, -1, -1, -1, 214, -1,
1301 -1, 217, -1, 37, -1, -1, 0, 41, 42, -1,
1302 44, -1, -1, 47, 230, -1, 232, -1, 234, -1,
1303 236, -1, 238, -1, 58, 59, 60, 243, 62, 63,
1304 -1, -1, 248, 249, -1, -1, -1, -1, -1, -1,
1305 256, 257, -1, 37, -1, -1, -1, 41, 42, -1,
1306 44, -1, -1, 47, 0, -1, -1, -1, -1, 93,
1307 94, -1, -1, -1, 58, 59, 60, -1, 62, 63,
1308 -1, -1, 288, 289, 290, 291, -1, -1, 112, -1,
1309 296, -1, -1, -1, -1, 301, -1, -1, -1, 123,
1310 124, 37, 308, 309, 0, 41, 42, 313, 44, 93,
1311 94, 47, -1, -1, -1, -1, -1, -1, -1, -1,
1312 -1, -1, 58, 59, 60, -1, 62, 63, 112, -1,
1313 -1, -1, -1, -1, -1, -1, -1, -1, -1, 123,
1314 124, 37, -1, -1, -1, 41, 42, -1, 44, -1,
1315 -1, 47, -1, -1, -1, -1, -1, 93, 94, -1,
1316 -1, -1, 58, 59, 60, -1, 62, 63, -1, -1,
1317 -1, -1, -1, -1, -1, -1, 112, -1, -1, -1,
1318 -1, -1, -1, -1, -1, -1, -1, 123, 124, 40,
1319 -1, -1, 43, -1, 45, -1, -1, 93, 94, -1,
1320 -1, -1, -1, -1, -1, -1, -1, -1, -1, 60,
1321 -1, 62, -1, -1, -1, -1, 112, -1, -1, -1,
1322 -1, -1, -1, -1, -1, -1, -1, 123, 124, -1,
1323 -1, -1, -1, 257, 258, -1, 260, 261, 262, -1,
1324 -1, 265, -1, -1, -1, -1, -1, -1, -1, -1,
1325 274, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1326 -1, 285, -1, -1, 288, 289, 290, 291, 292, 293,
1327 294, 295, 296, 257, 258, -1, 260, 261, 262, -1,
1328 -1, 265, -1, -1, -1, -1, -1, -1, -1, -1,
1329 274, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1330 -1, 285, -1, -1, 288, 289, 290, 291, 292, 293,
1331 294, 295, 296, -1, -1, -1, -1, -1, -1, -1,
1332 -1, 257, 258, -1, 260, 261, 262, -1, -1, 265,
1333 -1, -1, -1, -1, -1, -1, -1, -1, 274, -1,
1334 -1, -1, -1, 0, -1, -1, -1, -1, -1, 285,
1335 -1, -1, 288, 289, 290, 291, 292, 293, 294, 295,
1336 296, 257, 258, -1, 260, 261, 262, -1, -1, 265,
1337 -1, -1, -1, -1, -1, -1, -1, -1, 274, -1,
1338 37, -1, -1, 0, 41, 42, -1, 44, -1, 285,
1339 47, -1, 288, 289, 290, 291, 292, 293, 294, 295,
1340 296, 58, 59, 60, -1, 62, 63, -1, 259, -1,
1341 -1, -1, 263, 264, -1, -1, -1, 268, 269, -1,
1342 37, -1, -1, -1, 41, 42, -1, 44, 0, 280,
1343 47, 282, 283, 284, -1, 286, 93, 94, -1, -1,
1344 -1, 58, 59, -1, -1, 296, 63, 298, -1, 300,
1345 301, 302, 303, 304, -1, 112, -1, -1, -1, -1,
1346 -1, -1, -1, -1, -1, 37, 123, 124, 0, 41,
1347 42, -1, 44, -1, -1, 47, 93, 94, -1, -1,
1348 -1, -1, -1, -1, -1, -1, 58, 59, -1, -1,
1349 -1, 63, -1, -1, -1, 112, -1, -1, -1, -1,
1350 -1, -1, -1, -1, -1, 37, 123, 124, -1, 41,
1351 42, -1, 44, 0, -1, 47, -1, -1, -1, -1,
1352 -1, 93, 94, -1, -1, -1, 58, 59, -1, -1,
1353 -1, 63, -1, -1, -1, -1, -1, -1, -1, -1,
1354 112, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1355 37, 123, 124, -1, 41, 42, -1, 44, -1, -1,
1356 47, 93, 94, -1, -1, -1, -1, -1, -1, -1,
1357 -1, 58, 59, -1, -1, -1, 63, -1, -1, -1,
1358 112, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1359 -1, 123, 124, -1, 40, 41, -1, 43, 44, 45,
1360 257, 258, -1, 260, 261, 262, 93, 94, 265, -1,
1361 -1, -1, -1, -1, 60, -1, 62, 274, -1, -1,
1362 -1, -1, -1, -1, -1, 112, -1, -1, 285, -1,
1363 -1, 288, 289, 290, -1, -1, 123, 124, 295, 296,
1364 257, 258, -1, 260, 261, 262, -1, -1, 265, -1,
1365 -1, -1, -1, -1, -1, -1, -1, 274, -1, -1,
1366 40, -1, -1, 43, -1, 45, -1, -1, 285, -1,
1367 -1, 288, 289, 290, 291, 292, 293, 294, 295, 59,
1368 -1, -1, -1, -1, -1, 257, 258, -1, 260, 261,
1369 262, -1, -1, 265, -1, -1, -1, -1, -1, -1,
1370 -1, -1, 274, 0, -1, -1, -1, -1, -1, -1,
1371 -1, -1, -1, 285, -1, -1, 288, 289, 290, -1,
1372 -1, -1, -1, -1, -1, 257, 258, -1, 260, 261,
1373 262, -1, -1, 265, -1, -1, -1, -1, -1, -1,
1374 37, -1, 274, 123, 41, 42, -1, 44, 0, -1,
1375 47, -1, -1, 285, -1, -1, 288, 289, 290, -1,
1376 -1, 58, 59, -1, -1, -1, 63, -1, -1, -1,
1377 257, 258, -1, 260, 261, 262, -1, -1, 265, -1,
1378 -1, -1, -1, -1, -1, 37, -1, 274, -1, 41,
1379 42, -1, -1, -1, -1, 47, 93, 94, 285, -1,
1380 -1, 288, 289, 290, -1, -1, 58, 59, -1, -1,
1381 -1, 63, -1, 259, -1, 112, -1, 263, 264, -1,
1382 -1, -1, 268, 269, -1, 40, 123, 124, 43, -1,
1383 45, -1, -1, -1, 280, -1, 282, 283, 284, -1,
1384 286, 93, 94, -1, 59, 291, 292, 293, 294, 295,
1385 296, -1, 298, -1, 300, 301, 302, 303, 304, -1,
1386 112, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1387 -1, 123, 124, -1, -1, -1, -1, -1, -1, 259,
1388 260, 261, 262, 263, 264, -1, 266, 267, 268, 269,
1389 270, -1, 272, 273, -1, 275, 276, 277, 278, 279,
1390 280, 281, 282, 283, 284, -1, 286, 287, 123, -1,
1391 125, 291, 292, 293, 294, -1, -1, -1, 298, -1,
1392 300, 301, 302, 303, 304, -1, -1, -1, -1, 40,
1393 -1, -1, 43, -1, 45, -1, -1, -1, -1, -1,
1394 -1, -1, -1, -1, -1, -1, -1, -1, 59, -1,
1395 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1396 257, 258, -1, 260, 261, 262, -1, -1, 265, -1,
1397 -1, -1, -1, -1, -1, -1, -1, 274, -1, -1,
1398 -1, -1, -1, -1, -1, -1, -1, -1, 285, -1,
1399 -1, 288, 289, 290, -1, -1, -1, 40, -1, -1,
1400 43, -1, 45, -1, -1, 257, 258, -1, 260, 261,
1401 262, -1, 123, 265, 125, -1, 59, -1, -1, -1,
1402 -1, -1, 274, -1, -1, -1, -1, -1, -1, -1,
1403 -1, -1, -1, 285, -1, -1, 288, 289, 290, -1,
1404 -1, -1, -1, -1, 259, 260, -1, -1, 263, 264,
1405 -1, 266, 267, 268, 269, 270, 271, 272, 273, -1,
1406 275, 276, 277, 278, 279, 280, 281, 282, 283, 284,
1407 -1, 286, 287, -1, -1, -1, 291, 292, 293, 294,
1408 123, -1, 125, 298, -1, 300, 301, 302, 303, 304,
1409 -1, -1, -1, -1, 40, -1, -1, 43, -1, 45,
1410 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1411 -1, -1, -1, 59, -1, -1, -1, -1, -1, -1,
1412 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1413 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1414 -1, -1, 40, -1, -1, 43, -1, 45, 259, 260,
1415 -1, -1, 263, 264, -1, 266, 267, 268, 269, 270,
1416 271, 272, 273, -1, 275, 276, 277, 278, 279, 280,
1417 281, 282, 283, 284, -1, 286, 287, 123, -1, 125,
1418 291, 292, 293, 294, -1, -1, -1, 298, -1, 300,
1419 301, 302, 303, 304, 40, -1, -1, 43, -1, 45,
1420 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1421 -1, -1, -1, 59, -1, -1, 259, 260, -1, -1,
1422 263, 264, -1, 266, 267, 268, 269, 270, 271, 272,
1423 273, -1, 275, 276, 277, 278, 279, 280, 281, 282,
1424 283, 284, -1, 286, 287, -1, -1, -1, 291, 292,
1425 293, 294, -1, -1, -1, 298, -1, 300, 301, 302,
1426 303, 304, -1, -1, -1, -1, 40, -1, -1, 43,
1427 -1, 45, -1, -1, -1, -1, -1, 123, -1, 125,
1428 -1, -1, -1, -1, -1, 59, -1, -1, -1, -1,
1429 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1430 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1431 -1, -1, -1, 259, 260, -1, -1, 263, 264, -1,
1432 266, 267, 268, 269, 270, 271, 272, 273, -1, 275,
1433 276, 277, 278, 279, 280, 281, 282, 283, 284, -1,
1434 286, 287, -1, -1, -1, 291, 292, 293, 294, 123,
1435 -1, 125, 298, -1, 300, 301, 302, 303, 304, 40,
1436 -1, 259, 43, -1, 45, 263, 264, -1, -1, -1,
1437 268, 269, -1, -1, -1, -1, -1, -1, 59, -1,
1438 -1, -1, 280, -1, 282, 283, 284, -1, 286, -1,
1439 -1, -1, -1, 291, 292, 293, 294, -1, -1, -1,
1440 298, -1, 300, 301, 302, 303, 304, 40, -1, -1,
1441 43, -1, 45, 259, 260, -1, -1, 263, 264, -1,
1442 266, 267, 268, 269, 270, 271, 272, 273, -1, 275,
1443 276, 277, 278, 279, 280, 281, 282, 283, 284, -1,
1444 286, 287, 123, -1, 125, 291, 292, 293, 294, -1,
1445 -1, -1, 298, -1, 300, 301, 302, 303, 304, 40,
1446 -1, -1, 43, -1, 45, -1, -1, -1, -1, -1,
1447 -1, -1, -1, -1, -1, -1, -1, -1, 59, -1,
1448 -1, -1, -1, -1, -1, 259, 260, -1, -1, 263,
1449 264, -1, 266, 267, 268, 269, 270, 271, 272, 273,
1450 -1, 275, 276, 277, 278, 279, 280, 281, 282, 283,
1451 284, -1, 286, 287, -1, -1, -1, 291, 292, 293,
1452 294, -1, -1, -1, 298, -1, 300, 301, 302, 303,
1453 304, 40, -1, -1, 43, -1, 45, -1, -1, -1,
1454 -1, -1, 123, -1, 125, -1, -1, -1, -1, -1,
1455 59, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1456 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1457 -1, -1, -1, -1, -1, -1, -1, -1, 259, 260,
1458 -1, -1, 263, 264, -1, 266, 267, 268, 269, 270,
1459 271, 272, 273, -1, 275, 276, 277, 278, 279, 280,
1460 281, 282, 283, 284, -1, 286, 287, -1, -1, -1,
1461 291, 292, 293, 294, 123, -1, 125, 298, -1, 300,
1462 301, 302, 303, 304, 40, -1, 259, 43, -1, 45,
1463 263, 264, -1, -1, -1, 268, 269, -1, -1, -1,
1464 -1, -1, -1, 59, -1, -1, -1, 280, -1, 282,
1465 283, 284, -1, 286, -1, -1, -1, -1, 291, 292,
1466 293, 294, -1, -1, -1, 298, -1, 300, 301, 302,
1467 303, 304, 40, -1, -1, 43, -1, 45, 259, 260,
1468 -1, -1, 263, 264, -1, 266, 267, 268, 269, 270,
1469 271, 272, 273, -1, 275, 276, 277, 278, 279, 280,
1470 281, 282, 283, 284, -1, 286, 287, 123, -1, 125,
1471 291, 292, 293, 294, -1, -1, -1, 298, -1, 300,
1472 301, 302, 303, 304, 40, -1, -1, 43, -1, 45,
1473 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1474 -1, -1, -1, 59, -1, -1, -1, -1, -1, -1,
1475 259, 260, -1, -1, 263, 264, -1, 266, 267, 268,
1476 269, 270, -1, 272, 273, -1, 275, 276, 277, 278,
1477 279, 280, 281, 282, 283, 284, -1, 286, 287, -1,
1478 -1, -1, 291, 292, 293, 294, -1, -1, -1, 298,
1479 -1, 300, 301, 302, 303, 304, 40, -1, -1, 43,
1480 -1, 45, -1, -1, -1, -1, -1, 123, -1, 125,
1481 -1, -1, -1, -1, -1, 59, -1, -1, -1, -1,
1482 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1483 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1484 -1, -1, -1, 259, 260, -1, -1, 263, 264, -1,
1485 266, 267, 268, 269, 270, -1, 272, 273, -1, 275,
1486 276, 277, 278, 279, 280, 281, 282, 283, 284, -1,
1487 286, 287, -1, -1, -1, 291, 292, 293, 294, 123,
1488 -1, 125, 298, -1, 300, 301, 302, 303, 304, 40,
1489 -1, 259, 43, -1, 45, 263, 264, -1, -1, -1,
1490 268, 269, -1, -1, -1, -1, -1, -1, 59, -1,
1491 -1, -1, 280, -1, 282, 283, 284, -1, 286, -1,
1492 -1, -1, -1, 291, 292, 293, 294, -1, -1, -1,
1493 298, -1, 300, 301, 302, 303, 304, -1, -1, -1,
1494 -1, -1, -1, 259, 260, -1, -1, 263, 264, -1,
1495 266, 267, 268, 269, 270, -1, 272, 273, -1, 275,
1496 276, 277, 278, 279, 280, 281, 282, 283, 284, -1,
1497 286, 287, 123, -1, 125, 291, 292, 293, 294, -1,
1498 -1, -1, 298, -1, 300, 301, 302, 303, 304, 40,
1499 -1, -1, 43, -1, 45, -1, -1, -1, -1, -1,
1500 -1, -1, -1, -1, -1, -1, -1, -1, 59, -1,
1501 -1, -1, -1, -1, -1, 259, 260, -1, -1, 263,
1502 264, -1, 266, 267, 268, 269, 270, -1, 272, 273,
1503 -1, 275, 276, 277, 278, 279, 280, 281, 282, 283,
1504 284, -1, 286, 287, -1, -1, -1, 291, 292, 293,
1505 294, -1, -1, -1, 298, -1, 300, 301, 302, 303,
1506 304, 40, -1, -1, 43, -1, 45, -1, -1, -1,
1507 -1, -1, 123, -1, 125, -1, -1, -1, -1, -1,
1508 59, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1509 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1510 -1, -1, -1, -1, -1, -1, -1, -1, 259, 260,
1511 -1, -1, 263, 264, -1, 266, 267, 268, 269, 270,
1512 -1, 272, 273, -1, 275, 276, 277, 278, 279, 280,
1513 281, 282, 283, 284, -1, 286, 287, -1, -1, -1,
1514 291, 292, 293, 294, 123, -1, 125, 298, -1, 300,
1515 301, 302, 303, 304, 40, -1, -1, 43, -1, 45,
1516 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1517 -1, -1, -1, 59, -1, -1, -1, -1, -1, -1,
1518 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1519 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1520 40, -1, -1, 43, -1, 45, -1, -1, 259, 260,
1521 -1, -1, 263, 264, -1, 266, 267, 268, 269, 270,
1522 -1, 272, 273, -1, 275, 276, 277, 278, 279, 280,
1523 281, 282, 283, 284, -1, 286, 287, 123, -1, 125,
1524 291, 292, 293, 294, -1, -1, -1, 298, -1, 300,
1525 301, 302, 303, 304, 40, 41, -1, 43, 44, 45,
1526 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1527 -1, -1, -1, -1, 60, -1, 62, -1, -1, -1,
1528 259, 260, -1, -1, 263, 264, -1, 266, 267, 268,
1529 269, 270, -1, 272, 273, -1, 275, 276, 277, 278,
1530 279, 280, 281, 282, 283, 284, -1, 286, 287, -1,
1531 -1, -1, 291, 292, 293, 294, -1, -1, -1, 298,
1532 -1, 300, 301, 302, 303, 304, 40, 41, -1, 43,
1533 44, 45, -1, -1, -1, -1, -1, -1, -1, -1,
1534 -1, -1, -1, -1, -1, -1, 60, -1, 62, -1,
1535 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1536 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1537 -1, -1, -1, 259, 260, -1, -1, 263, 264, -1,
1538 266, 267, 268, 269, 270, -1, 272, 273, -1, 275,
1539 276, 277, 278, 279, 280, 281, 282, 283, 284, -1,
1540 286, 287, -1, -1, -1, 291, 292, 293, 294, -1,
1541 -1, -1, 298, -1, 300, 301, 302, 303, 304, 259,
1542 -1, -1, -1, 263, 264, -1, 266, 267, 268, 269,
1543 -1, -1, -1, -1, -1, 275, 276, 277, 278, 279,
1544 280, -1, 282, 283, 284, -1, 286, 287, -1, -1,
1545 -1, 291, 292, 293, 294, -1, -1, -1, 298, -1,
1546 300, 301, 302, 303, 304, 40, 41, -1, 43, 44,
1547 45, -1, -1, 259, -1, -1, -1, 263, 264, -1,
1548 -1, -1, 268, 269, -1, 60, -1, 62, -1, -1,
1549 -1, -1, -1, -1, 280, -1, 282, 283, 284, -1,
1550 286, -1, -1, -1, -1, 291, 292, 293, 294, 295,
1551 296, -1, 298, -1, 300, 301, 302, 303, 304, 40,
1552 41, -1, 43, 44, 45, -1, -1, -1, -1, -1,
1553 -1, -1, -1, -1, -1, -1, -1, -1, -1, 60,
1554 -1, 62, -1, -1, -1, 259, -1, -1, -1, 263,
1555 264, -1, -1, -1, 268, 269, -1, -1, -1, -1,
1556 -1, -1, -1, -1, -1, -1, 280, -1, 282, 283,
1557 284, 40, 286, -1, 43, 44, 45, 291, 292, 293,
1558 294, 295, 296, -1, 298, -1, 300, 301, 302, 303,
1559 304, 60, -1, 62, -1, -1, -1, -1, -1, -1,
1560 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1561 -1, -1, -1, -1, -1, -1, -1, 40, 41, -1,
1562 43, -1, 45, -1, -1, -1, -1, -1, -1, -1,
1563 -1, -1, -1, -1, -1, -1, -1, 60, -1, 62,
1564 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1565 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1566 -1, -1, -1, 40, -1, -1, 43, 44, 45, -1,
1567 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1568 -1, -1, -1, 60, 259, 62, -1, -1, 263, 264,
1569 -1, -1, -1, 268, 269, -1, -1, -1, -1, -1,
1570 -1, -1, -1, -1, -1, 280, -1, 282, 283, 284,
1571 40, 286, -1, 43, 44, 45, 291, 292, 293, 294,
1572 295, 296, -1, 298, -1, 300, 301, 302, 303, 304,
1573 60, -1, 62, -1, -1, -1, -1, -1, 259, -1,
1574 -1, -1, 263, 264, -1, -1, -1, 268, 269, -1,
1575 -1, -1, -1, -1, -1, -1, -1, -1, -1, 280,
1576 -1, 282, 283, 284, 40, 286, -1, 43, 44, 45,
1577 291, 292, 293, 294, 295, 296, -1, 298, -1, 300,
1578 301, 302, 303, 304, 60, -1, 62, -1, -1, -1,
1579 259, -1, -1, -1, 263, 264, -1, -1, -1, 268,
1580 269, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1581 -1, 280, -1, 282, 283, 284, -1, 286, -1, -1,
1582 -1, -1, 291, 292, 293, 294, 295, 296, -1, 298,
1583 -1, 300, 301, 302, 303, 304, 259, -1, -1, -1,
1584 263, 264, -1, -1, 40, 268, 269, 43, 44, 45,
1585 -1, -1, -1, -1, -1, -1, -1, 280, -1, 282,
1586 283, 284, -1, 286, 60, -1, 62, -1, 291, 292,
1587 293, 294, 295, 296, -1, 298, -1, 300, 301, 302,
1588 303, 304, 259, -1, -1, -1, 263, 264, -1, -1,
1589 40, 268, 269, 43, 44, 45, -1, -1, -1, -1,
1590 -1, -1, -1, 280, -1, 282, 283, 284, -1, 286,
1591 60, -1, 62, -1, 291, 292, 293, 294, 295, 296,
1592 -1, 298, -1, 300, 301, 302, 303, 304, -1, 259,
1593 -1, -1, -1, 263, 264, -1, -1, 40, 268, 269,
1594 43, 44, 45, -1, -1, -1, -1, -1, -1, -1,
1595 280, -1, 282, 283, 284, -1, 286, 60, -1, 62,
1596 -1, 291, 292, 293, 294, 295, 296, -1, 298, -1,
1597 300, 301, 302, 303, 304, -1, -1, -1, -1, -1,
1598 -1, -1, -1, 259, -1, -1, -1, 263, 264, -1,
1599 -1, 40, 268, 269, 43, -1, 45, -1, -1, -1,
1600 -1, -1, -1, -1, 280, -1, 282, 283, 284, 58,
1601 286, 60, -1, 62, -1, 291, 292, 293, 294, 295,
1602 296, -1, 298, -1, 300, 301, 302, 303, 304, -1,
1603 -1, -1, -1, -1, -1, -1, -1, 40, 41, -1,
1604 43, -1, 45, -1, -1, -1, -1, -1, -1, -1,
1605 -1, -1, -1, -1, -1, -1, -1, 60, -1, 62,
1606 -1, -1, -1, 259, -1, -1, -1, 263, 264, -1,
1607 -1, -1, 268, 269, -1, -1, -1, -1, -1, -1,
1608 -1, -1, -1, -1, 280, -1, 282, 283, 284, -1,
1609 286, -1, -1, -1, -1, 291, 292, 293, 294, 295,
1610 296, -1, 298, -1, 300, 301, 302, 303, 304, 259,
1611 -1, -1, -1, 263, 264, -1, -1, -1, 268, 269,
1612 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1613 280, -1, 282, 283, 284, -1, 286, -1, -1, -1,
1614 -1, 291, 292, 293, 294, 295, 296, -1, 298, -1,
1615 300, 301, 302, 303, 304, -1, 259, -1, -1, -1,
1616 263, 264, -1, -1, -1, 268, 269, -1, -1, -1,
1617 -1, -1, -1, -1, -1, -1, -1, 280, -1, 282,
1618 283, 284, -1, 286, -1, -1, -1, -1, 291, 292,
1619 293, 294, 295, 296, -1, 298, -1, 300, 301, 302,
1620 303, 304, 40, 41, -1, 43, -1, 45, -1, -1,
1621 259, -1, -1, -1, 263, 264, -1, -1, -1, 268,
1622 269, -1, 60, -1, 62, -1, -1, -1, -1, -1,
1623 -1, 280, -1, 282, 283, 284, -1, 286, -1, -1,
1624 -1, -1, 291, 292, 293, 294, 295, 296, -1, 298,
1625 -1, 300, 301, 302, 303, 304, 259, -1, -1, -1,
1626 263, 264, -1, -1, -1, 268, 269, -1, -1, -1,
1627 -1, -1, -1, -1, -1, -1, -1, 280, -1, 282,
1628 283, 284, -1, 286, -1, -1, -1, -1, 291, 292,
1629 293, 294, 295, 296, -1, 298, -1, 300, 301, 302,
1630 303, 304, 40, 41, -1, 43, -1, 45, -1, -1,
1631 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1632 -1, -1, 60, -1, 62, -1, -1, -1, -1, -1,
1633 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1634 -1, -1, -1, -1, -1, -1, -1, -1, 40, 41,
1635 -1, 43, -1, 45, -1, -1, -1, -1, -1, -1,
1636 -1, -1, -1, -1, -1, -1, -1, -1, 60, -1,
1637 62, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1638 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1639 -1, -1, -1, -1, 40, 41, -1, 43, -1, 45,
1640 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1641 -1, -1, -1, -1, 60, -1, 62, -1, -1, -1,
1642 -1, 259, -1, -1, -1, 263, 264, -1, -1, -1,
1643 268, 269, -1, -1, -1, -1, -1, -1, -1, -1,
1644 -1, -1, 280, -1, 282, 283, 284, -1, 286, -1,
1645 -1, -1, -1, 291, 292, 293, 294, 295, 296, -1,
1646 298, -1, 300, 301, 302, 303, 304, 40, 41, -1,
1647 43, -1, 45, -1, -1, -1, -1, -1, -1, -1,
1648 -1, -1, -1, -1, -1, -1, -1, 60, -1, 62,
1649 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1650 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1651 -1, -1, -1, 40, 41, -1, 43, -1, 45, -1,
1652 -1, 259, -1, -1, -1, 263, 264, -1, -1, -1,
1653 268, 269, -1, 60, -1, 62, -1, -1, -1, -1,
1654 -1, -1, 280, -1, 282, 283, 284, -1, 286, -1,
1655 -1, -1, -1, 291, 292, 293, 294, 295, 296, -1,
1656 298, -1, 300, 301, 302, 303, 304, 259, -1, -1,
1657 -1, 263, 264, -1, -1, -1, 268, 269, 40, -1,
1658 -1, 43, -1, 45, -1, -1, -1, -1, 280, -1,
1659 282, 283, 284, -1, 286, -1, -1, -1, -1, 291,
1660 292, 293, 294, 295, 296, -1, 298, -1, 300, 301,
1661 302, 303, 304, 259, -1, -1, -1, 263, 264, -1,
1662 -1, -1, 268, 269, -1, -1, -1, -1, -1, -1,
1663 -1, -1, -1, -1, 280, -1, 282, 283, 284, -1,
1664 286, -1, -1, -1, -1, 291, 292, 293, 294, 295,
1665 296, -1, 298, -1, 300, 301, 302, 303, 304, 40,
1666 41, 123, 43, -1, 45, -1, -1, -1, -1, -1,
1667 -1, -1, -1, -1, -1, -1, -1, -1, -1, 60,
1668 -1, 62, -1, -1, -1, -1, 259, -1, -1, -1,
1669 263, 264, -1, -1, -1, 268, 269, -1, -1, -1,
1670 -1, -1, -1, -1, -1, -1, -1, 280, -1, 282,
1671 283, 284, 40, 286, -1, 43, -1, 45, 291, 292,
1672 293, 294, 295, 296, -1, 298, -1, 300, 301, 302,
1673 303, 304, 259, -1, -1, -1, 263, 264, -1, -1,
1674 -1, 268, 269, -1, -1, -1, -1, -1, -1, -1,
1675 -1, -1, -1, 280, -1, 282, 283, 284, -1, 286,
1676 -1, -1, -1, -1, 291, 292, 293, 294, 295, 296,
1677 -1, 298, -1, 300, 301, 302, 303, 304, 40, 41,
1678 -1, 43, -1, 45, -1, -1, -1, -1, -1, -1,
1679 -1, -1, -1, -1, -1, 257, 258, 259, 60, -1,
1680 62, 263, 264, -1, -1, -1, 268, 269, -1, -1,
1681 -1, -1, -1, -1, -1, -1, -1, -1, 280, -1,
1682 282, 283, 284, 285, 286, -1, -1, -1, -1, 291,
1683 292, 293, 294, -1, -1, -1, 298, -1, 300, 301,
1684 302, 303, 304, 40, -1, -1, 43, -1, 45, -1,
1685 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1686 -1, -1, -1, 60, -1, 62, -1, -1, -1, -1,
1687 -1, -1, -1, -1, -1, -1, -1, -1, 259, -1,
1688 -1, -1, 263, 264, -1, -1, -1, 268, 269, 40,
1689 -1, -1, 43, -1, 45, -1, -1, -1, -1, 280,
1690 -1, 282, 283, 284, -1, 286, -1, -1, 59, -1,
1691 291, 292, 293, 294, 295, 296, -1, 298, -1, 300,
1692 301, 302, 303, 304, -1, -1, -1, -1, -1, -1,
1693 -1, 259, -1, -1, -1, 263, 264, -1, -1, 40,
1694 268, 269, 43, -1, 45, -1, -1, -1, -1, -1,
1695 -1, -1, 280, -1, 282, 283, 284, -1, 286, -1,
1696 -1, -1, -1, 291, 292, 293, 294, -1, -1, -1,
1697 298, -1, 300, 301, 302, 303, 304, -1, -1, -1,
1698 -1, -1, -1, -1, -1, 40, -1, -1, 43, -1,
1699 45, -1, -1, -1, -1, -1, -1, 259, -1, -1,
1700 -1, 263, 264, -1, -1, -1, 268, 269, -1, -1,
1701 -1, -1, -1, -1, -1, -1, -1, -1, 280, -1,
1702 282, 283, 284, -1, 286, -1, -1, -1, -1, 291,
1703 292, 293, 294, 295, 296, -1, 298, -1, 300, 301,
1704 302, 303, 304, 40, -1, -1, 43, -1, 45, -1,
1705 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1706 -1, -1, 259, -1, -1, -1, 263, 264, -1, -1,
1707 -1, 268, 269, -1, -1, -1, -1, -1, -1, -1,
1708 -1, -1, -1, 280, -1, 282, 283, 284, -1, 286,
1709 -1, -1, -1, -1, 291, 292, 293, 294, 295, 296,
1710 -1, 298, -1, 300, 301, 302, 303, 304, 259, -1,
1711 -1, -1, 263, 264, -1, -1, -1, 268, 269, -1,
1712 -1, -1, -1, -1, -1, -1, -1, -1, -1, 280,
1713 -1, 282, 283, 284, -1, 286, -1, -1, -1, -1,
1714 291, 292, 293, 294, -1, -1, -1, 298, -1, 300,
1715 301, 302, 303, 304, -1, -1, -1, -1, 259, -1,
1716 -1, -1, 263, 264, -1, -1, -1, 268, 269, -1,
1717 -1, -1, -1, -1, -1, -1, -1, -1, -1, 280,
1718 -1, 282, 283, 284, -1, 286, -1, -1, -1, -1,
1719 291, 292, 293, 294, -1, -1, -1, 298, -1, 300,
1720 301, 302, 303, 304, 259, -1, -1, -1, 263, 264,
1721 -1, -1, -1, 268, 269, -1, -1, 47, 48, -1,
1722 -1, -1, -1, -1, -1, 280, -1, 282, 283, 284,
1723 -1, 286, -1, -1, -1, -1, 291, 292, 293, 294,
1724 -1, -1, -1, 298, -1, 300, 301, 302, 303, 304,
1725 80, -1, 82, 83, -1, -1, -1, -1, -1, -1,
1726 -1, -1, 259, -1, -1, -1, 263, 264, -1, -1,
1727 -1, 268, 269, -1, -1, -1, -1, -1, 108, 109,
1728 -1, -1, -1, 280, -1, 282, 283, 284, -1, 286,
1729 -1, -1, -1, -1, 291, 292, 293, 294, -1, -1,
1730 -1, 298, -1, 300, 301, 302, 303, 304, -1, -1,
1731 -1, -1, -1, -1, -1, -1, -1, -1, -1, 27,
1732 28, -1, -1, -1, -1, 33, -1, -1, -1, -1,
1733 -1, -1, -1, 41, -1, -1, -1, -1, -1, -1,
1734 170, -1, -1, -1, -1, -1, 54, -1, -1, -1,
1735 -1, 181, -1, 183, -1, 185, -1, -1, -1, -1,
1736 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1737 -1, -1, -1, -1, -1, -1, 206, -1, -1, -1,
1738 -1, -1, -1, 91, 92, 93, 94, 95, 96, -1,
1739 -1, 221, 222, 223, 224, 225, 104, -1, 106, -1,
1740 -1, -1, 110, 111, -1, -1, 114, -1, 116, 117,
1741 -1, -1, -1, 121, 122, -1, -1, -1, -1, -1,
1742 -1, -1, -1, -1, 132, -1, -1, -1, -1, 137,
1743 138, 139, 140, -1, -1, -1, -1, -1, -1, 269,
1744 -1, -1, -1, 273, 274, 275, -1, -1, -1, 279,
1745 158, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1746 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1747 -1, -1, -1, -1, 304, 305, -1, -1, 186, -1,
1748 310, -1, -1, -1, -1, -1, -1, -1, -1, 197,
1749 198, -1, 200, 201, 202, 203, -1, 205, -1, 207,
1750 208, -1, -1, -1, -1, -1, -1, 215, 216, -1,
1751 -1, -1, -1, -1, -1, -1, -1, -1, -1, 227,
1752 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1753 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1754 -1, -1, -1, -1, 252, -1, -1, -1, -1, -1,
1755 -1, -1, -1, -1, -1, -1, 264, 265, 266, 267,
1756 268, -1, 270, 271, 272,
1757};
1758#define YYFINAL 1
1759#ifndef YYDEBUG
1760#define YYDEBUG 0
1761#endif
1762#define YYMAXTOKEN 304
1763#if YYDEBUG
1764char *yyname[] = {
1765"end-of-file",0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
17660,0,0,"'%'",0,0,"'('","')'","'*'","'+'","','","'-'",0,"'/'",0,0,0,0,0,0,0,0,0,0,
1767"':'","';'","'<'",0,"'>'","'?'",0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
17680,0,0,"'['",0,"']'","'^'",0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,"'p'",0,0,0,0,0,0,0,
17690,0,0,"'{'","'|'","'}'",0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
17700,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
17710,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
17720,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,"BEGIN","END","REGEX","SEMINEW",
1773"NEWLINE","COMMENT","FUN1","FUNN","GRGR","PRINT","PRINTF","SPRINTF","SPLIT",
1774"IF","ELSE","WHILE","FOR","IN","EXIT","NEXT","BREAK","CONTINUE","RET","GETLINE",
1775"DO","SUB","GSUB","MATCH","FUNCTION","USERFUN","DELETE","ASGNOP","OROR",
1776"ANDAND","NUMBER","VAR","SUBSTR","INDEX","MATCHOP","RELOP","OR","STRING",
1777"UMINUS","NOT","INCR","DECR","FIELD","VFIELD",
1778};
1779char *yyrule[] = {
1780"$accept : program",
1781"program : junk hunks",
1782"begin : BEGIN '{' maybe states '}' junk",
1783"end : END '{' maybe states '}'",
1784"end : end NEWLINE",
1785"hunks : hunks hunk junk",
1786"hunks :",
1787"hunk : patpat",
1788"hunk : patpat '{' maybe states '}'",
1789"hunk : FUNCTION USERFUN '(' arg_list ')' maybe '{' maybe states '}'",
1790"hunk : '{' maybe states '}'",
1791"hunk : begin",
1792"hunk : end",
1793"arg_list : expr_list",
1794"patpat : cond",
1795"patpat : cond ',' cond",
1796"cond : expr",
1797"cond : match",
1798"cond : rel",
1799"cond : compound_cond",
1800"cond : cond '?' expr ':' expr",
1801"compound_cond : '(' compound_cond ')'",
1802"compound_cond : cond ANDAND maybe cond",
1803"compound_cond : cond OROR maybe cond",
1804"compound_cond : NOT cond",
1805"rel : expr RELOP expr",
1806"rel : expr '>' expr",
1807"rel : expr '<' expr",
1808"rel : '(' rel ')'",
1809"match : expr MATCHOP expr",
1810"match : expr MATCHOP REGEX",
1811"match : REGEX",
1812"match : '(' match ')'",
1813"expr : term",
1814"expr : expr term",
1815"expr : variable ASGNOP cond",
1816"term : variable",
1817"term : NUMBER",
1818"term : STRING",
1819"term : term '+' term",
1820"term : term '-' term",
1821"term : term '*' term",
1822"term : term '/' term",
1823"term : term '%' term",
1824"term : term '^' term",
1825"term : term IN VAR",
1826"term : cond '?' expr ':' expr",
1827"term : variable INCR",
1828"term : variable DECR",
1829"term : INCR variable",
1830"term : DECR variable",
1831"term : '-' term",
1832"term : '+' term",
1833"term : '(' cond ')'",
1834"term : GETLINE",
1835"term : GETLINE variable",
1836"term : GETLINE '<' expr",
1837"term : GETLINE variable '<' expr",
1838"term : term 'p' GETLINE",
1839"term : term 'p' GETLINE variable",
1840"term : FUN1",
1841"term : FUN1 '(' ')'",
1842"term : FUN1 '(' expr ')'",
1843"term : FUNN '(' expr_list ')'",
1844"term : USERFUN '(' expr_list ')'",
1845"term : SPRINTF expr_list",
1846"term : SUBSTR '(' expr ',' expr ',' expr ')'",
1847"term : SUBSTR '(' expr ',' expr ')'",
1848"term : SPLIT '(' expr ',' VAR ',' expr ')'",
1849"term : SPLIT '(' expr ',' VAR ',' REGEX ')'",
1850"term : SPLIT '(' expr ',' VAR ')'",
1851"term : INDEX '(' expr ',' expr ')'",
1852"term : MATCH '(' expr ',' REGEX ')'",
1853"term : MATCH '(' expr ',' expr ')'",
1854"term : SUB '(' expr ',' expr ')'",
1855"term : SUB '(' REGEX ',' expr ')'",
1856"term : GSUB '(' expr ',' expr ')'",
1857"term : GSUB '(' REGEX ',' expr ')'",
1858"term : SUB '(' expr ',' expr ',' expr ')'",
1859"term : SUB '(' REGEX ',' expr ',' expr ')'",
1860"term : GSUB '(' expr ',' expr ',' expr ')'",
1861"term : GSUB '(' REGEX ',' expr ',' expr ')'",
1862"variable : VAR",
1863"variable : VAR '[' expr_list ']'",
1864"variable : FIELD",
1865"variable : VFIELD term",
1866"expr_list : expr",
1867"expr_list : clist",
1868"expr_list :",
1869"clist : expr ',' maybe expr",
1870"clist : clist ',' maybe expr",
1871"clist : '(' clist ')'",
1872"junk : junk hunksep",
1873"junk :",
1874"hunksep : ';'",
1875"hunksep : SEMINEW",
1876"hunksep : NEWLINE",
1877"hunksep : COMMENT",
1878"maybe : maybe nlstuff",
1879"maybe :",
1880"nlstuff : NEWLINE",
1881"nlstuff : COMMENT",
1882"separator : ';' maybe",
1883"separator : SEMINEW maybe",
1884"separator : NEWLINE maybe",
1885"separator : COMMENT maybe",
1886"states : states statement",
1887"states :",
1888"statement : simple separator maybe",
1889"statement : ';' maybe",
1890"statement : SEMINEW maybe",
1891"statement : compound",
1892"simpnull : simple",
1893"simpnull :",
1894"simple : expr",
1895"simple : PRINT expr_list redir expr",
1896"simple : PRINT expr_list",
1897"simple : PRINTF expr_list redir expr",
1898"simple : PRINTF expr_list",
1899"simple : BREAK",
1900"simple : NEXT",
1901"simple : EXIT",
1902"simple : EXIT expr",
1903"simple : CONTINUE",
1904"simple : RET",
1905"simple : RET expr",
1906"simple : DELETE VAR '[' expr_list ']'",
1907"redir : '>'",
1908"redir : GRGR",
1909"redir : '|'",
1910"compound : IF '(' cond ')' maybe statement",
1911"compound : IF '(' cond ')' maybe statement ELSE maybe statement",
1912"compound : WHILE '(' cond ')' maybe statement",
1913"compound : DO maybe statement WHILE '(' cond ')'",
1914"compound : FOR '(' simpnull ';' cond ';' simpnull ')' maybe statement",
1915"compound : FOR '(' simpnull ';' ';' simpnull ')' maybe statement",
1916"compound : FOR '(' expr ')' maybe statement",
1917"compound : '{' maybe states '}' maybe",
1918};
1919#endif
1920#ifndef YYSTYPE
1921typedef int YYSTYPE;
1922#endif
1923#ifdef YYSTACKSIZE
1924#undef YYMAXDEPTH
1925#define YYMAXDEPTH YYSTACKSIZE
1926#else
1927#ifdef YYMAXDEPTH
1928#define YYSTACKSIZE YYMAXDEPTH
1929#else
1930#define YYSTACKSIZE 500
1931#define YYMAXDEPTH 500
1932#endif
1933#endif
1934int yydebug;
1935int yynerrs;
1936int yyerrflag;
1937int yychar;
1938short *yyssp;
1939YYSTYPE *yyvsp;
1940YYSTYPE yyval;
1941YYSTYPE yylval;
1942short yyss[YYSTACKSIZE];
1943YYSTYPE yyvs[YYSTACKSIZE];
1944#define yystacksize YYSTACKSIZE
1945#line 396 "a2p.y"
1946#include "a2py.c"
1947#line 1948 "y.tab.c"
1948#define YYABORT goto yyabort
1949#define YYREJECT goto yyabort
1950#define YYACCEPT goto yyaccept
1951#define YYERROR goto yyerrlab
1952int
1953yyparse()
1954{
1955 register int yym, yyn, yystate;
1956#if YYDEBUG
1957 register char *yys;
1958 extern char *getenv();
1959
1960 if (yys = getenv("YYDEBUG"))
1961 {
1962 yyn = *yys;
1963 if (yyn >= '0' && yyn <= '9')
1964 yydebug = yyn - '0';
1965 }
1966#endif
1967
1968 yynerrs = 0;
1969 yyerrflag = 0;
1970 yychar = (-1);
1971
1972 yyssp = yyss;
1973 yyvsp = yyvs;
1974 *yyssp = yystate = 0;
1975
1976yyloop:
1977 if (yyn = yydefred[yystate]) goto yyreduce;
1978 if (yychar < 0)
1979 {
1980 if ((yychar = yylex()) < 0) yychar = 0;
1981#if YYDEBUG
1982 if (yydebug)
1983 {
1984 yys = 0;
1985 if (yychar <= YYMAXTOKEN) yys = yyname[yychar];
1986 if (!yys) yys = "illegal-symbol";
1987 printf("%sdebug: state %d, reading %d (%s)\n",
1988 YYPREFIX, yystate, yychar, yys);
1989 }
1990#endif
1991 }
1992 if ((yyn = yysindex[yystate]) && (yyn += yychar) >= 0 &&
1993 yyn <= YYTABLESIZE && yycheck[yyn] == yychar)
1994 {
1995#if YYDEBUG
1996 if (yydebug)
1997 printf("%sdebug: state %d, shifting to state %d\n",
1998 YYPREFIX, yystate, yytable[yyn]);
1999#endif
2000 if (yyssp >= yyss + yystacksize - 1)
2001 {
2002 goto yyoverflow;
2003 }
2004 *++yyssp = yystate = yytable[yyn];
2005 *++yyvsp = yylval;
2006 yychar = (-1);
2007 if (yyerrflag > 0) --yyerrflag;
2008 goto yyloop;
2009 }
2010 if ((yyn = yyrindex[yystate]) && (yyn += yychar) >= 0 &&
2011 yyn <= YYTABLESIZE && yycheck[yyn] == yychar)
2012 {
2013 yyn = yytable[yyn];
2014 goto yyreduce;
2015 }
2016 if (yyerrflag) goto yyinrecovery;
2017#ifdef lint
2018 goto yynewerror;
2019#endif
2020yynewerror:
2021 yyerror("syntax error");
2022#ifdef lint
2023 goto yyerrlab;
2024#endif
2025yyerrlab:
2026 ++yynerrs;
2027yyinrecovery:
2028 if (yyerrflag < 3)
2029 {
2030 yyerrflag = 3;
2031 for (;;)
2032 {
2033 if ((yyn = yysindex[*yyssp]) && (yyn += YYERRCODE) >= 0 &&
2034 yyn <= YYTABLESIZE && yycheck[yyn] == YYERRCODE)
2035 {
2036#if YYDEBUG
2037 if (yydebug)
2038 printf("%sdebug: state %d, error recovery shifting\
2039 to state %d\n", YYPREFIX, *yyssp, yytable[yyn]);
2040#endif
2041 if (yyssp >= yyss + yystacksize - 1)
2042 {
2043 goto yyoverflow;
2044 }
2045 *++yyssp = yystate = yytable[yyn];
2046 *++yyvsp = yylval;
2047 goto yyloop;
2048 }
2049 else
2050 {
2051#if YYDEBUG
2052 if (yydebug)
2053 printf("%sdebug: error recovery discarding state %d\n",
2054 YYPREFIX, *yyssp);
2055#endif
2056 if (yyssp <= yyss) goto yyabort;
2057 --yyssp;
2058 --yyvsp;
2059 }
2060 }
2061 }
2062 else
2063 {
2064 if (yychar == 0) goto yyabort;
2065#if YYDEBUG
2066 if (yydebug)
2067 {
2068 yys = 0;
2069 if (yychar <= YYMAXTOKEN) yys = yyname[yychar];
2070 if (!yys) yys = "illegal-symbol";
2071 printf("%sdebug: state %d, error recovery discards token %d (%s)\n",
2072 YYPREFIX, yystate, yychar, yys);
2073 }
2074#endif
2075 yychar = (-1);
2076 goto yyloop;
2077 }
2078yyreduce:
2079#if YYDEBUG
2080 if (yydebug)
2081 printf("%sdebug: state %d, reducing by rule %d (%s)\n",
2082 YYPREFIX, yystate, yyn, yyrule[yyn]);
2083#endif
2084 yym = yylen[yyn];
2085 yyval = yyvsp[1-yym];
2086 switch (yyn)
2087 {
2088case 1:
2089#line 51 "a2p.y"
2090{ root = oper4(OPROG,yyvsp[-1],begins,yyvsp[0],ends); }
2091break;
2092case 2:
2093#line 55 "a2p.y"
2094{ begins = oper4(OJUNK,begins,yyvsp[-3],yyvsp[-2],yyvsp[0]); in_begin = FALSE;
2095 yyval = Nullop; }
2096break;
2097case 3:
2098#line 60 "a2p.y"
2099{ ends = oper3(OJUNK,ends,yyvsp[-2],yyvsp[-1]); yyval = Nullop; }
2100break;
2101case 4:
2102#line 62 "a2p.y"
2103{ yyval = yyvsp[-1]; }
2104break;
2105case 5:
2106#line 66 "a2p.y"
2107{ yyval = oper3(OHUNKS,yyvsp[-2],yyvsp[-1],yyvsp[0]); }
2108break;
2109case 6:
2110#line 68 "a2p.y"
2111{ yyval = Nullop; }
2112break;
2113case 7:
2114#line 72 "a2p.y"
2115{ yyval = oper1(OHUNK,yyvsp[0]); need_entire = TRUE; }
2116break;
2117case 8:
2118#line 74 "a2p.y"
2119{ yyval = oper2(OHUNK,yyvsp[-4],oper2(OJUNK,yyvsp[-2],yyvsp[-1])); }
2120break;
2121case 9:
2122#line 76 "a2p.y"
2123{ fixfargs(yyvsp[-8],yyvsp[-6],0); yyval = oper5(OUSERDEF,yyvsp[-8],yyvsp[-6],yyvsp[-4],yyvsp[-2],yyvsp[-1]); }
2124break;
2125case 10:
2126#line 78 "a2p.y"
2127{ yyval = oper2(OHUNK,Nullop,oper2(OJUNK,yyvsp[-2],yyvsp[-1])); }
2128break;
2129case 13:
2130#line 84 "a2p.y"
2131{ yyval = rememberargs(yyval); }
2132break;
2133case 14:
2134#line 88 "a2p.y"
2135{ yyval = oper1(OPAT,yyvsp[0]); }
2136break;
2137case 15:
2138#line 90 "a2p.y"
2139{ yyval = oper2(ORANGE,yyvsp[-2],yyvsp[0]); }
2140break;
2141case 20:
2142#line 98 "a2p.y"
2143{ yyval = oper3(OCOND,yyvsp[-4],yyvsp[-2],yyvsp[0]); }
2144break;
2145case 21:
2146#line 103 "a2p.y"
2147{ yyval = oper1(OCPAREN,yyvsp[-1]); }
2148break;
2149case 22:
2150#line 105 "a2p.y"
2151{ yyval = oper3(OCANDAND,yyvsp[-3],yyvsp[-1],yyvsp[0]); }
2152break;
2153case 23:
2154#line 107 "a2p.y"
2155{ yyval = oper3(OCOROR,yyvsp[-3],yyvsp[-1],yyvsp[0]); }
2156break;
2157case 24:
2158#line 109 "a2p.y"
2159{ yyval = oper1(OCNOT,yyvsp[0]); }
2160break;
2161case 25:
2162#line 113 "a2p.y"
2163{ yyval = oper3(ORELOP,yyvsp[-1],yyvsp[-2],yyvsp[0]); }
2164break;
2165case 26:
2166#line 115 "a2p.y"
2167{ yyval = oper3(ORELOP,string(">",1),yyvsp[-2],yyvsp[0]); }
2168break;
2169case 27:
2170#line 117 "a2p.y"
2171{ yyval = oper3(ORELOP,string("<",1),yyvsp[-2],yyvsp[0]); }
2172break;
2173case 28:
2174#line 119 "a2p.y"
2175{ yyval = oper1(ORPAREN,yyvsp[-1]); }
2176break;
2177case 29:
2178#line 123 "a2p.y"
2179{ yyval = oper3(OMATCHOP,yyvsp[-1],yyvsp[-2],yyvsp[0]); }
2180break;
2181case 30:
2182#line 125 "a2p.y"
2183{ yyval = oper3(OMATCHOP,yyvsp[-1],yyvsp[-2],oper1(OREGEX,yyvsp[0])); }
2184break;
2185case 31:
2186#line 127 "a2p.y"
2187{ yyval = oper1(OREGEX,yyvsp[0]); }
2188break;
2189case 32:
2190#line 129 "a2p.y"
2191{ yyval = oper1(OMPAREN,yyvsp[-1]); }
2192break;
2193case 33:
2194#line 133 "a2p.y"
2195{ yyval = yyvsp[0]; }
2196break;
2197case 34:
2198#line 135 "a2p.y"
2199{ yyval = oper2(OCONCAT,yyvsp[-1],yyvsp[0]); }
2200break;
2201case 35:
2202#line 137 "a2p.y"
2203{ yyval = oper3(OASSIGN,yyvsp[-1],yyvsp[-2],yyvsp[0]);
2204 if ((ops[yyvsp[-2]].ival & 255) == OFLD)
2205 lval_field = TRUE;
2206 if ((ops[yyvsp[-2]].ival & 255) == OVFLD)
2207 lval_field = TRUE;
2208 }
2209break;
2210case 36:
2211#line 146 "a2p.y"
2212{ yyval = yyvsp[0]; }
2213break;
2214case 37:
2215#line 148 "a2p.y"
2216{ yyval = oper1(ONUM,yyvsp[0]); }
2217break;
2218case 38:
2219#line 150 "a2p.y"
2220{ yyval = oper1(OSTR,yyvsp[0]); }
2221break;
2222case 39:
2223#line 152 "a2p.y"
2224{ yyval = oper2(OADD,yyvsp[-2],yyvsp[0]); }
2225break;
2226case 40:
2227#line 154 "a2p.y"
2228{ yyval = oper2(OSUBTRACT,yyvsp[-2],yyvsp[0]); }
2229break;
2230case 41:
2231#line 156 "a2p.y"
2232{ yyval = oper2(OMULT,yyvsp[-2],yyvsp[0]); }
2233break;
2234case 42:
2235#line 158 "a2p.y"
2236{ yyval = oper2(ODIV,yyvsp[-2],yyvsp[0]); }
2237break;
2238case 43:
2239#line 160 "a2p.y"
2240{ yyval = oper2(OMOD,yyvsp[-2],yyvsp[0]); }
2241break;
2242case 44:
2243#line 162 "a2p.y"
2244{ yyval = oper2(OPOW,yyvsp[-2],yyvsp[0]); }
2245break;
2246case 45:
2247#line 164 "a2p.y"
2248{ yyval = oper2(ODEFINED,aryrefarg(yyvsp[0]),yyvsp[-2]); }
2249break;
2250case 46:
2251#line 166 "a2p.y"
2252{ yyval = oper3(OCOND,yyvsp[-4],yyvsp[-2],yyvsp[0]); }
2253break;
2254case 47:
2255#line 168 "a2p.y"
2256{ yyval = oper1(OPOSTINCR,yyvsp[-1]); }
2257break;
2258case 48:
2259#line 170 "a2p.y"
2260{ yyval = oper1(OPOSTDECR,yyvsp[-1]); }
2261break;
2262case 49:
2263#line 172 "a2p.y"
2264{ yyval = oper1(OPREINCR,yyvsp[0]); }
2265break;
2266case 50:
2267#line 174 "a2p.y"
2268{ yyval = oper1(OPREDECR,yyvsp[0]); }
2269break;
2270case 51:
2271#line 176 "a2p.y"
2272{ yyval = oper1(OUMINUS,yyvsp[0]); }
2273break;
2274case 52:
2275#line 178 "a2p.y"
2276{ yyval = oper1(OUPLUS,yyvsp[0]); }
2277break;
2278case 53:
2279#line 180 "a2p.y"
2280{ yyval = oper1(OPAREN,yyvsp[-1]); }
2281break;
2282case 54:
2283#line 182 "a2p.y"
2284{ yyval = oper0(OGETLINE); }
2285break;
2286case 55:
2287#line 184 "a2p.y"
2288{ yyval = oper1(OGETLINE,yyvsp[0]); }
2289break;
2290case 56:
2291#line 186 "a2p.y"
2292{ yyval = oper3(OGETLINE,Nullop,string("<",1),yyvsp[0]);
2293 if (ops[yyvsp[0]].ival != OSTR + (1<<8)) do_fancy_opens = TRUE; }
2294break;
2295case 57:
2296#line 189 "a2p.y"
2297{ yyval = oper3(OGETLINE,yyvsp[-2],string("<",1),yyvsp[0]);
2298 if (ops[yyvsp[0]].ival != OSTR + (1<<8)) do_fancy_opens = TRUE; }
2299break;
2300case 58:
2301#line 192 "a2p.y"
2302{ yyval = oper3(OGETLINE,Nullop,string("|",1),yyvsp[-2]);
2303 if (ops[yyvsp[-2]].ival != OSTR + (1<<8)) do_fancy_opens = TRUE; }
2304break;
2305case 59:
2306#line 195 "a2p.y"
2307{ yyval = oper3(OGETLINE,yyvsp[0],string("|",1),yyvsp[-3]);
2308 if (ops[yyvsp[-3]].ival != OSTR + (1<<8)) do_fancy_opens = TRUE; }
2309break;
2310case 60:
2311#line 198 "a2p.y"
2312{ yyval = oper0(yyvsp[0]); need_entire = do_chop = TRUE; }
2313break;
2314case 61:
2315#line 200 "a2p.y"
2316{ yyval = oper1(yyvsp[-2],Nullop); need_entire = do_chop = TRUE; }
2317break;
2318case 62:
2319#line 202 "a2p.y"
2320{ yyval = oper1(yyvsp[-3],yyvsp[-1]); }
2321break;
2322case 63:
2323#line 204 "a2p.y"
2324{ yyval = oper1(yyvsp[-3],yyvsp[-1]); }
2325break;
2326case 64:
2327#line 206 "a2p.y"
2328{ yyval = oper2(OUSERFUN,yyvsp[-3],yyvsp[-1]); }
2329break;
2330case 65:
2331#line 208 "a2p.y"
2332{ yyval = oper1(OSPRINTF,yyvsp[0]); }
2333break;
2334case 66:
2335#line 210 "a2p.y"
2336{ yyval = oper3(OSUBSTR,yyvsp[-5],yyvsp[-3],yyvsp[-1]); }
2337break;
2338case 67:
2339#line 212 "a2p.y"
2340{ yyval = oper2(OSUBSTR,yyvsp[-3],yyvsp[-1]); }
2341break;
2342case 68:
2343#line 214 "a2p.y"
2344{ yyval = oper3(OSPLIT,yyvsp[-5],aryrefarg(numary(yyvsp[-3])),yyvsp[-1]); }
2345break;
2346case 69:
2347#line 216 "a2p.y"
2348{ yyval = oper3(OSPLIT,yyvsp[-5],aryrefarg(numary(yyvsp[-3])),oper1(OREGEX,yyvsp[-1]));}
2349break;
2350case 70:
2351#line 218 "a2p.y"
2352{ yyval = oper2(OSPLIT,yyvsp[-3],aryrefarg(numary(yyvsp[-1]))); }
2353break;
2354case 71:
2355#line 220 "a2p.y"
2356{ yyval = oper2(OINDEX,yyvsp[-3],yyvsp[-1]); }
2357break;
2358case 72:
2359#line 222 "a2p.y"
2360{ yyval = oper2(OMATCH,yyvsp[-3],oper1(OREGEX,yyvsp[-1])); }
2361break;
2362case 73:
2363#line 224 "a2p.y"
2364{ yyval = oper2(OMATCH,yyvsp[-3],yyvsp[-1]); }
2365break;
2366case 74:
2367#line 226 "a2p.y"
2368{ yyval = oper2(OSUB,yyvsp[-3],yyvsp[-1]); }
2369break;
2370case 75:
2371#line 228 "a2p.y"
2372{ yyval = oper2(OSUB,oper1(OREGEX,yyvsp[-3]),yyvsp[-1]); }
2373break;
2374case 76:
2375#line 230 "a2p.y"
2376{ yyval = oper2(OGSUB,yyvsp[-3],yyvsp[-1]); }
2377break;
2378case 77:
2379#line 232 "a2p.y"
2380{ yyval = oper2(OGSUB,oper1(OREGEX,yyvsp[-3]),yyvsp[-1]); }
2381break;
2382case 78:
2383#line 234 "a2p.y"
2384{ yyval = oper3(OSUB,yyvsp[-5],yyvsp[-3],yyvsp[-1]); }
2385break;
2386case 79:
2387#line 236 "a2p.y"
2388{ yyval = oper3(OSUB,oper1(OREGEX,yyvsp[-5]),yyvsp[-3],yyvsp[-1]); }
2389break;
2390case 80:
2391#line 238 "a2p.y"
2392{ yyval = oper3(OGSUB,yyvsp[-5],yyvsp[-3],yyvsp[-1]); }
2393break;
2394case 81:
2395#line 240 "a2p.y"
2396{ yyval = oper3(OGSUB,oper1(OREGEX,yyvsp[-5]),yyvsp[-3],yyvsp[-1]); }
2397break;
2398case 82:
2399#line 244 "a2p.y"
2400{ yyval = oper1(OVAR,yyvsp[0]); }
2401break;
2402case 83:
2403#line 246 "a2p.y"
2404{ yyval = oper2(OVAR,aryrefarg(yyvsp[-3]),yyvsp[-1]); }
2405break;
2406case 84:
2407#line 248 "a2p.y"
2408{ yyval = oper1(OFLD,yyvsp[0]); }
2409break;
2410case 85:
2411#line 250 "a2p.y"
2412{ yyval = oper1(OVFLD,yyvsp[0]); }
2413break;
2414case 88:
2415#line 257 "a2p.y"
2416{ yyval = Nullop; }
2417break;
2418case 89:
2419#line 261 "a2p.y"
2420{ yyval = oper3(OCOMMA,yyvsp[-3],yyvsp[-1],yyvsp[0]); }
2421break;
2422case 90:
2423#line 263 "a2p.y"
2424{ yyval = oper3(OCOMMA,yyvsp[-3],yyvsp[-1],yyvsp[0]); }
2425break;
2426case 91:
2427#line 265 "a2p.y"
2428{ yyval = yyvsp[-1]; }
2429break;
2430case 92:
2431#line 269 "a2p.y"
2432{ yyval = oper2(OJUNK,yyvsp[-1],yyvsp[0]); }
2433break;
2434case 93:
2435#line 271 "a2p.y"
2436{ yyval = Nullop; }
2437break;
2438case 94:
2439#line 275 "a2p.y"
2440{ yyval = oper2(OJUNK,oper0(OSEMICOLON),oper0(ONEWLINE)); }
2441break;
2442case 95:
2443#line 277 "a2p.y"
2444{ yyval = oper2(OJUNK,oper0(OSEMICOLON),oper0(ONEWLINE)); }
2445break;
2446case 96:
2447#line 279 "a2p.y"
2448{ yyval = oper0(ONEWLINE); }
2449break;
2450case 97:
2451#line 281 "a2p.y"
2452{ yyval = oper1(OCOMMENT,yyvsp[0]); }
2453break;
2454case 98:
2455#line 285 "a2p.y"
2456{ yyval = oper2(OJUNK,yyvsp[-1],yyvsp[0]); }
2457break;
2458case 99:
2459#line 287 "a2p.y"
2460{ yyval = Nullop; }
2461break;
2462case 100:
2463#line 291 "a2p.y"
2464{ yyval = oper0(ONEWLINE); }
2465break;
2466case 101:
2467#line 293 "a2p.y"
2468{ yyval = oper1(OCOMMENT,yyvsp[0]); }
2469break;
2470case 102:
2471#line 298 "a2p.y"
2472{ yyval = oper2(OJUNK,oper0(OSEMICOLON),yyvsp[0]); }
2473break;
2474case 103:
2475#line 300 "a2p.y"
2476{ yyval = oper2(OJUNK,oper0(OSNEWLINE),yyvsp[0]); }
2477break;
2478case 104:
2479#line 302 "a2p.y"
2480{ yyval = oper2(OJUNK,oper0(OSNEWLINE),yyvsp[0]); }
2481break;
2482case 105:
2483#line 304 "a2p.y"
2484{ yyval = oper2(OJUNK,oper1(OSCOMMENT,yyvsp[-1]),yyvsp[0]); }
2485break;
2486case 106:
2487#line 308 "a2p.y"
2488{ yyval = oper2(OSTATES,yyvsp[-1],yyvsp[0]); }
2489break;
2490case 107:
2491#line 310 "a2p.y"
2492{ yyval = Nullop; }
2493break;
2494case 108:
2495#line 315 "a2p.y"
2496{ yyval = oper2(OJUNK,oper2(OSTATE,yyvsp[-2],yyvsp[-1]),yyvsp[0]); }
2497break;
2498case 109:
2499#line 317 "a2p.y"
2500{ yyval = oper2(OSTATE,Nullop,oper2(OJUNK,oper0(OSEMICOLON),yyvsp[0])); }
2501break;
2502case 110:
2503#line 319 "a2p.y"
2504{ yyval = oper2(OSTATE,Nullop,oper2(OJUNK,oper0(OSNEWLINE),yyvsp[0])); }
2505break;
2506case 113:
2507#line 325 "a2p.y"
2508{ yyval = Nullop; }
2509break;
2510case 115:
2511#line 331 "a2p.y"
2512{ yyval = oper3(OPRINT,yyvsp[-2],yyvsp[-1],yyvsp[0]);
2513 do_opens = TRUE;
2514 saw_ORS = saw_OFS = TRUE;
2515 if (!yyvsp[-2]) need_entire = TRUE;
2516 if (ops[yyvsp[0]].ival != OSTR + (1<<8)) do_fancy_opens = TRUE; }
2517break;
2518case 116:
2519#line 337 "a2p.y"
2520{ yyval = oper1(OPRINT,yyvsp[0]);
2521 if (!yyvsp[0]) need_entire = TRUE;
2522 saw_ORS = saw_OFS = TRUE;
2523 }
2524break;
2525case 117:
2526#line 342 "a2p.y"
2527{ yyval = oper3(OPRINTF,yyvsp[-2],yyvsp[-1],yyvsp[0]);
2528 do_opens = TRUE;
2529 if (!yyvsp[-2]) need_entire = TRUE;
2530 if (ops[yyvsp[0]].ival != OSTR + (1<<8)) do_fancy_opens = TRUE; }
2531break;
2532case 118:
2533#line 347 "a2p.y"
2534{ yyval = oper1(OPRINTF,yyvsp[0]);
2535 if (!yyvsp[0]) need_entire = TRUE;
2536 }
2537break;
2538case 119:
2539#line 351 "a2p.y"
2540{ yyval = oper0(OBREAK); }
2541break;
2542case 120:
2543#line 353 "a2p.y"
2544{ yyval = oper0(ONEXT); }
2545break;
2546case 121:
2547#line 355 "a2p.y"
2548{ yyval = oper0(OEXIT); }
2549break;
2550case 122:
2551#line 357 "a2p.y"
2552{ yyval = oper1(OEXIT,yyvsp[0]); }
2553break;
2554case 123:
2555#line 359 "a2p.y"
2556{ yyval = oper0(OCONTINUE); }
2557break;
2558case 124:
2559#line 361 "a2p.y"
2560{ yyval = oper0(ORETURN); }
2561break;
2562case 125:
2563#line 363 "a2p.y"
2564{ yyval = oper1(ORETURN,yyvsp[0]); }
2565break;
2566case 126:
2567#line 365 "a2p.y"
2568{ yyval = oper2(ODELETE,aryrefarg(yyvsp[-3]),yyvsp[-1]); }
2569break;
2570case 127:
2571#line 369 "a2p.y"
2572{ yyval = oper1(OREDIR,string(">",1)); }
2573break;
2574case 128:
2575#line 371 "a2p.y"
2576{ yyval = oper1(OREDIR,string(">>",2)); }
2577break;
2578case 129:
2579#line 373 "a2p.y"
2580{ yyval = oper1(OREDIR,string("|",1)); }
2581break;
2582case 130:
2583#line 378 "a2p.y"
2584{ yyval = oper2(OIF,yyvsp[-3],bl(yyvsp[0],yyvsp[-1])); }
2585break;
2586case 131:
2587#line 380 "a2p.y"
2588{ yyval = oper3(OIF,yyvsp[-6],bl(yyvsp[-3],yyvsp[-4]),bl(yyvsp[0],yyvsp[-1])); }
2589break;
2590case 132:
2591#line 382 "a2p.y"
2592{ yyval = oper2(OWHILE,yyvsp[-3],bl(yyvsp[0],yyvsp[-1])); }
2593break;
2594case 133:
2595#line 384 "a2p.y"
2596{ yyval = oper2(ODO,bl(yyvsp[-4],yyvsp[-5]),yyvsp[-1]); }
2597break;
2598case 134:
2599#line 386 "a2p.y"
2600{ yyval = oper4(OFOR,yyvsp[-7],yyvsp[-5],yyvsp[-3],bl(yyvsp[0],yyvsp[-1])); }
2601break;
2602case 135:
2603#line 388 "a2p.y"
2604{ yyval = oper4(OFOR,yyvsp[-6],string("",0),yyvsp[-3],bl(yyvsp[0],yyvsp[-1])); }
2605break;
2606case 136:
2607#line 390 "a2p.y"
2608{ yyval = oper2(OFORIN,yyvsp[-3],bl(yyvsp[0],yyvsp[-1])); }
2609break;
2610case 137:
2611#line 392 "a2p.y"
2612{ yyval = oper3(OBLOCK,oper2(OJUNK,yyvsp[-3],yyvsp[-2]),Nullop,yyvsp[0]); }
2613break;
2614#line 2615 "y.tab.c"
2615 }
2616 yyssp -= yym;
2617 yystate = *yyssp;
2618 yyvsp -= yym;
2619 yym = yylhs[yyn];
2620 if (yystate == 0 && yym == 0)
2621 {
2622#if YYDEBUG
2623 if (yydebug)
2624 printf("%sdebug: after reduction, shifting from state 0 to\
2625 state %d\n", YYPREFIX, YYFINAL);
2626#endif
2627 yystate = YYFINAL;
2628 *++yyssp = YYFINAL;
2629 *++yyvsp = yyval;
2630 if (yychar < 0)
2631 {
2632 if ((yychar = yylex()) < 0) yychar = 0;
2633#if YYDEBUG
2634 if (yydebug)
2635 {
2636 yys = 0;
2637 if (yychar <= YYMAXTOKEN) yys = yyname[yychar];
2638 if (!yys) yys = "illegal-symbol";
2639 printf("%sdebug: state %d, reading %d (%s)\n",
2640 YYPREFIX, YYFINAL, yychar, yys);
2641 }
2642#endif
2643 }
2644 if (yychar == 0) goto yyaccept;
2645 goto yyloop;
2646 }
2647 if ((yyn = yygindex[yym]) && (yyn += yystate) >= 0 &&
2648 yyn <= YYTABLESIZE && yycheck[yyn] == yystate)
2649 yystate = yytable[yyn];
2650 else
2651 yystate = yydgoto[yym];
2652#if YYDEBUG
2653 if (yydebug)
2654 printf("%sdebug: after reduction, shifting from state %d \
2655to state %d\n", YYPREFIX, *yyssp, yystate);
2656#endif
2657 if (yyssp >= yyss + yystacksize - 1)
2658 {
2659 goto yyoverflow;
2660 }
2661 *++yyssp = yystate;
2662 *++yyvsp = yyval;
2663 goto yyloop;
2664yyoverflow:
2665 yyerror("yacc stack overflow");
2666yyabort:
2667 return (1);
2668yyaccept:
2669 return (0);
2670}