2 static char yysccsid[] = "@(#)yaccpar 1.9 (Berkeley) 02/21/93 (groff)";
7 #define yyclearin (yychar=(-1))
8 #define yyerrok (yyerrflag=0)
9 #define YYRECOVERING (yyerrflag!=0)
16 extern int delim_flag;
17 extern void copy_rest_thru(const char *, const char *);
18 extern void copy_file_thru(const char *, const char *, const char *);
19 extern void push_body(const char *);
20 extern void do_for(char *var, double from, double to,
21 int by_is_multiplicative, double by, char *body);
22 extern void do_lookahead();
24 /* Maximum number of characters produced by printf("%g") */
28 void yyerror(const char *);
30 void reset(const char *nm);
33 place *lookup_label(const char *);
34 void define_label(const char *label, const place *pl);
36 direction current_direction;
37 position current_position;
39 implement_ptable(place)
41 PTABLE(place) top_table;
43 PTABLE(place) *current_table = &top_table;
44 saved_state *current_saved_state = 0;
48 const char *ordinal_postfix(int n);
49 const char *object_type_name(object_type type);
50 char *format_number(const char *form, double n);
51 char *do_sprintf(const char *form, const double *v, int nv);
58 struct { double x, y; } pair;
59 struct { double x; char *body; } if_data;
60 struct { char *str; const char *filename; int lineno; } lstr;
61 struct { double *v; int nv; int maxv; } dv;
62 struct { double val; int is_multiplicative; } by;
77 #define COMMAND_LINE 261
81 #define LEFT_ARROW_HEAD 265
82 #define RIGHT_ARROW_HEAD 266
83 #define DOUBLE_ARROW_HEAD 267
113 #define INVISIBLE 297
133 #define DOT_START 317
168 #define EQUALEQUAL 352
169 #define LESSEQUAL 353
170 #define GREATEREQUAL 354
171 #define LEFT_CORNER 355
172 #define RIGHT_CORNER 356
183 #define THICKNESS 367
193 #define YYERRCODE 256
194 short yylhs[] = { -1,
195 0, 0, 16, 17, 17, 29, 29, 30, 30, 31,
196 31, 31, 31, 31, 31, 31, 31, 31, 31, 32,
197 31, 31, 33, 34, 31, 35, 36, 31, 37, 31,
198 31, 38, 31, 31, 31, 23, 23, 39, 39, 39,
199 27, 27, 28, 28, 28, 40, 7, 24, 24, 2,
200 2, 3, 3, 3, 3, 3, 3, 3, 3, 3,
201 4, 4, 4, 15, 15, 15, 15, 41, 43, 15,
202 15, 42, 42, 18, 18, 18, 18, 18, 18, 18,
203 18, 18, 18, 18, 44, 18, 18, 18, 18, 18,
204 18, 18, 18, 18, 18, 18, 18, 18, 18, 18,
205 18, 18, 18, 18, 18, 18, 18, 18, 18, 18,
206 18, 18, 18, 18, 18, 18, 18, 18, 18, 18,
207 18, 18, 18, 18, 18, 18, 18, 18, 18, 18,
208 18, 18, 26, 26, 25, 25, 19, 19, 19, 6,
209 6, 6, 6, 6, 6, 6, 6, 6, 6, 45,
210 45, 5, 5, 13, 13, 13, 13, 13, 14, 14,
211 14, 22, 22, 21, 21, 8, 8, 20, 20, 20,
212 20, 20, 20, 20, 20, 20, 11, 11, 12, 12,
213 12, 10, 10, 10, 10, 10, 10, 9, 9, 9,
214 9, 9, 9, 9, 9, 9, 9, 9, 9, 9,
215 9, 9, 9, 9, 9, 9, 9, 9, 9, 9,
216 9, 9, 9, 9, 9, 9, 9, 9, 9, 1,
217 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
218 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
219 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
223 1, 1, 3, 1, 3, 0, 1, 1, 2, 3,
224 3, 4, 1, 1, 1, 1, 1, 2, 2, 0,
225 3, 2, 0, 0, 7, 0, 0, 6, 0, 10,
226 1, 0, 4, 1, 1, 1, 1, 2, 2, 3,
227 1, 2, 1, 1, 1, 0, 5, 0, 2, 1,
228 1, 3, 3, 3, 3, 3, 3, 3, 3, 2,
229 0, 2, 3, 1, 4, 4, 4, 0, 0, 6,
230 1, 0, 1, 1, 1, 1, 1, 1, 1, 1,
231 1, 1, 2, 3, 0, 4, 3, 3, 3, 3,
232 2, 2, 3, 2, 3, 2, 3, 2, 3, 3,
233 3, 3, 3, 3, 3, 2, 2, 2, 3, 2,
234 3, 2, 3, 3, 3, 3, 2, 3, 2, 2,
235 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
236 3, 2, 1, 5, 0, 3, 1, 1, 3, 1,
237 3, 5, 3, 5, 5, 5, 7, 6, 8, 1,
238 4, 3, 3, 1, 2, 2, 3, 1, 1, 1,
239 3, 1, 3, 1, 2, 2, 2, 1, 1, 1,
240 1, 1, 1, 1, 2, 1, 2, 3, 1, 1,
241 2, 1, 5, 4, 3, 3, 2, 1, 1, 1,
242 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
243 1, 1, 2, 2, 2, 2, 1, 1, 2, 2,
244 2, 2, 1, 1, 1, 1, 1, 1, 1, 1,
245 1, 2, 2, 2, 2, 2, 3, 3, 3, 3,
246 3, 3, 2, 3, 4, 4, 6, 4, 4, 4,
247 6, 6, 4, 4, 3, 4, 3, 3, 3, 3,
250 short yydefred[] = { 0,
251 8, 0, 2, 0, 0, 0, 0, 133, 17, 13,
252 14, 15, 16, 74, 75, 76, 77, 78, 79, 80,
253 81, 0, 0, 20, 0, 0, 0, 0, 0, 0,
254 0, 85, 68, 0, 4, 0, 0, 82, 71, 0,
255 9, 0, 0, 0, 0, 0, 26, 0, 159, 220,
256 221, 162, 164, 201, 202, 158, 188, 189, 190, 191,
257 192, 193, 194, 195, 196, 197, 198, 0, 0, 0,
258 0, 0, 0, 0, 0, 0, 0, 0, 199, 200,
259 0, 0, 207, 208, 213, 214, 215, 216, 217, 219,
260 218, 0, 0, 0, 0, 0, 140, 137, 160, 0,
261 0, 0, 0, 0, 0, 44, 0, 41, 0, 0,
262 0, 0, 0, 0, 0, 0, 38, 0, 0, 0,
263 0, 0, 32, 3, 0, 121, 122, 123, 0, 0,
264 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
265 0, 106, 107, 0, 0, 0, 119, 120, 127, 128,
266 129, 130, 124, 125, 0, 0, 0, 0, 0, 132,
267 0, 126, 39, 0, 0, 11, 0, 37, 36, 10,
268 23, 0, 21, 0, 0, 0, 0, 0, 0, 0,
269 0, 0, 0, 0, 203, 205, 209, 211, 204, 206,
270 210, 212, 0, 0, 0, 0, 0, 0, 0, 0,
271 0, 150, 0, 0, 0, 0, 0, 0, 0, 0,
272 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
273 222, 223, 224, 225, 226, 0, 155, 0, 0, 176,
274 168, 169, 170, 171, 172, 173, 174, 0, 167, 165,
275 166, 42, 0, 0, 60, 0, 0, 0, 46, 0,
276 0, 0, 0, 84, 135, 0, 0, 0, 0, 5,
277 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
278 0, 0, 0, 0, 0, 0, 0, 0, 103, 0,
279 182, 0, 0, 0, 105, 0, 0, 0, 0, 0,
280 115, 116, 114, 40, 0, 0, 0, 0, 0, 0,
281 65, 0, 12, 0, 27, 0, 0, 0, 0, 0,
282 0, 0, 0, 0, 245, 0, 0, 0, 0, 234,
283 153, 139, 0, 0, 0, 163, 0, 0, 0, 0,
284 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
285 0, 0, 0, 0, 0, 161, 141, 143, 175, 0,
286 0, 56, 0, 0, 0, 0, 0, 54, 0, 0,
287 53, 52, 0, 86, 69, 33, 179, 187, 0, 0,
288 0, 177, 0, 0, 181, 0, 0, 24, 0, 235,
289 236, 0, 238, 239, 240, 0, 0, 243, 244, 246,
290 0, 0, 0, 0, 0, 0, 0, 0, 0, 47,
291 0, 134, 0, 0, 186, 185, 0, 178, 0, 0,
292 28, 0, 0, 0, 0, 0, 145, 142, 144, 151,
293 0, 0, 0, 0, 73, 70, 184, 0, 25, 49,
294 237, 241, 242, 0, 0, 148, 0, 0, 183, 0,
295 147, 0, 0, 29, 149, 0, 0, 30,
297 short yydgoto[] = { 2,
298 112, 194, 114, 438, 97, 98, 34, 99, 100, 279,
299 280, 281, 115, 102, 35, 3, 36, 37, 103, 239,
300 104, 105, 170, 411, 363, 116, 107, 108, 257, 5,
301 39, 48, 304, 409, 172, 379, 447, 259, 40, 356,
302 122, 426, 403, 121, 218,
304 short yysindex[] = { -58,
305 0, 0, 0, 5077, -43, -21, -2, 0, 0, 0,
306 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
307 0, 19, -242, 0,12299, -173,12422, -155,13019, 85,
308 12299, 0, 0, -214, 0, -58,11880, 0, 0, -42,
309 0, -58,12422, 76, -160, -195, 0, -118, 0, 0,
310 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
311 0, 0, 0, 0, 0, 0, 0, 108, 120, 127,
312 133, 137, 154, 161, 162, 173, 174, 179, 0, 0,
313 -193, -119, 0, 0, 0, 0, 0, 0, 0, 0,
314 0,12539,12422,13019,13019, -34, 0, 0, 0, -51,
315 170, 585, 46, 495, 329, 0,12299, 0, 110,12422,
316 12422, 1768, -71, -227, 170, -197, 0, -22, -50,12299,
317 -58, -58, 0, 0,13489, 0, 0, 0,13382,13382,
318 13382,13382,13019,13019,13019,13019,13142,13142,13142,12779,
319 13259, 0, 0,13382,13382,13382, 0, 0, 0, 0,
320 0, 0, 0, 0,13019,13382, -228, -228, -228, 0,
321 1792, 0, 0, -30,11548, 0,12422, 0, 0, 0,
322 0, -28, 0,12422,12422,12422,12422,12422,12422,12422,
323 12422,12422,11997,12422, 0, 0, 0, 0, 0, 0,
324 0, 0, 1315, 194, 198, -11, 299, -10, 159, 159,
325 -47, 0,13019,13019,13019,13019,13019,13019,13019,13142,
326 13019,13019,13019,13019,13019,13019,13019,13142, -8, 211,
327 0, 0, 0, 0, 0, 2, 0,13259,13259, 0,
328 0, 0, 0, 0, 0, 0, 0, 177, 0, 0,
329 0, 0,13019, 159, 0,12422,12422,13019, 0,12422,
330 12422, -228, -228, 0, 0, 180, 5077, 147, 25, 0,
331 1792, 1792, 1792, 1792, 1792, 1792, 1792, 1792, -34, 46,
332 46, 46, 1842, 318, 318, 29,12182, -51, 0, 525,
333 0, 46,12662, 1336, 0, 1792, 1792, 1792, 1792, 1792,
334 0, 0, 0, 0, -21, -2, 0, 0, 0, 170,
335 0, 46, 0, 27, 0, 251, 264, 262, 292, 293,
336 295, 301, 304, 308, 0, 312, 313,13142,13142, 0,
337 0, 0,13142,13259,13259, 0, 57, 1194, 6, 1166,
338 1166, 506, 506, 1792, -1, 343, 506, 388, 388, 159,
339 159, 159, 159, -16, 211, 0, 0, 0, 0, 3170,
340 1194, 0, 394, 14, 506, 103, 1194, 0, 394, 14,
341 0, 0, 21, 0, 0, 0, 0, 0, 495, 986,
342 986, 0, 324, 118, 0, 1756, 198, 0, 12, 0,
343 0,12422, 0, 0, 0,12422,12422, 0, 0, 0,
344 389, 7, 131, 351, 353, 79,13142,13142,13019, 0,
345 13019, 0, 5077, 986, 0, 0, 986, 0, 12, 135,
346 0, 361, 363, 365,13142,13142, 0, 0, 0, 0,
347 56, 46, 2233, 1792, 0, 0, 0, 367, 0, 0,
348 0, 0, 0, 205, 296, 0,12902, 64, 0, 370,
349 0,13019, 1792, 0, 0, 1792, 151, 0,
351 short yyrindex[] = { 5,
352 0, 0, 0, 424, 200, 0, 0, 0, 0, 0,
353 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
354 0, 0, 0, 0, 0, 0, 0, 24, 0, 0,
355 0, 0, 0, 31, 0, 34, 102, 0, 0, 139,
356 0,11744, 0, 0, 0, 639, 0, 0, 0, 0,
357 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
358 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
359 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
360 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
361 0, 0, 0, 0, 0,10124, 0, 0, 0, 0,
362 4478, 9516,10459, 0, 0, 0, 691, 0, 0, 0,
363 0, 1713, 0, 2171, 0, 0, 0,11366, 0, 692,
364 5532, 5532, 0, 0, 136, 0, 0, 0,10701,10765,
365 10277,10580, 0, 0, 0, 0, 0, 0, 0, 0,
366 0, 0, 0,10829,10955,11019, 0, 0, 0, 0,
367 0, 0, 0, 0, 0,11083, 0, 0, 0, 0,
368 5277, 0, 0, 0, 0, 0, 0, 0, 0, 0,
369 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
370 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
371 0, 0, 385, 0, 421, 441, 0, 0, 356, 697,
372 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
373 0, 0, 0, 0, 0, 0, 0, 0, 0, 3104,
374 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
375 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
376 0, 0, 0,10627, 0, 0, 0, 0, 0, 0,
377 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
378 5394, 5735, 5852, 6193, 6310, 6651, 6768, 7109, 0, 7226,
379 7567, 7684, 9818, -213, 169, 0, 0, 9399, 0, 9912,
380 0, 8025, 0, 0, 0, 8142, 8483, 8600, 8941, 9058,
381 0, 0, 0, 0,11436, 1656, 2507, 2965, 321, 362,
382 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
383 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
384 0, 0, 0, 0, 0, 0, 0, 4020, 4361, 3445,
385 3562, 2188, 2529, 4936,10001, 0, 2646, 1730, 2071, 814,
386 1155, 1272, 1613, 0, 3903, 0, 0, 0, 0, 0,
387 33, 0, 4451, 3118, 2987, 0, 326, 0, 3990, 4906,
388 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
389 0, 0, 0, 0, 0, 385, 0, 0, 701, 0,
390 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
391 0, 0, 0, 452, 455, 0, 0, 0, 0, 0,
392 0, 0, 720, 0, 0, 0, 0, 0, 701, 0,
393 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
394 0, 4819, 92, 32, 0, 0, 0, 0, 0, 0,
395 0, 0, 0, 0, 396, 0, 0, 0, 0, 460,
396 0, 0, 96, 0, 0, 97, 0, 0,
398 short yygindex[] = { 0,
399 -25, 401, -104, 0, -78, 280, 0, 0, 1852, 0,
400 0, -238, 104, -81, -108, 43, 0, 0, 2253, -44,
401 0, 0, 0, 38, 0, 50, 417, -36, 22, 414,
402 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
405 #define YYTABLESIZE 13863
406 short yytable[] = { 96,
407 1, 164, 216, 118, 6, 96, 245, 214, 212, 209,
408 213, 161, 215, 195, 216, 41, 260, 46, 220, 214,
409 212, 4, 213, 35, 215, 210, 228, 211, 229, 322,
410 31, 8, 253, 6, 368, 216, 42, 248, 373, 211,
411 214, 212, 216, 213, 93, 215, 162, 214, 212, 228,
412 213, 229, 215, 38, 162, 44, 301, 124, 43, 217,
413 241, 402, 285, 165, 401, 248, 193, 211, 199, 200,
414 242, 217, 136, 253, 106, 136, 253, 185, 186, 45,
415 106, 96, 35, 242, 109, 244, 162, 93, 228, 31,
416 229, 253, 217, 47, 96, 6, 168, 169, 228, 217,
417 229, 64, 117, 261, 262, 263, 264, 265, 266, 267,
418 268, 269, 269, 269, 269, 284, 35, 436, 286, 287,
419 288, 250, 251, 31, 119, 253, 6, 6, 101, 289,
420 290, 405, 406, 123, 101, 7, 167, 345, 34, 269,
421 171, 352, 354, 173, 30, 358, 360, 174, 35, 347,
422 348, 189, 190, 252, 253, 31, 106, 253, 6, 175,
423 64, 187, 188, 256, 258, 427, 176, 254, 428, 106,
424 243, 417, 177, 228, 38, 229, 178, 328, 329, 330,
425 331, 332, 333, 334, 335, 337, 338, 339, 340, 341,
426 342, 343, 269, 179, 64, 196, 220, 34, 195, 7,
427 180, 181, 284, 284, 377, 49, 291, 292, 293, 255,
428 101, 52, 182, 183, 38, 163, 53, 350, 184, 249,
429 351, 353, 355, 101, 357, 359, 64, 294, 7, 370,
430 371, 34, 7, 305, 320, 191, 192, 8, 321, 7,
431 101, 101, 101, 101, 7, 394, 395, 228, 49, 229,
432 219, 193, 217, 326, 52, 327, 226, 376, 346, 53,
433 7, 6, 6, 34, 6, 6, 440, 201, 300, 349,
434 202, 365, 364, 6, 6, 6, 6, 6, 6, 6,
435 6, 6, 6, 6, 6, 372, 366, 6, 378, 398,
436 7, 380, 335, 269, 425, 7, 253, 269, 284, 284,
437 201, 361, 362, 202, 381, 382, 38, 221, 222, 223,
438 224, 225, 416, 101, 203, 204, 205, 206, 207, 208,
439 66, 101, 7, 253, 404, 55, 203, 204, 205, 206,
440 207, 208, 383, 384, 253, 385, 441, 253, 228, 6,
441 229, 324, 323, 325, 386, 6, 6, 387, 388, 6,
442 30, 6, 389, 390, 203, 233, 205, 206, 207, 208,
443 396, 67, 250, 137, 400, 137, 55, 407, 6, 55,
444 6, 269, 269, 423, 408, 424, 410, 6, 6, 66,
445 196, 253, 253, 420, 55, 228, 397, 229, 233, 269,
446 269, 418, 233, 419, 430, 233, 233, 233, 233, 233,
447 233, 431, 233, 432, 138, 433, 138, 439, 238, 444,
448 445, 443, 448, 66, 233, 233, 446, 233, 55, 238,
449 67, 101, 101, 1, 216, 50, 101, 113, 164, 214,
450 216, 228, 415, 229, 215, 214, 212, 61, 213, 146,
451 215, 62, 63, 166, 299, 66, 429, 120, 233, 125,
452 55, 233, 38, 248, 67, 211, 7, 7, 7, 7,
453 7, 319, 7, 140, 140, 140, 0, 7, 7, 7,
454 7, 7, 7, 7, 7, 7, 7, 7, 7, 7,
455 233, 217, 7, 138, 138, 138, 67, 217, 221, 222,
456 223, 224, 225, 198, 141, 141, 141, 143, 143, 143,
457 101, 101, 148, 148, 148, 0, 7, 7, 7, 7,
458 7, 7, 7, 7, 7, 7, 7, 7, 101, 101,
459 0, 0, 0, 7, 7, 7, 7, 7, 7, 7,
460 7, 7, 7, 7, 7, 0, 7, 7, 7, 7,
461 7, 7, 216, 0, 7, 0, 7, 214, 212, 0,
462 213, 0, 215, 0, 7, 7, 7, 7, 7, 7,
463 7, 7, 7, 7, 0, 7, 0, 303, 0, 0,
464 374, 0, 7, 7, 306, 307, 308, 309, 310, 311,
465 312, 313, 314, 316, 317, 238, 0, 0, 230, 55,
466 231, 232, 233, 234, 235, 236, 240, 237, 0, 217,
467 0, 231, 232, 233, 234, 235, 236, 0, 237, 0,
468 0, 0, 233, 233, 233, 233, 55, 0, 233, 233,
469 233, 233, 233, 233, 233, 233, 233, 233, 0, 0,
470 226, 0, 0, 0, 0, 0, 233, 233, 22, 233,
471 233, 233, 233, 233, 233, 233, 233, 233, 233, 233,
472 233, 233, 233, 233, 233, 233, 233, 233, 0, 0,
473 233, 233, 233, 233, 233, 233, 233, 233, 233, 233,
474 233, 233, 233, 233, 55, 55, 0, 0, 0, 233,
475 233, 233, 233, 233, 233, 233, 233, 233, 233, 233,
476 19, 18, 233, 233, 233, 233, 255, 22, 233, 233,
477 48, 233, 0, 0, 233, 233, 233, 233, 233, 233,
478 233, 233, 233, 233, 233, 233, 233, 233, 233, 72,
479 0, 0, 233, 233, 233, 233, 233, 233, 233, 255,
480 0, 22, 0, 255, 0, 0, 255, 255, 255, 255,
481 255, 255, 246, 255, 205, 206, 207, 208, 0, 19,
482 18, 0, 0, 0, 230, 255, 255, 0, 255, 48,
483 0, 0, 0, 22, 0, 0, 0, 231, 232, 233,
484 234, 235, 236, 0, 237, 0, 0, 0, 72, 0,
485 0, 0, 412, 19, 18, 0, 413, 414, 0, 255,
486 0, 0, 255, 48, 0, 54, 55, 0, 0, 0,
487 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
488 0, 0, 72, 229, 0, 19, 18, 0, 0, 0,
489 0, 255, 0, 0, 0, 48, 0, 0, 0, 0,
490 0, 0, 57, 58, 59, 60, 61, 62, 63, 64,
491 65, 66, 67, 0, 72, 0, 229, 0, 0, 0,
492 229, 0, 0, 229, 229, 229, 229, 229, 229, 0,
493 229, 79, 80, 81, 82, 0, 0, 0, 0, 0,
494 0, 0, 229, 229, 0, 229, 0, 0, 0, 83,
495 84, 85, 86, 87, 88, 89, 90, 91, 0, 0,
496 0, 0, 57, 58, 59, 60, 61, 62, 63, 64,
497 65, 66, 67, 0, 0, 0, 229, 0, 0, 229,
498 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
499 0, 79, 80, 81, 82, 0, 0, 0, 0, 0,
500 0, 0, 0, 0, 0, 0, 0, 0, 229, 83,
501 84, 85, 86, 87, 88, 89, 90, 91, 0, 0,
502 0, 0, 0, 255, 255, 255, 255, 0, 0, 255,
503 255, 255, 255, 255, 255, 255, 255, 255, 255, 0,
504 0, 0, 0, 0, 0, 0, 0, 255, 255, 0,
505 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
506 255, 255, 255, 255, 255, 255, 255, 255, 255, 0,
507 0, 255, 255, 255, 255, 255, 255, 255, 255, 255,
508 255, 255, 255, 255, 255, 0, 0, 0, 0, 0,
509 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
510 255, 276, 0, 255, 255, 255, 255, 0, 0, 255,
511 255, 0, 255, 0, 0, 255, 255, 255, 255, 255,
512 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
513 0, 0, 0, 255, 255, 255, 255, 255, 255, 255,
514 229, 229, 229, 229, 0, 0, 229, 229, 229, 229,
515 229, 229, 229, 229, 229, 229, 0, 0, 0, 0,
516 0, 0, 0, 0, 229, 229, 0, 229, 229, 229,
517 229, 229, 229, 229, 229, 229, 229, 229, 229, 229,
518 229, 229, 229, 229, 229, 229, 0, 0, 229, 229,
519 229, 229, 229, 229, 229, 229, 229, 229, 229, 229,
520 229, 229, 0, 0, 0, 0, 0, 229, 229, 229,
521 229, 229, 229, 229, 229, 229, 229, 229, 0, 0,
522 229, 229, 229, 229, 230, 0, 229, 229, 0, 229,
523 0, 0, 229, 229, 229, 229, 229, 229, 229, 229,
524 229, 229, 229, 229, 229, 229, 229, 0, 0, 0,
525 229, 229, 229, 229, 229, 229, 229, 230, 0, 0,
526 0, 230, 0, 0, 230, 230, 230, 230, 230, 230,
527 0, 230, 216, 0, 0, 0, 0, 214, 212, 0,
528 213, 0, 215, 230, 230, 0, 230, 0, 0, 0,
529 0, 0, 0, 0, 0, 248, 0, 211, 0, 0,
530 216, 0, 0, 0, 0, 214, 212, 0, 213, 0,
531 215, 0, 0, 0, 0, 0, 0, 230, 0, 0,
532 230, 0, 0, 248, 0, 211, 54, 55, 0, 217,
533 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
534 0, 231, 0, 0, 0, 0, 0, 0, 0, 230,
535 0, 0, 0, 0, 0, 0, 0, 217, 0, 0,
536 0, 0, 0, 57, 58, 59, 60, 61, 62, 63,
537 64, 65, 66, 67, 231, 0, 0, 0, 231, 0,
538 0, 231, 231, 231, 231, 231, 231, 0, 231, 0,
539 0, 0, 79, 80, 81, 82, 0, 0, 0, 0,
540 231, 231, 0, 231, 0, 0, 0, 0, 0, 0,
541 83, 84, 85, 86, 87, 88, 89, 90, 91, 0,
542 0, 216, 0, 0, 0, 0, 214, 212, 209, 213,
543 0, 215, 0, 0, 231, 0, 0, 231, 0, 0,
544 0, 0, 216, 0, 318, 0, 211, 214, 212, 209,
545 213, 0, 215, 0, 0, 0, 0, 0, 0, 0,
546 0, 0, 0, 0, 0, 248, 231, 211, 0, 0,
547 0, 0, 0, 0, 0, 0, 0, 0, 217, 0,
548 0, 230, 230, 230, 230, 0, 0, 230, 230, 230,
549 230, 230, 230, 230, 230, 230, 230, 0, 0, 217,
550 0, 0, 0, 0, 0, 230, 230, 0, 230, 230,
551 230, 230, 230, 230, 230, 230, 230, 230, 230, 230,
552 230, 230, 230, 230, 230, 230, 230, 0, 0, 230,
553 230, 230, 230, 230, 230, 230, 230, 230, 230, 230,
554 230, 230, 230, 0, 0, 0, 0, 0, 230, 230,
555 230, 230, 230, 230, 230, 230, 230, 230, 230, 0,
556 0, 230, 230, 230, 230, 0, 0, 230, 230, 0,
557 230, 0, 0, 230, 230, 230, 230, 230, 230, 230,
558 230, 230, 230, 230, 230, 230, 230, 230, 207, 208,
559 0, 230, 230, 230, 230, 230, 230, 230, 231, 231,
560 231, 231, 0, 0, 231, 231, 231, 231, 231, 231,
561 231, 231, 231, 231, 205, 206, 207, 208, 0, 0,
562 0, 0, 231, 231, 0, 231, 231, 231, 231, 231,
563 231, 231, 231, 231, 231, 231, 231, 231, 231, 231,
564 231, 231, 231, 231, 0, 0, 231, 231, 231, 231,
565 231, 231, 231, 231, 231, 231, 231, 231, 231, 231,
566 0, 0, 0, 0, 0, 231, 231, 231, 231, 231,
567 231, 231, 231, 231, 231, 231, 0, 0, 231, 231,
568 231, 231, 232, 0, 231, 231, 201, 231, 0, 202,
569 231, 231, 231, 231, 231, 231, 231, 231, 231, 231,
570 231, 231, 231, 231, 231, 0, 0, 0, 231, 231,
571 231, 231, 231, 231, 231, 232, 0, 0, 0, 232,
572 0, 0, 232, 232, 232, 232, 232, 232, 0, 232,
573 0, 0, 0, 246, 247, 205, 206, 207, 208, 0,
574 0, 232, 232, 0, 232, 0, 0, 0, 0, 0,
575 0, 0, 0, 0, 203, 204, 205, 206, 207, 208,
576 0, 0, 220, 0, 0, 0, 0, 220, 220, 220,
577 220, 0, 220, 0, 0, 232, 0, 0, 232, 0,
578 0, 0, 50, 0, 0, 220, 0, 220, 0, 0,
579 0, 0, 0, 0, 0, 0, 0, 0, 0, 227,
580 0, 0, 0, 0, 0, 0, 0, 232, 0, 0,
581 0, 0, 0, 0, 0, 0, 0, 0, 0, 220,
582 0, 0, 0, 50, 0, 0, 50, 0, 0, 0,
583 0, 0, 227, 0, 0, 0, 0, 0, 0, 227,
584 227, 50, 227, 227, 227, 0, 0, 0, 0, 0,
585 0, 0, 0, 0, 0, 0, 0, 0, 227, 227,
586 0, 227, 216, 0, 0, 0, 0, 214, 212, 209,
587 213, 0, 215, 0, 216, 50, 0, 0, 0, 214,
588 212, 0, 213, 0, 215, 248, 0, 211, 0, 0,
589 0, 0, 227, 0, 0, 227, 0, 248, 216, 211,
590 0, 0, 0, 214, 212, 0, 213, 50, 215, 0,
591 0, 0, 0, 0, 0, 0, 0, 0, 0, 217,
592 0, 248, 0, 211, 227, 0, 0, 0, 0, 0,
593 0, 217, 0, 0, 0, 0, 0, 0, 0, 232,
594 232, 232, 232, 0, 0, 232, 232, 232, 232, 232,
595 232, 232, 232, 232, 232, 217, 0, 0, 0, 0,
596 0, 0, 0, 232, 232, 0, 232, 232, 232, 232,
597 232, 232, 232, 232, 232, 232, 232, 232, 232, 232,
598 232, 232, 232, 232, 232, 0, 0, 232, 232, 232,
599 232, 232, 232, 232, 232, 232, 232, 232, 232, 232,
600 232, 0, 0, 0, 0, 0, 232, 232, 232, 232,
601 232, 232, 232, 232, 232, 232, 232, 0, 0, 232,
602 232, 232, 232, 227, 0, 232, 232, 220, 232, 0,
603 220, 232, 232, 232, 232, 232, 232, 232, 232, 232,
604 232, 232, 232, 232, 232, 232, 50, 0, 0, 232,
605 232, 232, 232, 232, 232, 232, 227, 227, 227, 227,
606 0, 278, 227, 227, 227, 227, 227, 227, 227, 227,
607 227, 227, 0, 50, 220, 220, 220, 220, 220, 220,
608 227, 227, 0, 227, 227, 227, 227, 227, 227, 227,
609 227, 227, 227, 227, 227, 227, 227, 227, 227, 227,
610 227, 227, 0, 0, 227, 227, 227, 227, 227, 227,
611 227, 227, 227, 227, 227, 227, 227, 227, 0, 0,
612 0, 0, 0, 227, 227, 227, 227, 227, 227, 227,
613 227, 227, 227, 227, 0, 0, 227, 227, 227, 227,
614 228, 0, 227, 227, 0, 227, 0, 0, 227, 227,
615 227, 227, 227, 227, 227, 227, 227, 227, 227, 227,
616 227, 227, 227, 0, 0, 0, 227, 227, 227, 227,
617 227, 227, 227, 228, 246, 247, 205, 206, 207, 208,
618 228, 228, 0, 228, 228, 228, 246, 247, 205, 206,
619 207, 208, 0, 0, 367, 0, 0, 0, 278, 228,
620 228, 375, 228, 0, 0, 0, 0, 0, 0, 0,
621 203, 204, 205, 206, 207, 208, 0, 0, 0, 57,
622 58, 59, 60, 61, 62, 63, 64, 65, 66, 67,
623 0, 0, 0, 228, 0, 0, 228, 0, 0, 0,
624 51, 0, 0, 0, 0, 0, 0, 0, 79, 80,
625 81, 82, 0, 0, 0, 0, 0, 248, 0, 0,
626 0, 0, 0, 0, 0, 228, 83, 84, 85, 86,
627 87, 88, 89, 90, 91, 0, 0, 0, 0, 0,
628 0, 51, 0, 0, 51, 0, 0, 0, 0, 0,
629 248, 367, 367, 0, 0, 0, 0, 248, 248, 51,
630 0, 248, 0, 0, 0, 0, 0, 0, 0, 0,
631 0, 0, 0, 0, 0, 0, 248, 248, 0, 248,
632 0, 0, 0, 0, 0, 367, 0, 0, 367, 0,
633 0, 0, 0, 51, 0, 0, 0, 0, 0, 216,
634 0, 0, 0, 0, 214, 212, 0, 213, 0, 215,
635 248, 0, 0, 248, 0, 0, 0, 0, 0, 0,
636 0, 0, 248, 0, 211, 51, 0, 0, 0, 0,
637 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
638 0, 0, 248, 0, 0, 0, 0, 0, 0, 0,
639 0, 0, 0, 0, 0, 0, 217, 228, 228, 228,
640 228, 0, 0, 228, 228, 228, 228, 228, 228, 228,
641 228, 228, 228, 0, 197, 0, 0, 0, 0, 0,
642 0, 228, 228, 0, 228, 228, 228, 228, 228, 228,
643 228, 228, 228, 228, 228, 228, 228, 228, 228, 228,
644 228, 228, 228, 0, 0, 228, 228, 228, 228, 228,
645 228, 228, 228, 228, 228, 228, 228, 228, 228, 270,
646 271, 272, 282, 0, 228, 228, 228, 228, 228, 228,
647 228, 228, 228, 228, 228, 0, 0, 228, 228, 228,
648 228, 0, 0, 228, 228, 0, 228, 302, 0, 228,
649 228, 228, 228, 228, 228, 228, 228, 228, 228, 228,
650 228, 228, 228, 228, 51, 0, 0, 228, 228, 228,
651 228, 228, 228, 228, 248, 248, 248, 248, 0, 0,
652 248, 248, 248, 248, 248, 248, 248, 248, 248, 248,
653 0, 51, 336, 0, 0, 0, 0, 0, 248, 248,
654 344, 248, 248, 248, 248, 248, 248, 248, 248, 248,
655 248, 248, 248, 248, 248, 248, 248, 248, 248, 248,
656 0, 0, 248, 248, 248, 248, 248, 248, 248, 248,
657 248, 248, 248, 248, 248, 248, 15, 0, 0, 0,
658 0, 248, 248, 248, 248, 248, 248, 248, 248, 248,
659 248, 248, 437, 0, 248, 248, 248, 248, 250, 197,
660 248, 248, 0, 248, 0, 0, 248, 248, 248, 248,
661 248, 248, 248, 248, 248, 248, 248, 248, 248, 248,
662 248, 0, 0, 0, 248, 248, 248, 248, 248, 248,
663 248, 250, 0, 0, 0, 15, 0, 0, 250, 250,
664 391, 392, 250, 0, 0, 393, 0, 0, 0, 0,
665 0, 203, 204, 205, 206, 207, 208, 250, 250, 0,
666 250, 0, 0, 0, 0, 0, 0, 0, 0, 15,
667 0, 0, 201, 0, 0, 0, 0, 0, 0, 0,
668 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
669 0, 250, 0, 0, 250, 0, 0, 0, 0, 0,
670 0, 15, 0, 0, 0, 0, 0, 0, 0, 0,
671 0, 0, 0, 0, 0, 249, 0, 0, 0, 421,
672 422, 0, 0, 250, 0, 0, 0, 0, 0, 0,
673 0, 0, 0, 0, 0, 0, 0, 434, 435, 0,
674 0, 0, 0, 0, 0, 0, 0, 0, 249, 0,
675 0, 0, 0, 0, 0, 249, 249, 0, 0, 249,
676 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
677 0, 0, 0, 0, 249, 249, 0, 249, 0, 0,
678 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
679 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
680 0, 0, 0, 0, 0, 0, 0, 0, 249, 0,
681 0, 249, 0, 0, 0, 0, 0, 0, 0, 0,
682 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
683 0, 0, 0, 201, 0, 0, 0, 0, 0, 201,
684 249, 0, 0, 0, 201, 0, 0, 0, 0, 0,
685 0, 0, 0, 0, 0, 250, 250, 250, 250, 0,
686 0, 250, 250, 250, 250, 250, 250, 250, 250, 250,
687 250, 0, 0, 0, 0, 0, 0, 0, 201, 250,
688 250, 0, 250, 250, 250, 250, 250, 250, 250, 250,
689 250, 250, 250, 250, 250, 250, 250, 250, 250, 250,
690 250, 0, 0, 250, 250, 250, 250, 250, 250, 250,
691 250, 250, 250, 250, 250, 250, 250, 0, 0, 0,
692 0, 0, 250, 250, 250, 250, 250, 250, 250, 250,
693 250, 250, 250, 0, 0, 250, 250, 250, 250, 0,
694 0, 250, 250, 0, 250, 0, 0, 250, 250, 250,
695 250, 250, 250, 250, 250, 250, 250, 250, 250, 250,
696 250, 250, 0, 0, 0, 250, 250, 250, 250, 250,
697 250, 250, 249, 249, 249, 249, 0, 0, 249, 249,
698 249, 249, 249, 249, 249, 249, 249, 249, 0, 0,
699 0, 0, 0, 0, 0, 0, 249, 249, 0, 249,
700 249, 249, 249, 249, 249, 249, 249, 249, 249, 249,
701 249, 249, 249, 249, 249, 249, 249, 249, 0, 0,
702 249, 249, 249, 249, 249, 249, 249, 249, 249, 249,
703 249, 249, 249, 249, 16, 0, 0, 0, 0, 249,
704 249, 249, 249, 249, 249, 249, 249, 249, 249, 249,
705 0, 0, 249, 249, 249, 249, 247, 0, 249, 249,
706 0, 249, 0, 0, 249, 249, 249, 249, 249, 249,
707 249, 249, 249, 249, 249, 249, 249, 249, 249, 0,
708 0, 0, 249, 249, 249, 249, 249, 249, 249, 247,
709 0, 0, 0, 16, 0, 0, 247, 247, 0, 0,
710 247, 0, 0, 0, 0, 0, 0, 0, 0, 0,
711 0, 0, 0, 0, 0, 247, 247, 0, 247, 0,
712 0, 0, 0, 0, 0, 0, 0, 16, 0, 0,
713 202, 0, 0, 0, 0, 0, 0, 0, 0, 0,
714 0, 0, 0, 0, 0, 0, 0, 0, 0, 247,
715 0, 0, 247, 0, 0, 0, 0, 0, 0, 16,
716 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
717 0, 0, 0, 156, 0, 0, 0, 0, 0, 0,
718 0, 247, 0, 0, 0, 0, 0, 59, 0, 0,
719 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
720 0, 0, 0, 0, 0, 0, 156, 0, 0, 0,
721 0, 0, 0, 156, 156, 0, 156, 156, 156, 0,
722 0, 0, 0, 0, 0, 0, 0, 0, 59, 0,
723 0, 59, 156, 0, 0, 156, 0, 0, 0, 0,
724 0, 0, 0, 0, 0, 0, 59, 0, 0, 0,
725 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
726 0, 0, 0, 0, 0, 0, 156, 0, 0, 156,
727 0, 0, 0, 0, 0, 0, 216, 0, 0, 0,
728 59, 214, 212, 0, 213, 0, 215, 0, 0, 0,
729 0, 202, 0, 0, 0, 0, 0, 202, 156, 248,
730 0, 211, 202, 0, 0, 0, 0, 0, 0, 0,
731 0, 0, 59, 247, 247, 247, 247, 0, 0, 247,
732 247, 247, 247, 247, 247, 247, 247, 247, 247, 0,
733 0, 0, 0, 217, 0, 0, 202, 247, 247, 0,
734 247, 247, 247, 247, 247, 247, 247, 247, 247, 247,
735 247, 247, 247, 247, 247, 247, 247, 247, 247, 0,
736 0, 247, 247, 247, 247, 247, 247, 247, 247, 247,
737 247, 247, 247, 247, 247, 0, 0, 0, 0, 0,
738 247, 247, 247, 247, 247, 247, 247, 247, 247, 247,
739 247, 0, 0, 247, 247, 247, 247, 0, 0, 247,
740 247, 0, 247, 0, 0, 247, 247, 247, 247, 247,
741 247, 247, 247, 247, 247, 247, 247, 247, 247, 247,
742 0, 0, 0, 247, 247, 247, 247, 247, 247, 247,
743 156, 156, 156, 156, 0, 0, 156, 0, 156, 156,
744 156, 156, 156, 156, 156, 156, 0, 0, 0, 0,
745 0, 59, 0, 0, 156, 156, 0, 156, 156, 156,
746 156, 156, 156, 156, 156, 156, 156, 156, 156, 156,
747 156, 156, 156, 156, 156, 0, 0, 0, 59, 156,
748 156, 156, 156, 156, 156, 156, 156, 156, 156, 156,
749 156, 156, 156, 156, 156, 156, 156, 156, 156, 156,
750 156, 156, 156, 156, 156, 156, 156, 156, 0, 0,
751 156, 156, 156, 156, 252, 0, 156, 156, 0, 0,
752 0, 0, 0, 0, 0, 0, 399, 0, 156, 156,
753 156, 156, 156, 156, 156, 156, 156, 59, 0, 0,
754 156, 156, 156, 156, 156, 156, 156, 252, 0, 0,
755 0, 0, 0, 0, 252, 252, 0, 0, 252, 0,
756 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
757 0, 0, 0, 252, 0, 0, 0, 0, 0, 0,
758 0, 0, 0, 0, 0, 0, 0, 0, 203, 204,
759 205, 206, 207, 208, 0, 0, 0, 0, 0, 0,
760 0, 0, 0, 0, 0, 0, 0, 252, 0, 0,
761 252, 0, 0, 0, 0, 0, 0, 0, 0, 0,
762 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
763 0, 251, 0, 0, 0, 0, 0, 0, 0, 252,
764 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
765 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
766 0, 0, 0, 0, 251, 0, 0, 0, 0, 0,
767 0, 251, 251, 0, 0, 251, 0, 0, 0, 0,
768 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
769 251, 0, 0, 0, 0, 0, 0, 0, 0, 0,
770 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
771 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
772 0, 0, 0, 0, 251, 0, 0, 251, 0, 0,
773 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
774 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
775 0, 0, 0, 0, 0, 0, 251, 0, 0, 0,
776 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
777 0, 252, 252, 252, 252, 0, 0, 252, 252, 252,
778 252, 252, 252, 252, 252, 252, 252, 0, 0, 0,
779 0, 0, 0, 0, 0, 252, 252, 0, 252, 252,
780 252, 252, 252, 252, 252, 252, 252, 252, 252, 252,
781 252, 252, 252, 252, 252, 252, 252, 0, 0, 252,
782 252, 252, 252, 252, 252, 252, 252, 252, 252, 252,
783 252, 252, 252, 0, 0, 0, 0, 0, 252, 252,
784 252, 252, 252, 252, 252, 252, 252, 252, 252, 0,
785 0, 252, 252, 252, 252, 0, 0, 252, 252, 0,
786 252, 0, 0, 252, 252, 252, 252, 0, 0, 252,
787 252, 252, 252, 252, 252, 252, 252, 252, 0, 0,
788 0, 252, 252, 252, 252, 252, 252, 252, 251, 251,
789 251, 251, 0, 0, 251, 251, 251, 251, 251, 251,
790 251, 251, 251, 251, 0, 0, 0, 0, 0, 0,
791 0, 0, 251, 251, 0, 251, 251, 251, 251, 251,
792 251, 251, 251, 251, 251, 251, 251, 251, 251, 251,
793 251, 251, 251, 251, 0, 0, 251, 251, 251, 251,
794 251, 251, 251, 251, 251, 251, 251, 251, 251, 251,
795 0, 0, 0, 0, 0, 251, 251, 251, 251, 251,
796 251, 251, 251, 251, 251, 251, 0, 0, 251, 251,
797 251, 251, 157, 0, 251, 251, 0, 251, 0, 0,
798 251, 251, 251, 251, 0, 0, 251, 251, 251, 251,
799 251, 251, 251, 251, 251, 0, 0, 0, 251, 251,
800 251, 251, 251, 251, 251, 157, 0, 0, 0, 0,
801 0, 0, 157, 157, 0, 157, 157, 157, 0, 0,
802 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
803 0, 157, 0, 0, 157, 0, 0, 0, 0, 0,
804 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
805 0, 0, 0, 0, 0, 0, 0, 0, 0, 58,
806 0, 0, 0, 0, 0, 157, 0, 0, 157, 0,
807 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
808 0, 0, 0, 0, 0, 0, 0, 0, 0, 253,
809 0, 0, 0, 0, 0, 0, 0, 157, 0, 0,
810 58, 0, 0, 58, 0, 0, 0, 0, 0, 0,
811 0, 0, 0, 0, 0, 0, 0, 0, 58, 0,
812 0, 0, 253, 0, 0, 0, 0, 0, 0, 253,
813 253, 0, 0, 253, 0, 0, 0, 0, 0, 0,
814 0, 0, 0, 0, 0, 0, 0, 0, 253, 0,
815 0, 0, 58, 0, 0, 0, 0, 0, 0, 0,
816 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
817 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
818 0, 0, 253, 0, 58, 253, 0, 0, 0, 0,
819 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
820 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
821 0, 0, 0, 0, 253, 0, 0, 0, 0, 0,
822 0, 0, 0, 0, 0, 0, 0, 0, 0, 157,
823 157, 157, 157, 0, 0, 157, 0, 157, 157, 157,
824 157, 157, 157, 157, 157, 0, 0, 0, 0, 0,
825 0, 0, 0, 157, 157, 0, 157, 157, 157, 157,
826 157, 157, 157, 157, 157, 157, 157, 157, 157, 157,
827 157, 157, 157, 157, 0, 0, 0, 0, 157, 157,
828 157, 157, 157, 157, 157, 157, 157, 157, 157, 157,
829 157, 157, 157, 157, 157, 157, 157, 157, 157, 157,
830 157, 157, 157, 157, 157, 157, 157, 0, 0, 157,
831 157, 157, 157, 0, 0, 157, 157, 0, 0, 0,
832 0, 0, 0, 58, 0, 0, 0, 157, 157, 157,
833 157, 157, 157, 157, 157, 157, 0, 0, 0, 157,
834 157, 157, 157, 157, 157, 157, 253, 253, 253, 253,
835 58, 0, 253, 253, 253, 253, 253, 253, 253, 253,
836 253, 253, 0, 0, 0, 0, 0, 0, 0, 0,
837 253, 253, 0, 253, 253, 253, 253, 253, 253, 253,
838 253, 253, 253, 253, 253, 253, 253, 253, 253, 253,
839 253, 253, 0, 0, 253, 253, 253, 253, 253, 253,
840 253, 253, 253, 253, 253, 253, 253, 253, 0, 58,
841 0, 0, 0, 253, 253, 253, 253, 253, 253, 253,
842 253, 253, 253, 253, 0, 0, 253, 253, 253, 253,
843 254, 0, 253, 253, 0, 253, 0, 0, 253, 253,
844 0, 0, 0, 0, 253, 253, 253, 253, 253, 253,
845 253, 253, 253, 0, 0, 0, 253, 253, 253, 253,
846 253, 253, 253, 254, 0, 0, 0, 0, 0, 0,
847 254, 254, 0, 0, 254, 0, 0, 0, 0, 0,
848 0, 0, 0, 0, 0, 0, 0, 0, 0, 254,
849 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
850 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
851 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
852 254, 0, 0, 254, 0, 0, 254, 0, 0, 0,
853 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
854 0, 0, 0, 0, 0, 0, 0, 138, 0, 0,
855 0, 0, 0, 0, 0, 254, 0, 0, 0, 0,
856 0, 254, 0, 0, 254, 0, 0, 0, 0, 0,
857 0, 0, 0, 0, 0, 0, 0, 0, 0, 254,
858 138, 0, 0, 0, 0, 0, 0, 138, 138, 0,
859 138, 138, 138, 0, 0, 0, 0, 0, 0, 0,
860 0, 0, 0, 0, 0, 0, 138, 0, 0, 138,
861 0, 0, 0, 254, 0, 0, 0, 0, 0, 0,
862 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
863 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
864 138, 0, 0, 138, 0, 254, 0, 0, 0, 0,
865 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
866 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
867 0, 0, 138, 0, 0, 0, 0, 0, 0, 0,
868 0, 0, 0, 0, 0, 0, 0, 254, 254, 254,
869 254, 0, 0, 254, 254, 254, 254, 254, 254, 254,
870 254, 254, 254, 0, 0, 0, 0, 0, 0, 0,
871 0, 254, 254, 0, 254, 254, 254, 254, 254, 254,
872 254, 254, 254, 254, 254, 254, 254, 254, 254, 254,
873 254, 254, 254, 0, 0, 254, 254, 254, 254, 254,
874 254, 254, 254, 254, 254, 254, 254, 254, 254, 0,
875 0, 0, 0, 0, 254, 254, 254, 254, 254, 254,
876 254, 254, 254, 254, 254, 0, 0, 254, 254, 254,
877 254, 0, 0, 254, 254, 0, 254, 0, 0, 0,
878 254, 0, 0, 0, 254, 254, 254, 254, 254, 254,
879 254, 254, 254, 254, 0, 0, 0, 254, 254, 254,
880 254, 254, 254, 254, 138, 138, 138, 138, 0, 0,
881 138, 254, 138, 138, 138, 138, 138, 138, 138, 138,
882 0, 0, 254, 0, 0, 254, 0, 0, 138, 138,
883 0, 138, 138, 138, 138, 138, 138, 138, 138, 138,
884 138, 138, 138, 138, 138, 138, 138, 138, 138, 0,
885 0, 0, 0, 138, 138, 138, 138, 138, 138, 138,
886 138, 138, 138, 138, 138, 138, 0, 0, 0, 0,
887 254, 138, 138, 138, 138, 138, 138, 138, 138, 138,
888 138, 138, 0, 0, 138, 138, 138, 138, 146, 0,
889 138, 138, 0, 0, 0, 0, 0, 0, 0, 0,
890 0, 0, 138, 138, 138, 138, 138, 138, 138, 138,
891 138, 0, 0, 0, 138, 138, 138, 138, 138, 138,
892 138, 146, 0, 0, 0, 0, 0, 0, 146, 146,
893 0, 0, 146, 0, 0, 0, 0, 0, 0, 0,
894 0, 0, 0, 0, 0, 0, 0, 146, 0, 0,
895 146, 0, 0, 0, 0, 0, 0, 0, 0, 0,
896 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
897 0, 0, 0, 0, 0, 57, 0, 0, 0, 0,
898 0, 146, 0, 0, 146, 0, 0, 0, 0, 0,
899 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
900 0, 0, 0, 0, 0, 152, 0, 0, 0, 0,
901 0, 0, 0, 146, 0, 0, 57, 0, 0, 57,
902 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
903 0, 0, 0, 0, 57, 0, 0, 0, 152, 0,
904 0, 0, 0, 0, 0, 152, 152, 0, 0, 152,
905 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
906 0, 0, 0, 0, 152, 0, 0, 0, 57, 0,
907 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
908 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
909 0, 0, 0, 0, 0, 0, 0, 0, 152, 0,
910 57, 152, 0, 0, 0, 0, 0, 0, 0, 0,
911 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
912 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
913 152, 0, 0, 0, 0, 0, 0, 0, 0, 0,
914 0, 0, 0, 0, 0, 146, 146, 146, 146, 0,
915 0, 146, 0, 146, 146, 146, 146, 146, 146, 146,
916 146, 0, 0, 0, 0, 0, 0, 0, 0, 146,
917 146, 0, 146, 146, 146, 146, 146, 146, 146, 146,
918 146, 146, 146, 146, 146, 146, 146, 146, 146, 146,
919 0, 0, 0, 0, 146, 146, 146, 146, 146, 146,
920 146, 146, 146, 146, 146, 146, 146, 0, 0, 0,
921 0, 0, 146, 146, 146, 146, 146, 146, 146, 146,
922 146, 146, 146, 0, 0, 146, 146, 146, 146, 0,
923 0, 146, 146, 0, 0, 0, 0, 32, 0, 57,
924 0, 0, 0, 146, 146, 146, 146, 146, 146, 146,
925 146, 146, 0, 0, 0, 146, 146, 146, 146, 146,
926 146, 146, 152, 152, 152, 152, 57, 0, 152, 33,
927 152, 152, 152, 152, 152, 152, 152, 152, 0, 0,
928 0, 0, 0, 0, 0, 0, 152, 152, 0, 152,
929 152, 152, 152, 152, 152, 152, 152, 152, 152, 152,
930 152, 152, 152, 152, 152, 152, 152, 0, 0, 0,
931 0, 152, 152, 152, 152, 152, 152, 152, 152, 152,
932 152, 152, 152, 152, 0, 57, 0, 0, 0, 152,
933 152, 152, 152, 152, 152, 152, 152, 152, 152, 152,
934 0, 0, 152, 152, 152, 152, 91, 0, 152, 152,
935 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
936 152, 152, 152, 152, 152, 152, 152, 152, 152, 0,
937 0, 0, 152, 152, 152, 152, 152, 152, 152, 91,
938 0, 0, 0, 0, 0, 0, 91, 0, 0, 0,
939 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
940 0, 0, 0, 6, 7, 91, 8, 9, 0, 0,
941 0, 0, 0, 0, 0, 10, 11, 12, 13, 14,
942 15, 16, 17, 18, 19, 20, 21, 0, 0, 22,
943 0, 0, 0, 0, 0, 0, 0, 0, 0, 91,
944 0, 0, 91, 0, 0, 0, 0, 0, 0, 0,
945 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
946 0, 0, 0, 93, 0, 0, 0, 0, 0, 0,
947 0, 91, 0, 0, 0, 0, 0, 0, 0, 0,
948 0, 23, 0, 0, 0, 0, 0, 24, 25, 0,
949 0, 26, 0, 27, 0, 0, 93, 0, 0, 0,
950 0, 0, 0, 93, 0, 0, 0, 0, 0, 0,
951 28, 0, 29, 0, 0, 0, 0, 0, 0, 30,
952 31, 0, 93, 0, 0, 0, 0, 0, 0, 0,
953 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
954 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
955 0, 0, 0, 0, 0, 0, 93, 0, 0, 93,
956 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
957 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
958 0, 0, 0, 0, 0, 0, 0, 0, 93, 0,
959 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
960 0, 0, 0, 91, 91, 91, 91, 0, 0, 91,
961 0, 91, 91, 91, 91, 91, 91, 91, 91, 0,
962 0, 0, 0, 0, 0, 0, 0, 91, 91, 0,
963 91, 91, 91, 91, 91, 91, 91, 91, 91, 91,
964 91, 91, 91, 91, 91, 91, 91, 91, 0, 0,
965 0, 0, 0, 91, 91, 91, 91, 91, 91, 91,
966 91, 91, 91, 91, 91, 0, 0, 0, 0, 0,
967 91, 91, 91, 91, 91, 91, 91, 91, 91, 91,
968 91, 0, 0, 91, 91, 91, 91, 0, 0, 91,
969 91, 0, 6, 0, 0, 0, 0, 0, 0, 0,
970 0, 91, 91, 91, 91, 91, 91, 91, 91, 91,
971 0, 0, 0, 91, 91, 91, 91, 91, 91, 91,
972 93, 93, 93, 93, 6, 0, 93, 0, 93, 93,
973 93, 93, 93, 93, 93, 93, 0, 0, 0, 0,
974 0, 0, 0, 0, 93, 93, 0, 93, 93, 93,
975 93, 93, 93, 93, 93, 93, 93, 93, 93, 93,
976 93, 93, 93, 93, 93, 0, 0, 0, 0, 0,
977 93, 93, 93, 93, 93, 93, 93, 93, 93, 93,
978 93, 93, 0, 0, 0, 0, 0, 93, 93, 93,
979 93, 93, 93, 93, 93, 93, 93, 93, 0, 0,
980 93, 93, 93, 93, 95, 0, 93, 93, 0, 0,
981 0, 0, 0, 0, 0, 0, 0, 0, 93, 93,
982 93, 93, 93, 93, 93, 93, 93, 0, 0, 0,
983 93, 93, 93, 93, 93, 93, 93, 95, 0, 0,
984 0, 0, 0, 0, 95, 0, 0, 0, 0, 0,
985 0, 0, 0, 0, 0, 0, 0, 0, 6, 6,
986 0, 6, 6, 95, 0, 0, 0, 0, 0, 0,
987 6, 6, 6, 6, 6, 6, 6, 6, 6, 6,
988 6, 6, 0, 0, 6, 0, 0, 0, 0, 0,
989 0, 0, 0, 0, 0, 0, 0, 95, 0, 0,
990 95, 0, 0, 0, 0, 0, 0, 0, 0, 0,
991 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
992 0, 99, 0, 0, 0, 0, 0, 0, 0, 95,
993 0, 0, 0, 0, 0, 0, 6, 0, 0, 0,
994 0, 0, 6, 6, 0, 0, 6, 0, 6, 0,
995 0, 0, 0, 0, 99, 0, 0, 0, 0, 0,
996 0, 99, 0, 0, 0, 6, 0, 6, 0, 0,
997 0, 0, 0, 0, 6, 6, 0, 0, 0, 0,
998 99, 0, 0, 0, 0, 0, 0, 0, 0, 0,
999 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1000 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1001 0, 0, 0, 0, 99, 0, 0, 99, 0, 0,
1002 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1003 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1004 0, 0, 0, 0, 0, 0, 99, 0, 0, 0,
1005 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1006 0, 95, 95, 95, 95, 0, 0, 95, 0, 95,
1007 95, 95, 95, 95, 95, 95, 95, 0, 0, 0,
1008 0, 0, 0, 0, 0, 95, 95, 0, 95, 95,
1009 95, 95, 95, 95, 95, 95, 95, 95, 95, 95,
1010 95, 95, 95, 95, 95, 95, 0, 0, 0, 0,
1011 0, 95, 95, 95, 95, 95, 95, 95, 95, 95,
1012 95, 95, 95, 0, 0, 0, 0, 0, 95, 95,
1013 95, 95, 95, 95, 95, 95, 95, 95, 95, 0,
1014 0, 95, 95, 95, 95, 0, 0, 95, 95, 0,
1015 0, 0, 0, 0, 0, 0, 0, 0, 0, 95,
1016 95, 95, 95, 95, 95, 95, 95, 95, 0, 0,
1017 0, 95, 95, 95, 95, 95, 95, 95, 99, 99,
1018 99, 99, 0, 0, 99, 0, 99, 99, 99, 99,
1019 99, 99, 99, 99, 0, 0, 0, 0, 0, 0,
1020 0, 0, 99, 99, 0, 99, 99, 99, 99, 99,
1021 99, 99, 99, 99, 99, 99, 99, 99, 99, 99,
1022 99, 99, 99, 0, 0, 0, 0, 0, 99, 99,
1023 99, 99, 99, 99, 99, 99, 99, 99, 99, 99,
1024 0, 0, 0, 0, 0, 99, 99, 99, 99, 99,
1025 99, 99, 99, 99, 99, 99, 0, 0, 99, 99,
1026 99, 99, 97, 0, 99, 99, 0, 0, 0, 0,
1027 0, 0, 0, 0, 0, 0, 99, 99, 99, 99,
1028 99, 99, 99, 99, 99, 0, 0, 0, 99, 99,
1029 99, 99, 99, 99, 99, 97, 0, 0, 0, 0,
1030 0, 0, 97, 0, 0, 0, 0, 0, 0, 0,
1031 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1032 0, 97, 0, 0, 0, 0, 0, 0, 0, 0,
1033 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1034 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1035 0, 0, 0, 0, 0, 97, 0, 0, 97, 0,
1036 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1037 0, 0, 0, 0, 0, 0, 0, 0, 0, 87,
1038 0, 0, 0, 0, 0, 0, 0, 97, 0, 0,
1039 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1040 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1041 0, 0, 87, 0, 0, 0, 0, 0, 0, 87,
1042 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1043 0, 0, 0, 0, 0, 0, 0, 0, 87, 0,
1044 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1045 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1046 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1047 0, 0, 87, 0, 0, 87, 0, 0, 0, 0,
1048 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1049 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1050 0, 0, 0, 0, 87, 0, 0, 0, 0, 0,
1051 0, 0, 0, 0, 0, 0, 0, 0, 0, 97,
1052 97, 97, 97, 0, 0, 97, 0, 97, 97, 97,
1053 97, 97, 97, 97, 97, 0, 0, 0, 0, 0,
1054 0, 0, 0, 97, 97, 0, 97, 97, 97, 97,
1055 97, 97, 97, 97, 97, 97, 97, 97, 97, 97,
1056 97, 97, 97, 97, 0, 0, 0, 0, 0, 97,
1057 97, 97, 97, 97, 97, 97, 97, 97, 97, 97,
1058 97, 0, 0, 0, 0, 0, 97, 97, 97, 97,
1059 97, 97, 97, 97, 97, 97, 97, 0, 0, 97,
1060 97, 97, 97, 0, 0, 97, 97, 0, 0, 0,
1061 0, 0, 0, 0, 0, 0, 0, 97, 97, 97,
1062 97, 97, 97, 97, 97, 97, 0, 0, 0, 97,
1063 97, 97, 97, 97, 97, 97, 87, 87, 87, 87,
1064 0, 0, 87, 0, 87, 87, 87, 87, 87, 87,
1065 87, 87, 0, 0, 0, 0, 0, 0, 0, 0,
1066 87, 87, 0, 87, 87, 87, 87, 87, 87, 87,
1067 87, 87, 87, 87, 87, 87, 87, 87, 87, 87,
1068 87, 0, 0, 0, 0, 0, 87, 87, 87, 87,
1069 87, 87, 87, 87, 87, 87, 87, 87, 0, 0,
1070 0, 0, 0, 87, 87, 87, 87, 87, 87, 87,
1071 87, 87, 87, 87, 0, 0, 87, 87, 87, 87,
1072 88, 0, 87, 87, 0, 0, 0, 0, 0, 0,
1073 0, 0, 0, 0, 87, 87, 87, 87, 87, 87,
1074 87, 87, 87, 0, 0, 0, 87, 87, 87, 87,
1075 87, 87, 87, 88, 0, 0, 0, 0, 0, 0,
1076 88, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1077 0, 0, 0, 0, 0, 0, 0, 0, 0, 88,
1078 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1079 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1080 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1081 0, 0, 0, 88, 0, 0, 88, 0, 0, 0,
1082 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1083 0, 0, 0, 0, 0, 0, 0, 89, 0, 0,
1084 0, 0, 0, 0, 0, 88, 0, 0, 0, 0,
1085 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1086 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1087 89, 0, 0, 0, 0, 0, 0, 89, 0, 0,
1088 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1089 0, 0, 0, 0, 0, 0, 89, 0, 0, 0,
1090 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1091 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1092 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1093 89, 0, 0, 89, 0, 0, 0, 0, 0, 0,
1094 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1095 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1096 0, 0, 89, 0, 0, 0, 0, 0, 0, 0,
1097 0, 0, 0, 0, 0, 0, 0, 88, 88, 88,
1098 88, 0, 0, 88, 0, 88, 88, 88, 88, 88,
1099 88, 88, 88, 0, 0, 0, 0, 0, 0, 0,
1100 0, 88, 88, 0, 88, 88, 88, 88, 88, 88,
1101 88, 88, 88, 88, 88, 88, 88, 88, 88, 88,
1102 88, 88, 0, 0, 0, 0, 0, 88, 88, 88,
1103 88, 88, 88, 88, 88, 88, 88, 88, 88, 0,
1104 0, 0, 0, 0, 88, 88, 88, 88, 88, 88,
1105 88, 88, 88, 88, 88, 0, 0, 88, 88, 88,
1106 88, 0, 0, 88, 88, 0, 0, 0, 0, 0,
1107 0, 0, 0, 0, 0, 88, 88, 88, 88, 88,
1108 88, 88, 88, 88, 0, 0, 0, 88, 88, 88,
1109 88, 88, 88, 88, 89, 89, 89, 89, 0, 0,
1110 89, 0, 89, 89, 89, 89, 89, 89, 89, 89,
1111 0, 0, 0, 0, 0, 0, 0, 0, 89, 89,
1112 0, 89, 89, 89, 89, 89, 89, 89, 89, 89,
1113 89, 89, 89, 89, 89, 89, 89, 89, 89, 0,
1114 0, 0, 0, 0, 89, 89, 89, 89, 89, 89,
1115 89, 89, 89, 89, 89, 89, 0, 0, 0, 0,
1116 0, 89, 89, 89, 89, 89, 89, 89, 89, 89,
1117 89, 89, 0, 0, 89, 89, 89, 89, 90, 0,
1118 89, 89, 0, 0, 0, 0, 0, 0, 0, 0,
1119 0, 0, 89, 89, 89, 89, 89, 89, 89, 89,
1120 89, 0, 0, 0, 89, 89, 89, 89, 89, 89,
1121 89, 90, 0, 0, 0, 0, 0, 0, 90, 0,
1122 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1123 0, 0, 0, 0, 0, 0, 0, 90, 0, 0,
1124 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1125 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1126 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1127 0, 90, 0, 0, 90, 0, 0, 0, 0, 0,
1128 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1129 0, 0, 0, 0, 0, 100, 0, 0, 0, 0,
1130 0, 0, 0, 90, 0, 0, 0, 0, 0, 0,
1131 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1132 0, 0, 0, 0, 0, 0, 0, 0, 100, 0,
1133 0, 0, 0, 0, 0, 100, 0, 0, 0, 0,
1134 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1135 0, 0, 0, 0, 100, 0, 0, 0, 0, 0,
1136 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1137 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1138 0, 0, 0, 0, 0, 0, 0, 0, 100, 0,
1139 0, 100, 0, 0, 0, 0, 0, 0, 0, 0,
1140 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1141 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1142 100, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1143 0, 0, 0, 0, 0, 90, 90, 90, 90, 0,
1144 0, 90, 0, 90, 90, 90, 90, 90, 90, 90,
1145 90, 0, 0, 0, 0, 0, 0, 0, 0, 90,
1146 90, 0, 90, 90, 90, 90, 90, 90, 90, 90,
1147 90, 90, 90, 90, 90, 90, 90, 90, 90, 90,
1148 0, 0, 0, 0, 0, 90, 90, 90, 90, 90,
1149 90, 90, 90, 90, 90, 90, 90, 0, 0, 0,
1150 0, 0, 90, 90, 90, 90, 90, 90, 90, 90,
1151 90, 90, 90, 0, 0, 90, 90, 90, 90, 0,
1152 0, 90, 90, 0, 0, 0, 0, 0, 0, 0,
1153 0, 0, 0, 90, 90, 90, 90, 90, 90, 90,
1154 90, 90, 0, 0, 0, 90, 90, 90, 90, 90,
1155 90, 90, 100, 100, 100, 100, 0, 0, 100, 0,
1156 100, 100, 100, 100, 100, 100, 100, 100, 0, 0,
1157 0, 0, 0, 0, 0, 0, 100, 100, 0, 100,
1158 100, 100, 100, 100, 100, 100, 100, 100, 100, 100,
1159 100, 100, 100, 100, 100, 100, 100, 0, 0, 0,
1160 0, 0, 100, 100, 100, 100, 100, 100, 100, 100,
1161 100, 100, 100, 100, 0, 0, 0, 0, 0, 100,
1162 100, 100, 100, 100, 100, 100, 100, 100, 100, 100,
1163 0, 0, 100, 100, 100, 100, 101, 0, 100, 100,
1164 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1165 100, 100, 100, 100, 100, 100, 100, 100, 100, 0,
1166 0, 0, 100, 100, 100, 100, 100, 100, 100, 101,
1167 0, 0, 0, 0, 0, 0, 101, 0, 0, 0,
1168 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1169 0, 0, 0, 0, 0, 101, 0, 0, 0, 0,
1170 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1171 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1172 0, 0, 0, 0, 0, 0, 0, 0, 0, 101,
1173 0, 0, 101, 0, 0, 0, 0, 0, 0, 0,
1174 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1175 0, 0, 0, 102, 0, 0, 0, 0, 0, 0,
1176 0, 101, 0, 0, 0, 0, 0, 0, 0, 0,
1177 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1178 0, 0, 0, 0, 0, 0, 102, 0, 0, 0,
1179 0, 0, 0, 102, 0, 0, 0, 0, 0, 0,
1180 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1181 0, 0, 102, 0, 0, 0, 0, 0, 0, 0,
1182 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1183 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1184 0, 0, 0, 0, 0, 0, 102, 0, 0, 102,
1185 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1186 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1187 0, 0, 0, 0, 0, 0, 0, 0, 102, 0,
1188 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1189 0, 0, 0, 101, 101, 101, 101, 0, 0, 101,
1190 0, 101, 101, 101, 101, 101, 101, 101, 101, 0,
1191 0, 0, 0, 0, 0, 0, 0, 101, 101, 0,
1192 101, 101, 101, 101, 101, 101, 101, 101, 101, 101,
1193 101, 101, 101, 101, 101, 101, 101, 101, 0, 0,
1194 0, 0, 0, 101, 101, 101, 101, 101, 101, 101,
1195 101, 101, 101, 101, 101, 0, 0, 0, 0, 0,
1196 101, 101, 101, 101, 101, 101, 101, 101, 101, 101,
1197 101, 0, 0, 101, 101, 101, 101, 0, 0, 101,
1198 101, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1199 0, 101, 101, 101, 101, 101, 101, 101, 101, 101,
1200 0, 0, 0, 101, 101, 101, 101, 101, 101, 101,
1201 102, 102, 102, 102, 0, 0, 102, 0, 102, 102,
1202 102, 102, 102, 102, 102, 102, 0, 0, 0, 0,
1203 0, 0, 0, 0, 102, 102, 0, 102, 102, 102,
1204 102, 102, 102, 102, 102, 102, 102, 102, 102, 102,
1205 102, 102, 102, 102, 102, 0, 0, 0, 0, 0,
1206 102, 102, 102, 102, 102, 102, 102, 102, 102, 102,
1207 102, 102, 0, 0, 0, 0, 0, 102, 102, 102,
1208 102, 102, 102, 102, 102, 102, 102, 102, 0, 0,
1209 102, 102, 102, 102, 104, 0, 102, 102, 0, 0,
1210 0, 0, 0, 0, 0, 0, 0, 0, 102, 102,
1211 102, 102, 102, 102, 102, 102, 102, 0, 0, 0,
1212 102, 102, 102, 102, 102, 102, 102, 104, 0, 0,
1213 0, 0, 0, 0, 104, 0, 0, 0, 0, 0,
1214 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1215 0, 0, 0, 104, 0, 0, 0, 0, 0, 0,
1216 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1217 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1218 0, 0, 0, 0, 0, 0, 0, 104, 0, 0,
1219 104, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1220 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1221 0, 109, 0, 0, 0, 0, 0, 0, 0, 104,
1222 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1223 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1224 0, 0, 0, 0, 109, 0, 0, 0, 0, 0,
1225 0, 109, 0, 0, 0, 0, 0, 0, 0, 0,
1226 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1227 109, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1228 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1229 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1230 0, 0, 0, 0, 109, 0, 0, 109, 0, 0,
1231 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1232 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1233 0, 0, 0, 0, 0, 0, 109, 0, 0, 0,
1234 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1235 0, 104, 104, 104, 104, 0, 0, 104, 0, 104,
1236 104, 104, 104, 104, 104, 104, 104, 0, 0, 0,
1237 0, 0, 0, 0, 0, 104, 104, 0, 104, 104,
1238 104, 104, 104, 104, 104, 104, 104, 104, 104, 104,
1239 104, 104, 104, 104, 104, 104, 0, 0, 0, 0,
1240 0, 104, 104, 104, 104, 104, 104, 104, 104, 104,
1241 104, 104, 104, 0, 0, 0, 0, 0, 104, 104,
1242 104, 104, 104, 104, 104, 104, 104, 104, 104, 0,
1243 0, 104, 104, 104, 104, 0, 0, 104, 104, 0,
1244 0, 0, 0, 0, 0, 0, 0, 0, 0, 104,
1245 104, 104, 104, 104, 104, 104, 104, 104, 0, 0,
1246 0, 104, 104, 104, 104, 104, 104, 104, 109, 109,
1247 109, 109, 0, 0, 109, 0, 109, 109, 109, 109,
1248 109, 109, 109, 109, 0, 0, 0, 0, 0, 0,
1249 0, 0, 109, 109, 0, 109, 109, 109, 109, 109,
1250 109, 109, 109, 109, 109, 109, 109, 109, 109, 109,
1251 109, 109, 109, 0, 0, 0, 0, 0, 109, 109,
1252 109, 109, 109, 109, 109, 109, 109, 109, 109, 109,
1253 0, 0, 0, 0, 0, 109, 109, 109, 109, 109,
1254 109, 109, 109, 109, 109, 109, 0, 0, 109, 109,
1255 109, 109, 111, 0, 109, 109, 0, 0, 0, 0,
1256 0, 0, 0, 0, 0, 0, 109, 109, 109, 109,
1257 109, 109, 109, 109, 109, 0, 0, 0, 109, 109,
1258 109, 109, 109, 109, 109, 111, 0, 0, 0, 0,
1259 0, 0, 111, 0, 0, 0, 0, 0, 0, 0,
1260 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1261 0, 111, 0, 0, 0, 0, 0, 0, 0, 0,
1262 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1263 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1264 0, 0, 0, 0, 0, 111, 0, 0, 111, 0,
1265 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1266 0, 0, 0, 0, 0, 0, 0, 0, 0, 118,
1267 0, 0, 0, 0, 0, 0, 0, 111, 0, 0,
1268 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1269 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1270 0, 0, 118, 0, 0, 0, 0, 0, 0, 118,
1271 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1272 0, 0, 0, 0, 0, 0, 0, 0, 118, 0,
1273 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1274 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1275 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1276 0, 0, 118, 0, 0, 118, 0, 0, 0, 0,
1277 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1278 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1279 0, 0, 0, 0, 118, 0, 0, 0, 0, 0,
1280 0, 0, 0, 0, 0, 0, 0, 0, 0, 111,
1281 111, 111, 111, 0, 0, 111, 0, 111, 111, 111,
1282 111, 111, 111, 111, 111, 0, 0, 0, 0, 0,
1283 0, 0, 0, 111, 111, 0, 111, 111, 111, 111,
1284 111, 111, 111, 111, 111, 111, 111, 111, 111, 111,
1285 111, 111, 111, 111, 0, 0, 0, 0, 0, 111,
1286 111, 111, 111, 111, 111, 111, 111, 111, 111, 111,
1287 111, 0, 0, 0, 0, 0, 111, 111, 111, 111,
1288 111, 111, 111, 111, 111, 111, 111, 0, 0, 111,
1289 111, 111, 111, 0, 0, 111, 111, 0, 0, 0,
1290 0, 0, 0, 0, 0, 0, 0, 111, 111, 111,
1291 111, 111, 111, 111, 111, 111, 0, 0, 0, 111,
1292 111, 111, 111, 111, 111, 111, 118, 118, 118, 118,
1293 0, 0, 118, 0, 118, 118, 118, 118, 118, 118,
1294 118, 118, 0, 0, 0, 0, 0, 0, 0, 0,
1295 118, 118, 0, 118, 118, 118, 118, 118, 118, 118,
1296 118, 118, 118, 118, 118, 118, 118, 118, 118, 118,
1297 118, 0, 0, 0, 0, 0, 118, 118, 118, 118,
1298 118, 118, 118, 118, 118, 118, 118, 118, 0, 0,
1299 0, 0, 0, 118, 118, 118, 118, 118, 118, 118,
1300 118, 118, 118, 118, 0, 0, 118, 118, 118, 118,
1301 131, 0, 118, 118, 0, 0, 0, 0, 0, 0,
1302 0, 0, 0, 0, 118, 118, 118, 118, 118, 118,
1303 118, 118, 118, 0, 0, 0, 118, 118, 118, 118,
1304 118, 118, 118, 131, 0, 0, 0, 0, 0, 0,
1305 131, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1306 0, 0, 0, 0, 0, 0, 0, 0, 0, 131,
1307 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1308 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1309 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1310 0, 0, 0, 131, 0, 0, 131, 0, 0, 0,
1311 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1312 0, 0, 0, 0, 0, 0, 0, 113, 0, 0,
1313 0, 0, 0, 0, 0, 131, 0, 0, 0, 0,
1314 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1315 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1316 113, 0, 0, 0, 0, 0, 0, 113, 0, 0,
1317 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1318 0, 0, 0, 0, 0, 0, 113, 0, 0, 0,
1319 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1320 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1321 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1322 113, 0, 0, 113, 0, 0, 0, 0, 0, 0,
1323 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1324 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1325 0, 0, 113, 0, 0, 0, 0, 0, 0, 0,
1326 0, 0, 0, 0, 0, 0, 0, 131, 131, 131,
1327 131, 0, 0, 131, 0, 131, 131, 131, 131, 131,
1328 131, 131, 131, 0, 0, 0, 0, 0, 0, 0,
1329 0, 131, 131, 0, 131, 131, 131, 131, 131, 131,
1330 131, 131, 131, 131, 131, 131, 131, 131, 131, 131,
1331 131, 131, 0, 0, 0, 0, 0, 131, 131, 131,
1332 131, 131, 131, 131, 131, 131, 131, 131, 131, 0,
1333 0, 0, 0, 0, 131, 131, 131, 131, 131, 131,
1334 131, 131, 131, 131, 131, 0, 0, 131, 131, 131,
1335 131, 0, 0, 131, 131, 0, 0, 0, 0, 0,
1336 0, 0, 0, 0, 0, 131, 131, 131, 131, 131,
1337 131, 131, 131, 131, 0, 0, 0, 131, 131, 131,
1338 131, 131, 131, 131, 113, 113, 113, 113, 0, 0,
1339 113, 0, 113, 113, 113, 113, 113, 113, 113, 113,
1340 0, 0, 0, 0, 0, 0, 0, 0, 113, 113,
1341 0, 113, 113, 113, 113, 113, 113, 113, 113, 113,
1342 113, 113, 113, 113, 113, 113, 113, 113, 113, 0,
1343 0, 0, 0, 0, 113, 113, 113, 113, 113, 113,
1344 113, 113, 113, 113, 113, 113, 0, 0, 0, 0,
1345 0, 113, 113, 113, 113, 113, 113, 113, 113, 113,
1346 113, 113, 0, 0, 113, 113, 113, 113, 179, 0,
1347 113, 113, 0, 0, 0, 0, 0, 0, 0, 0,
1348 0, 0, 113, 113, 113, 113, 113, 113, 113, 113,
1349 113, 0, 0, 0, 113, 113, 113, 113, 113, 113,
1350 113, 179, 0, 0, 0, 0, 0, 0, 179, 0,
1351 0, 0, 179, 179, 0, 0, 0, 0, 0, 0,
1352 0, 0, 0, 0, 0, 0, 0, 179, 0, 0,
1353 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1354 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1355 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1356 0, 179, 0, 0, 0, 0, 0, 0, 0, 0,
1357 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1358 0, 0, 0, 0, 0, 154, 0, 0, 0, 0,
1359 0, 0, 0, 179, 0, 0, 0, 0, 0, 0,
1360 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1361 0, 0, 0, 0, 0, 0, 0, 0, 154, 0,
1362 0, 0, 0, 0, 0, 154, 154, 0, 154, 154,
1363 154, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1364 0, 0, 0, 0, 154, 0, 0, 154, 0, 0,
1365 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1366 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1367 0, 0, 0, 0, 0, 0, 0, 0, 154, 0,
1368 0, 154, 0, 0, 0, 0, 0, 0, 0, 0,
1369 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1370 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1371 154, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1372 0, 0, 0, 0, 0, 0, 179, 179, 179, 0,
1373 0, 0, 0, 179, 179, 179, 0, 179, 179, 179,
1374 179, 0, 0, 0, 0, 0, 0, 0, 0, 179,
1375 179, 0, 179, 179, 179, 179, 179, 179, 179, 179,
1376 179, 179, 179, 179, 179, 179, 179, 179, 179, 179,
1377 0, 0, 0, 0, 0, 179, 179, 179, 179, 179,
1378 179, 179, 179, 179, 179, 179, 179, 0, 0, 0,
1379 0, 0, 179, 179, 179, 179, 179, 179, 179, 179,
1380 179, 179, 179, 0, 0, 179, 179, 179, 179, 0,
1381 0, 179, 179, 0, 0, 0, 0, 0, 0, 0,
1382 0, 0, 0, 179, 179, 179, 179, 179, 179, 179,
1383 179, 179, 0, 0, 0, 179, 179, 179, 179, 179,
1384 179, 179, 154, 154, 154, 154, 0, 0, 154, 0,
1385 154, 154, 154, 154, 154, 154, 154, 154, 0, 0,
1386 0, 0, 0, 0, 0, 0, 154, 154, 0, 154,
1387 154, 154, 154, 154, 154, 154, 154, 154, 154, 154,
1388 154, 154, 154, 154, 154, 154, 154, 159, 0, 0,
1389 0, 154, 154, 0, 0, 0, 0, 0, 0, 0,
1390 0, 0, 0, 0, 154, 154, 154, 154, 154, 154,
1391 154, 154, 154, 154, 154, 154, 154, 154, 154, 154,
1392 159, 0, 0, 0, 0, 0, 0, 159, 154, 154,
1393 159, 0, 159, 159, 0, 0, 0, 0, 0, 0,
1394 0, 0, 0, 0, 0, 0, 159, 0, 0, 0,
1395 0, 0, 154, 154, 154, 154, 154, 154, 154, 0,
1396 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1397 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1398 159, 180, 0, 159, 0, 0, 0, 0, 0, 0,
1399 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1400 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1401 0, 0, 159, 0, 180, 0, 0, 0, 0, 0,
1402 0, 180, 180, 0, 0, 180, 180, 0, 0, 0,
1403 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1404 180, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1405 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1406 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1407 247, 0, 0, 0, 180, 0, 0, 180, 0, 0,
1408 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1409 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1410 0, 0, 0, 247, 0, 0, 180, 0, 0, 0,
1411 247, 247, 0, 0, 247, 0, 0, 0, 0, 0,
1412 0, 0, 0, 0, 0, 0, 0, 0, 0, 247,
1413 247, 0, 247, 0, 0, 0, 0, 0, 0, 0,
1414 0, 0, 0, 0, 159, 159, 159, 159, 0, 0,
1415 159, 0, 159, 159, 159, 159, 159, 159, 159, 159,
1416 0, 0, 0, 247, 0, 0, 247, 0, 159, 159,
1417 0, 159, 159, 159, 159, 159, 159, 159, 159, 159,
1418 159, 159, 159, 159, 159, 159, 159, 159, 159, 0,
1419 0, 0, 0, 43, 159, 247, 0, 0, 0, 0,
1420 0, 0, 0, 0, 0, 0, 159, 159, 159, 159,
1421 159, 159, 159, 159, 159, 159, 159, 159, 159, 159,
1422 159, 159, 0, 0, 0, 0, 43, 0, 0, 0,
1423 159, 159, 0, 43, 0, 0, 0, 0, 180, 180,
1424 180, 180, 0, 0, 180, 0, 180, 180, 180, 180,
1425 180, 180, 43, 0, 159, 159, 159, 159, 159, 159,
1426 159, 0, 180, 180, 0, 180, 180, 180, 180, 180,
1427 180, 180, 180, 180, 180, 180, 180, 180, 180, 180,
1428 180, 180, 180, 0, 0, 0, 43, 0, 180, 43,
1429 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1430 0, 0, 0, 0, 0, 180, 180, 180, 180, 180,
1431 180, 180, 180, 180, 180, 180, 0, 0, 43, 0,
1432 0, 0, 0, 0, 180, 180, 0, 247, 247, 247,
1433 247, 0, 0, 247, 0, 0, 0, 0, 247, 0,
1434 0, 247, 247, 0, 0, 0, 98, 0, 180, 180,
1435 180, 180, 180, 180, 180, 0, 0, 0, 0, 0,
1436 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1437 0, 0, 0, 0, 0, 0, 0, 247, 247, 247,
1438 247, 247, 247, 247, 247, 247, 247, 247, 247, 0,
1439 0, 0, 0, 0, 247, 247, 247, 247, 247, 247,
1440 247, 247, 247, 247, 247, 98, 0, 247, 247, 247,
1441 247, 0, 0, 0, 0, 0, 0, 0, 0, 247,
1442 247, 247, 247, 247, 247, 247, 247, 247, 247, 247,
1443 247, 247, 247, 247, 0, 0, 0, 0, 0, 98,
1444 0, 0, 0, 247, 0, 0, 0, 0, 0, 0,
1445 43, 43, 43, 43, 0, 0, 43, 0, 0, 0,
1446 0, 43, 0, 0, 43, 43, 0, 0, 0, 0,
1447 0, 98, 0, 0, 0, 0, 0, 0, 0, 0,
1448 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1449 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1450 43, 43, 43, 43, 43, 43, 43, 43, 43, 43,
1451 43, 43, 0, 0, 0, 0, 0, 43, 43, 43,
1452 43, 43, 43, 43, 43, 43, 43, 43, 45, 0,
1453 43, 43, 43, 43, 0, 0, 0, 0, 0, 0,
1454 0, 0, 0, 0, 0, 0, 0, 0, 43, 43,
1455 43, 43, 43, 43, 43, 43, 43, 0, 0, 0,
1456 0, 45, 0, 0, 0, 0, 43, 0, 45, 0,
1457 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1458 0, 0, 0, 0, 0, 0, 0, 45, 0, 0,
1459 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1460 0, 0, 0, 0, 0, 0, 98, 0, 0, 0,
1461 0, 98, 98, 98, 0, 98, 98, 98, 98, 0,
1462 0, 45, 0, 0, 45, 0, 0, 98, 98, 0,
1463 98, 98, 98, 98, 98, 98, 98, 98, 98, 98,
1464 98, 98, 98, 98, 98, 98, 98, 98, 201, 96,
1465 0, 0, 0, 45, 0, 0, 0, 0, 0, 0,
1466 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1467 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1468 0, 0, 0, 0, 0, 0, 0, 0, 0, 98,
1469 98, 0, 0, 0, 0, 0, 255, 0, 0, 0,
1470 0, 0, 0, 0, 0, 0, 0, 0, 96, 0,
1471 0, 0, 0, 98, 98, 98, 98, 98, 98, 98,
1472 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1473 0, 0, 0, 255, 0, 0, 0, 255, 255, 255,
1474 255, 255, 96, 255, 0, 0, 0, 0, 0, 0,
1475 0, 0, 0, 0, 0, 255, 255, 0, 255, 0,
1476 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1477 92, 0, 0, 0, 96, 0, 0, 0, 0, 0,
1478 0, 0, 0, 0, 0, 45, 45, 45, 45, 255,
1479 0, 45, 0, 0, 0, 0, 45, 0, 0, 45,
1480 45, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1481 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1482 0, 255, 0, 0, 0, 0, 0, 0, 0, 92,
1483 0, 0, 0, 0, 94, 45, 45, 45, 45, 45,
1484 45, 45, 45, 45, 45, 45, 45, 0, 0, 0,
1485 0, 0, 45, 45, 45, 45, 45, 45, 45, 45,
1486 45, 45, 45, 92, 0, 45, 45, 45, 45, 0,
1487 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1488 0, 0, 0, 45, 45, 45, 45, 45, 45, 45,
1489 45, 45, 0, 94, 0, 92, 0, 0, 108, 0,
1490 0, 45, 0, 0, 0, 0, 0, 0, 0, 96,
1491 0, 0, 0, 0, 96, 96, 96, 0, 96, 96,
1492 96, 96, 0, 0, 0, 0, 0, 94, 0, 0,
1493 96, 96, 0, 96, 96, 96, 96, 96, 96, 96,
1494 96, 96, 96, 96, 96, 96, 96, 96, 96, 96,
1495 96, 202, 0, 0, 0, 0, 0, 108, 0, 94,
1496 255, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1497 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1498 0, 0, 0, 0, 0, 0, 0, 255, 0, 0,
1499 0, 108, 96, 96, 0, 0, 0, 0, 255, 0,
1500 0, 255, 0, 0, 0, 0, 0, 0, 0, 0,
1501 0, 0, 0, 0, 0, 0, 96, 96, 96, 96,
1502 96, 96, 96, 108, 110, 0, 0, 0, 0, 0,
1503 92, 0, 0, 0, 0, 92, 92, 92, 0, 92,
1504 92, 92, 92, 0, 0, 255, 255, 255, 255, 255,
1505 255, 92, 92, 0, 92, 92, 92, 92, 92, 92,
1506 92, 92, 92, 92, 92, 92, 92, 92, 92, 92,
1507 92, 92, 0, 0, 0, 0, 0, 0, 0, 0,
1508 0, 0, 0, 110, 0, 0, 0, 0, 117, 0,
1509 0, 0, 0, 0, 94, 0, 0, 0, 0, 94,
1510 94, 94, 0, 94, 94, 94, 94, 0, 0, 0,
1511 0, 0, 0, 92, 92, 94, 94, 110, 94, 94,
1512 94, 94, 94, 94, 94, 94, 94, 94, 94, 94,
1513 94, 94, 94, 94, 94, 94, 0, 92, 92, 92,
1514 92, 92, 92, 92, 0, 0, 0, 117, 0, 110,
1515 0, 0, 112, 0, 0, 0, 0, 0, 108, 0,
1516 0, 0, 0, 108, 108, 108, 0, 108, 108, 108,
1517 108, 0, 0, 0, 0, 0, 0, 94, 94, 108,
1518 108, 117, 108, 108, 108, 108, 108, 108, 108, 108,
1519 108, 108, 108, 108, 108, 108, 108, 108, 108, 108,
1520 0, 94, 94, 94, 94, 94, 94, 94, 0, 0,
1521 0, 112, 0, 117, 0, 0, 0, 0, 0, 0,
1522 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1523 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1524 0, 108, 108, 0, 0, 112, 0, 0, 0, 0,
1525 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1526 0, 0, 0, 0, 0, 108, 108, 108, 108, 108,
1527 108, 108, 0, 0, 0, 0, 0, 112, 0, 0,
1528 0, 0, 0, 0, 110, 0, 0, 0, 0, 110,
1529 110, 110, 0, 110, 110, 110, 110, 0, 0, 0,
1530 0, 0, 0, 0, 0, 110, 110, 0, 110, 110,
1531 110, 110, 110, 110, 110, 110, 110, 110, 110, 110,
1532 110, 110, 110, 110, 110, 110, 0, 0, 0, 0,
1533 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1534 0, 0, 0, 0, 0, 0, 0, 0, 117, 0,
1535 0, 0, 0, 117, 117, 117, 0, 117, 117, 117,
1536 117, 0, 0, 0, 0, 0, 0, 110, 110, 117,
1537 117, 0, 117, 117, 117, 117, 117, 117, 117, 117,
1538 117, 117, 117, 117, 117, 117, 117, 117, 117, 117,
1539 0, 110, 110, 110, 110, 110, 110, 110, 0, 0,
1540 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1541 0, 0, 112, 0, 0, 0, 0, 112, 112, 112,
1542 0, 112, 112, 112, 112, 0, 0, 0, 0, 0,
1543 0, 117, 117, 112, 112, 83, 112, 112, 112, 112,
1544 112, 112, 112, 112, 112, 112, 112, 112, 112, 112,
1545 112, 112, 112, 112, 0, 117, 117, 117, 117, 117,
1546 117, 117, 0, 0, 0, 0, 0, 0, 83, 0,
1547 0, 0, 0, 0, 0, 83, 0, 0, 0, 0,
1548 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1549 0, 0, 0, 0, 83, 112, 112, 0, 0, 0,
1550 0, 0, 0, 0, 0, 159, 0, 0, 0, 0,
1551 0, 0, 0, 0, 0, 0, 0, 0, 0, 112,
1552 112, 112, 112, 112, 112, 112, 0, 0, 83, 0,
1553 0, 83, 0, 0, 0, 0, 0, 0, 0, 0,
1554 0, 0, 0, 0, 0, 0, 0, 0, 159, 0,
1555 159, 159, 0, 0, 0, 0, 0, 0, 0, 0,
1556 83, 0, 0, 0, 159, 0, 0, 0, 0, 0,
1557 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1558 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1559 0, 0, 0, 0, 0, 0, 0, 0, 159, 0,
1560 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1561 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1562 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1563 159, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1564 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1565 95, 0, 0, 0, 0, 0, 0, 92, 0, 0,
1566 0, 0, 94, 0, 0, 0, 0, 0, 0, 0,
1567 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1568 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1569 0, 0, 83, 83, 83, 0, 0, 0, 83, 0,
1570 83, 83, 83, 83, 83, 83, 83, 83, 32, 0,
1571 0, 0, 0, 93, 0, 0, 83, 83, 0, 83,
1572 83, 83, 83, 83, 83, 83, 83, 83, 83, 83,
1573 83, 83, 83, 83, 83, 83, 83, 0, 0, 0,
1574 33, 0, 83, 83, 83, 83, 83, 83, 83, 83,
1575 83, 83, 83, 83, 0, 0, 0, 0, 0, 83,
1576 83, 83, 83, 83, 83, 83, 83, 83, 83, 83,
1577 0, 0, 83, 83, 83, 83, 159, 159, 83, 83,
1578 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1579 83, 83, 83, 83, 83, 83, 83, 83, 83, 0,
1580 0, 0, 83, 83, 83, 83, 83, 83, 0, 0,
1581 0, 0, 0, 159, 159, 159, 159, 159, 159, 159,
1582 159, 159, 159, 159, 159, 159, 159, 159, 159, 0,
1583 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1584 0, 0, 159, 159, 159, 159, 6, 0, 0, 0,
1585 0, 0, 0, 6, 0, 0, 0, 0, 6, 0,
1586 159, 159, 159, 159, 159, 159, 159, 159, 159, 0,
1587 0, 0, 0, 0, 295, 296, 51, 8, 9, 0,
1588 52, 0, 0, 0, 0, 53, 10, 11, 297, 298,
1589 14, 15, 16, 17, 18, 19, 20, 21, 0, 0,
1590 22, 0, 0, 0, 6, 0, 0, 0, 0, 6,
1591 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1592 0, 0, 0, 0, 56, 57, 58, 59, 60, 61,
1593 62, 63, 64, 65, 66, 67, 6, 0, 0, 0,
1594 0, 68, 69, 70, 71, 72, 73, 74, 75, 76,
1595 77, 78, 23, 0, 79, 80, 81, 82, 24, 25,
1596 0, 0, 26, 0, 27, 0, 0, 0, 0, 0,
1597 0, 0, 83, 84, 85, 86, 87, 88, 89, 90,
1598 91, 28, 95, 29, 0, 0, 0, 0, 0, 110,
1599 30, 31, 0, 0, 94, 0, 0, 0, 0, 0,
1600 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1601 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1602 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1603 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1604 0, 0, 0, 0, 0, 93, 0, 0, 0, 0,
1605 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1606 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1607 6, 6, 6, 6, 6, 0, 6, 0, 0, 0,
1608 0, 6, 6, 6, 6, 6, 6, 6, 6, 6,
1609 6, 6, 6, 6, 0, 0, 6, 0, 0, 111,
1610 0, 0, 0, 0, 0, 0, 110, 315, 0, 0,
1611 0, 94, 0, 0, 0, 0, 0, 0, 0, 0,
1612 6, 6, 6, 6, 6, 6, 6, 6, 6, 6,
1613 6, 6, 0, 0, 0, 0, 0, 6, 6, 6,
1614 6, 6, 6, 6, 6, 6, 6, 6, 6, 0,
1615 6, 6, 6, 6, 6, 6, 0, 0, 6, 0,
1616 6, 0, 93, 0, 0, 0, 0, 0, 6, 6,
1617 6, 6, 6, 6, 6, 6, 6, 6, 0, 6,
1618 0, 0, 0, 0, 0, 0, 6, 6, 0, 0,
1619 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1620 0, 0, 0, 0, 0, 0, 49, 50, 51, 8,
1621 0, 0, 52, 0, 126, 127, 128, 53, 129, 130,
1622 131, 132, 0, 0, 0, 0, 0, 0, 0, 0,
1623 133, 134, 0, 135, 136, 137, 138, 139, 140, 141,
1624 142, 143, 144, 145, 146, 147, 148, 149, 150, 151,
1625 152, 0, 0, 0, 0, 0, 56, 57, 58, 59,
1626 60, 61, 62, 63, 64, 65, 66, 67, 0, 0,
1627 0, 0, 0, 68, 69, 70, 71, 72, 73, 74,
1628 75, 76, 77, 78, 111, 0, 79, 80, 81, 82,
1629 0, 92, 153, 154, 0, 0, 94, 276, 0, 0,
1630 0, 0, 0, 0, 83, 84, 85, 86, 87, 88,
1631 89, 90, 91, 0, 0, 0, 155, 156, 157, 158,
1632 159, 160, 30, 49, 50, 51, 8, 0, 0, 52,
1633 0, 0, 0, 0, 53, 0, 0, 54, 55, 0,
1634 0, 0, 0, 0, 0, 0, 0, 93, 0, 0,
1635 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1636 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1637 0, 0, 0, 56, 57, 58, 59, 60, 61, 62,
1638 63, 64, 65, 66, 67, 0, 0, 0, 0, 0,
1639 68, 69, 70, 71, 72, 73, 74, 75, 76, 77,
1640 78, 95, 0, 79, 80, 81, 82, 0, 92, 0,
1641 0, 0, 0, 94, 0, 0, 0, 0, 0, 0,
1642 0, 83, 84, 85, 86, 87, 88, 89, 90, 91,
1643 0, 0, 0, 0, 0, 0, 0, 0, 0, 30,
1644 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1645 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1646 0, 0, 0, 0, 93, 0, 0, 0, 0, 0,
1647 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1648 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1649 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1650 0, 0, 0, 0, 0, 0, 0, 0, 49, 50,
1651 51, 8, 0, 0, 52, 0, 0, 0, 0, 53,
1652 0, 0, 54, 55, 111, 0, 0, 0, 0, 0,
1653 0, 110, 0, 0, 0, 0, 94, 0, 0, 0,
1654 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1655 0, 0, 0, 0, 0, 0, 0, 0, 56, 57,
1656 58, 59, 60, 61, 62, 63, 64, 65, 66, 67,
1657 0, 0, 0, 0, 0, 68, 69, 70, 71, 72,
1658 73, 74, 75, 76, 77, 78, 0, 93, 79, 80,
1659 81, 82, 0, 0, 0, 0, 0, 0, 0, 0,
1660 0, 0, 0, 0, 0, 0, 83, 84, 85, 86,
1661 87, 88, 89, 90, 91, 0, 0, 0, 0, 0,
1662 0, 0, 0, 0, 30, 49, 50, 51, 8, 0,
1663 0, 52, 0, 0, 0, 0, 53, 0, 0, 54,
1664 55, 111, 0, 0, 0, 0, 0, 0, 92, 0,
1665 0, 0, 0, 94, 0, 0, 0, 0, 0, 0,
1666 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1667 0, 0, 0, 0, 0, 56, 57, 58, 59, 60,
1668 61, 62, 63, 64, 65, 66, 67, 0, 0, 0,
1669 0, 0, 68, 69, 70, 71, 72, 73, 74, 75,
1670 76, 77, 78, 0, 93, 79, 80, 81, 82, 0,
1671 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1672 0, 0, 0, 83, 84, 85, 86, 87, 88, 89,
1673 90, 91, 0, 0, 0, 0, 0, 0, 0, 0,
1674 0, 30, 0, 0, 0, 0, 0, 0, 49, 50,
1675 51, 8, 0, 0, 52, 0, 0, 0, 0, 53,
1676 0, 0, 54, 55, 111, 0, 0, 0, 0, 0,
1677 0, 283, 0, 0, 0, 0, 94, 0, 0, 0,
1678 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1679 0, 0, 0, 0, 0, 0, 0, 0, 56, 57,
1680 58, 59, 60, 61, 62, 63, 64, 65, 66, 67,
1681 0, 0, 0, 0, 0, 68, 69, 70, 71, 72,
1682 73, 74, 75, 76, 77, 78, 0, 93, 79, 80,
1683 81, 82, 0, 0, 0, 0, 0, 0, 0, 0,
1684 0, 0, 0, 0, 0, 0, 83, 84, 85, 86,
1685 87, 88, 89, 90, 91, 0, 0, 0, 0, 0,
1686 0, 0, 0, 0, 30, 49, 50, 51, 8, 0,
1687 0, 52, 0, 0, 0, 0, 53, 0, 0, 54,
1688 55, 95, 0, 0, 0, 0, 0, 0, 277, 0,
1689 0, 0, 0, 94, 276, 0, 0, 0, 0, 0,
1690 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1691 0, 0, 0, 0, 0, 56, 57, 58, 59, 60,
1692 61, 62, 63, 64, 65, 66, 67, 0, 0, 0,
1693 0, 0, 68, 69, 70, 71, 72, 73, 74, 75,
1694 76, 77, 78, 0, 93, 79, 80, 81, 82, 0,
1695 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1696 0, 0, 0, 83, 84, 85, 86, 87, 88, 89,
1697 90, 91, 0, 0, 0, 0, 0, 0, 0, 0,
1698 0, 30, 0, 0, 0, 0, 0, 0, 49, 50,
1699 51, 8, 0, 0, 52, 0, 0, 0, 0, 53,
1700 0, 0, 54, 55, 95, 0, 0, 0, 0, 0,
1701 0, 110, 0, 442, 0, 0, 94, 0, 0, 0,
1702 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1703 0, 0, 0, 0, 0, 0, 0, 0, 56, 57,
1704 58, 59, 60, 61, 62, 63, 64, 65, 66, 67,
1705 0, 0, 0, 0, 0, 68, 69, 70, 71, 72,
1706 73, 74, 75, 76, 77, 78, 0, 93, 79, 80,
1707 81, 82, 0, 0, 0, 0, 0, 0, 0, 0,
1708 0, 0, 0, 0, 0, 0, 83, 84, 85, 86,
1709 87, 88, 89, 90, 91, 0, 0, 0, 0, 0,
1710 0, 0, 0, 0, 30, 273, 50, 51, 0, 0,
1711 0, 274, 0, 0, 0, 0, 275, 0, 0, 54,
1712 55, 95, 0, 0, 0, 0, 0, 0, 110, 0,
1713 0, 0, 0, 94, 0, 0, 0, 0, 0, 0,
1714 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1715 0, 0, 0, 0, 0, 56, 57, 58, 59, 60,
1716 61, 62, 63, 64, 65, 66, 67, 0, 0, 0,
1717 0, 0, 68, 69, 70, 71, 72, 73, 74, 75,
1718 76, 77, 78, 0, 93, 79, 80, 81, 82, 0,
1719 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1720 0, 0, 0, 83, 84, 85, 86, 87, 88, 89,
1721 90, 91, 0, 0, 0, 0, 0, 0, 0, 0,
1722 0, 0, 0, 0, 0, 0, 0, 0, 49, 50,
1723 51, 0, 0, 0, 52, 0, 0, 0, 0, 53,
1724 0, 0, 54, 55, 95, 0, 0, 0, 0, 0,
1725 0, 92, 0, 0, 0, 0, 94, 0, 0, 0,
1726 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1727 0, 0, 0, 0, 0, 0, 0, 0, 56, 57,
1728 58, 59, 60, 61, 62, 63, 64, 65, 66, 67,
1729 0, 0, 0, 0, 0, 68, 69, 70, 71, 72,
1730 73, 74, 75, 76, 77, 78, 0, 93, 79, 80,
1731 81, 82, 0, 0, 0, 0, 0, 0, 0, 0,
1732 0, 0, 0, 0, 0, 0, 83, 84, 85, 86,
1733 87, 88, 89, 90, 91, 0, 0, 0, 0, 0,
1734 0, 0, 0, 0, 0, 49, 50, 51, 0, 0,
1735 0, 52, 0, 0, 0, 0, 53, 0, 0, 54,
1736 55, 95, 0, 0, 0, 0, 0, 0, 283, 0,
1737 0, 0, 0, 94, 0, 0, 0, 0, 0, 0,
1738 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1739 0, 0, 0, 0, 0, 56, 57, 58, 59, 60,
1740 61, 62, 63, 64, 65, 66, 67, 0, 0, 0,
1741 0, 0, 68, 69, 70, 71, 72, 73, 74, 75,
1742 76, 77, 78, 0, 93, 79, 80, 81, 82, 0,
1743 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1744 0, 0, 0, 83, 84, 85, 86, 87, 88, 89,
1745 90, 91, 0, 0, 0, 0, 0, 0, 0, 0,
1746 0, 0, 0, 0, 0, 0, 0, 0, 49, 50,
1747 51, 0, 0, 0, 52, 0, 0, 0, 0, 53,
1748 0, 0, 54, 55, 95, 0, 0, 0, 0, 0,
1749 0, 110, 0, 0, 0, 0, 94, 0, 0, 0,
1750 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1751 0, 0, 0, 0, 0, 0, 0, 0, 56, 57,
1752 58, 59, 60, 61, 62, 63, 64, 65, 66, 67,
1753 0, 0, 0, 0, 0, 68, 69, 70, 71, 72,
1754 73, 74, 75, 76, 77, 78, 0, 93, 79, 80,
1755 81, 82, 0, 0, 0, 0, 0, 0, 0, 0,
1756 0, 0, 0, 0, 0, 0, 83, 84, 85, 86,
1757 87, 88, 89, 90, 91, 0, 0, 0, 0, 0,
1758 0, 0, 0, 0, 0, 49, 50, 51, 0, 0,
1759 0, 52, 0, 0, 0, 0, 53, 0, 0, 54,
1760 55, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1761 0, 0, 0, 0, 0, 0, 0, 41, 0, 0,
1762 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1763 0, 0, 0, 0, 0, 56, 57, 58, 59, 60,
1764 61, 62, 63, 64, 65, 66, 67, 0, 0, 32,
1765 0, 0, 68, 69, 70, 71, 72, 73, 74, 75,
1766 76, 77, 78, 0, 0, 79, 80, 81, 82, 0,
1767 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1768 0, 33, 0, 83, 84, 85, 86, 87, 88, 89,
1769 90, 91, 0, 0, 0, 0, 0, 0, 0, 0,
1770 0, 0, 0, 0, 0, 0, 0, 0, 49, 50,
1771 51, 0, 0, 0, 52, 0, 0, 0, 0, 53,
1772 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1773 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1774 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1775 0, 0, 0, 0, 0, 0, 0, 0, 56, 57,
1776 58, 59, 60, 61, 62, 63, 64, 65, 66, 67,
1777 0, 0, 0, 0, 0, 68, 69, 70, 71, 72,
1778 73, 74, 75, 76, 77, 78, 0, 0, 79, 80,
1779 81, 82, 0, 0, 0, 0, 0, 0, 0, 0,
1780 0, 0, 0, 0, 0, 0, 83, 84, 85, 86,
1781 87, 88, 89, 90, 91, 6, 7, 0, 8, 9,
1782 0, 0, 0, 0, 0, 0, 0, 10, 11, 12,
1783 13, 14, 15, 16, 17, 18, 19, 20, 21, 0,
1784 0, 22, 0, 0, 0, 0, 0, 0, 0, 0,
1785 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1786 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1787 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1788 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1789 0, 0, 0, 23, 0, 0, 0, 0, 0, 24,
1790 25, 0, 0, 26, 0, 27, 0, 0, 0, 0,
1791 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1792 0, 0, 28, 0, 29, 0, 0, 0, 0, 0,
1795 short yycheck[] = { 25,
1796 59, 44, 37, 29, 0, 31, 111, 42, 43, 44,
1797 45, 37, 47, 92, 37, 59, 125, 260, 100, 42,
1798 43, 0, 45, 0, 47, 60, 43, 62, 45, 41,
1799 0, 260, 0, 0, 273, 37, 58, 60, 277, 62,
1800 42, 43, 37, 45, 96, 47, 260, 42, 43, 43,
1801 45, 45, 47, 4, 268, 58, 165, 36, 61, 94,
1802 105, 41, 141, 42, 44, 60, 92, 62, 94, 95,
1803 107, 94, 41, 41, 25, 44, 44, 271, 272, 61,
1804 31, 107, 59, 120, 258, 111, 37, 96, 43, 59,
1805 45, 59, 94, 336, 120, 91, 257, 258, 43, 94,
1806 45, 0, 258, 129, 130, 131, 132, 133, 134, 135,
1807 136, 137, 138, 139, 140, 141, 93, 62, 144, 145,
1808 146, 349, 350, 93, 40, 93, 93, 123, 25, 155,
1809 156, 370, 371, 348, 31, 0, 61, 219, 0, 165,
1810 336, 246, 247, 262, 373, 250, 251, 40, 125, 228,
1811 229, 271, 272, 351, 352, 125, 107, 125, 125, 40,
1812 59, 355, 356, 121, 122, 404, 40, 118, 407, 120,
1813 61, 41, 40, 43, 125, 45, 40, 203, 204, 205,
1814 206, 207, 208, 209, 210, 211, 212, 213, 214, 215,
1815 216, 217, 218, 40, 93, 92, 278, 59, 277, 0,
1816 40, 40, 228, 229, 283, 257, 157, 158, 159, 260,
1817 107, 263, 40, 40, 165, 258, 268, 243, 40, 291,
1818 246, 247, 248, 120, 250, 251, 125, 258, 93, 274,
1819 275, 93, 33, 262, 41, 355, 356, 260, 41, 40,
1820 137, 138, 139, 140, 45, 324, 325, 43, 257, 45,
1821 302, 277, 94, 264, 263, 303, 46, 283, 257, 268,
1822 125, 257, 258, 125, 260, 261, 62, 302, 165, 93,
1823 305, 125, 93, 269, 270, 271, 272, 273, 274, 275,
1824 276, 277, 278, 279, 280, 257, 262, 283, 262, 306,
1825 91, 41, 318, 319, 403, 96, 264, 323, 324, 325,
1826 302, 252, 253, 305, 41, 44, 257, 319, 320, 321,
1827 322, 323, 306, 210, 349, 350, 351, 352, 353, 354,
1828 0, 218, 123, 291, 369, 0, 349, 350, 351, 352,
1829 353, 354, 41, 41, 302, 41, 41, 305, 43, 335,
1830 45, 43, 44, 45, 44, 341, 342, 44, 41, 345,
1831 373, 347, 41, 41, 349, 0, 351, 352, 353, 354,
1832 304, 0, 349, 43, 262, 45, 41, 44, 364, 44,
1833 366, 397, 398, 399, 257, 401, 365, 373, 374, 59,
1834 277, 349, 350, 305, 59, 43, 44, 45, 33, 415,
1835 416, 41, 37, 41, 260, 40, 41, 42, 43, 44,
1836 45, 41, 47, 41, 43, 41, 45, 41, 91, 346,
1837 41, 437, 262, 93, 59, 60, 442, 62, 93, 91,
1838 59, 318, 319, 0, 37, 41, 323, 27, 260, 42,
1839 37, 43, 44, 45, 47, 42, 43, 346, 45, 44,
1840 47, 346, 346, 43, 165, 125, 409, 31, 93, 36,
1841 125, 96, 403, 60, 93, 62, 257, 258, 259, 260,
1842 261, 193, 263, 43, 44, 45, -1, 268, 269, 270,
1843 271, 272, 273, 274, 275, 276, 277, 278, 279, 280,
1844 125, 94, 283, 43, 44, 45, 125, 94, 319, 320,
1845 321, 322, 323, 93, 43, 44, 45, 43, 44, 45,
1846 397, 398, 43, 44, 45, -1, 307, 308, 309, 310,
1847 311, 312, 313, 314, 315, 316, 317, 318, 415, 416,
1848 -1, -1, -1, 324, 325, 326, 327, 328, 329, 330,
1849 331, 332, 333, 334, 335, -1, 337, 338, 339, 340,
1850 341, 342, 37, -1, 345, -1, 347, 42, 43, -1,
1851 45, -1, 47, -1, 355, 356, 357, 358, 359, 360,
1852 361, 362, 363, 364, -1, 366, -1, 167, -1, -1,
1853 46, -1, 373, 374, 174, 175, 176, 177, 178, 179,
1854 180, 181, 182, 183, 184, 91, -1, -1, 260, 264,
1855 273, 274, 275, 276, 277, 278, 268, 280, -1, 94,
1856 -1, 273, 274, 275, 276, 277, 278, -1, 280, -1,
1857 -1, -1, 257, 258, 259, 260, 291, -1, 263, 264,
1858 265, 266, 267, 268, 269, 270, 271, 272, -1, -1,
1859 46, -1, -1, -1, -1, -1, 281, 282, 0, 284,
1860 285, 286, 287, 288, 289, 290, 291, 292, 293, 294,
1861 295, 296, 297, 298, 299, 300, 301, 302, -1, -1,
1862 305, 306, 307, 308, 309, 310, 311, 312, 313, 314,
1863 315, 316, 317, 318, 349, 350, -1, -1, -1, 324,
1864 325, 326, 327, 328, 329, 330, 331, 332, 333, 334,
1865 0, 0, 337, 338, 339, 340, 0, 59, 343, 344,
1866 0, 346, -1, -1, 349, 350, 351, 352, 353, 354,
1867 355, 356, 357, 358, 359, 360, 361, 362, 363, 0,
1868 -1, -1, 367, 368, 369, 370, 371, 372, 373, 33,
1869 -1, 93, -1, 37, -1, -1, 40, 41, 42, 43,
1870 44, 45, 349, 47, 351, 352, 353, 354, -1, 59,
1871 59, -1, -1, -1, 260, 59, 60, -1, 62, 59,
1872 -1, -1, -1, 125, -1, -1, -1, 273, 274, 275,
1873 276, 277, 278, -1, 280, -1, -1, -1, 59, -1,
1874 -1, -1, 382, 93, 93, -1, 386, 387, -1, 93,
1875 -1, -1, 96, 93, -1, 271, 272, -1, -1, -1,
1876 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1877 -1, -1, 93, 0, -1, 125, 125, -1, -1, -1,
1878 -1, 125, -1, -1, -1, 125, -1, -1, -1, -1,
1879 -1, -1, 308, 309, 310, 311, 312, 313, 314, 315,
1880 316, 317, 318, -1, 125, -1, 33, -1, -1, -1,
1881 37, -1, -1, 40, 41, 42, 43, 44, 45, -1,
1882 47, 337, 338, 339, 340, -1, -1, -1, -1, -1,
1883 -1, -1, 59, 60, -1, 62, -1, -1, -1, 355,
1884 356, 357, 358, 359, 360, 361, 362, 363, -1, -1,
1885 -1, -1, 308, 309, 310, 311, 312, 313, 314, 315,
1886 316, 317, 318, -1, -1, -1, 93, -1, -1, 96,
1887 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1888 -1, 337, 338, 339, 340, -1, -1, -1, -1, -1,
1889 -1, -1, -1, -1, -1, -1, -1, -1, 125, 355,
1890 356, 357, 358, 359, 360, 361, 362, 363, -1, -1,
1891 -1, -1, -1, 257, 258, 259, 260, -1, -1, 263,
1892 264, 265, 266, 267, 268, 269, 270, 271, 272, -1,
1893 -1, -1, -1, -1, -1, -1, -1, 281, 282, -1,
1894 284, 285, 286, 287, 288, 289, 290, 291, 292, 293,
1895 294, 295, 296, 297, 298, 299, 300, 301, 302, -1,
1896 -1, 305, 306, 307, 308, 309, 310, 311, 312, 313,
1897 314, 315, 316, 317, 318, -1, -1, -1, -1, -1,
1898 324, 325, 326, 327, 328, 329, 330, 331, 332, 333,
1899 334, 46, -1, 337, 338, 339, 340, -1, -1, 343,
1900 344, -1, 346, -1, -1, 349, 350, 351, 352, 353,
1901 354, 355, 356, 357, 358, 359, 360, 361, 362, 363,
1902 -1, -1, -1, 367, 368, 369, 370, 371, 372, 373,
1903 257, 258, 259, 260, -1, -1, 263, 264, 265, 266,
1904 267, 268, 269, 270, 271, 272, -1, -1, -1, -1,
1905 -1, -1, -1, -1, 281, 282, -1, 284, 285, 286,
1906 287, 288, 289, 290, 291, 292, 293, 294, 295, 296,
1907 297, 298, 299, 300, 301, 302, -1, -1, 305, 306,
1908 307, 308, 309, 310, 311, 312, 313, 314, 315, 316,
1909 317, 318, -1, -1, -1, -1, -1, 324, 325, 326,
1910 327, 328, 329, 330, 331, 332, 333, 334, -1, -1,
1911 337, 338, 339, 340, 0, -1, 343, 344, -1, 346,
1912 -1, -1, 349, 350, 351, 352, 353, 354, 355, 356,
1913 357, 358, 359, 360, 361, 362, 363, -1, -1, -1,
1914 367, 368, 369, 370, 371, 372, 373, 33, -1, -1,
1915 -1, 37, -1, -1, 40, 41, 42, 43, 44, 45,
1916 -1, 47, 37, -1, -1, -1, -1, 42, 43, -1,
1917 45, -1, 47, 59, 60, -1, 62, -1, -1, -1,
1918 -1, -1, -1, -1, -1, 60, -1, 62, -1, -1,
1919 37, -1, -1, -1, -1, 42, 43, -1, 45, -1,
1920 47, -1, -1, -1, -1, -1, -1, 93, -1, -1,
1921 96, -1, -1, 60, -1, 62, 271, 272, -1, 94,
1922 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1923 -1, 0, -1, -1, -1, -1, -1, -1, -1, 125,
1924 -1, -1, -1, -1, -1, -1, -1, 94, -1, -1,
1925 -1, -1, -1, 308, 309, 310, 311, 312, 313, 314,
1926 315, 316, 317, 318, 33, -1, -1, -1, 37, -1,
1927 -1, 40, 41, 42, 43, 44, 45, -1, 47, -1,
1928 -1, -1, 337, 338, 339, 340, -1, -1, -1, -1,
1929 59, 60, -1, 62, -1, -1, -1, -1, -1, -1,
1930 355, 356, 357, 358, 359, 360, 361, 362, 363, -1,
1931 -1, 37, -1, -1, -1, -1, 42, 43, 44, 45,
1932 -1, 47, -1, -1, 93, -1, -1, 96, -1, -1,
1933 -1, -1, 37, -1, 60, -1, 62, 42, 43, 44,
1934 45, -1, 47, -1, -1, -1, -1, -1, -1, -1,
1935 -1, -1, -1, -1, -1, 60, 125, 62, -1, -1,
1936 -1, -1, -1, -1, -1, -1, -1, -1, 94, -1,
1937 -1, 257, 258, 259, 260, -1, -1, 263, 264, 265,
1938 266, 267, 268, 269, 270, 271, 272, -1, -1, 94,
1939 -1, -1, -1, -1, -1, 281, 282, -1, 284, 285,
1940 286, 287, 288, 289, 290, 291, 292, 293, 294, 295,
1941 296, 297, 298, 299, 300, 301, 302, -1, -1, 305,
1942 306, 307, 308, 309, 310, 311, 312, 313, 314, 315,
1943 316, 317, 318, -1, -1, -1, -1, -1, 324, 325,
1944 326, 327, 328, 329, 330, 331, 332, 333, 334, -1,
1945 -1, 337, 338, 339, 340, -1, -1, 343, 344, -1,
1946 346, -1, -1, 349, 350, 351, 352, 353, 354, 355,
1947 356, 357, 358, 359, 360, 361, 362, 363, 353, 354,
1948 -1, 367, 368, 369, 370, 371, 372, 373, 257, 258,
1949 259, 260, -1, -1, 263, 264, 265, 266, 267, 268,
1950 269, 270, 271, 272, 351, 352, 353, 354, -1, -1,
1951 -1, -1, 281, 282, -1, 284, 285, 286, 287, 288,
1952 289, 290, 291, 292, 293, 294, 295, 296, 297, 298,
1953 299, 300, 301, 302, -1, -1, 305, 306, 307, 308,
1954 309, 310, 311, 312, 313, 314, 315, 316, 317, 318,
1955 -1, -1, -1, -1, -1, 324, 325, 326, 327, 328,
1956 329, 330, 331, 332, 333, 334, -1, -1, 337, 338,
1957 339, 340, 0, -1, 343, 344, 302, 346, -1, 305,
1958 349, 350, 351, 352, 353, 354, 355, 356, 357, 358,
1959 359, 360, 361, 362, 363, -1, -1, -1, 367, 368,
1960 369, 370, 371, 372, 373, 33, -1, -1, -1, 37,
1961 -1, -1, 40, 41, 42, 43, 44, 45, -1, 47,
1962 -1, -1, -1, 349, 350, 351, 352, 353, 354, -1,
1963 -1, 59, 60, -1, 62, -1, -1, -1, -1, -1,
1964 -1, -1, -1, -1, 349, 350, 351, 352, 353, 354,
1965 -1, -1, 37, -1, -1, -1, -1, 42, 43, 44,
1966 45, -1, 47, -1, -1, 93, -1, -1, 96, -1,
1967 -1, -1, 0, -1, -1, 60, -1, 62, -1, -1,
1968 -1, -1, -1, -1, -1, -1, -1, -1, -1, 0,
1969 -1, -1, -1, -1, -1, -1, -1, 125, -1, -1,
1970 -1, -1, -1, -1, -1, -1, -1, -1, -1, 94,
1971 -1, -1, -1, 41, -1, -1, 44, -1, -1, -1,
1972 -1, -1, 33, -1, -1, -1, -1, -1, -1, 40,
1973 41, 59, 43, 44, 45, -1, -1, -1, -1, -1,
1974 -1, -1, -1, -1, -1, -1, -1, -1, 59, 60,
1975 -1, 62, 37, -1, -1, -1, -1, 42, 43, 44,
1976 45, -1, 47, -1, 37, 93, -1, -1, -1, 42,
1977 43, -1, 45, -1, 47, 60, -1, 62, -1, -1,
1978 -1, -1, 93, -1, -1, 96, -1, 60, 37, 62,
1979 -1, -1, -1, 42, 43, -1, 45, 125, 47, -1,
1980 -1, -1, -1, -1, -1, -1, -1, -1, -1, 94,
1981 -1, 60, -1, 62, 125, -1, -1, -1, -1, -1,
1982 -1, 94, -1, -1, -1, -1, -1, -1, -1, 257,
1983 258, 259, 260, -1, -1, 263, 264, 265, 266, 267,
1984 268, 269, 270, 271, 272, 94, -1, -1, -1, -1,
1985 -1, -1, -1, 281, 282, -1, 284, 285, 286, 287,
1986 288, 289, 290, 291, 292, 293, 294, 295, 296, 297,
1987 298, 299, 300, 301, 302, -1, -1, 305, 306, 307,
1988 308, 309, 310, 311, 312, 313, 314, 315, 316, 317,
1989 318, -1, -1, -1, -1, -1, 324, 325, 326, 327,
1990 328, 329, 330, 331, 332, 333, 334, -1, -1, 337,
1991 338, 339, 340, 102, -1, 343, 344, 302, 346, -1,
1992 305, 349, 350, 351, 352, 353, 354, 355, 356, 357,
1993 358, 359, 360, 361, 362, 363, 264, -1, -1, 367,
1994 368, 369, 370, 371, 372, 373, 257, 258, 259, 260,
1995 -1, 140, 263, 264, 265, 266, 267, 268, 269, 270,
1996 271, 272, -1, 291, 349, 350, 351, 352, 353, 354,
1997 281, 282, -1, 284, 285, 286, 287, 288, 289, 290,
1998 291, 292, 293, 294, 295, 296, 297, 298, 299, 300,
1999 301, 302, -1, -1, 305, 306, 307, 308, 309, 310,
2000 311, 312, 313, 314, 315, 316, 317, 318, -1, -1,
2001 -1, -1, -1, 324, 325, 326, 327, 328, 329, 330,
2002 331, 332, 333, 334, -1, -1, 337, 338, 339, 340,
2003 0, -1, 343, 344, -1, 346, -1, -1, 349, 350,
2004 351, 352, 353, 354, 355, 356, 357, 358, 359, 360,
2005 361, 362, 363, -1, -1, -1, 367, 368, 369, 370,
2006 371, 372, 373, 33, 349, 350, 351, 352, 353, 354,
2007 40, 41, -1, 43, 44, 45, 349, 350, 351, 352,
2008 353, 354, -1, -1, 273, -1, -1, -1, 277, 59,
2009 60, 280, 62, -1, -1, -1, -1, -1, -1, -1,
2010 349, 350, 351, 352, 353, 354, -1, -1, -1, 308,
2011 309, 310, 311, 312, 313, 314, 315, 316, 317, 318,
2012 -1, -1, -1, 93, -1, -1, 96, -1, -1, -1,
2013 0, -1, -1, -1, -1, -1, -1, -1, 337, 338,
2014 339, 340, -1, -1, -1, -1, -1, 0, -1, -1,
2015 -1, -1, -1, -1, -1, 125, 355, 356, 357, 358,
2016 359, 360, 361, 362, 363, -1, -1, -1, -1, -1,
2017 -1, 41, -1, -1, 44, -1, -1, -1, -1, -1,
2018 33, 370, 371, -1, -1, -1, -1, 40, 41, 59,
2019 -1, 44, -1, -1, -1, -1, -1, -1, -1, -1,
2020 -1, -1, -1, -1, -1, -1, 59, 60, -1, 62,
2021 -1, -1, -1, -1, -1, 404, -1, -1, 407, -1,
2022 -1, -1, -1, 93, -1, -1, -1, -1, -1, 37,
2023 -1, -1, -1, -1, 42, 43, -1, 45, -1, 47,
2024 93, -1, -1, 96, -1, -1, -1, -1, -1, -1,
2025 -1, -1, 60, -1, 62, 125, -1, -1, -1, -1,
2026 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2027 -1, -1, 125, -1, -1, -1, -1, -1, -1, -1,
2028 -1, -1, -1, -1, -1, -1, 94, 257, 258, 259,
2029 260, -1, -1, 263, 264, 265, 266, 267, 268, 269,
2030 270, 271, 272, -1, 92, -1, -1, -1, -1, -1,
2031 -1, 281, 282, -1, 284, 285, 286, 287, 288, 289,
2032 290, 291, 292, 293, 294, 295, 296, 297, 298, 299,
2033 300, 301, 302, -1, -1, 305, 306, 307, 308, 309,
2034 310, 311, 312, 313, 314, 315, 316, 317, 318, 137,
2035 138, 139, 140, -1, 324, 325, 326, 327, 328, 329,
2036 330, 331, 332, 333, 334, -1, -1, 337, 338, 339,
2037 340, -1, -1, 343, 344, -1, 346, 165, -1, 349,
2038 350, 351, 352, 353, 354, 355, 356, 357, 358, 359,
2039 360, 361, 362, 363, 264, -1, -1, 367, 368, 369,
2040 370, 371, 372, 373, 257, 258, 259, 260, -1, -1,
2041 263, 264, 265, 266, 267, 268, 269, 270, 271, 272,
2042 -1, 291, 210, -1, -1, -1, -1, -1, 281, 282,
2043 218, 284, 285, 286, 287, 288, 289, 290, 291, 292,
2044 293, 294, 295, 296, 297, 298, 299, 300, 301, 302,
2045 -1, -1, 305, 306, 307, 308, 309, 310, 311, 312,
2046 313, 314, 315, 316, 317, 318, 0, -1, -1, -1,
2047 -1, 324, 325, 326, 327, 328, 329, 330, 331, 332,
2048 333, 334, 290, -1, 337, 338, 339, 340, 0, 277,
2049 343, 344, -1, 346, -1, -1, 349, 350, 351, 352,
2050 353, 354, 355, 356, 357, 358, 359, 360, 361, 362,
2051 363, -1, -1, -1, 367, 368, 369, 370, 371, 372,
2052 373, 33, -1, -1, -1, 59, -1, -1, 40, 41,
2053 318, 319, 44, -1, -1, 323, -1, -1, -1, -1,
2054 -1, 349, 350, 351, 352, 353, 354, 59, 60, -1,
2055 62, -1, -1, -1, -1, -1, -1, -1, -1, 93,
2056 -1, -1, 96, -1, -1, -1, -1, -1, -1, -1,
2057 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2058 -1, 93, -1, -1, 96, -1, -1, -1, -1, -1,
2059 -1, 125, -1, -1, -1, -1, -1, -1, -1, -1,
2060 -1, -1, -1, -1, -1, 0, -1, -1, -1, 397,
2061 398, -1, -1, 125, -1, -1, -1, -1, -1, -1,
2062 -1, -1, -1, -1, -1, -1, -1, 415, 416, -1,
2063 -1, -1, -1, -1, -1, -1, -1, -1, 33, -1,
2064 -1, -1, -1, -1, -1, 40, 41, -1, -1, 44,
2065 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2066 -1, -1, -1, -1, 59, 60, -1, 62, -1, -1,
2067 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2068 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2069 -1, -1, -1, -1, -1, -1, -1, -1, 93, -1,
2070 -1, 96, -1, -1, -1, -1, -1, -1, -1, -1,
2071 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2072 -1, -1, -1, 257, -1, -1, -1, -1, -1, 263,
2073 125, -1, -1, -1, 268, -1, -1, -1, -1, -1,
2074 -1, -1, -1, -1, -1, 257, 258, 259, 260, -1,
2075 -1, 263, 264, 265, 266, 267, 268, 269, 270, 271,
2076 272, -1, -1, -1, -1, -1, -1, -1, 302, 281,
2077 282, -1, 284, 285, 286, 287, 288, 289, 290, 291,
2078 292, 293, 294, 295, 296, 297, 298, 299, 300, 301,
2079 302, -1, -1, 305, 306, 307, 308, 309, 310, 311,
2080 312, 313, 314, 315, 316, 317, 318, -1, -1, -1,
2081 -1, -1, 324, 325, 326, 327, 328, 329, 330, 331,
2082 332, 333, 334, -1, -1, 337, 338, 339, 340, -1,
2083 -1, 343, 344, -1, 346, -1, -1, 349, 350, 351,
2084 352, 353, 354, 355, 356, 357, 358, 359, 360, 361,
2085 362, 363, -1, -1, -1, 367, 368, 369, 370, 371,
2086 372, 373, 257, 258, 259, 260, -1, -1, 263, 264,
2087 265, 266, 267, 268, 269, 270, 271, 272, -1, -1,
2088 -1, -1, -1, -1, -1, -1, 281, 282, -1, 284,
2089 285, 286, 287, 288, 289, 290, 291, 292, 293, 294,
2090 295, 296, 297, 298, 299, 300, 301, 302, -1, -1,
2091 305, 306, 307, 308, 309, 310, 311, 312, 313, 314,
2092 315, 316, 317, 318, 0, -1, -1, -1, -1, 324,
2093 325, 326, 327, 328, 329, 330, 331, 332, 333, 334,
2094 -1, -1, 337, 338, 339, 340, 0, -1, 343, 344,
2095 -1, 346, -1, -1, 349, 350, 351, 352, 353, 354,
2096 355, 356, 357, 358, 359, 360, 361, 362, 363, -1,
2097 -1, -1, 367, 368, 369, 370, 371, 372, 373, 33,
2098 -1, -1, -1, 59, -1, -1, 40, 41, -1, -1,
2099 44, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2100 -1, -1, -1, -1, -1, 59, 60, -1, 62, -1,
2101 -1, -1, -1, -1, -1, -1, -1, 93, -1, -1,
2102 96, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2103 -1, -1, -1, -1, -1, -1, -1, -1, -1, 93,
2104 -1, -1, 96, -1, -1, -1, -1, -1, -1, 125,
2105 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2106 -1, -1, -1, 0, -1, -1, -1, -1, -1, -1,
2107 -1, 125, -1, -1, -1, -1, -1, 0, -1, -1,
2108 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2109 -1, -1, -1, -1, -1, -1, 33, -1, -1, -1,
2110 -1, -1, -1, 40, 41, -1, 43, 44, 45, -1,
2111 -1, -1, -1, -1, -1, -1, -1, -1, 41, -1,
2112 -1, 44, 59, -1, -1, 62, -1, -1, -1, -1,
2113 -1, -1, -1, -1, -1, -1, 59, -1, -1, -1,
2114 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2115 -1, -1, -1, -1, -1, -1, 93, -1, -1, 96,
2116 -1, -1, -1, -1, -1, -1, 37, -1, -1, -1,
2117 93, 42, 43, -1, 45, -1, 47, -1, -1, -1,
2118 -1, 257, -1, -1, -1, -1, -1, 263, 125, 60,
2119 -1, 62, 268, -1, -1, -1, -1, -1, -1, -1,
2120 -1, -1, 125, 257, 258, 259, 260, -1, -1, 263,
2121 264, 265, 266, 267, 268, 269, 270, 271, 272, -1,
2122 -1, -1, -1, 94, -1, -1, 302, 281, 282, -1,
2123 284, 285, 286, 287, 288, 289, 290, 291, 292, 293,
2124 294, 295, 296, 297, 298, 299, 300, 301, 302, -1,
2125 -1, 305, 306, 307, 308, 309, 310, 311, 312, 313,
2126 314, 315, 316, 317, 318, -1, -1, -1, -1, -1,
2127 324, 325, 326, 327, 328, 329, 330, 331, 332, 333,
2128 334, -1, -1, 337, 338, 339, 340, -1, -1, 343,
2129 344, -1, 346, -1, -1, 349, 350, 351, 352, 353,
2130 354, 355, 356, 357, 358, 359, 360, 361, 362, 363,
2131 -1, -1, -1, 367, 368, 369, 370, 371, 372, 373,
2132 257, 258, 259, 260, -1, -1, 263, -1, 265, 266,
2133 267, 268, 269, 270, 271, 272, -1, -1, -1, -1,
2134 -1, 264, -1, -1, 281, 282, -1, 284, 285, 286,
2135 287, 288, 289, 290, 291, 292, 293, 294, 295, 296,
2136 297, 298, 299, 300, 301, -1, -1, -1, 291, 306,
2137 307, 308, 309, 310, 311, 312, 313, 314, 315, 316,
2138 317, 318, 319, 320, 321, 322, 323, 324, 325, 326,
2139 327, 328, 329, 330, 331, 332, 333, 334, -1, -1,
2140 337, 338, 339, 340, 0, -1, 343, 344, -1, -1,
2141 -1, -1, -1, -1, -1, -1, 287, -1, 355, 356,
2142 357, 358, 359, 360, 361, 362, 363, 350, -1, -1,
2143 367, 368, 369, 370, 371, 372, 373, 33, -1, -1,
2144 -1, -1, -1, -1, 40, 41, -1, -1, 44, -1,
2145 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2146 -1, -1, -1, 59, -1, -1, -1, -1, -1, -1,
2147 -1, -1, -1, -1, -1, -1, -1, -1, 349, 350,
2148 351, 352, 353, 354, -1, -1, -1, -1, -1, -1,
2149 -1, -1, -1, -1, -1, -1, -1, 93, -1, -1,
2150 96, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2151 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2152 -1, 0, -1, -1, -1, -1, -1, -1, -1, 125,
2153 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2154 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2155 -1, -1, -1, -1, 33, -1, -1, -1, -1, -1,
2156 -1, 40, 41, -1, -1, 44, -1, -1, -1, -1,
2157 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2158 59, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2159 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2160 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2161 -1, -1, -1, -1, 93, -1, -1, 96, -1, -1,
2162 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2163 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2164 -1, -1, -1, -1, -1, -1, 125, -1, -1, -1,
2165 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2166 -1, 257, 258, 259, 260, -1, -1, 263, 264, 265,
2167 266, 267, 268, 269, 270, 271, 272, -1, -1, -1,
2168 -1, -1, -1, -1, -1, 281, 282, -1, 284, 285,
2169 286, 287, 288, 289, 290, 291, 292, 293, 294, 295,
2170 296, 297, 298, 299, 300, 301, 302, -1, -1, 305,
2171 306, 307, 308, 309, 310, 311, 312, 313, 314, 315,
2172 316, 317, 318, -1, -1, -1, -1, -1, 324, 325,
2173 326, 327, 328, 329, 330, 331, 332, 333, 334, -1,
2174 -1, 337, 338, 339, 340, -1, -1, 343, 344, -1,
2175 346, -1, -1, 349, 350, 351, 352, -1, -1, 355,
2176 356, 357, 358, 359, 360, 361, 362, 363, -1, -1,
2177 -1, 367, 368, 369, 370, 371, 372, 373, 257, 258,
2178 259, 260, -1, -1, 263, 264, 265, 266, 267, 268,
2179 269, 270, 271, 272, -1, -1, -1, -1, -1, -1,
2180 -1, -1, 281, 282, -1, 284, 285, 286, 287, 288,
2181 289, 290, 291, 292, 293, 294, 295, 296, 297, 298,
2182 299, 300, 301, 302, -1, -1, 305, 306, 307, 308,
2183 309, 310, 311, 312, 313, 314, 315, 316, 317, 318,
2184 -1, -1, -1, -1, -1, 324, 325, 326, 327, 328,
2185 329, 330, 331, 332, 333, 334, -1, -1, 337, 338,
2186 339, 340, 0, -1, 343, 344, -1, 346, -1, -1,
2187 349, 350, 351, 352, -1, -1, 355, 356, 357, 358,
2188 359, 360, 361, 362, 363, -1, -1, -1, 367, 368,
2189 369, 370, 371, 372, 373, 33, -1, -1, -1, -1,
2190 -1, -1, 40, 41, -1, 43, 44, 45, -1, -1,
2191 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2192 -1, 59, -1, -1, 62, -1, -1, -1, -1, -1,
2193 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2194 -1, -1, -1, -1, -1, -1, -1, -1, -1, 0,
2195 -1, -1, -1, -1, -1, 93, -1, -1, 96, -1,
2196 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2197 -1, -1, -1, -1, -1, -1, -1, -1, -1, 0,
2198 -1, -1, -1, -1, -1, -1, -1, 125, -1, -1,
2199 41, -1, -1, 44, -1, -1, -1, -1, -1, -1,
2200 -1, -1, -1, -1, -1, -1, -1, -1, 59, -1,
2201 -1, -1, 33, -1, -1, -1, -1, -1, -1, 40,
2202 41, -1, -1, 44, -1, -1, -1, -1, -1, -1,
2203 -1, -1, -1, -1, -1, -1, -1, -1, 59, -1,
2204 -1, -1, 93, -1, -1, -1, -1, -1, -1, -1,
2205 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2206 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2207 -1, -1, 93, -1, 125, 96, -1, -1, -1, -1,
2208 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2209 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2210 -1, -1, -1, -1, 125, -1, -1, -1, -1, -1,
2211 -1, -1, -1, -1, -1, -1, -1, -1, -1, 257,
2212 258, 259, 260, -1, -1, 263, -1, 265, 266, 267,
2213 268, 269, 270, 271, 272, -1, -1, -1, -1, -1,
2214 -1, -1, -1, 281, 282, -1, 284, 285, 286, 287,
2215 288, 289, 290, 291, 292, 293, 294, 295, 296, 297,
2216 298, 299, 300, 301, -1, -1, -1, -1, 306, 307,
2217 308, 309, 310, 311, 312, 313, 314, 315, 316, 317,
2218 318, 319, 320, 321, 322, 323, 324, 325, 326, 327,
2219 328, 329, 330, 331, 332, 333, 334, -1, -1, 337,
2220 338, 339, 340, -1, -1, 343, 344, -1, -1, -1,
2221 -1, -1, -1, 264, -1, -1, -1, 355, 356, 357,
2222 358, 359, 360, 361, 362, 363, -1, -1, -1, 367,
2223 368, 369, 370, 371, 372, 373, 257, 258, 259, 260,
2224 291, -1, 263, 264, 265, 266, 267, 268, 269, 270,
2225 271, 272, -1, -1, -1, -1, -1, -1, -1, -1,
2226 281, 282, -1, 284, 285, 286, 287, 288, 289, 290,
2227 291, 292, 293, 294, 295, 296, 297, 298, 299, 300,
2228 301, 302, -1, -1, 305, 306, 307, 308, 309, 310,
2229 311, 312, 313, 314, 315, 316, 317, 318, -1, 350,
2230 -1, -1, -1, 324, 325, 326, 327, 328, 329, 330,
2231 331, 332, 333, 334, -1, -1, 337, 338, 339, 340,
2232 0, -1, 343, 344, -1, 346, -1, -1, 349, 350,
2233 -1, -1, -1, -1, 355, 356, 357, 358, 359, 360,
2234 361, 362, 363, -1, -1, -1, 367, 368, 369, 370,
2235 371, 372, 373, 33, -1, -1, -1, -1, -1, -1,
2236 40, 41, -1, -1, 44, -1, -1, -1, -1, -1,
2237 -1, -1, -1, -1, -1, -1, -1, -1, -1, 59,
2238 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2239 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2240 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2241 0, -1, -1, 93, -1, -1, 96, -1, -1, -1,
2242 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2243 -1, -1, -1, -1, -1, -1, -1, 0, -1, -1,
2244 -1, -1, -1, -1, -1, 125, -1, -1, -1, -1,
2245 -1, 41, -1, -1, 44, -1, -1, -1, -1, -1,
2246 -1, -1, -1, -1, -1, -1, -1, -1, -1, 59,
2247 33, -1, -1, -1, -1, -1, -1, 40, 41, -1,
2248 43, 44, 45, -1, -1, -1, -1, -1, -1, -1,
2249 -1, -1, -1, -1, -1, -1, 59, -1, -1, 62,
2250 -1, -1, -1, 93, -1, -1, -1, -1, -1, -1,
2251 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2252 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2253 93, -1, -1, 96, -1, 125, -1, -1, -1, -1,
2254 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2255 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2256 -1, -1, 125, -1, -1, -1, -1, -1, -1, -1,
2257 -1, -1, -1, -1, -1, -1, -1, 257, 258, 259,
2258 260, -1, -1, 263, 264, 265, 266, 267, 268, 269,
2259 270, 271, 272, -1, -1, -1, -1, -1, -1, -1,
2260 -1, 281, 282, -1, 284, 285, 286, 287, 288, 289,
2261 290, 291, 292, 293, 294, 295, 296, 297, 298, 299,
2262 300, 301, 302, -1, -1, 305, 306, 307, 308, 309,
2263 310, 311, 312, 313, 314, 315, 316, 317, 318, -1,
2264 -1, -1, -1, -1, 324, 325, 326, 327, 328, 329,
2265 330, 331, 332, 333, 334, -1, -1, 337, 338, 339,
2266 340, -1, -1, 343, 344, -1, 346, -1, -1, -1,
2267 350, -1, -1, -1, 264, 355, 356, 357, 358, 359,
2268 360, 361, 362, 363, -1, -1, -1, 367, 368, 369,
2269 370, 371, 372, 373, 257, 258, 259, 260, -1, -1,
2270 263, 291, 265, 266, 267, 268, 269, 270, 271, 272,
2271 -1, -1, 302, -1, -1, 305, -1, -1, 281, 282,
2272 -1, 284, 285, 286, 287, 288, 289, 290, 291, 292,
2273 293, 294, 295, 296, 297, 298, 299, 300, 301, -1,
2274 -1, -1, -1, 306, 307, 308, 309, 310, 311, 312,
2275 313, 314, 315, 316, 317, 318, -1, -1, -1, -1,
2276 350, 324, 325, 326, 327, 328, 329, 330, 331, 332,
2277 333, 334, -1, -1, 337, 338, 339, 340, 0, -1,
2278 343, 344, -1, -1, -1, -1, -1, -1, -1, -1,
2279 -1, -1, 355, 356, 357, 358, 359, 360, 361, 362,
2280 363, -1, -1, -1, 367, 368, 369, 370, 371, 372,
2281 373, 33, -1, -1, -1, -1, -1, -1, 40, 41,
2282 -1, -1, 44, -1, -1, -1, -1, -1, -1, -1,
2283 -1, -1, -1, -1, -1, -1, -1, 59, -1, -1,
2284 62, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2285 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2286 -1, -1, -1, -1, -1, 0, -1, -1, -1, -1,
2287 -1, 93, -1, -1, 96, -1, -1, -1, -1, -1,
2288 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2289 -1, -1, -1, -1, -1, 0, -1, -1, -1, -1,
2290 -1, -1, -1, 125, -1, -1, 41, -1, -1, 44,
2291 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2292 -1, -1, -1, -1, 59, -1, -1, -1, 33, -1,
2293 -1, -1, -1, -1, -1, 40, 41, -1, -1, 44,
2294 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2295 -1, -1, -1, -1, 59, -1, -1, -1, 93, -1,
2296 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2297 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2298 -1, -1, -1, -1, -1, -1, -1, -1, 93, -1,
2299 125, 96, -1, -1, -1, -1, -1, -1, -1, -1,
2300 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2301 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2302 125, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2303 -1, -1, -1, -1, -1, 257, 258, 259, 260, -1,
2304 -1, 263, -1, 265, 266, 267, 268, 269, 270, 271,
2305 272, -1, -1, -1, -1, -1, -1, -1, -1, 281,
2306 282, -1, 284, 285, 286, 287, 288, 289, 290, 291,
2307 292, 293, 294, 295, 296, 297, 298, 299, 300, 301,
2308 -1, -1, -1, -1, 306, 307, 308, 309, 310, 311,
2309 312, 313, 314, 315, 316, 317, 318, -1, -1, -1,
2310 -1, -1, 324, 325, 326, 327, 328, 329, 330, 331,
2311 332, 333, 334, -1, -1, 337, 338, 339, 340, -1,
2312 -1, 343, 344, -1, -1, -1, -1, 91, -1, 264,
2313 -1, -1, -1, 355, 356, 357, 358, 359, 360, 361,
2314 362, 363, -1, -1, -1, 367, 368, 369, 370, 371,
2315 372, 373, 257, 258, 259, 260, 291, -1, 263, 123,
2316 265, 266, 267, 268, 269, 270, 271, 272, -1, -1,
2317 -1, -1, -1, -1, -1, -1, 281, 282, -1, 284,
2318 285, 286, 287, 288, 289, 290, 291, 292, 293, 294,
2319 295, 296, 297, 298, 299, 300, 301, -1, -1, -1,
2320 -1, 306, 307, 308, 309, 310, 311, 312, 313, 314,
2321 315, 316, 317, 318, -1, 350, -1, -1, -1, 324,
2322 325, 326, 327, 328, 329, 330, 331, 332, 333, 334,
2323 -1, -1, 337, 338, 339, 340, 0, -1, 343, 344,
2324 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2325 355, 356, 357, 358, 359, 360, 361, 362, 363, -1,
2326 -1, -1, 367, 368, 369, 370, 371, 372, 373, 33,
2327 -1, -1, -1, -1, -1, -1, 40, -1, -1, -1,
2328 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2329 -1, -1, -1, 257, 258, 59, 260, 261, -1, -1,
2330 -1, -1, -1, -1, -1, 269, 270, 271, 272, 273,
2331 274, 275, 276, 277, 278, 279, 280, -1, -1, 283,
2332 -1, -1, -1, -1, -1, -1, -1, -1, -1, 93,
2333 -1, -1, 96, -1, -1, -1, -1, -1, -1, -1,
2334 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2335 -1, -1, -1, 0, -1, -1, -1, -1, -1, -1,
2336 -1, 125, -1, -1, -1, -1, -1, -1, -1, -1,
2337 -1, 335, -1, -1, -1, -1, -1, 341, 342, -1,
2338 -1, 345, -1, 347, -1, -1, 33, -1, -1, -1,
2339 -1, -1, -1, 40, -1, -1, -1, -1, -1, -1,
2340 364, -1, 366, -1, -1, -1, -1, -1, -1, 373,
2341 374, -1, 59, -1, -1, -1, -1, -1, -1, -1,
2342 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2343 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2344 -1, -1, -1, -1, -1, -1, 93, -1, -1, 96,
2345 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2346 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2347 -1, -1, -1, -1, -1, -1, -1, -1, 125, -1,
2348 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2349 -1, -1, -1, 257, 258, 259, 260, -1, -1, 263,
2350 -1, 265, 266, 267, 268, 269, 270, 271, 272, -1,
2351 -1, -1, -1, -1, -1, -1, -1, 281, 282, -1,
2352 284, 285, 286, 287, 288, 289, 290, 291, 292, 293,
2353 294, 295, 296, 297, 298, 299, 300, 301, -1, -1,
2354 -1, -1, -1, 307, 308, 309, 310, 311, 312, 313,
2355 314, 315, 316, 317, 318, -1, -1, -1, -1, -1,
2356 324, 325, 326, 327, 328, 329, 330, 331, 332, 333,
2357 334, -1, -1, 337, 338, 339, 340, -1, -1, 343,
2358 344, -1, 91, -1, -1, -1, -1, -1, -1, -1,
2359 -1, 355, 356, 357, 358, 359, 360, 361, 362, 363,
2360 -1, -1, -1, 367, 368, 369, 370, 371, 372, 373,
2361 257, 258, 259, 260, 123, -1, 263, -1, 265, 266,
2362 267, 268, 269, 270, 271, 272, -1, -1, -1, -1,
2363 -1, -1, -1, -1, 281, 282, -1, 284, 285, 286,
2364 287, 288, 289, 290, 291, 292, 293, 294, 295, 296,
2365 297, 298, 299, 300, 301, -1, -1, -1, -1, -1,
2366 307, 308, 309, 310, 311, 312, 313, 314, 315, 316,
2367 317, 318, -1, -1, -1, -1, -1, 324, 325, 326,
2368 327, 328, 329, 330, 331, 332, 333, 334, -1, -1,
2369 337, 338, 339, 340, 0, -1, 343, 344, -1, -1,
2370 -1, -1, -1, -1, -1, -1, -1, -1, 355, 356,
2371 357, 358, 359, 360, 361, 362, 363, -1, -1, -1,
2372 367, 368, 369, 370, 371, 372, 373, 33, -1, -1,
2373 -1, -1, -1, -1, 40, -1, -1, -1, -1, -1,
2374 -1, -1, -1, -1, -1, -1, -1, -1, 257, 258,
2375 -1, 260, 261, 59, -1, -1, -1, -1, -1, -1,
2376 269, 270, 271, 272, 273, 274, 275, 276, 277, 278,
2377 279, 280, -1, -1, 283, -1, -1, -1, -1, -1,
2378 -1, -1, -1, -1, -1, -1, -1, 93, -1, -1,
2379 96, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2380 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2381 -1, 0, -1, -1, -1, -1, -1, -1, -1, 125,
2382 -1, -1, -1, -1, -1, -1, 335, -1, -1, -1,
2383 -1, -1, 341, 342, -1, -1, 345, -1, 347, -1,
2384 -1, -1, -1, -1, 33, -1, -1, -1, -1, -1,
2385 -1, 40, -1, -1, -1, 364, -1, 366, -1, -1,
2386 -1, -1, -1, -1, 373, 374, -1, -1, -1, -1,
2387 59, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2388 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2389 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2390 -1, -1, -1, -1, 93, -1, -1, 96, -1, -1,
2391 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2392 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2393 -1, -1, -1, -1, -1, -1, 125, -1, -1, -1,
2394 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2395 -1, 257, 258, 259, 260, -1, -1, 263, -1, 265,
2396 266, 267, 268, 269, 270, 271, 272, -1, -1, -1,
2397 -1, -1, -1, -1, -1, 281, 282, -1, 284, 285,
2398 286, 287, 288, 289, 290, 291, 292, 293, 294, 295,
2399 296, 297, 298, 299, 300, 301, -1, -1, -1, -1,
2400 -1, 307, 308, 309, 310, 311, 312, 313, 314, 315,
2401 316, 317, 318, -1, -1, -1, -1, -1, 324, 325,
2402 326, 327, 328, 329, 330, 331, 332, 333, 334, -1,
2403 -1, 337, 338, 339, 340, -1, -1, 343, 344, -1,
2404 -1, -1, -1, -1, -1, -1, -1, -1, -1, 355,
2405 356, 357, 358, 359, 360, 361, 362, 363, -1, -1,
2406 -1, 367, 368, 369, 370, 371, 372, 373, 257, 258,
2407 259, 260, -1, -1, 263, -1, 265, 266, 267, 268,
2408 269, 270, 271, 272, -1, -1, -1, -1, -1, -1,
2409 -1, -1, 281, 282, -1, 284, 285, 286, 287, 288,
2410 289, 290, 291, 292, 293, 294, 295, 296, 297, 298,
2411 299, 300, 301, -1, -1, -1, -1, -1, 307, 308,
2412 309, 310, 311, 312, 313, 314, 315, 316, 317, 318,
2413 -1, -1, -1, -1, -1, 324, 325, 326, 327, 328,
2414 329, 330, 331, 332, 333, 334, -1, -1, 337, 338,
2415 339, 340, 0, -1, 343, 344, -1, -1, -1, -1,
2416 -1, -1, -1, -1, -1, -1, 355, 356, 357, 358,
2417 359, 360, 361, 362, 363, -1, -1, -1, 367, 368,
2418 369, 370, 371, 372, 373, 33, -1, -1, -1, -1,
2419 -1, -1, 40, -1, -1, -1, -1, -1, -1, -1,
2420 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2421 -1, 59, -1, -1, -1, -1, -1, -1, -1, -1,
2422 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2423 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2424 -1, -1, -1, -1, -1, 93, -1, -1, 96, -1,
2425 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2426 -1, -1, -1, -1, -1, -1, -1, -1, -1, 0,
2427 -1, -1, -1, -1, -1, -1, -1, 125, -1, -1,
2428 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2429 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2430 -1, -1, 33, -1, -1, -1, -1, -1, -1, 40,
2431 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2432 -1, -1, -1, -1, -1, -1, -1, -1, 59, -1,
2433 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2434 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2435 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2436 -1, -1, 93, -1, -1, 96, -1, -1, -1, -1,
2437 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2438 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2439 -1, -1, -1, -1, 125, -1, -1, -1, -1, -1,
2440 -1, -1, -1, -1, -1, -1, -1, -1, -1, 257,
2441 258, 259, 260, -1, -1, 263, -1, 265, 266, 267,
2442 268, 269, 270, 271, 272, -1, -1, -1, -1, -1,
2443 -1, -1, -1, 281, 282, -1, 284, 285, 286, 287,
2444 288, 289, 290, 291, 292, 293, 294, 295, 296, 297,
2445 298, 299, 300, 301, -1, -1, -1, -1, -1, 307,
2446 308, 309, 310, 311, 312, 313, 314, 315, 316, 317,
2447 318, -1, -1, -1, -1, -1, 324, 325, 326, 327,
2448 328, 329, 330, 331, 332, 333, 334, -1, -1, 337,
2449 338, 339, 340, -1, -1, 343, 344, -1, -1, -1,
2450 -1, -1, -1, -1, -1, -1, -1, 355, 356, 357,
2451 358, 359, 360, 361, 362, 363, -1, -1, -1, 367,
2452 368, 369, 370, 371, 372, 373, 257, 258, 259, 260,
2453 -1, -1, 263, -1, 265, 266, 267, 268, 269, 270,
2454 271, 272, -1, -1, -1, -1, -1, -1, -1, -1,
2455 281, 282, -1, 284, 285, 286, 287, 288, 289, 290,
2456 291, 292, 293, 294, 295, 296, 297, 298, 299, 300,
2457 301, -1, -1, -1, -1, -1, 307, 308, 309, 310,
2458 311, 312, 313, 314, 315, 316, 317, 318, -1, -1,
2459 -1, -1, -1, 324, 325, 326, 327, 328, 329, 330,
2460 331, 332, 333, 334, -1, -1, 337, 338, 339, 340,
2461 0, -1, 343, 344, -1, -1, -1, -1, -1, -1,
2462 -1, -1, -1, -1, 355, 356, 357, 358, 359, 360,
2463 361, 362, 363, -1, -1, -1, 367, 368, 369, 370,
2464 371, 372, 373, 33, -1, -1, -1, -1, -1, -1,
2465 40, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2466 -1, -1, -1, -1, -1, -1, -1, -1, -1, 59,
2467 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2468 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2469 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2470 -1, -1, -1, 93, -1, -1, 96, -1, -1, -1,
2471 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2472 -1, -1, -1, -1, -1, -1, -1, 0, -1, -1,
2473 -1, -1, -1, -1, -1, 125, -1, -1, -1, -1,
2474 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2475 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2476 33, -1, -1, -1, -1, -1, -1, 40, -1, -1,
2477 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2478 -1, -1, -1, -1, -1, -1, 59, -1, -1, -1,
2479 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2480 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2481 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2482 93, -1, -1, 96, -1, -1, -1, -1, -1, -1,
2483 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2484 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2485 -1, -1, 125, -1, -1, -1, -1, -1, -1, -1,
2486 -1, -1, -1, -1, -1, -1, -1, 257, 258, 259,
2487 260, -1, -1, 263, -1, 265, 266, 267, 268, 269,
2488 270, 271, 272, -1, -1, -1, -1, -1, -1, -1,
2489 -1, 281, 282, -1, 284, 285, 286, 287, 288, 289,
2490 290, 291, 292, 293, 294, 295, 296, 297, 298, 299,
2491 300, 301, -1, -1, -1, -1, -1, 307, 308, 309,
2492 310, 311, 312, 313, 314, 315, 316, 317, 318, -1,
2493 -1, -1, -1, -1, 324, 325, 326, 327, 328, 329,
2494 330, 331, 332, 333, 334, -1, -1, 337, 338, 339,
2495 340, -1, -1, 343, 344, -1, -1, -1, -1, -1,
2496 -1, -1, -1, -1, -1, 355, 356, 357, 358, 359,
2497 360, 361, 362, 363, -1, -1, -1, 367, 368, 369,
2498 370, 371, 372, 373, 257, 258, 259, 260, -1, -1,
2499 263, -1, 265, 266, 267, 268, 269, 270, 271, 272,
2500 -1, -1, -1, -1, -1, -1, -1, -1, 281, 282,
2501 -1, 284, 285, 286, 287, 288, 289, 290, 291, 292,
2502 293, 294, 295, 296, 297, 298, 299, 300, 301, -1,
2503 -1, -1, -1, -1, 307, 308, 309, 310, 311, 312,
2504 313, 314, 315, 316, 317, 318, -1, -1, -1, -1,
2505 -1, 324, 325, 326, 327, 328, 329, 330, 331, 332,
2506 333, 334, -1, -1, 337, 338, 339, 340, 0, -1,
2507 343, 344, -1, -1, -1, -1, -1, -1, -1, -1,
2508 -1, -1, 355, 356, 357, 358, 359, 360, 361, 362,
2509 363, -1, -1, -1, 367, 368, 369, 370, 371, 372,
2510 373, 33, -1, -1, -1, -1, -1, -1, 40, -1,
2511 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2512 -1, -1, -1, -1, -1, -1, -1, 59, -1, -1,
2513 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2514 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2515 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2516 -1, 93, -1, -1, 96, -1, -1, -1, -1, -1,
2517 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2518 -1, -1, -1, -1, -1, 0, -1, -1, -1, -1,
2519 -1, -1, -1, 125, -1, -1, -1, -1, -1, -1,
2520 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2521 -1, -1, -1, -1, -1, -1, -1, -1, 33, -1,
2522 -1, -1, -1, -1, -1, 40, -1, -1, -1, -1,
2523 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2524 -1, -1, -1, -1, 59, -1, -1, -1, -1, -1,
2525 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2526 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2527 -1, -1, -1, -1, -1, -1, -1, -1, 93, -1,
2528 -1, 96, -1, -1, -1, -1, -1, -1, -1, -1,
2529 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2530 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2531 125, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2532 -1, -1, -1, -1, -1, 257, 258, 259, 260, -1,
2533 -1, 263, -1, 265, 266, 267, 268, 269, 270, 271,
2534 272, -1, -1, -1, -1, -1, -1, -1, -1, 281,
2535 282, -1, 284, 285, 286, 287, 288, 289, 290, 291,
2536 292, 293, 294, 295, 296, 297, 298, 299, 300, 301,
2537 -1, -1, -1, -1, -1, 307, 308, 309, 310, 311,
2538 312, 313, 314, 315, 316, 317, 318, -1, -1, -1,
2539 -1, -1, 324, 325, 326, 327, 328, 329, 330, 331,
2540 332, 333, 334, -1, -1, 337, 338, 339, 340, -1,
2541 -1, 343, 344, -1, -1, -1, -1, -1, -1, -1,
2542 -1, -1, -1, 355, 356, 357, 358, 359, 360, 361,
2543 362, 363, -1, -1, -1, 367, 368, 369, 370, 371,
2544 372, 373, 257, 258, 259, 260, -1, -1, 263, -1,
2545 265, 266, 267, 268, 269, 270, 271, 272, -1, -1,
2546 -1, -1, -1, -1, -1, -1, 281, 282, -1, 284,
2547 285, 286, 287, 288, 289, 290, 291, 292, 293, 294,
2548 295, 296, 297, 298, 299, 300, 301, -1, -1, -1,
2549 -1, -1, 307, 308, 309, 310, 311, 312, 313, 314,
2550 315, 316, 317, 318, -1, -1, -1, -1, -1, 324,
2551 325, 326, 327, 328, 329, 330, 331, 332, 333, 334,
2552 -1, -1, 337, 338, 339, 340, 0, -1, 343, 344,
2553 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2554 355, 356, 357, 358, 359, 360, 361, 362, 363, -1,
2555 -1, -1, 367, 368, 369, 370, 371, 372, 373, 33,
2556 -1, -1, -1, -1, -1, -1, 40, -1, -1, -1,
2557 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2558 -1, -1, -1, -1, -1, 59, -1, -1, -1, -1,
2559 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2560 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2561 -1, -1, -1, -1, -1, -1, -1, -1, -1, 93,
2562 -1, -1, 96, -1, -1, -1, -1, -1, -1, -1,
2563 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2564 -1, -1, -1, 0, -1, -1, -1, -1, -1, -1,
2565 -1, 125, -1, -1, -1, -1, -1, -1, -1, -1,
2566 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2567 -1, -1, -1, -1, -1, -1, 33, -1, -1, -1,
2568 -1, -1, -1, 40, -1, -1, -1, -1, -1, -1,
2569 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2570 -1, -1, 59, -1, -1, -1, -1, -1, -1, -1,
2571 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2572 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2573 -1, -1, -1, -1, -1, -1, 93, -1, -1, 96,
2574 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2575 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2576 -1, -1, -1, -1, -1, -1, -1, -1, 125, -1,
2577 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2578 -1, -1, -1, 257, 258, 259, 260, -1, -1, 263,
2579 -1, 265, 266, 267, 268, 269, 270, 271, 272, -1,
2580 -1, -1, -1, -1, -1, -1, -1, 281, 282, -1,
2581 284, 285, 286, 287, 288, 289, 290, 291, 292, 293,
2582 294, 295, 296, 297, 298, 299, 300, 301, -1, -1,
2583 -1, -1, -1, 307, 308, 309, 310, 311, 312, 313,
2584 314, 315, 316, 317, 318, -1, -1, -1, -1, -1,
2585 324, 325, 326, 327, 328, 329, 330, 331, 332, 333,
2586 334, -1, -1, 337, 338, 339, 340, -1, -1, 343,
2587 344, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2588 -1, 355, 356, 357, 358, 359, 360, 361, 362, 363,
2589 -1, -1, -1, 367, 368, 369, 370, 371, 372, 373,
2590 257, 258, 259, 260, -1, -1, 263, -1, 265, 266,
2591 267, 268, 269, 270, 271, 272, -1, -1, -1, -1,
2592 -1, -1, -1, -1, 281, 282, -1, 284, 285, 286,
2593 287, 288, 289, 290, 291, 292, 293, 294, 295, 296,
2594 297, 298, 299, 300, 301, -1, -1, -1, -1, -1,
2595 307, 308, 309, 310, 311, 312, 313, 314, 315, 316,
2596 317, 318, -1, -1, -1, -1, -1, 324, 325, 326,
2597 327, 328, 329, 330, 331, 332, 333, 334, -1, -1,
2598 337, 338, 339, 340, 0, -1, 343, 344, -1, -1,
2599 -1, -1, -1, -1, -1, -1, -1, -1, 355, 356,
2600 357, 358, 359, 360, 361, 362, 363, -1, -1, -1,
2601 367, 368, 369, 370, 371, 372, 373, 33, -1, -1,
2602 -1, -1, -1, -1, 40, -1, -1, -1, -1, -1,
2603 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2604 -1, -1, -1, 59, -1, -1, -1, -1, -1, -1,
2605 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2606 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2607 -1, -1, -1, -1, -1, -1, -1, 93, -1, -1,
2608 96, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2609 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2610 -1, 0, -1, -1, -1, -1, -1, -1, -1, 125,
2611 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2612 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2613 -1, -1, -1, -1, 33, -1, -1, -1, -1, -1,
2614 -1, 40, -1, -1, -1, -1, -1, -1, -1, -1,
2615 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2616 59, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2617 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2618 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2619 -1, -1, -1, -1, 93, -1, -1, 96, -1, -1,
2620 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2621 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2622 -1, -1, -1, -1, -1, -1, 125, -1, -1, -1,
2623 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2624 -1, 257, 258, 259, 260, -1, -1, 263, -1, 265,
2625 266, 267, 268, 269, 270, 271, 272, -1, -1, -1,
2626 -1, -1, -1, -1, -1, 281, 282, -1, 284, 285,
2627 286, 287, 288, 289, 290, 291, 292, 293, 294, 295,
2628 296, 297, 298, 299, 300, 301, -1, -1, -1, -1,
2629 -1, 307, 308, 309, 310, 311, 312, 313, 314, 315,
2630 316, 317, 318, -1, -1, -1, -1, -1, 324, 325,
2631 326, 327, 328, 329, 330, 331, 332, 333, 334, -1,
2632 -1, 337, 338, 339, 340, -1, -1, 343, 344, -1,
2633 -1, -1, -1, -1, -1, -1, -1, -1, -1, 355,
2634 356, 357, 358, 359, 360, 361, 362, 363, -1, -1,
2635 -1, 367, 368, 369, 370, 371, 372, 373, 257, 258,
2636 259, 260, -1, -1, 263, -1, 265, 266, 267, 268,
2637 269, 270, 271, 272, -1, -1, -1, -1, -1, -1,
2638 -1, -1, 281, 282, -1, 284, 285, 286, 287, 288,
2639 289, 290, 291, 292, 293, 294, 295, 296, 297, 298,
2640 299, 300, 301, -1, -1, -1, -1, -1, 307, 308,
2641 309, 310, 311, 312, 313, 314, 315, 316, 317, 318,
2642 -1, -1, -1, -1, -1, 324, 325, 326, 327, 328,
2643 329, 330, 331, 332, 333, 334, -1, -1, 337, 338,
2644 339, 340, 0, -1, 343, 344, -1, -1, -1, -1,
2645 -1, -1, -1, -1, -1, -1, 355, 356, 357, 358,
2646 359, 360, 361, 362, 363, -1, -1, -1, 367, 368,
2647 369, 370, 371, 372, 373, 33, -1, -1, -1, -1,
2648 -1, -1, 40, -1, -1, -1, -1, -1, -1, -1,
2649 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2650 -1, 59, -1, -1, -1, -1, -1, -1, -1, -1,
2651 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2652 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2653 -1, -1, -1, -1, -1, 93, -1, -1, 96, -1,
2654 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2655 -1, -1, -1, -1, -1, -1, -1, -1, -1, 0,
2656 -1, -1, -1, -1, -1, -1, -1, 125, -1, -1,
2657 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2658 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2659 -1, -1, 33, -1, -1, -1, -1, -1, -1, 40,
2660 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2661 -1, -1, -1, -1, -1, -1, -1, -1, 59, -1,
2662 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2663 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2664 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2665 -1, -1, 93, -1, -1, 96, -1, -1, -1, -1,
2666 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2667 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2668 -1, -1, -1, -1, 125, -1, -1, -1, -1, -1,
2669 -1, -1, -1, -1, -1, -1, -1, -1, -1, 257,
2670 258, 259, 260, -1, -1, 263, -1, 265, 266, 267,
2671 268, 269, 270, 271, 272, -1, -1, -1, -1, -1,
2672 -1, -1, -1, 281, 282, -1, 284, 285, 286, 287,
2673 288, 289, 290, 291, 292, 293, 294, 295, 296, 297,
2674 298, 299, 300, 301, -1, -1, -1, -1, -1, 307,
2675 308, 309, 310, 311, 312, 313, 314, 315, 316, 317,
2676 318, -1, -1, -1, -1, -1, 324, 325, 326, 327,
2677 328, 329, 330, 331, 332, 333, 334, -1, -1, 337,
2678 338, 339, 340, -1, -1, 343, 344, -1, -1, -1,
2679 -1, -1, -1, -1, -1, -1, -1, 355, 356, 357,
2680 358, 359, 360, 361, 362, 363, -1, -1, -1, 367,
2681 368, 369, 370, 371, 372, 373, 257, 258, 259, 260,
2682 -1, -1, 263, -1, 265, 266, 267, 268, 269, 270,
2683 271, 272, -1, -1, -1, -1, -1, -1, -1, -1,
2684 281, 282, -1, 284, 285, 286, 287, 288, 289, 290,
2685 291, 292, 293, 294, 295, 296, 297, 298, 299, 300,
2686 301, -1, -1, -1, -1, -1, 307, 308, 309, 310,
2687 311, 312, 313, 314, 315, 316, 317, 318, -1, -1,
2688 -1, -1, -1, 324, 325, 326, 327, 328, 329, 330,
2689 331, 332, 333, 334, -1, -1, 337, 338, 339, 340,
2690 0, -1, 343, 344, -1, -1, -1, -1, -1, -1,
2691 -1, -1, -1, -1, 355, 356, 357, 358, 359, 360,
2692 361, 362, 363, -1, -1, -1, 367, 368, 369, 370,
2693 371, 372, 373, 33, -1, -1, -1, -1, -1, -1,
2694 40, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2695 -1, -1, -1, -1, -1, -1, -1, -1, -1, 59,
2696 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2697 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2698 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2699 -1, -1, -1, 93, -1, -1, 96, -1, -1, -1,
2700 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2701 -1, -1, -1, -1, -1, -1, -1, 0, -1, -1,
2702 -1, -1, -1, -1, -1, 125, -1, -1, -1, -1,
2703 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2704 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2705 33, -1, -1, -1, -1, -1, -1, 40, -1, -1,
2706 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2707 -1, -1, -1, -1, -1, -1, 59, -1, -1, -1,
2708 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2709 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2710 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2711 93, -1, -1, 96, -1, -1, -1, -1, -1, -1,
2712 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2713 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2714 -1, -1, 125, -1, -1, -1, -1, -1, -1, -1,
2715 -1, -1, -1, -1, -1, -1, -1, 257, 258, 259,
2716 260, -1, -1, 263, -1, 265, 266, 267, 268, 269,
2717 270, 271, 272, -1, -1, -1, -1, -1, -1, -1,
2718 -1, 281, 282, -1, 284, 285, 286, 287, 288, 289,
2719 290, 291, 292, 293, 294, 295, 296, 297, 298, 299,
2720 300, 301, -1, -1, -1, -1, -1, 307, 308, 309,
2721 310, 311, 312, 313, 314, 315, 316, 317, 318, -1,
2722 -1, -1, -1, -1, 324, 325, 326, 327, 328, 329,
2723 330, 331, 332, 333, 334, -1, -1, 337, 338, 339,
2724 340, -1, -1, 343, 344, -1, -1, -1, -1, -1,
2725 -1, -1, -1, -1, -1, 355, 356, 357, 358, 359,
2726 360, 361, 362, 363, -1, -1, -1, 367, 368, 369,
2727 370, 371, 372, 373, 257, 258, 259, 260, -1, -1,
2728 263, -1, 265, 266, 267, 268, 269, 270, 271, 272,
2729 -1, -1, -1, -1, -1, -1, -1, -1, 281, 282,
2730 -1, 284, 285, 286, 287, 288, 289, 290, 291, 292,
2731 293, 294, 295, 296, 297, 298, 299, 300, 301, -1,
2732 -1, -1, -1, -1, 307, 308, 309, 310, 311, 312,
2733 313, 314, 315, 316, 317, 318, -1, -1, -1, -1,
2734 -1, 324, 325, 326, 327, 328, 329, 330, 331, 332,
2735 333, 334, -1, -1, 337, 338, 339, 340, 0, -1,
2736 343, 344, -1, -1, -1, -1, -1, -1, -1, -1,
2737 -1, -1, 355, 356, 357, 358, 359, 360, 361, 362,
2738 363, -1, -1, -1, 367, 368, 369, 370, 371, 372,
2739 373, 33, -1, -1, -1, -1, -1, -1, 40, -1,
2740 -1, -1, 44, 45, -1, -1, -1, -1, -1, -1,
2741 -1, -1, -1, -1, -1, -1, -1, 59, -1, -1,
2742 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2743 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2744 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2745 -1, 93, -1, -1, -1, -1, -1, -1, -1, -1,
2746 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2747 -1, -1, -1, -1, -1, 0, -1, -1, -1, -1,
2748 -1, -1, -1, 125, -1, -1, -1, -1, -1, -1,
2749 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2750 -1, -1, -1, -1, -1, -1, -1, -1, 33, -1,
2751 -1, -1, -1, -1, -1, 40, 41, -1, 43, 44,
2752 45, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2753 -1, -1, -1, -1, 59, -1, -1, 62, -1, -1,
2754 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2755 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2756 -1, -1, -1, -1, -1, -1, -1, -1, 93, -1,
2757 -1, 96, -1, -1, -1, -1, -1, -1, -1, -1,
2758 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2759 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2760 125, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2761 -1, -1, -1, -1, -1, -1, 258, 259, 260, -1,
2762 -1, -1, -1, 265, 266, 267, -1, 269, 270, 271,
2763 272, -1, -1, -1, -1, -1, -1, -1, -1, 281,
2764 282, -1, 284, 285, 286, 287, 288, 289, 290, 291,
2765 292, 293, 294, 295, 296, 297, 298, 299, 300, 301,
2766 -1, -1, -1, -1, -1, 307, 308, 309, 310, 311,
2767 312, 313, 314, 315, 316, 317, 318, -1, -1, -1,
2768 -1, -1, 324, 325, 326, 327, 328, 329, 330, 331,
2769 332, 333, 334, -1, -1, 337, 338, 339, 340, -1,
2770 -1, 343, 344, -1, -1, -1, -1, -1, -1, -1,
2771 -1, -1, -1, 355, 356, 357, 358, 359, 360, 361,
2772 362, 363, -1, -1, -1, 367, 368, 369, 370, 371,
2773 372, 373, 257, 258, 259, 260, -1, -1, 263, -1,
2774 265, 266, 267, 268, 269, 270, 271, 272, -1, -1,
2775 -1, -1, -1, -1, -1, -1, 281, 282, -1, 284,
2776 285, 286, 287, 288, 289, 290, 291, 292, 293, 294,
2777 295, 296, 297, 298, 299, 300, 301, 0, -1, -1,
2778 -1, 306, 307, -1, -1, -1, -1, -1, -1, -1,
2779 -1, -1, -1, -1, 319, 320, 321, 322, 323, 324,
2780 325, 326, 327, 328, 329, 330, 331, 332, 333, 334,
2781 33, -1, -1, -1, -1, -1, -1, 40, 343, 344,
2782 43, -1, 45, 46, -1, -1, -1, -1, -1, -1,
2783 -1, -1, -1, -1, -1, -1, 59, -1, -1, -1,
2784 -1, -1, 367, 368, 369, 370, 371, 372, 373, -1,
2785 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2786 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2787 93, 0, -1, 96, -1, -1, -1, -1, -1, -1,
2788 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2789 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2790 -1, -1, 125, -1, 33, -1, -1, -1, -1, -1,
2791 -1, 40, 41, -1, -1, 44, 45, -1, -1, -1,
2792 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2793 59, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2794 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2795 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2796 0, -1, -1, -1, 93, -1, -1, 96, -1, -1,
2797 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2798 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2799 -1, -1, -1, 33, -1, -1, 125, -1, -1, -1,
2800 40, 41, -1, -1, 44, -1, -1, -1, -1, -1,
2801 -1, -1, -1, -1, -1, -1, -1, -1, -1, 59,
2802 60, -1, 62, -1, -1, -1, -1, -1, -1, -1,
2803 -1, -1, -1, -1, 257, 258, 259, 260, -1, -1,
2804 263, -1, 265, 266, 267, 268, 269, 270, 271, 272,
2805 -1, -1, -1, 93, -1, -1, 96, -1, 281, 282,
2806 -1, 284, 285, 286, 287, 288, 289, 290, 291, 292,
2807 293, 294, 295, 296, 297, 298, 299, 300, 301, -1,
2808 -1, -1, -1, 0, 307, 125, -1, -1, -1, -1,
2809 -1, -1, -1, -1, -1, -1, 319, 320, 321, 322,
2810 323, 324, 325, 326, 327, 328, 329, 330, 331, 332,
2811 333, 334, -1, -1, -1, -1, 33, -1, -1, -1,
2812 343, 344, -1, 40, -1, -1, -1, -1, 257, 258,
2813 259, 260, -1, -1, 263, -1, 265, 266, 267, 268,
2814 269, 270, 59, -1, 367, 368, 369, 370, 371, 372,
2815 373, -1, 281, 282, -1, 284, 285, 286, 287, 288,
2816 289, 290, 291, 292, 293, 294, 295, 296, 297, 298,
2817 299, 300, 301, -1, -1, -1, 93, -1, 307, 96,
2818 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2819 -1, -1, -1, -1, -1, 324, 325, 326, 327, 328,
2820 329, 330, 331, 332, 333, 334, -1, -1, 125, -1,
2821 -1, -1, -1, -1, 343, 344, -1, 257, 258, 259,
2822 260, -1, -1, 263, -1, -1, -1, -1, 268, -1,
2823 -1, 271, 272, -1, -1, -1, 0, -1, 367, 368,
2824 369, 370, 371, 372, 373, -1, -1, -1, -1, -1,
2825 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2826 -1, -1, -1, -1, -1, -1, -1, 307, 308, 309,
2827 310, 311, 312, 313, 314, 315, 316, 317, 318, -1,
2828 -1, -1, -1, -1, 324, 325, 326, 327, 328, 329,
2829 330, 331, 332, 333, 334, 59, -1, 337, 338, 339,
2830 340, -1, -1, -1, -1, -1, -1, -1, -1, 349,
2831 350, 351, 352, 353, 354, 355, 356, 357, 358, 359,
2832 360, 361, 362, 363, -1, -1, -1, -1, -1, 93,
2833 -1, -1, -1, 373, -1, -1, -1, -1, -1, -1,
2834 257, 258, 259, 260, -1, -1, 263, -1, -1, -1,
2835 -1, 268, -1, -1, 271, 272, -1, -1, -1, -1,
2836 -1, 125, -1, -1, -1, -1, -1, -1, -1, -1,
2837 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2838 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2839 307, 308, 309, 310, 311, 312, 313, 314, 315, 316,
2840 317, 318, -1, -1, -1, -1, -1, 324, 325, 326,
2841 327, 328, 329, 330, 331, 332, 333, 334, 0, -1,
2842 337, 338, 339, 340, -1, -1, -1, -1, -1, -1,
2843 -1, -1, -1, -1, -1, -1, -1, -1, 355, 356,
2844 357, 358, 359, 360, 361, 362, 363, -1, -1, -1,
2845 -1, 33, -1, -1, -1, -1, 373, -1, 40, -1,
2846 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2847 -1, -1, -1, -1, -1, -1, -1, 59, -1, -1,
2848 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2849 -1, -1, -1, -1, -1, -1, 260, -1, -1, -1,
2850 -1, 265, 266, 267, -1, 269, 270, 271, 272, -1,
2851 -1, 93, -1, -1, 96, -1, -1, 281, 282, -1,
2852 284, 285, 286, 287, 288, 289, 290, 291, 292, 293,
2853 294, 295, 296, 297, 298, 299, 300, 301, 302, 0,
2854 -1, -1, -1, 125, -1, -1, -1, -1, -1, -1,
2855 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2856 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2857 -1, -1, -1, -1, -1, -1, -1, -1, -1, 343,
2858 344, -1, -1, -1, -1, -1, 0, -1, -1, -1,
2859 -1, -1, -1, -1, -1, -1, -1, -1, 59, -1,
2860 -1, -1, -1, 367, 368, 369, 370, 371, 372, 373,
2861 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2862 -1, -1, -1, 37, -1, -1, -1, 41, 42, 43,
2863 44, 45, 93, 47, -1, -1, -1, -1, -1, -1,
2864 -1, -1, -1, -1, -1, 59, 60, -1, 62, -1,
2865 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2866 0, -1, -1, -1, 125, -1, -1, -1, -1, -1,
2867 -1, -1, -1, -1, -1, 257, 258, 259, 260, 93,
2868 -1, 263, -1, -1, -1, -1, 268, -1, -1, 271,
2869 272, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2870 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2871 -1, 125, -1, -1, -1, -1, -1, -1, -1, 59,
2872 -1, -1, -1, -1, 0, 307, 308, 309, 310, 311,
2873 312, 313, 314, 315, 316, 317, 318, -1, -1, -1,
2874 -1, -1, 324, 325, 326, 327, 328, 329, 330, 331,
2875 332, 333, 334, 93, -1, 337, 338, 339, 340, -1,
2876 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2877 -1, -1, -1, 355, 356, 357, 358, 359, 360, 361,
2878 362, 363, -1, 59, -1, 125, -1, -1, 0, -1,
2879 -1, 373, -1, -1, -1, -1, -1, -1, -1, 260,
2880 -1, -1, -1, -1, 265, 266, 267, -1, 269, 270,
2881 271, 272, -1, -1, -1, -1, -1, 93, -1, -1,
2882 281, 282, -1, 284, 285, 286, 287, 288, 289, 290,
2883 291, 292, 293, 294, 295, 296, 297, 298, 299, 300,
2884 301, 302, -1, -1, -1, -1, -1, 59, -1, 125,
2885 264, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2886 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2887 -1, -1, -1, -1, -1, -1, -1, 291, -1, -1,
2888 -1, 93, 343, 344, -1, -1, -1, -1, 302, -1,
2889 -1, 305, -1, -1, -1, -1, -1, -1, -1, -1,
2890 -1, -1, -1, -1, -1, -1, 367, 368, 369, 370,
2891 371, 372, 373, 125, 0, -1, -1, -1, -1, -1,
2892 260, -1, -1, -1, -1, 265, 266, 267, -1, 269,
2893 270, 271, 272, -1, -1, 349, 350, 351, 352, 353,
2894 354, 281, 282, -1, 284, 285, 286, 287, 288, 289,
2895 290, 291, 292, 293, 294, 295, 296, 297, 298, 299,
2896 300, 301, -1, -1, -1, -1, -1, -1, -1, -1,
2897 -1, -1, -1, 59, -1, -1, -1, -1, 0, -1,
2898 -1, -1, -1, -1, 260, -1, -1, -1, -1, 265,
2899 266, 267, -1, 269, 270, 271, 272, -1, -1, -1,
2900 -1, -1, -1, 343, 344, 281, 282, 93, 284, 285,
2901 286, 287, 288, 289, 290, 291, 292, 293, 294, 295,
2902 296, 297, 298, 299, 300, 301, -1, 367, 368, 369,
2903 370, 371, 372, 373, -1, -1, -1, 59, -1, 125,
2904 -1, -1, 0, -1, -1, -1, -1, -1, 260, -1,
2905 -1, -1, -1, 265, 266, 267, -1, 269, 270, 271,
2906 272, -1, -1, -1, -1, -1, -1, 343, 344, 281,
2907 282, 93, 284, 285, 286, 287, 288, 289, 290, 291,
2908 292, 293, 294, 295, 296, 297, 298, 299, 300, 301,
2909 -1, 367, 368, 369, 370, 371, 372, 373, -1, -1,
2910 -1, 59, -1, 125, -1, -1, -1, -1, -1, -1,
2911 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2912 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2913 -1, 343, 344, -1, -1, 93, -1, -1, -1, -1,
2914 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2915 -1, -1, -1, -1, -1, 367, 368, 369, 370, 371,
2916 372, 373, -1, -1, -1, -1, -1, 125, -1, -1,
2917 -1, -1, -1, -1, 260, -1, -1, -1, -1, 265,
2918 266, 267, -1, 269, 270, 271, 272, -1, -1, -1,
2919 -1, -1, -1, -1, -1, 281, 282, -1, 284, 285,
2920 286, 287, 288, 289, 290, 291, 292, 293, 294, 295,
2921 296, 297, 298, 299, 300, 301, -1, -1, -1, -1,
2922 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2923 -1, -1, -1, -1, -1, -1, -1, -1, 260, -1,
2924 -1, -1, -1, 265, 266, 267, -1, 269, 270, 271,
2925 272, -1, -1, -1, -1, -1, -1, 343, 344, 281,
2926 282, -1, 284, 285, 286, 287, 288, 289, 290, 291,
2927 292, 293, 294, 295, 296, 297, 298, 299, 300, 301,
2928 -1, 367, 368, 369, 370, 371, 372, 373, -1, -1,
2929 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2930 -1, -1, 260, -1, -1, -1, -1, 265, 266, 267,
2931 -1, 269, 270, 271, 272, -1, -1, -1, -1, -1,
2932 -1, 343, 344, 281, 282, 0, 284, 285, 286, 287,
2933 288, 289, 290, 291, 292, 293, 294, 295, 296, 297,
2934 298, 299, 300, 301, -1, 367, 368, 369, 370, 371,
2935 372, 373, -1, -1, -1, -1, -1, -1, 33, -1,
2936 -1, -1, -1, -1, -1, 40, -1, -1, -1, -1,
2937 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2938 -1, -1, -1, -1, 59, 343, 344, -1, -1, -1,
2939 -1, -1, -1, -1, -1, 0, -1, -1, -1, -1,
2940 -1, -1, -1, -1, -1, -1, -1, -1, -1, 367,
2941 368, 369, 370, 371, 372, 373, -1, -1, 93, -1,
2942 -1, 96, -1, -1, -1, -1, -1, -1, -1, -1,
2943 -1, -1, -1, -1, -1, -1, -1, -1, 43, -1,
2944 45, 46, -1, -1, -1, -1, -1, -1, -1, -1,
2945 125, -1, -1, -1, 59, -1, -1, -1, -1, -1,
2946 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2947 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2948 -1, -1, -1, -1, -1, -1, -1, -1, 93, -1,
2949 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2950 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2951 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2952 125, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2953 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2954 33, -1, -1, -1, -1, -1, -1, 40, -1, -1,
2955 -1, -1, 45, -1, -1, -1, -1, -1, -1, -1,
2956 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2957 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2958 -1, -1, 257, 258, 259, -1, -1, -1, 263, -1,
2959 265, 266, 267, 268, 269, 270, 271, 272, 91, -1,
2960 -1, -1, -1, 96, -1, -1, 281, 282, -1, 284,
2961 285, 286, 287, 288, 289, 290, 291, 292, 293, 294,
2962 295, 296, 297, 298, 299, 300, 301, -1, -1, -1,
2963 123, -1, 307, 308, 309, 310, 311, 312, 313, 314,
2964 315, 316, 317, 318, -1, -1, -1, -1, -1, 324,
2965 325, 326, 327, 328, 329, 330, 331, 332, 333, 334,
2966 -1, -1, 337, 338, 339, 340, 271, 272, 343, 344,
2967 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2968 355, 356, 357, 358, 359, 360, 361, 362, 363, -1,
2969 -1, -1, 367, 368, 369, 370, 371, 372, -1, -1,
2970 -1, -1, -1, 308, 309, 310, 311, 312, 313, 314,
2971 315, 316, 317, 318, 319, 320, 321, 322, 323, -1,
2972 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2973 -1, -1, 337, 338, 339, 340, 33, -1, -1, -1,
2974 -1, -1, -1, 40, -1, -1, -1, -1, 45, -1,
2975 355, 356, 357, 358, 359, 360, 361, 362, 363, -1,
2976 -1, -1, -1, -1, 257, 258, 259, 260, 261, -1,
2977 263, -1, -1, -1, -1, 268, 269, 270, 271, 272,
2978 273, 274, 275, 276, 277, 278, 279, 280, -1, -1,
2979 283, -1, -1, -1, 91, -1, -1, -1, -1, 96,
2980 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2981 -1, -1, -1, -1, 307, 308, 309, 310, 311, 312,
2982 313, 314, 315, 316, 317, 318, 123, -1, -1, -1,
2983 -1, 324, 325, 326, 327, 328, 329, 330, 331, 332,
2984 333, 334, 335, -1, 337, 338, 339, 340, 341, 342,
2985 -1, -1, 345, -1, 347, -1, -1, -1, -1, -1,
2986 -1, -1, 355, 356, 357, 358, 359, 360, 361, 362,
2987 363, 364, 33, 366, -1, -1, -1, -1, -1, 40,
2988 373, 374, -1, -1, 45, -1, -1, -1, -1, -1,
2989 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2990 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2991 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2992 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2993 -1, -1, -1, -1, -1, 96, -1, -1, -1, -1,
2994 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2995 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2996 257, 258, 259, 260, 261, -1, 263, -1, -1, -1,
2997 -1, 268, 269, 270, 271, 272, 273, 274, 275, 276,
2998 277, 278, 279, 280, -1, -1, 283, -1, -1, 33,
2999 -1, -1, -1, -1, -1, -1, 40, 41, -1, -1,
3000 -1, 45, -1, -1, -1, -1, -1, -1, -1, -1,
3001 307, 308, 309, 310, 311, 312, 313, 314, 315, 316,
3002 317, 318, -1, -1, -1, -1, -1, 324, 325, 326,
3003 327, 328, 329, 330, 331, 332, 333, 334, 335, -1,
3004 337, 338, 339, 340, 341, 342, -1, -1, 345, -1,
3005 347, -1, 96, -1, -1, -1, -1, -1, 355, 356,
3006 357, 358, 359, 360, 361, 362, 363, 364, -1, 366,
3007 -1, -1, -1, -1, -1, -1, 373, 374, -1, -1,
3008 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3009 -1, -1, -1, -1, -1, -1, 257, 258, 259, 260,
3010 -1, -1, 263, -1, 265, 266, 267, 268, 269, 270,
3011 271, 272, -1, -1, -1, -1, -1, -1, -1, -1,
3012 281, 282, -1, 284, 285, 286, 287, 288, 289, 290,
3013 291, 292, 293, 294, 295, 296, 297, 298, 299, 300,
3014 301, -1, -1, -1, -1, -1, 307, 308, 309, 310,
3015 311, 312, 313, 314, 315, 316, 317, 318, -1, -1,
3016 -1, -1, -1, 324, 325, 326, 327, 328, 329, 330,
3017 331, 332, 333, 334, 33, -1, 337, 338, 339, 340,
3018 -1, 40, 343, 344, -1, -1, 45, 46, -1, -1,
3019 -1, -1, -1, -1, 355, 356, 357, 358, 359, 360,
3020 361, 362, 363, -1, -1, -1, 367, 368, 369, 370,
3021 371, 372, 373, 257, 258, 259, 260, -1, -1, 263,
3022 -1, -1, -1, -1, 268, -1, -1, 271, 272, -1,
3023 -1, -1, -1, -1, -1, -1, -1, 96, -1, -1,
3024 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3025 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3026 -1, -1, -1, 307, 308, 309, 310, 311, 312, 313,
3027 314, 315, 316, 317, 318, -1, -1, -1, -1, -1,
3028 324, 325, 326, 327, 328, 329, 330, 331, 332, 333,
3029 334, 33, -1, 337, 338, 339, 340, -1, 40, -1,
3030 -1, -1, -1, 45, -1, -1, -1, -1, -1, -1,
3031 -1, 355, 356, 357, 358, 359, 360, 361, 362, 363,
3032 -1, -1, -1, -1, -1, -1, -1, -1, -1, 373,
3033 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3034 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3035 -1, -1, -1, -1, 96, -1, -1, -1, -1, -1,
3036 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3037 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3038 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3039 -1, -1, -1, -1, -1, -1, -1, -1, 257, 258,
3040 259, 260, -1, -1, 263, -1, -1, -1, -1, 268,
3041 -1, -1, 271, 272, 33, -1, -1, -1, -1, -1,
3042 -1, 40, -1, -1, -1, -1, 45, -1, -1, -1,
3043 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3044 -1, -1, -1, -1, -1, -1, -1, -1, 307, 308,
3045 309, 310, 311, 312, 313, 314, 315, 316, 317, 318,
3046 -1, -1, -1, -1, -1, 324, 325, 326, 327, 328,
3047 329, 330, 331, 332, 333, 334, -1, 96, 337, 338,
3048 339, 340, -1, -1, -1, -1, -1, -1, -1, -1,
3049 -1, -1, -1, -1, -1, -1, 355, 356, 357, 358,
3050 359, 360, 361, 362, 363, -1, -1, -1, -1, -1,
3051 -1, -1, -1, -1, 373, 257, 258, 259, 260, -1,
3052 -1, 263, -1, -1, -1, -1, 268, -1, -1, 271,
3053 272, 33, -1, -1, -1, -1, -1, -1, 40, -1,
3054 -1, -1, -1, 45, -1, -1, -1, -1, -1, -1,
3055 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3056 -1, -1, -1, -1, -1, 307, 308, 309, 310, 311,
3057 312, 313, 314, 315, 316, 317, 318, -1, -1, -1,
3058 -1, -1, 324, 325, 326, 327, 328, 329, 330, 331,
3059 332, 333, 334, -1, 96, 337, 338, 339, 340, -1,
3060 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3061 -1, -1, -1, 355, 356, 357, 358, 359, 360, 361,
3062 362, 363, -1, -1, -1, -1, -1, -1, -1, -1,
3063 -1, 373, -1, -1, -1, -1, -1, -1, 257, 258,
3064 259, 260, -1, -1, 263, -1, -1, -1, -1, 268,
3065 -1, -1, 271, 272, 33, -1, -1, -1, -1, -1,
3066 -1, 40, -1, -1, -1, -1, 45, -1, -1, -1,
3067 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3068 -1, -1, -1, -1, -1, -1, -1, -1, 307, 308,
3069 309, 310, 311, 312, 313, 314, 315, 316, 317, 318,
3070 -1, -1, -1, -1, -1, 324, 325, 326, 327, 328,
3071 329, 330, 331, 332, 333, 334, -1, 96, 337, 338,
3072 339, 340, -1, -1, -1, -1, -1, -1, -1, -1,
3073 -1, -1, -1, -1, -1, -1, 355, 356, 357, 358,
3074 359, 360, 361, 362, 363, -1, -1, -1, -1, -1,
3075 -1, -1, -1, -1, 373, 257, 258, 259, 260, -1,
3076 -1, 263, -1, -1, -1, -1, 268, -1, -1, 271,
3077 272, 33, -1, -1, -1, -1, -1, -1, 40, -1,
3078 -1, -1, -1, 45, 46, -1, -1, -1, -1, -1,
3079 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3080 -1, -1, -1, -1, -1, 307, 308, 309, 310, 311,
3081 312, 313, 314, 315, 316, 317, 318, -1, -1, -1,
3082 -1, -1, 324, 325, 326, 327, 328, 329, 330, 331,
3083 332, 333, 334, -1, 96, 337, 338, 339, 340, -1,
3084 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3085 -1, -1, -1, 355, 356, 357, 358, 359, 360, 361,
3086 362, 363, -1, -1, -1, -1, -1, -1, -1, -1,
3087 -1, 373, -1, -1, -1, -1, -1, -1, 257, 258,
3088 259, 260, -1, -1, 263, -1, -1, -1, -1, 268,
3089 -1, -1, 271, 272, 33, -1, -1, -1, -1, -1,
3090 -1, 40, -1, 42, -1, -1, 45, -1, -1, -1,
3091 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3092 -1, -1, -1, -1, -1, -1, -1, -1, 307, 308,
3093 309, 310, 311, 312, 313, 314, 315, 316, 317, 318,
3094 -1, -1, -1, -1, -1, 324, 325, 326, 327, 328,
3095 329, 330, 331, 332, 333, 334, -1, 96, 337, 338,
3096 339, 340, -1, -1, -1, -1, -1, -1, -1, -1,
3097 -1, -1, -1, -1, -1, -1, 355, 356, 357, 358,
3098 359, 360, 361, 362, 363, -1, -1, -1, -1, -1,
3099 -1, -1, -1, -1, 373, 257, 258, 259, -1, -1,
3100 -1, 263, -1, -1, -1, -1, 268, -1, -1, 271,
3101 272, 33, -1, -1, -1, -1, -1, -1, 40, -1,
3102 -1, -1, -1, 45, -1, -1, -1, -1, -1, -1,
3103 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3104 -1, -1, -1, -1, -1, 307, 308, 309, 310, 311,
3105 312, 313, 314, 315, 316, 317, 318, -1, -1, -1,
3106 -1, -1, 324, 325, 326, 327, 328, 329, 330, 331,
3107 332, 333, 334, -1, 96, 337, 338, 339, 340, -1,
3108 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3109 -1, -1, -1, 355, 356, 357, 358, 359, 360, 361,
3110 362, 363, -1, -1, -1, -1, -1, -1, -1, -1,
3111 -1, -1, -1, -1, -1, -1, -1, -1, 257, 258,
3112 259, -1, -1, -1, 263, -1, -1, -1, -1, 268,
3113 -1, -1, 271, 272, 33, -1, -1, -1, -1, -1,
3114 -1, 40, -1, -1, -1, -1, 45, -1, -1, -1,
3115 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3116 -1, -1, -1, -1, -1, -1, -1, -1, 307, 308,
3117 309, 310, 311, 312, 313, 314, 315, 316, 317, 318,
3118 -1, -1, -1, -1, -1, 324, 325, 326, 327, 328,
3119 329, 330, 331, 332, 333, 334, -1, 96, 337, 338,
3120 339, 340, -1, -1, -1, -1, -1, -1, -1, -1,
3121 -1, -1, -1, -1, -1, -1, 355, 356, 357, 358,
3122 359, 360, 361, 362, 363, -1, -1, -1, -1, -1,
3123 -1, -1, -1, -1, -1, 257, 258, 259, -1, -1,
3124 -1, 263, -1, -1, -1, -1, 268, -1, -1, 271,
3125 272, 33, -1, -1, -1, -1, -1, -1, 40, -1,
3126 -1, -1, -1, 45, -1, -1, -1, -1, -1, -1,
3127 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3128 -1, -1, -1, -1, -1, 307, 308, 309, 310, 311,
3129 312, 313, 314, 315, 316, 317, 318, -1, -1, -1,
3130 -1, -1, 324, 325, 326, 327, 328, 329, 330, 331,
3131 332, 333, 334, -1, 96, 337, 338, 339, 340, -1,
3132 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3133 -1, -1, -1, 355, 356, 357, 358, 359, 360, 361,
3134 362, 363, -1, -1, -1, -1, -1, -1, -1, -1,
3135 -1, -1, -1, -1, -1, -1, -1, -1, 257, 258,
3136 259, -1, -1, -1, 263, -1, -1, -1, -1, 268,
3137 -1, -1, 271, 272, 33, -1, -1, -1, -1, -1,
3138 -1, 40, -1, -1, -1, -1, 45, -1, -1, -1,
3139 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3140 -1, -1, -1, -1, -1, -1, -1, -1, 307, 308,
3141 309, 310, 311, 312, 313, 314, 315, 316, 317, 318,
3142 -1, -1, -1, -1, -1, 324, 325, 326, 327, 328,
3143 329, 330, 331, 332, 333, 334, -1, 96, 337, 338,
3144 339, 340, -1, -1, -1, -1, -1, -1, -1, -1,
3145 -1, -1, -1, -1, -1, -1, 355, 356, 357, 358,
3146 359, 360, 361, 362, 363, -1, -1, -1, -1, -1,
3147 -1, -1, -1, -1, -1, 257, 258, 259, -1, -1,
3148 -1, 263, -1, -1, -1, -1, 268, -1, -1, 271,
3149 272, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3150 -1, -1, -1, -1, -1, -1, -1, 59, -1, -1,
3151 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3152 -1, -1, -1, -1, -1, 307, 308, 309, 310, 311,
3153 312, 313, 314, 315, 316, 317, 318, -1, -1, 91,
3154 -1, -1, 324, 325, 326, 327, 328, 329, 330, 331,
3155 332, 333, 334, -1, -1, 337, 338, 339, 340, -1,
3156 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3157 -1, 123, -1, 355, 356, 357, 358, 359, 360, 361,
3158 362, 363, -1, -1, -1, -1, -1, -1, -1, -1,
3159 -1, -1, -1, -1, -1, -1, -1, -1, 257, 258,
3160 259, -1, -1, -1, 263, -1, -1, -1, -1, 268,
3161 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3162 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3163 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3164 -1, -1, -1, -1, -1, -1, -1, -1, 307, 308,
3165 309, 310, 311, 312, 313, 314, 315, 316, 317, 318,
3166 -1, -1, -1, -1, -1, 324, 325, 326, 327, 328,
3167 329, 330, 331, 332, 333, 334, -1, -1, 337, 338,
3168 339, 340, -1, -1, -1, -1, -1, -1, -1, -1,
3169 -1, -1, -1, -1, -1, -1, 355, 356, 357, 358,
3170 359, 360, 361, 362, 363, 257, 258, -1, 260, 261,
3171 -1, -1, -1, -1, -1, -1, -1, 269, 270, 271,
3172 272, 273, 274, 275, 276, 277, 278, 279, 280, -1,
3173 -1, 283, -1, -1, -1, -1, -1, -1, -1, -1,
3174 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3175 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3176 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3177 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3178 -1, -1, -1, 335, -1, -1, -1, -1, -1, 341,
3179 342, -1, -1, 345, -1, 347, -1, -1, -1, -1,
3180 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3181 -1, -1, 364, -1, 366, -1, -1, -1, -1, -1,
3188 #define YYMAXTOKEN 376
3191 "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,
3192 "'!'",0,0,0,"'%'",0,0,"'('","')'","'*'","'+'","','","'-'","'.'","'/'",0,0,0,0,0,
3193 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,
3194 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,
3195 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,
3196 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,0,
3197 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,0,
3198 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,"LABEL","VARIABLE","NUMBER",
3199 "TEXT","COMMAND_LINE","DELIMITED","ORDINAL","TH","LEFT_ARROW_HEAD",
3200 "RIGHT_ARROW_HEAD","DOUBLE_ARROW_HEAD","LAST","UP","DOWN","LEFT","RIGHT","BOX",
3201 "CIRCLE","ELLIPSE","ARC","LINE","ARROW","MOVE","SPLINE","HEIGHT","RADIUS",
3202 "FIGNAME","WIDTH","DIAMETER","FROM","TO","AT","WITH","BY","THEN","SOLID",
3203 "DOTTED","DASHED","CHOP","SAME","INVISIBLE","LJUST","RJUST","ABOVE","BELOW",
3204 "OF","THE","WAY","BETWEEN","AND","HERE","DOT_N","DOT_E","DOT_W","DOT_S",
3205 "DOT_NE","DOT_SE","DOT_NW","DOT_SW","DOT_C","DOT_START","DOT_END","DOT_X",
3206 "DOT_Y","DOT_HT","DOT_WID","DOT_RAD","SIN","COS","ATAN2","LOG","EXP","SQRT",
3207 "K_MAX","K_MIN","INT","RAND","SRAND","COPY","THRU","TOP","BOTTOM","UPPER",
3208 "LOWER","SH","PRINT","CW","CCW","FOR","DO","IF","ELSE","ANDAND","OROR",
3209 "NOTEQUAL","EQUALEQUAL","LESSEQUAL","GREATEREQUAL","LEFT_CORNER","RIGHT_CORNER",
3210 "NORTH","SOUTH","EAST","WEST","CENTER","END","START","RESET","UNTIL","PLOT",
3211 "THICKNESS","FILL","COLORED","OUTLINED","SHADED","ALIGNED","SPRINTF","COMMAND",
3216 "top : optional_separator",
3217 "top : element_list",
3218 "element_list : optional_separator middle_element_list optional_separator",
3219 "middle_element_list : element",
3220 "middle_element_list : middle_element_list separator element",
3221 "optional_separator :",
3222 "optional_separator : separator",
3224 "separator : separator ';'",
3225 "placeless_element : FIGNAME '=' macro_name",
3226 "placeless_element : VARIABLE '=' any_expr",
3227 "placeless_element : VARIABLE ':' '=' any_expr",
3228 "placeless_element : UP",
3229 "placeless_element : DOWN",
3230 "placeless_element : LEFT",
3231 "placeless_element : RIGHT",
3232 "placeless_element : COMMAND_LINE",
3233 "placeless_element : COMMAND print_args",
3234 "placeless_element : PRINT print_args",
3236 "placeless_element : SH $$1 DELIMITED",
3237 "placeless_element : COPY TEXT",
3240 "placeless_element : COPY TEXT THRU $$2 DELIMITED $$3 until",
3243 "placeless_element : COPY THRU $$4 DELIMITED $$5 until",
3245 "placeless_element : FOR VARIABLE '=' expr TO expr optional_by DO $$6 DELIMITED",
3246 "placeless_element : simple_if",
3248 "placeless_element : simple_if ELSE $$7 DELIMITED",
3249 "placeless_element : reset_variables",
3250 "placeless_element : RESET",
3251 "macro_name : VARIABLE",
3252 "macro_name : LABEL",
3253 "reset_variables : RESET VARIABLE",
3254 "reset_variables : reset_variables VARIABLE",
3255 "reset_variables : reset_variables ',' VARIABLE",
3256 "print_args : print_arg",
3257 "print_args : print_args print_arg",
3260 "print_arg : position",
3262 "simple_if : IF any_expr THEN $$8 DELIMITED",
3264 "until : UNTIL TEXT",
3266 "any_expr : text_expr",
3267 "text_expr : text EQUALEQUAL text",
3268 "text_expr : text NOTEQUAL text",
3269 "text_expr : text_expr ANDAND text_expr",
3270 "text_expr : text_expr ANDAND expr",
3271 "text_expr : expr ANDAND text_expr",
3272 "text_expr : text_expr OROR text_expr",
3273 "text_expr : text_expr OROR expr",
3274 "text_expr : expr OROR text_expr",
3275 "text_expr : '!' text_expr",
3277 "optional_by : BY expr",
3278 "optional_by : BY '*' expr",
3279 "element : object_spec",
3280 "element : LABEL ':' optional_separator element",
3281 "element : LABEL ':' optional_separator position_not_place",
3282 "element : LABEL ':' optional_separator place",
3285 "element : '{' $$9 element_list '}' $$10 optional_element",
3286 "element : placeless_element",
3287 "optional_element :",
3288 "optional_element : element",
3289 "object_spec : BOX",
3290 "object_spec : CIRCLE",
3291 "object_spec : ELLIPSE",
3292 "object_spec : ARC",
3293 "object_spec : LINE",
3294 "object_spec : ARROW",
3295 "object_spec : MOVE",
3296 "object_spec : SPLINE",
3297 "object_spec : text",
3298 "object_spec : PLOT expr",
3299 "object_spec : PLOT expr text",
3301 "object_spec : '[' $$11 element_list ']'",
3302 "object_spec : object_spec HEIGHT expr",
3303 "object_spec : object_spec RADIUS expr",
3304 "object_spec : object_spec WIDTH expr",
3305 "object_spec : object_spec DIAMETER expr",
3306 "object_spec : object_spec expr",
3307 "object_spec : object_spec UP",
3308 "object_spec : object_spec UP expr",
3309 "object_spec : object_spec DOWN",
3310 "object_spec : object_spec DOWN expr",
3311 "object_spec : object_spec RIGHT",
3312 "object_spec : object_spec RIGHT expr",
3313 "object_spec : object_spec LEFT",
3314 "object_spec : object_spec LEFT expr",
3315 "object_spec : object_spec FROM position",
3316 "object_spec : object_spec TO position",
3317 "object_spec : object_spec AT position",
3318 "object_spec : object_spec WITH path",
3319 "object_spec : object_spec WITH position",
3320 "object_spec : object_spec BY expr_pair",
3321 "object_spec : object_spec THEN",
3322 "object_spec : object_spec SOLID",
3323 "object_spec : object_spec DOTTED",
3324 "object_spec : object_spec DOTTED expr",
3325 "object_spec : object_spec DASHED",
3326 "object_spec : object_spec DASHED expr",
3327 "object_spec : object_spec FILL",
3328 "object_spec : object_spec FILL expr",
3329 "object_spec : object_spec SHADED text",
3330 "object_spec : object_spec COLORED text",
3331 "object_spec : object_spec OUTLINED text",
3332 "object_spec : object_spec CHOP",
3333 "object_spec : object_spec CHOP expr",
3334 "object_spec : object_spec SAME",
3335 "object_spec : object_spec INVISIBLE",
3336 "object_spec : object_spec LEFT_ARROW_HEAD",
3337 "object_spec : object_spec RIGHT_ARROW_HEAD",
3338 "object_spec : object_spec DOUBLE_ARROW_HEAD",
3339 "object_spec : object_spec CW",
3340 "object_spec : object_spec CCW",
3341 "object_spec : object_spec text",
3342 "object_spec : object_spec LJUST",
3343 "object_spec : object_spec RJUST",
3344 "object_spec : object_spec ABOVE",
3345 "object_spec : object_spec BELOW",
3346 "object_spec : object_spec THICKNESS expr",
3347 "object_spec : object_spec ALIGNED",
3349 "text : SPRINTF '(' TEXT sprintf_args ')'",
3351 "sprintf_args : sprintf_args ',' expr",
3352 "position : position_not_place",
3354 "position : '(' place ')'",
3355 "position_not_place : expr_pair",
3356 "position_not_place : position '+' expr_pair",
3357 "position_not_place : '(' position '+' expr_pair ')'",
3358 "position_not_place : position '-' expr_pair",
3359 "position_not_place : '(' position '-' expr_pair ')'",
3360 "position_not_place : '(' position ',' position ')'",
3361 "position_not_place : expr between position AND position",
3362 "position_not_place : '(' expr between position AND position ')'",
3363 "position_not_place : expr '<' position ',' position '>'",
3364 "position_not_place : '(' expr '<' position ',' position '>' ')'",
3365 "between : BETWEEN",
3366 "between : OF THE WAY BETWEEN",
3367 "expr_pair : expr ',' expr",
3368 "expr_pair : '(' expr_pair ')'",
3370 "place : label corner",
3371 "place : corner label",
3372 "place : corner OF label",
3375 "label : nth_primitive",
3376 "label : label '.' LABEL",
3377 "ordinal : ORDINAL",
3378 "ordinal : '`' any_expr TH",
3379 "optional_ordinal_last : LAST",
3380 "optional_ordinal_last : ordinal LAST",
3381 "nth_primitive : ordinal object_type",
3382 "nth_primitive : optional_ordinal_last object_type",
3383 "object_type : BOX",
3384 "object_type : CIRCLE",
3385 "object_type : ELLIPSE",
3386 "object_type : ARC",
3387 "object_type : LINE",
3388 "object_type : ARROW",
3389 "object_type : SPLINE",
3390 "object_type : '[' ']'",
3391 "object_type : TEXT",
3392 "label_path : '.' LABEL",
3393 "label_path : label_path '.' LABEL",
3394 "relative_path : corner",
3395 "relative_path : label_path",
3396 "relative_path : label_path corner",
3397 "path : relative_path",
3398 "path : '(' relative_path ',' relative_path ')'",
3399 "path : ORDINAL LAST object_type relative_path",
3400 "path : LAST object_type relative_path",
3401 "path : ORDINAL object_type relative_path",
3402 "path : LABEL relative_path",
3412 "corner : DOT_START",
3418 "corner : UPPER LEFT",
3419 "corner : LOWER LEFT",
3420 "corner : UPPER RIGHT",
3421 "corner : LOWER RIGHT",
3422 "corner : LEFT_CORNER",
3423 "corner : RIGHT_CORNER",
3424 "corner : UPPER LEFT_CORNER",
3425 "corner : LOWER LEFT_CORNER",
3426 "corner : UPPER RIGHT_CORNER",
3427 "corner : LOWER RIGHT_CORNER",
3437 "expr : place DOT_X",
3438 "expr : place DOT_Y",
3439 "expr : place DOT_HT",
3440 "expr : place DOT_WID",
3441 "expr : place DOT_RAD",
3442 "expr : expr '+' expr",
3443 "expr : expr '-' expr",
3444 "expr : expr '*' expr",
3445 "expr : expr '/' expr",
3446 "expr : expr '%' expr",
3447 "expr : expr '^' expr",
3449 "expr : '(' any_expr ')'",
3450 "expr : SIN '(' any_expr ')'",
3451 "expr : COS '(' any_expr ')'",
3452 "expr : ATAN2 '(' any_expr ',' any_expr ')'",
3453 "expr : LOG '(' any_expr ')'",
3454 "expr : EXP '(' any_expr ')'",
3455 "expr : SQRT '(' any_expr ')'",
3456 "expr : K_MAX '(' any_expr ',' any_expr ')'",
3457 "expr : K_MIN '(' any_expr ',' any_expr ')'",
3458 "expr : INT '(' any_expr ')'",
3459 "expr : RAND '(' any_expr ')'",
3460 "expr : RAND '(' ')'",
3461 "expr : SRAND '(' any_expr ')'",
3462 "expr : expr '<' expr",
3463 "expr : expr LESSEQUAL expr",
3464 "expr : expr '>' expr",
3465 "expr : expr GREATEREQUAL expr",
3466 "expr : expr EQUALEQUAL expr",
3467 "expr : expr NOTEQUAL expr",
3468 "expr : expr ANDAND expr",
3469 "expr : expr OROR expr",
3475 #define YYMAXDEPTH YYSTACKSIZE
3478 #define YYSTACKSIZE YYMAXDEPTH
3480 #define YYSTACKSIZE 500
3481 #define YYMAXDEPTH 500
3492 short yyss[YYSTACKSIZE];
3493 YYSTYPE yyvs[YYSTACKSIZE];
3494 #define yystacksize YYSTACKSIZE
3497 /* bison defines const to be empty unless __STDC__ is defined, which it
3498 isn't under cfront */
3507 int scaled; // non-zero if val should be multiplied by scale
3508 } defaults_table[] = {
3509 { "arcrad", .25, 1 },
3510 { "arrowht", .1, 1 },
3511 { "arrowwid", .05, 1 },
3512 { "circlerad", .25, 1 },
3514 { "boxwid", .75, 1 },
3515 { "boxrad", 0.0, 1 },
3516 { "dashwid", .05, 1 },
3517 { "ellipseht", .5, 1 },
3518 { "ellipsewid", .75, 1 },
3519 { "moveht", .5, 1 },
3520 { "movewid", .5, 1 },
3521 { "lineht", .5, 1 },
3522 { "linewid", .5, 1 },
3523 { "textht", 0.0, 1 },
3524 { "textwid", 0.0, 1 },
3525 { "scale", 1.0, 0 },
3526 { "linethick", -1.0, 0 }, // in points
3527 { "fillval", .5, 0 },
3528 { "arrowhead", 1.0, 0 },
3529 { "maxpswid", 8.5, 0 },
3530 { "maxpsht", 11.0, 0 },
3533 place *lookup_label(const char *label)
3535 saved_state *state = current_saved_state;
3536 PTABLE(place) *tbl = current_table;
3538 place *pl = tbl->lookup(label);
3544 state = state->prev;
3548 void define_label(const char *label, const place *pl)
3550 place *p = new place[1];
3552 current_table->define(label, p);
3555 int lookup_variable(const char *name, double *val)
3557 place *pl = lookup_label(name);
3565 void define_variable(const char *name, double val)
3567 place *p = new place[1];
3571 current_table->define(name, p);
3572 if (strcmp(name, "scale") == 0) {
3573 // When the scale changes, reset all scaled pre-defined variables to
3574 // their default values.
3575 for (unsigned int i = 0;
3576 i < sizeof(defaults_table)/sizeof(defaults_table[0]); i++)
3577 if (defaults_table[i].scaled)
3578 define_variable(defaults_table[i].name, val*defaults_table[i].val);
3582 // called once only (not once per parse)
3586 current_direction = RIGHT_DIRECTION;
3587 current_position.x = 0.0;
3588 current_position.y = 0.0;
3589 // This resets everything to its default value.
3593 void reset(const char *nm)
3595 for (unsigned int i = 0;
3596 i < sizeof(defaults_table)/sizeof(defaults_table[0]); i++)
3597 if (strcmp(nm, defaults_table[i].name) == 0) {
3598 double val = defaults_table[i].val;
3599 if (defaults_table[i].scaled) {
3601 lookup_variable("scale", &scale);
3604 define_variable(defaults_table[i].name, val);
3607 lex_error("`%1' is not a predefined variable", nm);
3612 // We only have to explicitly reset the pre-defined variables that
3613 // aren't scaled because `scale' is not scaled, and changing the
3614 // value of `scale' will reset all the pre-defined variables that
3616 for (unsigned int i = 0;
3617 i < sizeof(defaults_table)/sizeof(defaults_table[0]); i++)
3618 if (!defaults_table[i].scaled)
3619 define_variable(defaults_table[i].name, defaults_table[i].val);
3622 // called after each parse
3624 void parse_cleanup()
3626 while (current_saved_state != 0) {
3627 delete current_table;
3628 current_table = current_saved_state->tbl;
3629 saved_state *tem = current_saved_state;
3630 current_saved_state = current_saved_state->prev;
3633 assert(current_table == &top_table);
3634 PTABLE_ITERATOR(place) iter(current_table);
3637 while (iter.next(&key, &pl))
3639 position pos = pl->obj->origin();
3644 while (olist.head != 0) {
3645 object *tem = olist.head;
3646 olist.head = olist.head->next;
3650 current_direction = RIGHT_DIRECTION;
3651 current_position.x = 0.0;
3652 current_position.y = 0.0;
3655 const char *ordinal_postfix(int n)
3657 if (n < 10 || n > 20)
3669 const char *object_type_name(object_type type)
3676 case ELLIPSE_OBJECT:
3700 static char sprintf_buf[1024];
3702 char *format_number(const char *form, double n)
3706 return do_sprintf(form, &n, 1);
3709 char *do_sprintf(const char *form, const double *v, int nv)
3716 one_format += *form++;
3717 for (; *form != '\0' && strchr("#-+ 0123456789.", *form) != 0; form++)
3718 one_format += *form;
3719 if (*form == '\0' || strchr("eEfgG%", *form) == 0) {
3720 lex_error("bad sprintf format");
3721 result += one_format;
3726 one_format += *form++;
3728 snprintf(sprintf_buf, sizeof(sprintf_buf),
3729 "%s", one_format.contents());
3733 lex_error("too few arguments to snprintf");
3734 result += one_format;
3738 one_format += *form++;
3740 snprintf(sprintf_buf, sizeof(sprintf_buf),
3741 one_format.contents(), v[i++]);
3744 result += sprintf_buf;
3750 return strsave(result.contents());
3752 #line 3753 "y.tab.c"
3753 #define YYABORT goto yyabort
3754 #define YYREJECT goto yyabort
3755 #define YYACCEPT goto yyaccept
3756 #define YYERROR goto yyerrlab
3758 #if defined(__STDC__)
3764 register int yym, yyn, yystate;
3767 extern char *getenv();
3769 if (yys = getenv("YYDEBUG"))
3772 if (yyn >= '0' && yyn <= '9')
3773 yydebug = yyn - '0';
3783 *yyssp = yystate = 0;
3786 if ((yyn = yydefred[yystate]) != 0) goto yyreduce;
3789 if ((yychar = yylex()) < 0) yychar = 0;
3794 if (yychar <= YYMAXTOKEN) yys = yyname[yychar];
3795 if (!yys) yys = "illegal-symbol";
3796 printf("%sdebug: state %d, reading %d (%s)\n",
3797 YYPREFIX, yystate, yychar, yys);
3801 if ((yyn = yysindex[yystate]) && (yyn += yychar) >= 0 &&
3802 yyn <= YYTABLESIZE && yycheck[yyn] == yychar)
3806 printf("%sdebug: state %d, shifting to state %d\n",
3807 YYPREFIX, yystate, yytable[yyn]);
3809 if (yyssp >= yyss + yystacksize - 1)
3813 *++yyssp = yystate = yytable[yyn];
3816 if (yyerrflag > 0) --yyerrflag;
3819 if ((yyn = yyrindex[yystate]) && (yyn += yychar) >= 0 &&
3820 yyn <= YYTABLESIZE && yycheck[yyn] == yychar)
3825 if (yyerrflag) goto yyinrecovery;
3830 yyerror("syntax error");
3842 if ((yyn = yysindex[*yyssp]) && (yyn += YYERRCODE) >= 0 &&
3843 yyn <= YYTABLESIZE && yycheck[yyn] == YYERRCODE)
3847 printf("%sdebug: state %d, error recovery shifting\
3848 to state %d\n", YYPREFIX, *yyssp, yytable[yyn]);
3850 if (yyssp >= yyss + yystacksize - 1)
3854 *++yyssp = yystate = yytable[yyn];
3862 printf("%sdebug: error recovery discarding state %d\n",
3865 if (yyssp <= yyss) goto yyabort;
3873 if (yychar == 0) goto yyabort;
3878 if (yychar <= YYMAXTOKEN) yys = yyname[yychar];
3879 if (!yys) yys = "illegal-symbol";
3880 printf("%sdebug: state %d, error recovery discards token %d (%s)\n",
3881 YYPREFIX, yystate, yychar, yys);
3890 printf("%sdebug: state %d, reducing by rule %d (%s)\n",
3891 YYPREFIX, yystate, yyn, yyrule[yyn]);
3894 yyval = yyvsp[1-yym];
3901 print_picture(olist.head);
3906 { yyval.pl = yyvsp[-1].pl; }
3910 { yyval.pl = yyvsp[0].pl; }
3914 { yyval.pl = yyvsp[-2].pl; }
3920 graphname = new char[strlen(yyvsp[0].str) + 1];
3921 strcpy(graphname, yyvsp[0].str);
3922 a_delete yyvsp[0].str;
3928 define_variable(yyvsp[-2].str, yyvsp[0].x);
3929 a_delete yyvsp[-2].str;
3935 place *p = lookup_label(yyvsp[-3].str);
3937 lex_error("variable `%1' not defined", yyvsp[-3].str);
3943 a_delete yyvsp[-3].str;
3948 { current_direction = UP_DIRECTION; }
3952 { current_direction = DOWN_DIRECTION; }
3956 { current_direction = LEFT_DIRECTION; }
3960 { current_direction = RIGHT_DIRECTION; }
3965 olist.append(make_command_object(yyvsp[0].lstr.str, yyvsp[0].lstr.filename,
3966 yyvsp[0].lstr.lineno));
3972 olist.append(make_command_object(yyvsp[0].lstr.str, yyvsp[0].lstr.filename,
3973 yyvsp[0].lstr.lineno));
3979 fprintf(stderr, "%s\n", yyvsp[0].lstr.str);
3980 a_delete yyvsp[0].lstr.str;
3993 lex_error("unsafe to run command `%1'", yyvsp[0].str);
3995 system(yyvsp[0].str);
3996 a_delete yyvsp[0].str;
4004 do_copy(yyvsp[0].lstr.str);
4005 /* do not delete the filename*/
4021 copy_file_thru(yyvsp[-5].lstr.str, yyvsp[-2].str, yyvsp[0].str);
4022 /* do not delete the filename*/
4023 a_delete yyvsp[-2].str;
4024 a_delete yyvsp[0].str;
4040 copy_rest_thru(yyvsp[-2].str, yyvsp[0].str);
4041 a_delete yyvsp[-2].str;
4042 a_delete yyvsp[0].str;
4055 do_for(yyvsp[-8].str, yyvsp[-6].x, yyvsp[-4].x, yyvsp[-3].by.is_multiplicative, yyvsp[-3].by.val, yyvsp[0].str);
4063 if (yyvsp[0].if_data.x != 0.0)
4064 push_body(yyvsp[0].if_data.body);
4065 a_delete yyvsp[0].if_data.body;
4078 if (yyvsp[-3].if_data.x != 0.0)
4079 push_body(yyvsp[-3].if_data.body);
4081 push_body(yyvsp[0].str);
4082 a_delete yyvsp[-3].if_data.body;
4083 a_delete yyvsp[0].str;
4088 { define_variable("scale", 1.0); }
4093 reset(yyvsp[0].str);
4094 a_delete yyvsp[0].str;
4100 reset(yyvsp[0].str);
4101 a_delete yyvsp[0].str;
4107 reset(yyvsp[0].str);
4108 a_delete yyvsp[0].str;
4113 { yyval.lstr = yyvsp[0].lstr; }
4118 yyval.lstr.str = new char[strlen(yyvsp[-1].lstr.str) + strlen(yyvsp[0].lstr.str) + 1];
4119 strcpy(yyval.lstr.str, yyvsp[-1].lstr.str);
4120 strcat(yyval.lstr.str, yyvsp[0].lstr.str);
4121 a_delete yyvsp[-1].lstr.str;
4122 a_delete yyvsp[0].lstr.str;
4123 if (yyvsp[-1].lstr.filename) {
4124 yyval.lstr.filename = yyvsp[-1].lstr.filename;
4125 yyval.lstr.lineno = yyvsp[-1].lstr.lineno;
4127 else if (yyvsp[0].lstr.filename) {
4128 yyval.lstr.filename = yyvsp[0].lstr.filename;
4129 yyval.lstr.lineno = yyvsp[0].lstr.lineno;
4136 yyval.lstr.str = new char[GDIGITS + 1];
4137 sprintf(yyval.lstr.str, "%g", yyvsp[0].x);
4138 yyval.lstr.filename = 0;
4139 yyval.lstr.lineno = 0;
4144 { yyval.lstr = yyvsp[0].lstr; }
4149 yyval.lstr.str = new char[GDIGITS + 2 + GDIGITS + 1];
4150 sprintf(yyval.lstr.str, "%g, %g", yyvsp[0].pair.x, yyvsp[0].pair.y);
4151 yyval.lstr.filename = 0;
4152 yyval.lstr.lineno = 0;
4163 yyval.if_data.x = yyvsp[-3].x;
4164 yyval.if_data.body = yyvsp[0].str;
4173 { yyval.str = yyvsp[0].lstr.str; }
4177 { yyval.x = yyvsp[0].x; }
4181 { yyval.x = yyvsp[0].x; }
4186 yyval.x = strcmp(yyvsp[-2].lstr.str, yyvsp[0].lstr.str) == 0;
4187 a_delete yyvsp[-2].lstr.str;
4188 a_delete yyvsp[0].lstr.str;
4194 yyval.x = strcmp(yyvsp[-2].lstr.str, yyvsp[0].lstr.str) != 0;
4195 a_delete yyvsp[-2].lstr.str;
4196 a_delete yyvsp[0].lstr.str;
4201 { yyval.x = (yyvsp[-2].x != 0.0 && yyvsp[0].x != 0.0); }
4205 { yyval.x = (yyvsp[-2].x != 0.0 && yyvsp[0].x != 0.0); }
4209 { yyval.x = (yyvsp[-2].x != 0.0 && yyvsp[0].x != 0.0); }
4213 { yyval.x = (yyvsp[-2].x != 0.0 || yyvsp[0].x != 0.0); }
4217 { yyval.x = (yyvsp[-2].x != 0.0 || yyvsp[0].x != 0.0); }
4221 { yyval.x = (yyvsp[-2].x != 0.0 || yyvsp[0].x != 0.0); }
4225 { yyval.x = (yyvsp[0].x == 0.0); }
4231 yyval.by.is_multiplicative = 0;
4237 yyval.by.val = yyvsp[0].x;
4238 yyval.by.is_multiplicative = 0;
4244 yyval.by.val = yyvsp[0].x;
4245 yyval.by.is_multiplicative = 1;
4251 yyval.pl.obj = yyvsp[0].spec->make_object(¤t_position,
4252 ¤t_direction);
4253 if (yyval.pl.obj == 0)
4255 delete yyvsp[0].spec;
4257 olist.append(yyval.pl.obj);
4259 yyval.pl.x = current_position.x;
4260 yyval.pl.y = current_position.y;
4267 yyval.pl = yyvsp[0].pl;
4268 define_label(yyvsp[-3].str, & yyval.pl);
4269 a_delete yyvsp[-3].str;
4276 yyval.pl.x = yyvsp[0].pair.x;
4277 yyval.pl.y = yyvsp[0].pair.y;
4278 define_label(yyvsp[-3].str, & yyval.pl);
4279 a_delete yyvsp[-3].str;
4285 yyval.pl = yyvsp[0].pl;
4286 define_label(yyvsp[-3].str, & yyval.pl);
4287 a_delete yyvsp[-3].str;
4293 yyval.state.x = current_position.x;
4294 yyval.state.y = current_position.y;
4295 yyval.state.dir = current_direction;
4301 current_position.x = yyvsp[-2].state.x;
4302 current_position.y = yyvsp[-2].state.y;
4303 current_direction = yyvsp[-2].state.dir;
4309 yyval.pl = yyvsp[-3].pl;
4316 yyval.pl.x = current_position.x;
4317 yyval.pl.y = current_position.y;
4330 { yyval.spec = new object_spec(BOX_OBJECT); }
4334 { yyval.spec = new object_spec(CIRCLE_OBJECT); }
4338 { yyval.spec = new object_spec(ELLIPSE_OBJECT); }
4343 yyval.spec = new object_spec(ARC_OBJECT);
4344 yyval.spec->dir = current_direction;
4350 yyval.spec = new object_spec(LINE_OBJECT);
4351 lookup_variable("lineht", & yyval.spec->segment_height);
4352 lookup_variable("linewid", & yyval.spec->segment_width);
4353 yyval.spec->dir = current_direction;
4359 yyval.spec = new object_spec(ARROW_OBJECT);
4360 lookup_variable("lineht", & yyval.spec->segment_height);
4361 lookup_variable("linewid", & yyval.spec->segment_width);
4362 yyval.spec->dir = current_direction;
4368 yyval.spec = new object_spec(MOVE_OBJECT);
4369 lookup_variable("moveht", & yyval.spec->segment_height);
4370 lookup_variable("movewid", & yyval.spec->segment_width);
4371 yyval.spec->dir = current_direction;
4377 yyval.spec = new object_spec(SPLINE_OBJECT);
4378 lookup_variable("lineht", & yyval.spec->segment_height);
4379 lookup_variable("linewid", & yyval.spec->segment_width);
4380 yyval.spec->dir = current_direction;
4386 yyval.spec = new object_spec(TEXT_OBJECT);
4387 yyval.spec->text = new text_item(yyvsp[0].lstr.str, yyvsp[0].lstr.filename, yyvsp[0].lstr.lineno);
4393 yyval.spec = new object_spec(TEXT_OBJECT);
4394 yyval.spec->text = new text_item(format_number(0, yyvsp[0].x), 0, -1);
4400 yyval.spec = new object_spec(TEXT_OBJECT);
4401 yyval.spec->text = new text_item(format_number(yyvsp[0].lstr.str, yyvsp[-1].x),
4402 yyvsp[0].lstr.filename, yyvsp[0].lstr.lineno);
4403 a_delete yyvsp[0].lstr.str;
4409 saved_state *p = new saved_state;
4411 p->x = current_position.x;
4412 p->y = current_position.y;
4413 p->dir = current_direction;
4414 p->tbl = current_table;
4415 p->prev = current_saved_state;
4416 current_position.x = 0.0;
4417 current_position.y = 0.0;
4418 current_table = new PTABLE(place);
4419 current_saved_state = p;
4420 olist.append(make_mark_object());
4426 current_position.x = yyvsp[-2].pstate->x;
4427 current_position.y = yyvsp[-2].pstate->y;
4428 current_direction = yyvsp[-2].pstate->dir;
4429 yyval.spec = new object_spec(BLOCK_OBJECT);
4430 olist.wrap_up_block(& yyval.spec->oblist);
4431 yyval.spec->tbl = current_table;
4432 current_table = yyvsp[-2].pstate->tbl;
4433 current_saved_state = yyvsp[-2].pstate->prev;
4434 delete yyvsp[-2].pstate;
4440 yyval.spec = yyvsp[-2].spec;
4441 yyval.spec->height = yyvsp[0].x;
4442 yyval.spec->flags |= HAS_HEIGHT;
4448 yyval.spec = yyvsp[-2].spec;
4449 yyval.spec->radius = yyvsp[0].x;
4450 yyval.spec->flags |= HAS_RADIUS;
4456 yyval.spec = yyvsp[-2].spec;
4457 yyval.spec->width = yyvsp[0].x;
4458 yyval.spec->flags |= HAS_WIDTH;
4464 yyval.spec = yyvsp[-2].spec;
4465 yyval.spec->radius = yyvsp[0].x/2.0;
4466 yyval.spec->flags |= HAS_RADIUS;
4472 yyval.spec = yyvsp[-1].spec;
4473 yyval.spec->flags |= HAS_SEGMENT;
4474 switch (yyval.spec->dir) {
4476 yyval.spec->segment_pos.y += yyvsp[0].x;
4478 case DOWN_DIRECTION:
4479 yyval.spec->segment_pos.y -= yyvsp[0].x;
4481 case RIGHT_DIRECTION:
4482 yyval.spec->segment_pos.x += yyvsp[0].x;
4484 case LEFT_DIRECTION:
4485 yyval.spec->segment_pos.x -= yyvsp[0].x;
4493 yyval.spec = yyvsp[-1].spec;
4494 yyval.spec->dir = UP_DIRECTION;
4495 yyval.spec->flags |= HAS_SEGMENT;
4496 yyval.spec->segment_pos.y += yyval.spec->segment_height;
4502 yyval.spec = yyvsp[-2].spec;
4503 yyval.spec->dir = UP_DIRECTION;
4504 yyval.spec->flags |= HAS_SEGMENT;
4505 yyval.spec->segment_pos.y += yyvsp[0].x;
4511 yyval.spec = yyvsp[-1].spec;
4512 yyval.spec->dir = DOWN_DIRECTION;
4513 yyval.spec->flags |= HAS_SEGMENT;
4514 yyval.spec->segment_pos.y -= yyval.spec->segment_height;
4520 yyval.spec = yyvsp[-2].spec;
4521 yyval.spec->dir = DOWN_DIRECTION;
4522 yyval.spec->flags |= HAS_SEGMENT;
4523 yyval.spec->segment_pos.y -= yyvsp[0].x;
4529 yyval.spec = yyvsp[-1].spec;
4530 yyval.spec->dir = RIGHT_DIRECTION;
4531 yyval.spec->flags |= HAS_SEGMENT;
4532 yyval.spec->segment_pos.x += yyval.spec->segment_width;
4538 yyval.spec = yyvsp[-2].spec;
4539 yyval.spec->dir = RIGHT_DIRECTION;
4540 yyval.spec->flags |= HAS_SEGMENT;
4541 yyval.spec->segment_pos.x += yyvsp[0].x;
4547 yyval.spec = yyvsp[-1].spec;
4548 yyval.spec->dir = LEFT_DIRECTION;
4549 yyval.spec->flags |= HAS_SEGMENT;
4550 yyval.spec->segment_pos.x -= yyval.spec->segment_width;
4556 yyval.spec = yyvsp[-2].spec;
4557 yyval.spec->dir = LEFT_DIRECTION;
4558 yyval.spec->flags |= HAS_SEGMENT;
4559 yyval.spec->segment_pos.x -= yyvsp[0].x;
4565 yyval.spec = yyvsp[-2].spec;
4566 yyval.spec->flags |= HAS_FROM;
4567 yyval.spec->from.x = yyvsp[0].pair.x;
4568 yyval.spec->from.y = yyvsp[0].pair.y;
4574 yyval.spec = yyvsp[-2].spec;
4575 if (yyval.spec->flags & HAS_SEGMENT)
4576 yyval.spec->segment_list = new segment(yyval.spec->segment_pos,
4577 yyval.spec->segment_is_absolute,
4578 yyval.spec->segment_list);
4579 yyval.spec->flags |= HAS_SEGMENT;
4580 yyval.spec->segment_pos.x = yyvsp[0].pair.x;
4581 yyval.spec->segment_pos.y = yyvsp[0].pair.y;
4582 yyval.spec->segment_is_absolute = 1;
4583 yyval.spec->flags |= HAS_TO;
4584 yyval.spec->to.x = yyvsp[0].pair.x;
4585 yyval.spec->to.y = yyvsp[0].pair.y;
4591 yyval.spec = yyvsp[-2].spec;
4592 yyval.spec->flags |= HAS_AT;
4593 yyval.spec->at.x = yyvsp[0].pair.x;
4594 yyval.spec->at.y = yyvsp[0].pair.y;
4595 if (yyval.spec->type != ARC_OBJECT) {
4596 yyval.spec->flags |= HAS_FROM;
4597 yyval.spec->from.x = yyvsp[0].pair.x;
4598 yyval.spec->from.y = yyvsp[0].pair.y;
4605 yyval.spec = yyvsp[-2].spec;
4606 yyval.spec->flags |= HAS_WITH;
4607 yyval.spec->with = yyvsp[0].pth;
4613 yyval.spec = yyvsp[-2].spec;
4614 yyval.spec->flags |= HAS_WITH;
4616 pos.x = yyvsp[0].pair.x;
4617 pos.y = yyvsp[0].pair.y;
4618 yyval.spec->with = new path(pos);
4624 yyval.spec = yyvsp[-2].spec;
4625 yyval.spec->flags |= HAS_SEGMENT;
4626 yyval.spec->segment_pos.x += yyvsp[0].pair.x;
4627 yyval.spec->segment_pos.y += yyvsp[0].pair.y;
4633 yyval.spec = yyvsp[-1].spec;
4634 if (yyval.spec->flags & HAS_SEGMENT) {
4635 yyval.spec->segment_list = new segment(yyval.spec->segment_pos,
4636 yyval.spec->segment_is_absolute,
4637 yyval.spec->segment_list);
4638 yyval.spec->flags &= ~HAS_SEGMENT;
4639 yyval.spec->segment_pos.x = yyval.spec->segment_pos.y = 0.0;
4640 yyval.spec->segment_is_absolute = 0;
4647 yyval.spec = yyvsp[-1].spec; /* nothing*/
4653 yyval.spec = yyvsp[-1].spec;
4654 yyval.spec->flags |= IS_DOTTED;
4655 lookup_variable("dashwid", & yyval.spec->dash_width);
4661 yyval.spec = yyvsp[-2].spec;
4662 yyval.spec->flags |= IS_DOTTED;
4663 yyval.spec->dash_width = yyvsp[0].x;
4669 yyval.spec = yyvsp[-1].spec;
4670 yyval.spec->flags |= IS_DASHED;
4671 lookup_variable("dashwid", & yyval.spec->dash_width);
4677 yyval.spec = yyvsp[-2].spec;
4678 yyval.spec->flags |= IS_DASHED;
4679 yyval.spec->dash_width = yyvsp[0].x;
4685 yyval.spec = yyvsp[-1].spec;
4686 yyval.spec->flags |= IS_DEFAULT_FILLED;
4692 yyval.spec = yyvsp[-2].spec;
4693 yyval.spec->flags |= IS_FILLED;
4694 yyval.spec->fill = yyvsp[0].x;
4700 yyval.spec = yyvsp[-2].spec;
4701 yyval.spec->flags |= (IS_SHADED | IS_FILLED);
4702 yyval.spec->shaded = new char[strlen(yyvsp[0].lstr.str)+1];
4703 strcpy(yyval.spec->shaded, yyvsp[0].lstr.str);
4709 yyval.spec = yyvsp[-2].spec;
4710 yyval.spec->flags |= (IS_SHADED | IS_OUTLINED | IS_FILLED);
4711 yyval.spec->shaded = new char[strlen(yyvsp[0].lstr.str)+1];
4712 strcpy(yyval.spec->shaded, yyvsp[0].lstr.str);
4713 yyval.spec->outlined = new char[strlen(yyvsp[0].lstr.str)+1];
4714 strcpy(yyval.spec->outlined, yyvsp[0].lstr.str);
4720 yyval.spec = yyvsp[-2].spec;
4721 yyval.spec->flags |= IS_OUTLINED;
4722 yyval.spec->outlined = new char[strlen(yyvsp[0].lstr.str)+1];
4723 strcpy(yyval.spec->outlined, yyvsp[0].lstr.str);
4729 yyval.spec = yyvsp[-1].spec;
4730 /* line chop chop means line chop 0 chop 0*/
4731 if (yyval.spec->flags & IS_DEFAULT_CHOPPED) {
4732 yyval.spec->flags |= IS_CHOPPED;
4733 yyval.spec->flags &= ~IS_DEFAULT_CHOPPED;
4734 yyval.spec->start_chop = yyval.spec->end_chop = 0.0;
4736 else if (yyval.spec->flags & IS_CHOPPED) {
4737 yyval.spec->end_chop = 0.0;
4740 yyval.spec->flags |= IS_DEFAULT_CHOPPED;
4747 yyval.spec = yyvsp[-2].spec;
4748 if (yyval.spec->flags & IS_DEFAULT_CHOPPED) {
4749 yyval.spec->flags |= IS_CHOPPED;
4750 yyval.spec->flags &= ~IS_DEFAULT_CHOPPED;
4751 yyval.spec->start_chop = 0.0;
4752 yyval.spec->end_chop = yyvsp[0].x;
4754 else if (yyval.spec->flags & IS_CHOPPED) {
4755 yyval.spec->end_chop = yyvsp[0].x;
4758 yyval.spec->start_chop = yyval.spec->end_chop = yyvsp[0].x;
4759 yyval.spec->flags |= IS_CHOPPED;
4766 yyval.spec = yyvsp[-1].spec;
4767 yyval.spec->flags |= IS_SAME;
4773 yyval.spec = yyvsp[-1].spec;
4774 yyval.spec->flags |= IS_INVISIBLE;
4780 yyval.spec = yyvsp[-1].spec;
4781 yyval.spec->flags |= HAS_LEFT_ARROW_HEAD;
4787 yyval.spec = yyvsp[-1].spec;
4788 yyval.spec->flags |= HAS_RIGHT_ARROW_HEAD;
4794 yyval.spec = yyvsp[-1].spec;
4795 yyval.spec->flags |= (HAS_LEFT_ARROW_HEAD|HAS_RIGHT_ARROW_HEAD);
4801 yyval.spec = yyvsp[-1].spec;
4802 yyval.spec->flags |= IS_CLOCKWISE;
4808 yyval.spec = yyvsp[-1].spec;
4809 yyval.spec->flags &= ~IS_CLOCKWISE;
4815 yyval.spec = yyvsp[-1].spec;
4817 for (p = & yyval.spec->text; *p; p = &(*p)->next)
4819 *p = new text_item(yyvsp[0].lstr.str, yyvsp[0].lstr.filename, yyvsp[0].lstr.lineno);
4825 yyval.spec = yyvsp[-1].spec;
4826 if (yyval.spec->text) {
4828 for (p = yyval.spec->text; p->next; p = p->next)
4830 p->adj.h = LEFT_ADJUST;
4837 yyval.spec = yyvsp[-1].spec;
4838 if (yyval.spec->text) {
4840 for (p = yyval.spec->text; p->next; p = p->next)
4842 p->adj.h = RIGHT_ADJUST;
4849 yyval.spec = yyvsp[-1].spec;
4850 if (yyval.spec->text) {
4852 for (p = yyval.spec->text; p->next; p = p->next)
4854 p->adj.v = ABOVE_ADJUST;
4861 yyval.spec = yyvsp[-1].spec;
4862 if (yyval.spec->text) {
4864 for (p = yyval.spec->text; p->next; p = p->next)
4866 p->adj.v = BELOW_ADJUST;
4873 yyval.spec = yyvsp[-2].spec;
4874 yyval.spec->flags |= HAS_THICKNESS;
4875 yyval.spec->thickness = yyvsp[0].x;
4881 yyval.spec = yyvsp[-1].spec;
4882 yyval.spec->flags |= IS_ALIGNED;
4887 { yyval.lstr = yyvsp[0].lstr; }
4892 yyval.lstr.filename = yyvsp[-2].lstr.filename;
4893 yyval.lstr.lineno = yyvsp[-2].lstr.lineno;
4894 yyval.lstr.str = do_sprintf(yyvsp[-2].lstr.str, yyvsp[-1].dv.v, yyvsp[-1].dv.nv);
4895 a_delete yyvsp[-1].dv.v;
4896 a_delete yyvsp[-2].lstr.str;
4910 yyval.dv = yyvsp[-2].dv;
4911 if (yyval.dv.nv >= yyval.dv.maxv) {
4912 if (yyval.dv.nv == 0) {
4913 yyval.dv.v = new double[4];
4917 double *oldv = yyval.dv.v;
4920 yyval.dv.v = new double[yyval.dv.maxv];
4921 memcpy(yyval.dv.v, oldv, yyval.dv.nv*sizeof(double));
4923 /* workaround for bug in Compaq C++ V6.5-033*/
4924 /* for Compaq Tru64 UNIX V5.1A (Rev. 1885)*/
4925 double *foo = new double[yyval.dv.maxv];
4926 memcpy(foo, oldv, yyval.dv.nv*sizeof(double));
4932 yyval.dv.v[yyval.dv.nv] = yyvsp[0].x;
4938 { yyval.pair = yyvsp[0].pair; }
4943 position pos = yyvsp[0].pl;
4944 yyval.pair.x = pos.x;
4945 yyval.pair.y = pos.y;
4951 position pos = yyvsp[-1].pl;
4952 yyval.pair.x = pos.x;
4953 yyval.pair.y = pos.y;
4958 { yyval.pair = yyvsp[0].pair; }
4963 yyval.pair.x = yyvsp[-2].pair.x + yyvsp[0].pair.x;
4964 yyval.pair.y = yyvsp[-2].pair.y + yyvsp[0].pair.y;
4970 yyval.pair.x = yyvsp[-3].pair.x + yyvsp[-1].pair.x;
4971 yyval.pair.y = yyvsp[-3].pair.y + yyvsp[-1].pair.y;
4977 yyval.pair.x = yyvsp[-2].pair.x - yyvsp[0].pair.x;
4978 yyval.pair.y = yyvsp[-2].pair.y - yyvsp[0].pair.y;
4984 yyval.pair.x = yyvsp[-3].pair.x - yyvsp[-1].pair.x;
4985 yyval.pair.y = yyvsp[-3].pair.y - yyvsp[-1].pair.y;
4991 yyval.pair.x = yyvsp[-3].pair.x;
4992 yyval.pair.y = yyvsp[-1].pair.y;
4998 yyval.pair.x = (1.0 - yyvsp[-4].x)*yyvsp[-2].pair.x + yyvsp[-4].x*yyvsp[0].pair.x;
4999 yyval.pair.y = (1.0 - yyvsp[-4].x)*yyvsp[-2].pair.y + yyvsp[-4].x*yyvsp[0].pair.y;
5005 yyval.pair.x = (1.0 - yyvsp[-5].x)*yyvsp[-3].pair.x + yyvsp[-5].x*yyvsp[-1].pair.x;
5006 yyval.pair.y = (1.0 - yyvsp[-5].x)*yyvsp[-3].pair.y + yyvsp[-5].x*yyvsp[-1].pair.y;
5012 yyval.pair.x = (1.0 - yyvsp[-5].x)*yyvsp[-3].pair.x + yyvsp[-5].x*yyvsp[-1].pair.x;
5013 yyval.pair.y = (1.0 - yyvsp[-5].x)*yyvsp[-3].pair.y + yyvsp[-5].x*yyvsp[-1].pair.y;
5019 yyval.pair.x = (1.0 - yyvsp[-6].x)*yyvsp[-4].pair.x + yyvsp[-6].x*yyvsp[-2].pair.x;
5020 yyval.pair.y = (1.0 - yyvsp[-6].x)*yyvsp[-4].pair.y + yyvsp[-6].x*yyvsp[-2].pair.y;
5026 yyval.pair.x = yyvsp[-2].x;
5027 yyval.pair.y = yyvsp[0].x;
5032 { yyval.pair = yyvsp[-1].pair; }
5036 { yyval.pl = yyvsp[0].pl; }
5041 path pth(yyvsp[0].crn);
5042 if (!pth.follow(yyvsp[-1].pl, & yyval.pl))
5049 path pth(yyvsp[-1].crn);
5050 if (!pth.follow(yyvsp[0].pl, & yyval.pl))
5057 path pth(yyvsp[-2].crn);
5058 if (!pth.follow(yyvsp[0].pl, & yyval.pl))
5065 yyval.pl.x = current_position.x;
5066 yyval.pl.y = current_position.y;
5073 place *p = lookup_label(yyvsp[0].str);
5075 lex_error("there is no place `%1'", yyvsp[0].str);
5079 a_delete yyvsp[0].str;
5084 { yyval.pl.obj = yyvsp[0].obj; }
5089 path pth(yyvsp[0].str);
5090 if (!pth.follow(yyvsp[-2].pl, & yyval.pl))
5096 { yyval.n = yyvsp[0].n; }
5101 /* XXX Check for overflow (and non-integers?).*/
5102 yyval.n = (int)yyvsp[-1].x;
5111 { yyval.n = yyvsp[-1].n; }
5118 for (p = olist.head; p != 0; p = p->next)
5119 if (p->type() == yyvsp[0].obtype && ++count == yyvsp[-1].n) {
5124 lex_error("there is no %1%2 %3", yyvsp[-1].n, ordinal_postfix(yyvsp[-1].n),
5125 object_type_name(yyvsp[0].obtype));
5135 for (p = olist.tail; p != 0; p = p->prev)
5136 if (p->type() == yyvsp[0].obtype && ++count == yyvsp[-1].n) {
5141 lex_error("there is no %1%2 last %3", yyvsp[-1].n,
5142 ordinal_postfix(yyvsp[-1].n), object_type_name(yyvsp[0].obtype));
5149 { yyval.obtype = BOX_OBJECT; }
5153 { yyval.obtype = CIRCLE_OBJECT; }
5157 { yyval.obtype = ELLIPSE_OBJECT; }
5161 { yyval.obtype = ARC_OBJECT; }
5165 { yyval.obtype = LINE_OBJECT; }
5169 { yyval.obtype = ARROW_OBJECT; }
5173 { yyval.obtype = SPLINE_OBJECT; }
5177 { yyval.obtype = BLOCK_OBJECT; }
5181 { yyval.obtype = TEXT_OBJECT; }
5185 { yyval.pth = new path(yyvsp[0].str); }
5190 yyval.pth = yyvsp[-2].pth;
5191 yyval.pth->append(yyvsp[0].str);
5196 { yyval.pth = new path(yyvsp[0].crn); }
5200 { yyval.pth = yyvsp[0].pth; }
5205 yyval.pth = yyvsp[-1].pth;
5206 yyval.pth->append(yyvsp[0].crn);
5211 { yyval.pth = yyvsp[0].pth; }
5216 yyval.pth = yyvsp[-3].pth;
5217 yyval.pth->set_ypath(yyvsp[-1].pth);
5223 lex_warning("`%1%2 last %3' in `with' argument ignored",
5224 yyvsp[-3].n, ordinal_postfix(yyvsp[-3].n), object_type_name(yyvsp[-1].obtype));
5225 yyval.pth = yyvsp[0].pth;
5231 lex_warning("`last %1' in `with' argument ignored",
5232 object_type_name(yyvsp[-1].obtype));
5233 yyval.pth = yyvsp[0].pth;
5239 lex_warning("`%1%2 %3' in `with' argument ignored",
5240 yyvsp[-2].n, ordinal_postfix(yyvsp[-2].n), object_type_name(yyvsp[-1].obtype));
5241 yyval.pth = yyvsp[0].pth;
5247 lex_warning("initial `%1' in `with' argument ignored", yyvsp[-1].str);
5248 a_delete yyvsp[-1].str;
5249 yyval.pth = yyvsp[0].pth;
5254 { yyval.crn = &object::north; }
5258 { yyval.crn = &object::east; }
5262 { yyval.crn = &object::west; }
5266 { yyval.crn = &object::south; }
5270 { yyval.crn = &object::north_east; }
5274 { yyval.crn = &object:: south_east; }
5278 { yyval.crn = &object::north_west; }
5282 { yyval.crn = &object::south_west; }
5286 { yyval.crn = &object::center; }
5290 { yyval.crn = &object::start; }
5294 { yyval.crn = &object::end; }
5298 { yyval.crn = &object::north; }
5302 { yyval.crn = &object::south; }
5306 { yyval.crn = &object::west; }
5310 { yyval.crn = &object::east; }
5314 { yyval.crn = &object::north_west; }
5318 { yyval.crn = &object::south_west; }
5322 { yyval.crn = &object::north_east; }
5326 { yyval.crn = &object::south_east; }
5330 { yyval.crn = &object::west; }
5334 { yyval.crn = &object::east; }
5338 { yyval.crn = &object::north_west; }
5342 { yyval.crn = &object::south_west; }
5346 { yyval.crn = &object::north_east; }
5350 { yyval.crn = &object::south_east; }
5354 { yyval.crn = &object::north; }
5358 { yyval.crn = &object::south; }
5362 { yyval.crn = &object::east; }
5366 { yyval.crn = &object::west; }
5370 { yyval.crn = &object::center; }
5374 { yyval.crn = &object::start; }
5378 { yyval.crn = &object::end; }
5383 if (!lookup_variable(yyvsp[0].str, & yyval.x)) {
5384 lex_error("there is no variable `%1'", yyvsp[0].str);
5387 a_delete yyvsp[0].str;
5392 { yyval.x = yyvsp[0].x; }
5397 if (yyvsp[-1].pl.obj != 0)
5398 yyval.x = yyvsp[-1].pl.obj->origin().x;
5400 yyval.x = yyvsp[-1].pl.x;
5406 if (yyvsp[-1].pl.obj != 0)
5407 yyval.x = yyvsp[-1].pl.obj->origin().y;
5409 yyval.x = yyvsp[-1].pl.y;
5415 if (yyvsp[-1].pl.obj != 0)
5416 yyval.x = yyvsp[-1].pl.obj->height();
5424 if (yyvsp[-1].pl.obj != 0)
5425 yyval.x = yyvsp[-1].pl.obj->width();
5433 if (yyvsp[-1].pl.obj != 0)
5434 yyval.x = yyvsp[-1].pl.obj->radius();
5441 { yyval.x = yyvsp[-2].x + yyvsp[0].x; }
5445 { yyval.x = yyvsp[-2].x - yyvsp[0].x; }
5449 { yyval.x = yyvsp[-2].x * yyvsp[0].x; }
5454 if (yyvsp[0].x == 0.0) {
5455 lex_error("division by zero");
5458 yyval.x = yyvsp[-2].x/yyvsp[0].x;
5464 if (yyvsp[0].x == 0.0) {
5465 lex_error("modulus by zero");
5468 yyval.x = fmod(yyvsp[-2].x, yyvsp[0].x);
5475 yyval.x = pow(yyvsp[-2].x, yyvsp[0].x);
5476 if (errno == EDOM) {
5477 lex_error("arguments to `^' operator out of domain");
5480 if (errno == ERANGE) {
5481 lex_error("result of `^' operator out of range");
5488 { yyval.x = -yyvsp[0].x; }
5492 { yyval.x = yyvsp[-1].x; }
5498 yyval.x = sin(yyvsp[-1].x);
5499 if (errno == ERANGE) {
5500 lex_error("sin result out of range");
5509 yyval.x = cos(yyvsp[-1].x);
5510 if (errno == ERANGE) {
5511 lex_error("cos result out of range");
5520 yyval.x = atan2(yyvsp[-3].x, yyvsp[-1].x);
5521 if (errno == EDOM) {
5522 lex_error("atan2 argument out of domain");
5525 if (errno == ERANGE) {
5526 lex_error("atan2 result out of range");
5535 yyval.x = log10(yyvsp[-1].x);
5536 if (errno == ERANGE) {
5537 lex_error("log result out of range");
5546 yyval.x = pow(10.0, yyvsp[-1].x);
5547 if (errno == ERANGE) {
5548 lex_error("exp result out of range");
5557 yyval.x = sqrt(yyvsp[-1].x);
5558 if (errno == EDOM) {
5559 lex_error("sqrt argument out of domain");
5566 { yyval.x = yyvsp[-3].x > yyvsp[-1].x ? yyvsp[-3].x : yyvsp[-1].x; }
5570 { yyval.x = yyvsp[-3].x < yyvsp[-1].x ? yyvsp[-3].x : yyvsp[-1].x; }
5574 { yyval.x = floor(yyvsp[-1].x); }
5578 { yyval.x = 1.0 + floor(((rand()&0x7fff)/double(0x7fff))*yyvsp[-1].x); }
5583 /* return a random number in the range [0,1) */
5584 /* portable, but not very random */
5585 yyval.x = (rand() & 0x7fff) / double(0x8000);
5592 srand((unsigned int)yyvsp[-1].x);
5597 { yyval.x = (yyvsp[-2].x < yyvsp[0].x); }
5601 { yyval.x = (yyvsp[-2].x <= yyvsp[0].x); }
5605 { yyval.x = (yyvsp[-2].x > yyvsp[0].x); }
5609 { yyval.x = (yyvsp[-2].x >= yyvsp[0].x); }
5613 { yyval.x = (yyvsp[-2].x == yyvsp[0].x); }
5617 { yyval.x = (yyvsp[-2].x != yyvsp[0].x); }
5621 { yyval.x = (yyvsp[-2].x != 0.0 && yyvsp[0].x != 0.0); }
5625 { yyval.x = (yyvsp[-2].x != 0.0 || yyvsp[0].x != 0.0); }
5629 { yyval.x = (yyvsp[0].x == 0.0); }
5631 #line 5632 "y.tab.c"
5637 if (yystate == 0 && yym == 0)
5641 printf("%sdebug: after reduction, shifting from state 0 to\
5642 state %d\n", YYPREFIX, YYFINAL);
5649 if ((yychar = yylex()) < 0) yychar = 0;
5654 if (yychar <= YYMAXTOKEN) yys = yyname[yychar];
5655 if (!yys) yys = "illegal-symbol";
5656 printf("%sdebug: state %d, reading %d (%s)\n",
5657 YYPREFIX, YYFINAL, yychar, yys);
5661 if (yychar == 0) goto yyaccept;
5664 if ((yyn = yygindex[yym]) && (yyn += yystate) >= 0 &&
5665 yyn <= YYTABLESIZE && yycheck[yyn] == yystate)
5666 yystate = yytable[yyn];
5668 yystate = yydgoto[yym];
5671 printf("%sdebug: after reduction, shifting from state %d \
5672 to state %d\n", YYPREFIX, *yyssp, yystate);
5674 if (yyssp >= yyss + yystacksize - 1)
5682 yyerror("yacc stack overflow");