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