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