Bug Summary

File:src/usr.bin/awk/obj/awkgram.tab.c
Warning:line 2610, column 12
Access to field 'nval' results in a dereference of a null pointer (loaded from variable 'cp')

Annotated Source Code

Press '?' to see keyboard shortcuts

clang -cc1 -cc1 -triple amd64-unknown-openbsd7.0 -analyze -disable-free -disable-llvm-verifier -discard-value-names -main-file-name awkgram.tab.c -analyzer-store=region -analyzer-opt-analyze-nested-blocks -analyzer-checker=core -analyzer-checker=apiModeling -analyzer-checker=unix -analyzer-checker=deadcode -analyzer-checker=security.insecureAPI.UncheckedReturn -analyzer-checker=security.insecureAPI.getpw -analyzer-checker=security.insecureAPI.gets -analyzer-checker=security.insecureAPI.mktemp -analyzer-checker=security.insecureAPI.mkstemp -analyzer-checker=security.insecureAPI.vfork -analyzer-checker=nullability.NullPassedToNonnull -analyzer-checker=nullability.NullReturnedFromNonnull -analyzer-output plist -w -setup-static-analyzer -mrelocation-model pic -pic-level 1 -pic-is-pie -mframe-pointer=all -relaxed-aliasing -fno-rounding-math -mconstructor-aliases -munwind-tables -target-cpu x86-64 -target-feature +retpoline-indirect-calls -target-feature +retpoline-indirect-branches -tune-cpu generic -debugger-tuning=gdb -fcoverage-compilation-dir=/usr/src/usr.bin/awk/obj -resource-dir /usr/local/lib/clang/13.0.0 -I . -I /usr/src/usr.bin/awk -D HAS_ISBLANK -D NDEBUG -internal-isystem /usr/local/lib/clang/13.0.0/include -internal-externc-isystem /usr/include -O2 -fdebug-compilation-dir=/usr/src/usr.bin/awk/obj -ferror-limit 19 -fwrapv -D_RET_PROTECTOR -ret-protector -fgnuc-version=4.2.1 -vectorize-loops -vectorize-slp -fno-builtin-malloc -fno-builtin-calloc -fno-builtin-realloc -fno-builtin-valloc -fno-builtin-free -fno-builtin-strdup -fno-builtin-strndup -analyzer-output=html -faddrsig -D__GCC_HAVE_DWARF2_CFI_ASM=1 -o /home/ben/Projects/vmm/scan-build/2022-01-12-194120-40624-1 -x c awkgram.tab.c
1#include <stdlib.h>
2#include <string.h>
3#define YYBYACC1 1
4#define YYMAJOR1 1
5#define YYMINOR9 9
6#define YYLEXyylex() yylex()
7#define YYEMPTY-1 -1
8#define yyclearin(yychar=(-1)) (yychar=(YYEMPTY-1))
9#define yyerrok(yyerrflag=0) (yyerrflag=0)
10#define YYRECOVERING()(yyerrflag!=0) (yyerrflag!=0)
11#define YYPREFIX"yy" "yy"
12#line 27 "/usr/src/usr.bin/awk/awkgram.y"
13#include <stdio.h>
14#include <string.h>
15#include "awk.h"
16
17void checkdup(Node *list, Cell *item);
18int yywrap(void) { return(1); }
19
20Node *beginloc = 0;
21Node *endloc = 0;
22bool_Bool infunc = false0; /* = true if in arglist or body of func */
23int inloop = 0; /* >= 1 if in while, for, do; can't be bool, since loops can next */
24char *curfname = 0; /* current function name */
25Node *arglist = 0; /* list of args for current function */
26#line 42 "/usr/src/usr.bin/awk/awkgram.y"
27#ifndef YYSTYPE_DEFINED
28#define YYSTYPE_DEFINED
29typedef union {
30 Node *p;
31 Cell *cp;
32 int i;
33 char *s;
34} YYSTYPE;
35#endif /* YYSTYPE_DEFINED */
36#line 37 "awkgram.tab.c"
37#define FIRSTTOKEN257 257
38#define PROGRAM258 258
39#define PASTAT259 259
40#define PASTAT2260 260
41#define XBEGIN261 261
42#define XEND262 262
43#define NL263 263
44#define ARRAY264 264
45#define MATCH265 265
46#define NOTMATCH266 266
47#define MATCHOP267 267
48#define FINAL268 268
49#define DOT269 269
50#define ALL270 270
51#define CCL271 271
52#define NCCL272 272
53#define CHAR273 273
54#define OR274 274
55#define STAR275 275
56#define QUEST276 276
57#define PLUS277 277
58#define EMPTYRE278 278
59#define ZERO279 279
60#define AND280 280
61#define BOR281 281
62#define APPEND282 282
63#define EQ283 283
64#define GE284 284
65#define GT285 285
66#define LE286 286
67#define LT287 287
68#define NE288 288
69#define IN289 289
70#define ARG290 290
71#define BLTIN291 291
72#define BREAK292 292
73#define CLOSE293 293
74#define CONTINUE294 294
75#define DELETE295 295
76#define DO296 296
77#define EXIT297 297
78#define FOR298 298
79#define FUNC299 299
80#define GENSUB300 300
81#define SUB301 301
82#define GSUB302 302
83#define IF303 303
84#define INDEX304 304
85#define LSUBSTR305 305
86#define MATCHFCN306 306
87#define NEXT307 307
88#define NEXTFILE308 308
89#define ADD309 309
90#define MINUS310 310
91#define MULT311 311
92#define DIVIDE312 312
93#define MOD313 313
94#define ASSIGN314 314
95#define ASGNOP315 315
96#define ADDEQ316 316
97#define SUBEQ317 317
98#define MULTEQ318 318
99#define DIVEQ319 319
100#define MODEQ320 320
101#define POWEQ321 321
102#define PRINT322 322
103#define PRINTF323 323
104#define SPRINTF324 324
105#define ELSE325 325
106#define INTEST326 326
107#define CONDEXPR327 327
108#define POSTINCR328 328
109#define PREINCR329 329
110#define POSTDECR330 330
111#define PREDECR331 331
112#define VAR332 332
113#define IVAR333 333
114#define VARNF334 334
115#define CALL335 335
116#define NUMBER336 336
117#define STRING337 337
118#define REGEXPR338 338
119#define GETLINE339 339
120#define RETURN340 340
121#define SPLIT341 341
122#define SUBSTR342 342
123#define WHILE343 343
124#define CAT344 344
125#define NOT345 345
126#define UMINUS346 346
127#define UPLUS347 347
128#define POWER348 348
129#define DECR349 349
130#define INCR350 350
131#define INDIRECT351 351
132#define LASTTOKEN352 352
133#define YYERRCODE256 256
134const short yylhs[] =
135 { -1,
136 0, 0, 36, 36, 37, 37, 33, 33, 26, 26,
137 24, 24, 41, 22, 42, 22, 43, 22, 20, 20,
138 23, 30, 30, 34, 34, 35, 35, 29, 29, 15,
139 15, 1, 1, 10, 11, 11, 11, 11, 11, 11,
140 11, 44, 11, 12, 12, 6, 6, 3, 3, 3,
141 3, 3, 3, 3, 3, 3, 3, 3, 2, 2,
142 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
143 2, 2, 2, 2, 2, 2, 2, 4, 4, 5,
144 5, 7, 7, 7, 39, 39, 28, 28, 28, 28,
145 31, 31, 9, 9, 45, 13, 32, 32, 14, 14,
146 14, 14, 14, 14, 14, 14, 27, 27, 16, 16,
147 46, 47, 16, 16, 16, 16, 16, 16, 16, 16,
148 16, 16, 16, 16, 48, 16, 16, 17, 17, 38,
149 38, 40, 40, 8, 8, 8, 8, 8, 8, 8,
150 8, 8, 8, 8, 8, 8, 8, 8, 8, 8,
151 8, 8, 8, 8, 8, 8, 8, 8, 8, 8,
152 8, 8, 8, 8, 8, 8, 8, 8, 8, 8,
153 8, 8, 8, 8, 8, 8, 8, 8, 8, 18,
154 18, 18, 18, 21, 21, 21, 19, 19, 19, 25,
155};
156const short yylen[] =
157 { 2,
158 1, 1, 1, 2, 1, 2, 1, 2, 1, 2,
159 1, 2, 0, 12, 0, 10, 0, 8, 1, 1,
160 4, 1, 2, 1, 2, 0, 1, 0, 1, 0,
161 1, 1, 3, 1, 1, 4, 4, 7, 3, 4,
162 4, 0, 9, 1, 3, 1, 3, 3, 5, 3,
163 3, 3, 3, 3, 5, 2, 1, 1, 3, 5,
164 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
165 3, 5, 4, 3, 2, 1, 1, 3, 3, 1,
166 3, 0, 1, 3, 1, 1, 1, 1, 2, 2,
167 1, 2, 1, 2, 0, 4, 1, 2, 4, 4,
168 4, 2, 5, 2, 1, 1, 1, 2, 2, 2,
169 0, 0, 9, 3, 2, 1, 4, 2, 3, 2,
170 2, 3, 2, 2, 0, 3, 2, 1, 2, 1,
171 1, 1, 2, 4, 3, 3, 3, 3, 3, 3,
172 2, 2, 2, 3, 4, 1, 3, 4, 2, 2,
173 2, 2, 2, 8, 8, 10, 10, 4, 3, 2,
174 1, 6, 6, 3, 6, 6, 1, 8, 8, 6,
175 4, 1, 6, 6, 8, 8, 8, 6, 1, 1,
176 4, 1, 2, 0, 1, 3, 1, 1, 1, 4,
177};
178const short yydefred[] =
179 { 0,
180 2, 87, 88, 0, 1, 0, 0, 89, 90, 0,
181 0, 22, 0, 95, 188, 0, 0, 0, 0, 130,
182 131, 0, 0, 0, 187, 182, 189, 0, 167, 132,
183 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
184 0, 76, 0, 44, 0, 93, 0, 0, 0, 0,
185 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
186 0, 19, 20, 0, 0, 0, 0, 0, 0, 0,
187 0, 0, 0, 0, 0, 0, 94, 150, 151, 183,
188 0, 0, 3, 5, 0, 0, 0, 0, 0, 0,
189 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
190 0, 0, 0, 0, 0, 152, 153, 0, 106, 23,
191 0, 0, 0, 0, 9, 0, 0, 0, 0, 0,
192 85, 86, 0, 0, 0, 0, 128, 0, 116, 0,
193 125, 0, 0, 0, 0, 133, 0, 0, 7, 164,
194 0, 0, 0, 0, 144, 0, 0, 0, 0, 0,
195 0, 0, 0, 0, 147, 0, 0, 0, 0, 0,
196 0, 0, 69, 0, 0, 0, 0, 0, 0, 71,
197 0, 4, 0, 6, 0, 0, 0, 0, 0, 0,
198 0, 0, 24, 0, 0, 0, 45, 0, 0, 127,
199 0, 109, 0, 110, 0, 0, 115, 0, 0, 120,
200 121, 0, 123, 0, 124, 39, 129, 0, 0, 10,
201 0, 0, 0, 0, 0, 0, 0, 57, 0, 0,
202 0, 40, 41, 8, 0, 0, 0, 96, 145, 0,
203 185, 0, 0, 0, 0, 0, 171, 148, 0, 0,
204 0, 73, 0, 0, 25, 0, 36, 181, 108, 0,
205 114, 31, 0, 0, 0, 122, 0, 11, 0, 126,
206 112, 91, 0, 0, 0, 0, 0, 0, 0, 0,
207 0, 0, 0, 0, 0, 0, 0, 72, 0, 97,
208 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
209 0, 0, 0, 0, 0, 0, 0, 12, 117, 0,
210 92, 0, 0, 0, 52, 54, 0, 0, 0, 0,
211 0, 0, 0, 0, 0, 0, 98, 0, 186, 0,
212 0, 162, 163, 166, 165, 170, 0, 178, 0, 0,
213 103, 0, 0, 0, 0, 0, 0, 0, 174, 0,
214 173, 0, 0, 0, 0, 0, 0, 0, 38, 0,
215 0, 0, 0, 55, 0, 0, 0, 0, 0, 155,
216 0, 154, 0, 168, 169, 177, 0, 0, 0, 0,
217 176, 175, 43, 0, 0, 0, 0, 18, 0, 157,
218 156, 0, 0, 113, 16, 0, 0, 14,
219};
220const short yydgoto[] =
221 { 4,
222 5, 125, 214, 55, 215, 147, 216, 41, 42, 43,
223 44, 45, 46, 126, 253, 127, 128, 47, 48, 64,
224 232, 129, 130, 259, 131, 132, 192, 6, 7, 133,
225 263, 281, 230, 193, 185, 94, 95, 50, 134, 51,
226 387, 382, 369, 318, 56, 211, 300, 209,
227};
228const short yysindex[] =
229 { -54,
230 0, 0, 0, 0, 0, -57, 8851, 0, 0, -77,
231 -77, 0, 1477, 0, 0, 16, 9611, -266, 47, 0,
232 0, 58, 59, 64, 0, 0, 0, 66, 0, 0,
233 30, 76, 82, 9611, 9611, 9346, -214, -214, 9611, 8240,
234 -13, 0, 15, 0, -34, 0, -226, -21, 5032, 99,
235 -277, 5032, 5032, 6542, 50, -192, 384, 1477, 9611, -13,
236 -272, 0, 0, 113, 1477, 1477, 1477, 1477, 977, 9611,
237 -117, 1477, 1477, -176, -176, -176, 0, 0, 0, 0,
238 -162, 1477, 0, 0, 1477, 1477, 1477, 1477, 1477, 1477,
239 -222, 1477, -13, 9028, 9081, 9399, 9611, 9611, 9611, 9611,
240 9611, -82, 5032, 8851, 1477, 0, 0, 1477, 0, 0,
241 -82, -24, -24, -222, 0, 8975, 142, 160, -24, -24,
242 0, 0, 8975, 167, 8240, -24, 0, 5094, 0, 5767,
243 0, -73, 5032, 9452, 1477, 0, 5164, 5366, 0, 0,
244 9134, -78, 9134, 165, 0, 8240, 52, 7187, -115, 7273,
245 201, 7273, 7273, 86, 0, 121, -13, 9611, 7273, 7273,
246 -214, 9664, 0, 9664, 9664, 9664, 9664, 9664, 9664, 0,
247 7359, 0, 8657, 0, 8584, 9611, -176, -36, -36, -176,
248 -176, -176, 0, -14, 1477, 5435, 0, 8240, 10, 0,
249 -82, 0, -14, 0, 168, 6652, 0, 8922, 1477, 0,
250 0, 6652, 0, 1477, 0, 0, 0, -65, 5767, 0,
251 5767, 5498, 1477, 2889, 201, -81, -13, 0, -189, 7273,
252 201, 0, 0, 0, 8240, -222, 8240, 0, 0, 9134,
253 0, 148, 9134, 9134, 9134, 9134, 0, 0, -13, -106,
254 9134, 0, 1477, -13, 0, -77, 0, 0, 0, 1477,
255 0, 0, 205, -55, 7454, 0, 7454, 0, 5560, 0,
256 0, 0, 12, 150, 9505, -222, 9505, -13, 9187, 9240,
257 9293, 9611, 9611, 9611, 9505, 9134, 9134, 0, 8240, 0,
258 14, -225, 7273, 7273, 7527, 242, 7626, 243, 179, 6741,
259 8240, 5032, 21, -12, -222, 14, 14, 0, 0, -48,
260 0, -1, 1477, 9664, 0, 0, 8759, 5639, 886, 2889,
261 -13, -13, -13, 2889, 6827, 6920, 0, -77, 0, 9134,
262 9134, 0, 0, 0, 0, 0, 9134, 0, 9134, 5704,
263 0, -82, 1477, 248, 256, -222, 181, 9505, 0, -158,
264 0, -158, 5032, 7008, 7094, 7721, 260, 7794, 0, 8922,
265 7893, 14, 1477, 0, -1, 2889, 267, 268, 5829, 0,
266 9134, 0, 9134, 0, 0, 0, 248, -82, 5767, 7988,
267 0, 0, 0, 8061, 8160, 14, 8922, 0, -24, 0,
268 0, 5767, 248, 0, 0, 14, 5767, 0,};
269const short yyrindex[] =
270 { 3327,
271 0, 0, 0, 0, 0, 3853, 313, 0, 0, 0,
272 0, 0, 0, 0, 0, 704, 0, 0, 0, 0,
273 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
274 4026, 0, 0, 0, 0, 0, 0, 0, 0, 41,
275 3581, 0, 1972, 0, 3327, 0, 2612, 613, 0, 0,
276 799, 0, 0, 0, 0, 0, 0, 0, 0, 3051,
277 2300, 0, 0, 0, 0, 0, 0, 0, 0, 0,
278 1115, 0, 0, 1206, 1300, 1616, 0, 0, 0, 0,
279 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
280 0, 0, 3673, 0, 0, 0, 0, 0, 0, 0,
281 0, 9558, 0, 318, 0, 0, 0, 0, 0, 0,
282 4720, 0, 0, 0, 0, 0, 0, 0, 0, 0,
283 0, 0, 0, 0, -32, 0, 0, 0, 0, 0,
284 0, 6036, 0, 56, 0, 0, 0, 0, 0, 0,
285 0, 0, 0, 0, 0, 20, 0, 0, 292, 0,
286 8313, 0, 0, 0, 0, 0, 3143, 0, 0, 0,
287 4120, 183, 0, 3118, 4168, 4210, 4223, 4236, 4395, 0,
288 0, 0, 451, 0, 1629, 0, 1701, 2703, 2797, 1800,
289 2116, 2201, 0, 4619, 0, 0, 0, 812, 0, 0,
290 4720, 0, 4824, 0, -31, 0, 0, 263, 0, 0,
291 0, 0, 0, 0, 0, 0, 0, 5891, 0, 0,
292 0, 0, 0, 1069, 206, -28, 8414, 0, 4557, 0,
293 8313, 0, 0, 0, 307, 0, 335, 0, 0, 0,
294 0, 0, 0, 0, 0, 0, 0, 0, 3235, 0,
295 0, 0, 0, 3489, 0, 3758, 0, 0, 0, 0,
296 0, 0, 0, 4468, 0, 0, 0, 0, 0, 0,
297 0, 0, 4941, 0, 0, 0, 0, 8507, 0, 0,
298 0, 0, 0, 0, 0, 0, 0, 0, 266, 0,
299 203, 0, 0, 0, 0, 8313, 0, 8313, 0, 0,
300 1215, 0, 0, 9558, 0, 6098, 6160, 0, 0, 0,
301 0, 600, 0, 155, 0, 0, 0, 325, 1329, 1083,
302 -2, 8, 31, 714, 0, 0, 0, 0, 0, 0,
303 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
304 0, 2483, 0, 0, 0, 0, 0, 0, 0, 0,
305 0, 0, 0, 0, 0, 0, 8313, 0, 0, 283,
306 0, 6222, 0, 0, 0, 744, 0, 0, 0, 0,
307 0, 0, 0, 0, 0, 0, 0, 2483, 0, 0,
308 0, 0, 0, 0, 0, 6367, 283, 0, 0, 0,
309 0, 0, 0, 0, 0, 6429, 0, 0,};
310const short yygindex[] =
311 { 0,
312 0, 557, 103, -163, 0, -6, 0, 246, 85, 147,
313 233, 0, -49, -172, -306, 340, 22, -17, 342, 0,
314 0, 0, 0, 0, 0, 0, -68, 0, 304, -3,
315 0, -146, 2466, -99, -96, -141, 176, 0, 0, 0,
316 0, 0, 0, 0, 0, 0, 0, 0,
317};
318#define YYTABLESIZE10015 10015
319const short yytable[] =
320 { 61,
321 100, 9, 184, 49, 3, 99, 52, 53, 105, 104,
322 96, 184, 102, 71, 190, 151, 61, 61, 61, 78,
323 79, 61, 61, 100, 3, 252, 105, 104, 99, 97,
324 102, 98, 163, 96, 191, 108, 61, 224, 99, 103,
325 34, 61, 272, 367, 194, 12, 332, 197, 100, 264,
326 200, 201, 61, 139, 203, 57, 99, 205, 102, 136,
327 46, 154, 156, 46, 139, 62, 100, 15, 63, 108,
328 383, 101, 269, 137, 138, 15, 106, 107, 61, 61,
329 61, 61, 61, 61, 34, 221, 65, 34, 105, 101,
330 142, 184, 229, 139, 249, 139, 82, 66, 67, 34,
331 49, 189, 248, 68, 224, 69, 319, 61, 296, 25,
332 297, 27, 46, 331, 82, 72, 219, 25, 26, 27,
333 77, 73, 106, 107, 186, 275, 237, 251, 61, 139,
334 61, 15, 61, 256, 61, 61, 39, 12, 135, 337,
335 61, 61, 61, 242, 61, 144, 61, 61, 61, 61,
336 61, 61, 149, 61, 212, 61, 224, 61, 61, 106,
337 107, 238, 269, 34, 139, 269, 269, 269, 269, 158,
338 61, 101, 269, 25, 26, 27, 161, 252, 61, 82,
339 183, 198, 70, 15, 61, 286, 288, 352, 280, 210,
340 302, 139, 39, 139, 184, 53, 61, 333, 53, 199,
341 273, 1, 61, 274, 252, 8, 204, 61, 2, 61,
342 226, 228, 53, 53, 269, 305, 231, 53, 218, 326,
343 376, 355, 139, 70, 139, 25, 70, 27, 2, 70,
344 105, 104, 184, 295, 102, 350, 386, 61, 183, 61,
345 70, 70, 292, 293, 139, 70, 83, 219, 245, 219,
346 183, 219, 219, 219, 61, 61, 61, 219, 250, 258,
347 99, 61, 60, 294, 83, 61, 61, 61, 184, 61,
348 100, 377, 61, 61, 301, 70, 317, 347, 53, 74,
349 75, 76, 323, 325, 80, 93, 61, 336, 280, 61,
350 61, 61, 61, 101, 335, 353, 61, 61, 61, 93,
351 365, 34, 34, 34, 76, 70, 47, 371, 372, 47,
352 384, 101, 32, 330, 343, 157, 70, 33, 82, 15,
353 219, 30, 357, 30, 358, 42, 61, 61, 61, 83,
354 61, 246, 184, 61, 101, 184, 187, 82, 61, 34,
355 82, 177, 178, 179, 180, 181, 182, 78, 104, 218,
356 78, 218, 61, 218, 218, 218, 61, 61, 47, 218,
357 0, 25, 26, 27, 359, 51, 0, 304, 51, 307,
358 93, 308, 309, 310, 0, 79, 0, 314, 79, 217,
359 39, 0, 51, 51, 0, 0, 0, 51, 0, 270,
360 0, 93, 0, 93, 0, 93, 0, 93, 93, 0,
361 0, 0, 0, 239, 93, 93, 0, 93, 0, 93,
362 93, 93, 93, 93, 93, 0, 93, 53, 93, 0,
363 93, 244, 218, 13, 145, 0, 34, 0, 35, 0,
364 14, 0, 170, 93, 53, 53, 53, 0, 0, 53,
365 356, 93, 0, 70, 70, 70, 0, 93, 51, 0,
366 62, 0, 0, 0, 0, 195, 0, 0, 0, 268,
367 0, 0, 70, 70, 0, 93, 0, 207, 83, 208,
368 93, 0, 93, 0, 0, 0, 207, 207, 0, 270,
369 0, 70, 270, 270, 270, 270, 0, 83, 0, 270,
370 83, 62, 0, 53, 62, 0, 0, 62, 0, 0,
371 93, 0, 93, 0, 0, 0, 0, 0, 62, 62,
372 217, 0, 217, 62, 217, 217, 217, 311, 312, 313,
373 217, 70, 0, 0, 93, 207, 0, 0, 93, 93,
374 93, 270, 93, 0, 0, 93, 93, 0, 0, 254,
375 0, 0, 0, 62, 0, 0, 0, 0, 260, 268,
376 261, 207, 268, 268, 268, 268, 0, 0, 0, 268,
377 93, 93, 0, 40, 0, 0, 0, 278, 0, 54,
378 0, 0, 0, 62, 0, 0, 0, 0, 0, 0,
379 0, 289, 0, 217, 0, 0, 0, 51, 0, 93,
380 93, 93, 0, 93, 0, 0, 93, 0, 299, 0,
381 0, 268, 0, 0, 51, 51, 51, 306, 0, 51,
382 0, 0, 180, 146, 148, 93, 0, 0, 0, 93,
383 93, 150, 152, 153, 146, 146, 0, 0, 159, 160,
384 0, 0, 0, 0, 0, 0, 334, 0, 162, 0,
385 84, 164, 165, 166, 167, 168, 169, 0, 171, 180,
386 173, 175, 180, 180, 180, 180, 180, 180, 84, 180,
387 40, 188, 0, 0, 146, 0, 0, 0, 0, 207,
388 180, 180, 196, 15, 16, 180, 17, 354, 0, 202,
389 0, 0, 0, 19, 20, 21, 0, 22, 0, 23,
390 0, 220, 0, 0, 0, 0, 0, 225, 207, 227,
391 0, 0, 0, 146, 0, 180, 0, 24, 378, 0,
392 0, 62, 62, 62, 0, 25, 26, 27, 28, 29,
393 30, 385, 31, 84, 32, 33, 388, 0, 36, 0,
394 62, 62, 37, 38, 39, 180, 180, 0, 0, 0,
395 146, 40, 0, 0, 146, 146, 146, 146, 146, 62,
396 146, 0, 0, 0, 48, 255, 0, 48, 0, 0,
397 257, 146, 146, 0, 0, 0, 146, 0, 0, 54,
398 0, 48, 48, 0, 0, 0, 0, 0, 0, 0,
399 0, 0, 0, 0, 49, 0, 279, 49, 0, 283,
400 284, 285, 287, 0, 0, 0, 146, 290, 172, 291,
401 0, 49, 49, 0, 0, 0, 146, 0, 0, 0,
402 0, 59, 0, 0, 0, 0, 0, 0, 0, 0,
403 0, 0, 0, 0, 0, 0, 146, 146, 0, 0,
404 0, 0, 315, 316, 0, 172, 0, 48, 172, 172,
405 172, 172, 172, 172, 0, 172, 0, 0, 0, 0,
406 0, 0, 59, 0, 0, 59, 172, 172, 59, 54,
407 0, 172, 84, 0, 0, 0, 0, 49, 0, 59,
408 59, 0, 0, 180, 180, 180, 344, 345, 0, 180,
409 0, 84, 0, 346, 84, 348, 0, 0, 0, 351,
410 0, 172, 180, 180, 180, 180, 180, 180, 180, 180,
411 180, 180, 180, 180, 59, 180, 0, 0, 0, 370,
412 0, 180, 180, 180, 180, 0, 180, 374, 180, 375,
413 0, 172, 172, 0, 0, 58, 0, 180, 34, 0,
414 35, 0, 0, 0, 59, 0, 180, 0, 0, 0,
415 0, 0, 0, 0, 180, 180, 180, 180, 180, 180,
416 0, 180, 0, 180, 180, 0, 0, 180, 0, 0,
417 180, 180, 180, 180, 146, 146, 146, 0, 0, 0,
418 146, 0, 0, 0, 0, 0, 48, 0, 0, 0,
419 0, 0, 0, 146, 146, 146, 146, 146, 146, 146,
420 146, 146, 146, 146, 146, 48, 146, 0, 48, 0,
421 0, 0, 146, 146, 146, 146, 49, 146, 0, 146,
422 0, 0, 0, 0, 0, 0, 13, 155, 146, 34,
423 0, 35, 0, 14, 0, 49, 0, 146, 49, 0,
424 0, 0, 0, 0, 0, 146, 146, 146, 146, 146,
425 146, 0, 146, 0, 146, 146, 0, 0, 146, 0,
426 0, 146, 146, 146, 146, 0, 0, 0, 0, 172,
427 172, 172, 0, 0, 0, 172, 0, 0, 0, 0,
428 0, 0, 59, 59, 59, 0, 0, 0, 172, 172,
429 172, 172, 172, 172, 172, 172, 172, 172, 172, 172,
430 0, 172, 0, 0, 0, 0, 0, 172, 172, 172,
431 172, 0, 172, 0, 172, 0, 0, 0, 0, 80,
432 59, 0, 80, 172, 160, 0, 0, 0, 0, 0,
433 0, 0, 172, 81, 0, 0, 81, 80, 0, 0,
434 172, 172, 172, 172, 172, 0, 0, 172, 0, 172,
435 172, 81, 0, 172, 0, 0, 172, 172, 172, 172,
436 0, 160, 265, 0, 160, 160, 160, 160, 160, 160,
437 0, 160, 0, 0, 0, 83, 0, 0, 0, 0,
438 0, 0, 160, 160, 266, 15, 16, 160, 17, 0,
439 0, 0, 0, 0, 0, 19, 20, 21, 0, 22,
440 0, 23, 80, 0, 0, 0, 0, 0, 0, 0,
441 0, 0, 0, 0, 0, 142, 81, 160, 0, 24,
442 0, 0, 0, 0, 60, 0, 0, 25, 26, 27,
443 28, 29, 30, 0, 31, 0, 32, 33, 0, 0,
444 59, 0, 0, 0, 37, 38, 39, 160, 160, 0,
445 0, 0, 142, 0, 0, 142, 142, 142, 142, 142,
446 142, 0, 142, 0, 0, 60, 0, 0, 60, 0,
447 0, 60, 0, 142, 142, 0, 15, 16, 142, 17,
448 0, 0, 60, 60, 0, 0, 19, 20, 21, 0,
449 22, 0, 23, 0, 0, 0, 0, 0, 0, 0,
450 0, 0, 0, 0, 0, 0, 0, 0, 142, 141,
451 24, 0, 0, 0, 0, 0, 0, 60, 25, 26,
452 27, 28, 29, 30, 0, 31, 0, 32, 33, 0,
453 0, 36, 0, 0, 0, 37, 38, 39, 142, 142,
454 0, 80, 0, 0, 0, 0, 141, 60, 0, 141,
455 141, 141, 141, 141, 141, 81, 141, 0, 0, 0,
456 80, 0, 0, 80, 0, 0, 0, 141, 141, 0,
457 0, 0, 141, 0, 81, 0, 0, 81, 0, 50,
458 0, 0, 50, 0, 0, 160, 160, 160, 0, 0,
459 0, 160, 0, 0, 0, 0, 50, 50, 0, 0,
460 0, 50, 141, 0, 160, 160, 160, 160, 160, 160,
461 160, 0, 160, 160, 160, 160, 0, 160, 0, 0,
462 0, 0, 0, 160, 160, 160, 160, 0, 160, 0,
463 160, 0, 141, 141, 0, 0, 0, 0, 0, 160,
464 0, 0, 0, 0, 0, 0, 0, 0, 160, 0,
465 0, 0, 0, 0, 0, 0, 160, 160, 160, 160,
466 160, 160, 50, 160, 0, 160, 160, 0, 0, 160,
467 0, 0, 160, 160, 160, 160, 142, 142, 142, 0,
468 0, 0, 142, 0, 0, 60, 60, 60, 0, 0,
469 0, 0, 0, 0, 0, 142, 142, 142, 142, 142,
470 142, 142, 142, 142, 142, 142, 142, 0, 142, 0,
471 0, 0, 0, 0, 142, 142, 142, 142, 0, 142,
472 0, 142, 0, 60, 0, 0, 13, 0, 0, 34,
473 142, 35, 0, 14, 0, 0, 0, 0, 0, 142,
474 0, 0, 0, 0, 0, 0, 0, 142, 142, 142,
475 142, 142, 142, 0, 142, 0, 142, 142, 0, 0,
476 142, 0, 0, 0, 142, 142, 142, 0, 0, 0,
477 141, 141, 141, 0, 0, 0, 141, 0, 0, 0,
478 0, 0, 0, 0, 0, 0, 0, 0, 0, 141,
479 141, 141, 141, 141, 141, 141, 141, 141, 141, 141,
480 141, 50, 141, 0, 0, 0, 0, 0, 141, 141,
481 141, 141, 0, 141, 0, 141, 0, 0, 0, 50,
482 50, 0, 0, 50, 141, 143, 0, 0, 0, 0,
483 0, 0, 0, 141, 0, 0, 0, 0, 61, 0,
484 0, 141, 141, 141, 141, 141, 141, 0, 141, 0,
485 141, 141, 0, 0, 141, 0, 0, 0, 141, 141,
486 141, 0, 143, 0, 0, 143, 143, 143, 143, 143,
487 143, 0, 143, 0, 0, 0, 0, 0, 0, 61,
488 0, 0, 61, 143, 143, 61, 0, 0, 143, 0,
489 0, 0, 0, 0, 0, 0, 61, 61, 0, 0,
490 0, 61, 0, 0, 0, 0, 0, 0, 0, 0,
491 138, 0, 0, 0, 0, 0, 0, 0, 143, 0,
492 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
493 0, 61, 0, 0, 0, 0, 0, 0, 0, 0,
494 0, 0, 0, 0, 0, 0, 0, 138, 143, 143,
495 138, 138, 138, 138, 138, 138, 0, 138, 0, 0,
496 0, 61, 0, 0, 0, 0, 0, 0, 138, 138,
497 0, 0, 0, 138, 0, 0, 15, 16, 0, 17,
498 0, 0, 0, 0, 0, 0, 19, 20, 21, 0,
499 22, 0, 23, 0, 0, 0, 0, 0, 0, 0,
500 0, 0, 0, 138, 0, 0, 0, 0, 0, 137,
501 24, 0, 0, 0, 0, 0, 0, 0, 25, 26,
502 27, 28, 29, 30, 0, 31, 0, 32, 33, 0,
503 0, 36, 0, 138, 138, 37, 38, 39, 0, 0,
504 0, 0, 0, 0, 0, 0, 137, 0, 0, 137,
505 137, 137, 137, 137, 137, 0, 137, 0, 0, 0,
506 0, 0, 0, 0, 0, 0, 0, 137, 137, 0,
507 0, 0, 137, 0, 0, 0, 0, 0, 0, 0,
508 0, 0, 0, 0, 0, 0, 143, 143, 143, 0,
509 0, 0, 143, 0, 0, 0, 0, 0, 0, 61,
510 61, 61, 137, 0, 0, 143, 143, 143, 143, 143,
511 143, 143, 143, 143, 143, 143, 143, 0, 143, 61,
512 0, 0, 0, 0, 143, 143, 143, 143, 0, 143,
513 0, 143, 137, 137, 0, 0, 0, 61, 0, 0,
514 143, 0, 0, 0, 0, 0, 0, 0, 0, 143,
515 0, 0, 0, 0, 0, 0, 0, 143, 143, 143,
516 143, 143, 143, 0, 143, 0, 143, 143, 0, 0,
517 143, 138, 138, 138, 143, 143, 143, 138, 0, 0,
518 0, 35, 0, 0, 0, 0, 0, 0, 0, 0,
519 138, 138, 138, 138, 138, 138, 138, 138, 138, 138,
520 138, 138, 0, 138, 0, 0, 0, 0, 0, 138,
521 138, 138, 138, 0, 138, 0, 138, 0, 0, 0,
522 0, 35, 0, 0, 35, 138, 35, 0, 35, 0,
523 0, 0, 0, 0, 138, 0, 0, 0, 0, 0,
524 35, 0, 138, 138, 138, 138, 138, 138, 0, 138,
525 0, 138, 138, 0, 0, 138, 0, 0, 0, 138,
526 138, 138, 0, 0, 0, 0, 0, 0, 0, 0,
527 137, 137, 137, 0, 0, 0, 137, 0, 0, 0,
528 0, 0, 0, 0, 0, 0, 0, 0, 0, 137,
529 137, 137, 137, 137, 137, 137, 137, 137, 137, 137,
530 137, 0, 137, 0, 0, 0, 0, 0, 137, 137,
531 137, 137, 0, 137, 0, 137, 0, 0, 0, 0,
532 0, 0, 0, 0, 137, 139, 0, 0, 0, 0,
533 0, 0, 0, 137, 0, 0, 0, 0, 0, 0,
534 0, 137, 137, 137, 137, 137, 137, 0, 137, 0,
535 137, 137, 0, 0, 137, 0, 0, 0, 137, 137,
536 137, 0, 139, 0, 0, 139, 139, 139, 139, 139,
537 139, 0, 139, 0, 0, 0, 0, 0, 0, 0,
538 0, 0, 0, 139, 139, 0, 0, 0, 139, 0,
539 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
540 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
541 140, 0, 0, 0, 0, 0, 0, 0, 139, 0,
542 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
543 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
544 0, 0, 35, 35, 35, 0, 0, 140, 139, 139,
545 140, 140, 140, 140, 140, 140, 0, 140, 0, 0,
546 0, 0, 0, 0, 0, 0, 0, 0, 140, 140,
547 0, 35, 35, 140, 35, 0, 0, 0, 0, 0,
548 35, 35, 35, 35, 0, 35, 0, 35, 0, 0,
549 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
550 0, 0, 0, 140, 0, 35, 0, 0, 0, 179,
551 0, 0, 0, 35, 35, 35, 35, 35, 35, 0,
552 35, 0, 35, 35, 0, 0, 35, 0, 0, 0,
553 35, 35, 35, 140, 140, 0, 0, 0, 0, 0,
554 0, 0, 0, 0, 0, 0, 179, 0, 0, 179,
555 179, 179, 179, 179, 179, 0, 179, 0, 0, 0,
556 0, 0, 0, 0, 0, 0, 0, 179, 179, 0,
557 0, 0, 179, 0, 0, 0, 0, 0, 0, 0,
558 0, 0, 0, 0, 0, 0, 139, 139, 139, 0,
559 0, 0, 139, 0, 0, 0, 0, 0, 0, 0,
560 0, 0, 179, 0, 0, 139, 139, 139, 139, 139,
561 139, 139, 139, 139, 139, 139, 139, 0, 139, 0,
562 0, 0, 0, 0, 139, 139, 139, 139, 0, 139,
563 0, 139, 179, 179, 0, 0, 0, 0, 0, 0,
564 139, 0, 0, 0, 0, 0, 0, 0, 0, 139,
565 0, 0, 0, 0, 0, 0, 0, 139, 139, 139,
566 139, 139, 139, 0, 139, 0, 139, 139, 0, 0,
567 139, 140, 140, 140, 139, 139, 139, 140, 0, 0,
568 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
569 140, 140, 140, 140, 140, 140, 140, 140, 140, 140,
570 140, 140, 0, 140, 0, 0, 0, 0, 0, 140,
571 140, 140, 140, 0, 140, 0, 140, 0, 0, 0,
572 0, 0, 0, 0, 0, 140, 0, 0, 0, 141,
573 143, 0, 26, 26, 140, 26, 0, 26, 0, 26,
574 0, 0, 140, 140, 140, 140, 140, 140, 0, 140,
575 0, 140, 140, 0, 0, 140, 0, 0, 0, 140,
576 140, 140, 0, 0, 0, 0, 0, 0, 0, 0,
577 179, 179, 179, 0, 0, 0, 179, 0, 0, 0,
578 0, 0, 0, 0, 0, 0, 0, 0, 0, 179,
579 179, 179, 179, 179, 179, 179, 179, 179, 179, 179,
580 179, 0, 179, 0, 0, 0, 0, 0, 179, 179,
581 179, 179, 0, 179, 0, 179, 0, 0, 0, 0,
582 0, 179, 0, 0, 179, 233, 234, 235, 236, 0,
583 0, 0, 0, 179, 240, 241, 0, 0, 0, 0,
584 0, 179, 179, 179, 179, 179, 179, 0, 179, 0,
585 179, 179, 0, 0, 179, 0, 0, 179, 179, 0,
586 179, 179, 179, 179, 179, 179, 179, 0, 179, 0,
587 0, 0, 0, 0, 0, 0, 0, 0, 0, 179,
588 179, 0, 0, 0, 179, 0, 0, 0, 0, 0,
589 271, 0, 0, 0, 0, 276, 277, 0, 0, 0,
590 0, 0, 0, 0, 0, 0, 0, 282, 0, 0,
591 0, 0, 135, 0, 179, 0, 0, 0, 0, 0,
592 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
593 0, 0, 0, 0, 0, 0, 0, 0, 0, 143,
594 0, 0, 0, 0, 179, 179, 0, 0, 26, 0,
595 0, 0, 135, 135, 0, 135, 135, 135, 320, 321,
596 0, 0, 0, 0, 327, 329, 0, 0, 0, 0,
597 135, 135, 0, 0, 0, 135, 0, 0, 0, 0,
598 0, 0, 26, 26, 0, 26, 0, 26, 0, 0,
599 340, 342, 26, 26, 26, 0, 26, 0, 26, 0,
600 0, 0, 0, 0, 0, 135, 136, 0, 0, 0,
601 0, 0, 143, 0, 26, 26, 26, 0, 0, 361,
602 363, 0, 0, 0, 26, 26, 26, 26, 26, 26,
603 0, 26, 0, 26, 26, 135, 135, 26, 0, 0,
604 0, 26, 26, 26, 0, 0, 136, 136, 0, 136,
605 136, 136, 0, 0, 0, 0, 0, 0, 0, 0,
606 0, 0, 0, 0, 136, 136, 0, 0, 0, 136,
607 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
608 0, 0, 179, 179, 179, 0, 0, 0, 179, 0,
609 0, 0, 0, 0, 0, 0, 0, 0, 0, 136,
610 0, 179, 179, 0, 179, 179, 179, 179, 179, 179,
611 179, 179, 179, 0, 179, 0, 0, 0, 0, 0,
612 179, 179, 179, 179, 0, 179, 0, 179, 0, 136,
613 136, 0, 0, 0, 0, 0, 0, 0, 58, 0,
614 0, 34, 0, 35, 0, 179, 0, 0, 0, 0,
615 0, 0, 0, 179, 179, 179, 179, 179, 179, 0,
616 179, 267, 179, 179, 0, 0, 179, 0, 0, 179,
617 0, 0, 179, 135, 135, 135, 0, 0, 0, 135,
618 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
619 0, 0, 135, 135, 135, 135, 135, 135, 135, 135,
620 135, 135, 135, 135, 0, 135, 0, 0, 0, 0,
621 0, 135, 135, 135, 135, 0, 135, 0, 135, 0,
622 0, 0, 0, 0, 0, 0, 0, 135, 0, 0,
623 0, 0, 0, 0, 0, 0, 135, 0, 0, 0,
624 0, 0, 0, 0, 135, 135, 135, 135, 135, 135,
625 0, 135, 0, 135, 135, 0, 0, 135, 0, 0,
626 149, 135, 135, 135, 0, 0, 0, 136, 136, 136,
627 0, 0, 0, 136, 0, 0, 0, 0, 0, 0,
628 0, 0, 0, 0, 0, 0, 136, 136, 136, 136,
629 136, 136, 136, 136, 136, 136, 136, 136, 0, 136,
630 149, 149, 0, 0, 149, 136, 136, 136, 136, 0,
631 136, 0, 136, 0, 0, 0, 0, 0, 149, 149,
632 0, 136, 0, 149, 0, 0, 0, 63, 0, 0,
633 136, 0, 0, 0, 0, 0, 0, 0, 136, 136,
634 136, 136, 136, 136, 0, 136, 0, 136, 136, 0,
635 0, 136, 159, 149, 0, 136, 136, 136, 0, 0,
636 0, 0, 0, 0, 0, 265, 0, 0, 63, 0,
637 0, 63, 0, 0, 63, 0, 0, 0, 83, 84,
638 0, 0, 0, 149, 149, 63, 63, 266, 15, 16,
639 63, 17, 159, 159, 0, 0, 159, 0, 19, 20,
640 21, 0, 22, 0, 23, 0, 0, 0, 0, 0,
641 159, 159, 0, 0, 0, 159, 0, 0, 0, 0,
642 63, 0, 24, 0, 0, 0, 0, 0, 0, 0,
643 25, 26, 27, 28, 29, 30, 0, 31, 0, 32,
644 33, 0, 0, 59, 158, 159, 0, 37, 38, 39,
645 63, 0, 0, 0, 0, 0, 0, 0, 0, 0,
646 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
647 0, 0, 0, 0, 0, 159, 159, 0, 0, 0,
648 0, 0, 0, 0, 158, 158, 0, 0, 158, 0,
649 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
650 0, 0, 158, 158, 0, 0, 0, 158, 0, 0,
651 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
652 0, 149, 149, 149, 0, 0, 0, 149, 0, 0,
653 0, 0, 0, 0, 0, 0, 28, 158, 0, 0,
654 149, 149, 149, 149, 149, 149, 149, 149, 149, 149,
655 149, 149, 0, 149, 0, 0, 0, 0, 0, 149,
656 149, 149, 149, 0, 149, 0, 149, 158, 158, 0,
657 0, 0, 0, 0, 0, 149, 28, 0, 0, 28,
658 0, 28, 0, 28, 149, 0, 0, 0, 63, 63,
659 63, 0, 149, 149, 149, 149, 149, 149, 0, 149,
660 0, 149, 149, 0, 0, 149, 0, 63, 63, 149,
661 149, 149, 0, 159, 159, 159, 0, 0, 0, 159,
662 0, 0, 0, 0, 0, 0, 63, 0, 0, 0,
663 0, 0, 159, 159, 159, 159, 159, 159, 159, 159,
664 159, 159, 159, 159, 0, 159, 0, 0, 0, 0,
665 0, 159, 159, 159, 159, 0, 159, 0, 159, 28,
666 0, 0, 0, 0, 0, 0, 63, 159, 0, 0,
667 0, 0, 0, 0, 0, 0, 159, 0, 0, 0,
668 0, 0, 0, 0, 159, 159, 159, 159, 159, 159,
669 0, 159, 0, 159, 159, 0, 0, 159, 134, 0,
670 0, 159, 159, 159, 0, 158, 158, 158, 0, 0,
671 0, 158, 0, 0, 0, 0, 0, 0, 0, 0,
672 0, 0, 0, 0, 158, 158, 158, 158, 158, 158,
673 158, 158, 158, 158, 158, 158, 0, 158, 134, 134,
674 0, 0, 134, 158, 158, 158, 158, 0, 158, 0,
675 158, 0, 0, 0, 0, 0, 134, 134, 0, 158,
676 0, 134, 0, 0, 0, 0, 0, 0, 158, 0,
677 0, 0, 0, 0, 0, 0, 158, 158, 158, 158,
678 158, 158, 0, 158, 0, 158, 158, 0, 0, 158,
679 77, 134, 0, 158, 158, 158, 0, 28, 28, 0,
680 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
681 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
682 0, 134, 134, 0, 0, 0, 28, 28, 0, 28,
683 77, 77, 0, 0, 77, 28, 28, 28, 28, 0,
684 28, 0, 28, 0, 0, 0, 0, 0, 77, 77,
685 0, 0, 0, 77, 0, 0, 0, 0, 0, 0,
686 28, 0, 0, 0, 0, 0, 0, 0, 28, 28,
687 28, 28, 28, 28, 0, 28, 0, 28, 28, 0,
688 0, 28, 75, 77, 0, 28, 28, 28, 0, 0,
689 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
690 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
691 0, 0, 0, 77, 77, 0, 0, 0, 0, 0,
692 0, 0, 75, 75, 0, 0, 75, 0, 0, 0,
693 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
694 75, 75, 0, 0, 0, 75, 0, 0, 0, 0,
695 0, 0, 0, 0, 0, 0, 0, 0, 0, 134,
696 134, 134, 0, 0, 0, 134, 0, 37, 0, 0,
697 0, 0, 0, 0, 0, 75, 0, 0, 134, 134,
698 134, 134, 134, 134, 134, 134, 134, 134, 134, 134,
699 0, 134, 0, 0, 0, 0, 0, 134, 134, 134,
700 134, 0, 134, 0, 134, 75, 75, 37, 0, 0,
701 37, 0, 37, 134, 37, 0, 0, 0, 0, 0,
702 0, 0, 134, 0, 0, 0, 37, 0, 0, 0,
703 134, 134, 134, 134, 134, 134, 0, 134, 0, 134,
704 134, 0, 0, 134, 0, 0, 0, 134, 134, 134,
705 0, 77, 77, 77, 0, 0, 0, 77, 0, 0,
706 0, 0, 29, 0, 0, 0, 0, 0, 0, 0,
707 77, 77, 0, 77, 77, 77, 77, 77, 77, 77,
708 77, 77, 0, 77, 0, 0, 0, 0, 0, 77,
709 77, 77, 77, 0, 77, 0, 77, 0, 0, 0,
710 0, 0, 29, 0, 0, 29, 0, 29, 0, 29,
711 0, 0, 0, 0, 77, 0, 0, 0, 0, 0,
712 0, 0, 77, 77, 77, 77, 77, 77, 0, 77,
713 0, 77, 77, 0, 0, 77, 0, 0, 0, 77,
714 77, 77, 0, 75, 75, 75, 0, 0, 0, 75,
715 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
716 0, 0, 75, 75, 0, 75, 75, 75, 75, 75,
717 75, 75, 75, 75, 0, 75, 0, 0, 0, 0,
718 0, 75, 75, 75, 75, 29, 75, 0, 75, 0,
719 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
720 0, 0, 0, 0, 0, 0, 75, 0, 0, 0,
721 0, 0, 0, 0, 75, 75, 75, 75, 75, 75,
722 0, 75, 0, 75, 75, 0, 0, 75, 37, 37,
723 37, 75, 75, 75, 0, 161, 0, 0, 0, 0,
724 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
725 0, 0, 0, 0, 0, 0, 0, 37, 37, 0,
726 37, 0, 0, 0, 0, 0, 37, 37, 37, 37,
727 0, 37, 161, 37, 0, 161, 161, 161, 161, 161,
728 161, 0, 161, 0, 0, 0, 0, 0, 0, 0,
729 0, 37, 0, 161, 161, 0, 0, 0, 161, 37,
730 37, 37, 37, 37, 37, 0, 37, 0, 37, 37,
731 0, 0, 37, 0, 0, 0, 37, 37, 37, 0,
732 0, 0, 0, 29, 29, 0, 0, 0, 161, 74,
733 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
734 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
735 0, 0, 29, 29, 0, 29, 0, 0, 161, 161,
736 0, 29, 29, 29, 29, 0, 29, 0, 29, 74,
737 74, 0, 74, 74, 74, 0, 74, 64, 0, 0,
738 0, 0, 0, 0, 0, 0, 29, 74, 74, 0,
739 0, 0, 74, 0, 29, 29, 29, 29, 29, 29,
740 0, 29, 0, 29, 29, 0, 0, 29, 0, 0,
741 0, 29, 29, 29, 0, 0, 0, 0, 64, 65,
742 0, 64, 74, 0, 64, 0, 0, 0, 0, 0,
743 0, 0, 66, 0, 0, 64, 64, 0, 0, 0,
744 64, 0, 0, 0, 0, 67, 0, 0, 0, 0,
745 0, 0, 74, 74, 0, 0, 0, 0, 0, 0,
746 65, 0, 0, 65, 0, 0, 65, 0, 0, 0,
747 64, 0, 0, 66, 0, 0, 66, 65, 65, 66,
748 0, 0, 65, 0, 0, 0, 67, 0, 0, 67,
749 66, 66, 67, 0, 0, 66, 161, 161, 161, 0,
750 64, 0, 161, 67, 67, 0, 0, 0, 67, 0,
751 0, 0, 65, 0, 0, 161, 161, 161, 161, 161,
752 161, 161, 0, 161, 161, 66, 161, 0, 161, 0,
753 0, 0, 0, 0, 161, 161, 161, 161, 67, 161,
754 0, 161, 65, 0, 0, 0, 0, 0, 0, 0,
755 161, 0, 0, 0, 0, 66, 0, 0, 0, 161,
756 0, 0, 0, 0, 0, 0, 0, 0, 67, 0,
757 161, 161, 161, 0, 161, 0, 161, 161, 0, 0,
758 161, 0, 0, 161, 161, 161, 0, 0, 0, 0,
759 74, 74, 74, 0, 0, 0, 74, 0, 0, 0,
760 0, 0, 0, 0, 68, 0, 0, 0, 0, 74,
761 74, 0, 74, 74, 74, 74, 74, 74, 74, 0,
762 74, 0, 74, 0, 0, 0, 0, 0, 74, 74,
763 74, 74, 0, 74, 0, 74, 0, 0, 64, 64,
764 64, 0, 0, 0, 0, 68, 0, 0, 68, 0,
765 0, 68, 0, 74, 0, 0, 0, 64, 64, 0,
766 0, 0, 68, 68, 74, 74, 74, 68, 74, 0,
767 74, 74, 0, 0, 74, 0, 64, 0, 74, 74,
768 65, 65, 65, 0, 0, 0, 0, 0, 0, 0,
769 0, 0, 0, 66, 66, 66, 0, 68, 0, 65,
770 65, 0, 0, 0, 0, 0, 67, 67, 67, 0,
771 0, 0, 66, 66, 180, 0, 64, 180, 65, 180,
772 180, 0, 180, 0, 180, 67, 67, 68, 0, 0,
773 0, 66, 0, 0, 0, 0, 180, 0, 0, 0,
774 180, 0, 0, 0, 67, 0, 0, 0, 0, 0,
775 0, 0, 0, 0, 0, 0, 0, 0, 65, 0,
776 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
777 0, 66, 0, 0, 0, 0, 0, 0, 0, 0,
778 0, 0, 0, 0, 67, 0, 0, 0, 0, 0,
779 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
780 0, 180, 0, 179, 0, 0, 179, 179, 179, 179,
781 179, 179, 0, 179, 0, 0, 0, 0, 0, 0,
782 0, 0, 0, 0, 179, 179, 0, 0, 0, 179,
783 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
784 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
785 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
786 0, 0, 0, 0, 0, 68, 68, 68, 27, 27,
787 0, 27, 0, 27, 0, 27, 0, 0, 0, 0,
788 0, 0, 0, 0, 68, 68, 0, 27, 0, 0,
789 179, 0, 0, 0, 0, 0, 0, 0, 0, 0,
790 0, 0, 0, 68, 0, 0, 0, 0, 0, 0,
791 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
792 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
793 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
794 0, 0, 0, 68, 180, 0, 0, 0, 0, 0,
795 0, 27, 0, 27, 0, 0, 0, 180, 180, 0,
796 180, 180, 180, 180, 180, 180, 0, 180, 180, 26,
797 180, 0, 26, 0, 26, 0, 26, 180, 180, 180,
798 0, 180, 0, 180, 0, 0, 0, 0, 26, 0,
799 0, 0, 180, 0, 0, 0, 0, 0, 0, 0,
800 0, 180, 0, 0, 0, 0, 0, 0, 0, 180,
801 180, 180, 180, 180, 180, 0, 180, 0, 180, 180,
802 0, 0, 180, 0, 0, 180, 180, 180, 180, 179,
803 0, 0, 0, 179, 0, 0, 0, 0, 0, 0,
804 0, 0, 0, 0, 0, 0, 179, 179, 179, 0,
805 0, 179, 26, 0, 26, 179, 179, 179, 0, 179,
806 0, 0, 0, 0, 0, 0, 179, 179, 179, 0,
807 179, 0, 179, 107, 0, 0, 107, 0, 107, 0,
808 107, 0, 0, 0, 27, 0, 0, 0, 0, 0,
809 179, 0, 107, 0, 0, 0, 0, 0, 179, 179,
810 179, 179, 179, 179, 0, 179, 0, 179, 179, 0,
811 0, 179, 0, 0, 179, 0, 0, 179, 27, 27,
812 27, 27, 27, 27, 27, 27, 27, 0, 27, 27,
813 27, 27, 27, 0, 27, 27, 27, 0, 0, 0,
814 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
815 27, 27, 27, 27, 0, 0, 107, 0, 107, 0,
816 27, 27, 27, 27, 27, 27, 0, 27, 27, 27,
817 27, 27, 0, 27, 0, 0, 0, 27, 27, 27,
818 0, 0, 0, 0, 0, 26, 0, 0, 0, 0,
819 119, 0, 0, 119, 0, 119, 0, 119, 0, 0,
820 0, 0, 0, 0, 0, 0, 0, 0, 0, 119,
821 0, 0, 0, 0, 0, 0, 0, 0, 0, 26,
822 26, 26, 26, 26, 26, 26, 26, 26, 0, 26,
823 26, 26, 26, 26, 0, 26, 26, 26, 0, 0,
824 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
825 0, 26, 26, 26, 26, 0, 0, 0, 0, 0,
826 0, 26, 26, 26, 26, 26, 26, 0, 26, 26,
827 26, 26, 26, 119, 26, 119, 0, 0, 26, 26,
828 26, 13, 0, 0, 34, 0, 35, 0, 14, 107,
829 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
830 111, 0, 0, 0, 0, 0, 0, 0, 0, 0,
831 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
832 0, 0, 0, 107, 107, 107, 107, 107, 107, 107,
833 107, 107, 0, 107, 107, 107, 107, 107, 0, 107,
834 107, 107, 0, 13, 0, 0, 34, 0, 35, 0,
835 14, 0, 0, 0, 0, 107, 107, 107, 107, 0,
836 0, 0, 111, 0, 12, 107, 107, 107, 107, 107,
837 107, 0, 107, 107, 107, 107, 107, 0, 107, 0,
838 0, 0, 107, 107, 107, 0, 0, 0, 0, 0,
839 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
840 0, 0, 0, 0, 0, 0, 119, 0, 0, 0,
841 0, 0, 0, 13, 0, 0, 34, 0, 35, 0,
842 14, 0, 0, 0, 0, 0, 12, 0, 206, 0,
843 0, 0, 111, 0, 0, 0, 0, 0, 0, 0,
844 119, 119, 119, 119, 119, 119, 119, 119, 119, 0,
845 119, 119, 119, 119, 119, 0, 119, 119, 119, 0,
846 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
847 0, 0, 119, 119, 119, 119, 0, 0, 0, 0,
848 0, 0, 119, 119, 119, 119, 119, 119, 0, 119,
849 119, 119, 119, 119, 0, 119, 12, 109, 222, 119,
850 119, 119, 0, 0, 110, 0, 0, 0, 0, 0,
851 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
852 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
853 0, 15, 16, 112, 17, 113, 114, 115, 116, 117,
854 0, 19, 20, 21, 118, 22, 0, 23, 119, 120,
855 0, 0, 0, 0, 0, 0, 0, 0, 0, 109,
856 0, 0, 0, 121, 122, 24, 0, 0, 0, 0,
857 0, 0, 0, 25, 26, 27, 28, 29, 30, 0,
858 31, 123, 32, 33, 124, 0, 36, 0, 0, 0,
859 37, 38, 39, 15, 16, 112, 17, 113, 114, 115,
860 116, 117, 0, 19, 20, 21, 118, 22, 0, 23,
861 119, 120, 0, 0, 0, 13, 0, 0, 34, 0,
862 35, 0, 14, 0, 0, 121, 122, 24, 0, 109,
863 0, 0, 0, 0, 111, 25, 26, 27, 28, 29,
864 30, 0, 31, 123, 32, 33, 124, 0, 36, 0,
865 0, 0, 37, 38, 39, 0, 0, 0, 0, 0,
866 0, 0, 0, 15, 16, 112, 17, 113, 114, 115,
867 116, 117, 0, 19, 20, 21, 118, 22, 0, 23,
868 119, 120, 0, 0, 13, 0, 0, 34, 0, 35,
869 0, 14, 0, 0, 0, 121, 122, 24, 12, 0,
870 223, 0, 0, 111, 0, 25, 26, 27, 28, 29,
871 30, 0, 31, 123, 32, 33, 124, 0, 36, 0,
872 0, 0, 37, 38, 39, 0, 0, 0, 0, 0,
873 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
874 0, 0, 0, 0, 0, 0, 0, 13, 0, 0,
875 34, 0, 35, 0, 14, 0, 0, 0, 0, 0,
876 0, 0, 0, 0, 0, 0, 111, 12, 0, 247,
877 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
878 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
879 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
880 0, 0, 0, 0, 0, 0, 0, 0, 0, 13,
881 0, 0, 34, 0, 35, 0, 14, 0, 0, 0,
882 0, 0, 0, 0, 0, 0, 0, 0, 111, 0,
883 12, 109, 262, 0, 0, 0, 0, 0, 0, 0,
884 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
885 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
886 0, 0, 0, 0, 0, 15, 16, 112, 17, 113,
887 114, 115, 116, 117, 0, 19, 20, 21, 118, 22,
888 0, 23, 119, 120, 0, 0, 0, 0, 58, 0,
889 0, 34, 12, 35, 0, 0, 0, 121, 122, 24,
890 109, 0, 0, 0, 0, 0, 0, 25, 26, 27,
891 28, 29, 30, 0, 31, 123, 32, 33, 124, 0,
892 36, 0, 0, 0, 37, 38, 39, 0, 0, 0,
893 0, 0, 0, 0, 15, 16, 112, 17, 113, 114,
894 115, 116, 117, 0, 19, 20, 21, 118, 22, 0,
895 23, 119, 120, 13, 0, 0, 34, 0, 35, 0,
896 14, 0, 0, 109, 0, 0, 121, 122, 24, 0,
897 0, 0, 111, 0, 0, 0, 25, 26, 27, 28,
898 29, 30, 0, 31, 123, 32, 33, 124, 0, 36,
899 0, 0, 0, 37, 38, 39, 0, 15, 16, 112,
900 17, 113, 114, 115, 116, 117, 0, 19, 20, 21,
901 118, 22, 0, 23, 119, 120, 13, 0, 0, 34,
902 0, 35, 0, 14, 0, 109, 0, 0, 0, 121,
903 122, 24, 298, 0, 0, 111, 12, 0, 349, 25,
904 26, 27, 28, 29, 30, 0, 31, 123, 32, 33,
905 124, 0, 36, 0, 0, 0, 37, 38, 39, 15,
906 16, 112, 17, 113, 114, 115, 116, 117, 0, 19,
907 20, 21, 118, 22, 0, 23, 119, 120, 13, 0,
908 0, 34, 0, 35, 0, 14, 0, 0, 0, 0,
909 0, 121, 122, 24, 0, 0, 0, 111, 0, 12,
910 0, 25, 26, 27, 28, 29, 30, 0, 31, 123,
911 32, 33, 124, 0, 36, 265, 0, 0, 37, 38,
912 39, 0, 0, 0, 0, 0, 0, 0, 0, 0,
913 0, 0, 0, 0, 0, 0, 0, 266, 15, 16,
914 118, 17, 0, 118, 0, 118, 0, 118, 19, 20,
915 21, 0, 22, 0, 23, 0, 0, 0, 0, 118,
916 0, 12, 0, 373, 0, 0, 0, 0, 0, 109,
917 0, 0, 24, 0, 0, 0, 0, 0, 0, 0,
918 25, 26, 27, 28, 29, 30, 0, 31, 0, 32,
919 33, 0, 0, 59, 0, 0, 0, 37, 38, 39,
920 0, 0, 0, 15, 16, 112, 17, 113, 114, 115,
921 116, 117, 0, 19, 20, 21, 118, 22, 0, 23,
922 119, 120, 0, 118, 0, 118, 0, 0, 0, 0,
923 0, 0, 109, 0, 0, 121, 122, 24, 0, 0,
924 0, 0, 0, 0, 0, 25, 26, 27, 28, 29,
925 30, 0, 31, 123, 32, 33, 124, 0, 36, 0,
926 0, 0, 37, 38, 39, 0, 15, 16, 112, 17,
927 113, 114, 115, 116, 117, 0, 19, 20, 21, 118,
928 22, 0, 23, 119, 120, 111, 0, 0, 111, 0,
929 111, 0, 111, 0, 109, 0, 0, 0, 121, 122,
930 24, 0, 0, 0, 111, 0, 0, 0, 25, 26,
931 27, 28, 29, 30, 0, 31, 123, 32, 33, 124,
932 0, 36, 0, 0, 0, 37, 38, 39, 15, 16,
933 112, 17, 113, 114, 115, 116, 117, 0, 19, 20,
934 21, 118, 22, 0, 23, 119, 120, 21, 0, 0,
935 21, 0, 21, 0, 21, 0, 118, 0, 0, 0,
936 121, 122, 24, 0, 0, 0, 21, 0, 111, 0,
937 25, 26, 27, 28, 29, 30, 0, 31, 123, 32,
938 33, 124, 0, 36, 0, 0, 0, 37, 38, 39,
939 118, 118, 118, 118, 118, 118, 118, 118, 118, 0,
940 118, 118, 118, 118, 118, 0, 118, 118, 118, 190,
941 0, 0, 190, 0, 190, 0, 190, 0, 0, 0,
942 0, 0, 118, 118, 118, 0, 0, 0, 190, 0,
943 21, 0, 118, 118, 118, 118, 118, 118, 0, 118,
944 118, 118, 118, 118, 0, 118, 0, 0, 0, 118,
945 118, 118, 0, 0, 0, 0, 0, 0, 0, 0,
946 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
947 0, 17, 0, 0, 17, 0, 17, 0, 17, 0,
948 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
949 17, 0, 190, 0, 0, 0, 0, 0, 0, 0,
950 0, 111, 0, 0, 0, 0, 0, 0, 0, 0,
951 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
952 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
953 0, 0, 0, 0, 0, 111, 111, 111, 111, 111,
954 111, 111, 111, 111, 0, 111, 111, 111, 111, 111,
955 0, 111, 111, 111, 17, 0, 0, 0, 0, 0,
956 0, 0, 0, 21, 0, 0, 0, 111, 111, 111,
957 0, 0, 0, 0, 0, 0, 0, 111, 111, 111,
958 111, 111, 111, 0, 111, 111, 111, 111, 111, 0,
959 111, 0, 0, 0, 111, 111, 111, 21, 21, 21,
960 21, 21, 21, 21, 21, 21, 0, 21, 21, 21,
961 21, 21, 0, 21, 21, 21, 15, 0, 0, 15,
962 0, 15, 0, 15, 0, 190, 0, 0, 0, 21,
963 21, 21, 0, 0, 0, 15, 0, 0, 0, 21,
964 21, 21, 21, 21, 21, 0, 21, 21, 21, 21,
965 21, 0, 21, 0, 0, 0, 21, 21, 21, 190,
966 190, 190, 190, 190, 190, 190, 190, 190, 0, 190,
967 190, 190, 190, 190, 0, 190, 190, 190, 13, 0,
968 0, 13, 0, 13, 0, 13, 0, 17, 0, 0,
969 0, 190, 190, 190, 0, 0, 0, 13, 0, 15,
970 0, 190, 190, 190, 190, 190, 190, 0, 190, 190,
971 190, 190, 190, 0, 190, 0, 0, 0, 190, 190,
972 190, 17, 17, 17, 17, 17, 17, 17, 17, 17,
973 0, 17, 17, 17, 17, 17, 0, 17, 17, 17,
974 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
975 0, 0, 0, 17, 17, 17, 0, 0, 0, 0,
976 0, 13, 0, 17, 17, 17, 17, 17, 17, 0,
977 17, 17, 17, 17, 17, 0, 17, 0, 0, 0,
978 17, 17, 17, 0, 0, 0, 0, 0, 0, 0,
979 0, 58, 140, 0, 34, 139, 35, 0, 0, 0,
980 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
981 0, 0, 0, 0, 92, 0, 0, 0, 0, 0,
982 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
983 0, 0, 15, 0, 0, 0, 0, 0, 0, 0,
984 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
985 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
986 0, 0, 0, 0, 0, 0, 15, 15, 15, 15,
987 15, 15, 15, 15, 15, 81, 15, 15, 15, 15,
988 15, 0, 15, 15, 15, 0, 0, 0, 0, 0,
989 0, 0, 0, 0, 13, 0, 0, 0, 15, 15,
990 15, 58, 0, 0, 34, 0, 35, 0, 15, 15,
991 15, 15, 15, 15, 0, 15, 15, 15, 15, 15,
992 191, 15, 0, 0, 92, 15, 15, 15, 13, 13,
993 13, 13, 13, 13, 13, 13, 13, 0, 13, 13,
994 13, 13, 13, 0, 13, 13, 13, 0, 0, 0,
995 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
996 13, 13, 13, 0, 0, 0, 0, 0, 0, 0,
997 13, 13, 13, 13, 13, 13, 0, 13, 13, 13,
998 13, 13, 0, 13, 0, 81, 0, 13, 13, 13,
999 58, 328, 0, 34, 139, 35, 0, 0, 0, 0,
1000 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1001 0, 0, 0, 92, 0, 0, 0, 0, 82, 0,
1002 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1003 0, 83, 84, 0, 85, 86, 87, 88, 89, 90,
1004 91, 15, 16, 0, 17, 0, 0, 0, 0, 0,
1005 0, 19, 20, 21, 0, 22, 0, 23, 0, 0,
1006 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1007 0, 0, 0, 0, 81, 24, 58, 339, 0, 34,
1008 139, 35, 0, 25, 26, 27, 28, 29, 30, 0,
1009 31, 0, 32, 33, 0, 0, 59, 0, 0, 92,
1010 37, 38, 39, 0, 0, 0, 0, 0, 0, 0,
1011 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1012 0, 0, 0, 0, 183, 0, 0, 0, 82, 0,
1013 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1014 0, 83, 84, 0, 85, 86, 87, 88, 89, 90,
1015 91, 15, 16, 0, 17, 0, 0, 0, 0, 0,
1016 81, 19, 20, 21, 0, 22, 0, 23, 0, 58,
1017 341, 0, 34, 139, 35, 0, 0, 0, 0, 0,
1018 0, 0, 0, 0, 0, 24, 0, 0, 0, 0,
1019 0, 0, 92, 25, 26, 27, 28, 29, 30, 0,
1020 31, 0, 32, 33, 0, 0, 59, 0, 0, 0,
1021 37, 38, 39, 0, 0, 0, 0, 82, 0, 0,
1022 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1023 83, 84, 0, 85, 86, 87, 88, 89, 90, 91,
1024 15, 16, 0, 17, 0, 0, 0, 0, 0, 0,
1025 19, 20, 21, 81, 22, 0, 23, 58, 360, 0,
1026 34, 139, 35, 0, 0, 0, 0, 0, 0, 0,
1027 0, 0, 0, 0, 24, 0, 0, 0, 0, 0,
1028 92, 0, 25, 26, 27, 28, 29, 30, 0, 31,
1029 0, 32, 33, 0, 0, 59, 0, 0, 0, 37,
1030 38, 39, 0, 82, 0, 0, 0, 0, 0, 0,
1031 0, 0, 0, 0, 0, 0, 83, 84, 0, 85,
1032 86, 87, 88, 89, 90, 91, 15, 16, 0, 17,
1033 0, 0, 0, 0, 0, 0, 19, 20, 21, 0,
1034 22, 81, 23, 58, 362, 0, 34, 139, 35, 0,
1035 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1036 24, 0, 0, 0, 0, 0, 92, 0, 25, 26,
1037 27, 28, 29, 30, 0, 31, 0, 32, 33, 0,
1038 0, 59, 0, 0, 0, 37, 38, 39, 0, 0,
1039 0, 0, 0, 0, 0, 0, 82, 0, 0, 0,
1040 0, 0, 0, 0, 0, 0, 0, 0, 0, 83,
1041 84, 0, 85, 86, 87, 88, 89, 90, 91, 15,
1042 16, 0, 17, 0, 0, 0, 0, 81, 0, 19,
1043 20, 21, 0, 22, 0, 23, 58, 140, 0, 34,
1044 0, 35, 0, 0, 0, 0, 0, 0, 0, 0,
1045 0, 0, 0, 24, 0, 0, 0, 0, 0, 92,
1046 0, 25, 26, 27, 28, 29, 30, 0, 31, 0,
1047 32, 33, 0, 0, 59, 0, 0, 0, 37, 38,
1048 39, 0, 0, 0, 82, 0, 0, 0, 0, 0,
1049 0, 0, 0, 0, 0, 0, 0, 83, 84, 0,
1050 85, 86, 87, 88, 89, 90, 91, 15, 16, 0,
1051 17, 0, 0, 0, 0, 0, 0, 19, 20, 21,
1052 81, 22, 58, 23, 0, 34, 139, 35, 0, 0,
1053 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1054 0, 24, 0, 0, 0, 92, 0, 0, 0, 25,
1055 26, 27, 28, 29, 30, 0, 31, 0, 32, 33,
1056 0, 0, 59, 0, 0, 0, 37, 38, 39, 0,
1057 82, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1058 0, 0, 0, 83, 84, 0, 85, 86, 87, 88,
1059 89, 90, 91, 15, 16, 0, 17, 0, 0, 0,
1060 0, 0, 0, 19, 20, 21, 81, 22, 58, 23,
1061 0, 34, 0, 35, 0, 0, 0, 0, 0, 0,
1062 0, 0, 0, 0, 0, 0, 243, 24, 0, 0,
1063 0, 92, 0, 0, 0, 25, 26, 27, 28, 29,
1064 30, 0, 31, 0, 32, 33, 0, 0, 59, 0,
1065 0, 0, 37, 38, 39, 0, 0, 0, 0, 0,
1066 0, 0, 0, 82, 0, 0, 0, 0, 0, 0,
1067 0, 0, 0, 0, 0, 0, 83, 84, 0, 85,
1068 86, 87, 88, 89, 90, 91, 15, 16, 0, 17,
1069 0, 0, 81, 0, 0, 0, 19, 20, 21, 0,
1070 22, 0, 23, 58, 280, 0, 34, 0, 35, 0,
1071 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1072 24, 0, 0, 0, 0, 0, 92, 0, 25, 26,
1073 27, 28, 29, 30, 0, 31, 0, 32, 33, 0,
1074 0, 59, 0, 0, 0, 37, 38, 39, 0, 82,
1075 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1076 0, 0, 83, 84, 0, 85, 86, 87, 88, 89,
1077 90, 91, 15, 16, 0, 17, 58, 322, 0, 34,
1078 0, 35, 19, 20, 21, 0, 22, 81, 23, 0,
1079 0, 0, 0, 0, 0, 0, 0, 0, 0, 92,
1080 0, 0, 0, 0, 0, 0, 24, 0, 0, 0,
1081 0, 0, 0, 0, 25, 26, 27, 28, 29, 30,
1082 0, 31, 0, 32, 33, 0, 0, 59, 0, 0,
1083 0, 37, 38, 39, 0, 82, 0, 0, 0, 0,
1084 0, 0, 0, 0, 0, 0, 0, 0, 83, 84,
1085 0, 85, 86, 87, 88, 89, 90, 91, 15, 16,
1086 81, 17, 0, 0, 0, 0, 0, 0, 19, 20,
1087 21, 0, 22, 0, 23, 58, 324, 0, 34, 0,
1088 35, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1089 0, 0, 24, 0, 0, 0, 0, 0, 92, 0,
1090 25, 26, 27, 28, 29, 30, 0, 31, 0, 32,
1091 33, 0, 0, 59, 0, 0, 0, 37, 38, 39,
1092 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1093 82, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1094 0, 0, 0, 83, 84, 0, 85, 86, 87, 88,
1095 89, 90, 91, 15, 16, 0, 17, 0, 0, 81,
1096 0, 0, 0, 19, 20, 21, 0, 22, 0, 23,
1097 58, 364, 0, 34, 0, 35, 0, 0, 0, 0,
1098 0, 0, 0, 0, 0, 0, 0, 24, 0, 0,
1099 0, 0, 0, 92, 0, 25, 26, 27, 28, 29,
1100 30, 0, 31, 82, 32, 33, 0, 0, 59, 0,
1101 0, 0, 37, 38, 39, 0, 83, 84, 0, 85,
1102 86, 87, 88, 89, 90, 91, 15, 16, 0, 17,
1103 0, 0, 0, 0, 0, 0, 19, 20, 21, 0,
1104 22, 0, 23, 58, 366, 0, 34, 0, 35, 0,
1105 0, 0, 0, 0, 81, 0, 0, 0, 0, 0,
1106 24, 0, 0, 0, 0, 0, 92, 0, 25, 26,
1107 27, 28, 29, 30, 0, 31, 0, 32, 33, 0,
1108 0, 59, 0, 0, 0, 37, 38, 39, 0, 0,
1109 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1110 0, 0, 82, 0, 0, 0, 0, 0, 0, 0,
1111 0, 0, 0, 0, 0, 83, 84, 0, 85, 86,
1112 87, 88, 89, 90, 91, 15, 16, 81, 17, 0,
1113 0, 0, 0, 0, 0, 19, 20, 21, 0, 22,
1114 0, 23, 58, 0, 0, 34, 0, 35, 0, 0,
1115 0, 0, 0, 0, 0, 0, 0, 0, 0, 24,
1116 0, 368, 0, 0, 0, 92, 0, 25, 26, 27,
1117 28, 29, 30, 0, 31, 0, 32, 33, 0, 0,
1118 59, 0, 0, 0, 37, 38, 39, 0, 0, 0,
1119 0, 0, 0, 0, 0, 0, 0, 82, 0, 0,
1120 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1121 83, 84, 0, 85, 86, 87, 88, 89, 90, 91,
1122 15, 16, 0, 17, 0, 0, 81, 0, 0, 0,
1123 19, 20, 21, 0, 22, 0, 23, 58, 379, 0,
1124 34, 0, 35, 0, 0, 0, 0, 0, 0, 0,
1125 0, 0, 0, 0, 24, 0, 0, 0, 0, 0,
1126 92, 0, 25, 26, 27, 28, 29, 30, 0, 31,
1127 82, 32, 33, 0, 0, 59, 0, 0, 0, 37,
1128 38, 39, 0, 83, 84, 0, 85, 86, 87, 88,
1129 89, 90, 91, 15, 16, 0, 17, 0, 0, 0,
1130 0, 0, 0, 19, 20, 21, 0, 22, 0, 23,
1131 58, 380, 0, 34, 0, 35, 0, 0, 0, 0,
1132 0, 81, 0, 0, 0, 0, 0, 24, 0, 0,
1133 0, 0, 0, 92, 0, 25, 26, 27, 28, 29,
1134 30, 0, 31, 0, 32, 33, 0, 0, 59, 0,
1135 0, 0, 37, 38, 39, 0, 0, 0, 0, 0,
1136 0, 0, 0, 0, 0, 0, 0, 0, 0, 82,
1137 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1138 0, 0, 83, 84, 0, 85, 86, 87, 88, 89,
1139 90, 91, 15, 16, 81, 17, 0, 0, 0, 0,
1140 0, 0, 19, 20, 21, 0, 22, 0, 23, 58,
1141 381, 0, 34, 0, 35, 0, 0, 0, 0, 0,
1142 0, 0, 0, 0, 0, 0, 24, 0, 0, 0,
1143 0, 0, 92, 0, 25, 26, 27, 28, 29, 30,
1144 0, 31, 0, 32, 33, 0, 0, 59, 0, 0,
1145 0, 37, 38, 39, 0, 0, 0, 0, 0, 0,
1146 0, 0, 0, 0, 82, 0, 0, 0, 0, 0,
1147 0, 0, 0, 0, 0, 0, 0, 83, 84, 0,
1148 85, 86, 87, 88, 89, 90, 91, 15, 16, 58,
1149 17, 0, 34, 81, 35, 0, 0, 19, 20, 21,
1150 0, 22, 0, 23, 0, 0, 0, 0, 0, 0,
1151 0, 0, 92, 0, 0, 0, 0, 0, 0, 0,
1152 0, 24, 0, 0, 0, 0, 0, 0, 0, 25,
1153 26, 27, 28, 29, 30, 0, 31, 82, 32, 33,
1154 0, 0, 59, 0, 0, 0, 37, 38, 39, 0,
1155 83, 84, 0, 85, 86, 87, 88, 89, 90, 91,
1156 15, 16, 93, 17, 0, 93, 0, 93, 0, 0,
1157 19, 20, 21, 81, 22, 0, 23, 0, 0, 0,
1158 0, 0, 0, 0, 0, 93, 0, 0, 0, 0,
1159 0, 0, 0, 0, 24, 0, 0, 0, 0, 0,
1160 0, 0, 25, 26, 27, 28, 29, 30, 0, 31,
1161 0, 32, 33, 0, 0, 59, 0, 0, 0, 37,
1162 38, 39, 0, 0, 0, 0, 0, 0, 0, 0,
1163 0, 0, 0, 0, 0, 0, 82, 0, 0, 0,
1164 0, 0, 0, 0, 0, 0, 93, 0, 0, 83,
1165 84, 0, 85, 86, 87, 88, 89, 90, 91, 15,
1166 16, 0, 17, 58, 58, 0, 0, 58, 0, 19,
1167 20, 21, 0, 22, 0, 23, 0, 0, 0, 0,
1168 0, 58, 58, 0, 0, 0, 58, 0, 0, 0,
1169 0, 0, 0, 24, 0, 0, 0, 0, 0, 0,
1170 0, 25, 26, 27, 28, 29, 30, 0, 31, 0,
1171 32, 33, 0, 0, 59, 0, 82, 0, 37, 38,
1172 39, 0, 0, 0, 0, 0, 0, 0, 0, 83,
1173 84, 0, 85, 86, 87, 88, 89, 90, 91, 15,
1174 16, 0, 17, 0, 0, 0, 0, 58, 0, 19,
1175 20, 21, 0, 22, 0, 23, 56, 56, 0, 0,
1176 56, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1177 0, 0, 0, 24, 56, 56, 0, 0, 0, 56,
1178 0, 25, 26, 27, 28, 29, 30, 0, 31, 93,
1179 32, 33, 0, 0, 59, 0, 0, 0, 37, 38,
1180 39, 0, 93, 93, 0, 93, 93, 93, 93, 93,
1181 93, 93, 93, 93, 0, 93, 0, 0, 0, 0,
1182 0, 0, 93, 93, 93, 0, 93, 0, 93, 0,
1183 0, 0, 0, 58, 0, 0, 34, 0, 35, 0,
1184 56, 0, 0, 0, 0, 0, 93, 0, 0, 0,
1185 0, 0, 0, 0, 93, 93, 93, 93, 93, 93,
1186 0, 93, 0, 93, 93, 0, 0, 93, 0, 0,
1187 0, 93, 93, 93, 0, 0, 0, 0, 0, 0,
1188 0, 0, 0, 0, 0, 0, 58, 0, 0, 0,
1189 58, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1190 0, 0, 0, 58, 58, 58, 58, 0, 58, 34,
1191 0, 35, 58, 58, 58, 0, 58, 81, 0, 0,
1192 0, 0, 0, 58, 58, 58, 0, 58, 0, 58,
1193 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1194 0, 0, 0, 0, 0, 0, 0, 58, 0, 0,
1195 0, 0, 0, 0, 0, 58, 58, 58, 58, 58,
1196 58, 0, 58, 0, 58, 58, 0, 0, 58, 0,
1197 0, 0, 58, 58, 58, 0, 0, 0, 0, 56,
1198 0, 0, 0, 56, 0, 0, 0, 0, 0, 0,
1199 81, 0, 0, 0, 0, 0, 56, 56, 56, 0,
1200 0, 56, 0, 0, 0, 56, 56, 56, 58, 56,
1201 0, 34, 0, 35, 0, 0, 56, 56, 56, 0,
1202 56, 0, 56, 0, 0, 0, 338, 0, 0, 0,
1203 0, 267, 0, 0, 0, 0, 0, 0, 0, 0,
1204 56, 0, 0, 0, 0, 0, 0, 0, 56, 56,
1205 56, 56, 56, 56, 0, 56, 0, 56, 56, 0,
1206 82, 56, 0, 0, 0, 56, 56, 56, 0, 0,
1207 0, 0, 0, 83, 0, 0, 85, 86, 87, 88,
1208 89, 90, 91, 15, 16, 0, 17, 0, 0, 0,
1209 0, 0, 0, 19, 20, 21, 0, 22, 0, 23,
1210 13, 0, 0, 34, 0, 35, 0, 14, 0, 0,
1211 0, 0, 0, 0, 0, 0, 0, 24, 0, 0,
1212 0, 0, 0, 0, 0, 25, 26, 27, 28, 29,
1213 30, 0, 31, 82, 32, 33, 0, 0, 59, 0,
1214 0, 0, 37, 38, 39, 0, 0, 0, 0, 85,
1215 86, 87, 88, 89, 90, 91, 15, 16, 0, 17,
1216 0, 0, 0, 0, 0, 0, 19, 20, 21, 0,
1217 22, 13, 23, 0, 34, 0, 35, 0, 14, 0,
1218 0, 0, 0, 12, 0, 0, 0, 0, 0, 0,
1219 24, 0, 0, 0, 0, 0, 0, 0, 25, 26,
1220 27, 28, 29, 30, 0, 31, 0, 32, 33, 0,
1221 0, 59, 0, 0, 0, 37, 38, 39, 0, 0,
1222 0, 0, 0, 0, 13, 0, 0, 34, 0, 35,
1223 0, 14, 0, 0, 0, 265, 0, 0, 0, 0,
1224 0, 0, 0, 191, 0, 0, 0, 0, 83, 84,
1225 0, 0, 0, 0, 0, 0, 0, 266, 15, 16,
1226 0, 17, 0, 0, 0, 0, 0, 0, 19, 20,
1227 21, 0, 22, 0, 23, 0, 0, 13, 0, 0,
1228 34, 0, 35, 0, 14, 0, 0, 0, 0, 0,
1229 0, 0, 24, 0, 0, 0, 0, 0, 0, 0,
1230 25, 26, 27, 28, 29, 30, 0, 31, 0, 32,
1231 33, 0, 0, 59, 0, 0, 0, 37, 38, 39,
1232 0, 10, 11, 0, 0, 0, 0, 0, 0, 0,
1233 13, 0, 0, 34, 0, 35, 0, 14, 0, 0,
1234 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1235 15, 16, 0, 17, 0, 0, 0, 0, 0, 18,
1236 19, 20, 21, 0, 22, 0, 23, 0, 0, 0,
1237 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1238 0, 0, 0, 13, 24, 0, 34, 109, 35, 0,
1239 14, 0, 25, 26, 27, 28, 29, 30, 0, 31,
1240 0, 32, 33, 0, 0, 36, 0, 0, 0, 37,
1241 38, 39, 0, 0, 0, 0, 0, 0, 0, 0,
1242 0, 15, 16, 0, 17, 0, 114, 0, 0, 0,
1243 0, 19, 20, 21, 0, 22, 303, 23, 0, 34,
1244 0, 35, 0, 14, 0, 0, 0, 183, 0, 0,
1245 0, 0, 0, 121, 122, 24, 0, 0, 0, 0,
1246 0, 0, 0, 25, 26, 27, 28, 29, 30, 0,
1247 31, 0, 32, 33, 15, 16, 36, 17, 0, 0,
1248 37, 38, 39, 0, 19, 20, 21, 0, 22, 303,
1249 23, 0, 34, 0, 35, 0, 14, 0, 0, 0,
1250 172, 0, 0, 0, 0, 0, 0, 0, 24, 0,
1251 0, 0, 0, 0, 0, 0, 25, 26, 27, 28,
1252 29, 30, 0, 31, 0, 32, 33, 15, 16, 36,
1253 17, 0, 0, 37, 38, 39, 0, 19, 20, 21,
1254 0, 22, 303, 23, 0, 34, 0, 35, 0, 14,
1255 0, 0, 0, 174, 0, 0, 0, 0, 0, 0,
1256 0, 24, 0, 0, 0, 0, 0, 0, 0, 25,
1257 26, 27, 28, 29, 30, 0, 31, 0, 32, 33,
1258 15, 16, 36, 17, 0, 0, 37, 38, 39, 0,
1259 19, 20, 21, 0, 22, 58, 23, 0, 34, 0,
1260 35, 0, 14, 0, 0, 0, 224, 0, 0, 0,
1261 0, 0, 0, 0, 24, 0, 0, 0, 0, 0,
1262 0, 0, 25, 26, 27, 28, 29, 30, 0, 31,
1263 0, 32, 33, 15, 16, 36, 17, 0, 0, 37,
1264 38, 39, 0, 19, 20, 21, 0, 22, 58, 23,
1265 0, 34, 0, 35, 0, 0, 0, 0, 0, 172,
1266 0, 0, 0, 0, 0, 0, 0, 24, 0, 0,
1267 0, 0, 0, 0, 0, 25, 26, 27, 28, 29,
1268 30, 0, 31, 0, 32, 33, 15, 16, 36, 17,
1269 0, 0, 37, 38, 39, 0, 19, 20, 21, 0,
1270 22, 213, 23, 0, 34, 0, 35, 0, 14, 0,
1271 0, 0, 174, 0, 0, 0, 0, 0, 0, 0,
1272 24, 0, 0, 0, 0, 0, 0, 0, 25, 26,
1273 27, 28, 29, 30, 0, 31, 0, 32, 33, 15,
1274 16, 36, 17, 0, 0, 37, 38, 39, 0, 19,
1275 20, 21, 0, 22, 303, 23, 0, 34, 0, 35,
1276 0, 14, 0, 0, 0, 224, 0, 0, 0, 0,
1277 0, 0, 0, 24, 0, 0, 0, 0, 0, 0,
1278 0, 25, 26, 27, 28, 29, 30, 0, 31, 0,
1279 32, 33, 15, 16, 36, 17, 0, 0, 37, 38,
1280 39, 0, 19, 20, 21, 0, 22, 26, 23, 0,
1281 26, 0, 26, 0, 26, 0, 0, 0, 0, 0,
1282 0, 0, 0, 0, 0, 0, 24, 0, 0, 0,
1283 0, 0, 0, 0, 25, 26, 27, 28, 29, 30,
1284 0, 31, 0, 32, 33, 15, 16, 36, 17, 0,
1285 0, 37, 38, 39, 0, 19, 20, 21, 0, 22,
1286 58, 23, 0, 34, 0, 35, 0, 0, 0, 0,
1287 0, 0, 0, 0, 0, 0, 0, 0, 0, 24,
1288 0, 0, 0, 0, 0, 0, 0, 25, 26, 27,
1289 28, 29, 30, 0, 31, 0, 32, 33, 15, 16,
1290 36, 17, 0, 0, 37, 38, 39, 0, 19, 20,
1291 21, 0, 22, 58, 23, 0, 34, 0, 35, 0,
1292 0, 0, 0, 176, 0, 0, 0, 0, 0, 0,
1293 0, 0, 24, 0, 0, 0, 0, 0, 0, 0,
1294 25, 26, 27, 28, 29, 30, 0, 31, 0, 32,
1295 33, 15, 16, 59, 17, 0, 0, 37, 38, 39,
1296 0, 19, 20, 21, 0, 22, 0, 23, 0, 0,
1297 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1298 0, 0, 0, 0, 0, 24, 0, 0, 0, 0,
1299 0, 0, 0, 25, 26, 27, 28, 29, 30, 0,
1300 31, 0, 32, 33, 15, 16, 36, 17, 0, 0,
1301 37, 38, 39, 0, 19, 20, 21, 0, 22, 0,
1302 23, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1303 0, 0, 0, 0, 0, 0, 0, 0, 24, 0,
1304 0, 0, 0, 0, 0, 0, 25, 26, 27, 28,
1305 29, 30, 0, 31, 0, 32, 33, 26, 26, 36,
1306 26, 0, 0, 37, 38, 39, 0, 26, 26, 26,
1307 0, 26, 0, 26, 0, 0, 0, 0, 0, 0,
1308 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1309 0, 26, 0, 0, 0, 0, 0, 0, 0, 26,
1310 26, 26, 26, 26, 26, 0, 26, 0, 26, 26,
1311 15, 16, 26, 17, 0, 0, 26, 26, 26, 0,
1312 19, 20, 21, 0, 22, 0, 23, 0, 0, 0,
1313 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1314 0, 0, 0, 0, 24, 0, 0, 0, 0, 0,
1315 0, 0, 25, 26, 27, 28, 29, 30, 0, 31,
1316 0, 32, 33, 15, 16, 59, 17, 0, 0, 37,
1317 38, 39, 0, 19, 20, 21, 0, 22, 0, 23,
1318 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1319 0, 0, 0, 0, 0, 0, 0, 24, 0, 0,
1320 0, 0, 0, 0, 0, 25, 26, 27, 28, 29,
1321 30, 0, 0, 0, 32, 33, 0, 0, 59, 0,
1322 0, 0, 37, 38, 39,
1323};
1324const short yycheck[] =
1325 { 17,
1326 37, 59, 102, 7, 59, 42, 10, 11, 41, 41,
1327 47, 111, 41, 31, 111, 65, 34, 35, 36, 37,
1328 38, 39, 40, 37, 59, 198, 59, 59, 42, 43,
1329 59, 45, 82, 47, 59, 91, 54, 263, 41, 43,
1330 0, 59, 124, 350, 113, 123, 59, 116, 41, 213,
1331 119, 120, 70, 44, 123, 40, 59, 126, 44, 337,
1332 41, 68, 69, 44, 44, 332, 59, 290, 335, 91,
1333 377, 41, 214, 52, 53, 290, 349, 350, 96, 97,
1334 98, 99, 100, 101, 44, 135, 40, 47, 315, 59,
1335 41, 191, 41, 44, 191, 44, 41, 40, 40, 59,
1336 104, 108, 93, 40, 263, 40, 332, 125, 255, 332,
1337 257, 334, 93, 93, 59, 40, 134, 332, 333, 334,
1338 36, 40, 349, 350, 103, 315, 41, 196, 146, 44,
1339 148, 290, 150, 202, 152, 153, 351, 123, 40, 303,
1340 158, 159, 160, 161, 162, 338, 164, 165, 166, 167,
1341 168, 169, 40, 171, 133, 173, 263, 175, 176, 349,
1342 350, 41, 304, 123, 44, 307, 308, 309, 310, 287,
1343 188, 348, 314, 332, 333, 334, 339, 350, 196, 124,
1344 263, 40, 0, 290, 202, 235, 236, 334, 41, 263,
1345 41, 44, 351, 44, 294, 41, 214, 294, 44, 40,
1346 282, 256, 220, 285, 377, 263, 40, 225, 263, 227,
1347 289, 47, 58, 59, 356, 265, 332, 63, 134, 41,
1348 367, 41, 44, 41, 44, 332, 44, 334, 263, 47,
1349 263, 263, 332, 289, 263, 332, 383, 255, 263, 257,
1350 58, 59, 246, 250, 44, 63, 41, 265, 263, 267,
1351 263, 269, 270, 271, 272, 273, 274, 275, 91, 325,
1352 263, 279, 17, 59, 59, 283, 284, 285, 368, 287,
1353 263, 368, 290, 291, 263, 93, 263, 327, 124, 34,
1354 35, 36, 41, 41, 39, 40, 304, 289, 41, 307,
1355 308, 309, 310, 263, 343, 40, 314, 315, 316, 54,
1356 41, 261, 262, 263, 59, 123, 41, 41, 41, 44,
1357 379, 348, 0, 292, 318, 70, 287, 0, 263, 290,
1358 338, 59, 340, 41, 342, 123, 344, 345, 346, 124,
1359 348, 185, 41, 351, 348, 44, 104, 282, 356, 299,
1360 285, 96, 97, 98, 99, 100, 101, 41, 45, 265,
1361 44, 267, 370, 269, 270, 271, 374, 375, 93, 275,
1362 -1, 332, 333, 334, 343, 41, -1, 265, 44, 267,
1363 125, 269, 270, 271, -1, 41, -1, 275, 44, 134,
1364 351, -1, 58, 59, -1, -1, -1, 63, -1, 214,
1365 -1, 146, -1, 148, -1, 150, -1, 152, 153, -1,
1366 -1, -1, -1, 158, 159, 160, -1, 162, -1, 164,
1367 165, 166, 167, 168, 169, -1, 171, 263, 173, -1,
1368 175, 176, 338, 40, 41, -1, 43, -1, 45, -1,
1369 47, -1, 91, 188, 280, 281, 282, -1, -1, 285,
1370 338, 196, -1, 261, 262, 263, -1, 202, 124, -1,
1371 0, -1, -1, -1, -1, 114, -1, -1, -1, 214,
1372 -1, -1, 280, 281, -1, 220, -1, 128, 263, 130,
1373 225, -1, 227, -1, -1, -1, 137, 138, -1, 304,
1374 -1, 299, 307, 308, 309, 310, -1, 282, -1, 314,
1375 285, 41, -1, 339, 44, -1, -1, 47, -1, -1,
1376 255, -1, 257, -1, -1, -1, -1, -1, 58, 59,
1377 265, -1, 267, 63, 269, 270, 271, 272, 273, 274,
1378 275, 339, -1, -1, 279, 186, -1, -1, 283, 284,
1379 285, 356, 287, -1, -1, 290, 291, -1, -1, 198,
1380 -1, -1, -1, 93, -1, -1, -1, -1, 209, 304,
1381 211, 212, 307, 308, 309, 310, -1, -1, -1, 314,
1382 315, 316, -1, 7, -1, -1, -1, 226, -1, 13,
1383 -1, -1, -1, 123, -1, -1, -1, -1, -1, -1,
1384 -1, 240, -1, 338, -1, -1, -1, 263, -1, 344,
1385 345, 346, -1, 348, -1, -1, 351, -1, 259, -1,
1386 -1, 356, -1, -1, 280, 281, 282, 266, -1, 285,
1387 -1, -1, 0, 57, 58, 370, -1, -1, -1, 374,
1388 375, 65, 66, 67, 68, 69, -1, -1, 72, 73,
1389 -1, -1, -1, -1, -1, -1, 295, -1, 82, -1,
1390 41, 85, 86, 87, 88, 89, 90, -1, 92, 37,
1391 94, 95, 40, 41, 42, 43, 44, 45, 59, 47,
1392 104, 105, -1, -1, 108, -1, -1, -1, -1, 330,
1393 58, 59, 116, 290, 291, 63, 293, 336, -1, 123,
1394 -1, -1, -1, 300, 301, 302, -1, 304, -1, 306,
1395 -1, 135, -1, -1, -1, -1, -1, 141, 359, 143,
1396 -1, -1, -1, 0, -1, 93, -1, 324, 369, -1,
1397 -1, 261, 262, 263, -1, 332, 333, 334, 335, 336,
1398 337, 382, 339, 124, 341, 342, 387, -1, 345, -1,
1399 280, 281, 349, 350, 351, 123, 124, -1, -1, -1,
1400 37, 185, -1, -1, 41, 42, 43, 44, 45, 299,
1401 47, -1, -1, -1, 41, 199, -1, 44, -1, -1,
1402 204, 58, 59, -1, -1, -1, 63, -1, -1, 213,
1403 -1, 58, 59, -1, -1, -1, -1, -1, -1, -1,
1404 -1, -1, -1, -1, 41, -1, 230, 44, -1, 233,
1405 234, 235, 236, -1, -1, -1, 93, 241, 0, 243,
1406 -1, 58, 59, -1, -1, -1, 250, -1, -1, -1,
1407 -1, 0, -1, -1, -1, -1, -1, -1, -1, -1,
1408 -1, -1, -1, -1, -1, -1, 123, 124, -1, -1,
1409 -1, -1, 276, 277, -1, 37, -1, 124, 40, 41,
1410 42, 43, 44, 45, -1, 47, -1, -1, -1, -1,
1411 -1, -1, 41, -1, -1, 44, 58, 59, 47, 303,
1412 -1, 63, 263, -1, -1, -1, -1, 124, -1, 58,
1413 59, -1, -1, 261, 262, 263, 320, 321, -1, 267,
1414 -1, 282, -1, 327, 285, 329, -1, -1, -1, 333,
1415 -1, 93, 280, 281, 282, 283, 284, 285, 286, 287,
1416 288, 289, 290, 291, 93, 293, -1, -1, -1, 353,
1417 -1, 299, 300, 301, 302, -1, 304, 361, 306, 363,
1418 -1, 123, 124, -1, -1, 40, -1, 315, 43, -1,
1419 45, -1, -1, -1, 123, -1, 324, -1, -1, -1,
1420 -1, -1, -1, -1, 332, 333, 334, 335, 336, 337,
1421 -1, 339, -1, 341, 342, -1, -1, 345, -1, -1,
1422 348, 349, 350, 351, 261, 262, 263, -1, -1, -1,
1423 267, -1, -1, -1, -1, -1, 263, -1, -1, -1,
1424 -1, -1, -1, 280, 281, 282, 283, 284, 285, 286,
1425 287, 288, 289, 290, 291, 282, 293, -1, 285, -1,
1426 -1, -1, 299, 300, 301, 302, 263, 304, -1, 306,
1427 -1, -1, -1, -1, -1, -1, 40, 41, 315, 43,
1428 -1, 45, -1, 47, -1, 282, -1, 324, 285, -1,
1429 -1, -1, -1, -1, -1, 332, 333, 334, 335, 336,
1430 337, -1, 339, -1, 341, 342, -1, -1, 345, -1,
1431 -1, 348, 349, 350, 351, -1, -1, -1, -1, 261,
1432 262, 263, -1, -1, -1, 267, -1, -1, -1, -1,
1433 -1, -1, 261, 262, 263, -1, -1, -1, 280, 281,
1434 282, 283, 284, 285, 286, 287, 288, 289, 290, 291,
1435 -1, 293, -1, -1, -1, -1, -1, 299, 300, 301,
1436 302, -1, 304, -1, 306, -1, -1, -1, -1, 41,
1437 299, -1, 44, 315, 0, -1, -1, -1, -1, -1,
1438 -1, -1, 324, 41, -1, -1, 44, 59, -1, -1,
1439 332, 333, 334, 335, 336, -1, -1, 339, -1, 341,
1440 342, 59, -1, 345, -1, -1, 348, 349, 350, 351,
1441 -1, 37, 267, -1, 40, 41, 42, 43, 44, 45,
1442 -1, 47, -1, -1, -1, 280, -1, -1, -1, -1,
1443 -1, -1, 58, 59, 289, 290, 291, 63, 293, -1,
1444 -1, -1, -1, -1, -1, 300, 301, 302, -1, 304,
1445 -1, 306, 124, -1, -1, -1, -1, -1, -1, -1,
1446 -1, -1, -1, -1, -1, 0, 124, 93, -1, 324,
1447 -1, -1, -1, -1, 0, -1, -1, 332, 333, 334,
1448 335, 336, 337, -1, 339, -1, 341, 342, -1, -1,
1449 345, -1, -1, -1, 349, 350, 351, 123, 124, -1,
1450 -1, -1, 37, -1, -1, 40, 41, 42, 43, 44,
1451 45, -1, 47, -1, -1, 41, -1, -1, 44, -1,
1452 -1, 47, -1, 58, 59, -1, 290, 291, 63, 293,
1453 -1, -1, 58, 59, -1, -1, 300, 301, 302, -1,
1454 304, -1, 306, -1, -1, -1, -1, -1, -1, -1,
1455 -1, -1, -1, -1, -1, -1, -1, -1, 93, 0,
1456 324, -1, -1, -1, -1, -1, -1, 93, 332, 333,
1457 334, 335, 336, 337, -1, 339, -1, 341, 342, -1,
1458 -1, 345, -1, -1, -1, 349, 350, 351, 123, 124,
1459 -1, 263, -1, -1, -1, -1, 37, 123, -1, 40,
1460 41, 42, 43, 44, 45, 263, 47, -1, -1, -1,
1461 282, -1, -1, 285, -1, -1, -1, 58, 59, -1,
1462 -1, -1, 63, -1, 282, -1, -1, 285, -1, 41,
1463 -1, -1, 44, -1, -1, 261, 262, 263, -1, -1,
1464 -1, 267, -1, -1, -1, -1, 58, 59, -1, -1,
1465 -1, 63, 93, -1, 280, 281, 282, 283, 284, 285,
1466 286, -1, 288, 289, 290, 291, -1, 293, -1, -1,
1467 -1, -1, -1, 299, 300, 301, 302, -1, 304, -1,
1468 306, -1, 123, 124, -1, -1, -1, -1, -1, 315,
1469 -1, -1, -1, -1, -1, -1, -1, -1, 324, -1,
1470 -1, -1, -1, -1, -1, -1, 332, 333, 334, 335,
1471 336, 337, 124, 339, -1, 341, 342, -1, -1, 345,
1472 -1, -1, 348, 349, 350, 351, 261, 262, 263, -1,
1473 -1, -1, 267, -1, -1, 261, 262, 263, -1, -1,
1474 -1, -1, -1, -1, -1, 280, 281, 282, 283, 284,
1475 285, 286, 287, 288, 289, 290, 291, -1, 293, -1,
1476 -1, -1, -1, -1, 299, 300, 301, 302, -1, 304,
1477 -1, 306, -1, 299, -1, -1, 40, -1, -1, 43,
1478 315, 45, -1, 47, -1, -1, -1, -1, -1, 324,
1479 -1, -1, -1, -1, -1, -1, -1, 332, 333, 334,
1480 335, 336, 337, -1, 339, -1, 341, 342, -1, -1,
1481 345, -1, -1, -1, 349, 350, 351, -1, -1, -1,
1482 261, 262, 263, -1, -1, -1, 267, -1, -1, -1,
1483 -1, -1, -1, -1, -1, -1, -1, -1, -1, 280,
1484 281, 282, 283, 284, 285, 286, 287, 288, 289, 290,
1485 291, 263, 293, -1, -1, -1, -1, -1, 299, 300,
1486 301, 302, -1, 304, -1, 306, -1, -1, -1, 281,
1487 282, -1, -1, 285, 315, 0, -1, -1, -1, -1,
1488 -1, -1, -1, 324, -1, -1, -1, -1, 0, -1,
1489 -1, 332, 333, 334, 335, 336, 337, -1, 339, -1,
1490 341, 342, -1, -1, 345, -1, -1, -1, 349, 350,
1491 351, -1, 37, -1, -1, 40, 41, 42, 43, 44,
1492 45, -1, 47, -1, -1, -1, -1, -1, -1, 41,
1493 -1, -1, 44, 58, 59, 47, -1, -1, 63, -1,
1494 -1, -1, -1, -1, -1, -1, 58, 59, -1, -1,
1495 -1, 63, -1, -1, -1, -1, -1, -1, -1, -1,
1496 0, -1, -1, -1, -1, -1, -1, -1, 93, -1,
1497 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1498 -1, 93, -1, -1, -1, -1, -1, -1, -1, -1,
1499 -1, -1, -1, -1, -1, -1, -1, 37, 123, 124,
1500 40, 41, 42, 43, 44, 45, -1, 47, -1, -1,
1501 -1, 123, -1, -1, -1, -1, -1, -1, 58, 59,
1502 -1, -1, -1, 63, -1, -1, 290, 291, -1, 293,
1503 -1, -1, -1, -1, -1, -1, 300, 301, 302, -1,
1504 304, -1, 306, -1, -1, -1, -1, -1, -1, -1,
1505 -1, -1, -1, 93, -1, -1, -1, -1, -1, 0,
1506 324, -1, -1, -1, -1, -1, -1, -1, 332, 333,
1507 334, 335, 336, 337, -1, 339, -1, 341, 342, -1,
1508 -1, 345, -1, 123, 124, 349, 350, 351, -1, -1,
1509 -1, -1, -1, -1, -1, -1, 37, -1, -1, 40,
1510 41, 42, 43, 44, 45, -1, 47, -1, -1, -1,
1511 -1, -1, -1, -1, -1, -1, -1, 58, 59, -1,
1512 -1, -1, 63, -1, -1, -1, -1, -1, -1, -1,
1513 -1, -1, -1, -1, -1, -1, 261, 262, 263, -1,
1514 -1, -1, 267, -1, -1, -1, -1, -1, -1, 261,
1515 262, 263, 93, -1, -1, 280, 281, 282, 283, 284,
1516 285, 286, 287, 288, 289, 290, 291, -1, 293, 281,
1517 -1, -1, -1, -1, 299, 300, 301, 302, -1, 304,
1518 -1, 306, 123, 124, -1, -1, -1, 299, -1, -1,
1519 315, -1, -1, -1, -1, -1, -1, -1, -1, 324,
1520 -1, -1, -1, -1, -1, -1, -1, 332, 333, 334,
1521 335, 336, 337, -1, 339, -1, 341, 342, -1, -1,
1522 345, 261, 262, 263, 349, 350, 351, 267, -1, -1,
1523 -1, 0, -1, -1, -1, -1, -1, -1, -1, -1,
1524 280, 281, 282, 283, 284, 285, 286, 287, 288, 289,
1525 290, 291, -1, 293, -1, -1, -1, -1, -1, 299,
1526 300, 301, 302, -1, 304, -1, 306, -1, -1, -1,
1527 -1, 40, -1, -1, 43, 315, 45, -1, 47, -1,
1528 -1, -1, -1, -1, 324, -1, -1, -1, -1, -1,
1529 59, -1, 332, 333, 334, 335, 336, 337, -1, 339,
1530 -1, 341, 342, -1, -1, 345, -1, -1, -1, 349,
1531 350, 351, -1, -1, -1, -1, -1, -1, -1, -1,
1532 261, 262, 263, -1, -1, -1, 267, -1, -1, -1,
1533 -1, -1, -1, -1, -1, -1, -1, -1, -1, 280,
1534 281, 282, 283, 284, 285, 286, 287, 288, 289, 290,
1535 291, -1, 293, -1, -1, -1, -1, -1, 299, 300,
1536 301, 302, -1, 304, -1, 306, -1, -1, -1, -1,
1537 -1, -1, -1, -1, 315, 0, -1, -1, -1, -1,
1538 -1, -1, -1, 324, -1, -1, -1, -1, -1, -1,
1539 -1, 332, 333, 334, 335, 336, 337, -1, 339, -1,
1540 341, 342, -1, -1, 345, -1, -1, -1, 349, 350,
1541 351, -1, 37, -1, -1, 40, 41, 42, 43, 44,
1542 45, -1, 47, -1, -1, -1, -1, -1, -1, -1,
1543 -1, -1, -1, 58, 59, -1, -1, -1, 63, -1,
1544 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1545 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1546 0, -1, -1, -1, -1, -1, -1, -1, 93, -1,
1547 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1548 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1549 -1, -1, 261, 262, 263, -1, -1, 37, 123, 124,
1550 40, 41, 42, 43, 44, 45, -1, 47, -1, -1,
1551 -1, -1, -1, -1, -1, -1, -1, -1, 58, 59,
1552 -1, 290, 291, 63, 293, -1, -1, -1, -1, -1,
1553 299, 300, 301, 302, -1, 304, -1, 306, -1, -1,
1554 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1555 -1, -1, -1, 93, -1, 324, -1, -1, -1, 0,
1556 -1, -1, -1, 332, 333, 334, 335, 336, 337, -1,
1557 339, -1, 341, 342, -1, -1, 345, -1, -1, -1,
1558 349, 350, 351, 123, 124, -1, -1, -1, -1, -1,
1559 -1, -1, -1, -1, -1, -1, 37, -1, -1, 40,
1560 41, 42, 43, 44, 45, -1, 47, -1, -1, -1,
1561 -1, -1, -1, -1, -1, -1, -1, 58, 59, -1,
1562 -1, -1, 63, -1, -1, -1, -1, -1, -1, -1,
1563 -1, -1, -1, -1, -1, -1, 261, 262, 263, -1,
1564 -1, -1, 267, -1, -1, -1, -1, -1, -1, -1,
1565 -1, -1, 93, -1, -1, 280, 281, 282, 283, 284,
1566 285, 286, 287, 288, 289, 290, 291, -1, 293, -1,
1567 -1, -1, -1, -1, 299, 300, 301, 302, -1, 304,
1568 -1, 306, 123, 124, -1, -1, -1, -1, -1, -1,
1569 315, -1, -1, -1, -1, -1, -1, -1, -1, 324,
1570 -1, -1, -1, -1, -1, -1, -1, 332, 333, 334,
1571 335, 336, 337, -1, 339, -1, 341, 342, -1, -1,
1572 345, 261, 262, 263, 349, 350, 351, 267, -1, -1,
1573 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1574 280, 281, 282, 283, 284, 285, 286, 287, 288, 289,
1575 290, 291, -1, 293, -1, -1, -1, -1, -1, 299,
1576 300, 301, 302, -1, 304, -1, 306, -1, -1, -1,
1577 -1, -1, -1, -1, -1, 315, -1, -1, -1, 54,
1578 55, -1, 40, 41, 324, 43, -1, 45, -1, 47,
1579 -1, -1, 332, 333, 334, 335, 336, 337, -1, 339,
1580 -1, 341, 342, -1, -1, 345, -1, -1, -1, 349,
1581 350, 351, -1, -1, -1, -1, -1, -1, -1, -1,
1582 261, 262, 263, -1, -1, -1, 267, -1, -1, -1,
1583 -1, -1, -1, -1, -1, -1, -1, -1, -1, 280,
1584 281, 282, 283, 284, 285, 286, 287, 288, 289, 290,
1585 291, -1, 293, -1, -1, -1, -1, -1, 299, 300,
1586 301, 302, -1, 304, -1, 306, -1, -1, -1, -1,
1587 -1, 0, -1, -1, 315, 150, 151, 152, 153, -1,
1588 -1, -1, -1, 324, 159, 160, -1, -1, -1, -1,
1589 -1, 332, 333, 334, 335, 336, 337, -1, 339, -1,
1590 341, 342, -1, -1, 345, -1, -1, 348, 37, -1,
1591 351, 40, 41, 42, 43, 44, 45, -1, 47, -1,
1592 -1, -1, -1, -1, -1, -1, -1, -1, -1, 58,
1593 59, -1, -1, -1, 63, -1, -1, -1, -1, -1,
1594 215, -1, -1, -1, -1, 220, 221, -1, -1, -1,
1595 -1, -1, -1, -1, -1, -1, -1, 232, -1, -1,
1596 -1, -1, 0, -1, 93, -1, -1, -1, -1, -1,
1597 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1598 -1, -1, -1, -1, -1, -1, -1, -1, -1, 264,
1599 -1, -1, -1, -1, 123, 124, -1, -1, 256, -1,
1600 -1, -1, 40, 41, -1, 43, 44, 45, 283, 284,
1601 -1, -1, -1, -1, 289, 290, -1, -1, -1, -1,
1602 58, 59, -1, -1, -1, 63, -1, -1, -1, -1,
1603 -1, -1, 290, 291, -1, 293, -1, 295, -1, -1,
1604 315, 316, 300, 301, 302, -1, 304, -1, 306, -1,
1605 -1, -1, -1, -1, -1, 93, 0, -1, -1, -1,
1606 -1, -1, 337, -1, 322, 323, 324, -1, -1, 344,
1607 345, -1, -1, -1, 332, 333, 334, 335, 336, 337,
1608 -1, 339, -1, 341, 342, 123, 124, 345, -1, -1,
1609 -1, 349, 350, 351, -1, -1, 40, 41, -1, 43,
1610 44, 45, -1, -1, -1, -1, -1, -1, -1, -1,
1611 -1, -1, -1, -1, 58, 59, -1, -1, -1, 63,
1612 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1613 -1, -1, 261, 262, 263, -1, -1, -1, 267, -1,
1614 -1, -1, -1, -1, -1, -1, -1, -1, -1, 93,
1615 -1, 280, 281, -1, 283, 284, 285, 286, 287, 288,
1616 289, 290, 291, -1, 293, -1, -1, -1, -1, -1,
1617 299, 300, 301, 302, -1, 304, -1, 306, -1, 123,
1618 124, -1, -1, -1, -1, -1, -1, -1, 40, -1,
1619 -1, 43, -1, 45, -1, 324, -1, -1, -1, -1,
1620 -1, -1, -1, 332, 333, 334, 335, 336, 337, -1,
1621 339, 63, 341, 342, -1, -1, 345, -1, -1, 348,
1622 -1, -1, 351, 261, 262, 263, -1, -1, -1, 267,
1623 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1624 -1, -1, 280, 281, 282, 283, 284, 285, 286, 287,
1625 288, 289, 290, 291, -1, 293, -1, -1, -1, -1,
1626 -1, 299, 300, 301, 302, -1, 304, -1, 306, -1,
1627 -1, -1, -1, -1, -1, -1, -1, 315, -1, -1,
1628 -1, -1, -1, -1, -1, -1, 324, -1, -1, -1,
1629 -1, -1, -1, -1, 332, 333, 334, 335, 336, 337,
1630 -1, 339, -1, 341, 342, -1, -1, 345, -1, -1,
1631 0, 349, 350, 351, -1, -1, -1, 261, 262, 263,
1632 -1, -1, -1, 267, -1, -1, -1, -1, -1, -1,
1633 -1, -1, -1, -1, -1, -1, 280, 281, 282, 283,
1634 284, 285, 286, 287, 288, 289, 290, 291, -1, 293,
1635 40, 41, -1, -1, 44, 299, 300, 301, 302, -1,
1636 304, -1, 306, -1, -1, -1, -1, -1, 58, 59,
1637 -1, 315, -1, 63, -1, -1, -1, 0, -1, -1,
1638 324, -1, -1, -1, -1, -1, -1, -1, 332, 333,
1639 334, 335, 336, 337, -1, 339, -1, 341, 342, -1,
1640 -1, 345, 0, 93, -1, 349, 350, 351, -1, -1,
1641 -1, -1, -1, -1, -1, 267, -1, -1, 41, -1,
1642 -1, 44, -1, -1, 47, -1, -1, -1, 280, 281,
1643 -1, -1, -1, 123, 124, 58, 59, 289, 290, 291,
1644 63, 293, 40, 41, -1, -1, 44, -1, 300, 301,
1645 302, -1, 304, -1, 306, -1, -1, -1, -1, -1,
1646 58, 59, -1, -1, -1, 63, -1, -1, -1, -1,
1647 93, -1, 324, -1, -1, -1, -1, -1, -1, -1,
1648 332, 333, 334, 335, 336, 337, -1, 339, -1, 341,
1649 342, -1, -1, 345, 0, 93, -1, 349, 350, 351,
1650 123, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1651 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1652 -1, -1, -1, -1, -1, 123, 124, -1, -1, -1,
1653 -1, -1, -1, -1, 40, 41, -1, -1, 44, -1,
1654 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1655 -1, -1, 58, 59, -1, -1, -1, 63, -1, -1,
1656 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1657 -1, 261, 262, 263, -1, -1, -1, 267, -1, -1,
1658 -1, -1, -1, -1, -1, -1, 0, 93, -1, -1,
1659 280, 281, 282, 283, 284, 285, 286, 287, 288, 289,
1660 290, 291, -1, 293, -1, -1, -1, -1, -1, 299,
1661 300, 301, 302, -1, 304, -1, 306, 123, 124, -1,
1662 -1, -1, -1, -1, -1, 315, 40, -1, -1, 43,
1663 -1, 45, -1, 47, 324, -1, -1, -1, 261, 262,
1664 263, -1, 332, 333, 334, 335, 336, 337, -1, 339,
1665 -1, 341, 342, -1, -1, 345, -1, 280, 281, 349,
1666 350, 351, -1, 261, 262, 263, -1, -1, -1, 267,
1667 -1, -1, -1, -1, -1, -1, 299, -1, -1, -1,
1668 -1, -1, 280, 281, 282, 283, 284, 285, 286, 287,
1669 288, 289, 290, 291, -1, 293, -1, -1, -1, -1,
1670 -1, 299, 300, 301, 302, -1, 304, -1, 306, 123,
1671 -1, -1, -1, -1, -1, -1, 339, 315, -1, -1,
1672 -1, -1, -1, -1, -1, -1, 324, -1, -1, -1,
1673 -1, -1, -1, -1, 332, 333, 334, 335, 336, 337,
1674 -1, 339, -1, 341, 342, -1, -1, 345, 0, -1,
1675 -1, 349, 350, 351, -1, 261, 262, 263, -1, -1,
1676 -1, 267, -1, -1, -1, -1, -1, -1, -1, -1,
1677 -1, -1, -1, -1, 280, 281, 282, 283, 284, 285,
1678 286, 287, 288, 289, 290, 291, -1, 293, 40, 41,
1679 -1, -1, 44, 299, 300, 301, 302, -1, 304, -1,
1680 306, -1, -1, -1, -1, -1, 58, 59, -1, 315,
1681 -1, 63, -1, -1, -1, -1, -1, -1, 324, -1,
1682 -1, -1, -1, -1, -1, -1, 332, 333, 334, 335,
1683 336, 337, -1, 339, -1, 341, 342, -1, -1, 345,
1684 0, 93, -1, 349, 350, 351, -1, 261, 262, -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, 123, 124, -1, -1, -1, 290, 291, -1, 293,
1688 40, 41, -1, -1, 44, 299, 300, 301, 302, -1,
1689 304, -1, 306, -1, -1, -1, -1, -1, 58, 59,
1690 -1, -1, -1, 63, -1, -1, -1, -1, -1, -1,
1691 324, -1, -1, -1, -1, -1, -1, -1, 332, 333,
1692 334, 335, 336, 337, -1, 339, -1, 341, 342, -1,
1693 -1, 345, 0, 93, -1, 349, 350, 351, -1, -1,
1694 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1695 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1696 -1, -1, -1, 123, 124, -1, -1, -1, -1, -1,
1697 -1, -1, 40, 41, -1, -1, 44, -1, -1, -1,
1698 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1699 58, 59, -1, -1, -1, 63, -1, -1, -1, -1,
1700 -1, -1, -1, -1, -1, -1, -1, -1, -1, 261,
1701 262, 263, -1, -1, -1, 267, -1, 0, -1, -1,
1702 -1, -1, -1, -1, -1, 93, -1, -1, 280, 281,
1703 282, 283, 284, 285, 286, 287, 288, 289, 290, 291,
1704 -1, 293, -1, -1, -1, -1, -1, 299, 300, 301,
1705 302, -1, 304, -1, 306, 123, 124, 40, -1, -1,
1706 43, -1, 45, 315, 47, -1, -1, -1, -1, -1,
1707 -1, -1, 324, -1, -1, -1, 59, -1, -1, -1,
1708 332, 333, 334, 335, 336, 337, -1, 339, -1, 341,
1709 342, -1, -1, 345, -1, -1, -1, 349, 350, 351,
1710 -1, 261, 262, 263, -1, -1, -1, 267, -1, -1,
1711 -1, -1, 0, -1, -1, -1, -1, -1, -1, -1,
1712 280, 281, -1, 283, 284, 285, 286, 287, 288, 289,
1713 290, 291, -1, 293, -1, -1, -1, -1, -1, 299,
1714 300, 301, 302, -1, 304, -1, 306, -1, -1, -1,
1715 -1, -1, 40, -1, -1, 43, -1, 45, -1, 47,
1716 -1, -1, -1, -1, 324, -1, -1, -1, -1, -1,
1717 -1, -1, 332, 333, 334, 335, 336, 337, -1, 339,
1718 -1, 341, 342, -1, -1, 345, -1, -1, -1, 349,
1719 350, 351, -1, 261, 262, 263, -1, -1, -1, 267,
1720 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1721 -1, -1, 280, 281, -1, 283, 284, 285, 286, 287,
1722 288, 289, 290, 291, -1, 293, -1, -1, -1, -1,
1723 -1, 299, 300, 301, 302, 123, 304, -1, 306, -1,
1724 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1725 -1, -1, -1, -1, -1, -1, 324, -1, -1, -1,
1726 -1, -1, -1, -1, 332, 333, 334, 335, 336, 337,
1727 -1, 339, -1, 341, 342, -1, -1, 345, 261, 262,
1728 263, 349, 350, 351, -1, 0, -1, -1, -1, -1,
1729 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1730 -1, -1, -1, -1, -1, -1, -1, 290, 291, -1,
1731 293, -1, -1, -1, -1, -1, 299, 300, 301, 302,
1732 -1, 304, 37, 306, -1, 40, 41, 42, 43, 44,
1733 45, -1, 47, -1, -1, -1, -1, -1, -1, -1,
1734 -1, 324, -1, 58, 59, -1, -1, -1, 63, 332,
1735 333, 334, 335, 336, 337, -1, 339, -1, 341, 342,
1736 -1, -1, 345, -1, -1, -1, 349, 350, 351, -1,
1737 -1, -1, -1, 261, 262, -1, -1, -1, 93, 0,
1738 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1739 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1740 -1, -1, 290, 291, -1, 293, -1, -1, 123, 124,
1741 -1, 299, 300, 301, 302, -1, 304, -1, 306, 40,
1742 41, -1, 43, 44, 45, -1, 47, 0, -1, -1,
1743 -1, -1, -1, -1, -1, -1, 324, 58, 59, -1,
1744 -1, -1, 63, -1, 332, 333, 334, 335, 336, 337,
1745 -1, 339, -1, 341, 342, -1, -1, 345, -1, -1,
1746 -1, 349, 350, 351, -1, -1, -1, -1, 41, 0,
1747 -1, 44, 93, -1, 47, -1, -1, -1, -1, -1,
1748 -1, -1, 0, -1, -1, 58, 59, -1, -1, -1,
1749 63, -1, -1, -1, -1, 0, -1, -1, -1, -1,
1750 -1, -1, 123, 124, -1, -1, -1, -1, -1, -1,
1751 41, -1, -1, 44, -1, -1, 47, -1, -1, -1,
1752 93, -1, -1, 41, -1, -1, 44, 58, 59, 47,
1753 -1, -1, 63, -1, -1, -1, 41, -1, -1, 44,
1754 58, 59, 47, -1, -1, 63, 261, 262, 263, -1,
1755 123, -1, 267, 58, 59, -1, -1, -1, 63, -1,
1756 -1, -1, 93, -1, -1, 280, 281, 282, 283, 284,
1757 285, 286, -1, 288, 289, 93, 291, -1, 293, -1,
1758 -1, -1, -1, -1, 299, 300, 301, 302, 93, 304,
1759 -1, 306, 123, -1, -1, -1, -1, -1, -1, -1,
1760 315, -1, -1, -1, -1, 123, -1, -1, -1, 324,
1761 -1, -1, -1, -1, -1, -1, -1, -1, 123, -1,
1762 335, 336, 337, -1, 339, -1, 341, 342, -1, -1,
1763 345, -1, -1, 348, 349, 350, -1, -1, -1, -1,
1764 261, 262, 263, -1, -1, -1, 267, -1, -1, -1,
1765 -1, -1, -1, -1, 0, -1, -1, -1, -1, 280,
1766 281, -1, 283, 284, 285, 286, 287, 288, 289, -1,
1767 291, -1, 293, -1, -1, -1, -1, -1, 299, 300,
1768 301, 302, -1, 304, -1, 306, -1, -1, 261, 262,
1769 263, -1, -1, -1, -1, 41, -1, -1, 44, -1,
1770 -1, 47, -1, 324, -1, -1, -1, 280, 281, -1,
1771 -1, -1, 58, 59, 335, 336, 337, 63, 339, -1,
1772 341, 342, -1, -1, 345, -1, 299, -1, 349, 350,
1773 261, 262, 263, -1, -1, -1, -1, -1, -1, -1,
1774 -1, -1, -1, 261, 262, 263, -1, 93, -1, 280,
1775 281, -1, -1, -1, -1, -1, 261, 262, 263, -1,
1776 -1, -1, 280, 281, 37, -1, 339, 40, 299, 42,
1777 43, -1, 45, -1, 47, 280, 281, 123, -1, -1,
1778 -1, 299, -1, -1, -1, -1, 59, -1, -1, -1,
1779 63, -1, -1, -1, 299, -1, -1, -1, -1, -1,
1780 -1, -1, -1, -1, -1, -1, -1, -1, 339, -1,
1781 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1782 -1, 339, -1, -1, -1, -1, -1, -1, -1, -1,
1783 -1, -1, -1, -1, 339, -1, -1, -1, -1, -1,
1784 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1785 -1, 124, -1, 37, -1, -1, 40, 41, 42, 43,
1786 44, 45, -1, 47, -1, -1, -1, -1, -1, -1,
1787 -1, -1, -1, -1, 58, 59, -1, -1, -1, 63,
1788 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1789 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1790 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1791 -1, -1, -1, -1, -1, 261, 262, 263, 40, 41,
1792 -1, 43, -1, 45, -1, 47, -1, -1, -1, -1,
1793 -1, -1, -1, -1, 280, 281, -1, 59, -1, -1,
1794 124, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1795 -1, -1, -1, 299, -1, -1, -1, -1, -1, -1,
1796 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1797 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1798 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1799 -1, -1, -1, 339, 267, -1, -1, -1, -1, -1,
1800 -1, 123, -1, 125, -1, -1, -1, 280, 281, -1,
1801 283, 284, 285, 286, 287, 288, -1, 290, 291, 40,
1802 293, -1, 43, -1, 45, -1, 47, 300, 301, 302,
1803 -1, 304, -1, 306, -1, -1, -1, -1, 59, -1,
1804 -1, -1, 315, -1, -1, -1, -1, -1, -1, -1,
1805 -1, 324, -1, -1, -1, -1, -1, -1, -1, 332,
1806 333, 334, 335, 336, 337, -1, 339, -1, 341, 342,
1807 -1, -1, 345, -1, -1, 348, 349, 350, 351, 263,
1808 -1, -1, -1, 267, -1, -1, -1, -1, -1, -1,
1809 -1, -1, -1, -1, -1, -1, 280, 281, 282, -1,
1810 -1, 285, 123, -1, 125, 289, 290, 291, -1, 293,
1811 -1, -1, -1, -1, -1, -1, 300, 301, 302, -1,
1812 304, -1, 306, 40, -1, -1, 43, -1, 45, -1,
1813 47, -1, -1, -1, 256, -1, -1, -1, -1, -1,
1814 324, -1, 59, -1, -1, -1, -1, -1, 332, 333,
1815 334, 335, 336, 337, -1, 339, -1, 341, 342, -1,
1816 -1, 345, -1, -1, 348, -1, -1, 351, 290, 291,
1817 292, 293, 294, 295, 296, 297, 298, -1, 300, 301,
1818 302, 303, 304, -1, 306, 307, 308, -1, -1, -1,
1819 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1820 322, 323, 324, 325, -1, -1, 123, -1, 125, -1,
1821 332, 333, 334, 335, 336, 337, -1, 339, 340, 341,
1822 342, 343, -1, 345, -1, -1, -1, 349, 350, 351,
1823 -1, -1, -1, -1, -1, 256, -1, -1, -1, -1,
1824 40, -1, -1, 43, -1, 45, -1, 47, -1, -1,
1825 -1, -1, -1, -1, -1, -1, -1, -1, -1, 59,
1826 -1, -1, -1, -1, -1, -1, -1, -1, -1, 290,
1827 291, 292, 293, 294, 295, 296, 297, 298, -1, 300,
1828 301, 302, 303, 304, -1, 306, 307, 308, -1, -1,
1829 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1830 -1, 322, 323, 324, 325, -1, -1, -1, -1, -1,
1831 -1, 332, 333, 334, 335, 336, 337, -1, 339, 340,
1832 341, 342, 343, 123, 345, 125, -1, -1, 349, 350,
1833 351, 40, -1, -1, 43, -1, 45, -1, 47, 256,
1834 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1835 59, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1836 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1837 -1, -1, -1, 290, 291, 292, 293, 294, 295, 296,
1838 297, 298, -1, 300, 301, 302, 303, 304, -1, 306,
1839 307, 308, -1, 40, -1, -1, 43, -1, 45, -1,
1840 47, -1, -1, -1, -1, 322, 323, 324, 325, -1,
1841 -1, -1, 59, -1, 123, 332, 333, 334, 335, 336,
1842 337, -1, 339, 340, 341, 342, 343, -1, 345, -1,
1843 -1, -1, 349, 350, 351, -1, -1, -1, -1, -1,
1844 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1845 -1, -1, -1, -1, -1, -1, 256, -1, -1, -1,
1846 -1, -1, -1, 40, -1, -1, 43, -1, 45, -1,
1847 47, -1, -1, -1, -1, -1, 123, -1, 125, -1,
1848 -1, -1, 59, -1, -1, -1, -1, -1, -1, -1,
1849 290, 291, 292, 293, 294, 295, 296, 297, 298, -1,
1850 300, 301, 302, 303, 304, -1, 306, 307, 308, -1,
1851 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1852 -1, -1, 322, 323, 324, 325, -1, -1, -1, -1,
1853 -1, -1, 332, 333, 334, 335, 336, 337, -1, 339,
1854 340, 341, 342, 343, -1, 345, 123, 256, 125, 349,
1855 350, 351, -1, -1, 263, -1, -1, -1, -1, -1,
1856 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1857 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1858 -1, 290, 291, 292, 293, 294, 295, 296, 297, 298,
1859 -1, 300, 301, 302, 303, 304, -1, 306, 307, 308,
1860 -1, -1, -1, -1, -1, -1, -1, -1, -1, 256,
1861 -1, -1, -1, 322, 323, 324, -1, -1, -1, -1,
1862 -1, -1, -1, 332, 333, 334, 335, 336, 337, -1,
1863 339, 340, 341, 342, 343, -1, 345, -1, -1, -1,
1864 349, 350, 351, 290, 291, 292, 293, 294, 295, 296,
1865 297, 298, -1, 300, 301, 302, 303, 304, -1, 306,
1866 307, 308, -1, -1, -1, 40, -1, -1, 43, -1,
1867 45, -1, 47, -1, -1, 322, 323, 324, -1, 256,
1868 -1, -1, -1, -1, 59, 332, 333, 334, 335, 336,
1869 337, -1, 339, 340, 341, 342, 343, -1, 345, -1,
1870 -1, -1, 349, 350, 351, -1, -1, -1, -1, -1,
1871 -1, -1, -1, 290, 291, 292, 293, 294, 295, 296,
1872 297, 298, -1, 300, 301, 302, 303, 304, -1, 306,
1873 307, 308, -1, -1, 40, -1, -1, 43, -1, 45,
1874 -1, 47, -1, -1, -1, 322, 323, 324, 123, -1,
1875 125, -1, -1, 59, -1, 332, 333, 334, 335, 336,
1876 337, -1, 339, 340, 341, 342, 343, -1, 345, -1,
1877 -1, -1, 349, 350, 351, -1, -1, -1, -1, -1,
1878 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1879 -1, -1, -1, -1, -1, -1, -1, 40, -1, -1,
1880 43, -1, 45, -1, 47, -1, -1, -1, -1, -1,
1881 -1, -1, -1, -1, -1, -1, 59, 123, -1, 125,
1882 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1883 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1884 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1885 -1, -1, -1, -1, -1, -1, -1, -1, -1, 40,
1886 -1, -1, 43, -1, 45, -1, 47, -1, -1, -1,
1887 -1, -1, -1, -1, -1, -1, -1, -1, 59, -1,
1888 123, 256, 125, -1, -1, -1, -1, -1, -1, -1,
1889 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1890 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1891 -1, -1, -1, -1, -1, 290, 291, 292, 293, 294,
1892 295, 296, 297, 298, -1, 300, 301, 302, 303, 304,
1893 -1, 306, 307, 308, -1, -1, -1, -1, 40, -1,
1894 -1, 43, 123, 45, -1, -1, -1, 322, 323, 324,
1895 256, -1, -1, -1, -1, -1, -1, 332, 333, 334,
1896 335, 336, 337, -1, 339, 340, 341, 342, 343, -1,
1897 345, -1, -1, -1, 349, 350, 351, -1, -1, -1,
1898 -1, -1, -1, -1, 290, 291, 292, 293, 294, 295,
1899 296, 297, 298, -1, 300, 301, 302, 303, 304, -1,
1900 306, 307, 308, 40, -1, -1, 43, -1, 45, -1,
1901 47, -1, -1, 256, -1, -1, 322, 323, 324, -1,
1902 -1, -1, 59, -1, -1, -1, 332, 333, 334, 335,
1903 336, 337, -1, 339, 340, 341, 342, 343, -1, 345,
1904 -1, -1, -1, 349, 350, 351, -1, 290, 291, 292,
1905 293, 294, 295, 296, 297, 298, -1, 300, 301, 302,
1906 303, 304, -1, 306, 307, 308, 40, -1, -1, 43,
1907 -1, 45, -1, 47, -1, 256, -1, -1, -1, 322,
1908 323, 324, 263, -1, -1, 59, 123, -1, 125, 332,
1909 333, 334, 335, 336, 337, -1, 339, 340, 341, 342,
1910 343, -1, 345, -1, -1, -1, 349, 350, 351, 290,
1911 291, 292, 293, 294, 295, 296, 297, 298, -1, 300,
1912 301, 302, 303, 304, -1, 306, 307, 308, 40, -1,
1913 -1, 43, -1, 45, -1, 47, -1, -1, -1, -1,
1914 -1, 322, 323, 324, -1, -1, -1, 59, -1, 123,
1915 -1, 332, 333, 334, 335, 336, 337, -1, 339, 340,
1916 341, 342, 343, -1, 345, 267, -1, -1, 349, 350,
1917 351, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1918 -1, -1, -1, -1, -1, -1, -1, 289, 290, 291,
1919 40, 293, -1, 43, -1, 45, -1, 47, 300, 301,
1920 302, -1, 304, -1, 306, -1, -1, -1, -1, 59,
1921 -1, 123, -1, 125, -1, -1, -1, -1, -1, 256,
1922 -1, -1, 324, -1, -1, -1, -1, -1, -1, -1,
1923 332, 333, 334, 335, 336, 337, -1, 339, -1, 341,
1924 342, -1, -1, 345, -1, -1, -1, 349, 350, 351,
1925 -1, -1, -1, 290, 291, 292, 293, 294, 295, 296,
1926 297, 298, -1, 300, 301, 302, 303, 304, -1, 306,
1927 307, 308, -1, 123, -1, 125, -1, -1, -1, -1,
1928 -1, -1, 256, -1, -1, 322, 323, 324, -1, -1,
1929 -1, -1, -1, -1, -1, 332, 333, 334, 335, 336,
1930 337, -1, 339, 340, 341, 342, 343, -1, 345, -1,
1931 -1, -1, 349, 350, 351, -1, 290, 291, 292, 293,
1932 294, 295, 296, 297, 298, -1, 300, 301, 302, 303,
1933 304, -1, 306, 307, 308, 40, -1, -1, 43, -1,
1934 45, -1, 47, -1, 256, -1, -1, -1, 322, 323,
1935 324, -1, -1, -1, 59, -1, -1, -1, 332, 333,
1936 334, 335, 336, 337, -1, 339, 340, 341, 342, 343,
1937 -1, 345, -1, -1, -1, 349, 350, 351, 290, 291,
1938 292, 293, 294, 295, 296, 297, 298, -1, 300, 301,
1939 302, 303, 304, -1, 306, 307, 308, 40, -1, -1,
1940 43, -1, 45, -1, 47, -1, 256, -1, -1, -1,
1941 322, 323, 324, -1, -1, -1, 59, -1, 123, -1,
1942 332, 333, 334, 335, 336, 337, -1, 339, 340, 341,
1943 342, 343, -1, 345, -1, -1, -1, 349, 350, 351,
1944 290, 291, 292, 293, 294, 295, 296, 297, 298, -1,
1945 300, 301, 302, 303, 304, -1, 306, 307, 308, 40,
1946 -1, -1, 43, -1, 45, -1, 47, -1, -1, -1,
1947 -1, -1, 322, 323, 324, -1, -1, -1, 59, -1,
1948 123, -1, 332, 333, 334, 335, 336, 337, -1, 339,
1949 340, 341, 342, 343, -1, 345, -1, -1, -1, 349,
1950 350, 351, -1, -1, -1, -1, -1, -1, -1, -1,
1951 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1952 -1, 40, -1, -1, 43, -1, 45, -1, 47, -1,
1953 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1954 59, -1, 123, -1, -1, -1, -1, -1, -1, -1,
1955 -1, 256, -1, -1, -1, -1, -1, -1, -1, -1,
1956 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1957 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1958 -1, -1, -1, -1, -1, 290, 291, 292, 293, 294,
1959 295, 296, 297, 298, -1, 300, 301, 302, 303, 304,
1960 -1, 306, 307, 308, 123, -1, -1, -1, -1, -1,
1961 -1, -1, -1, 256, -1, -1, -1, 322, 323, 324,
1962 -1, -1, -1, -1, -1, -1, -1, 332, 333, 334,
1963 335, 336, 337, -1, 339, 340, 341, 342, 343, -1,
1964 345, -1, -1, -1, 349, 350, 351, 290, 291, 292,
1965 293, 294, 295, 296, 297, 298, -1, 300, 301, 302,
1966 303, 304, -1, 306, 307, 308, 40, -1, -1, 43,
1967 -1, 45, -1, 47, -1, 256, -1, -1, -1, 322,
1968 323, 324, -1, -1, -1, 59, -1, -1, -1, 332,
1969 333, 334, 335, 336, 337, -1, 339, 340, 341, 342,
1970 343, -1, 345, -1, -1, -1, 349, 350, 351, 290,
1971 291, 292, 293, 294, 295, 296, 297, 298, -1, 300,
1972 301, 302, 303, 304, -1, 306, 307, 308, 40, -1,
1973 -1, 43, -1, 45, -1, 47, -1, 256, -1, -1,
1974 -1, 322, 323, 324, -1, -1, -1, 59, -1, 123,
1975 -1, 332, 333, 334, 335, 336, 337, -1, 339, 340,
1976 341, 342, 343, -1, 345, -1, -1, -1, 349, 350,
1977 351, 290, 291, 292, 293, 294, 295, 296, 297, 298,
1978 -1, 300, 301, 302, 303, 304, -1, 306, 307, 308,
1979 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1980 -1, -1, -1, 322, 323, 324, -1, -1, -1, -1,
1981 -1, 123, -1, 332, 333, 334, 335, 336, 337, -1,
1982 339, 340, 341, 342, 343, -1, 345, -1, -1, -1,
1983 349, 350, 351, -1, -1, -1, -1, -1, -1, -1,
1984 -1, 40, 41, -1, 43, 44, 45, -1, -1, -1,
1985 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1986 -1, -1, -1, -1, 63, -1, -1, -1, -1, -1,
1987 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1988 -1, -1, 256, -1, -1, -1, -1, -1, -1, -1,
1989 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1990 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1991 -1, -1, -1, -1, -1, -1, 290, 291, 292, 293,
1992 294, 295, 296, 297, 298, 124, 300, 301, 302, 303,
1993 304, -1, 306, 307, 308, -1, -1, -1, -1, -1,
1994 -1, -1, -1, -1, 256, -1, -1, -1, 322, 323,
1995 324, 40, -1, -1, 43, -1, 45, -1, 332, 333,
1996 334, 335, 336, 337, -1, 339, 340, 341, 342, 343,
1997 59, 345, -1, -1, 63, 349, 350, 351, 290, 291,
1998 292, 293, 294, 295, 296, 297, 298, -1, 300, 301,
1999 302, 303, 304, -1, 306, 307, 308, -1, -1, -1,
2000 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2001 322, 323, 324, -1, -1, -1, -1, -1, -1, -1,
2002 332, 333, 334, 335, 336, 337, -1, 339, 340, 341,
2003 342, 343, -1, 345, -1, 124, -1, 349, 350, 351,
2004 40, 41, -1, 43, 44, 45, -1, -1, -1, -1,
2005 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2006 -1, -1, -1, 63, -1, -1, -1, -1, 267, -1,
2007 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2008 -1, 280, 281, -1, 283, 284, 285, 286, 287, 288,
2009 289, 290, 291, -1, 293, -1, -1, -1, -1, -1,
2010 -1, 300, 301, 302, -1, 304, -1, 306, -1, -1,
2011 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2012 -1, -1, -1, -1, 124, 324, 40, 41, -1, 43,
2013 44, 45, -1, 332, 333, 334, 335, 336, 337, -1,
2014 339, -1, 341, 342, -1, -1, 345, -1, -1, 63,
2015 349, 350, 351, -1, -1, -1, -1, -1, -1, -1,
2016 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2017 -1, -1, -1, -1, 263, -1, -1, -1, 267, -1,
2018 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2019 -1, 280, 281, -1, 283, 284, 285, 286, 287, 288,
2020 289, 290, 291, -1, 293, -1, -1, -1, -1, -1,
2021 124, 300, 301, 302, -1, 304, -1, 306, -1, 40,
2022 41, -1, 43, 44, 45, -1, -1, -1, -1, -1,
2023 -1, -1, -1, -1, -1, 324, -1, -1, -1, -1,
2024 -1, -1, 63, 332, 333, 334, 335, 336, 337, -1,
2025 339, -1, 341, 342, -1, -1, 345, -1, -1, -1,
2026 349, 350, 351, -1, -1, -1, -1, 267, -1, -1,
2027 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2028 280, 281, -1, 283, 284, 285, 286, 287, 288, 289,
2029 290, 291, -1, 293, -1, -1, -1, -1, -1, -1,
2030 300, 301, 302, 124, 304, -1, 306, 40, 41, -1,
2031 43, 44, 45, -1, -1, -1, -1, -1, -1, -1,
2032 -1, -1, -1, -1, 324, -1, -1, -1, -1, -1,
2033 63, -1, 332, 333, 334, 335, 336, 337, -1, 339,
2034 -1, 341, 342, -1, -1, 345, -1, -1, -1, 349,
2035 350, 351, -1, 267, -1, -1, -1, -1, -1, -1,
2036 -1, -1, -1, -1, -1, -1, 280, 281, -1, 283,
2037 284, 285, 286, 287, 288, 289, 290, 291, -1, 293,
2038 -1, -1, -1, -1, -1, -1, 300, 301, 302, -1,
2039 304, 124, 306, 40, 41, -1, 43, 44, 45, -1,
2040 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2041 324, -1, -1, -1, -1, -1, 63, -1, 332, 333,
2042 334, 335, 336, 337, -1, 339, -1, 341, 342, -1,
2043 -1, 345, -1, -1, -1, 349, 350, 351, -1, -1,
2044 -1, -1, -1, -1, -1, -1, 267, -1, -1, -1,
2045 -1, -1, -1, -1, -1, -1, -1, -1, -1, 280,
2046 281, -1, 283, 284, 285, 286, 287, 288, 289, 290,
2047 291, -1, 293, -1, -1, -1, -1, 124, -1, 300,
2048 301, 302, -1, 304, -1, 306, 40, 41, -1, 43,
2049 -1, 45, -1, -1, -1, -1, -1, -1, -1, -1,
2050 -1, -1, -1, 324, -1, -1, -1, -1, -1, 63,
2051 -1, 332, 333, 334, 335, 336, 337, -1, 339, -1,
2052 341, 342, -1, -1, 345, -1, -1, -1, 349, 350,
2053 351, -1, -1, -1, 267, -1, -1, -1, -1, -1,
2054 -1, -1, -1, -1, -1, -1, -1, 280, 281, -1,
2055 283, 284, 285, 286, 287, 288, 289, 290, 291, -1,
2056 293, -1, -1, -1, -1, -1, -1, 300, 301, 302,
2057 124, 304, 40, 306, -1, 43, 44, 45, -1, -1,
2058 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2059 -1, 324, -1, -1, -1, 63, -1, -1, -1, 332,
2060 333, 334, 335, 336, 337, -1, 339, -1, 341, 342,
2061 -1, -1, 345, -1, -1, -1, 349, 350, 351, -1,
2062 267, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2063 -1, -1, -1, 280, 281, -1, 283, 284, 285, 286,
2064 287, 288, 289, 290, 291, -1, 293, -1, -1, -1,
2065 -1, -1, -1, 300, 301, 302, 124, 304, 40, 306,
2066 -1, 43, -1, 45, -1, -1, -1, -1, -1, -1,
2067 -1, -1, -1, -1, -1, -1, 58, 324, -1, -1,
2068 -1, 63, -1, -1, -1, 332, 333, 334, 335, 336,
2069 337, -1, 339, -1, 341, 342, -1, -1, 345, -1,
2070 -1, -1, 349, 350, 351, -1, -1, -1, -1, -1,
2071 -1, -1, -1, 267, -1, -1, -1, -1, -1, -1,
2072 -1, -1, -1, -1, -1, -1, 280, 281, -1, 283,
2073 284, 285, 286, 287, 288, 289, 290, 291, -1, 293,
2074 -1, -1, 124, -1, -1, -1, 300, 301, 302, -1,
2075 304, -1, 306, 40, 41, -1, 43, -1, 45, -1,
2076 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2077 324, -1, -1, -1, -1, -1, 63, -1, 332, 333,
2078 334, 335, 336, 337, -1, 339, -1, 341, 342, -1,
2079 -1, 345, -1, -1, -1, 349, 350, 351, -1, 267,
2080 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2081 -1, -1, 280, 281, -1, 283, 284, 285, 286, 287,
2082 288, 289, 290, 291, -1, 293, 40, 41, -1, 43,
2083 -1, 45, 300, 301, 302, -1, 304, 124, 306, -1,
2084 -1, -1, -1, -1, -1, -1, -1, -1, -1, 63,
2085 -1, -1, -1, -1, -1, -1, 324, -1, -1, -1,
2086 -1, -1, -1, -1, 332, 333, 334, 335, 336, 337,
2087 -1, 339, -1, 341, 342, -1, -1, 345, -1, -1,
2088 -1, 349, 350, 351, -1, 267, -1, -1, -1, -1,
2089 -1, -1, -1, -1, -1, -1, -1, -1, 280, 281,
2090 -1, 283, 284, 285, 286, 287, 288, 289, 290, 291,
2091 124, 293, -1, -1, -1, -1, -1, -1, 300, 301,
2092 302, -1, 304, -1, 306, 40, 41, -1, 43, -1,
2093 45, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2094 -1, -1, 324, -1, -1, -1, -1, -1, 63, -1,
2095 332, 333, 334, 335, 336, 337, -1, 339, -1, 341,
2096 342, -1, -1, 345, -1, -1, -1, 349, 350, 351,
2097 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2098 267, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2099 -1, -1, -1, 280, 281, -1, 283, 284, 285, 286,
2100 287, 288, 289, 290, 291, -1, 293, -1, -1, 124,
2101 -1, -1, -1, 300, 301, 302, -1, 304, -1, 306,
2102 40, 41, -1, 43, -1, 45, -1, -1, -1, -1,
2103 -1, -1, -1, -1, -1, -1, -1, 324, -1, -1,
2104 -1, -1, -1, 63, -1, 332, 333, 334, 335, 336,
2105 337, -1, 339, 267, 341, 342, -1, -1, 345, -1,
2106 -1, -1, 349, 350, 351, -1, 280, 281, -1, 283,
2107 284, 285, 286, 287, 288, 289, 290, 291, -1, 293,
2108 -1, -1, -1, -1, -1, -1, 300, 301, 302, -1,
2109 304, -1, 306, 40, 41, -1, 43, -1, 45, -1,
2110 -1, -1, -1, -1, 124, -1, -1, -1, -1, -1,
2111 324, -1, -1, -1, -1, -1, 63, -1, 332, 333,
2112 334, 335, 336, 337, -1, 339, -1, 341, 342, -1,
2113 -1, 345, -1, -1, -1, 349, 350, 351, -1, -1,
2114 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2115 -1, -1, 267, -1, -1, -1, -1, -1, -1, -1,
2116 -1, -1, -1, -1, -1, 280, 281, -1, 283, 284,
2117 285, 286, 287, 288, 289, 290, 291, 124, 293, -1,
2118 -1, -1, -1, -1, -1, 300, 301, 302, -1, 304,
2119 -1, 306, 40, -1, -1, 43, -1, 45, -1, -1,
2120 -1, -1, -1, -1, -1, -1, -1, -1, -1, 324,
2121 -1, 59, -1, -1, -1, 63, -1, 332, 333, 334,
2122 335, 336, 337, -1, 339, -1, 341, 342, -1, -1,
2123 345, -1, -1, -1, 349, 350, 351, -1, -1, -1,
2124 -1, -1, -1, -1, -1, -1, -1, 267, -1, -1,
2125 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2126 280, 281, -1, 283, 284, 285, 286, 287, 288, 289,
2127 290, 291, -1, 293, -1, -1, 124, -1, -1, -1,
2128 300, 301, 302, -1, 304, -1, 306, 40, 41, -1,
2129 43, -1, 45, -1, -1, -1, -1, -1, -1, -1,
2130 -1, -1, -1, -1, 324, -1, -1, -1, -1, -1,
2131 63, -1, 332, 333, 334, 335, 336, 337, -1, 339,
2132 267, 341, 342, -1, -1, 345, -1, -1, -1, 349,
2133 350, 351, -1, 280, 281, -1, 283, 284, 285, 286,
2134 287, 288, 289, 290, 291, -1, 293, -1, -1, -1,
2135 -1, -1, -1, 300, 301, 302, -1, 304, -1, 306,
2136 40, 41, -1, 43, -1, 45, -1, -1, -1, -1,
2137 -1, 124, -1, -1, -1, -1, -1, 324, -1, -1,
2138 -1, -1, -1, 63, -1, 332, 333, 334, 335, 336,
2139 337, -1, 339, -1, 341, 342, -1, -1, 345, -1,
2140 -1, -1, 349, 350, 351, -1, -1, -1, -1, -1,
2141 -1, -1, -1, -1, -1, -1, -1, -1, -1, 267,
2142 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2143 -1, -1, 280, 281, -1, 283, 284, 285, 286, 287,
2144 288, 289, 290, 291, 124, 293, -1, -1, -1, -1,
2145 -1, -1, 300, 301, 302, -1, 304, -1, 306, 40,
2146 41, -1, 43, -1, 45, -1, -1, -1, -1, -1,
2147 -1, -1, -1, -1, -1, -1, 324, -1, -1, -1,
2148 -1, -1, 63, -1, 332, 333, 334, 335, 336, 337,
2149 -1, 339, -1, 341, 342, -1, -1, 345, -1, -1,
2150 -1, 349, 350, 351, -1, -1, -1, -1, -1, -1,
2151 -1, -1, -1, -1, 267, -1, -1, -1, -1, -1,
2152 -1, -1, -1, -1, -1, -1, -1, 280, 281, -1,
2153 283, 284, 285, 286, 287, 288, 289, 290, 291, 40,
2154 293, -1, 43, 124, 45, -1, -1, 300, 301, 302,
2155 -1, 304, -1, 306, -1, -1, -1, -1, -1, -1,
2156 -1, -1, 63, -1, -1, -1, -1, -1, -1, -1,
2157 -1, 324, -1, -1, -1, -1, -1, -1, -1, 332,
2158 333, 334, 335, 336, 337, -1, 339, 267, 341, 342,
2159 -1, -1, 345, -1, -1, -1, 349, 350, 351, -1,
2160 280, 281, -1, 283, 284, 285, 286, 287, 288, 289,
2161 290, 291, 40, 293, -1, 43, -1, 45, -1, -1,
2162 300, 301, 302, 124, 304, -1, 306, -1, -1, -1,
2163 -1, -1, -1, -1, -1, 63, -1, -1, -1, -1,
2164 -1, -1, -1, -1, 324, -1, -1, -1, -1, -1,
2165 -1, -1, 332, 333, 334, 335, 336, 337, -1, 339,
2166 -1, 341, 342, -1, -1, 345, -1, -1, -1, 349,
2167 350, 351, -1, -1, -1, -1, -1, -1, -1, -1,
2168 -1, -1, -1, -1, -1, -1, 267, -1, -1, -1,
2169 -1, -1, -1, -1, -1, -1, 124, -1, -1, 280,
2170 281, -1, 283, 284, 285, 286, 287, 288, 289, 290,
2171 291, -1, 293, 40, 41, -1, -1, 44, -1, 300,
2172 301, 302, -1, 304, -1, 306, -1, -1, -1, -1,
2173 -1, 58, 59, -1, -1, -1, 63, -1, -1, -1,
2174 -1, -1, -1, 324, -1, -1, -1, -1, -1, -1,
2175 -1, 332, 333, 334, 335, 336, 337, -1, 339, -1,
2176 341, 342, -1, -1, 345, -1, 267, -1, 349, 350,
2177 351, -1, -1, -1, -1, -1, -1, -1, -1, 280,
2178 281, -1, 283, 284, 285, 286, 287, 288, 289, 290,
2179 291, -1, 293, -1, -1, -1, -1, 124, -1, 300,
2180 301, 302, -1, 304, -1, 306, 40, 41, -1, -1,
2181 44, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2182 -1, -1, -1, 324, 58, 59, -1, -1, -1, 63,
2183 -1, 332, 333, 334, 335, 336, 337, -1, 339, 267,
2184 341, 342, -1, -1, 345, -1, -1, -1, 349, 350,
2185 351, -1, 280, 281, -1, 283, 284, 285, 286, 287,
2186 288, 289, 290, 291, -1, 293, -1, -1, -1, -1,
2187 -1, -1, 300, 301, 302, -1, 304, -1, 306, -1,
2188 -1, -1, -1, 40, -1, -1, 43, -1, 45, -1,
2189 124, -1, -1, -1, -1, -1, 324, -1, -1, -1,
2190 -1, -1, -1, -1, 332, 333, 334, 335, 336, 337,
2191 -1, 339, -1, 341, 342, -1, -1, 345, -1, -1,
2192 -1, 349, 350, 351, -1, -1, -1, -1, -1, -1,
2193 -1, -1, -1, -1, -1, -1, 263, -1, -1, -1,
2194 267, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2195 -1, -1, -1, 280, 281, 282, 40, -1, 285, 43,
2196 -1, 45, 289, 290, 291, -1, 293, 124, -1, -1,
2197 -1, -1, -1, 300, 301, 302, -1, 304, -1, 306,
2198 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2199 -1, -1, -1, -1, -1, -1, -1, 324, -1, -1,
2200 -1, -1, -1, -1, -1, 332, 333, 334, 335, 336,
2201 337, -1, 339, -1, 341, 342, -1, -1, 345, -1,
2202 -1, -1, 349, 350, 351, -1, -1, -1, -1, 263,
2203 -1, -1, -1, 267, -1, -1, -1, -1, -1, -1,
2204 124, -1, -1, -1, -1, -1, 280, 281, 282, -1,
2205 -1, 285, -1, -1, -1, 289, 290, 291, 40, 293,
2206 -1, 43, -1, 45, -1, -1, 300, 301, 302, -1,
2207 304, -1, 306, -1, -1, -1, 58, -1, -1, -1,
2208 -1, 63, -1, -1, -1, -1, -1, -1, -1, -1,
2209 324, -1, -1, -1, -1, -1, -1, -1, 332, 333,
2210 334, 335, 336, 337, -1, 339, -1, 341, 342, -1,
2211 267, 345, -1, -1, -1, 349, 350, 351, -1, -1,
2212 -1, -1, -1, 280, -1, -1, 283, 284, 285, 286,
2213 287, 288, 289, 290, 291, -1, 293, -1, -1, -1,
2214 -1, -1, -1, 300, 301, 302, -1, 304, -1, 306,
2215 40, -1, -1, 43, -1, 45, -1, 47, -1, -1,
2216 -1, -1, -1, -1, -1, -1, -1, 324, -1, -1,
2217 -1, -1, -1, -1, -1, 332, 333, 334, 335, 336,
2218 337, -1, 339, 267, 341, 342, -1, -1, 345, -1,
2219 -1, -1, 349, 350, 351, -1, -1, -1, -1, 283,
2220 284, 285, 286, 287, 288, 289, 290, 291, -1, 293,
2221 -1, -1, -1, -1, -1, -1, 300, 301, 302, -1,
2222 304, 40, 306, -1, 43, -1, 45, -1, 47, -1,
2223 -1, -1, -1, 123, -1, -1, -1, -1, -1, -1,
2224 324, -1, -1, -1, -1, -1, -1, -1, 332, 333,
2225 334, 335, 336, 337, -1, 339, -1, 341, 342, -1,
2226 -1, 345, -1, -1, -1, 349, 350, 351, -1, -1,
2227 -1, -1, -1, -1, 40, -1, -1, 43, -1, 45,
2228 -1, 47, -1, -1, -1, 267, -1, -1, -1, -1,
2229 -1, -1, -1, 59, -1, -1, -1, -1, 280, 281,
2230 -1, -1, -1, -1, -1, -1, -1, 289, 290, 291,
2231 -1, 293, -1, -1, -1, -1, -1, -1, 300, 301,
2232 302, -1, 304, -1, 306, -1, -1, 40, -1, -1,
2233 43, -1, 45, -1, 47, -1, -1, -1, -1, -1,
2234 -1, -1, 324, -1, -1, -1, -1, -1, -1, -1,
2235 332, 333, 334, 335, 336, 337, -1, 339, -1, 341,
2236 342, -1, -1, 345, -1, -1, -1, 349, 350, 351,
2237 -1, 261, 262, -1, -1, -1, -1, -1, -1, -1,
2238 40, -1, -1, 43, -1, 45, -1, 47, -1, -1,
2239 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2240 290, 291, -1, 293, -1, -1, -1, -1, -1, 299,
2241 300, 301, 302, -1, 304, -1, 306, -1, -1, -1,
2242 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2243 -1, -1, -1, 40, 324, -1, 43, 256, 45, -1,
2244 47, -1, 332, 333, 334, 335, 336, 337, -1, 339,
2245 -1, 341, 342, -1, -1, 345, -1, -1, -1, 349,
2246 350, 351, -1, -1, -1, -1, -1, -1, -1, -1,
2247 -1, 290, 291, -1, 293, -1, 295, -1, -1, -1,
2248 -1, 300, 301, 302, -1, 304, 40, 306, -1, 43,
2249 -1, 45, -1, 47, -1, -1, -1, 263, -1, -1,
2250 -1, -1, -1, 322, 323, 324, -1, -1, -1, -1,
2251 -1, -1, -1, 332, 333, 334, 335, 336, 337, -1,
2252 339, -1, 341, 342, 290, 291, 345, 293, -1, -1,
2253 349, 350, 351, -1, 300, 301, 302, -1, 304, 40,
2254 306, -1, 43, -1, 45, -1, 47, -1, -1, -1,
2255 263, -1, -1, -1, -1, -1, -1, -1, 324, -1,
2256 -1, -1, -1, -1, -1, -1, 332, 333, 334, 335,
2257 336, 337, -1, 339, -1, 341, 342, 290, 291, 345,
2258 293, -1, -1, 349, 350, 351, -1, 300, 301, 302,
2259 -1, 304, 40, 306, -1, 43, -1, 45, -1, 47,
2260 -1, -1, -1, 263, -1, -1, -1, -1, -1, -1,
2261 -1, 324, -1, -1, -1, -1, -1, -1, -1, 332,
2262 333, 334, 335, 336, 337, -1, 339, -1, 341, 342,
2263 290, 291, 345, 293, -1, -1, 349, 350, 351, -1,
2264 300, 301, 302, -1, 304, 40, 306, -1, 43, -1,
2265 45, -1, 47, -1, -1, -1, 263, -1, -1, -1,
2266 -1, -1, -1, -1, 324, -1, -1, -1, -1, -1,
2267 -1, -1, 332, 333, 334, 335, 336, 337, -1, 339,
2268 -1, 341, 342, 290, 291, 345, 293, -1, -1, 349,
2269 350, 351, -1, 300, 301, 302, -1, 304, 40, 306,
2270 -1, 43, -1, 45, -1, -1, -1, -1, -1, 263,
2271 -1, -1, -1, -1, -1, -1, -1, 324, -1, -1,
2272 -1, -1, -1, -1, -1, 332, 333, 334, 335, 336,
2273 337, -1, 339, -1, 341, 342, 290, 291, 345, 293,
2274 -1, -1, 349, 350, 351, -1, 300, 301, 302, -1,
2275 304, 40, 306, -1, 43, -1, 45, -1, 47, -1,
2276 -1, -1, 263, -1, -1, -1, -1, -1, -1, -1,
2277 324, -1, -1, -1, -1, -1, -1, -1, 332, 333,
2278 334, 335, 336, 337, -1, 339, -1, 341, 342, 290,
2279 291, 345, 293, -1, -1, 349, 350, 351, -1, 300,
2280 301, 302, -1, 304, 40, 306, -1, 43, -1, 45,
2281 -1, 47, -1, -1, -1, 263, -1, -1, -1, -1,
2282 -1, -1, -1, 324, -1, -1, -1, -1, -1, -1,
2283 -1, 332, 333, 334, 335, 336, 337, -1, 339, -1,
2284 341, 342, 290, 291, 345, 293, -1, -1, 349, 350,
2285 351, -1, 300, 301, 302, -1, 304, 40, 306, -1,
2286 43, -1, 45, -1, 47, -1, -1, -1, -1, -1,
2287 -1, -1, -1, -1, -1, -1, 324, -1, -1, -1,
2288 -1, -1, -1, -1, 332, 333, 334, 335, 336, 337,
2289 -1, 339, -1, 341, 342, 290, 291, 345, 293, -1,
2290 -1, 349, 350, 351, -1, 300, 301, 302, -1, 304,
2291 40, 306, -1, 43, -1, 45, -1, -1, -1, -1,
2292 -1, -1, -1, -1, -1, -1, -1, -1, -1, 324,
2293 -1, -1, -1, -1, -1, -1, -1, 332, 333, 334,
2294 335, 336, 337, -1, 339, -1, 341, 342, 290, 291,
2295 345, 293, -1, -1, 349, 350, 351, -1, 300, 301,
2296 302, -1, 304, 40, 306, -1, 43, -1, 45, -1,
2297 -1, -1, -1, 315, -1, -1, -1, -1, -1, -1,
2298 -1, -1, 324, -1, -1, -1, -1, -1, -1, -1,
2299 332, 333, 334, 335, 336, 337, -1, 339, -1, 341,
2300 342, 290, 291, 345, 293, -1, -1, 349, 350, 351,
2301 -1, 300, 301, 302, -1, 304, -1, 306, -1, -1,
2302 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2303 -1, -1, -1, -1, -1, 324, -1, -1, -1, -1,
2304 -1, -1, -1, 332, 333, 334, 335, 336, 337, -1,
2305 339, -1, 341, 342, 290, 291, 345, 293, -1, -1,
2306 349, 350, 351, -1, 300, 301, 302, -1, 304, -1,
2307 306, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2308 -1, -1, -1, -1, -1, -1, -1, -1, 324, -1,
2309 -1, -1, -1, -1, -1, -1, 332, 333, 334, 335,
2310 336, 337, -1, 339, -1, 341, 342, 290, 291, 345,
2311 293, -1, -1, 349, 350, 351, -1, 300, 301, 302,
2312 -1, 304, -1, 306, -1, -1, -1, -1, -1, -1,
2313 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2314 -1, 324, -1, -1, -1, -1, -1, -1, -1, 332,
2315 333, 334, 335, 336, 337, -1, 339, -1, 341, 342,
2316 290, 291, 345, 293, -1, -1, 349, 350, 351, -1,
2317 300, 301, 302, -1, 304, -1, 306, -1, -1, -1,
2318 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2319 -1, -1, -1, -1, 324, -1, -1, -1, -1, -1,
2320 -1, -1, 332, 333, 334, 335, 336, 337, -1, 339,
2321 -1, 341, 342, 290, 291, 345, 293, -1, -1, 349,
2322 350, 351, -1, 300, 301, 302, -1, 304, -1, 306,
2323 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2324 -1, -1, -1, -1, -1, -1, -1, 324, -1, -1,
2325 -1, -1, -1, -1, -1, 332, 333, 334, 335, 336,
2326 337, -1, -1, -1, 341, 342, -1, -1, 345, -1,
2327 -1, -1, 349, 350, 351,
2328};
2329#define YYFINAL4 4
2330#ifndef YYDEBUG0
2331#define YYDEBUG0 0
2332#endif
2333#define YYMAXTOKEN352 352
2334#if YYDEBUG0
2335const char * const yyname[] =
2336 {
2337"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,
23380,0,0,"'%'",0,0,"'('","')'","'*'","'+'","','","'-'",0,"'/'",0,0,0,0,0,0,0,0,0,0,
2339"':'","';'",0,0,0,"'?'",0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
2340"'['",0,"']'",0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,"'{'",
2341"'|'","'}'",0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
23420,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
23430,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
23440,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,"FIRSTTOKEN","PROGRAM","PASTAT","PASTAT2",
2345"XBEGIN","XEND","NL","ARRAY","MATCH","NOTMATCH","MATCHOP","FINAL","DOT","ALL",
2346"CCL","NCCL","CHAR","OR","STAR","QUEST","PLUS","EMPTYRE","ZERO","AND","BOR",
2347"APPEND","EQ","GE","GT","LE","LT","NE","IN","ARG","BLTIN","BREAK","CLOSE",
2348"CONTINUE","DELETE","DO","EXIT","FOR","FUNC","GENSUB","SUB","GSUB","IF","INDEX",
2349"LSUBSTR","MATCHFCN","NEXT","NEXTFILE","ADD","MINUS","MULT","DIVIDE","MOD",
2350"ASSIGN","ASGNOP","ADDEQ","SUBEQ","MULTEQ","DIVEQ","MODEQ","POWEQ","PRINT",
2351"PRINTF","SPRINTF","ELSE","INTEST","CONDEXPR","POSTINCR","PREINCR","POSTDECR",
2352"PREDECR","VAR","IVAR","VARNF","CALL","NUMBER","STRING","REGEXPR","GETLINE",
2353"RETURN","SPLIT","SUBSTR","WHILE","CAT","NOT","UMINUS","UPLUS","POWER","DECR",
2354"INCR","INDIRECT","LASTTOKEN",
2355};
2356const char * const yyrule[] =
2357 {"$accept : program",
2358"program : pas",
2359"program : error",
2360"and : AND",
2361"and : and NL",
2362"bor : BOR",
2363"bor : bor NL",
2364"comma : ','",
2365"comma : comma NL",
2366"do : DO",
2367"do : do NL",
2368"else : ELSE",
2369"else : else NL",
2370"$$1 :",
2371"for : FOR '(' opt_simple_stmt ';' opt_nl pattern ';' opt_nl opt_simple_stmt rparen $$1 stmt",
2372"$$2 :",
2373"for : FOR '(' opt_simple_stmt ';' ';' opt_nl opt_simple_stmt rparen $$2 stmt",
2374"$$3 :",
2375"for : FOR '(' varname IN varname rparen $$3 stmt",
2376"funcname : VAR",
2377"funcname : CALL",
2378"if : IF '(' pattern rparen",
2379"lbrace : '{'",
2380"lbrace : lbrace NL",
2381"nl : NL",
2382"nl : nl NL",
2383"opt_nl :",
2384"opt_nl : nl",
2385"opt_pst :",
2386"opt_pst : pst",
2387"opt_simple_stmt :",
2388"opt_simple_stmt : simple_stmt",
2389"pas : opt_pst",
2390"pas : opt_pst pa_stats opt_pst",
2391"pa_pat : pattern",
2392"pa_stat : pa_pat",
2393"pa_stat : pa_pat lbrace stmtlist '}'",
2394"pa_stat : pa_pat ',' opt_nl pa_pat",
2395"pa_stat : pa_pat ',' opt_nl pa_pat lbrace stmtlist '}'",
2396"pa_stat : lbrace stmtlist '}'",
2397"pa_stat : XBEGIN lbrace stmtlist '}'",
2398"pa_stat : XEND lbrace stmtlist '}'",
2399"$$4 :",
2400"pa_stat : FUNC funcname '(' varlist rparen $$4 lbrace stmtlist '}'",
2401"pa_stats : pa_stat",
2402"pa_stats : pa_stats opt_pst pa_stat",
2403"patlist : pattern",
2404"patlist : patlist comma pattern",
2405"ppattern : var ASGNOP ppattern",
2406"ppattern : ppattern '?' ppattern ':' ppattern",
2407"ppattern : ppattern bor ppattern",
2408"ppattern : ppattern and ppattern",
2409"ppattern : ppattern MATCHOP reg_expr",
2410"ppattern : ppattern MATCHOP ppattern",
2411"ppattern : ppattern IN varname",
2412"ppattern : '(' plist ')' IN varname",
2413"ppattern : ppattern term",
2414"ppattern : re",
2415"ppattern : term",
2416"pattern : var ASGNOP pattern",
2417"pattern : pattern '?' pattern ':' pattern",
2418"pattern : pattern bor pattern",
2419"pattern : pattern and pattern",
2420"pattern : pattern EQ pattern",
2421"pattern : pattern GE pattern",
2422"pattern : pattern GT pattern",
2423"pattern : pattern LE pattern",
2424"pattern : pattern LT pattern",
2425"pattern : pattern NE pattern",
2426"pattern : pattern MATCHOP reg_expr",
2427"pattern : pattern MATCHOP pattern",
2428"pattern : pattern IN varname",
2429"pattern : '(' plist ')' IN varname",
2430"pattern : pattern '|' GETLINE var",
2431"pattern : pattern '|' GETLINE",
2432"pattern : pattern term",
2433"pattern : re",
2434"pattern : term",
2435"plist : pattern comma pattern",
2436"plist : plist comma pattern",
2437"pplist : ppattern",
2438"pplist : pplist comma ppattern",
2439"prarg :",
2440"prarg : pplist",
2441"prarg : '(' plist ')'",
2442"print : PRINT",
2443"print : PRINTF",
2444"pst : NL",
2445"pst : ';'",
2446"pst : pst NL",
2447"pst : pst ';'",
2448"rbrace : '}'",
2449"rbrace : rbrace NL",
2450"re : reg_expr",
2451"re : NOT re",
2452"$$5 :",
2453"reg_expr : '/' $$5 REGEXPR '/'",
2454"rparen : ')'",
2455"rparen : rparen NL",
2456"simple_stmt : print prarg '|' term",
2457"simple_stmt : print prarg APPEND term",
2458"simple_stmt : print prarg GT term",
2459"simple_stmt : print prarg",
2460"simple_stmt : DELETE varname '[' patlist ']'",
2461"simple_stmt : DELETE varname",
2462"simple_stmt : pattern",
2463"simple_stmt : error",
2464"st : nl",
2465"st : ';' opt_nl",
2466"stmt : BREAK st",
2467"stmt : CONTINUE st",
2468"$$6 :",
2469"$$7 :",
2470"stmt : do $$6 stmt $$7 WHILE '(' pattern ')' st",
2471"stmt : EXIT pattern st",
2472"stmt : EXIT st",
2473"stmt : for",
2474"stmt : if stmt else stmt",
2475"stmt : if stmt",
2476"stmt : lbrace stmtlist rbrace",
2477"stmt : NEXT st",
2478"stmt : NEXTFILE st",
2479"stmt : RETURN pattern st",
2480"stmt : RETURN st",
2481"stmt : simple_stmt st",
2482"$$8 :",
2483"stmt : while $$8 stmt",
2484"stmt : ';' opt_nl",
2485"stmtlist : stmt",
2486"stmtlist : stmtlist stmt",
2487"subop : SUB",
2488"subop : GSUB",
2489"string : STRING",
2490"string : string STRING",
2491"term : term '/' ASGNOP term",
2492"term : term '+' term",
2493"term : term '-' term",
2494"term : term '*' term",
2495"term : term '/' term",
2496"term : term '%' term",
2497"term : term POWER term",
2498"term : '-' term",
2499"term : '+' term",
2500"term : NOT term",
2501"term : BLTIN '(' ')'",
2502"term : BLTIN '(' patlist ')'",
2503"term : BLTIN",
2504"term : CALL '(' ')'",
2505"term : CALL '(' patlist ')'",
2506"term : CLOSE term",
2507"term : DECR var",
2508"term : INCR var",
2509"term : var DECR",
2510"term : var INCR",
2511"term : GENSUB '(' reg_expr comma pattern comma pattern ')'",
2512"term : GENSUB '(' pattern comma pattern comma pattern ')'",
2513"term : GENSUB '(' reg_expr comma pattern comma pattern comma pattern ')'",
2514"term : GENSUB '(' pattern comma pattern comma pattern comma pattern ')'",
2515"term : GETLINE var LT term",
2516"term : GETLINE LT term",
2517"term : GETLINE var",
2518"term : GETLINE",
2519"term : INDEX '(' pattern comma pattern ')'",
2520"term : INDEX '(' pattern comma reg_expr ')'",
2521"term : '(' pattern ')'",
2522"term : MATCHFCN '(' pattern comma reg_expr ')'",
2523"term : MATCHFCN '(' pattern comma pattern ')'",
2524"term : NUMBER",
2525"term : SPLIT '(' pattern comma varname comma pattern ')'",
2526"term : SPLIT '(' pattern comma varname comma reg_expr ')'",
2527"term : SPLIT '(' pattern comma varname ')'",
2528"term : SPRINTF '(' patlist ')'",
2529"term : string",
2530"term : subop '(' reg_expr comma pattern ')'",
2531"term : subop '(' pattern comma pattern ')'",
2532"term : subop '(' reg_expr comma pattern comma var ')'",
2533"term : subop '(' pattern comma pattern comma var ')'",
2534"term : SUBSTR '(' pattern comma pattern comma pattern ')'",
2535"term : SUBSTR '(' pattern comma pattern ')'",
2536"term : var",
2537"var : varname",
2538"var : varname '[' patlist ']'",
2539"var : IVAR",
2540"var : INDIRECT term",
2541"varlist :",
2542"varlist : VAR",
2543"varlist : varlist comma VAR",
2544"varname : VAR",
2545"varname : ARG",
2546"varname : VARNF",
2547"while : WHILE '(' pattern rparen",
2548};
2549#endif
2550#ifdef YYSTACKSIZE10000
2551#undef YYMAXDEPTH10000
2552#define YYMAXDEPTH10000 YYSTACKSIZE10000
2553#else
2554#ifdef YYMAXDEPTH10000
2555#define YYSTACKSIZE10000 YYMAXDEPTH10000
2556#else
2557#define YYSTACKSIZE10000 10000
2558#define YYMAXDEPTH10000 10000
2559#endif
2560#endif
2561#define YYINITSTACKSIZE200 200
2562/* LINTUSED */
2563int yydebug;
2564int yynerrs;
2565int yyerrflag;
2566int yychar;
2567short *yyssp;
2568YYSTYPE *yyvsp;
2569YYSTYPE yyval;
2570YYSTYPE yylval;
2571short *yyss;
2572short *yysslim;
2573YYSTYPE *yyvs;
2574unsigned int yystacksize;
2575int yyparse(void);
2576#line 469 "/usr/src/usr.bin/awk/awkgram.y"
2577
2578void setfname(Cell *p)
2579{
2580 if (isarr(p)((p)->tval & 020))
2581 SYNTAX("%s is an array, not a function", p->nval);
2582 else if (isfcn(p)((p)->tval & 040))
2583 SYNTAX("you can't define function %s more than once", p->nval);
2584 curfname = p->nval;
2585}
2586
2587int constnode(Node *p)
2588{
2589 return isvalue(p)((p)->ntype == 1) && ((Cell *) (p->narg[0]))->csub == CCON5;
2590}
2591
2592char *strnode(Node *p)
2593{
2594 return ((Cell *)(p->narg[0]))->sval;
2595}
2596
2597Node *notnull(Node *n)
2598{
2599 switch (n->nobj) {
2600 case LE286: case LT287: case EQ283: case NE288: case GT285: case GE284:
2601 case BOR281: case AND280: case NOT345:
2602 return n;
2603 default:
2604 return op2(NE288, n, nullnode);
2605 }
2606}
2607
2608void checkdup(Node *vl, Cell *cp) /* check if name already in list */
2609{
2610 char *s = cp->nval;
28
Access to field 'nval' results in a dereference of a null pointer (loaded from variable 'cp')
2611 for ( ; vl; vl = vl->nnext) {
2612 if (strcmp(s, ((Cell *)(vl->narg[0]))->nval) == 0) {
2613 SYNTAX("duplicate argument %s", s);
2614 break;
2615 }
2616 }
2617}
2618#line 2611 "awkgram.tab.c"
2619/* allocate initial stack or double stack size, up to YYMAXDEPTH */
2620static int yygrowstack(void)
2621{
2622 unsigned int newsize;
2623 long sslen;
2624 short *newss;
2625 YYSTYPE *newvs;
2626
2627 if ((newsize = yystacksize) == 0)
2628 newsize = YYINITSTACKSIZE200;
2629 else if (newsize >= YYMAXDEPTH10000)
2630 return -1;
2631 else if ((newsize *= 2) > YYMAXDEPTH10000)
2632 newsize = YYMAXDEPTH10000;
2633 sslen = yyssp - yyss;
2634#ifdef SIZE_MAX0xffffffffffffffffUL
2635#define YY_SIZE_MAX0xffffffffffffffffUL SIZE_MAX0xffffffffffffffffUL
2636#else
2637#define YY_SIZE_MAX0xffffffffffffffffUL 0xffffffffU
2638#endif
2639 if (newsize && YY_SIZE_MAX0xffffffffffffffffUL / newsize < sizeof *newss)
2640 goto bail;
2641 newss = (short *)realloc(yyss, newsize * sizeof *newss);
2642 if (newss == NULL((void *)0))
2643 goto bail;
2644 yyss = newss;
2645 yyssp = newss + sslen;
2646 if (newsize && YY_SIZE_MAX0xffffffffffffffffUL / newsize < sizeof *newvs)
2647 goto bail;
2648 newvs = (YYSTYPE *)realloc(yyvs, newsize * sizeof *newvs);
2649 if (newvs == NULL((void *)0))
2650 goto bail;
2651 yyvs = newvs;
2652 yyvsp = newvs + sslen;
2653 yystacksize = newsize;
2654 yysslim = yyss + newsize - 1;
2655 return 0;
2656bail:
2657 if (yyss)
2658 free(yyss);
2659 if (yyvs)
2660 free(yyvs);
2661 yyss = yyssp = NULL((void *)0);
2662 yyvs = yyvsp = NULL((void *)0);
2663 yystacksize = 0;
2664 return -1;
2665}
2666
2667#define YYABORTgoto yyabort goto yyabort
2668#define YYREJECTgoto yyabort goto yyabort
2669#define YYACCEPTgoto yyaccept goto yyaccept
2670#define YYERRORgoto yyerrlab goto yyerrlab
2671int
2672yyparse(void)
2673{
2674 int yym, yyn, yystate;
2675#if YYDEBUG0
2676 const char *yys;
2677
2678 if ((yys = getenv("YYDEBUG")))
2679 {
2680 yyn = *yys;
2681 if (yyn >= '0' && yyn <= '9')
2682 yydebug = yyn - '0';
2683 }
2684#endif /* YYDEBUG */
2685
2686 yynerrs = 0;
2687 yyerrflag = 0;
2688 yychar = (-1);
2689
2690 if (yyss == NULL((void *)0) && yygrowstack()) goto yyoverflow;
1
Assuming 'yyss' is not equal to NULL
2691 yyssp = yyss;
2692 yyvsp = yyvs;
2693 *yyssp = yystate = 0;
2694
2695yyloop:
2696 if ((yyn = yydefred[yystate]) != 0) goto yyreduce;
2
Taking false branch
20
Assuming the condition is true
21
Taking true branch
22
Control jumps to line 2803
2697 if (yychar
2.1
'yychar' is < 0
< 0)
3
Taking true branch
2698 {
2699 if ((yychar = yylex()) < 0) yychar = 0;
4
Assuming the condition is false
5
Taking false branch
2700#if YYDEBUG0
2701 if (yydebug)
2702 {
2703 yys = 0;
2704 if (yychar <= YYMAXTOKEN352) yys = yyname[yychar];
2705 if (!yys) yys = "illegal-symbol";
2706 printf("%sdebug: state %d, reading %d (%s)\n",
2707 YYPREFIX"yy", yystate, yychar, yys);
2708 }
2709#endif
2710 }
2711 if ((yyn = yysindex[yystate]) && (yyn += yychar) >= 0 &&
6
Assuming 'yyn' is not equal to 0
7
Assuming the condition is false
2712 yyn <= YYTABLESIZE10015 && yycheck[yyn] == yychar)
2713 {
2714#if YYDEBUG0
2715 if (yydebug)
2716 printf("%sdebug: state %d, shifting to state %d\n",
2717 YYPREFIX"yy", yystate, yytable[yyn]);
2718#endif
2719 if (yyssp >= yysslim && yygrowstack())
2720 {
2721 goto yyoverflow;
2722 }
2723 *++yyssp = yystate = yytable[yyn];
2724 *++yyvsp = yylval;
2725 yychar = (-1);
2726 if (yyerrflag > 0) --yyerrflag;
2727 goto yyloop;
2728 }
2729 if ((yyn = yyrindex[yystate]) && (yyn += yychar) >= 0 &&
8
Assuming 'yyn' is not equal to 0
10
Taking true branch
2730 yyn
8.1
'yyn' is <= YYTABLESIZE
<= YYTABLESIZE10015 && yycheck[yyn] == yychar)
9
Assuming the condition is true
2731 {
2732 yyn = yytable[yyn];
2733 goto yyreduce;
11
Control jumps to line 2803
2734 }
2735 if (yyerrflag) goto yyinrecovery;
2736#if defined(__GNUC__4)
2737 goto yynewerror;
2738#endif
2739yynewerror:
2740 yyerror("syntax error");
2741#if defined(__GNUC__4)
2742 goto yyerrlab;
2743#endif
2744yyerrlab:
2745 ++yynerrs;
2746yyinrecovery:
2747 if (yyerrflag < 3)
2748 {
2749 yyerrflag = 3;
2750 for (;;)
2751 {
2752 if ((yyn = yysindex[*yyssp]) && (yyn += YYERRCODE256) >= 0 &&
2753 yyn <= YYTABLESIZE10015 && yycheck[yyn] == YYERRCODE256)
2754 {
2755#if YYDEBUG0
2756 if (yydebug)
2757 printf("%sdebug: state %d, error recovery shifting\
2758 to state %d\n", YYPREFIX"yy", *yyssp, yytable[yyn]);
2759#endif
2760 if (yyssp >= yysslim && yygrowstack())
2761 {
2762 goto yyoverflow;
2763 }
2764 *++yyssp = yystate = yytable[yyn];
2765 *++yyvsp = yylval;
2766 goto yyloop;
2767 }
2768 else
2769 {
2770#if YYDEBUG0
2771 if (yydebug)
2772 printf("%sdebug: error recovery discarding state %d\n",
2773 YYPREFIX"yy", *yyssp);
2774#endif
2775 if (yyssp <= yyss) goto yyabort;
2776 --yyssp;
2777 --yyvsp;
2778 }
2779 }
2780 }
2781 else
2782 {
2783 if (yychar == 0) goto yyabort;
2784#if YYDEBUG0
2785 if (yydebug)
2786 {
2787 yys = 0;
2788 if (yychar <= YYMAXTOKEN352) yys = yyname[yychar];
2789 if (!yys) yys = "illegal-symbol";
2790 printf("%sdebug: state %d, error recovery discards token %d (%s)\n",
2791 YYPREFIX"yy", yystate, yychar, yys);
2792 }
2793#endif
2794 yychar = (-1);
2795 goto yyloop;
2796 }
2797yyreduce:
2798#if YYDEBUG0
2799 if (yydebug)
2800 printf("%sdebug: state %d, reducing by rule %d (%s)\n",
2801 YYPREFIX"yy", yystate, yyn, yyrule[yyn]);
2802#endif
2803 yym = yylen[yyn];
2804 if (yym)
12
Assuming 'yym' is 0
13
Taking false branch
23
Assuming 'yym' is not equal to 0
24
Taking true branch
2805 yyval = yyvsp[1-yym];
2806 else
2807 memset(&yyval, 0, sizeof yyval);
2808 switch (yyn)
14
'Default' branch taken. Execution continues on line 3435
25
Control jumps to 'case 186:' at line 3411
2809 {
2810case 1:
2811#line 100 "/usr/src/usr.bin/awk/awkgram.y"
2812{ if (errorflag==0)
2813 winner = (Node *)stat3(PROGRAM258, beginloc, yyvsp[0].p, endloc); }
2814break;
2815case 2:
2816#line 102 "/usr/src/usr.bin/awk/awkgram.y"
2817{ yyclearin(yychar=(-1)); bracecheck(); SYNTAX("bailing out"); }
2818break;
2819case 13:
2820#line 126 "/usr/src/usr.bin/awk/awkgram.y"
2821{inloop++;}
2822break;
2823case 14:
2824#line 127 "/usr/src/usr.bin/awk/awkgram.y"
2825{ --inloop; yyval.p = stat4(FOR298, yyvsp[-9].p, notnull(yyvsp[-6].p), yyvsp[-3].p, yyvsp[0].p); }
2826break;
2827case 15:
2828#line 128 "/usr/src/usr.bin/awk/awkgram.y"
2829{inloop++;}
2830break;
2831case 16:
2832#line 129 "/usr/src/usr.bin/awk/awkgram.y"
2833{ --inloop; yyval.p = stat4(FOR298, yyvsp[-7].p, NIL((Node *) 0), yyvsp[-3].p, yyvsp[0].p); }
2834break;
2835case 17:
2836#line 130 "/usr/src/usr.bin/awk/awkgram.y"
2837{inloop++;}
2838break;
2839case 18:
2840#line 131 "/usr/src/usr.bin/awk/awkgram.y"
2841{ --inloop; yyval.p = stat3(IN289, yyvsp[-5].p, makearr(yyvsp[-3].p), yyvsp[0].p); }
2842break;
2843case 19:
2844#line 135 "/usr/src/usr.bin/awk/awkgram.y"
2845{ setfname(yyvsp[0].cp); }
2846break;
2847case 20:
2848#line 136 "/usr/src/usr.bin/awk/awkgram.y"
2849{ setfname(yyvsp[0].cp); }
2850break;
2851case 21:
2852#line 140 "/usr/src/usr.bin/awk/awkgram.y"
2853{ yyval.p = notnull(yyvsp[-1].p); }
2854break;
2855case 26:
2856#line 152 "/usr/src/usr.bin/awk/awkgram.y"
2857{ yyval.i = 0; }
2858break;
2859case 28:
2860#line 157 "/usr/src/usr.bin/awk/awkgram.y"
2861{ yyval.i = 0; }
2862break;
2863case 30:
2864#line 163 "/usr/src/usr.bin/awk/awkgram.y"
2865{ yyval.p = 0; }
2866break;
2867case 32:
2868#line 168 "/usr/src/usr.bin/awk/awkgram.y"
2869{ yyval.p = 0; }
2870break;
2871case 33:
2872#line 169 "/usr/src/usr.bin/awk/awkgram.y"
2873{ yyval.p = yyvsp[-1].p; }
2874break;
2875case 34:
2876#line 173 "/usr/src/usr.bin/awk/awkgram.y"
2877{ yyval.p = notnull(yyvsp[0].p); }
2878break;
2879case 35:
2880#line 177 "/usr/src/usr.bin/awk/awkgram.y"
2881{ yyval.p = stat2(PASTAT259, yyvsp[0].p, stat2(PRINT322, rectonode(), NIL((Node *) 0))); }
2882break;
2883case 36:
2884#line 178 "/usr/src/usr.bin/awk/awkgram.y"
2885{ yyval.p = stat2(PASTAT259, yyvsp[-3].p, yyvsp[-1].p); }
2886break;
2887case 37:
2888#line 179 "/usr/src/usr.bin/awk/awkgram.y"
2889{ yyval.p = pa2stat(yyvsp[-3].p, yyvsp[0].p, stat2(PRINT322, rectonode(), NIL((Node *) 0))); }
2890break;
2891case 38:
2892#line 180 "/usr/src/usr.bin/awk/awkgram.y"
2893{ yyval.p = pa2stat(yyvsp[-6].p, yyvsp[-3].p, yyvsp[-1].p); }
2894break;
2895case 39:
2896#line 181 "/usr/src/usr.bin/awk/awkgram.y"
2897{ yyval.p = stat2(PASTAT259, NIL((Node *) 0), yyvsp[-1].p); }
2898break;
2899case 40:
2900#line 183 "/usr/src/usr.bin/awk/awkgram.y"
2901{ beginloc = linkum(beginloc, yyvsp[-1].p); yyval.p = 0; }
2902break;
2903case 41:
2904#line 185 "/usr/src/usr.bin/awk/awkgram.y"
2905{ endloc = linkum(endloc, yyvsp[-1].p); yyval.p = 0; }
2906break;
2907case 42:
2908#line 186 "/usr/src/usr.bin/awk/awkgram.y"
2909{infunc = true1;}
2910break;
2911case 43:
2912#line 187 "/usr/src/usr.bin/awk/awkgram.y"
2913{ infunc = false0; curfname=0; defn((Cell *)yyvsp[-7].p, yyvsp[-5].p, yyvsp[-1].p); yyval.p = 0; }
2914break;
2915case 45:
2916#line 192 "/usr/src/usr.bin/awk/awkgram.y"
2917{ yyval.p = linkum(yyvsp[-2].p, yyvsp[0].p); }
2918break;
2919case 47:
2920#line 197 "/usr/src/usr.bin/awk/awkgram.y"
2921{ yyval.p = linkum(yyvsp[-2].p, yyvsp[0].p); }
2922break;
2923case 48:
2924#line 201 "/usr/src/usr.bin/awk/awkgram.y"
2925{ yyval.p = op2(yyvsp[-1].i, yyvsp[-2].p, yyvsp[0].p); }
2926break;
2927case 49:
2928#line 203 "/usr/src/usr.bin/awk/awkgram.y"
2929{ yyval.p = op3(CONDEXPR327, notnull(yyvsp[-4].p), yyvsp[-2].p, yyvsp[0].p); }
2930break;
2931case 50:
2932#line 205 "/usr/src/usr.bin/awk/awkgram.y"
2933{ yyval.p = op2(BOR281, notnull(yyvsp[-2].p), notnull(yyvsp[0].p)); }
2934break;
2935case 51:
2936#line 207 "/usr/src/usr.bin/awk/awkgram.y"
2937{ yyval.p = op2(AND280, notnull(yyvsp[-2].p), notnull(yyvsp[0].p)); }
2938break;
2939case 52:
2940#line 208 "/usr/src/usr.bin/awk/awkgram.y"
2941{ yyval.p = op3(yyvsp[-1].i, NIL((Node *) 0), yyvsp[-2].p, (Node*)makedfa(yyvsp[0].s, 0)); }
2942break;
2943case 53:
2944#line 210 "/usr/src/usr.bin/awk/awkgram.y"
2945{ if (constnode(yyvsp[0].p))
2946 yyval.p = op3(yyvsp[-1].i, NIL((Node *) 0), yyvsp[-2].p, (Node*)makedfa(strnode(yyvsp[0].p), 0));
2947 else
2948 yyval.p = op3(yyvsp[-1].i, (Node *)1, yyvsp[-2].p, yyvsp[0].p); }
2949break;
2950case 54:
2951#line 214 "/usr/src/usr.bin/awk/awkgram.y"
2952{ yyval.p = op2(INTEST326, yyvsp[-2].p, makearr(yyvsp[0].p)); }
2953break;
2954case 55:
2955#line 215 "/usr/src/usr.bin/awk/awkgram.y"
2956{ yyval.p = op2(INTEST326, yyvsp[-3].p, makearr(yyvsp[0].p)); }
2957break;
2958case 56:
2959#line 216 "/usr/src/usr.bin/awk/awkgram.y"
2960{ yyval.p = op2(CAT344, yyvsp[-1].p, yyvsp[0].p); }
2961break;
2962case 59:
2963#line 222 "/usr/src/usr.bin/awk/awkgram.y"
2964{ yyval.p = op2(yyvsp[-1].i, yyvsp[-2].p, yyvsp[0].p); }
2965break;
2966case 60:
2967#line 224 "/usr/src/usr.bin/awk/awkgram.y"
2968{ yyval.p = op3(CONDEXPR327, notnull(yyvsp[-4].p), yyvsp[-2].p, yyvsp[0].p); }
2969break;
2970case 61:
2971#line 226 "/usr/src/usr.bin/awk/awkgram.y"
2972{ yyval.p = op2(BOR281, notnull(yyvsp[-2].p), notnull(yyvsp[0].p)); }
2973break;
2974case 62:
2975#line 228 "/usr/src/usr.bin/awk/awkgram.y"
2976{ yyval.p = op2(AND280, notnull(yyvsp[-2].p), notnull(yyvsp[0].p)); }
2977break;
2978case 63:
2979#line 229 "/usr/src/usr.bin/awk/awkgram.y"
2980{ yyval.p = op2(yyvsp[-1].i, yyvsp[-2].p, yyvsp[0].p); }
2981break;
2982case 64:
2983#line 230 "/usr/src/usr.bin/awk/awkgram.y"
2984{ yyval.p = op2(yyvsp[-1].i, yyvsp[-2].p, yyvsp[0].p); }
2985break;
2986case 65:
2987#line 231 "/usr/src/usr.bin/awk/awkgram.y"
2988{ yyval.p = op2(yyvsp[-1].i, yyvsp[-2].p, yyvsp[0].p); }
2989break;
2990case 66:
2991#line 232 "/usr/src/usr.bin/awk/awkgram.y"
2992{ yyval.p = op2(yyvsp[-1].i, yyvsp[-2].p, yyvsp[0].p); }
2993break;
2994case 67:
2995#line 233 "/usr/src/usr.bin/awk/awkgram.y"
2996{ yyval.p = op2(yyvsp[-1].i, yyvsp[-2].p, yyvsp[0].p); }
2997break;
2998case 68:
2999#line 234 "/usr/src/usr.bin/awk/awkgram.y"
3000{ yyval.p = op2(yyvsp[-1].i, yyvsp[-2].p, yyvsp[0].p); }
3001break;
3002case 69:
3003#line 235 "/usr/src/usr.bin/awk/awkgram.y"
3004{ yyval.p = op3(yyvsp[-1].i, NIL((Node *) 0), yyvsp[-2].p, (Node*)makedfa(yyvsp[0].s, 0)); }
3005break;
3006case 70:
3007#line 237 "/usr/src/usr.bin/awk/awkgram.y"
3008{ if (constnode(yyvsp[0].p))
3009 yyval.p = op3(yyvsp[-1].i, NIL((Node *) 0), yyvsp[-2].p, (Node*)makedfa(strnode(yyvsp[0].p), 0));
3010 else
3011 yyval.p = op3(yyvsp[-1].i, (Node *)1, yyvsp[-2].p, yyvsp[0].p); }
3012break;
3013case 71:
3014#line 241 "/usr/src/usr.bin/awk/awkgram.y"
3015{ yyval.p = op2(INTEST326, yyvsp[-2].p, makearr(yyvsp[0].p)); }
3016break;
3017case 72:
3018#line 242 "/usr/src/usr.bin/awk/awkgram.y"
3019{ yyval.p = op2(INTEST326, yyvsp[-3].p, makearr(yyvsp[0].p)); }
3020break;
3021case 73:
3022#line 243 "/usr/src/usr.bin/awk/awkgram.y"
3023{
3024 if (safe) SYNTAX("cmd | getline is unsafe");
3025 else yyval.p = op3(GETLINE339, yyvsp[0].p, itonp(yyvsp[-2].i), yyvsp[-3].p); }
3026break;
3027case 74:
3028#line 246 "/usr/src/usr.bin/awk/awkgram.y"
3029{
3030 if (safe) SYNTAX("cmd | getline is unsafe");
3031 else yyval.p = op3(GETLINE339, (Node*)0, itonp(yyvsp[-1].i), yyvsp[-2].p); }
3032break;
3033case 75:
3034#line 249 "/usr/src/usr.bin/awk/awkgram.y"
3035{ yyval.p = op2(CAT344, yyvsp[-1].p, yyvsp[0].p); }
3036break;
3037case 78:
3038#line 255 "/usr/src/usr.bin/awk/awkgram.y"
3039{ yyval.p = linkum(yyvsp[-2].p, yyvsp[0].p); }
3040break;
3041case 79:
3042#line 256 "/usr/src/usr.bin/awk/awkgram.y"
3043{ yyval.p = linkum(yyvsp[-2].p, yyvsp[0].p); }
3044break;
3045case 81:
3046#line 261 "/usr/src/usr.bin/awk/awkgram.y"
3047{ yyval.p = linkum(yyvsp[-2].p, yyvsp[0].p); }
3048break;
3049case 82:
3050#line 265 "/usr/src/usr.bin/awk/awkgram.y"
3051{ yyval.p = rectonode(); }
3052break;
3053case 84:
3054#line 267 "/usr/src/usr.bin/awk/awkgram.y"
3055{ yyval.p = yyvsp[-1].p; }
3056break;
3057case 93:
3058#line 284 "/usr/src/usr.bin/awk/awkgram.y"
3059{ yyval.p = op3(MATCH265, NIL((Node *) 0), rectonode(), (Node*)makedfa(yyvsp[0].s, 0)); }
3060break;
3061case 94:
3062#line 285 "/usr/src/usr.bin/awk/awkgram.y"
3063{ yyval.p = op1(NOT345, notnull(yyvsp[0].p)); }
3064break;
3065case 95:
3066#line 289 "/usr/src/usr.bin/awk/awkgram.y"
3067{startreg();}
3068break;
3069case 96:
3070#line 289 "/usr/src/usr.bin/awk/awkgram.y"
3071{ yyval.s = yyvsp[-1].s; }
3072break;
3073case 99:
3074#line 297 "/usr/src/usr.bin/awk/awkgram.y"
3075{
3076 if (safe) SYNTAX("print | is unsafe");
3077 else yyval.p = stat3(yyvsp[-3].i, yyvsp[-2].p, itonp(yyvsp[-1].i), yyvsp[0].p); }
3078break;
3079case 100:
3080#line 300 "/usr/src/usr.bin/awk/awkgram.y"
3081{
3082 if (safe) SYNTAX("print >> is unsafe");
3083 else yyval.p = stat3(yyvsp[-3].i, yyvsp[-2].p, itonp(yyvsp[-1].i), yyvsp[0].p); }
3084break;
3085case 101:
3086#line 303 "/usr/src/usr.bin/awk/awkgram.y"
3087{
3088 if (safe) SYNTAX("print > is unsafe");
3089 else yyval.p = stat3(yyvsp[-3].i, yyvsp[-2].p, itonp(yyvsp[-1].i), yyvsp[0].p); }
3090break;
3091case 102:
3092#line 306 "/usr/src/usr.bin/awk/awkgram.y"
3093{ yyval.p = stat3(yyvsp[-1].i, yyvsp[0].p, NIL((Node *) 0), NIL((Node *) 0)); }
3094break;
3095case 103:
3096#line 307 "/usr/src/usr.bin/awk/awkgram.y"
3097{ yyval.p = stat2(DELETE295, makearr(yyvsp[-3].p), yyvsp[-1].p); }
3098break;
3099case 104:
3100#line 308 "/usr/src/usr.bin/awk/awkgram.y"
3101{ yyval.p = stat2(DELETE295, makearr(yyvsp[0].p), 0); }
3102break;
3103case 105:
3104#line 309 "/usr/src/usr.bin/awk/awkgram.y"
3105{ yyval.p = exptostat(yyvsp[0].p); }
3106break;
3107case 106:
3108#line 310 "/usr/src/usr.bin/awk/awkgram.y"
3109{ yyclearin(yychar=(-1)); SYNTAX("illegal statement"); }
3110break;
3111case 109:
3112#line 319 "/usr/src/usr.bin/awk/awkgram.y"
3113{ if (!inloop) SYNTAX("break illegal outside of loops");
3114 yyval.p = stat1(BREAK292, NIL((Node *) 0)); }
3115break;
3116case 110:
3117#line 321 "/usr/src/usr.bin/awk/awkgram.y"
3118{ if (!inloop) SYNTAX("continue illegal outside of loops");
3119 yyval.p = stat1(CONTINUE294, NIL((Node *) 0)); }
3120break;
3121case 111:
3122#line 323 "/usr/src/usr.bin/awk/awkgram.y"
3123{inloop++;}
3124break;
3125case 112:
3126#line 323 "/usr/src/usr.bin/awk/awkgram.y"
3127{--inloop;}
3128break;
3129case 113:
3130#line 324 "/usr/src/usr.bin/awk/awkgram.y"
3131{ yyval.p = stat2(DO296, yyvsp[-6].p, notnull(yyvsp[-2].p)); }
3132break;
3133case 114:
3134#line 325 "/usr/src/usr.bin/awk/awkgram.y"
3135{ yyval.p = stat1(EXIT297, yyvsp[-1].p); }
3136break;
3137case 115:
3138#line 326 "/usr/src/usr.bin/awk/awkgram.y"
3139{ yyval.p = stat1(EXIT297, NIL((Node *) 0)); }
3140break;
3141case 117:
3142#line 328 "/usr/src/usr.bin/awk/awkgram.y"
3143{ yyval.p = stat3(IF303, yyvsp[-3].p, yyvsp[-2].p, yyvsp[0].p); }
3144break;
3145case 118:
3146#line 329 "/usr/src/usr.bin/awk/awkgram.y"
3147{ yyval.p = stat3(IF303, yyvsp[-1].p, yyvsp[0].p, NIL((Node *) 0)); }
3148break;
3149case 119:
3150#line 330 "/usr/src/usr.bin/awk/awkgram.y"
3151{ yyval.p = yyvsp[-1].p; }
3152break;
3153case 120:
3154#line 331 "/usr/src/usr.bin/awk/awkgram.y"
3155{ if (infunc)
3156 SYNTAX("next is illegal inside a function");
3157 yyval.p = stat1(NEXT307, NIL((Node *) 0)); }
3158break;
3159case 121:
3160#line 334 "/usr/src/usr.bin/awk/awkgram.y"
3161{ if (infunc)
3162 SYNTAX("nextfile is illegal inside a function");
3163 yyval.p = stat1(NEXTFILE308, NIL((Node *) 0)); }
3164break;
3165case 122:
3166#line 337 "/usr/src/usr.bin/awk/awkgram.y"
3167{ yyval.p = stat1(RETURN340, yyvsp[-1].p); }
3168break;
3169case 123:
3170#line 338 "/usr/src/usr.bin/awk/awkgram.y"
3171{ yyval.p = stat1(RETURN340, NIL((Node *) 0)); }
3172break;
3173case 125:
3174#line 340 "/usr/src/usr.bin/awk/awkgram.y"
3175{inloop++;}
3176break;
3177case 126:
3178#line 340 "/usr/src/usr.bin/awk/awkgram.y"
3179{ --inloop; yyval.p = stat2(WHILE343, yyvsp[-2].p, yyvsp[0].p); }
3180break;
3181case 127:
3182#line 341 "/usr/src/usr.bin/awk/awkgram.y"
3183{ yyval.p = 0; }
3184break;
3185case 129:
3186#line 346 "/usr/src/usr.bin/awk/awkgram.y"
3187{ yyval.p = linkum(yyvsp[-1].p, yyvsp[0].p); }
3188break;
3189case 133:
3190#line 355 "/usr/src/usr.bin/awk/awkgram.y"
3191{ yyval.cp = catstr(yyvsp[-1].cp, yyvsp[0].cp); }
3192break;
3193case 134:
3194#line 359 "/usr/src/usr.bin/awk/awkgram.y"
3195{ yyval.p = op2(DIVEQ319, yyvsp[-3].p, yyvsp[0].p); }
3196break;
3197case 135:
3198#line 360 "/usr/src/usr.bin/awk/awkgram.y"
3199{ yyval.p = op2(ADD309, yyvsp[-2].p, yyvsp[0].p); }
3200break;
3201case 136:
3202#line 361 "/usr/src/usr.bin/awk/awkgram.y"
3203{ yyval.p = op2(MINUS310, yyvsp[-2].p, yyvsp[0].p); }
3204break;
3205case 137:
3206#line 362 "/usr/src/usr.bin/awk/awkgram.y"
3207{ yyval.p = op2(MULT311, yyvsp[-2].p, yyvsp[0].p); }
3208break;
3209case 138:
3210#line 363 "/usr/src/usr.bin/awk/awkgram.y"
3211{ yyval.p = op2(DIVIDE312, yyvsp[-2].p, yyvsp[0].p); }
3212break;
3213case 139:
3214#line 364 "/usr/src/usr.bin/awk/awkgram.y"
3215{ yyval.p = op2(MOD313, yyvsp[-2].p, yyvsp[0].p); }
3216break;
3217case 140:
3218#line 365 "/usr/src/usr.bin/awk/awkgram.y"
3219{ yyval.p = op2(POWER348, yyvsp[-2].p, yyvsp[0].p); }
3220break;
3221case 141:
3222#line 366 "/usr/src/usr.bin/awk/awkgram.y"
3223{ yyval.p = op1(UMINUS346, yyvsp[0].p); }
3224break;
3225case 142:
3226#line 367 "/usr/src/usr.bin/awk/awkgram.y"
3227{ yyval.p = op1(UPLUS347, yyvsp[0].p); }
3228break;
3229case 143:
3230#line 368 "/usr/src/usr.bin/awk/awkgram.y"
3231{ yyval.p = op1(NOT345, notnull(yyvsp[0].p)); }
3232break;
3233case 144:
3234#line 369 "/usr/src/usr.bin/awk/awkgram.y"
3235{ yyval.p = op2(BLTIN291, itonp(yyvsp[-2].i), rectonode()); }
3236break;
3237case 145:
3238#line 370 "/usr/src/usr.bin/awk/awkgram.y"
3239{ yyval.p = op2(BLTIN291, itonp(yyvsp[-3].i), yyvsp[-1].p); }
3240break;
3241case 146:
3242#line 371 "/usr/src/usr.bin/awk/awkgram.y"
3243{ yyval.p = op2(BLTIN291, itonp(yyvsp[0].i), rectonode()); }
3244break;
3245case 147:
3246#line 372 "/usr/src/usr.bin/awk/awkgram.y"
3247{ yyval.p = op2(CALL335, celltonode(yyvsp[-2].cp,CVAR2), NIL((Node *) 0)); }
3248break;
3249case 148:
3250#line 373 "/usr/src/usr.bin/awk/awkgram.y"
3251{ yyval.p = op2(CALL335, celltonode(yyvsp[-3].cp,CVAR2), yyvsp[-1].p); }
3252break;
3253case 149:
3254#line 374 "/usr/src/usr.bin/awk/awkgram.y"
3255{ yyval.p = op1(CLOSE293, yyvsp[0].p); }
3256break;
3257case 150:
3258#line 375 "/usr/src/usr.bin/awk/awkgram.y"
3259{ yyval.p = op1(PREDECR331, yyvsp[0].p); }
3260break;
3261case 151:
3262#line 376 "/usr/src/usr.bin/awk/awkgram.y"
3263{ yyval.p = op1(PREINCR329, yyvsp[0].p); }
3264break;
3265case 152:
3266#line 377 "/usr/src/usr.bin/awk/awkgram.y"
3267{ yyval.p = op1(POSTDECR330, yyvsp[-1].p); }
3268break;
3269case 153:
3270#line 378 "/usr/src/usr.bin/awk/awkgram.y"
3271{ yyval.p = op1(POSTINCR328, yyvsp[-1].p); }
3272break;
3273case 154:
3274#line 380 "/usr/src/usr.bin/awk/awkgram.y"
3275{ yyval.p = op5(GENSUB300, NIL((Node *) 0), (Node*)makedfa(yyvsp[-5].s, 1), yyvsp[-3].p, yyvsp[-1].p, rectonode()); }
3276break;
3277case 155:
3278#line 382 "/usr/src/usr.bin/awk/awkgram.y"
3279{ if (constnode(yyvsp[-5].p))
3280 yyval.p = op5(GENSUB300, NIL((Node *) 0), (Node *)makedfa(strnode(yyvsp[-5].p), 1), yyvsp[-3].p, yyvsp[-1].p, rectonode());
3281 else
3282 yyval.p = op5(GENSUB300, (Node *)1, yyvsp[-5].p, yyvsp[-3].p, yyvsp[-1].p, rectonode());
3283 }
3284break;
3285case 156:
3286#line 388 "/usr/src/usr.bin/awk/awkgram.y"
3287{ yyval.p = op5(GENSUB300, NIL((Node *) 0), (Node*)makedfa(yyvsp[-7].s, 1), yyvsp[-5].p, yyvsp[-3].p, yyvsp[-1].p); }
3288break;
3289case 157:
3290#line 390 "/usr/src/usr.bin/awk/awkgram.y"
3291{ if (constnode(yyvsp[-7].p))
3292 yyval.p = op5(GENSUB300, NIL((Node *) 0), (Node *)makedfa(strnode(yyvsp[-7].p),1), yyvsp[-5].p,yyvsp[-3].p,yyvsp[-1].p);
3293 else
3294 yyval.p = op5(GENSUB300, (Node *)1, yyvsp[-7].p, yyvsp[-5].p, yyvsp[-3].p, yyvsp[-1].p);
3295 }
3296break;
3297case 158:
3298#line 395 "/usr/src/usr.bin/awk/awkgram.y"
3299{ yyval.p = op3(GETLINE339, yyvsp[-2].p, itonp(yyvsp[-1].i), yyvsp[0].p); }
3300break;
3301case 159:
3302#line 396 "/usr/src/usr.bin/awk/awkgram.y"
3303{ yyval.p = op3(GETLINE339, NIL((Node *) 0), itonp(yyvsp[-1].i), yyvsp[0].p); }
3304break;
3305case 160:
3306#line 397 "/usr/src/usr.bin/awk/awkgram.y"
3307{ yyval.p = op3(GETLINE339, yyvsp[0].p, NIL((Node *) 0), NIL((Node *) 0)); }
3308break;
3309case 161:
3310#line 398 "/usr/src/usr.bin/awk/awkgram.y"
3311{ yyval.p = op3(GETLINE339, NIL((Node *) 0), NIL((Node *) 0), NIL((Node *) 0)); }
3312break;
3313case 162:
3314#line 400 "/usr/src/usr.bin/awk/awkgram.y"
3315{ yyval.p = op2(INDEX304, yyvsp[-3].p, yyvsp[-1].p); }
3316break;
3317case 163:
3318#line 402 "/usr/src/usr.bin/awk/awkgram.y"
3319{ SYNTAX("index() doesn't permit regular expressions");
3320 yyval.p = op2(INDEX304, yyvsp[-3].p, (Node*)yyvsp[-1].s); }
3321break;
3322case 164:
3323#line 404 "/usr/src/usr.bin/awk/awkgram.y"
3324{ yyval.p = yyvsp[-1].p; }
3325break;
3326case 165:
3327#line 406 "/usr/src/usr.bin/awk/awkgram.y"
3328{ yyval.p = op3(MATCHFCN306, NIL((Node *) 0), yyvsp[-3].p, (Node*)makedfa(yyvsp[-1].s, 1)); }
3329break;
3330case 166:
3331#line 408 "/usr/src/usr.bin/awk/awkgram.y"
3332{ if (constnode(yyvsp[-1].p))
3333 yyval.p = op3(MATCHFCN306, NIL((Node *) 0), yyvsp[-3].p, (Node*)makedfa(strnode(yyvsp[-1].p), 1));
3334 else
3335 yyval.p = op3(MATCHFCN306, (Node *)1, yyvsp[-3].p, yyvsp[-1].p); }
3336break;
3337case 167:
3338#line 412 "/usr/src/usr.bin/awk/awkgram.y"
3339{ yyval.p = celltonode(yyvsp[0].cp, CCON5); }
3340break;
3341case 168:
3342#line 414 "/usr/src/usr.bin/awk/awkgram.y"
3343{ yyval.p = op4(SPLIT341, yyvsp[-5].p, makearr(yyvsp[-3].p), yyvsp[-1].p, (Node*)STRING337); }
3344break;
3345case 169:
3346#line 416 "/usr/src/usr.bin/awk/awkgram.y"
3347{ yyval.p = op4(SPLIT341, yyvsp[-5].p, makearr(yyvsp[-3].p), (Node*)makedfa(yyvsp[-1].s, 1), (Node *)REGEXPR338); }
3348break;
3349case 170:
3350#line 418 "/usr/src/usr.bin/awk/awkgram.y"
3351{ yyval.p = op4(SPLIT341, yyvsp[-3].p, makearr(yyvsp[-1].p), NIL((Node *) 0), (Node*)STRING337); }
3352break;
3353case 171:
3354#line 419 "/usr/src/usr.bin/awk/awkgram.y"
3355{ yyval.p = op1(yyvsp[-3].i, yyvsp[-1].p); }
3356break;
3357case 172:
3358#line 420 "/usr/src/usr.bin/awk/awkgram.y"
3359{ yyval.p = celltonode(yyvsp[0].cp, CCON5); }
3360break;
3361case 173:
3362#line 422 "/usr/src/usr.bin/awk/awkgram.y"
3363{ yyval.p = op4(yyvsp[-5].i, NIL((Node *) 0), (Node*)makedfa(yyvsp[-3].s, 1), yyvsp[-1].p, rectonode()); }
3364break;
3365case 174:
3366#line 424 "/usr/src/usr.bin/awk/awkgram.y"
3367{ if (constnode(yyvsp[-3].p))
3368 yyval.p = op4(yyvsp[-5].i, NIL((Node *) 0), (Node*)makedfa(strnode(yyvsp[-3].p), 1), yyvsp[-1].p, rectonode());
3369 else
3370 yyval.p = op4(yyvsp[-5].i, (Node *)1, yyvsp[-3].p, yyvsp[-1].p, rectonode()); }
3371break;
3372case 175:
3373#line 429 "/usr/src/usr.bin/awk/awkgram.y"
3374{ yyval.p = op4(yyvsp[-7].i, NIL((Node *) 0), (Node*)makedfa(yyvsp[-5].s, 1), yyvsp[-3].p, yyvsp[-1].p); }
3375break;
3376case 176:
3377#line 431 "/usr/src/usr.bin/awk/awkgram.y"
3378{ if (constnode(yyvsp[-5].p))
3379 yyval.p = op4(yyvsp[-7].i, NIL((Node *) 0), (Node*)makedfa(strnode(yyvsp[-5].p), 1), yyvsp[-3].p, yyvsp[-1].p);
3380 else
3381 yyval.p = op4(yyvsp[-7].i, (Node *)1, yyvsp[-5].p, yyvsp[-3].p, yyvsp[-1].p); }
3382break;
3383case 177:
3384#line 436 "/usr/src/usr.bin/awk/awkgram.y"
3385{ yyval.p = op3(SUBSTR342, yyvsp[-5].p, yyvsp[-3].p, yyvsp[-1].p); }
3386break;
3387case 178:
3388#line 438 "/usr/src/usr.bin/awk/awkgram.y"
3389{ yyval.p = op3(SUBSTR342, yyvsp[-3].p, yyvsp[-1].p, NIL((Node *) 0)); }
3390break;
3391case 181:
3392#line 444 "/usr/src/usr.bin/awk/awkgram.y"
3393{ yyval.p = op2(ARRAY264, makearr(yyvsp[-3].p), yyvsp[-1].p); }
3394break;
3395case 182:
3396#line 445 "/usr/src/usr.bin/awk/awkgram.y"
3397{ yyval.p = op1(INDIRECT351, celltonode(yyvsp[0].cp, CVAR2)); }
3398break;
3399case 183:
3400#line 446 "/usr/src/usr.bin/awk/awkgram.y"
3401{ yyval.p = op1(INDIRECT351, yyvsp[0].p); }
3402break;
3403case 184:
3404#line 450 "/usr/src/usr.bin/awk/awkgram.y"
3405{ arglist = yyval.p = 0; }
3406break;
3407case 185:
3408#line 451 "/usr/src/usr.bin/awk/awkgram.y"
3409{ arglist = yyval.p = celltonode(yyvsp[0].cp,CVAR2); }
3410break;
3411case 186:
3412#line 452 "/usr/src/usr.bin/awk/awkgram.y"
3413{
3414 checkdup(yyvsp[-2].p, yyvsp[0].cp);
26
Passing null pointer value via 2nd parameter 'cp'
27
Calling 'checkdup'
3415 arglist = yyval.p = linkum(yyvsp[-2].p,celltonode(yyvsp[0].cp,CVAR2)); }
3416break;
3417case 187:
3418#line 458 "/usr/src/usr.bin/awk/awkgram.y"
3419{ yyval.p = celltonode(yyvsp[0].cp, CVAR2); }
3420break;
3421case 188:
3422#line 459 "/usr/src/usr.bin/awk/awkgram.y"
3423{ yyval.p = op1(ARG290, itonp(yyvsp[0].i)); }
3424break;
3425case 189:
3426#line 460 "/usr/src/usr.bin/awk/awkgram.y"
3427{ yyval.p = op1(VARNF334, (Node *) yyvsp[0].cp); }
3428break;
3429case 190:
3430#line 465 "/usr/src/usr.bin/awk/awkgram.y"
3431{ yyval.p = notnull(yyvsp[-1].p); }
3432break;
3433#line 3426 "awkgram.tab.c"
3434 }
3435 yyssp -= yym;
3436 yystate = *yyssp;
3437 yyvsp -= yym;
3438 yym = yylhs[yyn];
3439 if (yystate == 0 && yym == 0)
15
Assuming 'yystate' is not equal to 0
3440 {
3441#if YYDEBUG0
3442 if (yydebug)
3443 printf("%sdebug: after reduction, shifting from state 0 to\
3444 state %d\n", YYPREFIX"yy", YYFINAL4);
3445#endif
3446 yystate = YYFINAL4;
3447 *++yyssp = YYFINAL4;
3448 *++yyvsp = yyval;
3449 if (yychar < 0)
3450 {
3451 if ((yychar = yylex()) < 0) yychar = 0;
3452#if YYDEBUG0
3453 if (yydebug)
3454 {
3455 yys = 0;
3456 if (yychar <= YYMAXTOKEN352) yys = yyname[yychar];
3457 if (!yys) yys = "illegal-symbol";
3458 printf("%sdebug: state %d, reading %d (%s)\n",
3459 YYPREFIX"yy", YYFINAL4, yychar, yys);
3460 }
3461#endif
3462 }
3463 if (yychar == 0) goto yyaccept;
3464 goto yyloop;
3465 }
3466 if ((yyn = yygindex[yym]) && (yyn += yystate) >= 0 &&
16
Assuming 'yyn' is 0
3467 yyn <= YYTABLESIZE10015 && yycheck[yyn] == yystate)
3468 yystate = yytable[yyn];
3469 else
3470 yystate = yydgoto[yym];
3471#if YYDEBUG0
3472 if (yydebug)
3473 printf("%sdebug: after reduction, shifting from state %d \
3474to state %d\n", YYPREFIX"yy", *yyssp, yystate);
3475#endif
3476 if (yyssp >= yysslim && yygrowstack())
17
Assuming 'yyssp' is < 'yysslim'
3477 {
3478 goto yyoverflow;
3479 }
3480 *++yyssp = yystate;
3481 *++yyvsp = yyval;
18
Null pointer value stored to field 'cp'
3482 goto yyloop;
19
Control jumps to line 2696
3483yyoverflow:
3484 yyerror("yacc stack overflow");
3485yyabort:
3486 if (yyss)
3487 free(yyss);
3488 if (yyvs)
3489 free(yyvs);
3490 yyss = yyssp = NULL((void *)0);
3491 yyvs = yyvsp = NULL((void *)0);
3492 yystacksize = 0;
3493 return (1);
3494yyaccept:
3495 if (yyss)
3496 free(yyss);
3497 if (yyvs)
3498 free(yyvs);
3499 yyss = yyssp = NULL((void *)0);
3500 yyvs = yyvsp = NULL((void *)0);
3501 yystacksize = 0;
3502 return (0);
3503}