source: vendor/perl/5.8.8/x2p/a2p.c

Last change on this file was 3181, checked in by bird, 18 years ago

perl 5.8.8

File size: 136.1 KB
Line 
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
1987char *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};
2002char *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
2182int
2183yyparse(void)
2184{
2185 register int yym, yyn, yystate;
2186#if YYDEBUG
2187 register char *yys;
2188 extern char *getenv();
2189
2190 if ((yys = getenv("YYDEBUG")))
2191 {
2192 yyn = *yys;
2193 if (yyn >= '0' && yyn <= '9')
2194 yydebug = yyn - '0';
2195 }
2196#endif
2197
2198 yynerrs = 0;
2199 yyerrflag = 0;
2200 yychar = (-1);
2201
2202 yyssp = yyss;
2203 yyvsp = yyvs;
2204 *yyssp = yystate = 0;
2205
2206yyloop:
2207 if (((yyn = yydefred[yystate])) != 0) goto yyreduce;
2208 if (yychar < 0)
2209 {
2210 if ((yychar = yylex()) < 0) yychar = 0;
2211#if YYDEBUG
2212 if (yydebug)
2213 {
2214 yys = 0;
2215 if (yychar <= YYMAXTOKEN) yys = yyname[yychar];
2216 if (!yys) yys = "illegal-symbol";
2217 printf("%sdebug: state %d, reading %d (%s)\n",
2218 YYPREFIX, yystate, yychar, yys);
2219 }
2220#endif
2221 }
2222 if ((yyn = yysindex[yystate]) && (yyn += yychar) >= 0 &&
2223 yyn <= YYTABLESIZE && yycheck[yyn] == yychar)
2224 {
2225#if YYDEBUG
2226 if (yydebug)
2227 printf("%sdebug: state %d, shifting to state %d\n",
2228 YYPREFIX, yystate, yytable[yyn]);
2229#endif
2230 if (yyssp >= yyss + yystacksize - 1)
2231 {
2232 goto yyoverflow;
2233 }
2234 *++yyssp = yystate = yytable[yyn];
2235 *++yyvsp = yylval;
2236 yychar = (-1);
2237 if (yyerrflag > 0) --yyerrflag;
2238 goto yyloop;
2239 }
2240 if ((yyn = yyrindex[yystate]) && (yyn += yychar) >= 0 &&
2241 yyn <= YYTABLESIZE && yycheck[yyn] == yychar)
2242 {
2243 yyn = yytable[yyn];
2244 goto yyreduce;
2245 }
2246 if (yyerrflag) goto yyinrecovery;
2247#ifdef lint
2248
2249#endif
2250
2251 yyerror("syntax error");
2252#ifdef lint
2253
2254#endif
2255
2256 ++yynerrs;
2257yyinrecovery:
2258 if (yyerrflag < 3)
2259 {
2260 yyerrflag = 3;
2261 for (;;)
2262 {
2263 if ((yyn = yysindex[*yyssp]) && (yyn += YYERRCODE) >= 0 &&
2264 yyn <= YYTABLESIZE && yycheck[yyn] == YYERRCODE)
2265 {
2266#if YYDEBUG
2267 if (yydebug)
2268 printf("%sdebug: state %d, error recovery shifting\
2269 to state %d\n", YYPREFIX, *yyssp, yytable[yyn]);
2270#endif
2271 if (yyssp >= yyss + yystacksize - 1)
2272 {
2273 goto yyoverflow;
2274 }
2275 *++yyssp = yystate = yytable[yyn];
2276 *++yyvsp = yylval;
2277 goto yyloop;
2278 }
2279 else
2280 {
2281#if YYDEBUG
2282 if (yydebug)
2283 printf("%sdebug: error recovery discarding state %d\n",
2284 YYPREFIX, *yyssp);
2285#endif
2286 if (yyssp <= yyss) goto yyabort;
2287 --yyssp;
2288 --yyvsp;
2289 }
2290 }
2291 }
2292 else
2293 {
2294 if (yychar == 0) goto yyabort;
2295#if YYDEBUG
2296 if (yydebug)
2297 {
2298 yys = 0;
2299 if (yychar <= YYMAXTOKEN) yys = yyname[yychar];
2300 if (!yys) yys = "illegal-symbol";
2301 printf("%sdebug: state %d, error recovery discards token %d (%s)\n",
2302 YYPREFIX, yystate, yychar, yys);
2303 }
2304#endif
2305 yychar = (-1);
2306 goto yyloop;
2307 }
2308yyreduce:
2309#if YYDEBUG
2310 if (yydebug)
2311 printf("%sdebug: state %d, reducing by rule %d (%s)\n",
2312 YYPREFIX, yystate, yyn, yyrule[yyn]);
2313#endif
2314 yym = yylen[yyn];
2315 yyval = yyvsp[1-yym];
2316 switch (yyn)
2317 {
2318case 1:
2319#line 52 "a2p.y"
2320{ root = oper4(OPROG,yyvsp[-1],begins,yyvsp[0],ends); }
2321break;
2322case 2:
2323#line 56 "a2p.y"
2324{ begins = oper4(OJUNK,begins,yyvsp[-3],yyvsp[-2],yyvsp[0]); in_begin = FALSE;
2325 yyval = Nullop; }
2326break;
2327case 3:
2328#line 61 "a2p.y"
2329{ ends = oper3(OJUNK,ends,yyvsp[-2],yyvsp[-1]); yyval = Nullop; }
2330break;
2331case 4:
2332#line 63 "a2p.y"
2333{ yyval = yyvsp[-1]; }
2334break;
2335case 5:
2336#line 67 "a2p.y"
2337{ yyval = oper3(OHUNKS,yyvsp[-2],yyvsp[-1],yyvsp[0]); }
2338break;
2339case 6:
2340#line 69 "a2p.y"
2341{ yyval = Nullop; }
2342break;
2343case 7:
2344#line 73 "a2p.y"
2345{ yyval = oper1(OHUNK,yyvsp[0]); need_entire = TRUE; }
2346break;
2347case 8:
2348#line 75 "a2p.y"
2349{ yyval = oper2(OHUNK,yyvsp[-4],oper2(OJUNK,yyvsp[-2],yyvsp[-1])); }
2350break;
2351case 9:
2352#line 77 "a2p.y"
2353{ fixfargs(yyvsp[-8],yyvsp[-6],0); yyval = oper5(OUSERDEF,yyvsp[-8],yyvsp[-6],yyvsp[-4],yyvsp[-2],yyvsp[-1]); }
2354break;
2355case 10:
2356#line 79 "a2p.y"
2357{ yyval = oper2(OHUNK,Nullop,oper2(OJUNK,yyvsp[-2],yyvsp[-1])); }
2358break;
2359case 13:
2360#line 85 "a2p.y"
2361{ yyval = rememberargs(yyval); }
2362break;
2363case 14:
2364#line 89 "a2p.y"
2365{ yyval = oper1(OPAT,yyvsp[0]); }
2366break;
2367case 15:
2368#line 91 "a2p.y"
2369{ yyval = oper2(ORANGE,yyvsp[-2],yyvsp[0]); }
2370break;
2371case 20:
2372#line 99 "a2p.y"
2373{ yyval = oper3(OCOND,yyvsp[-4],yyvsp[-2],yyvsp[0]); }
2374break;
2375case 21:
2376#line 104 "a2p.y"
2377{ yyval = oper1(OCPAREN,yyvsp[-1]); }
2378break;
2379case 22:
2380#line 106 "a2p.y"
2381{ yyval = oper3(OCANDAND,yyvsp[-3],yyvsp[-1],yyvsp[0]); }
2382break;
2383case 23:
2384#line 108 "a2p.y"
2385{ yyval = oper3(OCOROR,yyvsp[-3],yyvsp[-1],yyvsp[0]); }
2386break;
2387case 24:
2388#line 110 "a2p.y"
2389{ yyval = oper1(OCNOT,yyvsp[0]); }
2390break;
2391case 25:
2392#line 114 "a2p.y"
2393{ yyval = oper3(ORELOP,yyvsp[-1],yyvsp[-2],yyvsp[0]); }
2394break;
2395case 26:
2396#line 116 "a2p.y"
2397{ yyval = oper3(ORELOP,string(">",1),yyvsp[-2],yyvsp[0]); }
2398break;
2399case 27:
2400#line 118 "a2p.y"
2401{ yyval = oper3(ORELOP,string("<",1),yyvsp[-2],yyvsp[0]); }
2402break;
2403case 28:
2404#line 120 "a2p.y"
2405{ yyval = oper1(ORPAREN,yyvsp[-1]); }
2406break;
2407case 29:
2408#line 124 "a2p.y"
2409{ yyval = oper3(OMATCHOP,yyvsp[-1],yyvsp[-2],yyvsp[0]); }
2410break;
2411case 30:
2412#line 126 "a2p.y"
2413{ yyval = oper3(OMATCHOP,yyvsp[-1],yyvsp[-2],oper1(OREGEX,yyvsp[0])); }
2414break;
2415case 31:
2416#line 128 "a2p.y"
2417{ yyval = oper1(OREGEX,yyvsp[0]); }
2418break;
2419case 32:
2420#line 130 "a2p.y"
2421{ yyval = oper1(OMPAREN,yyvsp[-1]); }
2422break;
2423case 33:
2424#line 134 "a2p.y"
2425{ yyval = yyvsp[0]; }
2426break;
2427case 34:
2428#line 136 "a2p.y"
2429{ yyval = oper2(OCONCAT,yyvsp[-1],yyvsp[0]); }
2430break;
2431case 35:
2432#line 138 "a2p.y"
2433{ yyval = oper3(OCOND,yyvsp[-4],yyvsp[-2],yyvsp[0]); }
2434break;
2435case 36:
2436#line 140 "a2p.y"
2437{
2438 yyval = oper3(OASSIGN,yyvsp[-1],yyvsp[-2],yyvsp[0]);
2439 if ((ops[yyvsp[-2]].ival & 255) == OFLD)
2440 lval_field = TRUE;
2441 else if ((ops[yyvsp[-2]].ival & 255) == OVFLD)
2442 lval_field = TRUE;
2443 }
2444break;
2445case 39:
2446#line 153 "a2p.y"
2447{ yyval = yyvsp[0]; }
2448break;
2449case 40:
2450#line 155 "a2p.y"
2451{ yyval = oper1(ONUM,yyvsp[0]); }
2452break;
2453case 41:
2454#line 157 "a2p.y"
2455{ yyval = oper1(OSTR,yyvsp[0]); }
2456break;
2457case 42:
2458#line 159 "a2p.y"
2459{ yyval = oper2(OADD,yyvsp[-2],yyvsp[0]); }
2460break;
2461case 43:
2462#line 161 "a2p.y"
2463{ yyval = oper2(OSUBTRACT,yyvsp[-2],yyvsp[0]); }
2464break;
2465case 44:
2466#line 163 "a2p.y"
2467{ yyval = oper2(OMULT,yyvsp[-2],yyvsp[0]); }
2468break;
2469case 45:
2470#line 165 "a2p.y"
2471{ yyval = oper2(ODIV,yyvsp[-2],yyvsp[0]); }
2472break;
2473case 46:
2474#line 167 "a2p.y"
2475{ yyval = oper2(OMOD,yyvsp[-2],yyvsp[0]); }
2476break;
2477case 47:
2478#line 169 "a2p.y"
2479{ yyval = oper2(OPOW,yyvsp[-2],yyvsp[0]); }
2480break;
2481case 48:
2482#line 171 "a2p.y"
2483{ yyval = oper2(ODEFINED,aryrefarg(yyvsp[0]),yyvsp[-2]); }
2484break;
2485case 49:
2486#line 173 "a2p.y"
2487{
2488 yyval = oper1(OPOSTINCR,yyvsp[-1]);
2489 if ((ops[yyvsp[-1]].ival & 255) == OFLD)
2490 lval_field = TRUE;
2491 else if ((ops[yyvsp[-1]].ival & 255) == OVFLD)
2492 lval_field = TRUE;
2493 }
2494break;
2495case 50:
2496#line 181 "a2p.y"
2497{
2498 yyval = oper1(OPOSTDECR,yyvsp[-1]);
2499 if ((ops[yyvsp[-1]].ival & 255) == OFLD)
2500 lval_field = TRUE;
2501 else if ((ops[yyvsp[-1]].ival & 255) == OVFLD)
2502 lval_field = TRUE;
2503 }
2504break;
2505case 51:
2506#line 189 "a2p.y"
2507{
2508 yyval = oper1(OPREINCR,yyvsp[0]);
2509 if ((ops[yyvsp[0]].ival & 255) == OFLD)
2510 lval_field = TRUE;
2511 else if ((ops[yyvsp[0]].ival & 255) == OVFLD)
2512 lval_field = TRUE;
2513 }
2514break;
2515case 52:
2516#line 197 "a2p.y"
2517{
2518 yyval = oper1(OPREDECR,yyvsp[0]);
2519 if ((ops[yyvsp[0]].ival & 255) == OFLD)
2520 lval_field = TRUE;
2521 else if ((ops[yyvsp[0]].ival & 255) == OVFLD)
2522 lval_field = TRUE;
2523 }
2524break;
2525case 53:
2526#line 205 "a2p.y"
2527{ yyval = oper1(OUMINUS,yyvsp[0]); }
2528break;
2529case 54:
2530#line 207 "a2p.y"
2531{ yyval = oper1(OUPLUS,yyvsp[0]); }
2532break;
2533case 55:
2534#line 209 "a2p.y"
2535{ yyval = oper1(OPAREN,yyvsp[-1]); }
2536break;
2537case 56:
2538#line 211 "a2p.y"
2539{ yyval = oper0(OGETLINE); }
2540break;
2541case 57:
2542#line 213 "a2p.y"
2543{ yyval = oper1(OGETLINE,yyvsp[0]); }
2544break;
2545case 58:
2546#line 215 "a2p.y"
2547{ yyval = oper3(OGETLINE,Nullop,string("<",1),yyvsp[0]);
2548 if (ops[yyvsp[0]].ival != OSTR + (1<<8)) do_fancy_opens = TRUE; }
2549break;
2550case 59:
2551#line 218 "a2p.y"
2552{ yyval = oper3(OGETLINE,yyvsp[-2],string("<",1),yyvsp[0]);
2553 if (ops[yyvsp[0]].ival != OSTR + (1<<8)) do_fancy_opens = TRUE; }
2554break;
2555case 60:
2556#line 221 "a2p.y"
2557{ yyval = oper3(OGETLINE,Nullop,string("|",1),yyvsp[-2]);
2558 if (ops[yyvsp[-2]].ival != OSTR + (1<<8)) do_fancy_opens = TRUE; }
2559break;
2560case 61:
2561#line 224 "a2p.y"
2562{ yyval = oper3(OGETLINE,yyvsp[0],string("|",1),yyvsp[-3]);
2563 if (ops[yyvsp[-3]].ival != OSTR + (1<<8)) do_fancy_opens = TRUE; }
2564break;
2565case 62:
2566#line 227 "a2p.y"
2567{ yyval = oper0(yyvsp[0]); need_entire = do_chop = TRUE; }
2568break;
2569case 63:
2570#line 229 "a2p.y"
2571{ yyval = oper1(yyvsp[-2],Nullop); need_entire = do_chop = TRUE; }
2572break;
2573case 64:
2574#line 231 "a2p.y"
2575{ yyval = oper1(yyvsp[-3],yyvsp[-1]); }
2576break;
2577case 65:
2578#line 233 "a2p.y"
2579{ yyval = oper1(yyvsp[-3],yyvsp[-1]); }
2580break;
2581case 66:
2582#line 235 "a2p.y"
2583{ yyval = oper2(OUSERFUN,yyvsp[-3],yyvsp[-1]); }
2584break;
2585case 67:
2586#line 237 "a2p.y"
2587{ yyval = oper1(OSPRINTF,yyvsp[-1]); }
2588break;
2589case 68:
2590#line 239 "a2p.y"
2591{ yyval = oper1(OSPRINTF,yyvsp[0]); }
2592break;
2593case 69:
2594#line 241 "a2p.y"
2595{ yyval = oper3(OSUBSTR,yyvsp[-5],yyvsp[-3],yyvsp[-1]); }
2596break;
2597case 70:
2598#line 243 "a2p.y"
2599{ yyval = oper2(OSUBSTR,yyvsp[-3],yyvsp[-1]); }
2600break;
2601case 71:
2602#line 245 "a2p.y"
2603{ yyval = oper3(OSPLIT,yyvsp[-5],aryrefarg(numary(yyvsp[-3])),yyvsp[-1]); }
2604break;
2605case 72:
2606#line 247 "a2p.y"
2607{ yyval = oper3(OSPLIT,yyvsp[-5],aryrefarg(numary(yyvsp[-3])),oper1(OREGEX,yyvsp[-1]));}
2608break;
2609case 73:
2610#line 249 "a2p.y"
2611{ yyval = oper2(OSPLIT,yyvsp[-3],aryrefarg(numary(yyvsp[-1]))); }
2612break;
2613case 74:
2614#line 251 "a2p.y"
2615{ yyval = oper2(OINDEX,yyvsp[-3],yyvsp[-1]); }
2616break;
2617case 75:
2618#line 253 "a2p.y"
2619{ yyval = oper2(OMATCH,yyvsp[-3],oper1(OREGEX,yyvsp[-1])); }
2620break;
2621case 76:
2622#line 255 "a2p.y"
2623{ yyval = oper2(OMATCH,yyvsp[-3],yyvsp[-1]); }
2624break;
2625case 77:
2626#line 257 "a2p.y"
2627{ yyval = oper2(OSUB,yyvsp[-3],yyvsp[-1]); }
2628break;
2629case 78:
2630#line 259 "a2p.y"
2631{ yyval = oper2(OSUB,oper1(OREGEX,yyvsp[-3]),yyvsp[-1]); }
2632break;
2633case 79:
2634#line 261 "a2p.y"
2635{ yyval = oper2(OGSUB,yyvsp[-3],yyvsp[-1]); }
2636break;
2637case 80:
2638#line 263 "a2p.y"
2639{ yyval = oper2(OGSUB,oper1(OREGEX,yyvsp[-3]),yyvsp[-1]); }
2640break;
2641case 81:
2642#line 265 "a2p.y"
2643{ yyval = oper3(OSUB,yyvsp[-5],yyvsp[-3],yyvsp[-1]); }
2644break;
2645case 82:
2646#line 267 "a2p.y"
2647{ yyval = oper3(OSUB,oper1(OREGEX,yyvsp[-5]),yyvsp[-3],yyvsp[-1]); }
2648break;
2649case 83:
2650#line 269 "a2p.y"
2651{ yyval = oper3(OGSUB,yyvsp[-5],yyvsp[-3],yyvsp[-1]); }
2652break;
2653case 84:
2654#line 271 "a2p.y"
2655{ yyval = oper3(OGSUB,oper1(OREGEX,yyvsp[-5]),yyvsp[-3],yyvsp[-1]); }
2656break;
2657case 85:
2658#line 275 "a2p.y"
2659{ yyval = oper1(OVAR,yyvsp[0]); }
2660break;
2661case 86:
2662#line 277 "a2p.y"
2663{ yyval = oper2(OVAR,aryrefarg(yyvsp[-3]),yyvsp[-1]); }
2664break;
2665case 87:
2666#line 279 "a2p.y"
2667{ yyval = oper1(OFLD,yyvsp[0]); }
2668break;
2669case 88:
2670#line 281 "a2p.y"
2671{ yyval = oper1(OVFLD,oper1(OVAR,yyvsp[0])); }
2672break;
2673case 89:
2674#line 283 "a2p.y"
2675{ yyval = oper1(OVFLD,yyvsp[0]); }
2676break;
2677case 92:
2678#line 290 "a2p.y"
2679{ yyval = Nullop; }
2680break;
2681case 93:
2682#line 294 "a2p.y"
2683{ yyval = oper3(OCOMMA,yyvsp[-3],yyvsp[-1],yyvsp[0]); }
2684break;
2685case 94:
2686#line 296 "a2p.y"
2687{ yyval = oper3(OCOMMA,yyvsp[-3],yyvsp[-1],yyvsp[0]); }
2688break;
2689case 95:
2690#line 298 "a2p.y"
2691{ yyval = yyvsp[-1]; }
2692break;
2693case 96:
2694#line 302 "a2p.y"
2695{ yyval = oper2(OJUNK,yyvsp[-1],yyvsp[0]); }
2696break;
2697case 97:
2698#line 304 "a2p.y"
2699{ yyval = Nullop; }
2700break;
2701case 98:
2702#line 308 "a2p.y"
2703{ yyval = oper2(OJUNK,oper0(OSEMICOLON),oper0(ONEWLINE)); }
2704break;
2705case 99:
2706#line 310 "a2p.y"
2707{ yyval = oper2(OJUNK,oper0(OSEMICOLON),oper0(ONEWLINE)); }
2708break;
2709case 100:
2710#line 312 "a2p.y"
2711{ yyval = oper0(ONEWLINE); }
2712break;
2713case 101:
2714#line 314 "a2p.y"
2715{ yyval = oper1(OCOMMENT,yyvsp[0]); }
2716break;
2717case 102:
2718#line 318 "a2p.y"
2719{ yyval = oper2(OJUNK,yyvsp[-1],yyvsp[0]); }
2720break;
2721case 103:
2722#line 320 "a2p.y"
2723{ yyval = Nullop; }
2724break;
2725case 104:
2726#line 324 "a2p.y"
2727{ yyval = oper0(ONEWLINE); }
2728break;
2729case 105:
2730#line 326 "a2p.y"
2731{ yyval = oper1(OCOMMENT,yyvsp[0]); }
2732break;
2733case 106:
2734#line 331 "a2p.y"
2735{ yyval = oper2(OJUNK,oper0(OSEMICOLON),yyvsp[0]); }
2736break;
2737case 107:
2738#line 333 "a2p.y"
2739{ yyval = oper2(OJUNK,oper0(OSNEWLINE),yyvsp[0]); }
2740break;
2741case 108:
2742#line 335 "a2p.y"
2743{ yyval = oper2(OJUNK,oper0(OSNEWLINE),yyvsp[0]); }
2744break;
2745case 109:
2746#line 337 "a2p.y"
2747{ yyval = oper2(OJUNK,oper1(OSCOMMENT,yyvsp[-1]),yyvsp[0]); }
2748break;
2749case 110:
2750#line 341 "a2p.y"
2751{ yyval = oper2(OSTATES,yyvsp[-1],yyvsp[0]); }
2752break;
2753case 111:
2754#line 343 "a2p.y"
2755{ yyval = Nullop; }
2756break;
2757case 112:
2758#line 348 "a2p.y"
2759{ yyval = oper2(OJUNK,oper2(OSTATE,yyvsp[-2],yyvsp[-1]),yyvsp[0]); }
2760break;
2761case 113:
2762#line 350 "a2p.y"
2763{ yyval = oper2(OSTATE,Nullop,oper2(OJUNK,oper0(OSEMICOLON),yyvsp[0])); }
2764break;
2765case 114:
2766#line 352 "a2p.y"
2767{ yyval = oper2(OSTATE,Nullop,oper2(OJUNK,oper0(OSNEWLINE),yyvsp[0])); }
2768break;
2769case 117:
2770#line 358 "a2p.y"
2771{ yyval = Nullop; }
2772break;
2773case 119:
2774#line 364 "a2p.y"
2775{ yyval = oper3(OPRINT,yyvsp[-2],yyvsp[-1],yyvsp[0]);
2776 do_opens = TRUE;
2777 saw_ORS = saw_OFS = TRUE;
2778 if (!yyvsp[-2]) need_entire = TRUE;
2779 if (ops[yyvsp[0]].ival != OSTR + (1<<8)) do_fancy_opens = TRUE; }
2780break;
2781case 120:
2782#line 370 "a2p.y"
2783{ yyval = oper1(OPRINT,yyvsp[0]);
2784 if (!yyvsp[0]) need_entire = TRUE;
2785 saw_ORS = saw_OFS = TRUE;
2786 }
2787break;
2788case 121:
2789#line 375 "a2p.y"
2790{ yyval = oper3(OPRINTF,yyvsp[-2],yyvsp[-1],yyvsp[0]);
2791 do_opens = TRUE;
2792 if (!yyvsp[-2]) need_entire = TRUE;
2793 if (ops[yyvsp[0]].ival != OSTR + (1<<8)) do_fancy_opens = TRUE; }
2794break;
2795case 122:
2796#line 380 "a2p.y"
2797{ yyval = oper1(OPRINTF,yyvsp[0]);
2798 if (!yyvsp[0]) need_entire = TRUE;
2799 }
2800break;
2801case 123:
2802#line 384 "a2p.y"
2803{ yyval = oper0(OBREAK); }
2804break;
2805case 124:
2806#line 386 "a2p.y"
2807{ yyval = oper0(ONEXT); }
2808break;
2809case 125:
2810#line 388 "a2p.y"
2811{ yyval = oper0(OEXIT); }
2812break;
2813case 126:
2814#line 390 "a2p.y"
2815{ yyval = oper1(OEXIT,yyvsp[0]); }
2816break;
2817case 127:
2818#line 392 "a2p.y"
2819{ yyval = oper0(OCONTINUE); }
2820break;
2821case 128:
2822#line 394 "a2p.y"
2823{ yyval = oper0(ORETURN); }
2824break;
2825case 129:
2826#line 396 "a2p.y"
2827{ yyval = oper1(ORETURN,yyvsp[0]); }
2828break;
2829case 130:
2830#line 398 "a2p.y"
2831{ yyval = oper2(ODELETE,aryrefarg(yyvsp[-3]),yyvsp[-1]); }
2832break;
2833case 131:
2834#line 402 "a2p.y"
2835{ yyval = oper1(OREDIR,string(">",1)); }
2836break;
2837case 132:
2838#line 404 "a2p.y"
2839{ yyval = oper1(OREDIR,string(">>",2)); }
2840break;
2841case 133:
2842#line 406 "a2p.y"
2843{ yyval = oper1(OREDIR,string("|",1)); }
2844break;
2845case 134:
2846#line 411 "a2p.y"
2847{ yyval = oper2(OIF,yyvsp[-3],bl(yyvsp[0],yyvsp[-1])); }
2848break;
2849case 135:
2850#line 413 "a2p.y"
2851{ yyval = oper3(OIF,yyvsp[-6],bl(yyvsp[-3],yyvsp[-4]),bl(yyvsp[0],yyvsp[-1])); }
2852break;
2853case 136:
2854#line 415 "a2p.y"
2855{ yyval = oper2(OWHILE,yyvsp[-3],bl(yyvsp[0],yyvsp[-1])); }
2856break;
2857case 137:
2858#line 417 "a2p.y"
2859{ yyval = oper2(ODO,bl(yyvsp[-4],yyvsp[-5]),yyvsp[-1]); }
2860break;
2861case 138:
2862#line 419 "a2p.y"
2863{ yyval = oper4(OFOR,yyvsp[-7],yyvsp[-5],yyvsp[-3],bl(yyvsp[0],yyvsp[-1])); }
2864break;
2865case 139:
2866#line 421 "a2p.y"
2867{ yyval = oper4(OFOR,yyvsp[-6],string("",0),yyvsp[-3],bl(yyvsp[0],yyvsp[-1])); }
2868break;
2869case 140:
2870#line 423 "a2p.y"
2871{ yyval = oper2(OFORIN,yyvsp[-3],bl(yyvsp[0],yyvsp[-1])); }
2872break;
2873case 141:
2874#line 425 "a2p.y"
2875{ yyval = oper3(OBLOCK,oper2(OJUNK,yyvsp[-3],yyvsp[-2]),Nullop,yyvsp[0]); }
2876break;
2877#line 2878 "y.tab.c"
2878 }
2879 yyssp -= yym;
2880 yystate = *yyssp;
2881 yyvsp -= yym;
2882 yym = yylhs[yyn];
2883 if (yystate == 0 && yym == 0)
2884 {
2885#if YYDEBUG
2886 if (yydebug)
2887 printf("%sdebug: after reduction, shifting from state 0 to\
2888 state %d\n", YYPREFIX, YYFINAL);
2889#endif
2890 yystate = YYFINAL;
2891 *++yyssp = YYFINAL;
2892 *++yyvsp = yyval;
2893 if (yychar < 0)
2894 {
2895 if ((yychar = yylex()) < 0) yychar = 0;
2896#if YYDEBUG
2897 if (yydebug)
2898 {
2899 yys = 0;
2900 if (yychar <= YYMAXTOKEN) yys = yyname[yychar];
2901 if (!yys) yys = "illegal-symbol";
2902 printf("%sdebug: state %d, reading %d (%s)\n",
2903 YYPREFIX, YYFINAL, yychar, yys);
2904 }
2905#endif
2906 }
2907 if (yychar == 0) goto yyaccept;
2908 goto yyloop;
2909 }
2910 if ((yyn = yygindex[yym]) && (yyn += yystate) >= 0 &&
2911 yyn <= YYTABLESIZE && yycheck[yyn] == yystate)
2912 yystate = yytable[yyn];
2913 else
2914 yystate = yydgoto[yym];
2915#if YYDEBUG
2916 if (yydebug)
2917 printf("%sdebug: after reduction, shifting from state %d \
2918to state %d\n", YYPREFIX, *yyssp, yystate);
2919#endif
2920 if (yyssp >= yyss + yystacksize - 1)
2921 {
2922 goto yyoverflow;
2923 }
2924 *++yyssp = yystate;
2925 *++yyvsp = yyval;
2926 goto yyloop;
2927yyoverflow:
2928 yyerror("yacc stack overflow");
2929yyabort:
2930 return (1);
2931yyaccept:
2932 return (0);
2933}
Note: See TracBrowser for help on using the repository browser.