2 static const char yysccsid[] = "@(#)yaccpar 1.9 (Berkeley) 02/21/93";
11 #define YYPATCH 20081224
14 #define yyclearin (yychar = YYEMPTY)
15 #define yyerrok (yyerrflag = 0)
16 #define YYRECOVERING() (yyerrflag != 0)
18 /* compatibility with bison */
20 /* compatibility with FreeBSD */
21 #ifdef YYPARSE_PARAM_TYPE
22 #define YYPARSE_DECL() yyparse(YYPARSE_PARAM_TYPE YYPARSE_PARAM)
24 #define YYPARSE_DECL() yyparse(void *YYPARSE_PARAM)
27 #define YYPARSE_DECL() yyparse(void)
28 #endif /* YYPARSE_PARAM */
30 extern int YYPARSE_DECL();
32 static int yygrowstack(void);
39 extern int delim_flag;
40 extern void copy_rest_thru(const char *, const char *);
41 extern void copy_file_thru(const char *, const char *, const char *);
42 extern void push_body(const char *);
43 extern void do_for(char *var, double from, double to,
44 int by_is_multiplicative, double by, char *body);
45 extern void do_lookahead();
47 /* Maximum number of characters produced by printf("%g") */
51 void yyerror(const char *);
53 void reset(const char *nm);
56 place *lookup_label(const char *);
57 void define_label(const char *label, const place *pl);
59 direction current_direction;
60 position current_position;
62 implement_ptable(place)
64 PTABLE(place) top_table;
66 PTABLE(place) *current_table = &top_table;
67 saved_state *current_saved_state = 0;
71 const char *ordinal_postfix(int n);
72 const char *object_type_name(object_type type);
73 char *format_number(const char *form, double n);
74 char *do_sprintf(const char *form, const double *v, int nv);
81 struct { double x, y; } pair;
82 struct { double x; char *body; } if_data;
83 struct { char *str; const char *filename; int lineno; } lstr;
84 struct { double *v; int nv; int maxv; } dv;
85 struct { double val; int is_multiplicative; } by;
100 #define COMMAND_LINE 261
101 #define DELIMITED 262
104 #define LEFT_ARROW_HEAD 265
105 #define RIGHT_ARROW_HEAD 266
106 #define DOUBLE_ARROW_HEAD 267
136 #define INVISIBLE 297
156 #define DOT_START 317
191 #define EQUALEQUAL 352
192 #define LESSEQUAL 353
193 #define GREATEREQUAL 354
194 #define LEFT_CORNER 355
195 #define RIGHT_CORNER 356
206 #define THICKNESS 367
218 #define YYERRCODE 256
219 static const short yylhs[] = { -1,
220 0, 0, 16, 17, 17, 29, 29, 30, 30, 31,
221 31, 31, 31, 31, 31, 31, 31, 31, 31, 32,
222 31, 31, 33, 34, 31, 35, 36, 31, 37, 31,
223 31, 38, 31, 31, 31, 23, 23, 39, 39, 39,
224 27, 27, 28, 28, 28, 40, 7, 24, 24, 2,
225 2, 3, 3, 3, 3, 3, 3, 3, 3, 3,
226 4, 4, 4, 15, 15, 15, 15, 41, 43, 15,
227 15, 42, 42, 18, 18, 18, 18, 18, 18, 18,
228 18, 18, 18, 18, 44, 18, 18, 18, 18, 18,
229 18, 18, 18, 18, 18, 18, 18, 18, 18, 18,
230 18, 18, 18, 18, 18, 18, 18, 18, 18, 18,
231 18, 18, 18, 18, 18, 18, 18, 18, 18, 18,
232 18, 18, 18, 18, 18, 18, 18, 18, 18, 18,
233 18, 18, 18, 18, 26, 26, 25, 25, 19, 19,
234 19, 6, 6, 6, 6, 6, 6, 6, 6, 6,
235 6, 45, 45, 5, 5, 13, 13, 13, 13, 13,
236 14, 14, 14, 22, 22, 21, 21, 8, 8, 20,
237 20, 20, 20, 20, 20, 20, 20, 20, 11, 11,
238 12, 12, 12, 10, 10, 10, 10, 10, 10, 9,
239 9, 9, 9, 9, 9, 9, 9, 9, 9, 9,
240 9, 9, 9, 9, 9, 9, 9, 9, 9, 9,
241 9, 9, 9, 9, 9, 9, 9, 9, 9, 9,
242 9, 1, 1, 1, 1, 1, 1, 1, 1, 1,
243 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
244 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
247 static const short yylen[] = { 2,
248 1, 1, 3, 1, 3, 0, 1, 1, 2, 3,
249 3, 4, 1, 1, 1, 1, 1, 2, 2, 0,
250 3, 2, 0, 0, 7, 0, 0, 6, 0, 10,
251 1, 0, 4, 1, 1, 1, 1, 2, 2, 3,
252 1, 2, 1, 1, 1, 0, 5, 0, 2, 1,
253 1, 3, 3, 3, 3, 3, 3, 3, 3, 2,
254 0, 2, 3, 1, 4, 4, 4, 0, 0, 6,
255 1, 0, 1, 1, 1, 1, 1, 1, 1, 1,
256 1, 1, 2, 3, 0, 4, 3, 3, 3, 3,
257 2, 2, 3, 2, 3, 2, 3, 2, 3, 3,
258 3, 3, 3, 3, 3, 2, 2, 2, 3, 2,
259 3, 2, 3, 3, 3, 3, 3, 3, 2, 3,
260 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
261 2, 2, 3, 2, 1, 5, 0, 3, 1, 1,
262 3, 1, 3, 5, 3, 5, 5, 5, 7, 6,
263 8, 1, 4, 3, 3, 1, 2, 2, 3, 1,
264 1, 1, 3, 1, 3, 1, 2, 2, 2, 1,
265 1, 1, 1, 1, 1, 1, 2, 1, 2, 3,
266 1, 1, 2, 1, 5, 4, 3, 3, 2, 1,
267 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
268 1, 1, 1, 1, 2, 2, 2, 2, 1, 1,
269 2, 2, 2, 2, 1, 1, 1, 1, 1, 1,
270 1, 1, 1, 2, 2, 2, 2, 2, 3, 3,
271 3, 3, 3, 3, 2, 3, 4, 4, 6, 4,
272 4, 4, 6, 6, 4, 4, 3, 4, 3, 3,
275 static const short yydefred[] = { 0,
276 8, 0, 2, 0, 0, 0, 0, 135, 17, 74,
277 75, 76, 77, 78, 79, 80, 81, 0, 13, 14,
278 16, 15, 0, 20, 0, 0, 0, 0, 0, 0,
279 0, 85, 68, 0, 4, 0, 0, 82, 71, 0,
280 9, 0, 0, 0, 0, 0, 26, 0, 161, 222,
281 223, 164, 166, 204, 203, 160, 190, 191, 192, 193,
282 194, 195, 196, 197, 198, 199, 200, 0, 0, 0,
283 0, 0, 0, 0, 0, 0, 0, 0, 201, 202,
284 0, 0, 209, 210, 215, 216, 217, 218, 219, 221,
285 220, 0, 0, 0, 0, 0, 142, 139, 162, 0,
286 0, 0, 0, 0, 0, 44, 0, 41, 0, 0,
287 0, 0, 0, 0, 0, 0, 38, 0, 0, 0,
288 0, 0, 32, 3, 0, 123, 124, 125, 0, 0,
289 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
290 0, 106, 107, 0, 0, 0, 121, 122, 129, 130,
291 131, 132, 126, 127, 0, 0, 0, 0, 0, 0,
292 0, 134, 0, 128, 39, 0, 0, 11, 0, 37,
293 36, 10, 23, 0, 21, 0, 0, 0, 0, 0,
294 0, 0, 0, 0, 0, 0, 207, 205, 211, 213,
295 208, 206, 212, 214, 0, 0, 0, 0, 0, 0,
296 0, 0, 0, 152, 0, 0, 0, 0, 0, 0,
297 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
298 0, 0, 224, 225, 226, 227, 228, 0, 157, 0,
299 0, 178, 170, 171, 172, 173, 174, 175, 176, 0,
300 169, 167, 168, 42, 0, 0, 60, 0, 0, 0,
301 46, 0, 0, 0, 0, 84, 137, 0, 0, 0,
302 0, 5, 0, 0, 0, 0, 0, 0, 0, 0,
303 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
304 103, 0, 184, 0, 0, 0, 105, 0, 0, 0,
305 0, 0, 117, 118, 116, 0, 0, 40, 0, 0,
306 0, 0, 0, 0, 65, 0, 12, 0, 27, 0,
307 0, 0, 0, 0, 0, 0, 0, 0, 247, 0,
308 0, 0, 0, 236, 155, 141, 0, 0, 0, 165,
309 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
310 0, 0, 0, 0, 0, 0, 0, 0, 0, 163,
311 143, 145, 177, 0, 0, 56, 0, 0, 0, 0,
312 0, 54, 0, 0, 53, 52, 0, 86, 69, 33,
313 181, 189, 0, 0, 0, 179, 0, 0, 183, 0,
314 0, 24, 0, 237, 238, 0, 240, 241, 242, 0,
315 0, 245, 246, 248, 0, 0, 0, 0, 0, 0,
316 0, 0, 0, 47, 0, 136, 0, 0, 188, 187,
317 0, 180, 0, 0, 28, 0, 0, 0, 0, 0,
318 147, 144, 146, 153, 0, 0, 0, 0, 73, 70,
319 186, 0, 25, 49, 239, 243, 244, 0, 0, 150,
320 0, 0, 185, 0, 149, 0, 0, 29, 151, 0,
323 static const short yydgoto[] = { 2,
324 112, 196, 114, 442, 97, 98, 34, 99, 100, 281,
325 282, 283, 115, 102, 35, 3, 36, 37, 103, 241,
326 104, 105, 172, 415, 367, 116, 107, 108, 259, 5,
327 39, 48, 308, 413, 174, 383, 451, 261, 40, 360,
328 122, 430, 407, 121, 220,
330 static const short yysindex[] = { -49,
331 0, 0, 0, 5473, -26, -10, -15, 0, 0, 0,
332 0, 0, 0, 0, 0, 0, 0, 5, 0, 0,
333 0, 0, -238, 0,13272, -185,13356, -178,13858, 45,
334 13272, 0, 0, -255, 0, -49,12851, 0, 0, -36,
335 0, -49,13356, 72, -231, -198, 0, -107, 0, 0,
336 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
337 0, 0, 0, 0, 0, 0, 0, 119, 123, 128,
338 139, 162, 164, 174, 175, 178, 179, 181, 0, 0,
339 -266, -233, 0, 0, 0, 0, 0, 0, 0, 0,
340 0,13521,13356,13858,13858, 1079, 0, 0, 0, -17,
341 186, 454, 98, 997, 874, 0,13272, 0, 183,13356,
342 13356, 1218, -56, -288, 186, -234, 0, -22, -18,13272,
343 -49, -49, 0, 0, 5011, 0, 0, 0,13858,13858,
344 13858,13858,14111,14111,14111,14111,13942,13942,13942,13689,
345 14027, 0, 0,14111,14111,14111, 0, 0, 0, 0,
346 0, 0, 0, 0,13858,14111, -243, -243, -243,13858,
347 13858, 0, 1664, 0, 0, -6,12604, 0,13356, 0,
348 0, 0, 0, -14, 0,13356,13356,13356,13356,13356,
349 13356,13356,13356,13356,12970,13356, 0, 0, 0, 0,
350 0, 0, 0, 0, 1543, 217, 228, -39, 84, 6,
351 192, 192, -16, 0,13858,13858,13858,13858,13858,13858,
352 13858,13942,13858,13858,13858,13858,13858,13858,13858,13942,
353 4, 245, 0, 0, 0, 0, 0, 48, 0,14027,
354 14027, 0, 0, 0, 0, 0, 0, 0, 0, 214,
355 0, 0, 0, 0,13858, 192, 0,13356,13356,13858,
356 0,13356,13356, -243, -243, 0, 0, 226, 5473, 185,
357 63, 0, 1664, 1664, 1664, 1664, 1664, 1664, 1664, 1664,
358 1079, 98, 98, 98, 2203, 820, 820, 69,13153, -17,
359 0, 465, 0, 98,13605, -13, 0, 1664, 1664, 1664,
360 1664, 1664, 0, 0, 0, 1664, 1664, 0, -10, -15,
361 0, 0, 0, 186, 0, 98, 0, 73, 0, 293,
362 302, 300, 305, 306, 313, 317, 319, 316, 0, 323,
363 330,13942,13942, 0, 0, 0,13942,14027,14027, 0,
364 70, 2125, 1688, 107, 107, 54, 54, 1664, 194, 234,
365 54, 109, 109, 192, 192, 192, 192, -38, 245, 0,
366 0, 0, 0, 394, 2125, 0, 2114, 26, 54, 126,
367 2125, 0, 2114, 26, 0, 0, 34, 0, 0, 0,
368 0, 0, 997, 870, 870, 0, 337, 129, 0, 325,
369 228, 0, 27, 0, 0,13356, 0, 0, 0,13356,
370 13356, 0, 0, 0, 272, -32, 121, 350, 368, 108,
371 13942,13942,13858, 0,13858, 0, 5473, 870, 0, 0,
372 870, 0, 27, 152, 0, 374, 377, 381,13942,13942,
373 0, 0, 0, 0, -8, 98, 1652, 1664, 0, 0,
374 0, 388, 0, 0, 0, 0, 0, 14, 221, 0,
375 13774, 87, 0, 389, 0,13858, 1664, 0, 0, 1664,
378 static const short yyrindex[] = { 320,
379 0, 0, 0, 440, 210, 0, 0, 0, 0, 0,
380 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
381 0, 0, 0, 0, 0, 0, 0, 259, 0, 0,
382 0, 0, 0, 289, 0, 83, 324, 0, 0, 365,
383 0,12714, 0, 0, 0, 373, 0, 0, 0, 0,
384 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
385 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
386 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
387 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
388 0, 0, 0, 0, 0,10957, 0, 0, 0, 0,
389 4751,10318,11167, 0, 0, 0, 597, 0, 0, 0,
390 0, 587, 0, 1560, 0, 0, 0,12201, 0, 626,
391 5937, 5937, 0, 0, 124, 0, 0, 0, 0, 0,
392 0, 0,11428,11546,11096,11278, 0, 0, 0, 0,
393 0, 0, 0,11680,11804,11932, 0, 0, 0, 0,
394 0, 0, 0, 0, 0,12056, 0, 0, 0, 0,
395 0, 0, 5334, 0, 0, 0, 0, 0, 0, 0,
396 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
397 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
398 0, 0, 0, 0, 407, 0, 278, 383, 0, 0,
399 575, 694, 0, 0, 0, 0, 0, 0, 0, 0,
400 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
401 0, 3359, 0, 0, 0, 0, 0, 0, 0, 0,
402 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
403 0, 0, 0, 0, 0,12555, 0, 0, 0, 0,
404 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
405 0, 0, 5679, 5798, 6143, 6262, 6607, 6726, 7071, 7190,
406 0, 7535, 7654, 7999,10437, -205, 191, 0, 0, 9973,
407 0,10742, 0, 8118, 0, 0, 0, 8463, 8582, 8927,
408 9046, 9391, 0, 0, 0, 9510, 9855, 0,12268, 2007,
409 2510, 2872, 659, 664, 0, 0, 0, 0, 0, 0,
410 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
411 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
412 0, 4287, 4406, 3478, 3823, 2431, 2550, 5215,10820, 0,
413 2895, 1967, 2086, 1039, 1158, 1503, 1622, 0, 3942, 0,
414 0, 0, 0, 0, 9, 0, 349, 366, 3014, 0,
415 1, 0, 379, 3448, 0, 0, 0, 0, 0, 0,
416 0, 0, 0, 0, 0, 0, 0, 0, 0, 407,
417 0, 0, 633, 0, 0, 0, 0, 0, 0, 0,
418 0, 0, 0, 0, 0, 0, 0, 401, 419, 0,
419 0, 0, 0, 0, 0, 0, 1015, 0, 0, 0,
420 0, 0, 633, 0, 0, 0, 0, 0, 0, 0,
421 0, 0, 0, 0, 0, 4870, 111, 43, 0, 0,
422 0, 0, 0, 0, 0, 0, 0, 0, 411, 0,
423 0, 0, 0, 432, 0, 0, 141, 0, 0, 151,
426 static const short yygindex[] = { 0,
427 -25, 220, -19, 0, -53, 298, 0, 0, -66, 0,
428 0, -118, 33, -84, -111, 90, 0, 0,10234, -102,
429 0, 0, 0, 88, 0, 40, 471, -79, 103, 467,
430 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
433 #define YYTABLESIZE 14474
434 static const short yytable[] = { 96,
435 55, 326, 243, 118, 230, 96, 231, 166, 255, 1,
436 230, 163, 231, 262, 218, 222, 8, 187, 188, 216,
437 214, 46, 215, 218, 217, 170, 171, 244, 216, 214,
438 211, 215, 41, 217, 230, 229, 231, 250, 197, 213,
439 244, 55, 44, 38, 55, 43, 250, 42, 213, 255,
440 191, 192, 255, 440, 164, 305, 230, 101, 231, 55,
441 252, 253, 164, 101, 106, 45, 195, 255, 201, 202,
442 106, 219, 109, 280, 406, 444, 164, 405, 93, 117,
443 219, 96, 6, 138, 119, 246, 138, 287, 189, 190,
444 218, 247, 123, 55, 96, 216, 214, 47, 215, 93,
445 217, 255, 4, 263, 264, 265, 266, 267, 268, 269,
446 270, 271, 271, 271, 271, 286, 254, 255, 288, 289,
447 290, 193, 194, 7, 198, 55, 328, 327, 329, 291,
448 292, 30, 169, 255, 296, 297, 349, 173, 124, 101,
449 230, 271, 231, 218, 167, 218, 106, 219, 216, 214,
450 216, 215, 101, 217, 175, 217, 372, 256, 176, 106,
451 377, 421, 177, 230, 38, 231, 250, 178, 213, 101,
452 101, 101, 101, 374, 375, 6, 351, 352, 179, 332,
453 333, 334, 335, 336, 337, 338, 339, 341, 342, 343,
454 344, 345, 346, 347, 271, 222, 293, 294, 295, 304,
455 219, 180, 219, 181, 286, 286, 38, 6, 371, 7,
456 258, 260, 280, 182, 183, 379, 7, 184, 185, 354,
457 186, 165, 355, 357, 359, 197, 361, 363, 356, 358,
458 218, 381, 362, 364, 251, 216, 214, 8, 215, 49,
459 217, 257, 7, 245, 101, 52, 113, 309, 7, 7,
460 53, 298, 101, 195, 7, 409, 410, 324, 35, 380,
461 49, 445, 168, 230, 55, 231, 52, 402, 325, 330,
462 408, 53, 255, 420, 398, 399, 230, 401, 231, 223,
463 224, 225, 226, 227, 221, 219, 331, 219, 31, 431,
464 228, 55, 432, 365, 366, 429, 339, 271, 38, 255,
465 7, 271, 286, 286, 350, 7, 353, 371, 371, 369,
466 255, 198, 200, 255, 230, 419, 231, 35, 368, 6,
467 142, 142, 142, 64, 370, 376, 205, 206, 207, 208,
468 209, 210, 7, 384, 382, 205, 206, 207, 208, 209,
469 210, 371, 385, 386, 371, 387, 388, 31, 256, 55,
470 55, 35, 30, 389, 101, 101, 392, 255, 255, 101,
471 390, 218, 391, 393, 34, 59, 216, 214, 211, 215,
472 394, 217, 22, 400, 252, 271, 271, 427, 58, 428,
473 411, 31, 64, 35, 250, 412, 213, 404, 307, 256,
474 422, 414, 256, 271, 271, 310, 311, 312, 313, 314,
475 315, 316, 317, 318, 320, 321, 59, 256, 423, 59,
476 6, 434, 424, 31, 435, 447, 64, 436, 219, 58,
477 450, 437, 58, 34, 59, 140, 140, 140, 443, 449,
478 218, 22, 448, 101, 101, 216, 214, 58, 215, 1,
479 217, 256, 6, 143, 143, 143, 38, 50, 64, 452,
480 166, 101, 101, 250, 148, 213, 61, 34, 59, 209,
481 210, 145, 145, 145, 303, 22, 7, 7, 7, 7,
482 7, 58, 7, 256, 150, 150, 150, 7, 7, 7,
483 7, 7, 7, 7, 7, 7, 62, 219, 7, 34,
484 59, 7, 7, 7, 7, 203, 63, 22, 204, 228,
485 433, 120, 125, 58, 223, 224, 225, 226, 227, 323,
486 378, 0, 0, 0, 0, 0, 7, 7, 7, 7,
487 7, 7, 7, 7, 7, 7, 7, 7, 0, 0,
488 0, 0, 0, 7, 7, 7, 7, 7, 7, 7,
489 7, 7, 7, 7, 7, 0, 7, 7, 7, 7,
490 7, 7, 0, 0, 7, 0, 7, 0, 0, 0,
491 0, 0, 0, 0, 7, 7, 7, 7, 7, 7,
492 7, 7, 7, 7, 235, 7, 6, 6, 0, 6,
493 6, 0, 0, 0, 7, 7, 50, 0, 6, 6,
494 6, 6, 6, 6, 6, 6, 19, 0, 6, 0,
495 0, 6, 6, 6, 6, 416, 0, 235, 0, 417,
496 418, 235, 256, 0, 235, 235, 235, 235, 235, 235,
497 0, 235, 0, 0, 0, 18, 0, 50, 0, 59,
498 50, 0, 48, 235, 235, 0, 235, 0, 0, 256,
499 0, 0, 58, 0, 0, 50, 0, 0, 0, 0,
500 256, 0, 0, 256, 6, 19, 59, 0, 66, 0,
501 6, 6, 0, 67, 6, 0, 6, 235, 0, 58,
502 235, 0, 0, 248, 249, 207, 208, 209, 210, 50,
503 403, 0, 0, 6, 18, 6, 0, 0, 0, 19,
504 0, 48, 0, 257, 6, 6, 0, 0, 256, 235,
505 0, 139, 0, 139, 0, 0, 140, 0, 140, 0,
506 0, 50, 0, 0, 0, 59, 0, 66, 18, 0,
507 0, 19, 67, 0, 0, 48, 257, 0, 58, 0,
508 257, 0, 0, 257, 257, 257, 257, 257, 257, 0,
509 257, 0, 205, 206, 207, 208, 209, 210, 54, 55,
510 18, 66, 257, 257, 0, 257, 67, 48, 0, 0,
511 0, 57, 58, 59, 60, 61, 62, 63, 64, 65,
512 66, 67, 57, 58, 59, 60, 61, 62, 63, 64,
513 65, 66, 67, 66, 0, 0, 257, 0, 67, 257,
514 79, 80, 81, 82, 0, 0, 0, 0, 0, 0,
515 0, 79, 80, 81, 82, 0, 0, 0, 83, 84,
516 85, 86, 87, 88, 89, 90, 91, 0, 257, 83,
517 84, 85, 86, 87, 88, 89, 90, 91, 0, 0,
518 0, 235, 235, 235, 235, 0, 0, 235, 235, 235,
519 235, 235, 235, 0, 0, 0, 0, 0, 0, 0,
520 50, 235, 235, 0, 235, 235, 235, 235, 235, 235,
521 235, 235, 235, 235, 235, 235, 235, 235, 235, 235,
522 235, 235, 235, 235, 235, 235, 235, 50, 0, 235,
523 235, 235, 235, 235, 235, 235, 235, 235, 235, 235,
524 235, 235, 235, 0, 0, 0, 0, 0, 235, 235,
525 235, 235, 235, 235, 235, 235, 235, 235, 235, 0,
526 240, 235, 235, 235, 235, 278, 0, 235, 235, 0,
527 235, 0, 0, 235, 235, 235, 235, 235, 235, 235,
528 235, 235, 235, 235, 235, 235, 235, 235, 0, 0,
529 0, 235, 235, 235, 235, 235, 235, 235, 235, 235,
530 257, 257, 257, 257, 0, 0, 257, 257, 257, 257,
531 257, 257, 0, 0, 240, 0, 0, 0, 0, 0,
532 257, 257, 0, 257, 257, 257, 257, 257, 257, 257,
533 257, 257, 257, 257, 257, 257, 257, 257, 257, 257,
534 257, 257, 257, 257, 257, 257, 0, 0, 257, 257,
535 257, 257, 257, 257, 257, 257, 257, 257, 257, 257,
536 257, 257, 0, 0, 72, 0, 0, 257, 257, 257,
537 257, 257, 257, 257, 257, 257, 257, 257, 0, 0,
538 257, 257, 257, 257, 0, 0, 257, 257, 231, 257,
539 0, 0, 257, 257, 257, 257, 257, 257, 257, 257,
540 257, 257, 257, 257, 257, 257, 257, 0, 0, 0,
541 257, 257, 257, 257, 257, 257, 257, 257, 257, 0,
542 0, 231, 0, 72, 0, 231, 0, 0, 231, 231,
543 231, 231, 231, 231, 0, 231, 0, 240, 233, 234,
544 235, 236, 237, 238, 0, 239, 0, 231, 231, 0,
545 231, 0, 0, 0, 0, 0, 0, 72, 0, 0,
546 0, 0, 0, 0, 0, 218, 0, 0, 0, 0,
547 216, 214, 211, 215, 0, 217, 0, 0, 0, 0,
548 0, 231, 0, 232, 231, 0, 0, 0, 212, 72,
549 213, 242, 233, 234, 235, 236, 237, 238, 0, 239,
550 0, 0, 0, 54, 55, 0, 0, 232, 0, 0,
551 0, 0, 0, 231, 0, 0, 0, 0, 0, 0,
552 0, 0, 219, 0, 0, 0, 0, 57, 58, 59,
553 60, 61, 62, 63, 64, 65, 66, 67, 0, 0,
554 232, 0, 0, 0, 232, 0, 0, 232, 232, 232,
555 232, 232, 232, 0, 232, 0, 79, 80, 81, 82,
556 0, 0, 0, 0, 0, 0, 232, 232, 0, 232,
557 0, 0, 0, 0, 83, 84, 85, 86, 87, 88,
558 89, 90, 91, 0, 0, 0, 0, 0, 0, 0,
559 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
560 232, 0, 0, 232, 218, 0, 232, 0, 0, 216,
561 214, 0, 215, 0, 217, 233, 234, 235, 236, 237,
562 238, 0, 239, 0, 0, 0, 0, 250, 0, 213,
563 0, 0, 232, 0, 0, 0, 0, 0, 0, 0,
564 0, 0, 0, 0, 0, 231, 231, 231, 231, 0,
565 0, 231, 231, 231, 231, 231, 231, 0, 0, 0,
566 0, 219, 0, 0, 0, 231, 231, 0, 231, 231,
567 231, 231, 231, 231, 231, 231, 231, 231, 231, 231,
568 231, 231, 231, 231, 231, 231, 231, 231, 231, 231,
569 231, 0, 0, 231, 231, 231, 231, 231, 231, 231,
570 231, 231, 231, 231, 231, 231, 231, 0, 0, 0,
571 0, 0, 231, 231, 231, 231, 231, 231, 231, 231,
572 231, 231, 231, 0, 0, 231, 231, 231, 231, 0,
573 203, 231, 231, 204, 231, 0, 0, 231, 231, 231,
574 231, 231, 231, 231, 231, 231, 231, 231, 231, 231,
575 231, 231, 0, 0, 0, 231, 231, 231, 231, 231,
576 231, 231, 231, 231, 232, 232, 232, 232, 0, 0,
577 232, 232, 232, 232, 232, 232, 0, 205, 206, 207,
578 208, 209, 210, 0, 232, 232, 0, 232, 232, 232,
579 232, 232, 232, 232, 232, 232, 232, 232, 232, 232,
580 232, 232, 232, 232, 232, 232, 232, 232, 232, 232,
581 0, 0, 232, 232, 232, 232, 232, 232, 232, 232,
582 232, 232, 232, 232, 232, 232, 0, 0, 0, 0,
583 0, 232, 232, 232, 232, 232, 232, 232, 232, 232,
584 232, 232, 0, 0, 232, 232, 232, 232, 0, 0,
585 232, 232, 233, 232, 0, 0, 232, 232, 232, 232,
586 232, 232, 232, 232, 232, 232, 232, 232, 232, 232,
587 232, 0, 0, 0, 232, 232, 232, 232, 232, 232,
588 232, 232, 232, 0, 0, 233, 0, 0, 0, 233,
589 0, 0, 233, 233, 233, 233, 233, 233, 0, 233,
590 0, 0, 0, 0, 0, 0, 0, 0, 0, 51,
591 0, 233, 233, 0, 233, 0, 248, 249, 207, 208,
592 209, 210, 0, 0, 0, 0, 0, 0, 0, 218,
593 0, 0, 0, 0, 216, 214, 211, 215, 0, 217,
594 0, 0, 0, 0, 0, 233, 0, 0, 233, 0,
595 51, 0, 322, 51, 213, 0, 0, 0, 0, 0,
596 0, 0, 0, 0, 0, 0, 0, 0, 51, 0,
597 0, 234, 0, 0, 0, 0, 0, 233, 0, 0,
598 0, 0, 0, 0, 0, 0, 219, 0, 0, 0,
599 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
600 0, 0, 51, 0, 234, 0, 0, 0, 234, 0,
601 0, 234, 234, 234, 234, 234, 234, 0, 234, 0,
602 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
603 234, 234, 0, 234, 51, 0, 0, 0, 218, 0,
604 0, 0, 0, 216, 214, 0, 215, 0, 217, 0,
605 218, 0, 0, 0, 0, 216, 214, 0, 215, 0,
606 217, 250, 0, 213, 234, 0, 0, 234, 0, 0,
607 0, 0, 0, 250, 218, 213, 0, 0, 0, 216,
608 214, 0, 215, 0, 217, 0, 0, 0, 0, 0,
609 0, 0, 0, 0, 0, 219, 234, 250, 0, 213,
610 0, 0, 0, 0, 0, 0, 0, 219, 0, 233,
611 233, 233, 233, 0, 0, 233, 233, 233, 233, 233,
612 233, 0, 0, 0, 0, 0, 0, 0, 0, 233,
613 233, 219, 233, 233, 233, 233, 233, 233, 233, 233,
614 233, 233, 233, 233, 233, 233, 233, 233, 233, 233,
615 233, 233, 233, 233, 233, 0, 0, 233, 233, 233,
616 233, 233, 233, 233, 233, 233, 233, 233, 233, 233,
617 233, 0, 0, 51, 0, 0, 233, 233, 233, 233,
618 233, 233, 233, 233, 233, 233, 233, 0, 0, 233,
619 233, 233, 233, 0, 203, 233, 233, 204, 233, 0,
620 51, 233, 233, 233, 233, 233, 233, 233, 233, 233,
621 233, 233, 233, 233, 233, 233, 0, 0, 0, 233,
622 233, 233, 233, 233, 233, 233, 233, 233, 234, 234,
623 234, 234, 0, 0, 234, 234, 234, 234, 234, 234,
624 0, 248, 249, 207, 208, 209, 210, 0, 234, 234,
625 0, 234, 234, 234, 234, 234, 234, 234, 234, 234,
626 234, 234, 234, 234, 234, 234, 234, 234, 234, 234,
627 234, 234, 234, 234, 0, 0, 234, 234, 234, 234,
628 234, 234, 234, 234, 234, 234, 234, 234, 234, 234,
629 0, 441, 0, 0, 0, 234, 234, 234, 234, 234,
630 234, 234, 234, 234, 234, 234, 0, 0, 234, 234,
631 234, 234, 0, 0, 234, 234, 229, 234, 0, 0,
632 234, 234, 234, 234, 234, 234, 234, 234, 234, 234,
633 234, 234, 234, 234, 234, 0, 0, 0, 234, 234,
634 234, 234, 234, 234, 234, 234, 234, 0, 0, 229,
635 205, 206, 207, 208, 209, 210, 229, 229, 0, 229,
636 229, 229, 205, 206, 207, 208, 209, 210, 0, 0,
637 0, 0, 0, 0, 0, 229, 229, 0, 229, 0,
638 0, 0, 0, 0, 0, 0, 205, 0, 207, 208,
639 209, 210, 0, 222, 0, 0, 0, 0, 222, 222,
640 222, 222, 0, 222, 0, 0, 0, 0, 0, 229,
641 0, 0, 229, 0, 0, 0, 222, 0, 222, 0,
642 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
643 0, 0, 0, 0, 0, 230, 0, 0, 0, 0,
644 0, 229, 0, 0, 0, 0, 0, 0, 0, 0,
645 222, 0, 0, 0, 0, 0, 0, 0, 0, 0,
646 0, 0, 0, 0, 0, 0, 0, 0, 230, 0,
647 0, 0, 0, 0, 0, 230, 230, 0, 230, 230,
648 230, 0, 0, 0, 0, 0, 0, 0, 0, 0,
649 0, 0, 0, 0, 230, 230, 0, 230, 0, 0,
650 218, 0, 0, 0, 0, 216, 214, 0, 215, 0,
651 217, 218, 0, 0, 0, 0, 216, 214, 0, 215,
652 0, 217, 0, 250, 0, 213, 0, 0, 230, 0,
653 0, 230, 0, 0, 250, 0, 213, 0, 0, 0,
654 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
655 0, 0, 0, 0, 0, 0, 0, 219, 0, 0,
656 230, 0, 0, 0, 0, 0, 0, 0, 219, 0,
657 0, 0, 0, 229, 229, 229, 229, 0, 0, 229,
658 229, 229, 229, 229, 229, 0, 0, 0, 0, 0,
659 0, 0, 0, 229, 229, 0, 229, 229, 229, 229,
660 229, 229, 229, 229, 229, 229, 229, 229, 229, 229,
661 229, 229, 229, 229, 229, 229, 229, 229, 229, 0,
662 0, 229, 229, 229, 229, 229, 229, 229, 229, 229,
663 229, 229, 229, 229, 229, 0, 0, 0, 0, 0,
664 229, 229, 229, 229, 229, 229, 229, 229, 229, 229,
665 229, 0, 0, 229, 229, 229, 229, 0, 222, 229,
666 229, 222, 229, 0, 0, 229, 229, 229, 229, 229,
667 229, 229, 229, 229, 229, 229, 229, 229, 229, 229,
668 0, 0, 0, 229, 229, 229, 229, 229, 229, 229,
669 229, 229, 230, 230, 230, 230, 0, 0, 230, 230,
670 230, 230, 230, 230, 0, 222, 222, 222, 222, 222,
671 222, 0, 230, 230, 0, 230, 230, 230, 230, 230,
672 230, 230, 230, 230, 230, 230, 230, 230, 230, 230,
673 230, 230, 230, 230, 230, 230, 230, 230, 0, 0,
674 230, 230, 230, 230, 230, 230, 230, 230, 230, 230,
675 230, 230, 230, 230, 0, 0, 0, 0, 0, 230,
676 230, 230, 230, 230, 230, 230, 230, 230, 230, 230,
677 0, 0, 230, 230, 230, 230, 0, 0, 230, 230,
678 250, 230, 0, 0, 230, 230, 230, 230, 230, 230,
679 230, 230, 230, 230, 230, 230, 230, 230, 230, 0,
680 0, 0, 230, 230, 230, 230, 230, 230, 230, 230,
681 230, 0, 248, 250, 207, 208, 209, 210, 0, 0,
682 250, 250, 0, 0, 250, 207, 208, 209, 210, 0,
683 0, 0, 0, 0, 0, 0, 0, 0, 0, 250,
684 250, 0, 250, 0, 0, 0, 0, 0, 0, 0,
685 0, 0, 0, 0, 0, 0, 0, 0, 0, 16,
686 57, 58, 59, 60, 61, 62, 63, 64, 65, 66,
687 67, 0, 0, 250, 0, 0, 250, 0, 0, 0,
688 0, 0, 0, 0, 0, 0, 0, 0, 0, 79,
689 80, 81, 82, 0, 0, 0, 0, 0, 0, 252,
690 0, 0, 0, 0, 0, 250, 0, 83, 84, 85,
691 86, 87, 88, 89, 90, 91, 0, 0, 16, 0,
692 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
693 0, 0, 252, 0, 0, 0, 0, 0, 0, 252,
694 252, 0, 0, 252, 0, 0, 0, 0, 0, 0,
695 0, 0, 16, 0, 0, 204, 0, 0, 252, 252,
696 0, 252, 0, 0, 0, 0, 0, 0, 0, 0,
697 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
698 0, 0, 0, 0, 16, 0, 0, 0, 0, 0,
699 0, 0, 252, 0, 0, 252, 0, 0, 0, 0,
700 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
701 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
702 0, 0, 0, 0, 252, 0, 0, 0, 0, 0,
703 0, 0, 0, 0, 0, 0, 0, 250, 250, 250,
704 250, 0, 0, 250, 250, 250, 250, 250, 250, 0,
705 0, 0, 0, 0, 0, 0, 0, 250, 250, 0,
706 250, 250, 250, 250, 250, 250, 250, 250, 250, 250,
707 250, 250, 250, 250, 250, 250, 250, 250, 250, 250,
708 250, 250, 250, 0, 0, 250, 250, 250, 250, 250,
709 250, 250, 250, 250, 250, 250, 250, 250, 250, 0,
710 0, 0, 0, 0, 250, 250, 250, 250, 250, 250,
711 250, 250, 250, 250, 250, 0, 204, 250, 250, 250,
712 250, 0, 204, 250, 250, 0, 250, 204, 0, 250,
713 250, 250, 250, 250, 250, 250, 250, 250, 250, 250,
714 250, 250, 250, 250, 0, 0, 0, 250, 250, 250,
715 250, 250, 250, 250, 250, 250, 252, 252, 252, 252,
716 0, 204, 252, 252, 252, 252, 252, 252, 0, 0,
717 0, 0, 0, 0, 0, 0, 252, 252, 0, 252,
718 252, 252, 252, 252, 252, 252, 252, 252, 252, 252,
719 252, 252, 252, 252, 252, 252, 252, 252, 252, 252,
720 252, 252, 0, 0, 252, 252, 252, 252, 252, 252,
721 252, 252, 252, 252, 252, 252, 252, 252, 0, 0,
722 0, 15, 0, 252, 252, 252, 252, 252, 252, 252,
723 252, 252, 252, 252, 0, 0, 252, 252, 252, 252,
724 0, 0, 252, 252, 251, 252, 0, 0, 252, 252,
725 252, 252, 252, 252, 252, 252, 252, 252, 252, 252,
726 252, 252, 252, 0, 0, 0, 252, 252, 252, 252,
727 252, 252, 252, 252, 252, 0, 0, 251, 0, 0,
728 15, 0, 0, 0, 251, 251, 0, 0, 251, 0,
729 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
730 0, 0, 0, 251, 251, 0, 251, 0, 0, 0,
731 0, 0, 0, 0, 15, 0, 0, 203, 0, 0,
732 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
733 0, 0, 0, 0, 0, 0, 0, 251, 0, 0,
734 251, 0, 0, 0, 0, 0, 15, 0, 0, 0,
735 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
736 0, 0, 0, 249, 0, 0, 0, 0, 0, 251,
737 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
738 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
739 0, 0, 0, 0, 0, 0, 249, 0, 0, 0,
740 0, 0, 0, 249, 249, 0, 0, 249, 0, 0,
741 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
742 0, 0, 249, 249, 0, 249, 0, 0, 0, 0,
743 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
744 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
745 0, 0, 0, 0, 0, 0, 249, 0, 0, 249,
746 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
747 0, 0, 0, 0, 0, 0, 0, 0, 203, 0,
748 0, 0, 0, 0, 203, 0, 0, 0, 249, 203,
749 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
750 0, 251, 251, 251, 251, 0, 0, 251, 251, 251,
751 251, 251, 251, 0, 0, 0, 0, 0, 0, 0,
752 0, 251, 251, 203, 251, 251, 251, 251, 251, 251,
753 251, 251, 251, 251, 251, 251, 251, 251, 251, 251,
754 251, 251, 251, 251, 251, 251, 251, 0, 0, 251,
755 251, 251, 251, 251, 251, 251, 251, 251, 251, 251,
756 251, 251, 251, 0, 0, 0, 0, 0, 251, 251,
757 251, 251, 251, 251, 251, 251, 251, 251, 251, 0,
758 0, 251, 251, 251, 251, 0, 0, 251, 251, 0,
759 251, 0, 0, 251, 251, 251, 251, 251, 251, 251,
760 251, 251, 251, 251, 251, 251, 251, 251, 0, 0,
761 0, 251, 251, 251, 251, 251, 251, 251, 251, 251,
762 249, 249, 249, 249, 0, 0, 249, 249, 249, 249,
763 249, 249, 0, 0, 0, 0, 0, 0, 0, 0,
764 249, 249, 0, 249, 249, 249, 249, 249, 249, 249,
765 249, 249, 249, 249, 249, 249, 249, 249, 249, 249,
766 249, 249, 249, 249, 249, 249, 0, 0, 249, 249,
767 249, 249, 249, 249, 249, 249, 249, 249, 249, 249,
768 249, 249, 0, 0, 0, 0, 0, 249, 249, 249,
769 249, 249, 249, 249, 249, 249, 249, 249, 0, 0,
770 249, 249, 249, 249, 0, 0, 249, 249, 158, 249,
771 0, 0, 249, 249, 249, 249, 249, 249, 249, 249,
772 249, 249, 249, 249, 249, 249, 249, 0, 0, 0,
773 249, 249, 249, 249, 249, 249, 249, 249, 249, 0,
774 0, 158, 0, 0, 0, 0, 0, 0, 158, 158,
775 0, 158, 158, 158, 0, 0, 0, 0, 0, 0,
776 0, 0, 0, 0, 0, 0, 0, 158, 0, 0,
777 158, 0, 0, 0, 0, 0, 0, 0, 0, 0,
778 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
779 0, 0, 0, 0, 0, 0, 0, 57, 0, 0,
780 0, 158, 0, 0, 158, 0, 0, 0, 0, 0,
781 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
782 0, 0, 0, 0, 0, 0, 0, 254, 0, 0,
783 0, 0, 0, 158, 0, 0, 0, 0, 57, 0,
784 0, 57, 0, 0, 0, 0, 0, 0, 0, 0,
785 0, 0, 0, 0, 0, 0, 57, 0, 0, 0,
786 254, 0, 0, 0, 0, 0, 0, 254, 254, 0,
787 0, 254, 0, 0, 0, 0, 0, 0, 0, 0,
788 0, 0, 0, 0, 0, 0, 254, 0, 0, 0,
789 57, 0, 0, 0, 0, 0, 0, 0, 0, 0,
790 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
791 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
792 254, 0, 57, 254, 0, 0, 0, 0, 0, 0,
793 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
794 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
795 0, 0, 254, 0, 0, 0, 0, 0, 0, 0,
796 0, 0, 0, 0, 0, 158, 158, 158, 158, 0,
797 0, 158, 0, 158, 158, 158, 158, 0, 0, 0,
798 0, 0, 0, 0, 0, 158, 158, 0, 158, 158,
799 158, 158, 158, 158, 158, 158, 158, 158, 158, 158,
800 158, 158, 158, 158, 158, 158, 158, 158, 158, 158,
801 0, 0, 0, 0, 158, 158, 158, 158, 158, 158,
802 158, 158, 158, 158, 158, 158, 158, 158, 158, 158,
803 158, 158, 158, 158, 158, 158, 158, 158, 158, 158,
804 158, 158, 158, 0, 0, 158, 158, 158, 158, 0,
805 0, 158, 158, 0, 0, 0, 0, 0, 0, 0,
806 0, 57, 0, 158, 158, 158, 158, 158, 158, 158,
807 158, 158, 0, 0, 0, 158, 158, 158, 158, 158,
808 158, 158, 158, 158, 254, 254, 254, 254, 57, 0,
809 254, 254, 254, 254, 254, 254, 0, 0, 0, 0,
810 0, 0, 0, 0, 254, 254, 0, 254, 254, 254,
811 254, 254, 254, 254, 254, 254, 254, 254, 254, 254,
812 254, 254, 254, 254, 254, 254, 254, 254, 254, 254,
813 0, 0, 254, 254, 254, 254, 254, 254, 254, 254,
814 254, 254, 254, 254, 254, 254, 0, 57, 0, 0,
815 0, 254, 254, 254, 254, 254, 254, 254, 254, 254,
816 254, 254, 0, 0, 254, 254, 254, 254, 0, 0,
817 254, 254, 253, 254, 0, 0, 254, 254, 254, 254,
818 0, 0, 254, 254, 254, 254, 254, 254, 254, 254,
819 254, 0, 0, 0, 254, 254, 254, 254, 254, 254,
820 254, 254, 254, 0, 0, 253, 0, 0, 0, 0,
821 0, 0, 253, 253, 0, 0, 253, 0, 0, 0,
822 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
823 0, 253, 0, 0, 0, 0, 0, 0, 0, 0,
824 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
825 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
826 0, 0, 0, 0, 0, 253, 0, 0, 253, 0,
827 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
828 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
829 0, 159, 0, 0, 0, 0, 0, 253, 0, 0,
830 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
831 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
832 0, 0, 0, 0, 159, 0, 0, 0, 0, 0,
833 0, 159, 159, 0, 159, 159, 159, 0, 0, 0,
834 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
835 159, 0, 0, 159, 0, 0, 0, 0, 0, 0,
836 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
837 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
838 0, 0, 0, 0, 159, 0, 0, 159, 0, 0,
839 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
840 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
841 0, 0, 0, 0, 0, 0, 159, 0, 0, 0,
842 0, 0, 0, 0, 0, 0, 0, 0, 0, 253,
843 253, 253, 253, 0, 0, 253, 253, 253, 253, 253,
844 253, 0, 0, 0, 0, 0, 0, 0, 0, 253,
845 253, 0, 253, 253, 253, 253, 253, 253, 253, 253,
846 253, 253, 253, 253, 253, 253, 253, 253, 253, 253,
847 253, 253, 253, 253, 253, 0, 0, 253, 253, 253,
848 253, 253, 253, 253, 253, 253, 253, 253, 253, 253,
849 253, 0, 0, 0, 0, 0, 253, 253, 253, 253,
850 253, 253, 253, 253, 253, 253, 253, 0, 0, 253,
851 253, 253, 253, 0, 0, 253, 253, 0, 253, 0,
852 0, 253, 253, 253, 253, 0, 0, 253, 253, 253,
853 253, 253, 253, 253, 253, 253, 0, 0, 0, 253,
854 253, 253, 253, 253, 253, 253, 253, 253, 159, 159,
855 159, 159, 0, 0, 159, 0, 159, 159, 159, 159,
856 0, 0, 0, 0, 0, 0, 0, 0, 159, 159,
857 0, 159, 159, 159, 159, 159, 159, 159, 159, 159,
858 159, 159, 159, 159, 159, 159, 159, 159, 159, 159,
859 159, 159, 159, 0, 0, 0, 0, 159, 159, 159,
860 159, 159, 159, 159, 159, 159, 159, 159, 159, 159,
861 159, 159, 159, 159, 159, 159, 159, 159, 159, 159,
862 159, 159, 159, 159, 159, 159, 0, 0, 159, 159,
863 159, 159, 0, 0, 159, 159, 255, 0, 0, 0,
864 0, 0, 0, 0, 0, 0, 159, 159, 159, 159,
865 159, 159, 159, 159, 159, 0, 0, 0, 159, 159,
866 159, 159, 159, 159, 159, 159, 159, 0, 0, 255,
867 0, 0, 0, 0, 0, 0, 255, 255, 0, 0,
868 255, 0, 0, 0, 0, 0, 0, 0, 0, 0,
869 0, 0, 0, 0, 0, 255, 0, 0, 0, 0,
870 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
871 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
872 0, 0, 0, 0, 0, 0, 0, 0, 0, 255,
873 0, 0, 255, 0, 0, 0, 0, 0, 0, 0,
874 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
875 0, 0, 0, 0, 0, 256, 0, 0, 0, 0,
876 0, 255, 0, 0, 0, 0, 0, 0, 0, 0,
877 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
878 0, 0, 0, 0, 0, 0, 0, 0, 256, 0,
879 0, 0, 0, 0, 0, 256, 256, 0, 0, 256,
880 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
881 0, 0, 0, 0, 256, 0, 0, 0, 0, 0,
882 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
883 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
884 0, 0, 0, 0, 0, 0, 0, 0, 256, 0,
885 0, 256, 0, 0, 0, 0, 0, 0, 0, 0,
886 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
887 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
888 256, 0, 0, 0, 0, 0, 0, 0, 0, 0,
889 0, 0, 0, 255, 255, 255, 255, 0, 0, 255,
890 255, 255, 255, 255, 255, 0, 0, 0, 0, 0,
891 0, 0, 0, 255, 255, 0, 255, 255, 255, 255,
892 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
893 255, 255, 255, 255, 255, 255, 255, 255, 255, 0,
894 0, 255, 255, 255, 255, 255, 255, 255, 255, 255,
895 255, 255, 255, 255, 255, 0, 0, 0, 0, 0,
896 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
897 255, 0, 0, 255, 255, 255, 255, 0, 0, 255,
898 255, 0, 255, 0, 0, 255, 255, 0, 0, 0,
899 0, 255, 255, 255, 255, 255, 255, 255, 255, 255,
900 0, 0, 0, 255, 255, 255, 255, 255, 255, 255,
901 255, 255, 256, 256, 256, 256, 0, 0, 256, 256,
902 256, 256, 256, 256, 0, 0, 0, 0, 0, 0,
903 0, 0, 256, 256, 0, 256, 256, 256, 256, 256,
904 256, 256, 256, 256, 256, 256, 256, 256, 256, 256,
905 256, 256, 256, 256, 256, 256, 256, 256, 0, 0,
906 256, 256, 256, 256, 256, 256, 256, 256, 256, 256,
907 256, 256, 256, 256, 0, 0, 0, 0, 0, 256,
908 256, 256, 256, 256, 256, 256, 256, 256, 256, 256,
909 0, 0, 256, 256, 256, 256, 0, 0, 256, 256,
910 140, 256, 0, 0, 0, 256, 0, 0, 0, 0,
911 256, 256, 256, 256, 256, 256, 256, 256, 256, 0,
912 0, 0, 256, 256, 256, 256, 256, 256, 256, 256,
913 256, 0, 0, 140, 0, 0, 0, 0, 0, 0,
914 140, 140, 0, 140, 140, 140, 0, 0, 0, 0,
915 0, 0, 0, 0, 0, 0, 0, 0, 0, 140,
916 0, 0, 140, 0, 0, 0, 0, 0, 0, 0,
917 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
918 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
919 0, 0, 0, 140, 0, 0, 140, 0, 0, 0,
920 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
921 0, 0, 0, 0, 0, 0, 0, 0, 0, 148,
922 0, 0, 0, 0, 0, 140, 0, 0, 0, 0,
923 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
924 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
925 0, 0, 148, 0, 0, 0, 0, 0, 0, 148,
926 148, 0, 0, 148, 0, 0, 0, 0, 0, 0,
927 0, 0, 0, 0, 0, 0, 0, 0, 148, 0,
928 0, 148, 0, 0, 0, 0, 0, 0, 0, 0,
929 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
930 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
931 0, 0, 148, 0, 0, 148, 0, 0, 0, 0,
932 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
933 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
934 0, 0, 0, 0, 148, 0, 0, 0, 0, 0,
935 0, 0, 0, 0, 0, 0, 0, 140, 140, 140,
936 140, 0, 0, 140, 0, 140, 140, 140, 140, 0,
937 0, 0, 0, 0, 0, 0, 0, 140, 140, 0,
938 140, 140, 140, 140, 140, 140, 140, 140, 140, 140,
939 140, 140, 140, 140, 140, 140, 140, 140, 140, 140,
940 140, 140, 0, 0, 0, 0, 140, 140, 140, 140,
941 140, 140, 140, 140, 140, 140, 140, 140, 140, 41,
942 0, 0, 0, 0, 140, 140, 140, 140, 140, 140,
943 140, 140, 140, 140, 140, 0, 0, 140, 140, 140,
944 140, 0, 0, 140, 140, 0, 0, 0, 0, 0,
945 0, 32, 0, 0, 0, 140, 140, 140, 140, 140,
946 140, 140, 140, 140, 0, 0, 0, 140, 140, 140,
947 140, 140, 140, 140, 140, 140, 148, 148, 148, 148,
948 0, 0, 148, 33, 148, 148, 148, 148, 0, 0,
949 0, 0, 0, 0, 0, 0, 148, 148, 0, 148,
950 148, 148, 148, 148, 148, 148, 148, 148, 148, 148,
951 148, 148, 148, 148, 148, 148, 148, 148, 148, 148,
952 148, 0, 0, 0, 0, 148, 148, 148, 148, 148,
953 148, 148, 148, 148, 148, 148, 148, 148, 0, 0,
954 0, 0, 0, 148, 148, 148, 148, 148, 148, 148,
955 148, 148, 148, 148, 0, 0, 148, 148, 148, 148,
956 0, 0, 148, 148, 154, 0, 0, 0, 0, 0,
957 0, 0, 0, 0, 148, 148, 148, 148, 148, 148,
958 148, 148, 148, 0, 0, 0, 148, 148, 148, 148,
959 148, 148, 148, 148, 148, 0, 0, 154, 0, 0,
960 0, 0, 0, 0, 154, 154, 0, 0, 154, 0,
961 0, 0, 0, 0, 0, 0, 0, 6, 7, 0,
962 8, 9, 0, 154, 0, 0, 0, 0, 0, 10,
963 11, 12, 13, 14, 15, 16, 17, 0, 0, 18,
964 0, 0, 19, 20, 21, 22, 0, 0, 0, 0,
965 0, 0, 0, 0, 0, 0, 0, 154, 0, 0,
966 154, 0, 0, 0, 0, 0, 0, 0, 0, 0,
967 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
968 0, 0, 0, 91, 0, 0, 0, 0, 0, 154,
969 0, 0, 0, 0, 0, 23, 0, 0, 0, 0,
970 0, 24, 25, 0, 0, 26, 0, 27, 0, 0,
971 0, 0, 0, 0, 0, 0, 91, 0, 0, 0,
972 0, 0, 0, 91, 28, 0, 29, 0, 0, 0,
973 0, 0, 0, 0, 0, 30, 31, 0, 0, 0,
974 0, 0, 91, 0, 0, 0, 0, 0, 0, 0,
975 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
976 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
977 0, 0, 0, 0, 0, 0, 91, 0, 0, 91,
978 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
979 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
980 0, 0, 0, 0, 0, 0, 0, 0, 91, 0,
981 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
982 0, 154, 154, 154, 154, 0, 0, 154, 0, 154,
983 154, 154, 154, 0, 0, 0, 0, 0, 0, 0,
984 0, 154, 154, 0, 154, 154, 154, 154, 154, 154,
985 154, 154, 154, 154, 154, 154, 154, 154, 154, 154,
986 154, 154, 154, 154, 154, 154, 0, 0, 0, 0,
987 154, 154, 154, 154, 154, 154, 154, 154, 154, 154,
988 154, 154, 154, 0, 0, 0, 0, 0, 154, 154,
989 154, 154, 154, 154, 154, 154, 154, 154, 154, 0,
990 0, 154, 154, 154, 154, 0, 0, 154, 154, 0,
991 0, 0, 0, 32, 0, 0, 0, 0, 0, 154,
992 154, 154, 154, 154, 154, 154, 154, 154, 0, 0,
993 0, 154, 154, 154, 154, 154, 154, 154, 154, 154,
994 91, 91, 91, 91, 0, 33, 91, 0, 91, 91,
995 91, 91, 0, 0, 0, 0, 0, 0, 0, 0,
996 91, 91, 0, 91, 91, 91, 91, 91, 91, 91,
997 91, 91, 91, 91, 91, 91, 91, 91, 91, 91,
998 91, 91, 91, 91, 91, 0, 0, 0, 0, 0,
999 91, 91, 91, 91, 91, 91, 91, 91, 91, 91,
1000 91, 91, 0, 0, 0, 0, 0, 91, 91, 91,
1001 91, 91, 91, 91, 91, 91, 91, 91, 0, 0,
1002 91, 91, 91, 91, 0, 0, 91, 91, 87, 0,
1003 0, 0, 0, 0, 0, 0, 0, 0, 91, 91,
1004 91, 91, 91, 91, 91, 91, 91, 0, 0, 0,
1005 91, 91, 91, 91, 91, 91, 91, 91, 91, 0,
1006 0, 87, 0, 0, 0, 0, 0, 0, 87, 0,
1007 0, 0, 0, 0, 0, 0, 0, 0, 0, 6,
1008 7, 0, 8, 9, 0, 0, 0, 87, 0, 0,
1009 0, 10, 11, 12, 13, 14, 15, 16, 17, 0,
1010 0, 18, 0, 0, 19, 20, 21, 22, 0, 0,
1011 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1012 0, 87, 0, 0, 87, 0, 0, 0, 0, 0,
1013 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1014 0, 0, 0, 0, 0, 0, 0, 88, 0, 0,
1015 0, 0, 0, 87, 0, 0, 0, 23, 0, 0,
1016 0, 0, 0, 24, 25, 0, 0, 26, 0, 27,
1017 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1018 88, 0, 0, 0, 0, 0, 28, 88, 29, 0,
1019 0, 0, 0, 0, 0, 0, 0, 30, 31, 0,
1020 0, 0, 0, 0, 0, 0, 88, 0, 0, 0,
1021 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1022 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1023 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1024 88, 0, 0, 88, 0, 0, 0, 0, 0, 0,
1025 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1026 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1027 0, 0, 88, 0, 0, 0, 0, 0, 0, 0,
1028 0, 0, 0, 0, 0, 87, 87, 87, 87, 0,
1029 0, 87, 0, 87, 87, 87, 87, 0, 0, 0,
1030 0, 0, 0, 0, 0, 87, 87, 0, 87, 87,
1031 87, 87, 87, 87, 87, 87, 87, 87, 87, 87,
1032 87, 87, 87, 87, 87, 87, 87, 87, 87, 87,
1033 0, 0, 0, 0, 0, 87, 87, 87, 87, 87,
1034 87, 87, 87, 87, 87, 87, 87, 0, 0, 0,
1035 0, 0, 87, 87, 87, 87, 87, 87, 87, 87,
1036 87, 87, 87, 0, 0, 87, 87, 87, 87, 0,
1037 0, 87, 87, 0, 0, 0, 0, 6, 0, 0,
1038 0, 0, 0, 87, 87, 87, 87, 87, 87, 87,
1039 87, 87, 0, 0, 0, 87, 87, 87, 87, 87,
1040 87, 87, 87, 87, 88, 88, 88, 88, 0, 6,
1041 88, 0, 88, 88, 88, 88, 0, 0, 0, 0,
1042 0, 0, 0, 0, 88, 88, 0, 88, 88, 88,
1043 88, 88, 88, 88, 88, 88, 88, 88, 88, 88,
1044 88, 88, 88, 88, 88, 88, 88, 88, 88, 0,
1045 0, 0, 0, 0, 88, 88, 88, 88, 88, 88,
1046 88, 88, 88, 88, 88, 88, 0, 0, 0, 0,
1047 0, 88, 88, 88, 88, 88, 88, 88, 88, 88,
1048 88, 88, 0, 0, 88, 88, 88, 88, 0, 0,
1049 88, 88, 89, 0, 0, 0, 0, 0, 0, 0,
1050 0, 0, 88, 88, 88, 88, 88, 88, 88, 88,
1051 88, 0, 0, 0, 88, 88, 88, 88, 88, 88,
1052 88, 88, 88, 0, 0, 89, 0, 0, 0, 0,
1053 0, 0, 89, 0, 0, 0, 0, 0, 0, 0,
1054 0, 0, 0, 6, 6, 0, 6, 6, 0, 0,
1055 0, 89, 0, 0, 0, 6, 6, 6, 6, 6,
1056 6, 6, 6, 0, 0, 6, 0, 0, 6, 6,
1057 6, 6, 0, 0, 0, 0, 0, 0, 0, 0,
1058 0, 0, 0, 0, 0, 89, 0, 0, 89, 0,
1059 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1060 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1061 0, 90, 0, 0, 0, 0, 0, 89, 0, 0,
1062 0, 6, 0, 0, 0, 0, 0, 6, 6, 0,
1063 0, 6, 0, 6, 0, 0, 0, 0, 0, 0,
1064 0, 0, 0, 0, 90, 0, 0, 0, 0, 0,
1065 6, 90, 6, 0, 0, 0, 0, 0, 0, 0,
1066 0, 6, 6, 0, 0, 0, 0, 0, 0, 0,
1067 90, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1068 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1069 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1070 0, 0, 0, 0, 90, 0, 0, 90, 0, 0,
1071 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1072 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1073 0, 0, 0, 0, 0, 0, 90, 0, 0, 0,
1074 0, 0, 0, 0, 0, 0, 0, 0, 0, 89,
1075 89, 89, 89, 0, 0, 89, 0, 89, 89, 89,
1076 89, 0, 0, 0, 0, 0, 0, 0, 0, 89,
1077 89, 0, 89, 89, 89, 89, 89, 89, 89, 89,
1078 89, 89, 89, 89, 89, 89, 89, 89, 89, 89,
1079 89, 89, 89, 89, 0, 0, 0, 0, 0, 89,
1080 89, 89, 89, 89, 89, 89, 89, 89, 89, 89,
1081 89, 0, 0, 0, 0, 0, 89, 89, 89, 89,
1082 89, 89, 89, 89, 89, 89, 89, 0, 0, 89,
1083 89, 89, 89, 0, 0, 89, 89, 0, 0, 0,
1084 0, 0, 0, 0, 0, 0, 0, 89, 89, 89,
1085 89, 89, 89, 89, 89, 89, 0, 0, 0, 89,
1086 89, 89, 89, 89, 89, 89, 89, 89, 90, 90,
1087 90, 90, 0, 0, 90, 0, 90, 90, 90, 90,
1088 0, 0, 0, 0, 0, 0, 0, 0, 90, 90,
1089 0, 90, 90, 90, 90, 90, 90, 90, 90, 90,
1090 90, 90, 90, 90, 90, 90, 90, 90, 90, 90,
1091 90, 90, 90, 0, 0, 0, 0, 0, 90, 90,
1092 90, 90, 90, 90, 90, 90, 90, 90, 90, 90,
1093 0, 0, 0, 0, 0, 90, 90, 90, 90, 90,
1094 90, 90, 90, 90, 90, 90, 0, 0, 90, 90,
1095 90, 90, 0, 0, 90, 90, 93, 0, 0, 0,
1096 0, 0, 0, 0, 0, 0, 90, 90, 90, 90,
1097 90, 90, 90, 90, 90, 0, 0, 0, 90, 90,
1098 90, 90, 90, 90, 90, 90, 90, 0, 0, 93,
1099 0, 0, 0, 0, 0, 0, 93, 0, 0, 0,
1100 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1101 0, 0, 0, 0, 0, 93, 0, 0, 0, 0,
1102 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1103 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1104 0, 0, 0, 0, 0, 0, 0, 0, 0, 93,
1105 0, 0, 93, 0, 0, 0, 0, 0, 0, 0,
1106 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1107 0, 0, 0, 0, 0, 95, 0, 0, 0, 0,
1108 0, 93, 0, 0, 0, 0, 0, 0, 0, 0,
1109 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1110 0, 0, 0, 0, 0, 0, 0, 0, 95, 0,
1111 0, 0, 0, 0, 0, 95, 0, 0, 0, 0,
1112 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1113 0, 0, 0, 0, 95, 0, 0, 0, 0, 0,
1114 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1115 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1116 0, 0, 0, 0, 0, 0, 0, 0, 95, 0,
1117 0, 95, 0, 0, 0, 0, 0, 0, 0, 0,
1118 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1119 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1120 95, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1121 0, 0, 0, 93, 93, 93, 93, 0, 0, 93,
1122 0, 93, 93, 93, 93, 0, 0, 0, 0, 0,
1123 0, 0, 0, 93, 93, 0, 93, 93, 93, 93,
1124 93, 93, 93, 93, 93, 93, 93, 93, 93, 93,
1125 93, 93, 93, 93, 93, 93, 93, 93, 0, 0,
1126 0, 0, 0, 93, 93, 93, 93, 93, 93, 93,
1127 93, 93, 93, 93, 93, 0, 0, 0, 0, 0,
1128 93, 93, 93, 93, 93, 93, 93, 93, 93, 93,
1129 93, 0, 0, 93, 93, 93, 93, 0, 0, 93,
1130 93, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1131 0, 93, 93, 93, 93, 93, 93, 93, 93, 93,
1132 0, 0, 0, 93, 93, 93, 93, 93, 93, 93,
1133 93, 93, 95, 95, 95, 95, 0, 0, 95, 0,
1134 95, 95, 95, 95, 0, 0, 0, 0, 0, 0,
1135 0, 0, 95, 95, 0, 95, 95, 95, 95, 95,
1136 95, 95, 95, 95, 95, 95, 95, 95, 95, 95,
1137 95, 95, 95, 95, 95, 95, 95, 0, 0, 0,
1138 0, 0, 95, 95, 95, 95, 95, 95, 95, 95,
1139 95, 95, 95, 95, 0, 0, 0, 0, 0, 95,
1140 95, 95, 95, 95, 95, 95, 95, 95, 95, 95,
1141 0, 0, 95, 95, 95, 95, 0, 0, 95, 95,
1142 97, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1143 95, 95, 95, 95, 95, 95, 95, 95, 95, 0,
1144 0, 0, 95, 95, 95, 95, 95, 95, 95, 95,
1145 95, 0, 0, 97, 0, 0, 0, 0, 0, 0,
1146 97, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1147 0, 0, 0, 0, 0, 0, 0, 0, 0, 97,
1148 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1149 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1150 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1151 0, 0, 0, 97, 0, 0, 97, 0, 0, 0,
1152 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1153 0, 0, 0, 0, 0, 0, 0, 0, 0, 99,
1154 0, 0, 0, 0, 0, 97, 0, 0, 0, 0,
1155 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1156 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1157 0, 0, 99, 0, 0, 0, 0, 0, 0, 99,
1158 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1159 0, 0, 0, 0, 0, 0, 0, 0, 99, 0,
1160 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1161 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1162 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1163 0, 0, 99, 0, 0, 99, 0, 0, 0, 0,
1164 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1165 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1166 0, 0, 0, 0, 99, 0, 0, 0, 0, 0,
1167 0, 0, 0, 0, 0, 0, 0, 97, 97, 97,
1168 97, 0, 0, 97, 0, 97, 97, 97, 97, 0,
1169 0, 0, 0, 0, 0, 0, 0, 97, 97, 0,
1170 97, 97, 97, 97, 97, 97, 97, 97, 97, 97,
1171 97, 97, 97, 97, 97, 97, 97, 97, 97, 97,
1172 97, 97, 0, 0, 0, 0, 0, 97, 97, 97,
1173 97, 97, 97, 97, 97, 97, 97, 97, 97, 0,
1174 0, 0, 0, 0, 97, 97, 97, 97, 97, 97,
1175 97, 97, 97, 97, 97, 0, 0, 97, 97, 97,
1176 97, 0, 0, 97, 97, 0, 0, 0, 0, 0,
1177 0, 0, 0, 0, 0, 97, 97, 97, 97, 97,
1178 97, 97, 97, 97, 0, 0, 0, 97, 97, 97,
1179 97, 97, 97, 97, 97, 97, 99, 99, 99, 99,
1180 0, 0, 99, 0, 99, 99, 99, 99, 0, 0,
1181 0, 0, 0, 0, 0, 0, 99, 99, 0, 99,
1182 99, 99, 99, 99, 99, 99, 99, 99, 99, 99,
1183 99, 99, 99, 99, 99, 99, 99, 99, 99, 99,
1184 99, 0, 0, 0, 0, 0, 99, 99, 99, 99,
1185 99, 99, 99, 99, 99, 99, 99, 99, 0, 0,
1186 0, 0, 0, 99, 99, 99, 99, 99, 99, 99,
1187 99, 99, 99, 99, 0, 0, 99, 99, 99, 99,
1188 0, 0, 99, 99, 100, 0, 0, 0, 0, 0,
1189 0, 0, 0, 0, 99, 99, 99, 99, 99, 99,
1190 99, 99, 99, 0, 0, 0, 99, 99, 99, 99,
1191 99, 99, 99, 99, 99, 0, 0, 100, 0, 0,
1192 0, 0, 0, 0, 100, 0, 0, 0, 0, 0,
1193 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1194 0, 0, 0, 100, 0, 0, 0, 0, 0, 0,
1195 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1196 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1197 0, 0, 0, 0, 0, 0, 0, 100, 0, 0,
1198 100, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1199 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1200 0, 0, 0, 101, 0, 0, 0, 0, 0, 100,
1201 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1202 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1203 0, 0, 0, 0, 0, 0, 101, 0, 0, 0,
1204 0, 0, 0, 101, 0, 0, 0, 0, 0, 0,
1205 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1206 0, 0, 101, 0, 0, 0, 0, 0, 0, 0,
1207 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1208 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1209 0, 0, 0, 0, 0, 0, 101, 0, 0, 101,
1210 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1211 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1212 0, 0, 0, 0, 0, 0, 0, 0, 101, 0,
1213 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1214 0, 100, 100, 100, 100, 0, 0, 100, 0, 100,
1215 100, 100, 100, 0, 0, 0, 0, 0, 0, 0,
1216 0, 100, 100, 0, 100, 100, 100, 100, 100, 100,
1217 100, 100, 100, 100, 100, 100, 100, 100, 100, 100,
1218 100, 100, 100, 100, 100, 100, 0, 0, 0, 0,
1219 0, 100, 100, 100, 100, 100, 100, 100, 100, 100,
1220 100, 100, 100, 0, 0, 0, 0, 0, 100, 100,
1221 100, 100, 100, 100, 100, 100, 100, 100, 100, 0,
1222 0, 100, 100, 100, 100, 0, 0, 100, 100, 0,
1223 0, 0, 0, 0, 0, 0, 0, 0, 0, 100,
1224 100, 100, 100, 100, 100, 100, 100, 100, 0, 0,
1225 0, 100, 100, 100, 100, 100, 100, 100, 100, 100,
1226 101, 101, 101, 101, 0, 0, 101, 0, 101, 101,
1227 101, 101, 0, 0, 0, 0, 0, 0, 0, 0,
1228 101, 101, 0, 101, 101, 101, 101, 101, 101, 101,
1229 101, 101, 101, 101, 101, 101, 101, 101, 101, 101,
1230 101, 101, 101, 101, 101, 0, 0, 0, 0, 0,
1231 101, 101, 101, 101, 101, 101, 101, 101, 101, 101,
1232 101, 101, 0, 0, 0, 0, 0, 101, 101, 101,
1233 101, 101, 101, 101, 101, 101, 101, 101, 0, 0,
1234 101, 101, 101, 101, 0, 0, 101, 101, 102, 0,
1235 0, 0, 0, 0, 0, 0, 0, 0, 101, 101,
1236 101, 101, 101, 101, 101, 101, 101, 0, 0, 0,
1237 101, 101, 101, 101, 101, 101, 101, 101, 101, 0,
1238 0, 102, 0, 0, 0, 0, 0, 0, 102, 0,
1239 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1240 0, 0, 0, 0, 0, 0, 0, 102, 0, 0,
1241 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1242 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1243 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1244 0, 102, 0, 0, 102, 0, 0, 0, 0, 0,
1245 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1246 0, 0, 0, 0, 0, 0, 0, 104, 0, 0,
1247 0, 0, 0, 102, 0, 0, 0, 0, 0, 0,
1248 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1249 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1250 104, 0, 0, 0, 0, 0, 0, 104, 0, 0,
1251 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1252 0, 0, 0, 0, 0, 0, 104, 0, 0, 0,
1253 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1254 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1255 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1256 104, 0, 0, 104, 0, 0, 0, 0, 0, 0,
1257 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1258 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1259 0, 0, 104, 0, 0, 0, 0, 0, 0, 0,
1260 0, 0, 0, 0, 0, 102, 102, 102, 102, 0,
1261 0, 102, 0, 102, 102, 102, 102, 0, 0, 0,
1262 0, 0, 0, 0, 0, 102, 102, 0, 102, 102,
1263 102, 102, 102, 102, 102, 102, 102, 102, 102, 102,
1264 102, 102, 102, 102, 102, 102, 102, 102, 102, 102,
1265 0, 0, 0, 0, 0, 102, 102, 102, 102, 102,
1266 102, 102, 102, 102, 102, 102, 102, 0, 0, 0,
1267 0, 0, 102, 102, 102, 102, 102, 102, 102, 102,
1268 102, 102, 102, 0, 0, 102, 102, 102, 102, 0,
1269 0, 102, 102, 0, 0, 0, 0, 0, 0, 0,
1270 0, 0, 0, 102, 102, 102, 102, 102, 102, 102,
1271 102, 102, 0, 0, 0, 102, 102, 102, 102, 102,
1272 102, 102, 102, 102, 104, 104, 104, 104, 0, 0,
1273 104, 0, 104, 104, 104, 104, 0, 0, 0, 0,
1274 0, 0, 0, 0, 104, 104, 0, 104, 104, 104,
1275 104, 104, 104, 104, 104, 104, 104, 104, 104, 104,
1276 104, 104, 104, 104, 104, 104, 104, 104, 104, 0,
1277 0, 0, 0, 0, 104, 104, 104, 104, 104, 104,
1278 104, 104, 104, 104, 104, 104, 0, 0, 0, 0,
1279 0, 104, 104, 104, 104, 104, 104, 104, 104, 104,
1280 104, 104, 0, 0, 104, 104, 104, 104, 0, 0,
1281 104, 104, 109, 0, 0, 0, 0, 0, 0, 0,
1282 0, 0, 104, 104, 104, 104, 104, 104, 104, 104,
1283 104, 0, 0, 0, 104, 104, 104, 104, 104, 104,
1284 104, 104, 104, 0, 0, 109, 0, 0, 0, 0,
1285 0, 0, 109, 0, 0, 0, 0, 0, 0, 0,
1286 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1287 0, 109, 0, 0, 0, 0, 0, 0, 0, 0,
1288 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1289 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1290 0, 0, 0, 0, 0, 109, 0, 0, 109, 0,
1291 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1292 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1293 0, 111, 0, 0, 0, 0, 0, 109, 0, 0,
1294 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1295 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1296 0, 0, 0, 0, 111, 0, 0, 0, 0, 0,
1297 0, 111, 0, 0, 0, 0, 0, 0, 0, 0,
1298 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1299 111, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1300 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1301 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1302 0, 0, 0, 0, 111, 0, 0, 111, 0, 0,
1303 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1304 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1305 0, 0, 0, 0, 0, 0, 111, 0, 0, 0,
1306 0, 0, 0, 0, 0, 0, 0, 0, 0, 109,
1307 109, 109, 109, 0, 0, 109, 0, 109, 109, 109,
1308 109, 0, 0, 0, 0, 0, 0, 0, 0, 109,
1309 109, 0, 109, 109, 109, 109, 109, 109, 109, 109,
1310 109, 109, 109, 109, 109, 109, 109, 109, 109, 109,
1311 109, 109, 109, 109, 0, 0, 0, 0, 0, 109,
1312 109, 109, 109, 109, 109, 109, 109, 109, 109, 109,
1313 109, 0, 0, 0, 0, 0, 109, 109, 109, 109,
1314 109, 109, 109, 109, 109, 109, 109, 0, 0, 109,
1315 109, 109, 109, 0, 0, 109, 109, 0, 0, 0,
1316 0, 0, 0, 0, 0, 0, 0, 109, 109, 109,
1317 109, 109, 109, 109, 109, 109, 0, 0, 0, 109,
1318 109, 109, 109, 109, 109, 109, 109, 109, 111, 111,
1319 111, 111, 0, 0, 111, 0, 111, 111, 111, 111,
1320 0, 0, 0, 0, 0, 0, 0, 0, 111, 111,
1321 0, 111, 111, 111, 111, 111, 111, 111, 111, 111,
1322 111, 111, 111, 111, 111, 111, 111, 111, 111, 111,
1323 111, 111, 111, 0, 0, 0, 0, 0, 111, 111,
1324 111, 111, 111, 111, 111, 111, 111, 111, 111, 111,
1325 0, 0, 0, 0, 0, 111, 111, 111, 111, 111,
1326 111, 111, 111, 111, 111, 111, 0, 0, 111, 111,
1327 111, 111, 0, 0, 111, 111, 120, 0, 0, 0,
1328 0, 0, 0, 0, 0, 0, 111, 111, 111, 111,
1329 111, 111, 111, 111, 111, 0, 0, 0, 111, 111,
1330 111, 111, 111, 111, 111, 111, 111, 0, 0, 120,
1331 0, 0, 0, 0, 0, 0, 120, 0, 0, 0,
1332 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1333 0, 0, 0, 0, 0, 120, 0, 0, 0, 0,
1334 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1335 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1336 0, 0, 0, 0, 0, 0, 0, 0, 0, 120,
1337 0, 0, 120, 0, 0, 0, 0, 0, 0, 0,
1338 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1339 0, 0, 0, 0, 0, 133, 0, 0, 0, 0,
1340 0, 120, 0, 0, 0, 0, 0, 0, 0, 0,
1341 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1342 0, 0, 0, 0, 0, 0, 0, 0, 133, 0,
1343 0, 0, 0, 0, 0, 133, 0, 0, 0, 0,
1344 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1345 0, 0, 0, 0, 133, 0, 0, 0, 0, 0,
1346 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1347 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1348 0, 0, 0, 0, 0, 0, 0, 0, 133, 0,
1349 0, 133, 0, 0, 0, 0, 0, 0, 0, 0,
1350 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1351 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1352 133, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1353 0, 0, 0, 120, 120, 120, 120, 0, 0, 120,
1354 0, 120, 120, 120, 120, 0, 0, 0, 0, 0,
1355 0, 0, 0, 120, 120, 0, 120, 120, 120, 120,
1356 120, 120, 120, 120, 120, 120, 120, 120, 120, 120,
1357 120, 120, 120, 120, 120, 120, 120, 120, 0, 0,
1358 0, 0, 0, 120, 120, 120, 120, 120, 120, 120,
1359 120, 120, 120, 120, 120, 0, 0, 0, 0, 0,
1360 120, 120, 120, 120, 120, 120, 120, 120, 120, 120,
1361 120, 0, 0, 120, 120, 120, 120, 0, 0, 120,
1362 120, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1363 0, 120, 120, 120, 120, 120, 120, 120, 120, 120,
1364 0, 0, 0, 120, 120, 120, 120, 120, 120, 120,
1365 120, 120, 133, 133, 133, 133, 0, 0, 133, 0,
1366 133, 133, 133, 133, 0, 0, 0, 0, 0, 0,
1367 0, 0, 133, 133, 0, 133, 133, 133, 133, 133,
1368 133, 133, 133, 133, 133, 133, 133, 133, 133, 133,
1369 133, 133, 133, 133, 133, 133, 133, 0, 0, 0,
1370 0, 0, 133, 133, 133, 133, 133, 133, 133, 133,
1371 133, 133, 133, 133, 0, 0, 0, 0, 0, 133,
1372 133, 133, 133, 133, 133, 133, 133, 133, 133, 133,
1373 0, 0, 133, 133, 133, 133, 0, 0, 133, 133,
1374 113, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1375 133, 133, 133, 133, 133, 133, 133, 133, 133, 0,
1376 0, 0, 133, 133, 133, 133, 133, 133, 133, 133,
1377 133, 0, 0, 113, 0, 0, 0, 0, 0, 0,
1378 113, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1379 0, 0, 0, 0, 0, 0, 0, 0, 0, 113,
1380 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1381 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1382 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1383 0, 0, 0, 113, 0, 0, 113, 0, 0, 0,
1384 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1385 0, 0, 0, 0, 0, 0, 0, 0, 0, 114,
1386 0, 0, 0, 0, 0, 113, 0, 0, 0, 0,
1387 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1388 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1389 0, 0, 114, 0, 0, 0, 0, 0, 0, 114,
1390 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1391 0, 0, 0, 0, 0, 0, 0, 0, 114, 0,
1392 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1393 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1394 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1395 0, 0, 114, 0, 0, 114, 0, 0, 0, 0,
1396 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1397 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1398 0, 0, 0, 0, 114, 0, 0, 0, 0, 0,
1399 0, 0, 0, 0, 0, 0, 0, 113, 113, 113,
1400 113, 0, 0, 113, 0, 113, 113, 113, 113, 0,
1401 0, 0, 0, 0, 0, 0, 0, 113, 113, 0,
1402 113, 113, 113, 113, 113, 113, 113, 113, 113, 113,
1403 113, 113, 113, 113, 113, 113, 113, 113, 113, 113,
1404 113, 113, 0, 0, 0, 0, 0, 113, 113, 113,
1405 113, 113, 113, 113, 113, 113, 113, 113, 113, 0,
1406 0, 0, 0, 0, 113, 113, 113, 113, 113, 113,
1407 113, 113, 113, 113, 113, 0, 0, 113, 113, 113,
1408 113, 0, 0, 113, 113, 0, 0, 0, 0, 0,
1409 0, 0, 0, 0, 0, 113, 113, 113, 113, 113,
1410 113, 113, 113, 113, 0, 0, 0, 113, 113, 113,
1411 113, 113, 113, 113, 113, 113, 114, 114, 114, 114,
1412 0, 0, 114, 0, 114, 114, 114, 114, 0, 0,
1413 0, 0, 0, 0, 0, 0, 114, 114, 0, 114,
1414 114, 114, 114, 114, 114, 114, 114, 114, 114, 114,
1415 114, 114, 114, 114, 114, 114, 114, 114, 114, 114,
1416 114, 0, 0, 0, 0, 0, 114, 114, 114, 114,
1417 114, 114, 114, 114, 114, 114, 114, 114, 0, 0,
1418 0, 0, 0, 114, 114, 114, 114, 114, 114, 114,
1419 114, 114, 114, 114, 0, 0, 114, 114, 114, 114,
1420 0, 0, 114, 114, 115, 0, 0, 0, 0, 0,
1421 0, 0, 0, 0, 114, 114, 114, 114, 114, 114,
1422 114, 114, 114, 0, 0, 0, 114, 114, 114, 114,
1423 114, 114, 114, 114, 114, 0, 0, 115, 0, 0,
1424 0, 0, 0, 0, 115, 0, 0, 0, 0, 0,
1425 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1426 0, 0, 0, 115, 0, 0, 0, 0, 0, 0,
1427 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1428 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1429 0, 0, 0, 0, 0, 0, 0, 115, 0, 0,
1430 115, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1431 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1432 0, 0, 181, 0, 0, 0, 0, 0, 0, 115,
1433 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1434 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1435 0, 0, 0, 0, 0, 181, 0, 0, 0, 0,
1436 0, 0, 181, 0, 0, 0, 181, 181, 0, 0,
1437 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1438 0, 181, 0, 0, 0, 0, 0, 0, 0, 0,
1439 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1440 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1441 0, 0, 0, 0, 0, 181, 0, 0, 0, 0,
1442 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1443 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1444 0, 0, 0, 0, 0, 0, 0, 181, 0, 0,
1445 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1446 0, 115, 115, 115, 115, 0, 0, 115, 0, 115,
1447 115, 115, 115, 0, 0, 0, 0, 0, 0, 0,
1448 0, 115, 115, 0, 115, 115, 115, 115, 115, 115,
1449 115, 115, 115, 115, 115, 115, 115, 115, 115, 115,
1450 115, 115, 115, 115, 115, 115, 0, 0, 0, 0,
1451 0, 115, 115, 115, 115, 115, 115, 115, 115, 115,
1452 115, 115, 115, 0, 0, 0, 0, 0, 115, 115,
1453 115, 115, 115, 115, 115, 115, 115, 115, 115, 0,
1454 0, 115, 115, 115, 115, 0, 0, 115, 115, 0,
1455 0, 0, 0, 0, 0, 0, 0, 0, 0, 115,
1456 115, 115, 115, 115, 115, 115, 115, 115, 0, 0,
1457 0, 115, 115, 115, 115, 115, 115, 115, 115, 115,
1458 181, 181, 181, 0, 0, 0, 0, 181, 181, 181,
1459 0, 0, 0, 0, 0, 0, 0, 0, 0, 181,
1460 181, 0, 181, 181, 181, 181, 181, 181, 181, 181,
1461 181, 181, 181, 181, 181, 181, 181, 181, 181, 181,
1462 181, 181, 181, 181, 0, 0, 0, 0, 0, 181,
1463 181, 181, 181, 181, 181, 181, 181, 181, 181, 181,
1464 181, 0, 0, 0, 0, 0, 181, 181, 181, 181,
1465 181, 181, 181, 181, 181, 181, 181, 0, 0, 181,
1466 181, 181, 181, 0, 0, 181, 181, 156, 0, 0,
1467 0, 0, 0, 0, 0, 199, 0, 181, 181, 181,
1468 181, 181, 181, 181, 181, 181, 0, 0, 0, 181,
1469 181, 181, 181, 181, 181, 181, 181, 181, 0, 0,
1470 156, 0, 0, 0, 0, 0, 0, 156, 156, 0,
1471 156, 156, 156, 0, 0, 0, 0, 0, 0, 0,
1472 272, 273, 274, 284, 0, 0, 156, 0, 0, 156,
1473 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1474 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1475 306, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1476 156, 0, 0, 156, 0, 0, 0, 0, 0, 0,
1477 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1478 0, 0, 0, 0, 0, 0, 161, 0, 0, 0,
1479 0, 0, 156, 0, 0, 340, 0, 0, 0, 0,
1480 0, 0, 0, 348, 0, 0, 0, 0, 0, 0,
1481 0, 0, 0, 0, 0, 0, 0, 0, 0, 161,
1482 0, 0, 0, 0, 0, 0, 161, 0, 0, 161,
1483 0, 161, 161, 0, 0, 0, 0, 0, 0, 0,
1484 0, 0, 0, 0, 0, 161, 0, 0, 0, 0,
1485 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1486 0, 0, 199, 0, 0, 0, 0, 0, 0, 0,
1487 0, 0, 0, 0, 0, 0, 0, 0, 0, 161,
1488 0, 0, 161, 0, 0, 0, 0, 0, 0, 0,
1489 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1490 0, 0, 0, 0, 0, 395, 396, 0, 0, 0,
1491 397, 161, 0, 0, 0, 0, 0, 0, 0, 0,
1492 0, 0, 0, 0, 156, 156, 156, 156, 0, 0,
1493 156, 0, 156, 156, 156, 156, 0, 0, 0, 0,
1494 0, 0, 0, 0, 156, 156, 0, 156, 156, 156,
1495 156, 156, 156, 156, 156, 156, 156, 156, 156, 156,
1496 156, 156, 156, 156, 156, 156, 156, 156, 156, 0,
1497 0, 0, 0, 156, 156, 0, 0, 0, 0, 0,
1498 0, 0, 0, 0, 425, 426, 156, 156, 156, 156,
1499 156, 156, 156, 156, 156, 156, 156, 156, 156, 156,
1500 156, 156, 438, 439, 0, 0, 0, 0, 0, 0,
1501 156, 156, 0, 0, 0, 0, 0, 0, 0, 0,
1502 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1503 0, 0, 0, 0, 156, 156, 156, 156, 156, 156,
1504 156, 156, 156, 161, 161, 161, 161, 0, 0, 161,
1505 0, 161, 161, 161, 161, 0, 0, 0, 0, 0,
1506 0, 0, 0, 161, 161, 0, 161, 161, 161, 161,
1507 161, 161, 161, 161, 161, 161, 161, 161, 161, 161,
1508 161, 161, 161, 161, 161, 161, 161, 161, 0, 0,
1509 0, 182, 0, 161, 0, 0, 0, 0, 0, 0,
1510 0, 0, 0, 0, 0, 161, 161, 161, 161, 161,
1511 161, 161, 161, 161, 161, 161, 161, 161, 161, 161,
1512 161, 0, 0, 0, 182, 0, 0, 0, 0, 161,
1513 161, 182, 182, 0, 0, 182, 182, 0, 0, 0,
1514 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1515 182, 0, 0, 161, 161, 161, 161, 161, 161, 161,
1516 161, 161, 0, 0, 0, 0, 0, 0, 0, 249,
1517 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1518 0, 0, 0, 0, 182, 0, 0, 182, 0, 0,
1519 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1520 0, 0, 249, 0, 0, 0, 0, 0, 0, 249,
1521 249, 0, 0, 249, 0, 0, 182, 0, 0, 0,
1522 0, 0, 0, 0, 0, 0, 0, 0, 249, 249,
1523 0, 249, 0, 0, 0, 0, 0, 0, 0, 0,
1524 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1525 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1526 0, 0, 249, 0, 0, 249, 0, 0, 0, 0,
1527 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1528 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1529 0, 0, 0, 0, 249, 0, 0, 0, 0, 0,
1530 0, 0, 0, 0, 0, 0, 43, 0, 0, 0,
1531 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1532 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1533 0, 0, 0, 0, 0, 0, 0, 0, 0, 43,
1534 0, 0, 0, 0, 0, 0, 43, 0, 182, 182,
1535 182, 182, 0, 0, 182, 0, 182, 182, 182, 182,
1536 0, 0, 0, 0, 0, 43, 0, 0, 182, 182,
1537 0, 182, 182, 182, 182, 0, 0, 182, 182, 182,
1538 182, 182, 182, 182, 182, 182, 182, 182, 182, 182,
1539 182, 182, 182, 0, 0, 0, 0, 0, 182, 43,
1540 0, 0, 43, 0, 0, 0, 0, 0, 0, 0,
1541 0, 0, 0, 0, 0, 182, 182, 182, 182, 182,
1542 182, 182, 182, 182, 182, 182, 249, 249, 249, 249,
1543 0, 43, 249, 0, 182, 182, 0, 249, 0, 0,
1544 0, 0, 0, 0, 0, 96, 0, 0, 0, 0,
1545 0, 0, 0, 249, 249, 0, 0, 0, 182, 182,
1546 182, 182, 182, 182, 182, 182, 182, 0, 0, 0,
1547 0, 0, 0, 0, 0, 0, 249, 249, 249, 249,
1548 249, 249, 249, 249, 249, 249, 249, 249, 0, 0,
1549 0, 0, 0, 249, 249, 249, 249, 249, 249, 249,
1550 249, 249, 249, 249, 96, 0, 249, 249, 249, 249,
1551 0, 0, 0, 0, 0, 0, 45, 0, 249, 249,
1552 249, 249, 249, 249, 249, 249, 249, 249, 249, 249,
1553 249, 249, 249, 0, 0, 0, 0, 0, 96, 0,
1554 0, 0, 0, 0, 249, 0, 0, 0, 0, 45,
1555 0, 0, 0, 0, 0, 0, 45, 0, 0, 0,
1556 0, 0, 0, 43, 43, 43, 43, 0, 0, 43,
1557 96, 0, 0, 0, 43, 45, 0, 0, 0, 0,
1558 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1559 43, 43, 0, 0, 0, 0, 0, 0, 0, 0,
1560 0, 0, 0, 0, 0, 0, 0, 0, 0, 45,
1561 0, 0, 45, 43, 43, 43, 43, 43, 43, 43,
1562 43, 43, 43, 43, 43, 0, 0, 98, 0, 0,
1563 43, 43, 43, 43, 43, 43, 43, 43, 43, 43,
1564 43, 45, 0, 43, 43, 43, 43, 0, 0, 0,
1565 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1566 0, 43, 43, 43, 43, 43, 43, 43, 43, 43,
1567 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1568 0, 43, 0, 0, 0, 0, 98, 0, 0, 0,
1569 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1570 0, 0, 0, 0, 0, 96, 0, 0, 0, 0,
1571 96, 96, 96, 0, 0, 0, 0, 0, 0, 0,
1572 98, 0, 96, 96, 0, 96, 96, 96, 96, 96,
1573 96, 96, 96, 96, 96, 96, 96, 96, 96, 96,
1574 96, 96, 96, 96, 96, 96, 96, 204, 0, 0,
1575 0, 0, 98, 0, 0, 0, 0, 0, 0, 0,
1576 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1577 0, 0, 0, 45, 45, 45, 45, 92, 0, 45,
1578 0, 0, 0, 0, 45, 0, 0, 0, 96, 96,
1579 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1580 45, 45, 0, 0, 0, 0, 0, 0, 0, 0,
1581 0, 0, 96, 96, 96, 96, 96, 96, 96, 96,
1582 96, 0, 0, 45, 45, 45, 45, 45, 45, 45,
1583 45, 45, 45, 45, 45, 0, 92, 0, 0, 0,
1584 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
1585 45, 0, 0, 45, 45, 45, 45, 0, 0, 0,
1586 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1587 92, 45, 45, 45, 45, 45, 45, 45, 45, 45,
1588 0, 0, 0, 0, 0, 0, 0, 98, 0, 0,
1589 0, 45, 98, 98, 98, 94, 0, 0, 0, 0,
1590 0, 0, 92, 0, 98, 98, 0, 98, 98, 98,
1591 98, 98, 98, 98, 98, 98, 98, 98, 98, 98,
1592 98, 98, 98, 98, 98, 98, 98, 98, 98, 203,
1593 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1594 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1595 0, 0, 0, 0, 94, 0, 0, 0, 0, 0,
1596 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1597 98, 98, 0, 0, 0, 0, 0, 0, 0, 0,
1598 0, 0, 0, 0, 0, 0, 0, 0, 94, 0,
1599 0, 0, 0, 0, 98, 98, 98, 98, 98, 98,
1600 98, 98, 98, 0, 0, 0, 0, 0, 0, 0,
1601 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1602 94, 0, 0, 0, 0, 0, 0, 0, 0, 108,
1603 0, 0, 0, 0, 0, 0, 0, 92, 0, 0,
1604 0, 0, 92, 92, 92, 0, 0, 0, 0, 0,
1605 0, 0, 0, 0, 92, 92, 0, 92, 92, 92,
1606 92, 92, 92, 92, 92, 92, 92, 92, 92, 92,
1607 92, 92, 92, 92, 92, 92, 92, 92, 92, 0,
1608 0, 0, 0, 0, 0, 0, 0, 0, 108, 0,
1609 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1610 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1611 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1612 92, 92, 108, 0, 0, 0, 0, 0, 0, 0,
1613 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1614 0, 0, 0, 0, 92, 92, 92, 92, 92, 92,
1615 92, 92, 92, 110, 108, 94, 0, 0, 0, 0,
1616 94, 94, 94, 0, 0, 0, 0, 0, 0, 0,
1617 0, 0, 94, 94, 0, 94, 94, 94, 94, 94,
1618 94, 94, 94, 94, 94, 94, 94, 94, 94, 94,
1619 94, 94, 94, 94, 94, 94, 94, 0, 0, 0,
1620 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1621 0, 0, 110, 0, 0, 0, 0, 0, 0, 0,
1622 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1623 0, 0, 0, 0, 0, 0, 0, 0, 94, 94,
1624 0, 0, 0, 0, 0, 0, 110, 0, 0, 0,
1625 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1626 0, 0, 94, 94, 94, 94, 94, 94, 94, 94,
1627 94, 0, 0, 0, 0, 0, 0, 0, 110, 0,
1628 0, 119, 0, 0, 0, 0, 0, 0, 0, 108,
1629 0, 0, 0, 0, 108, 108, 108, 0, 0, 0,
1630 0, 0, 0, 0, 0, 0, 108, 108, 0, 108,
1631 108, 108, 108, 108, 108, 108, 108, 108, 108, 108,
1632 108, 108, 108, 108, 108, 108, 108, 108, 108, 108,
1633 108, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1634 119, 0, 0, 0, 0, 0, 0, 0, 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, 108, 108, 119, 0, 0, 0, 0, 0,
1638 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1639 0, 0, 0, 0, 0, 0, 108, 108, 108, 108,
1640 108, 108, 108, 108, 108, 112, 119, 0, 0, 0,
1641 0, 0, 0, 110, 0, 0, 0, 0, 110, 110,
1642 110, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1643 110, 110, 0, 110, 110, 110, 110, 110, 110, 110,
1644 110, 110, 110, 110, 110, 110, 110, 110, 110, 110,
1645 110, 110, 110, 110, 110, 0, 0, 0, 0, 0,
1646 0, 0, 0, 0, 112, 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, 110, 110, 112, 0,
1650 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1651 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1652 110, 110, 110, 110, 110, 110, 110, 110, 110, 0,
1653 112, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1654 0, 119, 0, 0, 0, 0, 119, 119, 119, 0,
1655 83, 0, 0, 0, 0, 0, 0, 0, 119, 119,
1656 0, 119, 119, 119, 119, 119, 119, 119, 119, 119,
1657 119, 119, 119, 119, 119, 119, 119, 119, 119, 119,
1658 119, 119, 119, 83, 0, 0, 0, 0, 0, 0,
1659 83, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1660 0, 0, 0, 0, 0, 0, 0, 0, 0, 83,
1661 0, 0, 0, 0, 0, 0, 0, 161, 0, 0,
1662 0, 0, 0, 0, 119, 119, 0, 0, 0, 0,
1663 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1664 0, 0, 0, 83, 0, 0, 83, 0, 119, 119,
1665 119, 119, 119, 119, 119, 119, 119, 0, 0, 0,
1666 161, 0, 161, 161, 0, 112, 0, 0, 0, 0,
1667 112, 112, 112, 0, 0, 83, 161, 0, 0, 0,
1668 0, 0, 112, 112, 0, 112, 112, 112, 112, 112,
1669 112, 112, 112, 112, 112, 112, 112, 112, 112, 112,
1670 112, 112, 112, 112, 112, 112, 112, 0, 0, 0,
1671 161, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1672 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1673 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1674 0, 0, 161, 0, 0, 0, 0, 0, 112, 112,
1675 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1676 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1677 0, 0, 112, 112, 112, 112, 112, 112, 112, 112,
1678 112, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1679 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1680 0, 0, 0, 0, 0, 0, 0, 83, 83, 83,
1681 0, 0, 0, 83, 0, 83, 83, 83, 83, 0,
1682 0, 0, 0, 0, 0, 0, 0, 83, 83, 0,
1683 83, 83, 83, 83, 83, 83, 83, 83, 83, 83,
1684 83, 83, 83, 83, 83, 83, 83, 83, 83, 83,
1685 83, 83, 0, 0, 0, 0, 0, 83, 83, 83,
1686 83, 83, 83, 83, 83, 83, 83, 83, 83, 0,
1687 0, 0, 0, 0, 83, 83, 83, 83, 83, 83,
1688 83, 83, 83, 83, 83, 0, 0, 83, 83, 83,
1689 83, 0, 0, 83, 83, 0, 0, 0, 0, 0,
1690 0, 161, 161, 0, 257, 83, 83, 83, 83, 83,
1691 83, 83, 83, 83, 0, 0, 0, 83, 83, 83,
1692 83, 83, 83, 83, 83, 161, 161, 161, 161, 161,
1693 161, 161, 161, 161, 161, 161, 161, 161, 161, 161,
1694 161, 257, 0, 0, 0, 257, 257, 257, 257, 257,
1695 0, 257, 0, 0, 161, 161, 161, 161, 0, 0,
1696 0, 0, 0, 257, 257, 0, 257, 0, 0, 0,
1697 0, 0, 161, 161, 161, 161, 161, 161, 161, 161,
1698 161, 0, 0, 0, 0, 0, 95, 0, 0, 0,
1699 0, 0, 0, 92, 0, 0, 0, 257, 94, 0,
1700 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1701 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1702 0, 0, 0, 0, 0, 0, 0, 0, 0, 257,
1703 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1704 0, 0, 0, 0, 32, 0, 0, 0, 0, 93,
1705 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1706 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1707 0, 0, 0, 0, 0, 0, 33, 0, 0, 0,
1708 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1709 0, 0, 0, 0, 0, 0, 6, 0, 0, 0,
1710 0, 0, 0, 6, 0, 0, 0, 0, 6, 0,
1711 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1712 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1713 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1714 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1715 0, 0, 0, 0, 6, 0, 0, 0, 0, 6,
1716 0, 0, 0, 0, 0, 0, 0, 0, 257, 0,
1717 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1718 0, 0, 0, 0, 0, 0, 6, 0, 0, 0,
1719 0, 0, 0, 0, 0, 257, 0, 0, 0, 0,
1720 0, 0, 0, 0, 0, 0, 257, 0, 0, 257,
1721 299, 300, 51, 8, 9, 0, 52, 0, 0, 0,
1722 0, 53, 10, 11, 12, 13, 14, 15, 16, 17,
1723 0, 0, 18, 95, 0, 19, 20, 301, 302, 0,
1724 110, 0, 0, 0, 0, 94, 0, 0, 0, 0,
1725 0, 0, 0, 257, 257, 257, 257, 257, 257, 0,
1726 56, 57, 58, 59, 60, 61, 62, 63, 64, 65,
1727 66, 67, 0, 0, 0, 0, 0, 68, 69, 70,
1728 71, 72, 73, 74, 75, 76, 77, 78, 23, 0,
1729 79, 80, 81, 82, 24, 25, 93, 0, 26, 0,
1730 27, 0, 0, 0, 0, 0, 0, 0, 83, 84,
1731 85, 86, 87, 88, 89, 90, 91, 28, 0, 29,
1732 6, 6, 6, 6, 6, 0, 6, 0, 30, 31,
1733 0, 6, 6, 6, 6, 6, 6, 6, 6, 6,
1734 0, 0, 6, 0, 0, 6, 6, 6, 6, 0,
1735 0, 0, 111, 0, 0, 0, 0, 0, 0, 110,
1736 319, 0, 0, 0, 94, 0, 0, 0, 0, 0,
1737 6, 6, 6, 6, 6, 6, 6, 6, 6, 6,
1738 6, 6, 0, 0, 0, 0, 0, 6, 6, 6,
1739 6, 6, 6, 6, 6, 6, 6, 6, 6, 0,
1740 6, 6, 6, 6, 6, 6, 0, 0, 6, 0,
1741 6, 0, 0, 0, 0, 93, 0, 0, 6, 6,
1742 6, 6, 6, 6, 6, 6, 6, 6, 0, 6,
1743 0, 0, 0, 0, 0, 0, 0, 0, 6, 6,
1744 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1745 0, 0, 0, 0, 0, 0, 0, 49, 50, 51,
1746 8, 0, 0, 52, 0, 126, 127, 128, 53, 0,
1747 0, 0, 0, 0, 0, 0, 0, 129, 130, 0,
1748 131, 132, 133, 134, 135, 136, 137, 138, 139, 140,
1749 141, 142, 143, 144, 145, 146, 147, 148, 149, 150,
1750 151, 152, 0, 0, 0, 0, 0, 56, 57, 58,
1751 59, 60, 61, 62, 63, 64, 65, 66, 67, 0,
1752 0, 0, 0, 0, 68, 69, 70, 71, 72, 73,
1753 74, 75, 76, 77, 78, 111, 0, 79, 80, 81,
1754 82, 0, 92, 153, 154, 0, 0, 94, 278, 0,
1755 0, 0, 0, 0, 0, 83, 84, 85, 86, 87,
1756 88, 89, 90, 91, 0, 0, 0, 155, 156, 157,
1757 158, 159, 160, 161, 162, 30, 49, 50, 51, 8,
1758 0, 0, 52, 0, 0, 0, 0, 53, 0, 0,
1759 0, 0, 0, 0, 0, 0, 0, 0, 93, 0,
1760 0, 0, 0, 54, 55, 0, 0, 0, 0, 0,
1761 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1762 0, 0, 0, 0, 0, 0, 56, 57, 58, 59,
1763 60, 61, 62, 63, 64, 65, 66, 67, 0, 0,
1764 0, 0, 0, 68, 69, 70, 71, 72, 73, 74,
1765 75, 76, 77, 78, 95, 0, 79, 80, 81, 82,
1766 0, 92, 0, 0, 0, 0, 94, 0, 0, 0,
1767 0, 0, 0, 0, 83, 84, 85, 86, 87, 88,
1768 89, 90, 91, 0, 0, 0, 0, 0, 0, 0,
1769 0, 0, 0, 0, 30, 0, 0, 0, 0, 0,
1770 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1771 0, 0, 0, 0, 0, 0, 0, 93, 0, 0,
1772 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1773 0, 0, 0, 0, 0, 0, 0, 0, 111, 0,
1774 0, 0, 0, 0, 0, 110, 0, 0, 0, 0,
1775 94, 0, 0, 0, 0, 0, 0, 0, 0, 49,
1776 50, 51, 8, 0, 0, 52, 0, 0, 0, 0,
1777 53, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1778 0, 0, 0, 0, 0, 0, 54, 55, 0, 0,
1779 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1780 0, 93, 0, 0, 0, 0, 0, 0, 0, 56,
1781 57, 58, 59, 60, 61, 62, 63, 64, 65, 66,
1782 67, 0, 0, 0, 0, 0, 68, 69, 70, 71,
1783 72, 73, 74, 75, 76, 77, 78, 0, 0, 79,
1784 80, 81, 82, 0, 0, 0, 0, 0, 0, 0,
1785 0, 0, 0, 0, 0, 0, 0, 83, 84, 85,
1786 86, 87, 88, 89, 90, 91, 0, 0, 0, 0,
1787 0, 0, 0, 0, 0, 0, 0, 30, 49, 50,
1788 51, 8, 0, 0, 52, 0, 0, 0, 0, 53,
1789 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1790 0, 0, 0, 111, 0, 54, 55, 0, 0, 0,
1791 92, 0, 0, 0, 0, 94, 0, 0, 0, 0,
1792 0, 0, 0, 0, 0, 0, 0, 0, 56, 57,
1793 58, 59, 60, 61, 62, 63, 64, 65, 66, 67,
1794 0, 0, 0, 0, 0, 68, 69, 70, 71, 72,
1795 73, 74, 75, 76, 77, 78, 0, 0, 79, 80,
1796 81, 82, 49, 50, 51, 8, 93, 0, 52, 0,
1797 0, 0, 0, 53, 0, 0, 83, 84, 85, 86,
1798 87, 88, 89, 90, 91, 0, 0, 111, 0, 54,
1799 55, 0, 0, 0, 285, 0, 30, 0, 0, 94,
1800 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1801 0, 0, 56, 57, 58, 59, 60, 61, 62, 63,
1802 64, 65, 66, 67, 0, 0, 0, 0, 0, 68,
1803 69, 70, 71, 72, 73, 74, 75, 76, 77, 78,
1804 0, 0, 79, 80, 81, 82, 0, 0, 0, 0,
1805 93, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1806 83, 84, 85, 86, 87, 88, 89, 90, 91, 0,
1807 0, 95, 0, 0, 0, 0, 0, 0, 279, 0,
1808 30, 0, 0, 94, 278, 0, 0, 0, 0, 0,
1809 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1810 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1811 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1812 0, 0, 0, 0, 0, 0, 0, 49, 50, 51,
1813 8, 0, 0, 52, 93, 0, 0, 0, 53, 0,
1814 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1815 0, 0, 0, 0, 54, 55, 95, 0, 0, 0,
1816 0, 0, 0, 110, 0, 446, 0, 0, 94, 0,
1817 0, 0, 0, 0, 0, 0, 0, 56, 57, 58,
1818 59, 60, 61, 62, 63, 64, 65, 66, 67, 0,
1819 0, 0, 0, 0, 68, 69, 70, 71, 72, 73,
1820 74, 75, 76, 77, 78, 0, 0, 79, 80, 81,
1821 82, 49, 50, 51, 8, 0, 0, 52, 0, 93,
1822 0, 0, 53, 0, 0, 83, 84, 85, 86, 87,
1823 88, 89, 90, 91, 0, 0, 0, 0, 54, 55,
1824 95, 0, 0, 0, 0, 30, 0, 110, 0, 0,
1825 0, 0, 94, 0, 0, 0, 0, 0, 0, 0,
1826 0, 56, 57, 58, 59, 60, 61, 62, 63, 64,
1827 65, 66, 67, 0, 0, 0, 0, 0, 68, 69,
1828 70, 71, 72, 73, 74, 75, 76, 77, 78, 0,
1829 0, 79, 80, 81, 82, 275, 50, 51, 0, 0,
1830 0, 276, 0, 93, 0, 0, 277, 0, 0, 83,
1831 84, 85, 86, 87, 88, 89, 90, 91, 0, 0,
1832 0, 0, 54, 55, 95, 0, 0, 0, 0, 30,
1833 0, 92, 0, 0, 0, 0, 94, 0, 0, 0,
1834 0, 0, 0, 0, 0, 56, 57, 58, 59, 60,
1835 61, 62, 63, 64, 65, 66, 67, 0, 0, 0,
1836 0, 0, 68, 69, 70, 71, 72, 73, 74, 75,
1837 76, 77, 78, 0, 0, 79, 80, 81, 82, 0,
1838 49, 50, 51, 0, 0, 0, 52, 93, 0, 0,
1839 0, 53, 0, 83, 84, 85, 86, 87, 88, 89,
1840 90, 91, 0, 0, 0, 0, 0, 54, 55, 95,
1841 0, 0, 0, 0, 0, 0, 285, 0, 0, 0,
1842 0, 94, 0, 0, 0, 0, 0, 0, 0, 0,
1843 56, 57, 58, 59, 60, 61, 62, 63, 64, 65,
1844 66, 67, 0, 0, 0, 0, 0, 68, 69, 70,
1845 71, 72, 73, 74, 75, 76, 77, 78, 0, 0,
1846 79, 80, 81, 82, 49, 50, 51, 0, 0, 0,
1847 52, 0, 93, 0, 0, 53, 0, 0, 83, 84,
1848 85, 86, 87, 88, 89, 90, 91, 0, 0, 0,
1849 0, 54, 55, 95, 0, 0, 0, 0, 0, 0,
1850 110, 0, 0, 0, 0, 94, 0, 0, 0, 0,
1851 0, 0, 0, 0, 56, 57, 58, 59, 60, 61,
1852 62, 63, 64, 65, 66, 67, 0, 0, 0, 0,
1853 0, 68, 69, 70, 71, 72, 73, 74, 75, 76,
1854 77, 78, 0, 0, 79, 80, 81, 82, 49, 50,
1855 51, 0, 0, 0, 52, 0, 93, 0, 0, 53,
1856 0, 0, 83, 84, 85, 86, 87, 88, 89, 90,
1857 91, 0, 0, 0, 0, 54, 55, 0, 0, 0,
1858 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1859 0, 0, 0, 0, 0, 0, 0, 0, 56, 57,
1860 58, 59, 60, 61, 62, 63, 64, 65, 66, 67,
1861 0, 0, 0, 0, 0, 68, 69, 70, 71, 72,
1862 73, 74, 75, 76, 77, 78, 0, 0, 79, 80,
1863 81, 82, 0, 49, 50, 51, 0, 0, 0, 52,
1864 0, 0, 0, 0, 53, 0, 83, 84, 85, 86,
1865 87, 88, 89, 90, 91, 0, 0, 0, 0, 0,
1866 54, 55, 0, 0, 0, 0, 0, 0, 0, 0,
1867 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1868 0, 0, 0, 56, 57, 58, 59, 60, 61, 62,
1869 63, 64, 65, 66, 67, 0, 0, 0, 0, 0,
1870 68, 69, 70, 71, 72, 73, 74, 75, 76, 77,
1871 78, 0, 0, 79, 80, 81, 82, 49, 50, 51,
1872 0, 0, 0, 52, 0, 0, 0, 0, 53, 0,
1873 0, 83, 84, 85, 86, 87, 88, 89, 90, 91,
1874 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1875 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1876 0, 0, 0, 0, 0, 0, 0, 56, 57, 58,
1877 59, 60, 61, 62, 63, 64, 65, 66, 67, 0,
1878 0, 0, 0, 0, 68, 69, 70, 71, 72, 73,
1879 74, 75, 76, 77, 78, 0, 0, 79, 80, 81,
1880 82, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1881 0, 0, 0, 0, 0, 83, 84, 85, 86, 87,
1884 static const short yycheck[] = { 25,
1885 0, 41, 105, 29, 43, 31, 45, 44, 0, 59,
1886 43, 37, 45, 125, 37, 100, 260, 284, 285, 42,
1887 43, 260, 45, 37, 47, 257, 258, 107, 42, 43,
1888 44, 45, 59, 47, 43, 102, 45, 60, 92, 62,
1889 120, 41, 58, 4, 44, 61, 60, 58, 62, 41,
1890 284, 285, 44, 62, 260, 167, 43, 25, 45, 59,
1891 349, 350, 268, 31, 25, 61, 92, 59, 94, 95,
1892 31, 94, 258, 140, 41, 62, 37, 44, 96, 258,
1893 94, 107, 0, 41, 40, 111, 44, 141, 355, 356,
1894 37, 111, 348, 93, 120, 42, 43, 336, 45, 96,
1895 47, 93, 0, 129, 130, 131, 132, 133, 134, 135,
1896 136, 137, 138, 139, 140, 141, 351, 352, 144, 145,
1897 146, 355, 356, 0, 92, 125, 43, 44, 45, 155,
1898 156, 375, 61, 125, 160, 161, 221, 336, 36, 107,
1899 43, 167, 45, 37, 42, 37, 107, 94, 42, 43,
1900 42, 45, 120, 47, 262, 47, 275, 118, 40, 120,
1901 279, 41, 40, 43, 125, 45, 60, 40, 62, 137,
1902 138, 139, 140, 276, 277, 93, 230, 231, 40, 205,
1903 206, 207, 208, 209, 210, 211, 212, 213, 214, 215,
1904 216, 217, 218, 219, 220, 280, 157, 158, 159, 167,
1905 94, 40, 94, 40, 230, 231, 167, 125, 275, 0,
1906 121, 122, 279, 40, 40, 282, 93, 40, 40, 245,
1907 40, 258, 248, 249, 250, 279, 252, 253, 248, 249,
1908 37, 285, 252, 253, 291, 42, 43, 260, 45, 257,
1909 47, 260, 33, 61, 212, 263, 27, 262, 125, 40,
1910 268, 258, 220, 279, 45, 374, 375, 41, 0, 285,
1911 257, 41, 43, 43, 264, 45, 263, 306, 41, 264,
1912 373, 268, 264, 306, 328, 329, 43, 44, 45, 319,
1913 320, 321, 322, 323, 302, 94, 303, 94, 0, 408,
1914 46, 291, 411, 254, 255, 407, 322, 323, 259, 291,
1915 91, 327, 328, 329, 257, 96, 93, 374, 375, 125,
1916 302, 279, 93, 305, 43, 44, 45, 59, 93, 0,
1917 43, 44, 45, 0, 262, 257, 349, 350, 351, 352,
1918 353, 354, 123, 41, 262, 349, 350, 351, 352, 353,
1919 354, 408, 41, 44, 411, 41, 41, 59, 0, 349,
1920 350, 93, 375, 41, 322, 323, 41, 349, 350, 327,
1921 44, 37, 44, 41, 0, 0, 42, 43, 44, 45,
1922 41, 47, 0, 304, 349, 401, 402, 403, 0, 405,
1923 44, 93, 59, 125, 60, 257, 62, 262, 169, 41,
1924 41, 365, 44, 419, 420, 176, 177, 178, 179, 180,
1925 181, 182, 183, 184, 185, 186, 41, 59, 41, 44,
1926 91, 260, 305, 125, 41, 441, 93, 41, 94, 41,
1927 446, 41, 44, 59, 59, 43, 44, 45, 41, 41,
1928 37, 59, 346, 401, 402, 42, 43, 59, 45, 0,
1929 47, 93, 123, 43, 44, 45, 407, 41, 125, 262,
1930 260, 419, 420, 60, 44, 62, 346, 93, 93, 353,
1931 354, 43, 44, 45, 167, 93, 257, 258, 259, 260,
1932 261, 93, 263, 125, 43, 44, 45, 268, 269, 270,
1933 271, 272, 273, 274, 275, 276, 346, 94, 279, 125,
1934 125, 282, 283, 284, 285, 302, 346, 125, 305, 46,
1935 413, 31, 36, 125, 319, 320, 321, 322, 323, 195,
1936 46, -1, -1, -1, -1, -1, 307, 308, 309, 310,
1937 311, 312, 313, 314, 315, 316, 317, 318, -1, -1,
1938 -1, -1, -1, 324, 325, 326, 327, 328, 329, 330,
1939 331, 332, 333, 334, 335, -1, 337, 338, 339, 340,
1940 341, 342, -1, -1, 345, -1, 347, -1, -1, -1,
1941 -1, -1, -1, -1, 355, 356, 357, 358, 359, 360,
1942 361, 362, 363, 364, 0, 366, 257, 258, -1, 260,
1943 261, -1, -1, -1, 375, 376, 0, -1, 269, 270,
1944 271, 272, 273, 274, 275, 276, 0, -1, 279, -1,
1945 -1, 282, 283, 284, 285, 386, -1, 33, -1, 390,
1946 391, 37, 264, -1, 40, 41, 42, 43, 44, 45,
1947 -1, 47, -1, -1, -1, 0, -1, 41, -1, 264,
1948 44, -1, 0, 59, 60, -1, 62, -1, -1, 291,
1949 -1, -1, 264, -1, -1, 59, -1, -1, -1, -1,
1950 302, -1, -1, 305, 335, 59, 291, -1, 0, -1,
1951 341, 342, -1, 0, 345, -1, 347, 93, -1, 291,
1952 96, -1, -1, 349, 350, 351, 352, 353, 354, 93,
1953 287, -1, -1, 364, 59, 366, -1, -1, -1, 93,
1954 -1, 59, -1, 0, 375, 376, -1, -1, 350, 125,
1955 -1, 43, -1, 45, -1, -1, 43, -1, 45, -1,
1956 -1, 125, -1, -1, -1, 350, -1, 59, 93, -1,
1957 -1, 125, 59, -1, -1, 93, 33, -1, 350, -1,
1958 37, -1, -1, 40, 41, 42, 43, 44, 45, -1,
1959 47, -1, 349, 350, 351, 352, 353, 354, 284, 285,
1960 125, 93, 59, 60, -1, 62, 93, 125, -1, -1,
1961 -1, 308, 309, 310, 311, 312, 313, 314, 315, 316,
1962 317, 318, 308, 309, 310, 311, 312, 313, 314, 315,
1963 316, 317, 318, 125, -1, -1, 93, -1, 125, 96,
1964 337, 338, 339, 340, -1, -1, -1, -1, -1, -1,
1965 -1, 337, 338, 339, 340, -1, -1, -1, 355, 356,
1966 357, 358, 359, 360, 361, 362, 363, -1, 125, 355,
1967 356, 357, 358, 359, 360, 361, 362, 363, -1, -1,
1968 -1, 257, 258, 259, 260, -1, -1, 263, 264, 265,
1969 266, 267, 268, -1, -1, -1, -1, -1, -1, -1,
1970 264, 277, 278, -1, 280, 281, 282, 283, 284, 285,
1971 286, 287, 288, 289, 290, 291, 292, 293, 294, 295,
1972 296, 297, 298, 299, 300, 301, 302, 291, -1, 305,
1973 306, 307, 308, 309, 310, 311, 312, 313, 314, 315,
1974 316, 317, 318, -1, -1, -1, -1, -1, 324, 325,
1975 326, 327, 328, 329, 330, 331, 332, 333, 334, -1,
1976 91, 337, 338, 339, 340, 46, -1, 343, 344, -1,
1977 346, -1, -1, 349, 350, 351, 352, 353, 354, 355,
1978 356, 357, 358, 359, 360, 361, 362, 363, -1, -1,
1979 -1, 367, 368, 369, 370, 371, 372, 373, 374, 375,
1980 257, 258, 259, 260, -1, -1, 263, 264, 265, 266,
1981 267, 268, -1, -1, 91, -1, -1, -1, -1, -1,
1982 277, 278, -1, 280, 281, 282, 283, 284, 285, 286,
1983 287, 288, 289, 290, 291, 292, 293, 294, 295, 296,
1984 297, 298, 299, 300, 301, 302, -1, -1, 305, 306,
1985 307, 308, 309, 310, 311, 312, 313, 314, 315, 316,
1986 317, 318, -1, -1, 0, -1, -1, 324, 325, 326,
1987 327, 328, 329, 330, 331, 332, 333, 334, -1, -1,
1988 337, 338, 339, 340, -1, -1, 343, 344, 0, 346,
1989 -1, -1, 349, 350, 351, 352, 353, 354, 355, 356,
1990 357, 358, 359, 360, 361, 362, 363, -1, -1, -1,
1991 367, 368, 369, 370, 371, 372, 373, 374, 375, -1,
1992 -1, 33, -1, 59, -1, 37, -1, -1, 40, 41,
1993 42, 43, 44, 45, -1, 47, -1, 91, 269, 270,
1994 271, 272, 273, 274, -1, 276, -1, 59, 60, -1,
1995 62, -1, -1, -1, -1, -1, -1, 93, -1, -1,
1996 -1, -1, -1, -1, -1, 37, -1, -1, -1, -1,
1997 42, 43, 44, 45, -1, 47, -1, -1, -1, -1,
1998 -1, 93, -1, 260, 96, -1, -1, -1, 60, 125,
1999 62, 268, 269, 270, 271, 272, 273, 274, -1, 276,
2000 -1, -1, -1, 284, 285, -1, -1, 0, -1, -1,
2001 -1, -1, -1, 125, -1, -1, -1, -1, -1, -1,
2002 -1, -1, 94, -1, -1, -1, -1, 308, 309, 310,
2003 311, 312, 313, 314, 315, 316, 317, 318, -1, -1,
2004 33, -1, -1, -1, 37, -1, -1, 40, 41, 42,
2005 43, 44, 45, -1, 47, -1, 337, 338, 339, 340,
2006 -1, -1, -1, -1, -1, -1, 59, 60, -1, 62,
2007 -1, -1, -1, -1, 355, 356, 357, 358, 359, 360,
2008 361, 362, 363, -1, -1, -1, -1, -1, -1, -1,
2009 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2010 93, -1, -1, 96, 37, -1, 260, -1, -1, 42,
2011 43, -1, 45, -1, 47, 269, 270, 271, 272, 273,
2012 274, -1, 276, -1, -1, -1, -1, 60, -1, 62,
2013 -1, -1, 125, -1, -1, -1, -1, -1, -1, -1,
2014 -1, -1, -1, -1, -1, 257, 258, 259, 260, -1,
2015 -1, 263, 264, 265, 266, 267, 268, -1, -1, -1,
2016 -1, 94, -1, -1, -1, 277, 278, -1, 280, 281,
2017 282, 283, 284, 285, 286, 287, 288, 289, 290, 291,
2018 292, 293, 294, 295, 296, 297, 298, 299, 300, 301,
2019 302, -1, -1, 305, 306, 307, 308, 309, 310, 311,
2020 312, 313, 314, 315, 316, 317, 318, -1, -1, -1,
2021 -1, -1, 324, 325, 326, 327, 328, 329, 330, 331,
2022 332, 333, 334, -1, -1, 337, 338, 339, 340, -1,
2023 302, 343, 344, 305, 346, -1, -1, 349, 350, 351,
2024 352, 353, 354, 355, 356, 357, 358, 359, 360, 361,
2025 362, 363, -1, -1, -1, 367, 368, 369, 370, 371,
2026 372, 373, 374, 375, 257, 258, 259, 260, -1, -1,
2027 263, 264, 265, 266, 267, 268, -1, 349, 350, 351,
2028 352, 353, 354, -1, 277, 278, -1, 280, 281, 282,
2029 283, 284, 285, 286, 287, 288, 289, 290, 291, 292,
2030 293, 294, 295, 296, 297, 298, 299, 300, 301, 302,
2031 -1, -1, 305, 306, 307, 308, 309, 310, 311, 312,
2032 313, 314, 315, 316, 317, 318, -1, -1, -1, -1,
2033 -1, 324, 325, 326, 327, 328, 329, 330, 331, 332,
2034 333, 334, -1, -1, 337, 338, 339, 340, -1, -1,
2035 343, 344, 0, 346, -1, -1, 349, 350, 351, 352,
2036 353, 354, 355, 356, 357, 358, 359, 360, 361, 362,
2037 363, -1, -1, -1, 367, 368, 369, 370, 371, 372,
2038 373, 374, 375, -1, -1, 33, -1, -1, -1, 37,
2039 -1, -1, 40, 41, 42, 43, 44, 45, -1, 47,
2040 -1, -1, -1, -1, -1, -1, -1, -1, -1, 0,
2041 -1, 59, 60, -1, 62, -1, 349, 350, 351, 352,
2042 353, 354, -1, -1, -1, -1, -1, -1, -1, 37,
2043 -1, -1, -1, -1, 42, 43, 44, 45, -1, 47,
2044 -1, -1, -1, -1, -1, 93, -1, -1, 96, -1,
2045 41, -1, 60, 44, 62, -1, -1, -1, -1, -1,
2046 -1, -1, -1, -1, -1, -1, -1, -1, 59, -1,
2047 -1, 0, -1, -1, -1, -1, -1, 125, -1, -1,
2048 -1, -1, -1, -1, -1, -1, 94, -1, -1, -1,
2049 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2050 -1, -1, 93, -1, 33, -1, -1, -1, 37, -1,
2051 -1, 40, 41, 42, 43, 44, 45, -1, 47, -1,
2052 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2053 59, 60, -1, 62, 125, -1, -1, -1, 37, -1,
2054 -1, -1, -1, 42, 43, -1, 45, -1, 47, -1,
2055 37, -1, -1, -1, -1, 42, 43, -1, 45, -1,
2056 47, 60, -1, 62, 93, -1, -1, 96, -1, -1,
2057 -1, -1, -1, 60, 37, 62, -1, -1, -1, 42,
2058 43, -1, 45, -1, 47, -1, -1, -1, -1, -1,
2059 -1, -1, -1, -1, -1, 94, 125, 60, -1, 62,
2060 -1, -1, -1, -1, -1, -1, -1, 94, -1, 257,
2061 258, 259, 260, -1, -1, 263, 264, 265, 266, 267,
2062 268, -1, -1, -1, -1, -1, -1, -1, -1, 277,
2063 278, 94, 280, 281, 282, 283, 284, 285, 286, 287,
2064 288, 289, 290, 291, 292, 293, 294, 295, 296, 297,
2065 298, 299, 300, 301, 302, -1, -1, 305, 306, 307,
2066 308, 309, 310, 311, 312, 313, 314, 315, 316, 317,
2067 318, -1, -1, 264, -1, -1, 324, 325, 326, 327,
2068 328, 329, 330, 331, 332, 333, 334, -1, -1, 337,
2069 338, 339, 340, -1, 302, 343, 344, 305, 346, -1,
2070 291, 349, 350, 351, 352, 353, 354, 355, 356, 357,
2071 358, 359, 360, 361, 362, 363, -1, -1, -1, 367,
2072 368, 369, 370, 371, 372, 373, 374, 375, 257, 258,
2073 259, 260, -1, -1, 263, 264, 265, 266, 267, 268,
2074 -1, 349, 350, 351, 352, 353, 354, -1, 277, 278,
2075 -1, 280, 281, 282, 283, 284, 285, 286, 287, 288,
2076 289, 290, 291, 292, 293, 294, 295, 296, 297, 298,
2077 299, 300, 301, 302, -1, -1, 305, 306, 307, 308,
2078 309, 310, 311, 312, 313, 314, 315, 316, 317, 318,
2079 -1, 290, -1, -1, -1, 324, 325, 326, 327, 328,
2080 329, 330, 331, 332, 333, 334, -1, -1, 337, 338,
2081 339, 340, -1, -1, 343, 344, 0, 346, -1, -1,
2082 349, 350, 351, 352, 353, 354, 355, 356, 357, 358,
2083 359, 360, 361, 362, 363, -1, -1, -1, 367, 368,
2084 369, 370, 371, 372, 373, 374, 375, -1, -1, 33,
2085 349, 350, 351, 352, 353, 354, 40, 41, -1, 43,
2086 44, 45, 349, 350, 351, 352, 353, 354, -1, -1,
2087 -1, -1, -1, -1, -1, 59, 60, -1, 62, -1,
2088 -1, -1, -1, -1, -1, -1, 349, -1, 351, 352,
2089 353, 354, -1, 37, -1, -1, -1, -1, 42, 43,
2090 44, 45, -1, 47, -1, -1, -1, -1, -1, 93,
2091 -1, -1, 96, -1, -1, -1, 60, -1, 62, -1,
2092 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2093 -1, -1, -1, -1, -1, 0, -1, -1, -1, -1,
2094 -1, 125, -1, -1, -1, -1, -1, -1, -1, -1,
2095 94, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2096 -1, -1, -1, -1, -1, -1, -1, -1, 33, -1,
2097 -1, -1, -1, -1, -1, 40, 41, -1, 43, 44,
2098 45, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2099 -1, -1, -1, -1, 59, 60, -1, 62, -1, -1,
2100 37, -1, -1, -1, -1, 42, 43, -1, 45, -1,
2101 47, 37, -1, -1, -1, -1, 42, 43, -1, 45,
2102 -1, 47, -1, 60, -1, 62, -1, -1, 93, -1,
2103 -1, 96, -1, -1, 60, -1, 62, -1, -1, -1,
2104 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2105 -1, -1, -1, -1, -1, -1, -1, 94, -1, -1,
2106 125, -1, -1, -1, -1, -1, -1, -1, 94, -1,
2107 -1, -1, -1, 257, 258, 259, 260, -1, -1, 263,
2108 264, 265, 266, 267, 268, -1, -1, -1, -1, -1,
2109 -1, -1, -1, 277, 278, -1, 280, 281, 282, 283,
2110 284, 285, 286, 287, 288, 289, 290, 291, 292, 293,
2111 294, 295, 296, 297, 298, 299, 300, 301, 302, -1,
2112 -1, 305, 306, 307, 308, 309, 310, 311, 312, 313,
2113 314, 315, 316, 317, 318, -1, -1, -1, -1, -1,
2114 324, 325, 326, 327, 328, 329, 330, 331, 332, 333,
2115 334, -1, -1, 337, 338, 339, 340, -1, 302, 343,
2116 344, 305, 346, -1, -1, 349, 350, 351, 352, 353,
2117 354, 355, 356, 357, 358, 359, 360, 361, 362, 363,
2118 -1, -1, -1, 367, 368, 369, 370, 371, 372, 373,
2119 374, 375, 257, 258, 259, 260, -1, -1, 263, 264,
2120 265, 266, 267, 268, -1, 349, 350, 351, 352, 353,
2121 354, -1, 277, 278, -1, 280, 281, 282, 283, 284,
2122 285, 286, 287, 288, 289, 290, 291, 292, 293, 294,
2123 295, 296, 297, 298, 299, 300, 301, 302, -1, -1,
2124 305, 306, 307, 308, 309, 310, 311, 312, 313, 314,
2125 315, 316, 317, 318, -1, -1, -1, -1, -1, 324,
2126 325, 326, 327, 328, 329, 330, 331, 332, 333, 334,
2127 -1, -1, 337, 338, 339, 340, -1, -1, 343, 344,
2128 0, 346, -1, -1, 349, 350, 351, 352, 353, 354,
2129 355, 356, 357, 358, 359, 360, 361, 362, 363, -1,
2130 -1, -1, 367, 368, 369, 370, 371, 372, 373, 374,
2131 375, -1, 349, 33, 351, 352, 353, 354, -1, -1,
2132 40, 41, -1, -1, 44, 351, 352, 353, 354, -1,
2133 -1, -1, -1, -1, -1, -1, -1, -1, -1, 59,
2134 60, -1, 62, -1, -1, -1, -1, -1, -1, -1,
2135 -1, -1, -1, -1, -1, -1, -1, -1, -1, 0,
2136 308, 309, 310, 311, 312, 313, 314, 315, 316, 317,
2137 318, -1, -1, 93, -1, -1, 96, -1, -1, -1,
2138 -1, -1, -1, -1, -1, -1, -1, -1, -1, 337,
2139 338, 339, 340, -1, -1, -1, -1, -1, -1, 0,
2140 -1, -1, -1, -1, -1, 125, -1, 355, 356, 357,
2141 358, 359, 360, 361, 362, 363, -1, -1, 59, -1,
2142 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2143 -1, -1, 33, -1, -1, -1, -1, -1, -1, 40,
2144 41, -1, -1, 44, -1, -1, -1, -1, -1, -1,
2145 -1, -1, 93, -1, -1, 96, -1, -1, 59, 60,
2146 -1, 62, -1, -1, -1, -1, -1, -1, -1, -1,
2147 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2148 -1, -1, -1, -1, 125, -1, -1, -1, -1, -1,
2149 -1, -1, 93, -1, -1, 96, -1, -1, -1, -1,
2150 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2151 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2152 -1, -1, -1, -1, 125, -1, -1, -1, -1, -1,
2153 -1, -1, -1, -1, -1, -1, -1, 257, 258, 259,
2154 260, -1, -1, 263, 264, 265, 266, 267, 268, -1,
2155 -1, -1, -1, -1, -1, -1, -1, 277, 278, -1,
2156 280, 281, 282, 283, 284, 285, 286, 287, 288, 289,
2157 290, 291, 292, 293, 294, 295, 296, 297, 298, 299,
2158 300, 301, 302, -1, -1, 305, 306, 307, 308, 309,
2159 310, 311, 312, 313, 314, 315, 316, 317, 318, -1,
2160 -1, -1, -1, -1, 324, 325, 326, 327, 328, 329,
2161 330, 331, 332, 333, 334, -1, 257, 337, 338, 339,
2162 340, -1, 263, 343, 344, -1, 346, 268, -1, 349,
2163 350, 351, 352, 353, 354, 355, 356, 357, 358, 359,
2164 360, 361, 362, 363, -1, -1, -1, 367, 368, 369,
2165 370, 371, 372, 373, 374, 375, 257, 258, 259, 260,
2166 -1, 302, 263, 264, 265, 266, 267, 268, -1, -1,
2167 -1, -1, -1, -1, -1, -1, 277, 278, -1, 280,
2168 281, 282, 283, 284, 285, 286, 287, 288, 289, 290,
2169 291, 292, 293, 294, 295, 296, 297, 298, 299, 300,
2170 301, 302, -1, -1, 305, 306, 307, 308, 309, 310,
2171 311, 312, 313, 314, 315, 316, 317, 318, -1, -1,
2172 -1, 0, -1, 324, 325, 326, 327, 328, 329, 330,
2173 331, 332, 333, 334, -1, -1, 337, 338, 339, 340,
2174 -1, -1, 343, 344, 0, 346, -1, -1, 349, 350,
2175 351, 352, 353, 354, 355, 356, 357, 358, 359, 360,
2176 361, 362, 363, -1, -1, -1, 367, 368, 369, 370,
2177 371, 372, 373, 374, 375, -1, -1, 33, -1, -1,
2178 59, -1, -1, -1, 40, 41, -1, -1, 44, -1,
2179 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2180 -1, -1, -1, 59, 60, -1, 62, -1, -1, -1,
2181 -1, -1, -1, -1, 93, -1, -1, 96, -1, -1,
2182 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2183 -1, -1, -1, -1, -1, -1, -1, 93, -1, -1,
2184 96, -1, -1, -1, -1, -1, 125, -1, -1, -1,
2185 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2186 -1, -1, -1, 0, -1, -1, -1, -1, -1, 125,
2187 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2188 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2189 -1, -1, -1, -1, -1, -1, 33, -1, -1, -1,
2190 -1, -1, -1, 40, 41, -1, -1, 44, -1, -1,
2191 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2192 -1, -1, 59, 60, -1, 62, -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, -1,
2195 -1, -1, -1, -1, -1, -1, 93, -1, -1, 96,
2196 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2197 -1, -1, -1, -1, -1, -1, -1, -1, 257, -1,
2198 -1, -1, -1, -1, 263, -1, -1, -1, 125, 268,
2199 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2200 -1, 257, 258, 259, 260, -1, -1, 263, 264, 265,
2201 266, 267, 268, -1, -1, -1, -1, -1, -1, -1,
2202 -1, 277, 278, 302, 280, 281, 282, 283, 284, 285,
2203 286, 287, 288, 289, 290, 291, 292, 293, 294, 295,
2204 296, 297, 298, 299, 300, 301, 302, -1, -1, 305,
2205 306, 307, 308, 309, 310, 311, 312, 313, 314, 315,
2206 316, 317, 318, -1, -1, -1, -1, -1, 324, 325,
2207 326, 327, 328, 329, 330, 331, 332, 333, 334, -1,
2208 -1, 337, 338, 339, 340, -1, -1, 343, 344, -1,
2209 346, -1, -1, 349, 350, 351, 352, 353, 354, 355,
2210 356, 357, 358, 359, 360, 361, 362, 363, -1, -1,
2211 -1, 367, 368, 369, 370, 371, 372, 373, 374, 375,
2212 257, 258, 259, 260, -1, -1, 263, 264, 265, 266,
2213 267, 268, -1, -1, -1, -1, -1, -1, -1, -1,
2214 277, 278, -1, 280, 281, 282, 283, 284, 285, 286,
2215 287, 288, 289, 290, 291, 292, 293, 294, 295, 296,
2216 297, 298, 299, 300, 301, 302, -1, -1, 305, 306,
2217 307, 308, 309, 310, 311, 312, 313, 314, 315, 316,
2218 317, 318, -1, -1, -1, -1, -1, 324, 325, 326,
2219 327, 328, 329, 330, 331, 332, 333, 334, -1, -1,
2220 337, 338, 339, 340, -1, -1, 343, 344, 0, 346,
2221 -1, -1, 349, 350, 351, 352, 353, 354, 355, 356,
2222 357, 358, 359, 360, 361, 362, 363, -1, -1, -1,
2223 367, 368, 369, 370, 371, 372, 373, 374, 375, -1,
2224 -1, 33, -1, -1, -1, -1, -1, -1, 40, 41,
2225 -1, 43, 44, 45, -1, -1, -1, -1, -1, -1,
2226 -1, -1, -1, -1, -1, -1, -1, 59, -1, -1,
2227 62, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2228 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2229 -1, -1, -1, -1, -1, -1, -1, 0, -1, -1,
2230 -1, 93, -1, -1, 96, -1, -1, -1, -1, -1,
2231 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2232 -1, -1, -1, -1, -1, -1, -1, 0, -1, -1,
2233 -1, -1, -1, 125, -1, -1, -1, -1, 41, -1,
2234 -1, 44, -1, -1, -1, -1, -1, -1, -1, -1,
2235 -1, -1, -1, -1, -1, -1, 59, -1, -1, -1,
2236 33, -1, -1, -1, -1, -1, -1, 40, 41, -1,
2237 -1, 44, -1, -1, -1, -1, -1, -1, -1, -1,
2238 -1, -1, -1, -1, -1, -1, 59, -1, -1, -1,
2239 93, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2240 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2241 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2242 93, -1, 125, 96, -1, -1, -1, -1, -1, -1,
2243 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2244 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2245 -1, -1, 125, -1, -1, -1, -1, -1, -1, -1,
2246 -1, -1, -1, -1, -1, 257, 258, 259, 260, -1,
2247 -1, 263, -1, 265, 266, 267, 268, -1, -1, -1,
2248 -1, -1, -1, -1, -1, 277, 278, -1, 280, 281,
2249 282, 283, 284, 285, 286, 287, 288, 289, 290, 291,
2250 292, 293, 294, 295, 296, 297, 298, 299, 300, 301,
2251 -1, -1, -1, -1, 306, 307, 308, 309, 310, 311,
2252 312, 313, 314, 315, 316, 317, 318, 319, 320, 321,
2253 322, 323, 324, 325, 326, 327, 328, 329, 330, 331,
2254 332, 333, 334, -1, -1, 337, 338, 339, 340, -1,
2255 -1, 343, 344, -1, -1, -1, -1, -1, -1, -1,
2256 -1, 264, -1, 355, 356, 357, 358, 359, 360, 361,
2257 362, 363, -1, -1, -1, 367, 368, 369, 370, 371,
2258 372, 373, 374, 375, 257, 258, 259, 260, 291, -1,
2259 263, 264, 265, 266, 267, 268, -1, -1, -1, -1,
2260 -1, -1, -1, -1, 277, 278, -1, 280, 281, 282,
2261 283, 284, 285, 286, 287, 288, 289, 290, 291, 292,
2262 293, 294, 295, 296, 297, 298, 299, 300, 301, 302,
2263 -1, -1, 305, 306, 307, 308, 309, 310, 311, 312,
2264 313, 314, 315, 316, 317, 318, -1, 350, -1, -1,
2265 -1, 324, 325, 326, 327, 328, 329, 330, 331, 332,
2266 333, 334, -1, -1, 337, 338, 339, 340, -1, -1,
2267 343, 344, 0, 346, -1, -1, 349, 350, 351, 352,
2268 -1, -1, 355, 356, 357, 358, 359, 360, 361, 362,
2269 363, -1, -1, -1, 367, 368, 369, 370, 371, 372,
2270 373, 374, 375, -1, -1, 33, -1, -1, -1, -1,
2271 -1, -1, 40, 41, -1, -1, 44, -1, -1, -1,
2272 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2273 -1, 59, -1, -1, -1, -1, -1, -1, -1, -1,
2274 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2275 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2276 -1, -1, -1, -1, -1, 93, -1, -1, 96, -1,
2277 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2278 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2279 -1, 0, -1, -1, -1, -1, -1, 125, -1, -1,
2280 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2281 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2282 -1, -1, -1, -1, 33, -1, -1, -1, -1, -1,
2283 -1, 40, 41, -1, 43, 44, 45, -1, -1, -1,
2284 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2285 59, -1, -1, 62, -1, -1, -1, -1, -1, -1,
2286 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2287 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2288 -1, -1, -1, -1, 93, -1, -1, 96, -1, -1,
2289 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2290 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2291 -1, -1, -1, -1, -1, -1, 125, -1, -1, -1,
2292 -1, -1, -1, -1, -1, -1, -1, -1, -1, 257,
2293 258, 259, 260, -1, -1, 263, 264, 265, 266, 267,
2294 268, -1, -1, -1, -1, -1, -1, -1, -1, 277,
2295 278, -1, 280, 281, 282, 283, 284, 285, 286, 287,
2296 288, 289, 290, 291, 292, 293, 294, 295, 296, 297,
2297 298, 299, 300, 301, 302, -1, -1, 305, 306, 307,
2298 308, 309, 310, 311, 312, 313, 314, 315, 316, 317,
2299 318, -1, -1, -1, -1, -1, 324, 325, 326, 327,
2300 328, 329, 330, 331, 332, 333, 334, -1, -1, 337,
2301 338, 339, 340, -1, -1, 343, 344, -1, 346, -1,
2302 -1, 349, 350, 351, 352, -1, -1, 355, 356, 357,
2303 358, 359, 360, 361, 362, 363, -1, -1, -1, 367,
2304 368, 369, 370, 371, 372, 373, 374, 375, 257, 258,
2305 259, 260, -1, -1, 263, -1, 265, 266, 267, 268,
2306 -1, -1, -1, -1, -1, -1, -1, -1, 277, 278,
2307 -1, 280, 281, 282, 283, 284, 285, 286, 287, 288,
2308 289, 290, 291, 292, 293, 294, 295, 296, 297, 298,
2309 299, 300, 301, -1, -1, -1, -1, 306, 307, 308,
2310 309, 310, 311, 312, 313, 314, 315, 316, 317, 318,
2311 319, 320, 321, 322, 323, 324, 325, 326, 327, 328,
2312 329, 330, 331, 332, 333, 334, -1, -1, 337, 338,
2313 339, 340, -1, -1, 343, 344, 0, -1, -1, -1,
2314 -1, -1, -1, -1, -1, -1, 355, 356, 357, 358,
2315 359, 360, 361, 362, 363, -1, -1, -1, 367, 368,
2316 369, 370, 371, 372, 373, 374, 375, -1, -1, 33,
2317 -1, -1, -1, -1, -1, -1, 40, 41, -1, -1,
2318 44, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2319 -1, -1, -1, -1, -1, 59, -1, -1, -1, -1,
2320 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2321 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2322 -1, -1, -1, -1, -1, -1, -1, -1, -1, 93,
2323 -1, -1, 96, -1, -1, -1, -1, -1, -1, -1,
2324 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2325 -1, -1, -1, -1, -1, 0, -1, -1, -1, -1,
2326 -1, 125, -1, -1, -1, -1, -1, -1, -1, -1,
2327 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2328 -1, -1, -1, -1, -1, -1, -1, -1, 33, -1,
2329 -1, -1, -1, -1, -1, 40, 41, -1, -1, 44,
2330 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2331 -1, -1, -1, -1, 59, -1, -1, -1, -1, -1,
2332 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2333 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2334 -1, -1, -1, -1, -1, -1, -1, -1, 93, -1,
2335 -1, 96, -1, -1, -1, -1, -1, -1, -1, -1,
2336 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2337 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2338 125, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2339 -1, -1, -1, 257, 258, 259, 260, -1, -1, 263,
2340 264, 265, 266, 267, 268, -1, -1, -1, -1, -1,
2341 -1, -1, -1, 277, 278, -1, 280, 281, 282, 283,
2342 284, 285, 286, 287, 288, 289, 290, 291, 292, 293,
2343 294, 295, 296, 297, 298, 299, 300, 301, 302, -1,
2344 -1, 305, 306, 307, 308, 309, 310, 311, 312, 313,
2345 314, 315, 316, 317, 318, -1, -1, -1, -1, -1,
2346 324, 325, 326, 327, 328, 329, 330, 331, 332, 333,
2347 334, -1, -1, 337, 338, 339, 340, -1, -1, 343,
2348 344, -1, 346, -1, -1, 349, 350, -1, -1, -1,
2349 -1, 355, 356, 357, 358, 359, 360, 361, 362, 363,
2350 -1, -1, -1, 367, 368, 369, 370, 371, 372, 373,
2351 374, 375, 257, 258, 259, 260, -1, -1, 263, 264,
2352 265, 266, 267, 268, -1, -1, -1, -1, -1, -1,
2353 -1, -1, 277, 278, -1, 280, 281, 282, 283, 284,
2354 285, 286, 287, 288, 289, 290, 291, 292, 293, 294,
2355 295, 296, 297, 298, 299, 300, 301, 302, -1, -1,
2356 305, 306, 307, 308, 309, 310, 311, 312, 313, 314,
2357 315, 316, 317, 318, -1, -1, -1, -1, -1, 324,
2358 325, 326, 327, 328, 329, 330, 331, 332, 333, 334,
2359 -1, -1, 337, 338, 339, 340, -1, -1, 343, 344,
2360 0, 346, -1, -1, -1, 350, -1, -1, -1, -1,
2361 355, 356, 357, 358, 359, 360, 361, 362, 363, -1,
2362 -1, -1, 367, 368, 369, 370, 371, 372, 373, 374,
2363 375, -1, -1, 33, -1, -1, -1, -1, -1, -1,
2364 40, 41, -1, 43, 44, 45, -1, -1, -1, -1,
2365 -1, -1, -1, -1, -1, -1, -1, -1, -1, 59,
2366 -1, -1, 62, -1, -1, -1, -1, -1, -1, -1,
2367 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2368 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2369 -1, -1, -1, 93, -1, -1, 96, -1, -1, -1,
2370 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2371 -1, -1, -1, -1, -1, -1, -1, -1, -1, 0,
2372 -1, -1, -1, -1, -1, 125, -1, -1, -1, -1,
2373 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2374 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2375 -1, -1, 33, -1, -1, -1, -1, -1, -1, 40,
2376 41, -1, -1, 44, -1, -1, -1, -1, -1, -1,
2377 -1, -1, -1, -1, -1, -1, -1, -1, 59, -1,
2378 -1, 62, -1, -1, -1, -1, -1, -1, -1, -1,
2379 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2380 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2381 -1, -1, 93, -1, -1, 96, -1, -1, -1, -1,
2382 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2383 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2384 -1, -1, -1, -1, 125, -1, -1, -1, -1, -1,
2385 -1, -1, -1, -1, -1, -1, -1, 257, 258, 259,
2386 260, -1, -1, 263, -1, 265, 266, 267, 268, -1,
2387 -1, -1, -1, -1, -1, -1, -1, 277, 278, -1,
2388 280, 281, 282, 283, 284, 285, 286, 287, 288, 289,
2389 290, 291, 292, 293, 294, 295, 296, 297, 298, 299,
2390 300, 301, -1, -1, -1, -1, 306, 307, 308, 309,
2391 310, 311, 312, 313, 314, 315, 316, 317, 318, 59,
2392 -1, -1, -1, -1, 324, 325, 326, 327, 328, 329,
2393 330, 331, 332, 333, 334, -1, -1, 337, 338, 339,
2394 340, -1, -1, 343, 344, -1, -1, -1, -1, -1,
2395 -1, 91, -1, -1, -1, 355, 356, 357, 358, 359,
2396 360, 361, 362, 363, -1, -1, -1, 367, 368, 369,
2397 370, 371, 372, 373, 374, 375, 257, 258, 259, 260,
2398 -1, -1, 263, 123, 265, 266, 267, 268, -1, -1,
2399 -1, -1, -1, -1, -1, -1, 277, 278, -1, 280,
2400 281, 282, 283, 284, 285, 286, 287, 288, 289, 290,
2401 291, 292, 293, 294, 295, 296, 297, 298, 299, 300,
2402 301, -1, -1, -1, -1, 306, 307, 308, 309, 310,
2403 311, 312, 313, 314, 315, 316, 317, 318, -1, -1,
2404 -1, -1, -1, 324, 325, 326, 327, 328, 329, 330,
2405 331, 332, 333, 334, -1, -1, 337, 338, 339, 340,
2406 -1, -1, 343, 344, 0, -1, -1, -1, -1, -1,
2407 -1, -1, -1, -1, 355, 356, 357, 358, 359, 360,
2408 361, 362, 363, -1, -1, -1, 367, 368, 369, 370,
2409 371, 372, 373, 374, 375, -1, -1, 33, -1, -1,
2410 -1, -1, -1, -1, 40, 41, -1, -1, 44, -1,
2411 -1, -1, -1, -1, -1, -1, -1, 257, 258, -1,
2412 260, 261, -1, 59, -1, -1, -1, -1, -1, 269,
2413 270, 271, 272, 273, 274, 275, 276, -1, -1, 279,
2414 -1, -1, 282, 283, 284, 285, -1, -1, -1, -1,
2415 -1, -1, -1, -1, -1, -1, -1, 93, -1, -1,
2416 96, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2417 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2418 -1, -1, -1, 0, -1, -1, -1, -1, -1, 125,
2419 -1, -1, -1, -1, -1, 335, -1, -1, -1, -1,
2420 -1, 341, 342, -1, -1, 345, -1, 347, -1, -1,
2421 -1, -1, -1, -1, -1, -1, 33, -1, -1, -1,
2422 -1, -1, -1, 40, 364, -1, 366, -1, -1, -1,
2423 -1, -1, -1, -1, -1, 375, 376, -1, -1, -1,
2424 -1, -1, 59, -1, -1, -1, -1, -1, -1, -1,
2425 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2426 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2427 -1, -1, -1, -1, -1, -1, 93, -1, -1, 96,
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, -1, -1, -1, -1, -1, -1, 125, -1,
2431 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2432 -1, 257, 258, 259, 260, -1, -1, 263, -1, 265,
2433 266, 267, 268, -1, -1, -1, -1, -1, -1, -1,
2434 -1, 277, 278, -1, 280, 281, 282, 283, 284, 285,
2435 286, 287, 288, 289, 290, 291, 292, 293, 294, 295,
2436 296, 297, 298, 299, 300, 301, -1, -1, -1, -1,
2437 306, 307, 308, 309, 310, 311, 312, 313, 314, 315,
2438 316, 317, 318, -1, -1, -1, -1, -1, 324, 325,
2439 326, 327, 328, 329, 330, 331, 332, 333, 334, -1,
2440 -1, 337, 338, 339, 340, -1, -1, 343, 344, -1,
2441 -1, -1, -1, 91, -1, -1, -1, -1, -1, 355,
2442 356, 357, 358, 359, 360, 361, 362, 363, -1, -1,
2443 -1, 367, 368, 369, 370, 371, 372, 373, 374, 375,
2444 257, 258, 259, 260, -1, 123, 263, -1, 265, 266,
2445 267, 268, -1, -1, -1, -1, -1, -1, -1, -1,
2446 277, 278, -1, 280, 281, 282, 283, 284, 285, 286,
2447 287, 288, 289, 290, 291, 292, 293, 294, 295, 296,
2448 297, 298, 299, 300, 301, -1, -1, -1, -1, -1,
2449 307, 308, 309, 310, 311, 312, 313, 314, 315, 316,
2450 317, 318, -1, -1, -1, -1, -1, 324, 325, 326,
2451 327, 328, 329, 330, 331, 332, 333, 334, -1, -1,
2452 337, 338, 339, 340, -1, -1, 343, 344, 0, -1,
2453 -1, -1, -1, -1, -1, -1, -1, -1, 355, 356,
2454 357, 358, 359, 360, 361, 362, 363, -1, -1, -1,
2455 367, 368, 369, 370, 371, 372, 373, 374, 375, -1,
2456 -1, 33, -1, -1, -1, -1, -1, -1, 40, -1,
2457 -1, -1, -1, -1, -1, -1, -1, -1, -1, 257,
2458 258, -1, 260, 261, -1, -1, -1, 59, -1, -1,
2459 -1, 269, 270, 271, 272, 273, 274, 275, 276, -1,
2460 -1, 279, -1, -1, 282, 283, 284, 285, -1, -1,
2461 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2462 -1, 93, -1, -1, 96, -1, -1, -1, -1, -1,
2463 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2464 -1, -1, -1, -1, -1, -1, -1, 0, -1, -1,
2465 -1, -1, -1, 125, -1, -1, -1, 335, -1, -1,
2466 -1, -1, -1, 341, 342, -1, -1, 345, -1, 347,
2467 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2468 33, -1, -1, -1, -1, -1, 364, 40, 366, -1,
2469 -1, -1, -1, -1, -1, -1, -1, 375, 376, -1,
2470 -1, -1, -1, -1, -1, -1, 59, -1, -1, -1,
2471 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2472 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2473 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2474 93, -1, -1, 96, -1, -1, -1, -1, -1, -1,
2475 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2476 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2477 -1, -1, 125, -1, -1, -1, -1, -1, -1, -1,
2478 -1, -1, -1, -1, -1, 257, 258, 259, 260, -1,
2479 -1, 263, -1, 265, 266, 267, 268, -1, -1, -1,
2480 -1, -1, -1, -1, -1, 277, 278, -1, 280, 281,
2481 282, 283, 284, 285, 286, 287, 288, 289, 290, 291,
2482 292, 293, 294, 295, 296, 297, 298, 299, 300, 301,
2483 -1, -1, -1, -1, -1, 307, 308, 309, 310, 311,
2484 312, 313, 314, 315, 316, 317, 318, -1, -1, -1,
2485 -1, -1, 324, 325, 326, 327, 328, 329, 330, 331,
2486 332, 333, 334, -1, -1, 337, 338, 339, 340, -1,
2487 -1, 343, 344, -1, -1, -1, -1, 91, -1, -1,
2488 -1, -1, -1, 355, 356, 357, 358, 359, 360, 361,
2489 362, 363, -1, -1, -1, 367, 368, 369, 370, 371,
2490 372, 373, 374, 375, 257, 258, 259, 260, -1, 123,
2491 263, -1, 265, 266, 267, 268, -1, -1, -1, -1,
2492 -1, -1, -1, -1, 277, 278, -1, 280, 281, 282,
2493 283, 284, 285, 286, 287, 288, 289, 290, 291, 292,
2494 293, 294, 295, 296, 297, 298, 299, 300, 301, -1,
2495 -1, -1, -1, -1, 307, 308, 309, 310, 311, 312,
2496 313, 314, 315, 316, 317, 318, -1, -1, -1, -1,
2497 -1, 324, 325, 326, 327, 328, 329, 330, 331, 332,
2498 333, 334, -1, -1, 337, 338, 339, 340, -1, -1,
2499 343, 344, 0, -1, -1, -1, -1, -1, -1, -1,
2500 -1, -1, 355, 356, 357, 358, 359, 360, 361, 362,
2501 363, -1, -1, -1, 367, 368, 369, 370, 371, 372,
2502 373, 374, 375, -1, -1, 33, -1, -1, -1, -1,
2503 -1, -1, 40, -1, -1, -1, -1, -1, -1, -1,
2504 -1, -1, -1, 257, 258, -1, 260, 261, -1, -1,
2505 -1, 59, -1, -1, -1, 269, 270, 271, 272, 273,
2506 274, 275, 276, -1, -1, 279, -1, -1, 282, 283,
2507 284, 285, -1, -1, -1, -1, -1, -1, -1, -1,
2508 -1, -1, -1, -1, -1, 93, -1, -1, 96, -1,
2509 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2510 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2511 -1, 0, -1, -1, -1, -1, -1, 125, -1, -1,
2512 -1, 335, -1, -1, -1, -1, -1, 341, 342, -1,
2513 -1, 345, -1, 347, -1, -1, -1, -1, -1, -1,
2514 -1, -1, -1, -1, 33, -1, -1, -1, -1, -1,
2515 364, 40, 366, -1, -1, -1, -1, -1, -1, -1,
2516 -1, 375, 376, -1, -1, -1, -1, -1, -1, -1,
2517 59, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2518 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2519 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2520 -1, -1, -1, -1, 93, -1, -1, 96, -1, -1,
2521 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2522 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2523 -1, -1, -1, -1, -1, -1, 125, -1, -1, -1,
2524 -1, -1, -1, -1, -1, -1, -1, -1, -1, 257,
2525 258, 259, 260, -1, -1, 263, -1, 265, 266, 267,
2526 268, -1, -1, -1, -1, -1, -1, -1, -1, 277,
2527 278, -1, 280, 281, 282, 283, 284, 285, 286, 287,
2528 288, 289, 290, 291, 292, 293, 294, 295, 296, 297,
2529 298, 299, 300, 301, -1, -1, -1, -1, -1, 307,
2530 308, 309, 310, 311, 312, 313, 314, 315, 316, 317,
2531 318, -1, -1, -1, -1, -1, 324, 325, 326, 327,
2532 328, 329, 330, 331, 332, 333, 334, -1, -1, 337,
2533 338, 339, 340, -1, -1, 343, 344, -1, -1, -1,
2534 -1, -1, -1, -1, -1, -1, -1, 355, 356, 357,
2535 358, 359, 360, 361, 362, 363, -1, -1, -1, 367,
2536 368, 369, 370, 371, 372, 373, 374, 375, 257, 258,
2537 259, 260, -1, -1, 263, -1, 265, 266, 267, 268,
2538 -1, -1, -1, -1, -1, -1, -1, -1, 277, 278,
2539 -1, 280, 281, 282, 283, 284, 285, 286, 287, 288,
2540 289, 290, 291, 292, 293, 294, 295, 296, 297, 298,
2541 299, 300, 301, -1, -1, -1, -1, -1, 307, 308,
2542 309, 310, 311, 312, 313, 314, 315, 316, 317, 318,
2543 -1, -1, -1, -1, -1, 324, 325, 326, 327, 328,
2544 329, 330, 331, 332, 333, 334, -1, -1, 337, 338,
2545 339, 340, -1, -1, 343, 344, 0, -1, -1, -1,
2546 -1, -1, -1, -1, -1, -1, 355, 356, 357, 358,
2547 359, 360, 361, 362, 363, -1, -1, -1, 367, 368,
2548 369, 370, 371, 372, 373, 374, 375, -1, -1, 33,
2549 -1, -1, -1, -1, -1, -1, 40, -1, -1, -1,
2550 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2551 -1, -1, -1, -1, -1, 59, -1, -1, -1, -1,
2552 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2553 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2554 -1, -1, -1, -1, -1, -1, -1, -1, -1, 93,
2555 -1, -1, 96, -1, -1, -1, -1, -1, -1, -1,
2556 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2557 -1, -1, -1, -1, -1, 0, -1, -1, -1, -1,
2558 -1, 125, -1, -1, -1, -1, -1, -1, -1, -1,
2559 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2560 -1, -1, -1, -1, -1, -1, -1, -1, 33, -1,
2561 -1, -1, -1, -1, -1, 40, -1, -1, -1, -1,
2562 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2563 -1, -1, -1, -1, 59, -1, -1, -1, -1, -1,
2564 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2565 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2566 -1, -1, -1, -1, -1, -1, -1, -1, 93, -1,
2567 -1, 96, -1, -1, -1, -1, -1, -1, -1, -1,
2568 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2569 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2570 125, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2571 -1, -1, -1, 257, 258, 259, 260, -1, -1, 263,
2572 -1, 265, 266, 267, 268, -1, -1, -1, -1, -1,
2573 -1, -1, -1, 277, 278, -1, 280, 281, 282, 283,
2574 284, 285, 286, 287, 288, 289, 290, 291, 292, 293,
2575 294, 295, 296, 297, 298, 299, 300, 301, -1, -1,
2576 -1, -1, -1, 307, 308, 309, 310, 311, 312, 313,
2577 314, 315, 316, 317, 318, -1, -1, -1, -1, -1,
2578 324, 325, 326, 327, 328, 329, 330, 331, 332, 333,
2579 334, -1, -1, 337, 338, 339, 340, -1, -1, 343,
2580 344, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2581 -1, 355, 356, 357, 358, 359, 360, 361, 362, 363,
2582 -1, -1, -1, 367, 368, 369, 370, 371, 372, 373,
2583 374, 375, 257, 258, 259, 260, -1, -1, 263, -1,
2584 265, 266, 267, 268, -1, -1, -1, -1, -1, -1,
2585 -1, -1, 277, 278, -1, 280, 281, 282, 283, 284,
2586 285, 286, 287, 288, 289, 290, 291, 292, 293, 294,
2587 295, 296, 297, 298, 299, 300, 301, -1, -1, -1,
2588 -1, -1, 307, 308, 309, 310, 311, 312, 313, 314,
2589 315, 316, 317, 318, -1, -1, -1, -1, -1, 324,
2590 325, 326, 327, 328, 329, 330, 331, 332, 333, 334,
2591 -1, -1, 337, 338, 339, 340, -1, -1, 343, 344,
2592 0, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2593 355, 356, 357, 358, 359, 360, 361, 362, 363, -1,
2594 -1, -1, 367, 368, 369, 370, 371, 372, 373, 374,
2595 375, -1, -1, 33, -1, -1, -1, -1, -1, -1,
2596 40, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2597 -1, -1, -1, -1, -1, -1, -1, -1, -1, 59,
2598 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2599 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2600 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2601 -1, -1, -1, 93, -1, -1, 96, -1, -1, -1,
2602 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2603 -1, -1, -1, -1, -1, -1, -1, -1, -1, 0,
2604 -1, -1, -1, -1, -1, 125, -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, 33, -1, -1, -1, -1, -1, -1, 40,
2608 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2609 -1, -1, -1, -1, -1, -1, -1, -1, 59, -1,
2610 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
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, 93, -1, -1, 96, -1, -1, -1, -1,
2614 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2615 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2616 -1, -1, -1, -1, 125, -1, -1, -1, -1, -1,
2617 -1, -1, -1, -1, -1, -1, -1, 257, 258, 259,
2618 260, -1, -1, 263, -1, 265, 266, 267, 268, -1,
2619 -1, -1, -1, -1, -1, -1, -1, 277, 278, -1,
2620 280, 281, 282, 283, 284, 285, 286, 287, 288, 289,
2621 290, 291, 292, 293, 294, 295, 296, 297, 298, 299,
2622 300, 301, -1, -1, -1, -1, -1, 307, 308, 309,
2623 310, 311, 312, 313, 314, 315, 316, 317, 318, -1,
2624 -1, -1, -1, -1, 324, 325, 326, 327, 328, 329,
2625 330, 331, 332, 333, 334, -1, -1, 337, 338, 339,
2626 340, -1, -1, 343, 344, -1, -1, -1, -1, -1,
2627 -1, -1, -1, -1, -1, 355, 356, 357, 358, 359,
2628 360, 361, 362, 363, -1, -1, -1, 367, 368, 369,
2629 370, 371, 372, 373, 374, 375, 257, 258, 259, 260,
2630 -1, -1, 263, -1, 265, 266, 267, 268, -1, -1,
2631 -1, -1, -1, -1, -1, -1, 277, 278, -1, 280,
2632 281, 282, 283, 284, 285, 286, 287, 288, 289, 290,
2633 291, 292, 293, 294, 295, 296, 297, 298, 299, 300,
2634 301, -1, -1, -1, -1, -1, 307, 308, 309, 310,
2635 311, 312, 313, 314, 315, 316, 317, 318, -1, -1,
2636 -1, -1, -1, 324, 325, 326, 327, 328, 329, 330,
2637 331, 332, 333, 334, -1, -1, 337, 338, 339, 340,
2638 -1, -1, 343, 344, 0, -1, -1, -1, -1, -1,
2639 -1, -1, -1, -1, 355, 356, 357, 358, 359, 360,
2640 361, 362, 363, -1, -1, -1, 367, 368, 369, 370,
2641 371, 372, 373, 374, 375, -1, -1, 33, -1, -1,
2642 -1, -1, -1, -1, 40, -1, -1, -1, -1, -1,
2643 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2644 -1, -1, -1, 59, -1, -1, -1, -1, -1, -1,
2645 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2646 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2647 -1, -1, -1, -1, -1, -1, -1, 93, -1, -1,
2648 96, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2649 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2650 -1, -1, -1, 0, -1, -1, -1, -1, -1, 125,
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, -1, 33, -1, -1, -1,
2654 -1, -1, -1, 40, -1, -1, -1, -1, -1, -1,
2655 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2656 -1, -1, 59, -1, -1, -1, -1, -1, -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, -1, -1, -1, -1, 93, -1, -1, 96,
2660 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2661 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2662 -1, -1, -1, -1, -1, -1, -1, -1, 125, -1,
2663 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2664 -1, 257, 258, 259, 260, -1, -1, 263, -1, 265,
2665 266, 267, 268, -1, -1, -1, -1, -1, -1, -1,
2666 -1, 277, 278, -1, 280, 281, 282, 283, 284, 285,
2667 286, 287, 288, 289, 290, 291, 292, 293, 294, 295,
2668 296, 297, 298, 299, 300, 301, -1, -1, -1, -1,
2669 -1, 307, 308, 309, 310, 311, 312, 313, 314, 315,
2670 316, 317, 318, -1, -1, -1, -1, -1, 324, 325,
2671 326, 327, 328, 329, 330, 331, 332, 333, 334, -1,
2672 -1, 337, 338, 339, 340, -1, -1, 343, 344, -1,
2673 -1, -1, -1, -1, -1, -1, -1, -1, -1, 355,
2674 356, 357, 358, 359, 360, 361, 362, 363, -1, -1,
2675 -1, 367, 368, 369, 370, 371, 372, 373, 374, 375,
2676 257, 258, 259, 260, -1, -1, 263, -1, 265, 266,
2677 267, 268, -1, -1, -1, -1, -1, -1, -1, -1,
2678 277, 278, -1, 280, 281, 282, 283, 284, 285, 286,
2679 287, 288, 289, 290, 291, 292, 293, 294, 295, 296,
2680 297, 298, 299, 300, 301, -1, -1, -1, -1, -1,
2681 307, 308, 309, 310, 311, 312, 313, 314, 315, 316,
2682 317, 318, -1, -1, -1, -1, -1, 324, 325, 326,
2683 327, 328, 329, 330, 331, 332, 333, 334, -1, -1,
2684 337, 338, 339, 340, -1, -1, 343, 344, 0, -1,
2685 -1, -1, -1, -1, -1, -1, -1, -1, 355, 356,
2686 357, 358, 359, 360, 361, 362, 363, -1, -1, -1,
2687 367, 368, 369, 370, 371, 372, 373, 374, 375, -1,
2688 -1, 33, -1, -1, -1, -1, -1, -1, 40, -1,
2689 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2690 -1, -1, -1, -1, -1, -1, -1, 59, -1, -1,
2691 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2692 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2693 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2694 -1, 93, -1, -1, 96, -1, -1, -1, -1, -1,
2695 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2696 -1, -1, -1, -1, -1, -1, -1, 0, -1, -1,
2697 -1, -1, -1, 125, -1, -1, -1, -1, -1, -1,
2698 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2699 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2700 33, -1, -1, -1, -1, -1, -1, 40, -1, -1,
2701 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2702 -1, -1, -1, -1, -1, -1, 59, -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 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2706 93, -1, -1, 96, -1, -1, -1, -1, -1, -1,
2707 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2708 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2709 -1, -1, 125, -1, -1, -1, -1, -1, -1, -1,
2710 -1, -1, -1, -1, -1, 257, 258, 259, 260, -1,
2711 -1, 263, -1, 265, 266, 267, 268, -1, -1, -1,
2712 -1, -1, -1, -1, -1, 277, 278, -1, 280, 281,
2713 282, 283, 284, 285, 286, 287, 288, 289, 290, 291,
2714 292, 293, 294, 295, 296, 297, 298, 299, 300, 301,
2715 -1, -1, -1, -1, -1, 307, 308, 309, 310, 311,
2716 312, 313, 314, 315, 316, 317, 318, -1, -1, -1,
2717 -1, -1, 324, 325, 326, 327, 328, 329, 330, 331,
2718 332, 333, 334, -1, -1, 337, 338, 339, 340, -1,
2719 -1, 343, 344, -1, -1, -1, -1, -1, -1, -1,
2720 -1, -1, -1, 355, 356, 357, 358, 359, 360, 361,
2721 362, 363, -1, -1, -1, 367, 368, 369, 370, 371,
2722 372, 373, 374, 375, 257, 258, 259, 260, -1, -1,
2723 263, -1, 265, 266, 267, 268, -1, -1, -1, -1,
2724 -1, -1, -1, -1, 277, 278, -1, 280, 281, 282,
2725 283, 284, 285, 286, 287, 288, 289, 290, 291, 292,
2726 293, 294, 295, 296, 297, 298, 299, 300, 301, -1,
2727 -1, -1, -1, -1, 307, 308, 309, 310, 311, 312,
2728 313, 314, 315, 316, 317, 318, -1, -1, -1, -1,
2729 -1, 324, 325, 326, 327, 328, 329, 330, 331, 332,
2730 333, 334, -1, -1, 337, 338, 339, 340, -1, -1,
2731 343, 344, 0, -1, -1, -1, -1, -1, -1, -1,
2732 -1, -1, 355, 356, 357, 358, 359, 360, 361, 362,
2733 363, -1, -1, -1, 367, 368, 369, 370, 371, 372,
2734 373, 374, 375, -1, -1, 33, -1, -1, -1, -1,
2735 -1, -1, 40, -1, -1, -1, -1, -1, -1, -1,
2736 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2737 -1, 59, -1, -1, -1, -1, -1, -1, -1, -1,
2738 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2739 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2740 -1, -1, -1, -1, -1, 93, -1, -1, 96, -1,
2741 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2742 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2743 -1, 0, -1, -1, -1, -1, -1, 125, -1, -1,
2744 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2745 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2746 -1, -1, -1, -1, 33, -1, -1, -1, -1, -1,
2747 -1, 40, -1, -1, -1, -1, -1, -1, -1, -1,
2748 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2749 59, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2750 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2751 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2752 -1, -1, -1, -1, 93, -1, -1, 96, -1, -1,
2753 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2754 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2755 -1, -1, -1, -1, -1, -1, 125, -1, -1, -1,
2756 -1, -1, -1, -1, -1, -1, -1, -1, -1, 257,
2757 258, 259, 260, -1, -1, 263, -1, 265, 266, 267,
2758 268, -1, -1, -1, -1, -1, -1, -1, -1, 277,
2759 278, -1, 280, 281, 282, 283, 284, 285, 286, 287,
2760 288, 289, 290, 291, 292, 293, 294, 295, 296, 297,
2761 298, 299, 300, 301, -1, -1, -1, -1, -1, 307,
2762 308, 309, 310, 311, 312, 313, 314, 315, 316, 317,
2763 318, -1, -1, -1, -1, -1, 324, 325, 326, 327,
2764 328, 329, 330, 331, 332, 333, 334, -1, -1, 337,
2765 338, 339, 340, -1, -1, 343, 344, -1, -1, -1,
2766 -1, -1, -1, -1, -1, -1, -1, 355, 356, 357,
2767 358, 359, 360, 361, 362, 363, -1, -1, -1, 367,
2768 368, 369, 370, 371, 372, 373, 374, 375, 257, 258,
2769 259, 260, -1, -1, 263, -1, 265, 266, 267, 268,
2770 -1, -1, -1, -1, -1, -1, -1, -1, 277, 278,
2771 -1, 280, 281, 282, 283, 284, 285, 286, 287, 288,
2772 289, 290, 291, 292, 293, 294, 295, 296, 297, 298,
2773 299, 300, 301, -1, -1, -1, -1, -1, 307, 308,
2774 309, 310, 311, 312, 313, 314, 315, 316, 317, 318,
2775 -1, -1, -1, -1, -1, 324, 325, 326, 327, 328,
2776 329, 330, 331, 332, 333, 334, -1, -1, 337, 338,
2777 339, 340, -1, -1, 343, 344, 0, -1, -1, -1,
2778 -1, -1, -1, -1, -1, -1, 355, 356, 357, 358,
2779 359, 360, 361, 362, 363, -1, -1, -1, 367, 368,
2780 369, 370, 371, 372, 373, 374, 375, -1, -1, 33,
2781 -1, -1, -1, -1, -1, -1, 40, -1, -1, -1,
2782 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2783 -1, -1, -1, -1, -1, 59, -1, -1, -1, -1,
2784 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2785 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2786 -1, -1, -1, -1, -1, -1, -1, -1, -1, 93,
2787 -1, -1, 96, -1, -1, -1, -1, -1, -1, -1,
2788 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2789 -1, -1, -1, -1, -1, 0, -1, -1, -1, -1,
2790 -1, 125, -1, -1, -1, -1, -1, -1, -1, -1,
2791 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2792 -1, -1, -1, -1, -1, -1, -1, -1, 33, -1,
2793 -1, -1, -1, -1, -1, 40, -1, -1, -1, -1,
2794 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2795 -1, -1, -1, -1, 59, -1, -1, -1, -1, -1,
2796 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2797 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2798 -1, -1, -1, -1, -1, -1, -1, -1, 93, -1,
2799 -1, 96, -1, -1, -1, -1, -1, -1, -1, -1,
2800 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2801 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2802 125, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2803 -1, -1, -1, 257, 258, 259, 260, -1, -1, 263,
2804 -1, 265, 266, 267, 268, -1, -1, -1, -1, -1,
2805 -1, -1, -1, 277, 278, -1, 280, 281, 282, 283,
2806 284, 285, 286, 287, 288, 289, 290, 291, 292, 293,
2807 294, 295, 296, 297, 298, 299, 300, 301, -1, -1,
2808 -1, -1, -1, 307, 308, 309, 310, 311, 312, 313,
2809 314, 315, 316, 317, 318, -1, -1, -1, -1, -1,
2810 324, 325, 326, 327, 328, 329, 330, 331, 332, 333,
2811 334, -1, -1, 337, 338, 339, 340, -1, -1, 343,
2812 344, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2813 -1, 355, 356, 357, 358, 359, 360, 361, 362, 363,
2814 -1, -1, -1, 367, 368, 369, 370, 371, 372, 373,
2815 374, 375, 257, 258, 259, 260, -1, -1, 263, -1,
2816 265, 266, 267, 268, -1, -1, -1, -1, -1, -1,
2817 -1, -1, 277, 278, -1, 280, 281, 282, 283, 284,
2818 285, 286, 287, 288, 289, 290, 291, 292, 293, 294,
2819 295, 296, 297, 298, 299, 300, 301, -1, -1, -1,
2820 -1, -1, 307, 308, 309, 310, 311, 312, 313, 314,
2821 315, 316, 317, 318, -1, -1, -1, -1, -1, 324,
2822 325, 326, 327, 328, 329, 330, 331, 332, 333, 334,
2823 -1, -1, 337, 338, 339, 340, -1, -1, 343, 344,
2824 0, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2825 355, 356, 357, 358, 359, 360, 361, 362, 363, -1,
2826 -1, -1, 367, 368, 369, 370, 371, 372, 373, 374,
2827 375, -1, -1, 33, -1, -1, -1, -1, -1, -1,
2828 40, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2829 -1, -1, -1, -1, -1, -1, -1, -1, -1, 59,
2830 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2831 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2832 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2833 -1, -1, -1, 93, -1, -1, 96, -1, -1, -1,
2834 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2835 -1, -1, -1, -1, -1, -1, -1, -1, -1, 0,
2836 -1, -1, -1, -1, -1, 125, -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 -1, -1, 33, -1, -1, -1, -1, -1, -1, 40,
2840 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2841 -1, -1, -1, -1, -1, -1, -1, -1, 59, -1,
2842 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2843 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2844 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2845 -1, -1, 93, -1, -1, 96, -1, -1, -1, -1,
2846 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2847 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2848 -1, -1, -1, -1, 125, -1, -1, -1, -1, -1,
2849 -1, -1, -1, -1, -1, -1, -1, 257, 258, 259,
2850 260, -1, -1, 263, -1, 265, 266, 267, 268, -1,
2851 -1, -1, -1, -1, -1, -1, -1, 277, 278, -1,
2852 280, 281, 282, 283, 284, 285, 286, 287, 288, 289,
2853 290, 291, 292, 293, 294, 295, 296, 297, 298, 299,
2854 300, 301, -1, -1, -1, -1, -1, 307, 308, 309,
2855 310, 311, 312, 313, 314, 315, 316, 317, 318, -1,
2856 -1, -1, -1, -1, 324, 325, 326, 327, 328, 329,
2857 330, 331, 332, 333, 334, -1, -1, 337, 338, 339,
2858 340, -1, -1, 343, 344, -1, -1, -1, -1, -1,
2859 -1, -1, -1, -1, -1, 355, 356, 357, 358, 359,
2860 360, 361, 362, 363, -1, -1, -1, 367, 368, 369,
2861 370, 371, 372, 373, 374, 375, 257, 258, 259, 260,
2862 -1, -1, 263, -1, 265, 266, 267, 268, -1, -1,
2863 -1, -1, -1, -1, -1, -1, 277, 278, -1, 280,
2864 281, 282, 283, 284, 285, 286, 287, 288, 289, 290,
2865 291, 292, 293, 294, 295, 296, 297, 298, 299, 300,
2866 301, -1, -1, -1, -1, -1, 307, 308, 309, 310,
2867 311, 312, 313, 314, 315, 316, 317, 318, -1, -1,
2868 -1, -1, -1, 324, 325, 326, 327, 328, 329, 330,
2869 331, 332, 333, 334, -1, -1, 337, 338, 339, 340,
2870 -1, -1, 343, 344, 0, -1, -1, -1, -1, -1,
2871 -1, -1, -1, -1, 355, 356, 357, 358, 359, 360,
2872 361, 362, 363, -1, -1, -1, 367, 368, 369, 370,
2873 371, 372, 373, 374, 375, -1, -1, 33, -1, -1,
2874 -1, -1, -1, -1, 40, -1, -1, -1, -1, -1,
2875 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2876 -1, -1, -1, 59, -1, -1, -1, -1, -1, -1,
2877 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2878 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2879 -1, -1, -1, -1, -1, -1, -1, 93, -1, -1,
2880 96, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2881 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2882 -1, -1, 0, -1, -1, -1, -1, -1, -1, 125,
2883 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2884 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2885 -1, -1, -1, -1, -1, 33, -1, -1, -1, -1,
2886 -1, -1, 40, -1, -1, -1, 44, 45, -1, -1,
2887 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2888 -1, 59, -1, -1, -1, -1, -1, -1, -1, -1,
2889 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2890 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2891 -1, -1, -1, -1, -1, 93, -1, -1, -1, -1,
2892 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2893 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2894 -1, -1, -1, -1, -1, -1, -1, 125, -1, -1,
2895 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2896 -1, 257, 258, 259, 260, -1, -1, 263, -1, 265,
2897 266, 267, 268, -1, -1, -1, -1, -1, -1, -1,
2898 -1, 277, 278, -1, 280, 281, 282, 283, 284, 285,
2899 286, 287, 288, 289, 290, 291, 292, 293, 294, 295,
2900 296, 297, 298, 299, 300, 301, -1, -1, -1, -1,
2901 -1, 307, 308, 309, 310, 311, 312, 313, 314, 315,
2902 316, 317, 318, -1, -1, -1, -1, -1, 324, 325,
2903 326, 327, 328, 329, 330, 331, 332, 333, 334, -1,
2904 -1, 337, 338, 339, 340, -1, -1, 343, 344, -1,
2905 -1, -1, -1, -1, -1, -1, -1, -1, -1, 355,
2906 356, 357, 358, 359, 360, 361, 362, 363, -1, -1,
2907 -1, 367, 368, 369, 370, 371, 372, 373, 374, 375,
2908 258, 259, 260, -1, -1, -1, -1, 265, 266, 267,
2909 -1, -1, -1, -1, -1, -1, -1, -1, -1, 277,
2910 278, -1, 280, 281, 282, 283, 284, 285, 286, 287,
2911 288, 289, 290, 291, 292, 293, 294, 295, 296, 297,
2912 298, 299, 300, 301, -1, -1, -1, -1, -1, 307,
2913 308, 309, 310, 311, 312, 313, 314, 315, 316, 317,
2914 318, -1, -1, -1, -1, -1, 324, 325, 326, 327,
2915 328, 329, 330, 331, 332, 333, 334, -1, -1, 337,
2916 338, 339, 340, -1, -1, 343, 344, 0, -1, -1,
2917 -1, -1, -1, -1, -1, 92, -1, 355, 356, 357,
2918 358, 359, 360, 361, 362, 363, -1, -1, -1, 367,
2919 368, 369, 370, 371, 372, 373, 374, 375, -1, -1,
2920 33, -1, -1, -1, -1, -1, -1, 40, 41, -1,
2921 43, 44, 45, -1, -1, -1, -1, -1, -1, -1,
2922 137, 138, 139, 140, -1, -1, 59, -1, -1, 62,
2923 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2924 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2925 167, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2926 93, -1, -1, 96, -1, -1, -1, -1, -1, -1,
2927 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2928 -1, -1, -1, -1, -1, -1, 0, -1, -1, -1,
2929 -1, -1, 125, -1, -1, 212, -1, -1, -1, -1,
2930 -1, -1, -1, 220, -1, -1, -1, -1, -1, -1,
2931 -1, -1, -1, -1, -1, -1, -1, -1, -1, 33,
2932 -1, -1, -1, -1, -1, -1, 40, -1, -1, 43,
2933 -1, 45, 46, -1, -1, -1, -1, -1, -1, -1,
2934 -1, -1, -1, -1, -1, 59, -1, -1, -1, -1,
2935 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2936 -1, -1, 279, -1, -1, -1, -1, -1, -1, -1,
2937 -1, -1, -1, -1, -1, -1, -1, -1, -1, 93,
2938 -1, -1, 96, -1, -1, -1, -1, -1, -1, -1,
2939 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2940 -1, -1, -1, -1, -1, 322, 323, -1, -1, -1,
2941 327, 125, -1, -1, -1, -1, -1, -1, -1, -1,
2942 -1, -1, -1, -1, 257, 258, 259, 260, -1, -1,
2943 263, -1, 265, 266, 267, 268, -1, -1, -1, -1,
2944 -1, -1, -1, -1, 277, 278, -1, 280, 281, 282,
2945 283, 284, 285, 286, 287, 288, 289, 290, 291, 292,
2946 293, 294, 295, 296, 297, 298, 299, 300, 301, -1,
2947 -1, -1, -1, 306, 307, -1, -1, -1, -1, -1,
2948 -1, -1, -1, -1, 401, 402, 319, 320, 321, 322,
2949 323, 324, 325, 326, 327, 328, 329, 330, 331, 332,
2950 333, 334, 419, 420, -1, -1, -1, -1, -1, -1,
2951 343, 344, -1, -1, -1, -1, -1, -1, -1, -1,
2952 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2953 -1, -1, -1, -1, 367, 368, 369, 370, 371, 372,
2954 373, 374, 375, 257, 258, 259, 260, -1, -1, 263,
2955 -1, 265, 266, 267, 268, -1, -1, -1, -1, -1,
2956 -1, -1, -1, 277, 278, -1, 280, 281, 282, 283,
2957 284, 285, 286, 287, 288, 289, 290, 291, 292, 293,
2958 294, 295, 296, 297, 298, 299, 300, 301, -1, -1,
2959 -1, 0, -1, 307, -1, -1, -1, -1, -1, -1,
2960 -1, -1, -1, -1, -1, 319, 320, 321, 322, 323,
2961 324, 325, 326, 327, 328, 329, 330, 331, 332, 333,
2962 334, -1, -1, -1, 33, -1, -1, -1, -1, 343,
2963 344, 40, 41, -1, -1, 44, 45, -1, -1, -1,
2964 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2965 59, -1, -1, 367, 368, 369, 370, 371, 372, 373,
2966 374, 375, -1, -1, -1, -1, -1, -1, -1, 0,
2967 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2968 -1, -1, -1, -1, 93, -1, -1, 96, -1, -1,
2969 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2970 -1, -1, 33, -1, -1, -1, -1, -1, -1, 40,
2971 41, -1, -1, 44, -1, -1, 125, -1, -1, -1,
2972 -1, -1, -1, -1, -1, -1, -1, -1, 59, 60,
2973 -1, 62, -1, -1, -1, -1, -1, -1, -1, -1,
2974 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2975 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2976 -1, -1, 93, -1, -1, 96, -1, -1, -1, -1,
2977 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2978 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2979 -1, -1, -1, -1, 125, -1, -1, -1, -1, -1,
2980 -1, -1, -1, -1, -1, -1, 0, -1, -1, -1,
2981 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2982 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2983 -1, -1, -1, -1, -1, -1, -1, -1, -1, 33,
2984 -1, -1, -1, -1, -1, -1, 40, -1, 257, 258,
2985 259, 260, -1, -1, 263, -1, 265, 266, 267, 268,
2986 -1, -1, -1, -1, -1, 59, -1, -1, 277, 278,
2987 -1, 280, 281, 282, 283, -1, -1, 286, 287, 288,
2988 289, 290, 291, 292, 293, 294, 295, 296, 297, 298,
2989 299, 300, 301, -1, -1, -1, -1, -1, 307, 93,
2990 -1, -1, 96, -1, -1, -1, -1, -1, -1, -1,
2991 -1, -1, -1, -1, -1, 324, 325, 326, 327, 328,
2992 329, 330, 331, 332, 333, 334, 257, 258, 259, 260,
2993 -1, 125, 263, -1, 343, 344, -1, 268, -1, -1,
2994 -1, -1, -1, -1, -1, 0, -1, -1, -1, -1,
2995 -1, -1, -1, 284, 285, -1, -1, -1, 367, 368,
2996 369, 370, 371, 372, 373, 374, 375, -1, -1, -1,
2997 -1, -1, -1, -1, -1, -1, 307, 308, 309, 310,
2998 311, 312, 313, 314, 315, 316, 317, 318, -1, -1,
2999 -1, -1, -1, 324, 325, 326, 327, 328, 329, 330,
3000 331, 332, 333, 334, 59, -1, 337, 338, 339, 340,
3001 -1, -1, -1, -1, -1, -1, 0, -1, 349, 350,
3002 351, 352, 353, 354, 355, 356, 357, 358, 359, 360,
3003 361, 362, 363, -1, -1, -1, -1, -1, 93, -1,
3004 -1, -1, -1, -1, 375, -1, -1, -1, -1, 33,
3005 -1, -1, -1, -1, -1, -1, 40, -1, -1, -1,
3006 -1, -1, -1, 257, 258, 259, 260, -1, -1, 263,
3007 125, -1, -1, -1, 268, 59, -1, -1, -1, -1,
3008 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3009 284, 285, -1, -1, -1, -1, -1, -1, -1, -1,
3010 -1, -1, -1, -1, -1, -1, -1, -1, -1, 93,
3011 -1, -1, 96, 307, 308, 309, 310, 311, 312, 313,
3012 314, 315, 316, 317, 318, -1, -1, 0, -1, -1,
3013 324, 325, 326, 327, 328, 329, 330, 331, 332, 333,
3014 334, 125, -1, 337, 338, 339, 340, -1, -1, -1,
3015 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3016 -1, 355, 356, 357, 358, 359, 360, 361, 362, 363,
3017 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3018 -1, 375, -1, -1, -1, -1, 59, -1, -1, -1,
3019 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3020 -1, -1, -1, -1, -1, 260, -1, -1, -1, -1,
3021 265, 266, 267, -1, -1, -1, -1, -1, -1, -1,
3022 93, -1, 277, 278, -1, 280, 281, 282, 283, 284,
3023 285, 286, 287, 288, 289, 290, 291, 292, 293, 294,
3024 295, 296, 297, 298, 299, 300, 301, 302, -1, -1,
3025 -1, -1, 125, -1, -1, -1, -1, -1, -1, -1,
3026 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3027 -1, -1, -1, 257, 258, 259, 260, 0, -1, 263,
3028 -1, -1, -1, -1, 268, -1, -1, -1, 343, 344,
3029 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3030 284, 285, -1, -1, -1, -1, -1, -1, -1, -1,
3031 -1, -1, 367, 368, 369, 370, 371, 372, 373, 374,
3032 375, -1, -1, 307, 308, 309, 310, 311, 312, 313,
3033 314, 315, 316, 317, 318, -1, 59, -1, -1, -1,
3034 324, 325, 326, 327, 328, 329, 330, 331, 332, 333,
3035 334, -1, -1, 337, 338, 339, 340, -1, -1, -1,
3036 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3037 93, 355, 356, 357, 358, 359, 360, 361, 362, 363,
3038 -1, -1, -1, -1, -1, -1, -1, 260, -1, -1,
3039 -1, 375, 265, 266, 267, 0, -1, -1, -1, -1,
3040 -1, -1, 125, -1, 277, 278, -1, 280, 281, 282,
3041 283, 284, 285, 286, 287, 288, 289, 290, 291, 292,
3042 293, 294, 295, 296, 297, 298, 299, 300, 301, 302,
3043 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3044 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3045 -1, -1, -1, -1, 59, -1, -1, -1, -1, -1,
3046 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3047 343, 344, -1, -1, -1, -1, -1, -1, -1, -1,
3048 -1, -1, -1, -1, -1, -1, -1, -1, 93, -1,
3049 -1, -1, -1, -1, 367, 368, 369, 370, 371, 372,
3050 373, 374, 375, -1, -1, -1, -1, -1, -1, -1,
3051 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3052 125, -1, -1, -1, -1, -1, -1, -1, -1, 0,
3053 -1, -1, -1, -1, -1, -1, -1, 260, -1, -1,
3054 -1, -1, 265, 266, 267, -1, -1, -1, -1, -1,
3055 -1, -1, -1, -1, 277, 278, -1, 280, 281, 282,
3056 283, 284, 285, 286, 287, 288, 289, 290, 291, 292,
3057 293, 294, 295, 296, 297, 298, 299, 300, 301, -1,
3058 -1, -1, -1, -1, -1, -1, -1, -1, 59, -1,
3059 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3060 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3061 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3062 343, 344, 93, -1, -1, -1, -1, -1, -1, -1,
3063 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3064 -1, -1, -1, -1, 367, 368, 369, 370, 371, 372,
3065 373, 374, 375, 0, 125, 260, -1, -1, -1, -1,
3066 265, 266, 267, -1, -1, -1, -1, -1, -1, -1,
3067 -1, -1, 277, 278, -1, 280, 281, 282, 283, 284,
3068 285, 286, 287, 288, 289, 290, 291, 292, 293, 294,
3069 295, 296, 297, 298, 299, 300, 301, -1, -1, -1,
3070 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3071 -1, -1, 59, -1, -1, -1, -1, -1, -1, -1,
3072 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3073 -1, -1, -1, -1, -1, -1, -1, -1, 343, 344,
3074 -1, -1, -1, -1, -1, -1, 93, -1, -1, -1,
3075 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3076 -1, -1, 367, 368, 369, 370, 371, 372, 373, 374,
3077 375, -1, -1, -1, -1, -1, -1, -1, 125, -1,
3078 -1, 0, -1, -1, -1, -1, -1, -1, -1, 260,
3079 -1, -1, -1, -1, 265, 266, 267, -1, -1, -1,
3080 -1, -1, -1, -1, -1, -1, 277, 278, -1, 280,
3081 281, 282, 283, 284, 285, 286, 287, 288, 289, 290,
3082 291, 292, 293, 294, 295, 296, 297, 298, 299, 300,
3083 301, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3084 59, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3085 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3086 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3087 -1, -1, 343, 344, 93, -1, -1, -1, -1, -1,
3088 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3089 -1, -1, -1, -1, -1, -1, 367, 368, 369, 370,
3090 371, 372, 373, 374, 375, 0, 125, -1, -1, -1,
3091 -1, -1, -1, 260, -1, -1, -1, -1, 265, 266,
3092 267, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3093 277, 278, -1, 280, 281, 282, 283, 284, 285, 286,
3094 287, 288, 289, 290, 291, 292, 293, 294, 295, 296,
3095 297, 298, 299, 300, 301, -1, -1, -1, -1, -1,
3096 -1, -1, -1, -1, 59, -1, -1, -1, -1, -1,
3097 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3098 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3099 -1, -1, -1, -1, -1, -1, 343, 344, 93, -1,
3100 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3101 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3102 367, 368, 369, 370, 371, 372, 373, 374, 375, -1,
3103 125, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3104 -1, 260, -1, -1, -1, -1, 265, 266, 267, -1,
3105 0, -1, -1, -1, -1, -1, -1, -1, 277, 278,
3106 -1, 280, 281, 282, 283, 284, 285, 286, 287, 288,
3107 289, 290, 291, 292, 293, 294, 295, 296, 297, 298,
3108 299, 300, 301, 33, -1, -1, -1, -1, -1, -1,
3109 40, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3110 -1, -1, -1, -1, -1, -1, -1, -1, -1, 59,
3111 -1, -1, -1, -1, -1, -1, -1, 0, -1, -1,
3112 -1, -1, -1, -1, 343, 344, -1, -1, -1, -1,
3113 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3114 -1, -1, -1, 93, -1, -1, 96, -1, 367, 368,
3115 369, 370, 371, 372, 373, 374, 375, -1, -1, -1,
3116 43, -1, 45, 46, -1, 260, -1, -1, -1, -1,
3117 265, 266, 267, -1, -1, 125, 59, -1, -1, -1,
3118 -1, -1, 277, 278, -1, 280, 281, 282, 283, 284,
3119 285, 286, 287, 288, 289, 290, 291, 292, 293, 294,
3120 295, 296, 297, 298, 299, 300, 301, -1, -1, -1,
3121 93, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3122 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3123 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3124 -1, -1, 125, -1, -1, -1, -1, -1, 343, 344,
3125 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3126 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3127 -1, -1, 367, 368, 369, 370, 371, 372, 373, 374,
3128 375, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3129 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3130 -1, -1, -1, -1, -1, -1, -1, 257, 258, 259,
3131 -1, -1, -1, 263, -1, 265, 266, 267, 268, -1,
3132 -1, -1, -1, -1, -1, -1, -1, 277, 278, -1,
3133 280, 281, 282, 283, 284, 285, 286, 287, 288, 289,
3134 290, 291, 292, 293, 294, 295, 296, 297, 298, 299,
3135 300, 301, -1, -1, -1, -1, -1, 307, 308, 309,
3136 310, 311, 312, 313, 314, 315, 316, 317, 318, -1,
3137 -1, -1, -1, -1, 324, 325, 326, 327, 328, 329,
3138 330, 331, 332, 333, 334, -1, -1, 337, 338, 339,
3139 340, -1, -1, 343, 344, -1, -1, -1, -1, -1,
3140 -1, 284, 285, -1, 0, 355, 356, 357, 358, 359,
3141 360, 361, 362, 363, -1, -1, -1, 367, 368, 369,
3142 370, 371, 372, 373, 374, 308, 309, 310, 311, 312,
3143 313, 314, 315, 316, 317, 318, 319, 320, 321, 322,
3144 323, 37, -1, -1, -1, 41, 42, 43, 44, 45,
3145 -1, 47, -1, -1, 337, 338, 339, 340, -1, -1,
3146 -1, -1, -1, 59, 60, -1, 62, -1, -1, -1,
3147 -1, -1, 355, 356, 357, 358, 359, 360, 361, 362,
3148 363, -1, -1, -1, -1, -1, 33, -1, -1, -1,
3149 -1, -1, -1, 40, -1, -1, -1, 93, 45, -1,
3150 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3151 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3152 -1, -1, -1, -1, -1, -1, -1, -1, -1, 125,
3153 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3154 -1, -1, -1, -1, 91, -1, -1, -1, -1, 96,
3155 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3156 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3157 -1, -1, -1, -1, -1, -1, 123, -1, -1, -1,
3158 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3159 -1, -1, -1, -1, -1, -1, 33, -1, -1, -1,
3160 -1, -1, -1, 40, -1, -1, -1, -1, 45, -1,
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, -1, -1,
3165 -1, -1, -1, -1, 91, -1, -1, -1, -1, 96,
3166 -1, -1, -1, -1, -1, -1, -1, -1, 264, -1,
3167 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3168 -1, -1, -1, -1, -1, -1, 123, -1, -1, -1,
3169 -1, -1, -1, -1, -1, 291, -1, -1, -1, -1,
3170 -1, -1, -1, -1, -1, -1, 302, -1, -1, 305,
3171 257, 258, 259, 260, 261, -1, 263, -1, -1, -1,
3172 -1, 268, 269, 270, 271, 272, 273, 274, 275, 276,
3173 -1, -1, 279, 33, -1, 282, 283, 284, 285, -1,
3174 40, -1, -1, -1, -1, 45, -1, -1, -1, -1,
3175 -1, -1, -1, 349, 350, 351, 352, 353, 354, -1,
3176 307, 308, 309, 310, 311, 312, 313, 314, 315, 316,
3177 317, 318, -1, -1, -1, -1, -1, 324, 325, 326,
3178 327, 328, 329, 330, 331, 332, 333, 334, 335, -1,
3179 337, 338, 339, 340, 341, 342, 96, -1, 345, -1,
3180 347, -1, -1, -1, -1, -1, -1, -1, 355, 356,
3181 357, 358, 359, 360, 361, 362, 363, 364, -1, 366,
3182 257, 258, 259, 260, 261, -1, 263, -1, 375, 376,
3183 -1, 268, 269, 270, 271, 272, 273, 274, 275, 276,
3184 -1, -1, 279, -1, -1, 282, 283, 284, 285, -1,
3185 -1, -1, 33, -1, -1, -1, -1, -1, -1, 40,
3186 41, -1, -1, -1, 45, -1, -1, -1, -1, -1,
3187 307, 308, 309, 310, 311, 312, 313, 314, 315, 316,
3188 317, 318, -1, -1, -1, -1, -1, 324, 325, 326,
3189 327, 328, 329, 330, 331, 332, 333, 334, 335, -1,
3190 337, 338, 339, 340, 341, 342, -1, -1, 345, -1,
3191 347, -1, -1, -1, -1, 96, -1, -1, 355, 356,
3192 357, 358, 359, 360, 361, 362, 363, 364, -1, 366,
3193 -1, -1, -1, -1, -1, -1, -1, -1, 375, 376,
3194 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3195 -1, -1, -1, -1, -1, -1, -1, 257, 258, 259,
3196 260, -1, -1, 263, -1, 265, 266, 267, 268, -1,
3197 -1, -1, -1, -1, -1, -1, -1, 277, 278, -1,
3198 280, 281, 282, 283, 284, 285, 286, 287, 288, 289,
3199 290, 291, 292, 293, 294, 295, 296, 297, 298, 299,
3200 300, 301, -1, -1, -1, -1, -1, 307, 308, 309,
3201 310, 311, 312, 313, 314, 315, 316, 317, 318, -1,
3202 -1, -1, -1, -1, 324, 325, 326, 327, 328, 329,
3203 330, 331, 332, 333, 334, 33, -1, 337, 338, 339,
3204 340, -1, 40, 343, 344, -1, -1, 45, 46, -1,
3205 -1, -1, -1, -1, -1, 355, 356, 357, 358, 359,
3206 360, 361, 362, 363, -1, -1, -1, 367, 368, 369,
3207 370, 371, 372, 373, 374, 375, 257, 258, 259, 260,
3208 -1, -1, 263, -1, -1, -1, -1, 268, -1, -1,
3209 -1, -1, -1, -1, -1, -1, -1, -1, 96, -1,
3210 -1, -1, -1, 284, 285, -1, -1, -1, -1, -1,
3211 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3212 -1, -1, -1, -1, -1, -1, 307, 308, 309, 310,
3213 311, 312, 313, 314, 315, 316, 317, 318, -1, -1,
3214 -1, -1, -1, 324, 325, 326, 327, 328, 329, 330,
3215 331, 332, 333, 334, 33, -1, 337, 338, 339, 340,
3216 -1, 40, -1, -1, -1, -1, 45, -1, -1, -1,
3217 -1, -1, -1, -1, 355, 356, 357, 358, 359, 360,
3218 361, 362, 363, -1, -1, -1, -1, -1, -1, -1,
3219 -1, -1, -1, -1, 375, -1, -1, -1, -1, -1,
3220 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3221 -1, -1, -1, -1, -1, -1, -1, 96, -1, -1,
3222 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3223 -1, -1, -1, -1, -1, -1, -1, -1, 33, -1,
3224 -1, -1, -1, -1, -1, 40, -1, -1, -1, -1,
3225 45, -1, -1, -1, -1, -1, -1, -1, -1, 257,
3226 258, 259, 260, -1, -1, 263, -1, -1, -1, -1,
3227 268, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3228 -1, -1, -1, -1, -1, -1, 284, 285, -1, -1,
3229 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3230 -1, 96, -1, -1, -1, -1, -1, -1, -1, 307,
3231 308, 309, 310, 311, 312, 313, 314, 315, 316, 317,
3232 318, -1, -1, -1, -1, -1, 324, 325, 326, 327,
3233 328, 329, 330, 331, 332, 333, 334, -1, -1, 337,
3234 338, 339, 340, -1, -1, -1, -1, -1, -1, -1,
3235 -1, -1, -1, -1, -1, -1, -1, 355, 356, 357,
3236 358, 359, 360, 361, 362, 363, -1, -1, -1, -1,
3237 -1, -1, -1, -1, -1, -1, -1, 375, 257, 258,
3238 259, 260, -1, -1, 263, -1, -1, -1, -1, 268,
3239 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3240 -1, -1, -1, 33, -1, 284, 285, -1, -1, -1,
3241 40, -1, -1, -1, -1, 45, -1, -1, -1, -1,
3242 -1, -1, -1, -1, -1, -1, -1, -1, 307, 308,
3243 309, 310, 311, 312, 313, 314, 315, 316, 317, 318,
3244 -1, -1, -1, -1, -1, 324, 325, 326, 327, 328,
3245 329, 330, 331, 332, 333, 334, -1, -1, 337, 338,
3246 339, 340, 257, 258, 259, 260, 96, -1, 263, -1,
3247 -1, -1, -1, 268, -1, -1, 355, 356, 357, 358,
3248 359, 360, 361, 362, 363, -1, -1, 33, -1, 284,
3249 285, -1, -1, -1, 40, -1, 375, -1, -1, 45,
3250 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3251 -1, -1, 307, 308, 309, 310, 311, 312, 313, 314,
3252 315, 316, 317, 318, -1, -1, -1, -1, -1, 324,
3253 325, 326, 327, 328, 329, 330, 331, 332, 333, 334,
3254 -1, -1, 337, 338, 339, 340, -1, -1, -1, -1,
3255 96, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3256 355, 356, 357, 358, 359, 360, 361, 362, 363, -1,
3257 -1, 33, -1, -1, -1, -1, -1, -1, 40, -1,
3258 375, -1, -1, 45, 46, -1, -1, -1, -1, -1,
3259 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3260 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3261 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3262 -1, -1, -1, -1, -1, -1, -1, 257, 258, 259,
3263 260, -1, -1, 263, 96, -1, -1, -1, 268, -1,
3264 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3265 -1, -1, -1, -1, 284, 285, 33, -1, -1, -1,
3266 -1, -1, -1, 40, -1, 42, -1, -1, 45, -1,
3267 -1, -1, -1, -1, -1, -1, -1, 307, 308, 309,
3268 310, 311, 312, 313, 314, 315, 316, 317, 318, -1,
3269 -1, -1, -1, -1, 324, 325, 326, 327, 328, 329,
3270 330, 331, 332, 333, 334, -1, -1, 337, 338, 339,
3271 340, 257, 258, 259, 260, -1, -1, 263, -1, 96,
3272 -1, -1, 268, -1, -1, 355, 356, 357, 358, 359,
3273 360, 361, 362, 363, -1, -1, -1, -1, 284, 285,
3274 33, -1, -1, -1, -1, 375, -1, 40, -1, -1,
3275 -1, -1, 45, -1, -1, -1, -1, -1, -1, -1,
3276 -1, 307, 308, 309, 310, 311, 312, 313, 314, 315,
3277 316, 317, 318, -1, -1, -1, -1, -1, 324, 325,
3278 326, 327, 328, 329, 330, 331, 332, 333, 334, -1,
3279 -1, 337, 338, 339, 340, 257, 258, 259, -1, -1,
3280 -1, 263, -1, 96, -1, -1, 268, -1, -1, 355,
3281 356, 357, 358, 359, 360, 361, 362, 363, -1, -1,
3282 -1, -1, 284, 285, 33, -1, -1, -1, -1, 375,
3283 -1, 40, -1, -1, -1, -1, 45, -1, -1, -1,
3284 -1, -1, -1, -1, -1, 307, 308, 309, 310, 311,
3285 312, 313, 314, 315, 316, 317, 318, -1, -1, -1,
3286 -1, -1, 324, 325, 326, 327, 328, 329, 330, 331,
3287 332, 333, 334, -1, -1, 337, 338, 339, 340, -1,
3288 257, 258, 259, -1, -1, -1, 263, 96, -1, -1,
3289 -1, 268, -1, 355, 356, 357, 358, 359, 360, 361,
3290 362, 363, -1, -1, -1, -1, -1, 284, 285, 33,
3291 -1, -1, -1, -1, -1, -1, 40, -1, -1, -1,
3292 -1, 45, -1, -1, -1, -1, -1, -1, -1, -1,
3293 307, 308, 309, 310, 311, 312, 313, 314, 315, 316,
3294 317, 318, -1, -1, -1, -1, -1, 324, 325, 326,
3295 327, 328, 329, 330, 331, 332, 333, 334, -1, -1,
3296 337, 338, 339, 340, 257, 258, 259, -1, -1, -1,
3297 263, -1, 96, -1, -1, 268, -1, -1, 355, 356,
3298 357, 358, 359, 360, 361, 362, 363, -1, -1, -1,
3299 -1, 284, 285, 33, -1, -1, -1, -1, -1, -1,
3300 40, -1, -1, -1, -1, 45, -1, -1, -1, -1,
3301 -1, -1, -1, -1, 307, 308, 309, 310, 311, 312,
3302 313, 314, 315, 316, 317, 318, -1, -1, -1, -1,
3303 -1, 324, 325, 326, 327, 328, 329, 330, 331, 332,
3304 333, 334, -1, -1, 337, 338, 339, 340, 257, 258,
3305 259, -1, -1, -1, 263, -1, 96, -1, -1, 268,
3306 -1, -1, 355, 356, 357, 358, 359, 360, 361, 362,
3307 363, -1, -1, -1, -1, 284, 285, -1, -1, -1,
3308 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3309 -1, -1, -1, -1, -1, -1, -1, -1, 307, 308,
3310 309, 310, 311, 312, 313, 314, 315, 316, 317, 318,
3311 -1, -1, -1, -1, -1, 324, 325, 326, 327, 328,
3312 329, 330, 331, 332, 333, 334, -1, -1, 337, 338,
3313 339, 340, -1, 257, 258, 259, -1, -1, -1, 263,
3314 -1, -1, -1, -1, 268, -1, 355, 356, 357, 358,
3315 359, 360, 361, 362, 363, -1, -1, -1, -1, -1,
3316 284, 285, -1, -1, -1, -1, -1, -1, -1, -1,
3317 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3318 -1, -1, -1, 307, 308, 309, 310, 311, 312, 313,
3319 314, 315, 316, 317, 318, -1, -1, -1, -1, -1,
3320 324, 325, 326, 327, 328, 329, 330, 331, 332, 333,
3321 334, -1, -1, 337, 338, 339, 340, 257, 258, 259,
3322 -1, -1, -1, 263, -1, -1, -1, -1, 268, -1,
3323 -1, 355, 356, 357, 358, 359, 360, 361, 362, 363,
3324 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3325 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3326 -1, -1, -1, -1, -1, -1, -1, 307, 308, 309,
3327 310, 311, 312, 313, 314, 315, 316, 317, 318, -1,
3328 -1, -1, -1, -1, 324, 325, 326, 327, 328, 329,
3329 330, 331, 332, 333, 334, -1, -1, 337, 338, 339,
3330 340, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3331 -1, -1, -1, -1, -1, 355, 356, 357, 358, 359,
3338 #define YYMAXTOKEN 378
3340 static const char *yyname[] = {
3342 "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,
3343 "'!'",0,0,0,"'%'",0,0,"'('","')'","'*'","'+'","','","'-'","'.'","'/'",0,0,0,0,0,
3344 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,
3345 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,
3346 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,
3347 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,
3348 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,
3349 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",
3350 "TEXT","COMMAND_LINE","DELIMITED","ORDINAL","TH","LEFT_ARROW_HEAD",
3351 "RIGHT_ARROW_HEAD","DOUBLE_ARROW_HEAD","LAST","BOX","CIRCLE","ELLIPSE","ARC",
3352 "LINE","ARROW","MOVE","SPLINE","HEIGHT","RADIUS","FIGNAME","WIDTH","DIAMETER",
3353 "UP","DOWN","RIGHT","LEFT","FROM","TO","AT","WITH","BY","THEN","SOLID","DOTTED",
3354 "DASHED","CHOP","SAME","INVISIBLE","LJUST","RJUST","ABOVE","BELOW","OF","THE",
3355 "WAY","BETWEEN","AND","HERE","DOT_N","DOT_E","DOT_W","DOT_S","DOT_NE","DOT_SE",
3356 "DOT_NW","DOT_SW","DOT_C","DOT_START","DOT_END","DOT_X","DOT_Y","DOT_HT",
3357 "DOT_WID","DOT_RAD","SIN","COS","ATAN2","LOG","EXP","SQRT","K_MAX","K_MIN",
3358 "INT","RAND","SRAND","COPY","THRU","TOP","BOTTOM","UPPER","LOWER","SH","PRINT",
3359 "CW","CCW","FOR","DO","IF","ELSE","ANDAND","OROR","NOTEQUAL","EQUALEQUAL",
3360 "LESSEQUAL","GREATEREQUAL","LEFT_CORNER","RIGHT_CORNER","NORTH","SOUTH","EAST",
3361 "WEST","CENTER","END","START","RESET","UNTIL","PLOT","THICKNESS","FILL",
3362 "COLORED","OUTLINED","SHADED","XSLANTED","YSLANTED","ALIGNED","SPRINTF",
3363 "COMMAND","DEFINE","UNDEF",
3365 static const char *yyrule[] = {
3367 "top : optional_separator",
3368 "top : element_list",
3369 "element_list : optional_separator middle_element_list optional_separator",
3370 "middle_element_list : element",
3371 "middle_element_list : middle_element_list separator element",
3372 "optional_separator :",
3373 "optional_separator : separator",
3375 "separator : separator ';'",
3376 "placeless_element : FIGNAME '=' macro_name",
3377 "placeless_element : VARIABLE '=' any_expr",
3378 "placeless_element : VARIABLE ':' '=' any_expr",
3379 "placeless_element : UP",
3380 "placeless_element : DOWN",
3381 "placeless_element : LEFT",
3382 "placeless_element : RIGHT",
3383 "placeless_element : COMMAND_LINE",
3384 "placeless_element : COMMAND print_args",
3385 "placeless_element : PRINT print_args",
3387 "placeless_element : SH $$1 DELIMITED",
3388 "placeless_element : COPY TEXT",
3391 "placeless_element : COPY TEXT THRU $$2 DELIMITED $$3 until",
3394 "placeless_element : COPY THRU $$4 DELIMITED $$5 until",
3396 "placeless_element : FOR VARIABLE '=' expr TO expr optional_by DO $$6 DELIMITED",
3397 "placeless_element : simple_if",
3399 "placeless_element : simple_if ELSE $$7 DELIMITED",
3400 "placeless_element : reset_variables",
3401 "placeless_element : RESET",
3402 "macro_name : VARIABLE",
3403 "macro_name : LABEL",
3404 "reset_variables : RESET VARIABLE",
3405 "reset_variables : reset_variables VARIABLE",
3406 "reset_variables : reset_variables ',' VARIABLE",
3407 "print_args : print_arg",
3408 "print_args : print_args print_arg",
3411 "print_arg : position",
3413 "simple_if : IF any_expr THEN $$8 DELIMITED",
3415 "until : UNTIL TEXT",
3417 "any_expr : text_expr",
3418 "text_expr : text EQUALEQUAL text",
3419 "text_expr : text NOTEQUAL text",
3420 "text_expr : text_expr ANDAND text_expr",
3421 "text_expr : text_expr ANDAND expr",
3422 "text_expr : expr ANDAND text_expr",
3423 "text_expr : text_expr OROR text_expr",
3424 "text_expr : text_expr OROR expr",
3425 "text_expr : expr OROR text_expr",
3426 "text_expr : '!' text_expr",
3428 "optional_by : BY expr",
3429 "optional_by : BY '*' expr",
3430 "element : object_spec",
3431 "element : LABEL ':' optional_separator element",
3432 "element : LABEL ':' optional_separator position_not_place",
3433 "element : LABEL ':' optional_separator place",
3436 "element : '{' $$9 element_list '}' $$10 optional_element",
3437 "element : placeless_element",
3438 "optional_element :",
3439 "optional_element : element",
3440 "object_spec : BOX",
3441 "object_spec : CIRCLE",
3442 "object_spec : ELLIPSE",
3443 "object_spec : ARC",
3444 "object_spec : LINE",
3445 "object_spec : ARROW",
3446 "object_spec : MOVE",
3447 "object_spec : SPLINE",
3448 "object_spec : text",
3449 "object_spec : PLOT expr",
3450 "object_spec : PLOT expr text",
3452 "object_spec : '[' $$11 element_list ']'",
3453 "object_spec : object_spec HEIGHT expr",
3454 "object_spec : object_spec RADIUS expr",
3455 "object_spec : object_spec WIDTH expr",
3456 "object_spec : object_spec DIAMETER expr",
3457 "object_spec : object_spec expr",
3458 "object_spec : object_spec UP",
3459 "object_spec : object_spec UP expr",
3460 "object_spec : object_spec DOWN",
3461 "object_spec : object_spec DOWN expr",
3462 "object_spec : object_spec RIGHT",
3463 "object_spec : object_spec RIGHT expr",
3464 "object_spec : object_spec LEFT",
3465 "object_spec : object_spec LEFT expr",
3466 "object_spec : object_spec FROM position",
3467 "object_spec : object_spec TO position",
3468 "object_spec : object_spec AT position",
3469 "object_spec : object_spec WITH path",
3470 "object_spec : object_spec WITH position",
3471 "object_spec : object_spec BY expr_pair",
3472 "object_spec : object_spec THEN",
3473 "object_spec : object_spec SOLID",
3474 "object_spec : object_spec DOTTED",
3475 "object_spec : object_spec DOTTED expr",
3476 "object_spec : object_spec DASHED",
3477 "object_spec : object_spec DASHED expr",
3478 "object_spec : object_spec FILL",
3479 "object_spec : object_spec FILL expr",
3480 "object_spec : object_spec XSLANTED expr",
3481 "object_spec : object_spec YSLANTED expr",
3482 "object_spec : object_spec SHADED text",
3483 "object_spec : object_spec COLORED text",
3484 "object_spec : object_spec OUTLINED text",
3485 "object_spec : object_spec CHOP",
3486 "object_spec : object_spec CHOP expr",
3487 "object_spec : object_spec SAME",
3488 "object_spec : object_spec INVISIBLE",
3489 "object_spec : object_spec LEFT_ARROW_HEAD",
3490 "object_spec : object_spec RIGHT_ARROW_HEAD",
3491 "object_spec : object_spec DOUBLE_ARROW_HEAD",
3492 "object_spec : object_spec CW",
3493 "object_spec : object_spec CCW",
3494 "object_spec : object_spec text",
3495 "object_spec : object_spec LJUST",
3496 "object_spec : object_spec RJUST",
3497 "object_spec : object_spec ABOVE",
3498 "object_spec : object_spec BELOW",
3499 "object_spec : object_spec THICKNESS expr",
3500 "object_spec : object_spec ALIGNED",
3502 "text : SPRINTF '(' TEXT sprintf_args ')'",
3504 "sprintf_args : sprintf_args ',' expr",
3505 "position : position_not_place",
3507 "position : '(' place ')'",
3508 "position_not_place : expr_pair",
3509 "position_not_place : position '+' expr_pair",
3510 "position_not_place : '(' position '+' expr_pair ')'",
3511 "position_not_place : position '-' expr_pair",
3512 "position_not_place : '(' position '-' expr_pair ')'",
3513 "position_not_place : '(' position ',' position ')'",
3514 "position_not_place : expr between position AND position",
3515 "position_not_place : '(' expr between position AND position ')'",
3516 "position_not_place : expr '<' position ',' position '>'",
3517 "position_not_place : '(' expr '<' position ',' position '>' ')'",
3518 "between : BETWEEN",
3519 "between : OF THE WAY BETWEEN",
3520 "expr_pair : expr ',' expr",
3521 "expr_pair : '(' expr_pair ')'",
3523 "place : label corner",
3524 "place : corner label",
3525 "place : corner OF label",
3528 "label : nth_primitive",
3529 "label : label '.' LABEL",
3530 "ordinal : ORDINAL",
3531 "ordinal : '`' any_expr TH",
3532 "optional_ordinal_last : LAST",
3533 "optional_ordinal_last : ordinal LAST",
3534 "nth_primitive : ordinal object_type",
3535 "nth_primitive : optional_ordinal_last object_type",
3536 "object_type : BOX",
3537 "object_type : CIRCLE",
3538 "object_type : ELLIPSE",
3539 "object_type : ARC",
3540 "object_type : LINE",
3541 "object_type : ARROW",
3542 "object_type : SPLINE",
3543 "object_type : '[' ']'",
3544 "object_type : TEXT",
3545 "label_path : '.' LABEL",
3546 "label_path : label_path '.' LABEL",
3547 "relative_path : corner",
3548 "relative_path : label_path",
3549 "relative_path : label_path corner",
3550 "path : relative_path",
3551 "path : '(' relative_path ',' relative_path ')'",
3552 "path : ORDINAL LAST object_type relative_path",
3553 "path : LAST object_type relative_path",
3554 "path : ORDINAL object_type relative_path",
3555 "path : LABEL relative_path",
3565 "corner : DOT_START",
3571 "corner : UPPER LEFT",
3572 "corner : LOWER LEFT",
3573 "corner : UPPER RIGHT",
3574 "corner : LOWER RIGHT",
3575 "corner : LEFT_CORNER",
3576 "corner : RIGHT_CORNER",
3577 "corner : UPPER LEFT_CORNER",
3578 "corner : LOWER LEFT_CORNER",
3579 "corner : UPPER RIGHT_CORNER",
3580 "corner : LOWER RIGHT_CORNER",
3590 "expr : place DOT_X",
3591 "expr : place DOT_Y",
3592 "expr : place DOT_HT",
3593 "expr : place DOT_WID",
3594 "expr : place DOT_RAD",
3595 "expr : expr '+' expr",
3596 "expr : expr '-' expr",
3597 "expr : expr '*' expr",
3598 "expr : expr '/' expr",
3599 "expr : expr '%' expr",
3600 "expr : expr '^' expr",
3602 "expr : '(' any_expr ')'",
3603 "expr : SIN '(' any_expr ')'",
3604 "expr : COS '(' any_expr ')'",
3605 "expr : ATAN2 '(' any_expr ',' any_expr ')'",
3606 "expr : LOG '(' any_expr ')'",
3607 "expr : EXP '(' any_expr ')'",
3608 "expr : SQRT '(' any_expr ')'",
3609 "expr : K_MAX '(' any_expr ',' any_expr ')'",
3610 "expr : K_MIN '(' any_expr ',' any_expr ')'",
3611 "expr : INT '(' any_expr ')'",
3612 "expr : RAND '(' any_expr ')'",
3613 "expr : RAND '(' ')'",
3614 "expr : SRAND '(' any_expr ')'",
3615 "expr : expr '<' expr",
3616 "expr : expr LESSEQUAL expr",
3617 "expr : expr '>' expr",
3618 "expr : expr GREATEREQUAL expr",
3619 "expr : expr EQUALEQUAL expr",
3620 "expr : expr NOTEQUAL expr",
3621 "expr : expr ANDAND expr",
3622 "expr : expr OROR expr",
3631 /* define the initial stack-sizes */
3634 #define YYMAXDEPTH YYSTACKSIZE
3637 #define YYSTACKSIZE YYMAXDEPTH
3639 #define YYSTACKSIZE 500
3640 #define YYMAXDEPTH 500
3644 #define YYINITSTACKSIZE 500
3655 /* variables for the parser stack */
3657 static short *yysslim;
3658 static YYSTYPE *yyvs;
3659 static unsigned yystacksize;
3662 /* bison defines const to be empty unless __STDC__ is defined, which it
3663 isn't under cfront */
3672 int scaled; // non-zero if val should be multiplied by scale
3673 } defaults_table[] = {
3674 { "arcrad", .25, 1 },
3675 { "arrowht", .1, 1 },
3676 { "arrowwid", .05, 1 },
3677 { "circlerad", .25, 1 },
3679 { "boxwid", .75, 1 },
3680 { "boxrad", 0.0, 1 },
3681 { "dashwid", .05, 1 },
3682 { "ellipseht", .5, 1 },
3683 { "ellipsewid", .75, 1 },
3684 { "moveht", .5, 1 },
3685 { "movewid", .5, 1 },
3686 { "lineht", .5, 1 },
3687 { "linewid", .5, 1 },
3688 { "textht", 0.0, 1 },
3689 { "textwid", 0.0, 1 },
3690 { "scale", 1.0, 0 },
3691 { "linethick", -1.0, 0 }, // in points
3692 { "fillval", .5, 0 },
3693 { "arrowhead", 1.0, 0 },
3694 { "maxpswid", 8.5, 0 },
3695 { "maxpsht", 11.0, 0 },
3698 place *lookup_label(const char *label)
3700 saved_state *state = current_saved_state;
3701 PTABLE(place) *tbl = current_table;
3703 place *pl = tbl->lookup(label);
3709 state = state->prev;
3713 void define_label(const char *label, const place *pl)
3715 place *p = new place[1];
3717 current_table->define(label, p);
3720 int lookup_variable(const char *name, double *val)
3722 place *pl = lookup_label(name);
3730 void define_variable(const char *name, double val)
3732 place *p = new place[1];
3736 current_table->define(name, p);
3737 if (strcmp(name, "scale") == 0) {
3738 // When the scale changes, reset all scaled pre-defined variables to
3739 // their default values.
3740 for (unsigned int i = 0;
3741 i < sizeof(defaults_table)/sizeof(defaults_table[0]); i++)
3742 if (defaults_table[i].scaled)
3743 define_variable(defaults_table[i].name, val*defaults_table[i].val);
3747 // called once only (not once per parse)
3751 current_direction = RIGHT_DIRECTION;
3752 current_position.x = 0.0;
3753 current_position.y = 0.0;
3754 // This resets everything to its default value.
3758 void reset(const char *nm)
3760 for (unsigned int i = 0;
3761 i < sizeof(defaults_table)/sizeof(defaults_table[0]); i++)
3762 if (strcmp(nm, defaults_table[i].name) == 0) {
3763 double val = defaults_table[i].val;
3764 if (defaults_table[i].scaled) {
3766 lookup_variable("scale", &scale);
3769 define_variable(defaults_table[i].name, val);
3772 lex_error("`%1' is not a predefined variable", nm);
3777 // We only have to explicitly reset the pre-defined variables that
3778 // aren't scaled because `scale' is not scaled, and changing the
3779 // value of `scale' will reset all the pre-defined variables that
3781 for (unsigned int i = 0;
3782 i < sizeof(defaults_table)/sizeof(defaults_table[0]); i++)
3783 if (!defaults_table[i].scaled)
3784 define_variable(defaults_table[i].name, defaults_table[i].val);
3787 // called after each parse
3789 void parse_cleanup()
3791 while (current_saved_state != 0) {
3792 delete current_table;
3793 current_table = current_saved_state->tbl;
3794 saved_state *tem = current_saved_state;
3795 current_saved_state = current_saved_state->prev;
3798 assert(current_table == &top_table);
3799 PTABLE_ITERATOR(place) iter(current_table);
3802 while (iter.next(&key, &pl))
3804 position pos = pl->obj->origin();
3809 while (olist.head != 0) {
3810 object *tem = olist.head;
3811 olist.head = olist.head->next;
3815 current_direction = RIGHT_DIRECTION;
3816 current_position.x = 0.0;
3817 current_position.y = 0.0;
3820 const char *ordinal_postfix(int n)
3822 if (n < 10 || n > 20)
3834 const char *object_type_name(object_type type)
3841 case ELLIPSE_OBJECT:
3865 static char sprintf_buf[1024];
3867 char *format_number(const char *form, double n)
3871 return do_sprintf(form, &n, 1);
3874 char *do_sprintf(const char *form, const double *v, int nv)
3881 one_format += *form++;
3882 for (; *form != '\0' && strchr("#-+ 0123456789.", *form) != 0; form++)
3883 one_format += *form;
3884 if (*form == '\0' || strchr("eEfgG%", *form) == 0) {
3885 lex_error("bad sprintf format");
3886 result += one_format;
3891 one_format += *form++;
3893 snprintf(sprintf_buf, sizeof(sprintf_buf),
3894 "%s", one_format.contents());
3898 lex_error("too few arguments to snprintf");
3899 result += one_format;
3903 one_format += *form++;
3905 snprintf(sprintf_buf, sizeof(sprintf_buf),
3906 one_format.contents(), v[i++]);
3909 result += sprintf_buf;
3915 return strsave(result.contents());
3917 #line 3917 "pic.cpp"
3918 /* allocate initial stack or double stack size, up to YYMAXDEPTH */
3919 static int yygrowstack(void)
3926 if ((newsize = yystacksize) == 0)
3927 newsize = YYINITSTACKSIZE;
3928 else if (newsize >= YYMAXDEPTH)
3930 else if ((newsize *= 2) > YYMAXDEPTH)
3931 newsize = YYMAXDEPTH;
3935 ? (short *)realloc(yyss, newsize * sizeof(*newss))
3936 : (short *)malloc(newsize * sizeof(*newss));
3943 ? (YYSTYPE *)realloc(yyvs, newsize * sizeof(*newvs))
3944 : (YYSTYPE *)malloc(newsize * sizeof(*newvs));
3950 yystacksize = newsize;
3951 yysslim = yyss + newsize - 1;
3955 #define YYABORT goto yyabort
3956 #define YYREJECT goto yyabort
3957 #define YYACCEPT goto yyaccept
3958 #define YYERROR goto yyerrlab
3963 int yym, yyn, yystate;
3967 if ((yys = getenv("YYDEBUG")) != 0)
3970 if (yyn >= '0' && yyn <= '9')
3971 yydebug = yyn - '0';
3980 if (yyss == NULL && yygrowstack()) goto yyoverflow;
3987 if ((yyn = yydefred[yystate]) != 0) goto yyreduce;
3990 if ((yychar = yylex()) < 0) yychar = 0;
3995 if (yychar <= YYMAXTOKEN) yys = yyname[yychar];
3996 if (!yys) yys = "illegal-symbol";
3997 printf("%sdebug: state %d, reading %d (%s)\n",
3998 YYPREFIX, yystate, yychar, yys);
4002 if ((yyn = yysindex[yystate]) && (yyn += yychar) >= 0 &&
4003 yyn <= YYTABLESIZE && yycheck[yyn] == yychar)
4007 printf("%sdebug: state %d, shifting to state %d\n",
4008 YYPREFIX, yystate, yytable[yyn]);
4010 if (yyssp >= yysslim && yygrowstack())
4014 yystate = yytable[yyn];
4015 *++yyssp = yytable[yyn];
4018 if (yyerrflag > 0) --yyerrflag;
4021 if ((yyn = yyrindex[yystate]) && (yyn += yychar) >= 0 &&
4022 yyn <= YYTABLESIZE && yycheck[yyn] == yychar)
4027 if (yyerrflag) goto yyinrecovery;
4029 yyerror("syntax error");
4042 if ((yyn = yysindex[*yyssp]) && (yyn += YYERRCODE) >= 0 &&
4043 yyn <= YYTABLESIZE && yycheck[yyn] == YYERRCODE)
4047 printf("%sdebug: state %d, error recovery shifting\
4048 to state %d\n", YYPREFIX, *yyssp, yytable[yyn]);
4050 if (yyssp >= yysslim && yygrowstack())
4054 yystate = yytable[yyn];
4055 *++yyssp = yytable[yyn];
4063 printf("%sdebug: error recovery discarding state %d\n",
4066 if (yyssp <= yyss) goto yyabort;
4074 if (yychar == 0) goto yyabort;
4079 if (yychar <= YYMAXTOKEN) yys = yyname[yychar];
4080 if (!yys) yys = "illegal-symbol";
4081 printf("%sdebug: state %d, error recovery discards token %d (%s)\n",
4082 YYPREFIX, yystate, yychar, yys);
4092 printf("%sdebug: state %d, reducing by rule %d (%s)\n",
4093 YYPREFIX, yystate, yyn, yyrule[yyn]);
4097 yyval = yyvsp[1-yym];
4099 memset(&yyval, 0, sizeof yyval);
4106 print_picture(olist.head);
4111 { yyval.pl = yyvsp[-1].pl; }
4115 { yyval.pl = yyvsp[0].pl; }
4119 { yyval.pl = yyvsp[-2].pl; }
4125 graphname = new char[strlen(yyvsp[0].str) + 1];
4126 strcpy(graphname, yyvsp[0].str);
4127 a_delete yyvsp[0].str;
4133 define_variable(yyvsp[-2].str, yyvsp[0].x);
4134 a_delete yyvsp[-2].str;
4140 place *p = lookup_label(yyvsp[-3].str);
4142 lex_error("variable `%1' not defined", yyvsp[-3].str);
4148 a_delete yyvsp[-3].str;
4153 { current_direction = UP_DIRECTION; }
4157 { current_direction = DOWN_DIRECTION; }
4161 { current_direction = LEFT_DIRECTION; }
4165 { current_direction = RIGHT_DIRECTION; }
4170 olist.append(make_command_object(yyvsp[0].lstr.str, yyvsp[0].lstr.filename,
4171 yyvsp[0].lstr.lineno));
4177 olist.append(make_command_object(yyvsp[0].lstr.str, yyvsp[0].lstr.filename,
4178 yyvsp[0].lstr.lineno));
4184 fprintf(stderr, "%s\n", yyvsp[0].lstr.str);
4185 a_delete yyvsp[0].lstr.str;
4198 lex_error("unsafe to run command `%1'", yyvsp[0].str);
4200 system(yyvsp[0].str);
4201 a_delete yyvsp[0].str;
4209 do_copy(yyvsp[0].lstr.str);
4210 /* do not delete the filename*/
4226 copy_file_thru(yyvsp[-5].lstr.str, yyvsp[-2].str, yyvsp[0].str);
4227 /* do not delete the filename*/
4228 a_delete yyvsp[-2].str;
4229 a_delete yyvsp[0].str;
4245 copy_rest_thru(yyvsp[-2].str, yyvsp[0].str);
4246 a_delete yyvsp[-2].str;
4247 a_delete yyvsp[0].str;
4260 do_for(yyvsp[-8].str, yyvsp[-6].x, yyvsp[-4].x, yyvsp[-3].by.is_multiplicative, yyvsp[-3].by.val, yyvsp[0].str);
4268 if (yyvsp[0].if_data.x != 0.0)
4269 push_body(yyvsp[0].if_data.body);
4270 a_delete yyvsp[0].if_data.body;
4283 if (yyvsp[-3].if_data.x != 0.0)
4284 push_body(yyvsp[-3].if_data.body);
4286 push_body(yyvsp[0].str);
4287 a_delete yyvsp[-3].if_data.body;
4288 a_delete yyvsp[0].str;
4293 { define_variable("scale", 1.0); }
4298 reset(yyvsp[0].str);
4299 a_delete yyvsp[0].str;
4305 reset(yyvsp[0].str);
4306 a_delete yyvsp[0].str;
4312 reset(yyvsp[0].str);
4313 a_delete yyvsp[0].str;
4318 { yyval.lstr = yyvsp[0].lstr; }
4323 yyval.lstr.str = new char[strlen(yyvsp[-1].lstr.str) + strlen(yyvsp[0].lstr.str) + 1];
4324 strcpy(yyval.lstr.str, yyvsp[-1].lstr.str);
4325 strcat(yyval.lstr.str, yyvsp[0].lstr.str);
4326 a_delete yyvsp[-1].lstr.str;
4327 a_delete yyvsp[0].lstr.str;
4328 if (yyvsp[-1].lstr.filename) {
4329 yyval.lstr.filename = yyvsp[-1].lstr.filename;
4330 yyval.lstr.lineno = yyvsp[-1].lstr.lineno;
4332 else if (yyvsp[0].lstr.filename) {
4333 yyval.lstr.filename = yyvsp[0].lstr.filename;
4334 yyval.lstr.lineno = yyvsp[0].lstr.lineno;
4341 yyval.lstr.str = new char[GDIGITS + 1];
4342 sprintf(yyval.lstr.str, "%g", yyvsp[0].x);
4343 yyval.lstr.filename = 0;
4344 yyval.lstr.lineno = 0;
4349 { yyval.lstr = yyvsp[0].lstr; }
4354 yyval.lstr.str = new char[GDIGITS + 2 + GDIGITS + 1];
4355 sprintf(yyval.lstr.str, "%g, %g", yyvsp[0].pair.x, yyvsp[0].pair.y);
4356 yyval.lstr.filename = 0;
4357 yyval.lstr.lineno = 0;
4368 yyval.if_data.x = yyvsp[-3].x;
4369 yyval.if_data.body = yyvsp[0].str;
4378 { yyval.str = yyvsp[0].lstr.str; }
4382 { yyval.x = yyvsp[0].x; }
4386 { yyval.x = yyvsp[0].x; }
4391 yyval.x = strcmp(yyvsp[-2].lstr.str, yyvsp[0].lstr.str) == 0;
4392 a_delete yyvsp[-2].lstr.str;
4393 a_delete yyvsp[0].lstr.str;
4399 yyval.x = strcmp(yyvsp[-2].lstr.str, yyvsp[0].lstr.str) != 0;
4400 a_delete yyvsp[-2].lstr.str;
4401 a_delete yyvsp[0].lstr.str;
4406 { yyval.x = (yyvsp[-2].x != 0.0 && yyvsp[0].x != 0.0); }
4410 { yyval.x = (yyvsp[-2].x != 0.0 && yyvsp[0].x != 0.0); }
4414 { yyval.x = (yyvsp[-2].x != 0.0 && yyvsp[0].x != 0.0); }
4418 { yyval.x = (yyvsp[-2].x != 0.0 || yyvsp[0].x != 0.0); }
4422 { yyval.x = (yyvsp[-2].x != 0.0 || yyvsp[0].x != 0.0); }
4426 { yyval.x = (yyvsp[-2].x != 0.0 || yyvsp[0].x != 0.0); }
4430 { yyval.x = (yyvsp[0].x == 0.0); }
4436 yyval.by.is_multiplicative = 0;
4442 yyval.by.val = yyvsp[0].x;
4443 yyval.by.is_multiplicative = 0;
4449 yyval.by.val = yyvsp[0].x;
4450 yyval.by.is_multiplicative = 1;
4456 yyval.pl.obj = yyvsp[0].spec->make_object(¤t_position,
4457 ¤t_direction);
4458 if (yyval.pl.obj == 0)
4460 delete yyvsp[0].spec;
4462 olist.append(yyval.pl.obj);
4464 yyval.pl.x = current_position.x;
4465 yyval.pl.y = current_position.y;
4472 yyval.pl = yyvsp[0].pl;
4473 define_label(yyvsp[-3].str, & yyval.pl);
4474 a_delete yyvsp[-3].str;
4481 yyval.pl.x = yyvsp[0].pair.x;
4482 yyval.pl.y = yyvsp[0].pair.y;
4483 define_label(yyvsp[-3].str, & yyval.pl);
4484 a_delete yyvsp[-3].str;
4490 yyval.pl = yyvsp[0].pl;
4491 define_label(yyvsp[-3].str, & yyval.pl);
4492 a_delete yyvsp[-3].str;
4498 yyval.state.x = current_position.x;
4499 yyval.state.y = current_position.y;
4500 yyval.state.dir = current_direction;
4506 current_position.x = yyvsp[-2].state.x;
4507 current_position.y = yyvsp[-2].state.y;
4508 current_direction = yyvsp[-2].state.dir;
4514 yyval.pl = yyvsp[-3].pl;
4521 yyval.pl.x = current_position.x;
4522 yyval.pl.y = current_position.y;
4535 { yyval.spec = new object_spec(BOX_OBJECT); }
4539 { yyval.spec = new object_spec(CIRCLE_OBJECT); }
4543 { yyval.spec = new object_spec(ELLIPSE_OBJECT); }
4548 yyval.spec = new object_spec(ARC_OBJECT);
4549 yyval.spec->dir = current_direction;
4555 yyval.spec = new object_spec(LINE_OBJECT);
4556 lookup_variable("lineht", & yyval.spec->segment_height);
4557 lookup_variable("linewid", & yyval.spec->segment_width);
4558 yyval.spec->dir = current_direction;
4564 yyval.spec = new object_spec(ARROW_OBJECT);
4565 lookup_variable("lineht", & yyval.spec->segment_height);
4566 lookup_variable("linewid", & yyval.spec->segment_width);
4567 yyval.spec->dir = current_direction;
4573 yyval.spec = new object_spec(MOVE_OBJECT);
4574 lookup_variable("moveht", & yyval.spec->segment_height);
4575 lookup_variable("movewid", & yyval.spec->segment_width);
4576 yyval.spec->dir = current_direction;
4582 yyval.spec = new object_spec(SPLINE_OBJECT);
4583 lookup_variable("lineht", & yyval.spec->segment_height);
4584 lookup_variable("linewid", & yyval.spec->segment_width);
4585 yyval.spec->dir = current_direction;
4591 yyval.spec = new object_spec(TEXT_OBJECT);
4592 yyval.spec->text = new text_item(yyvsp[0].lstr.str, yyvsp[0].lstr.filename, yyvsp[0].lstr.lineno);
4598 yyval.spec = new object_spec(TEXT_OBJECT);
4599 yyval.spec->text = new text_item(format_number(0, yyvsp[0].x), 0, -1);
4605 yyval.spec = new object_spec(TEXT_OBJECT);
4606 yyval.spec->text = new text_item(format_number(yyvsp[0].lstr.str, yyvsp[-1].x),
4607 yyvsp[0].lstr.filename, yyvsp[0].lstr.lineno);
4608 a_delete yyvsp[0].lstr.str;
4614 saved_state *p = new saved_state;
4616 p->x = current_position.x;
4617 p->y = current_position.y;
4618 p->dir = current_direction;
4619 p->tbl = current_table;
4620 p->prev = current_saved_state;
4621 current_position.x = 0.0;
4622 current_position.y = 0.0;
4623 current_table = new PTABLE(place);
4624 current_saved_state = p;
4625 olist.append(make_mark_object());
4631 current_position.x = yyvsp[-2].pstate->x;
4632 current_position.y = yyvsp[-2].pstate->y;
4633 current_direction = yyvsp[-2].pstate->dir;
4634 yyval.spec = new object_spec(BLOCK_OBJECT);
4635 olist.wrap_up_block(& yyval.spec->oblist);
4636 yyval.spec->tbl = current_table;
4637 current_table = yyvsp[-2].pstate->tbl;
4638 current_saved_state = yyvsp[-2].pstate->prev;
4639 delete yyvsp[-2].pstate;
4645 yyval.spec = yyvsp[-2].spec;
4646 yyval.spec->height = yyvsp[0].x;
4647 yyval.spec->flags |= HAS_HEIGHT;
4653 yyval.spec = yyvsp[-2].spec;
4654 yyval.spec->radius = yyvsp[0].x;
4655 yyval.spec->flags |= HAS_RADIUS;
4661 yyval.spec = yyvsp[-2].spec;
4662 yyval.spec->width = yyvsp[0].x;
4663 yyval.spec->flags |= HAS_WIDTH;
4669 yyval.spec = yyvsp[-2].spec;
4670 yyval.spec->radius = yyvsp[0].x/2.0;
4671 yyval.spec->flags |= HAS_RADIUS;
4677 yyval.spec = yyvsp[-1].spec;
4678 yyval.spec->flags |= HAS_SEGMENT;
4679 switch (yyval.spec->dir) {
4681 yyval.spec->segment_pos.y += yyvsp[0].x;
4683 case DOWN_DIRECTION:
4684 yyval.spec->segment_pos.y -= yyvsp[0].x;
4686 case RIGHT_DIRECTION:
4687 yyval.spec->segment_pos.x += yyvsp[0].x;
4689 case LEFT_DIRECTION:
4690 yyval.spec->segment_pos.x -= yyvsp[0].x;
4698 yyval.spec = yyvsp[-1].spec;
4699 yyval.spec->dir = UP_DIRECTION;
4700 yyval.spec->flags |= HAS_SEGMENT;
4701 yyval.spec->segment_pos.y += yyval.spec->segment_height;
4707 yyval.spec = yyvsp[-2].spec;
4708 yyval.spec->dir = UP_DIRECTION;
4709 yyval.spec->flags |= HAS_SEGMENT;
4710 yyval.spec->segment_pos.y += yyvsp[0].x;
4716 yyval.spec = yyvsp[-1].spec;
4717 yyval.spec->dir = DOWN_DIRECTION;
4718 yyval.spec->flags |= HAS_SEGMENT;
4719 yyval.spec->segment_pos.y -= yyval.spec->segment_height;
4725 yyval.spec = yyvsp[-2].spec;
4726 yyval.spec->dir = DOWN_DIRECTION;
4727 yyval.spec->flags |= HAS_SEGMENT;
4728 yyval.spec->segment_pos.y -= yyvsp[0].x;
4734 yyval.spec = yyvsp[-1].spec;
4735 yyval.spec->dir = RIGHT_DIRECTION;
4736 yyval.spec->flags |= HAS_SEGMENT;
4737 yyval.spec->segment_pos.x += yyval.spec->segment_width;
4743 yyval.spec = yyvsp[-2].spec;
4744 yyval.spec->dir = RIGHT_DIRECTION;
4745 yyval.spec->flags |= HAS_SEGMENT;
4746 yyval.spec->segment_pos.x += yyvsp[0].x;
4752 yyval.spec = yyvsp[-1].spec;
4753 yyval.spec->dir = LEFT_DIRECTION;
4754 yyval.spec->flags |= HAS_SEGMENT;
4755 yyval.spec->segment_pos.x -= yyval.spec->segment_width;
4761 yyval.spec = yyvsp[-2].spec;
4762 yyval.spec->dir = LEFT_DIRECTION;
4763 yyval.spec->flags |= HAS_SEGMENT;
4764 yyval.spec->segment_pos.x -= yyvsp[0].x;
4770 yyval.spec = yyvsp[-2].spec;
4771 yyval.spec->flags |= HAS_FROM;
4772 yyval.spec->from.x = yyvsp[0].pair.x;
4773 yyval.spec->from.y = yyvsp[0].pair.y;
4779 yyval.spec = yyvsp[-2].spec;
4780 if (yyval.spec->flags & HAS_SEGMENT)
4781 yyval.spec->segment_list = new segment(yyval.spec->segment_pos,
4782 yyval.spec->segment_is_absolute,
4783 yyval.spec->segment_list);
4784 yyval.spec->flags |= HAS_SEGMENT;
4785 yyval.spec->segment_pos.x = yyvsp[0].pair.x;
4786 yyval.spec->segment_pos.y = yyvsp[0].pair.y;
4787 yyval.spec->segment_is_absolute = 1;
4788 yyval.spec->flags |= HAS_TO;
4789 yyval.spec->to.x = yyvsp[0].pair.x;
4790 yyval.spec->to.y = yyvsp[0].pair.y;
4796 yyval.spec = yyvsp[-2].spec;
4797 yyval.spec->flags |= HAS_AT;
4798 yyval.spec->at.x = yyvsp[0].pair.x;
4799 yyval.spec->at.y = yyvsp[0].pair.y;
4800 if (yyval.spec->type != ARC_OBJECT) {
4801 yyval.spec->flags |= HAS_FROM;
4802 yyval.spec->from.x = yyvsp[0].pair.x;
4803 yyval.spec->from.y = yyvsp[0].pair.y;
4810 yyval.spec = yyvsp[-2].spec;
4811 yyval.spec->flags |= HAS_WITH;
4812 yyval.spec->with = yyvsp[0].pth;
4818 yyval.spec = yyvsp[-2].spec;
4819 yyval.spec->flags |= HAS_WITH;
4821 pos.x = yyvsp[0].pair.x;
4822 pos.y = yyvsp[0].pair.y;
4823 yyval.spec->with = new path(pos);
4829 yyval.spec = yyvsp[-2].spec;
4830 yyval.spec->flags |= HAS_SEGMENT;
4831 yyval.spec->segment_pos.x += yyvsp[0].pair.x;
4832 yyval.spec->segment_pos.y += yyvsp[0].pair.y;
4838 yyval.spec = yyvsp[-1].spec;
4839 if (!(yyval.spec->flags & HAS_SEGMENT))
4840 switch (yyval.spec->dir) {
4842 yyval.spec->segment_pos.y += yyval.spec->segment_width;
4844 case DOWN_DIRECTION:
4845 yyval.spec->segment_pos.y -= yyval.spec->segment_width;
4847 case RIGHT_DIRECTION:
4848 yyval.spec->segment_pos.x += yyval.spec->segment_width;
4850 case LEFT_DIRECTION:
4851 yyval.spec->segment_pos.x -= yyval.spec->segment_width;
4854 yyval.spec->segment_list = new segment(yyval.spec->segment_pos,
4855 yyval.spec->segment_is_absolute,
4856 yyval.spec->segment_list);
4857 yyval.spec->flags &= ~HAS_SEGMENT;
4858 yyval.spec->segment_pos.x = yyval.spec->segment_pos.y = 0.0;
4859 yyval.spec->segment_is_absolute = 0;
4865 yyval.spec = yyvsp[-1].spec; /* nothing*/
4871 yyval.spec = yyvsp[-1].spec;
4872 yyval.spec->flags |= IS_DOTTED;
4873 lookup_variable("dashwid", & yyval.spec->dash_width);
4879 yyval.spec = yyvsp[-2].spec;
4880 yyval.spec->flags |= IS_DOTTED;
4881 yyval.spec->dash_width = yyvsp[0].x;
4887 yyval.spec = yyvsp[-1].spec;
4888 yyval.spec->flags |= IS_DASHED;
4889 lookup_variable("dashwid", & yyval.spec->dash_width);
4895 yyval.spec = yyvsp[-2].spec;
4896 yyval.spec->flags |= IS_DASHED;
4897 yyval.spec->dash_width = yyvsp[0].x;
4903 yyval.spec = yyvsp[-1].spec;
4904 yyval.spec->flags |= IS_DEFAULT_FILLED;
4910 yyval.spec = yyvsp[-2].spec;
4911 yyval.spec->flags |= IS_FILLED;
4912 yyval.spec->fill = yyvsp[0].x;
4918 yyval.spec = yyvsp[-2].spec;
4919 yyval.spec->flags |= IS_XSLANTED;
4920 yyval.spec->xslanted = yyvsp[0].x;
4926 yyval.spec = yyvsp[-2].spec;
4927 yyval.spec->flags |= IS_YSLANTED;
4928 yyval.spec->yslanted = yyvsp[0].x;
4934 yyval.spec = yyvsp[-2].spec;
4935 yyval.spec->flags |= (IS_SHADED | IS_FILLED);
4936 yyval.spec->shaded = new char[strlen(yyvsp[0].lstr.str)+1];
4937 strcpy(yyval.spec->shaded, yyvsp[0].lstr.str);
4943 yyval.spec = yyvsp[-2].spec;
4944 yyval.spec->flags |= (IS_SHADED | IS_OUTLINED | IS_FILLED);
4945 yyval.spec->shaded = new char[strlen(yyvsp[0].lstr.str)+1];
4946 strcpy(yyval.spec->shaded, yyvsp[0].lstr.str);
4947 yyval.spec->outlined = new char[strlen(yyvsp[0].lstr.str)+1];
4948 strcpy(yyval.spec->outlined, yyvsp[0].lstr.str);
4954 yyval.spec = yyvsp[-2].spec;
4955 yyval.spec->flags |= IS_OUTLINED;
4956 yyval.spec->outlined = new char[strlen(yyvsp[0].lstr.str)+1];
4957 strcpy(yyval.spec->outlined, yyvsp[0].lstr.str);
4963 yyval.spec = yyvsp[-1].spec;
4964 /* line chop chop means line chop 0 chop 0*/
4965 if (yyval.spec->flags & IS_DEFAULT_CHOPPED) {
4966 yyval.spec->flags |= IS_CHOPPED;
4967 yyval.spec->flags &= ~IS_DEFAULT_CHOPPED;
4968 yyval.spec->start_chop = yyval.spec->end_chop = 0.0;
4970 else if (yyval.spec->flags & IS_CHOPPED) {
4971 yyval.spec->end_chop = 0.0;
4974 yyval.spec->flags |= IS_DEFAULT_CHOPPED;
4981 yyval.spec = yyvsp[-2].spec;
4982 if (yyval.spec->flags & IS_DEFAULT_CHOPPED) {
4983 yyval.spec->flags |= IS_CHOPPED;
4984 yyval.spec->flags &= ~IS_DEFAULT_CHOPPED;
4985 yyval.spec->start_chop = 0.0;
4986 yyval.spec->end_chop = yyvsp[0].x;
4988 else if (yyval.spec->flags & IS_CHOPPED) {
4989 yyval.spec->end_chop = yyvsp[0].x;
4992 yyval.spec->start_chop = yyval.spec->end_chop = yyvsp[0].x;
4993 yyval.spec->flags |= IS_CHOPPED;
5000 yyval.spec = yyvsp[-1].spec;
5001 yyval.spec->flags |= IS_SAME;
5007 yyval.spec = yyvsp[-1].spec;
5008 yyval.spec->flags |= IS_INVISIBLE;
5014 yyval.spec = yyvsp[-1].spec;
5015 yyval.spec->flags |= HAS_LEFT_ARROW_HEAD;
5021 yyval.spec = yyvsp[-1].spec;
5022 yyval.spec->flags |= HAS_RIGHT_ARROW_HEAD;
5028 yyval.spec = yyvsp[-1].spec;
5029 yyval.spec->flags |= (HAS_LEFT_ARROW_HEAD|HAS_RIGHT_ARROW_HEAD);
5035 yyval.spec = yyvsp[-1].spec;
5036 yyval.spec->flags |= IS_CLOCKWISE;
5042 yyval.spec = yyvsp[-1].spec;
5043 yyval.spec->flags &= ~IS_CLOCKWISE;
5049 yyval.spec = yyvsp[-1].spec;
5051 for (p = & yyval.spec->text; *p; p = &(*p)->next)
5053 *p = new text_item(yyvsp[0].lstr.str, yyvsp[0].lstr.filename, yyvsp[0].lstr.lineno);
5059 yyval.spec = yyvsp[-1].spec;
5060 if (yyval.spec->text) {
5062 for (p = yyval.spec->text; p->next; p = p->next)
5064 p->adj.h = LEFT_ADJUST;
5071 yyval.spec = yyvsp[-1].spec;
5072 if (yyval.spec->text) {
5074 for (p = yyval.spec->text; p->next; p = p->next)
5076 p->adj.h = RIGHT_ADJUST;
5083 yyval.spec = yyvsp[-1].spec;
5084 if (yyval.spec->text) {
5086 for (p = yyval.spec->text; p->next; p = p->next)
5088 p->adj.v = ABOVE_ADJUST;
5095 yyval.spec = yyvsp[-1].spec;
5096 if (yyval.spec->text) {
5098 for (p = yyval.spec->text; p->next; p = p->next)
5100 p->adj.v = BELOW_ADJUST;
5107 yyval.spec = yyvsp[-2].spec;
5108 yyval.spec->flags |= HAS_THICKNESS;
5109 yyval.spec->thickness = yyvsp[0].x;
5115 yyval.spec = yyvsp[-1].spec;
5116 yyval.spec->flags |= IS_ALIGNED;
5121 { yyval.lstr = yyvsp[0].lstr; }
5126 yyval.lstr.filename = yyvsp[-2].lstr.filename;
5127 yyval.lstr.lineno = yyvsp[-2].lstr.lineno;
5128 yyval.lstr.str = do_sprintf(yyvsp[-2].lstr.str, yyvsp[-1].dv.v, yyvsp[-1].dv.nv);
5129 a_delete yyvsp[-1].dv.v;
5130 a_delete yyvsp[-2].lstr.str;
5144 yyval.dv = yyvsp[-2].dv;
5145 if (yyval.dv.nv >= yyval.dv.maxv) {
5146 if (yyval.dv.nv == 0) {
5147 yyval.dv.v = new double[4];
5151 double *oldv = yyval.dv.v;
5154 yyval.dv.v = new double[yyval.dv.maxv];
5155 memcpy(yyval.dv.v, oldv, yyval.dv.nv*sizeof(double));
5157 /* workaround for bug in Compaq C++ V6.5-033*/
5158 /* for Compaq Tru64 UNIX V5.1A (Rev. 1885)*/
5159 double *foo = new double[yyval.dv.maxv];
5160 memcpy(foo, oldv, yyval.dv.nv*sizeof(double));
5166 yyval.dv.v[yyval.dv.nv] = yyvsp[0].x;
5172 { yyval.pair = yyvsp[0].pair; }
5177 position pos = yyvsp[0].pl;
5178 yyval.pair.x = pos.x;
5179 yyval.pair.y = pos.y;
5185 position pos = yyvsp[-1].pl;
5186 yyval.pair.x = pos.x;
5187 yyval.pair.y = pos.y;
5192 { yyval.pair = yyvsp[0].pair; }
5197 yyval.pair.x = yyvsp[-2].pair.x + yyvsp[0].pair.x;
5198 yyval.pair.y = yyvsp[-2].pair.y + yyvsp[0].pair.y;
5204 yyval.pair.x = yyvsp[-3].pair.x + yyvsp[-1].pair.x;
5205 yyval.pair.y = yyvsp[-3].pair.y + yyvsp[-1].pair.y;
5211 yyval.pair.x = yyvsp[-2].pair.x - yyvsp[0].pair.x;
5212 yyval.pair.y = yyvsp[-2].pair.y - yyvsp[0].pair.y;
5218 yyval.pair.x = yyvsp[-3].pair.x - yyvsp[-1].pair.x;
5219 yyval.pair.y = yyvsp[-3].pair.y - yyvsp[-1].pair.y;
5225 yyval.pair.x = yyvsp[-3].pair.x;
5226 yyval.pair.y = yyvsp[-1].pair.y;
5232 yyval.pair.x = (1.0 - yyvsp[-4].x)*yyvsp[-2].pair.x + yyvsp[-4].x*yyvsp[0].pair.x;
5233 yyval.pair.y = (1.0 - yyvsp[-4].x)*yyvsp[-2].pair.y + yyvsp[-4].x*yyvsp[0].pair.y;
5239 yyval.pair.x = (1.0 - yyvsp[-5].x)*yyvsp[-3].pair.x + yyvsp[-5].x*yyvsp[-1].pair.x;
5240 yyval.pair.y = (1.0 - yyvsp[-5].x)*yyvsp[-3].pair.y + yyvsp[-5].x*yyvsp[-1].pair.y;
5246 yyval.pair.x = (1.0 - yyvsp[-5].x)*yyvsp[-3].pair.x + yyvsp[-5].x*yyvsp[-1].pair.x;
5247 yyval.pair.y = (1.0 - yyvsp[-5].x)*yyvsp[-3].pair.y + yyvsp[-5].x*yyvsp[-1].pair.y;
5253 yyval.pair.x = (1.0 - yyvsp[-6].x)*yyvsp[-4].pair.x + yyvsp[-6].x*yyvsp[-2].pair.x;
5254 yyval.pair.y = (1.0 - yyvsp[-6].x)*yyvsp[-4].pair.y + yyvsp[-6].x*yyvsp[-2].pair.y;
5260 yyval.pair.x = yyvsp[-2].x;
5261 yyval.pair.y = yyvsp[0].x;
5266 { yyval.pair = yyvsp[-1].pair; }
5270 { yyval.pl = yyvsp[0].pl; }
5275 path pth(yyvsp[0].crn);
5276 if (!pth.follow(yyvsp[-1].pl, & yyval.pl))
5283 path pth(yyvsp[-1].crn);
5284 if (!pth.follow(yyvsp[0].pl, & yyval.pl))
5291 path pth(yyvsp[-2].crn);
5292 if (!pth.follow(yyvsp[0].pl, & yyval.pl))
5299 yyval.pl.x = current_position.x;
5300 yyval.pl.y = current_position.y;
5307 place *p = lookup_label(yyvsp[0].str);
5309 lex_error("there is no place `%1'", yyvsp[0].str);
5313 a_delete yyvsp[0].str;
5318 { yyval.pl.obj = yyvsp[0].obj; }
5323 path pth(yyvsp[0].str);
5324 if (!pth.follow(yyvsp[-2].pl, & yyval.pl))
5330 { yyval.n = yyvsp[0].n; }
5335 /* XXX Check for overflow (and non-integers?).*/
5336 yyval.n = (int)yyvsp[-1].x;
5345 { yyval.n = yyvsp[-1].n; }
5352 for (p = olist.head; p != 0; p = p->next)
5353 if (p->type() == yyvsp[0].obtype && ++count == yyvsp[-1].n) {
5358 lex_error("there is no %1%2 %3", yyvsp[-1].n, ordinal_postfix(yyvsp[-1].n),
5359 object_type_name(yyvsp[0].obtype));
5369 for (p = olist.tail; p != 0; p = p->prev)
5370 if (p->type() == yyvsp[0].obtype && ++count == yyvsp[-1].n) {
5375 lex_error("there is no %1%2 last %3", yyvsp[-1].n,
5376 ordinal_postfix(yyvsp[-1].n), object_type_name(yyvsp[0].obtype));
5383 { yyval.obtype = BOX_OBJECT; }
5387 { yyval.obtype = CIRCLE_OBJECT; }
5391 { yyval.obtype = ELLIPSE_OBJECT; }
5395 { yyval.obtype = ARC_OBJECT; }
5399 { yyval.obtype = LINE_OBJECT; }
5403 { yyval.obtype = ARROW_OBJECT; }
5407 { yyval.obtype = SPLINE_OBJECT; }
5411 { yyval.obtype = BLOCK_OBJECT; }
5415 { yyval.obtype = TEXT_OBJECT; }
5419 { yyval.pth = new path(yyvsp[0].str); }
5424 yyval.pth = yyvsp[-2].pth;
5425 yyval.pth->append(yyvsp[0].str);
5430 { yyval.pth = new path(yyvsp[0].crn); }
5434 { yyval.pth = yyvsp[0].pth; }
5439 yyval.pth = yyvsp[-1].pth;
5440 yyval.pth->append(yyvsp[0].crn);
5445 { yyval.pth = yyvsp[0].pth; }
5450 yyval.pth = yyvsp[-3].pth;
5451 yyval.pth->set_ypath(yyvsp[-1].pth);
5457 lex_warning("`%1%2 last %3' in `with' argument ignored",
5458 yyvsp[-3].n, ordinal_postfix(yyvsp[-3].n), object_type_name(yyvsp[-1].obtype));
5459 yyval.pth = yyvsp[0].pth;
5465 lex_warning("`last %1' in `with' argument ignored",
5466 object_type_name(yyvsp[-1].obtype));
5467 yyval.pth = yyvsp[0].pth;
5473 lex_warning("`%1%2 %3' in `with' argument ignored",
5474 yyvsp[-2].n, ordinal_postfix(yyvsp[-2].n), object_type_name(yyvsp[-1].obtype));
5475 yyval.pth = yyvsp[0].pth;
5481 lex_warning("initial `%1' in `with' argument ignored", yyvsp[-1].str);
5482 a_delete yyvsp[-1].str;
5483 yyval.pth = yyvsp[0].pth;
5488 { yyval.crn = &object::north; }
5492 { yyval.crn = &object::east; }
5496 { yyval.crn = &object::west; }
5500 { yyval.crn = &object::south; }
5504 { yyval.crn = &object::north_east; }
5508 { yyval.crn = &object:: south_east; }
5512 { yyval.crn = &object::north_west; }
5516 { yyval.crn = &object::south_west; }
5520 { yyval.crn = &object::center; }
5524 { yyval.crn = &object::start; }
5528 { yyval.crn = &object::end; }
5532 { yyval.crn = &object::north; }
5536 { yyval.crn = &object::south; }
5540 { yyval.crn = &object::west; }
5544 { yyval.crn = &object::east; }
5548 { yyval.crn = &object::north_west; }
5552 { yyval.crn = &object::south_west; }
5556 { yyval.crn = &object::north_east; }
5560 { yyval.crn = &object::south_east; }
5564 { yyval.crn = &object::west; }
5568 { yyval.crn = &object::east; }
5572 { yyval.crn = &object::north_west; }
5576 { yyval.crn = &object::south_west; }
5580 { yyval.crn = &object::north_east; }
5584 { yyval.crn = &object::south_east; }
5588 { yyval.crn = &object::north; }
5592 { yyval.crn = &object::south; }
5596 { yyval.crn = &object::east; }
5600 { yyval.crn = &object::west; }
5604 { yyval.crn = &object::center; }
5608 { yyval.crn = &object::start; }
5612 { yyval.crn = &object::end; }
5617 if (!lookup_variable(yyvsp[0].str, & yyval.x)) {
5618 lex_error("there is no variable `%1'", yyvsp[0].str);
5621 a_delete yyvsp[0].str;
5626 { yyval.x = yyvsp[0].x; }
5631 if (yyvsp[-1].pl.obj != 0)
5632 yyval.x = yyvsp[-1].pl.obj->origin().x;
5634 yyval.x = yyvsp[-1].pl.x;
5640 if (yyvsp[-1].pl.obj != 0)
5641 yyval.x = yyvsp[-1].pl.obj->origin().y;
5643 yyval.x = yyvsp[-1].pl.y;
5649 if (yyvsp[-1].pl.obj != 0)
5650 yyval.x = yyvsp[-1].pl.obj->height();
5658 if (yyvsp[-1].pl.obj != 0)
5659 yyval.x = yyvsp[-1].pl.obj->width();
5667 if (yyvsp[-1].pl.obj != 0)
5668 yyval.x = yyvsp[-1].pl.obj->radius();
5675 { yyval.x = yyvsp[-2].x + yyvsp[0].x; }
5679 { yyval.x = yyvsp[-2].x - yyvsp[0].x; }
5683 { yyval.x = yyvsp[-2].x * yyvsp[0].x; }
5688 if (yyvsp[0].x == 0.0) {
5689 lex_error("division by zero");
5692 yyval.x = yyvsp[-2].x/yyvsp[0].x;
5698 if (yyvsp[0].x == 0.0) {
5699 lex_error("modulus by zero");
5702 yyval.x = fmod(yyvsp[-2].x, yyvsp[0].x);
5709 yyval.x = pow(yyvsp[-2].x, yyvsp[0].x);
5710 if (errno == EDOM) {
5711 lex_error("arguments to `^' operator out of domain");
5714 if (errno == ERANGE) {
5715 lex_error("result of `^' operator out of range");
5722 { yyval.x = -yyvsp[0].x; }
5726 { yyval.x = yyvsp[-1].x; }
5732 yyval.x = sin(yyvsp[-1].x);
5733 if (errno == ERANGE) {
5734 lex_error("sin result out of range");
5743 yyval.x = cos(yyvsp[-1].x);
5744 if (errno == ERANGE) {
5745 lex_error("cos result out of range");
5754 yyval.x = atan2(yyvsp[-3].x, yyvsp[-1].x);
5755 if (errno == EDOM) {
5756 lex_error("atan2 argument out of domain");
5759 if (errno == ERANGE) {
5760 lex_error("atan2 result out of range");
5769 yyval.x = log10(yyvsp[-1].x);
5770 if (errno == ERANGE) {
5771 lex_error("log result out of range");
5780 yyval.x = pow(10.0, yyvsp[-1].x);
5781 if (errno == ERANGE) {
5782 lex_error("exp result out of range");
5791 yyval.x = sqrt(yyvsp[-1].x);
5792 if (errno == EDOM) {
5793 lex_error("sqrt argument out of domain");
5800 { yyval.x = yyvsp[-3].x > yyvsp[-1].x ? yyvsp[-3].x : yyvsp[-1].x; }
5804 { yyval.x = yyvsp[-3].x < yyvsp[-1].x ? yyvsp[-3].x : yyvsp[-1].x; }
5808 { yyval.x = yyvsp[-1].x < 0 ? -floor(-yyvsp[-1].x) : floor(yyvsp[-1].x); }
5812 { yyval.x = 1.0 + floor(((rand()&0x7fff)/double(0x7fff))*yyvsp[-1].x); }
5817 /* return a random number in the range [0,1) */
5818 /* portable, but not very random */
5819 yyval.x = (rand() & 0x7fff) / double(0x8000);
5826 srand((unsigned int)yyvsp[-1].x);
5831 { yyval.x = (yyvsp[-2].x < yyvsp[0].x); }
5835 { yyval.x = (yyvsp[-2].x <= yyvsp[0].x); }
5839 { yyval.x = (yyvsp[-2].x > yyvsp[0].x); }
5843 { yyval.x = (yyvsp[-2].x >= yyvsp[0].x); }
5847 { yyval.x = (yyvsp[-2].x == yyvsp[0].x); }
5851 { yyval.x = (yyvsp[-2].x != yyvsp[0].x); }
5855 { yyval.x = (yyvsp[-2].x != 0.0 && yyvsp[0].x != 0.0); }
5859 { yyval.x = (yyvsp[-2].x != 0.0 || yyvsp[0].x != 0.0); }
5863 { yyval.x = (yyvsp[0].x == 0.0); }
5865 #line 5865 "pic.cpp"
5871 if (yystate == 0 && yym == 0)
5875 printf("%sdebug: after reduction, shifting from state 0 to\
5876 state %d\n", YYPREFIX, YYFINAL);
5883 if ((yychar = yylex()) < 0) yychar = 0;
5888 if (yychar <= YYMAXTOKEN) yys = yyname[yychar];
5889 if (!yys) yys = "illegal-symbol";
5890 printf("%sdebug: state %d, reading %d (%s)\n",
5891 YYPREFIX, YYFINAL, yychar, yys);
5895 if (yychar == 0) goto yyaccept;
5898 if ((yyn = yygindex[yym]) && (yyn += yystate) >= 0 &&
5899 yyn <= YYTABLESIZE && yycheck[yyn] == yystate)
5900 yystate = yytable[yyn];
5902 yystate = yydgoto[yym];
5905 printf("%sdebug: after reduction, shifting from state %d \
5906 to state %d\n", YYPREFIX, *yyssp, yystate);
5908 if (yyssp >= yysslim && yygrowstack())
5912 *++yyssp = (short) yystate;
5917 yyerror("yacc stack overflow");