2 static char yysccsid[] = "@(#)yaccpar 1.9 (Berkeley) 02/21/93 (groff)";
7 #define yyclearin (yychar=(-1))
8 #define yyerrok (yyerrflag=0)
9 #define YYRECOVERING (yyerrflag!=0)
16 extern int delim_flag;
17 extern void copy_rest_thru(const char *, const char *);
18 extern void copy_file_thru(const char *, const char *, const char *);
19 extern void push_body(const char *);
20 extern void do_for(char *var, double from, double to,
21 int by_is_multiplicative, double by, char *body);
22 extern void do_lookahead();
24 /* Maximum number of characters produced by printf("%g") */
28 void yyerror(const char *);
30 void reset(const char *nm);
33 place *lookup_label(const char *);
34 void define_label(const char *label, const place *pl);
36 direction current_direction;
37 position current_position;
39 implement_ptable(place)
41 PTABLE(place) top_table;
43 PTABLE(place) *current_table = &top_table;
44 saved_state *current_saved_state = 0;
48 const char *ordinal_postfix(int n);
49 const char *object_type_name(object_type type);
50 char *format_number(const char *form, double n);
51 char *do_sprintf(const char *form, const double *v, int nv);
58 struct { double x, y; } pair;
59 struct { double x; char *body; } if_data;
60 struct { char *str; const char *filename; int lineno; } lstr;
61 struct { double *v; int nv; int maxv; } dv;
62 struct { double val; int is_multiplicative; } by;
77 #define COMMAND_LINE 261
81 #define LEFT_ARROW_HEAD 265
82 #define RIGHT_ARROW_HEAD 266
83 #define DOUBLE_ARROW_HEAD 267
113 #define INVISIBLE 297
133 #define DOT_START 317
168 #define EQUALEQUAL 352
169 #define LESSEQUAL 353
170 #define GREATEREQUAL 354
171 #define LEFT_CORNER 355
172 #define RIGHT_CORNER 356
183 #define THICKNESS 367
193 #define YYERRCODE 256
194 short yylhs[] = { -1,
195 0, 0, 16, 17, 17, 29, 29, 30, 30, 31,
196 31, 31, 31, 31, 31, 31, 31, 31, 31, 32,
197 31, 31, 33, 34, 31, 35, 36, 31, 37, 31,
198 31, 38, 31, 31, 31, 23, 23, 39, 39, 39,
199 27, 27, 28, 28, 28, 40, 7, 24, 24, 2,
200 2, 3, 3, 3, 3, 3, 3, 3, 3, 3,
201 4, 4, 4, 15, 15, 15, 15, 41, 43, 15,
202 15, 42, 42, 18, 18, 18, 18, 18, 18, 18,
203 18, 18, 18, 18, 44, 18, 18, 18, 18, 18,
204 18, 18, 18, 18, 18, 18, 18, 18, 18, 18,
205 18, 18, 18, 18, 18, 18, 18, 18, 18, 18,
206 18, 18, 18, 18, 18, 18, 18, 18, 18, 18,
207 18, 18, 18, 18, 18, 18, 18, 18, 18, 18,
208 18, 18, 26, 26, 25, 25, 19, 19, 6, 6,
209 6, 6, 6, 6, 45, 45, 5, 5, 13, 13,
210 13, 13, 13, 14, 14, 14, 22, 22, 21, 21,
211 8, 8, 20, 20, 20, 20, 20, 20, 20, 20,
212 20, 11, 11, 12, 12, 12, 10, 10, 10, 10,
213 10, 10, 9, 9, 9, 9, 9, 9, 9, 9,
214 9, 9, 9, 9, 9, 9, 9, 9, 9, 9,
215 9, 9, 9, 9, 9, 9, 9, 9, 9, 9,
216 9, 9, 9, 9, 1, 1, 1, 1, 1, 1,
217 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
218 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
219 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
222 1, 1, 3, 1, 3, 0, 1, 1, 2, 3,
223 3, 4, 1, 1, 1, 1, 1, 2, 2, 0,
224 3, 2, 0, 0, 7, 0, 0, 6, 0, 10,
225 1, 0, 4, 1, 1, 1, 1, 2, 2, 3,
226 1, 2, 1, 1, 1, 0, 5, 0, 2, 1,
227 1, 3, 3, 3, 3, 3, 3, 3, 3, 2,
228 0, 2, 3, 1, 4, 4, 4, 0, 0, 6,
229 1, 0, 1, 1, 1, 1, 1, 1, 1, 1,
230 1, 1, 2, 3, 0, 4, 3, 3, 3, 3,
231 2, 2, 3, 2, 3, 2, 3, 2, 3, 3,
232 3, 3, 3, 3, 3, 2, 2, 2, 3, 2,
233 3, 2, 3, 3, 3, 3, 2, 3, 2, 2,
234 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
235 3, 2, 1, 5, 0, 3, 1, 1, 1, 3,
236 3, 5, 5, 6, 1, 4, 3, 3, 1, 2,
237 2, 3, 1, 1, 1, 3, 1, 3, 1, 2,
238 2, 2, 1, 1, 1, 1, 1, 1, 1, 2,
239 1, 2, 3, 1, 1, 2, 1, 5, 4, 3,
240 3, 2, 1, 1, 1, 1, 1, 1, 1, 1,
241 1, 1, 1, 1, 1, 1, 1, 2, 2, 2,
242 2, 1, 1, 2, 2, 2, 2, 1, 1, 1,
243 1, 1, 1, 1, 1, 1, 2, 2, 2, 2,
244 2, 3, 3, 3, 3, 3, 3, 2, 3, 4,
245 4, 6, 4, 4, 4, 6, 6, 4, 4, 3,
246 4, 3, 3, 3, 3, 3, 3, 3, 3, 2,
248 short yydefred[] = { 0,
249 8, 0, 2, 0, 0, 0, 0, 133, 17, 13,
250 14, 15, 16, 74, 75, 76, 77, 78, 79, 80,
251 81, 0, 0, 20, 0, 0, 0, 0, 0, 0,
252 0, 85, 68, 0, 4, 0, 0, 82, 71, 0,
253 9, 0, 0, 0, 0, 0, 26, 0, 154, 215,
254 216, 157, 159, 196, 197, 153, 183, 184, 185, 186,
255 187, 188, 189, 190, 191, 192, 193, 0, 0, 0,
256 0, 0, 0, 0, 0, 0, 0, 0, 194, 195,
257 0, 0, 202, 203, 208, 209, 210, 211, 212, 214,
258 213, 0, 0, 0, 0, 0, 139, 137, 155, 0,
259 0, 0, 0, 0, 0, 44, 0, 41, 0, 0,
260 0, 0, 0, 0, 0, 0, 38, 0, 0, 0,
261 0, 0, 32, 3, 0, 121, 122, 123, 0, 0,
262 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
263 0, 106, 107, 0, 0, 0, 119, 120, 127, 128,
264 129, 130, 124, 125, 0, 0, 0, 0, 0, 132,
265 0, 126, 39, 0, 0, 11, 0, 37, 36, 10,
266 23, 0, 21, 0, 0, 0, 0, 0, 0, 0,
267 0, 0, 0, 0, 198, 200, 204, 206, 199, 201,
268 205, 207, 0, 0, 0, 0, 0, 0, 0, 0,
269 145, 0, 0, 0, 0, 0, 0, 0, 0, 0,
270 0, 0, 0, 0, 0, 0, 0, 0, 0, 217,
271 218, 219, 220, 221, 0, 150, 0, 0, 171, 163,
272 164, 165, 166, 167, 168, 169, 0, 162, 160, 161,
273 42, 0, 0, 60, 0, 0, 0, 46, 0, 0,
274 0, 0, 84, 135, 0, 0, 0, 0, 5, 0,
275 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
276 0, 0, 0, 0, 0, 0, 0, 103, 0, 177,
277 0, 0, 0, 105, 0, 0, 0, 0, 0, 115,
278 116, 114, 40, 0, 0, 0, 0, 0, 0, 65,
279 0, 12, 0, 27, 0, 0, 0, 0, 0, 0,
280 0, 0, 0, 240, 0, 0, 229, 148, 0, 158,
281 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
282 0, 0, 0, 0, 0, 0, 0, 0, 0, 156,
283 140, 141, 170, 0, 0, 56, 0, 0, 0, 0,
284 0, 54, 0, 0, 53, 52, 0, 86, 69, 33,
285 174, 182, 0, 0, 0, 172, 0, 0, 176, 0,
286 0, 24, 0, 230, 231, 0, 233, 234, 235, 0,
287 0, 238, 239, 241, 0, 0, 0, 0, 0, 47,
288 0, 134, 0, 0, 181, 180, 0, 173, 0, 0,
289 28, 0, 0, 0, 142, 146, 0, 0, 0, 0,
290 73, 70, 179, 0, 25, 49, 232, 236, 237, 144,
291 0, 0, 178, 0, 0, 29, 0, 0, 30,
293 short yydgoto[] = { 2,
294 112, 194, 114, 422, 97, 98, 34, 99, 100, 278,
295 279, 280, 115, 102, 35, 3, 36, 37, 103, 238,
296 104, 105, 170, 401, 357, 116, 107, 108, 256, 5,
297 39, 48, 303, 399, 172, 373, 428, 258, 40, 350,
298 122, 412, 393, 121, 217,
300 short yysindex[] = { -57,
301 0, 0, 0, 5015, -24, -4, -8, 0, 0, 0,
302 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
303 0, -2, -245, 0,12240, -182,12363, -175,12960, 45,
304 12240, 0, 0, -261, 0, -57,11821, 0, 0, -43,
305 0, -57,12363, 42, -103, -214, 0, -125, 0, 0,
306 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
307 0, 0, 0, 0, 0, 0, 0, 126, 161, 166,
308 176, 186, 187, 190, 194, 197, 198, 203, 0, 0,
309 -199, -147, 0, 0, 0, 0, 0, 0, 0, 0,
310 0,12480,12363,12960,12960, 1256, 0, 0, 0, -22,
311 -223, 867, 21, 191, -1, 0,12240, 0, 183,12363,
312 12363, 361, -44, -187, -223, -179, 0, 798, -11,12240,
313 -57, -57, 0, 0,13430, 0, 0, 0,13323,13323,
314 13323,13323,12960,12960,12960,12960,13083,13083,13083,12720,
315 13200, 0, 0,13323,13323,13323, 0, 0, 0, 0,
316 0, 0, 0, 0,12960,13323, -247, -247, -247, 0,
317 1697, 0, 0, -6,11489, 0,12363, 0, 0, 0,
318 0, -9, 0,12363,12363,12363,12363,12363,12363,12363,
319 12363,12363,11938,12363, 0, 0, 0, 0, 0, 0,
320 0, 0, 1597, 214, 221, 36, 1, 172, 172, -34,
321 0,12960,12960,12960,12960,12960,12960,12960,13083,12960,
322 12960,12960,12960,12960,12960,12960,13083, -18, 232, 0,
323 0, 0, 0, 0, 24, 0,13200,13200, 0, 0,
324 0, 0, 0, 0, 0, 0, 192, 0, 0, 0,
325 0,12960, 172, 0,12363,12363,12960, 0,12363,12363,
326 -247, -247, 0, 0, 195, 5015, 162, 27, 0, 1697,
327 1697, 1697, 1697, 1697, 1697, 1697, 1697, 1256, 21, 21,
328 21, 1783, 428, 428, 43,12123, -22, 0, 467, 0,
329 21,12603, 680, 0, 1697, 1697, 1697, 1697, 1697, 0,
330 0, 0, 0, -4, -8, 0, 0, 0, -223, 0,
331 21, 0, 44, 0, 252, 264, 278, 267, 290, 291,
332 289, 301, 294, 0, 310, 312, 0, 0,13083, 0,
333 51, -5, -26, 99, 99, 714, 714, 1697, -19, 49,
334 714, 337, 337, 172, 172, 172, 172, -38, 232, 0,
335 0, 0, 0, 3111, -5, 0, 1733, 11, 714, 96,
336 -5, 0, 1733, 11, 0, 0, 17, 0, 0, 0,
337 0, 0, 191, 927, 927, 0, 323, 113, 0, 1277,
338 221, 0, 13, 0, 0,12363, 0, 0, 0,12363,
339 12363, 0, 0, 0, 6, 66,13083,13083,12960, 0,
340 12960, 0, 5015, 927, 0, 0, 927, 0, 13, 115,
341 0, 332, 339, 340, 0, 0, -14, 21, 2174, 1697,
342 0, 0, 0, 344, 0, 0, 0, 0, 0, 0,
343 12843, 46, 0,12960, 1697, 0, 1697, 125, 0,
345 short yyrindex[] = { 41,
346 0, 0, 0, 389, 167, 0, 0, 0, 0, 0,
347 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
348 0, 0, 0, 0, 0, 0, 0, 25, 0, 0,
349 0, 0, 0, 117, 0, 8, 135, 0, 0, 236,
350 0,11685, 0, 0, 0, 284, 0, 0, 0, 0,
351 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
352 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
353 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
354 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
355 0, 0, 0, 0, 0,10065, 0, 0, 0, 0,
356 4419, 9457,10400, 0, 0, 0, 633, 0, 0, 0,
357 0, 2068, 0, 2113, 0, 0, 0,11307, 0, 661,
358 5476, 5476, 0, 0, 9, 0, 0, 0,10642,10706,
359 10218,10521, 0, 0, 0, 0, 0, 0, 0, 0,
360 0, 0, 0,10770,10896,10960, 0, 0, 0, 0,
361 0, 0, 0, 0, 0,11024, 0, 0, 0, 0,
362 5218, 0, 0, 0, 0, 0, 0, 0, 0, 0,
363 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
364 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
365 0, 0, 350, 0, 84, 0, 0, 297, 638, 0,
366 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
367 0, 0, 0, 0, 0, 0, 0, 0, 3045, 0,
368 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
369 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
370 0, 0,10568, 0, 0, 0, 0, 0, 0, 0,
371 0, 0, 0, 0, 0, 0, 0, 0, 0, 5335,
372 5676, 5793, 6134, 6251, 6592, 6709, 7050, 0, 7167, 7508,
373 7625, 9759, -238, 134, 0, 0, 9340, 0, 9853, 0,
374 7966, 0, 0, 0, 8083, 8424, 8541, 8882, 8999, 0,
375 0, 0, 0,11377, 1711, 2448, 2906, 211, 309, 0,
376 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
377 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
378 0, 3961, 4302, 3386, 3503, 2129, 2470, 4877, 9942, 0,
379 2587, 1671, 2012, 755, 1096, 1213, 1554, 0, 3844, 0,
380 0, 0, 0, 0, 4392, 0, 4850, 3059, 2928, 0,
381 3931, 0, 5305, 5763, 0, 0, 0, 0, 0, 0,
382 0, 0, 0, 0, 0, 0, 0, 0, 0, 350,
383 0, 0, 676, 0, 0, 0, 0, 0, 0, 0,
384 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
385 0, 0, 694, 0, 0, 0, 0, 0, 676, 0,
386 0, 0, 0, 0, 0, 0, 0, 4760, 54, 19,
387 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
388 0, 0, 0, 0, 55, 0, 64, 0, 0,
390 short yygindex[] = { 0,
391 -25, 368, -97, 0, -53, 247, 0, 0, 93, 0,
392 0, -133, 31, -73, -122, 97, 0, 0, 1557, -60,
393 0, 0, 0, 14, 0, 40, 366, -87, 10, 380,
394 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
397 #define YYTABLESIZE 13804
398 short yytable[] = { 96,
399 164, 1, 259, 118, 227, 96, 228, 6, 7, 4,
400 215, 161, 8, 244, 46, 213, 211, 215, 212, 241,
401 214, 157, 213, 211, 35, 212, 219, 214, 227, 157,
402 228, 215, 241, 247, 41, 210, 213, 211, 195, 212,
403 6, 214, 300, 38, 240, 124, 405, 420, 227, 44,
404 228, 165, 43, 42, 247, 101, 210, 392, 45, 136,
405 391, 101, 136, 227, 106, 228, 193, 216, 198, 199,
406 106, 185, 186, 93, 216, 109, 162, 93, 227, 319,
407 228, 96, 117, 35, 119, 243, 123, 284, 216, 237,
408 47, 227, 387, 228, 96, 220, 221, 222, 223, 224,
409 6, 7, 167, 260, 261, 262, 263, 264, 265, 266,
410 267, 268, 268, 268, 268, 283, 31, 35, 285, 286,
411 287, 171, 101, 189, 190, 30, 139, 139, 139, 288,
412 289, 6, 6, 7, 64, 215, 173, 101, 362, 268,
413 213, 211, 367, 212, 339, 214, 106, 346, 348, 35,
414 101, 352, 354, 168, 169, 187, 188, 253, 247, 106,
415 210, 249, 250, 6, 38, 174, 7, 101, 101, 101,
416 101, 251, 252, 341, 342, 31, 322, 323, 324, 325,
417 326, 327, 328, 329, 331, 332, 333, 334, 335, 336,
418 337, 268, 216, 64, 226, 299, 290, 291, 292, 7,
419 175, 283, 283, 219, 38, 176, 7, 191, 192, 31,
420 66, 7, 364, 365, 163, 177, 344, 255, 257, 345,
421 347, 349, 195, 351, 353, 178, 179, 64, 371, 180,
422 395, 396, 277, 181, 49, 34, 182, 183, 49, 101,
423 52, 31, 184, 242, 52, 53, 248, 101, 254, 53,
424 193, 293, 304, 137, 317, 137, 370, 7, 229, 64,
425 413, 318, 7, 414, 320, 216, 239, 388, 321, 66,
426 411, 230, 231, 232, 233, 234, 235, 225, 236, 218,
427 340, 237, 200, 22, 343, 201, 359, 358, 360, 7,
428 355, 356, 374, 268, 34, 38, 228, 6, 6, 366,
429 6, 6, 394, 66, 375, 372, 101, 377, 67, 6,
430 6, 6, 6, 6, 6, 6, 6, 6, 6, 6,
431 6, 376, 202, 6, 204, 205, 206, 207, 34, 228,
432 378, 379, 380, 228, 382, 66, 228, 228, 228, 228,
433 228, 228, 22, 228, 381, 204, 205, 206, 207, 101,
434 383, 138, 384, 138, 386, 228, 228, 390, 228, 249,
435 34, 268, 268, 409, 361, 410, 397, 67, 277, 398,
436 406, 369, 417, 215, 416, 6, 22, 400, 213, 418,
437 419, 6, 6, 214, 423, 6, 429, 6, 1, 228,
438 50, 426, 228, 159, 113, 425, 120, 215, 427, 61,
439 62, 67, 213, 211, 6, 212, 6, 214, 22, 63,
440 166, 298, 415, 6, 6, 125, 0, 101, 101, 0,
441 247, 228, 210, 7, 7, 7, 7, 7, 0, 7,
442 216, 0, 38, 67, 7, 7, 7, 7, 7, 7,
443 7, 7, 7, 7, 7, 7, 7, 0, 0, 7,
444 229, 206, 207, 0, 216, 0, 361, 361, 0, 0,
445 197, 0, 0, 230, 231, 232, 233, 234, 235, 0,
446 236, 0, 0, 7, 7, 7, 7, 7, 7, 7,
447 7, 7, 7, 7, 7, 0, 361, 0, 0, 361,
448 7, 7, 7, 7, 7, 7, 7, 7, 7, 7,
449 7, 7, 0, 7, 7, 7, 7, 7, 7, 0,
450 0, 7, 368, 7, 0, 0, 0, 0, 237, 0,
451 0, 7, 7, 7, 7, 7, 7, 7, 7, 7,
452 7, 0, 7, 0, 302, 0, 0, 0, 0, 7,
453 7, 305, 306, 307, 308, 309, 310, 311, 312, 313,
454 315, 316, 0, 228, 228, 228, 228, 0, 0, 228,
455 228, 228, 228, 228, 228, 228, 228, 228, 228, 0,
456 0, 0, 0, 0, 0, 0, 0, 228, 228, 0,
457 228, 228, 228, 228, 228, 228, 228, 228, 228, 228,
458 228, 228, 228, 228, 228, 228, 228, 228, 228, 0,
459 0, 228, 228, 228, 228, 228, 228, 228, 228, 228,
460 228, 228, 228, 228, 228, 0, 0, 0, 0, 0,
461 228, 228, 228, 228, 228, 228, 228, 228, 228, 228,
462 228, 0, 19, 228, 228, 228, 228, 250, 0, 228,
463 228, 0, 228, 0, 0, 228, 228, 228, 228, 228,
464 228, 228, 228, 228, 228, 228, 228, 228, 228, 228,
465 18, 0, 0, 228, 228, 228, 228, 228, 228, 228,
466 250, 0, 0, 0, 250, 48, 0, 250, 250, 250,
467 250, 250, 250, 0, 250, 0, 0, 0, 0, 0,
468 0, 19, 0, 72, 0, 0, 250, 250, 0, 250,
469 230, 231, 232, 233, 234, 235, 0, 236, 0, 245,
470 246, 204, 205, 206, 207, 0, 215, 0, 0, 18,
471 0, 213, 211, 208, 212, 19, 214, 0, 0, 0,
472 250, 0, 0, 250, 48, 0, 0, 54, 55, 247,
473 0, 210, 0, 402, 0, 0, 0, 403, 404, 0,
474 215, 0, 72, 18, 224, 213, 211, 19, 212, 0,
475 214, 0, 250, 0, 0, 0, 0, 0, 48, 0,
476 0, 0, 0, 216, 57, 58, 59, 60, 61, 62,
477 63, 64, 65, 66, 67, 18, 72, 224, 0, 0,
478 0, 224, 0, 0, 224, 224, 224, 224, 224, 224,
479 48, 224, 0, 79, 80, 81, 82, 216, 0, 0,
480 0, 0, 0, 224, 224, 0, 224, 0, 72, 0,
481 0, 83, 84, 85, 86, 87, 88, 89, 90, 91,
482 0, 0, 0, 0, 215, 0, 0, 0, 0, 213,
483 211, 0, 212, 0, 214, 0, 0, 224, 0, 0,
484 224, 0, 0, 0, 0, 0, 0, 247, 0, 210,
485 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
486 0, 0, 0, 0, 0, 0, 0, 0, 0, 224,
487 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
488 0, 216, 0, 0, 250, 250, 250, 250, 0, 0,
489 250, 250, 250, 250, 250, 250, 250, 250, 250, 250,
490 0, 0, 225, 0, 0, 0, 0, 0, 250, 250,
491 0, 250, 250, 250, 250, 250, 250, 250, 250, 250,
492 250, 250, 250, 250, 250, 250, 250, 250, 250, 250,
493 0, 0, 250, 250, 250, 250, 250, 250, 250, 250,
494 250, 250, 250, 250, 250, 250, 0, 0, 0, 0,
495 0, 250, 250, 250, 250, 250, 250, 250, 250, 250,
496 250, 250, 275, 0, 250, 250, 250, 250, 0, 0,
497 250, 250, 0, 250, 0, 0, 250, 250, 250, 250,
498 250, 250, 250, 250, 250, 250, 250, 250, 250, 250,
499 250, 0, 0, 0, 250, 250, 250, 250, 250, 250,
500 250, 224, 224, 224, 224, 0, 0, 224, 224, 224,
501 224, 224, 224, 224, 224, 224, 224, 0, 202, 203,
502 204, 205, 206, 207, 0, 224, 224, 0, 224, 224,
503 224, 224, 224, 224, 224, 224, 224, 224, 224, 224,
504 224, 224, 224, 224, 224, 224, 224, 8, 0, 224,
505 224, 224, 224, 224, 224, 224, 224, 224, 224, 224,
506 224, 224, 224, 0, 0, 0, 0, 0, 224, 224,
507 224, 224, 224, 224, 224, 224, 224, 224, 224, 0,
508 0, 224, 224, 224, 224, 225, 0, 224, 224, 0,
509 224, 0, 0, 224, 224, 224, 224, 224, 224, 224,
510 224, 224, 224, 224, 224, 224, 224, 224, 0, 0,
511 0, 224, 224, 224, 224, 224, 224, 224, 225, 0,
512 0, 0, 225, 0, 0, 225, 225, 225, 225, 225,
513 225, 0, 225, 0, 0, 0, 202, 203, 204, 205,
514 206, 207, 0, 0, 225, 225, 0, 225, 0, 0,
515 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
516 30, 0, 0, 0, 57, 58, 59, 60, 61, 62,
517 63, 64, 65, 66, 67, 0, 0, 0, 225, 0,
518 0, 225, 0, 0, 0, 0, 0, 54, 55, 0,
519 0, 0, 0, 79, 80, 81, 82, 0, 0, 0,
520 0, 0, 226, 0, 0, 0, 0, 0, 0, 0,
521 225, 83, 84, 85, 86, 87, 88, 89, 90, 91,
522 0, 0, 0, 0, 57, 58, 59, 60, 61, 62,
523 63, 64, 65, 66, 67, 226, 0, 0, 0, 226,
524 0, 0, 226, 226, 226, 226, 226, 226, 0, 226,
525 0, 0, 0, 79, 80, 81, 82, 0, 0, 0,
526 0, 226, 226, 0, 226, 0, 0, 0, 0, 0,
527 0, 83, 84, 85, 86, 87, 88, 89, 90, 91,
528 0, 0, 215, 0, 0, 0, 0, 213, 211, 208,
529 212, 0, 214, 0, 0, 226, 0, 0, 226, 0,
530 0, 0, 0, 215, 0, 209, 0, 210, 213, 211,
531 208, 212, 0, 214, 0, 0, 0, 0, 0, 0,
532 0, 0, 0, 0, 0, 0, 247, 226, 210, 0,
533 0, 0, 0, 0, 0, 0, 0, 0, 0, 216,
534 0, 0, 225, 225, 225, 225, 0, 0, 225, 225,
535 225, 225, 225, 225, 225, 225, 225, 225, 0, 0,
536 216, 0, 0, 0, 0, 0, 225, 225, 0, 225,
537 225, 225, 225, 225, 225, 225, 225, 225, 225, 225,
538 225, 225, 225, 225, 225, 225, 225, 225, 0, 0,
539 225, 225, 225, 225, 225, 225, 225, 225, 225, 225,
540 225, 225, 225, 225, 0, 0, 0, 0, 0, 225,
541 225, 225, 225, 225, 225, 225, 225, 225, 225, 225,
542 0, 0, 225, 225, 225, 225, 0, 0, 225, 225,
543 0, 225, 0, 0, 225, 225, 225, 225, 225, 225,
544 225, 225, 225, 225, 225, 225, 225, 225, 225, 0,
545 0, 0, 225, 225, 225, 225, 225, 225, 225, 226,
546 226, 226, 226, 0, 0, 226, 226, 226, 226, 226,
547 226, 226, 226, 226, 226, 0, 0, 0, 0, 0,
548 0, 0, 0, 226, 226, 0, 226, 226, 226, 226,
549 226, 226, 226, 226, 226, 226, 226, 226, 226, 226,
550 226, 226, 226, 226, 226, 0, 0, 226, 226, 226,
551 226, 226, 226, 226, 226, 226, 226, 226, 226, 226,
552 226, 0, 0, 0, 0, 0, 226, 226, 226, 226,
553 226, 226, 226, 226, 226, 226, 226, 0, 0, 226,
554 226, 226, 226, 227, 0, 226, 226, 200, 226, 0,
555 201, 226, 226, 226, 226, 226, 226, 226, 226, 226,
556 226, 226, 226, 226, 226, 226, 0, 0, 0, 226,
557 226, 226, 226, 226, 226, 226, 227, 0, 0, 0,
558 227, 0, 0, 227, 227, 227, 227, 227, 227, 0,
559 227, 0, 0, 0, 202, 203, 204, 205, 206, 207,
560 0, 0, 227, 227, 0, 227, 0, 0, 0, 0,
561 0, 0, 0, 0, 0, 245, 246, 204, 205, 206,
562 207, 0, 0, 215, 0, 0, 0, 0, 213, 211,
563 208, 212, 0, 214, 0, 0, 227, 0, 196, 227,
564 0, 0, 0, 0, 0, 0, 209, 0, 210, 0,
565 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
566 222, 0, 0, 0, 0, 0, 0, 0, 227, 0,
567 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
568 216, 0, 0, 269, 270, 271, 281, 0, 0, 0,
569 0, 0, 0, 222, 0, 0, 0, 0, 0, 0,
570 222, 222, 0, 222, 222, 222, 0, 0, 0, 0,
571 0, 301, 0, 0, 0, 0, 0, 0, 0, 222,
572 222, 0, 222, 215, 0, 0, 0, 0, 213, 211,
573 0, 212, 0, 214, 0, 0, 0, 215, 0, 0,
574 0, 0, 215, 215, 215, 215, 247, 215, 210, 0,
575 0, 0, 0, 222, 0, 330, 222, 0, 0, 215,
576 215, 0, 215, 338, 213, 211, 0, 212, 0, 214,
577 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
578 216, 0, 247, 0, 210, 222, 0, 0, 0, 0,
579 0, 0, 0, 0, 215, 0, 0, 0, 0, 0,
580 227, 227, 227, 227, 0, 0, 227, 227, 227, 227,
581 227, 227, 227, 227, 227, 227, 216, 0, 0, 0,
582 0, 0, 196, 0, 227, 227, 0, 227, 227, 227,
583 227, 227, 227, 227, 227, 227, 227, 227, 227, 227,
584 227, 227, 227, 227, 227, 227, 0, 0, 227, 227,
585 227, 227, 227, 227, 227, 227, 227, 227, 227, 227,
586 227, 227, 0, 0, 0, 385, 0, 227, 227, 227,
587 227, 227, 227, 227, 227, 227, 227, 227, 0, 0,
588 227, 227, 227, 227, 0, 0, 227, 227, 200, 227,
589 0, 201, 227, 227, 227, 227, 227, 227, 227, 227,
590 227, 227, 227, 227, 227, 227, 227, 0, 0, 0,
591 227, 227, 227, 227, 227, 227, 227, 222, 222, 222,
592 222, 0, 0, 222, 222, 222, 222, 222, 222, 222,
593 222, 222, 222, 407, 408, 245, 246, 204, 205, 206,
594 207, 222, 222, 0, 222, 222, 222, 222, 222, 222,
595 222, 222, 222, 222, 222, 222, 222, 222, 222, 222,
596 222, 222, 222, 0, 0, 222, 222, 222, 222, 222,
597 222, 222, 222, 222, 222, 222, 222, 222, 222, 0,
598 0, 0, 0, 0, 222, 222, 222, 222, 222, 222,
599 222, 222, 222, 222, 222, 0, 0, 222, 222, 222,
600 222, 223, 215, 222, 222, 215, 222, 0, 0, 222,
601 222, 222, 222, 222, 222, 222, 222, 222, 222, 222,
602 222, 222, 222, 222, 0, 0, 0, 222, 222, 222,
603 222, 222, 222, 222, 223, 202, 203, 204, 205, 206,
604 207, 223, 223, 0, 223, 223, 223, 0, 0, 215,
605 215, 215, 215, 215, 215, 0, 0, 50, 0, 0,
606 223, 223, 0, 223, 0, 0, 0, 0, 0, 0,
607 0, 245, 0, 204, 205, 206, 207, 0, 0, 0,
608 57, 58, 59, 60, 61, 62, 63, 64, 65, 66,
609 67, 0, 0, 0, 223, 0, 0, 223, 50, 0,
610 0, 50, 51, 0, 0, 0, 0, 0, 0, 79,
611 80, 81, 82, 0, 0, 0, 50, 0, 243, 0,
612 0, 0, 0, 0, 0, 0, 223, 83, 84, 85,
613 86, 87, 88, 89, 90, 91, 0, 0, 0, 0,
614 0, 0, 0, 51, 0, 0, 51, 0, 0, 0,
615 50, 243, 0, 0, 0, 0, 0, 0, 243, 243,
616 0, 51, 243, 0, 0, 0, 0, 0, 0, 0,
617 0, 0, 0, 0, 0, 0, 0, 243, 243, 0,
618 243, 0, 50, 0, 0, 0, 0, 0, 0, 0,
619 0, 0, 0, 0, 0, 51, 0, 0, 0, 0,
620 215, 0, 0, 0, 0, 213, 211, 0, 212, 0,
621 214, 243, 0, 0, 243, 0, 0, 0, 0, 0,
622 0, 0, 0, 247, 0, 210, 0, 51, 0, 0,
623 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
624 0, 0, 0, 243, 0, 0, 0, 0, 0, 0,
625 0, 0, 0, 0, 0, 0, 0, 216, 223, 223,
626 223, 223, 0, 0, 223, 223, 223, 223, 223, 223,
627 223, 223, 223, 223, 0, 0, 0, 0, 0, 0,
628 0, 0, 223, 223, 0, 223, 223, 223, 223, 223,
629 223, 223, 223, 223, 223, 223, 223, 223, 223, 223,
630 223, 223, 223, 223, 0, 0, 223, 223, 223, 223,
631 223, 223, 223, 223, 223, 223, 223, 223, 223, 223,
632 0, 50, 0, 0, 0, 223, 223, 223, 223, 223,
633 223, 223, 223, 223, 223, 223, 0, 0, 223, 223,
634 223, 223, 0, 0, 223, 223, 0, 223, 50, 0,
635 223, 223, 223, 223, 223, 223, 223, 223, 223, 223,
636 223, 223, 223, 223, 223, 0, 51, 0, 223, 223,
637 223, 223, 223, 223, 223, 243, 243, 243, 243, 0,
638 0, 243, 243, 243, 243, 243, 243, 243, 243, 243,
639 243, 0, 0, 51, 0, 0, 0, 0, 0, 243,
640 243, 0, 243, 243, 243, 243, 243, 243, 243, 243,
641 243, 243, 243, 243, 243, 243, 243, 243, 243, 243,
642 243, 0, 0, 243, 243, 243, 243, 243, 243, 243,
643 243, 243, 243, 243, 243, 243, 243, 15, 0, 0,
644 0, 0, 243, 243, 243, 243, 243, 243, 243, 243,
645 243, 243, 243, 421, 0, 243, 243, 243, 243, 245,
646 0, 243, 243, 0, 243, 0, 0, 243, 243, 243,
647 243, 243, 243, 243, 243, 243, 243, 243, 243, 243,
648 243, 243, 0, 0, 0, 243, 243, 243, 243, 243,
649 243, 243, 245, 0, 0, 0, 15, 0, 0, 245,
650 245, 0, 0, 245, 0, 0, 0, 0, 0, 0,
651 0, 0, 202, 203, 204, 205, 206, 207, 245, 245,
652 0, 245, 0, 0, 0, 0, 0, 0, 0, 0,
653 15, 0, 0, 196, 0, 0, 0, 0, 0, 0,
654 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
655 0, 0, 245, 0, 0, 245, 0, 0, 0, 0,
656 0, 0, 15, 0, 0, 0, 0, 0, 0, 0,
657 0, 0, 0, 0, 0, 0, 244, 0, 0, 0,
658 0, 0, 0, 0, 245, 0, 0, 0, 0, 0,
659 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
660 0, 0, 0, 0, 0, 0, 0, 0, 0, 244,
661 0, 0, 0, 0, 0, 0, 244, 244, 0, 0,
662 244, 0, 0, 0, 0, 0, 0, 0, 0, 0,
663 0, 0, 0, 0, 0, 244, 244, 0, 244, 0,
664 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
665 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
666 0, 0, 0, 0, 0, 0, 0, 0, 0, 244,
667 0, 0, 244, 0, 0, 0, 0, 0, 0, 0,
668 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
669 0, 0, 0, 0, 196, 0, 0, 0, 0, 0,
670 196, 244, 0, 0, 0, 196, 0, 0, 0, 0,
671 0, 0, 0, 0, 0, 0, 245, 245, 245, 245,
672 0, 0, 245, 245, 245, 245, 245, 245, 245, 245,
673 245, 245, 0, 0, 0, 0, 0, 0, 0, 196,
674 245, 245, 0, 245, 245, 245, 245, 245, 245, 245,
675 245, 245, 245, 245, 245, 245, 245, 245, 245, 245,
676 245, 245, 0, 0, 245, 245, 245, 245, 245, 245,
677 245, 245, 245, 245, 245, 245, 245, 245, 0, 0,
678 0, 0, 0, 245, 245, 245, 245, 245, 245, 245,
679 245, 245, 245, 245, 0, 0, 245, 245, 245, 245,
680 0, 0, 245, 245, 0, 245, 0, 0, 245, 245,
681 245, 245, 245, 245, 245, 245, 245, 245, 245, 245,
682 245, 245, 245, 0, 0, 0, 245, 245, 245, 245,
683 245, 245, 245, 244, 244, 244, 244, 0, 0, 244,
684 244, 244, 244, 244, 244, 244, 244, 244, 244, 0,
685 0, 0, 0, 0, 0, 0, 0, 244, 244, 0,
686 244, 244, 244, 244, 244, 244, 244, 244, 244, 244,
687 244, 244, 244, 244, 244, 244, 244, 244, 244, 0,
688 0, 244, 244, 244, 244, 244, 244, 244, 244, 244,
689 244, 244, 244, 244, 244, 16, 0, 0, 0, 0,
690 244, 244, 244, 244, 244, 244, 244, 244, 244, 244,
691 244, 0, 0, 244, 244, 244, 244, 242, 0, 244,
692 244, 0, 244, 0, 0, 244, 244, 244, 244, 244,
693 244, 244, 244, 244, 244, 244, 244, 244, 244, 244,
694 0, 0, 0, 244, 244, 244, 244, 244, 244, 244,
695 242, 0, 0, 0, 16, 0, 0, 242, 242, 0,
696 0, 242, 0, 0, 0, 0, 0, 0, 0, 0,
697 0, 0, 0, 0, 0, 0, 242, 242, 0, 242,
698 0, 0, 0, 0, 0, 0, 0, 0, 16, 0,
699 0, 197, 0, 0, 0, 0, 0, 0, 0, 0,
700 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
701 242, 0, 0, 242, 0, 0, 0, 0, 0, 0,
702 16, 0, 0, 0, 0, 0, 0, 0, 0, 0,
703 0, 0, 0, 0, 151, 0, 0, 0, 0, 0,
704 0, 0, 242, 0, 0, 0, 0, 0, 59, 0,
705 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
706 0, 0, 0, 0, 0, 0, 0, 151, 0, 0,
707 0, 0, 0, 0, 151, 151, 0, 151, 151, 151,
708 0, 0, 0, 0, 0, 0, 0, 0, 0, 59,
709 0, 0, 59, 151, 0, 0, 151, 0, 0, 0,
710 0, 0, 0, 0, 0, 0, 0, 59, 0, 0,
711 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
712 0, 0, 0, 0, 0, 0, 0, 151, 0, 0,
713 151, 0, 0, 0, 0, 0, 0, 215, 0, 0,
714 0, 59, 213, 211, 0, 212, 0, 214, 0, 0,
715 0, 0, 197, 0, 0, 0, 0, 0, 197, 151,
716 247, 0, 210, 197, 0, 0, 0, 0, 0, 0,
717 0, 0, 0, 59, 242, 242, 242, 242, 0, 0,
718 242, 242, 242, 242, 242, 242, 242, 242, 242, 242,
719 0, 0, 0, 0, 216, 0, 0, 197, 242, 242,
720 0, 242, 242, 242, 242, 242, 242, 242, 242, 242,
721 242, 242, 242, 242, 242, 242, 242, 242, 242, 242,
722 0, 0, 242, 242, 242, 242, 242, 242, 242, 242,
723 242, 242, 242, 242, 242, 242, 0, 0, 0, 0,
724 0, 242, 242, 242, 242, 242, 242, 242, 242, 242,
725 242, 242, 0, 0, 242, 242, 242, 242, 0, 0,
726 242, 242, 0, 242, 0, 0, 242, 242, 242, 242,
727 242, 242, 242, 242, 242, 242, 242, 242, 242, 242,
728 242, 0, 0, 0, 242, 242, 242, 242, 242, 242,
729 242, 151, 151, 151, 151, 0, 0, 151, 0, 151,
730 151, 151, 151, 151, 151, 151, 151, 0, 0, 0,
731 0, 0, 59, 0, 0, 151, 151, 0, 151, 151,
732 151, 151, 151, 151, 151, 151, 151, 151, 151, 151,
733 151, 151, 151, 151, 151, 151, 0, 0, 0, 59,
734 151, 151, 151, 151, 151, 151, 151, 151, 151, 151,
735 151, 151, 151, 151, 151, 151, 151, 151, 151, 151,
736 151, 151, 151, 151, 151, 151, 151, 151, 151, 0,
737 0, 151, 151, 151, 151, 247, 0, 151, 151, 0,
738 0, 0, 0, 0, 0, 0, 0, 389, 0, 151,
739 151, 151, 151, 151, 151, 151, 151, 151, 59, 0,
740 0, 151, 151, 151, 151, 151, 151, 151, 247, 0,
741 0, 0, 0, 0, 0, 247, 247, 0, 0, 247,
742 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
743 0, 0, 0, 0, 247, 0, 0, 0, 0, 0,
744 0, 0, 0, 0, 0, 0, 0, 0, 0, 202,
745 203, 204, 205, 206, 207, 0, 0, 0, 0, 0,
746 0, 0, 0, 0, 0, 0, 0, 0, 247, 0,
747 0, 247, 0, 0, 0, 0, 0, 0, 0, 0,
748 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
749 0, 0, 246, 0, 0, 0, 0, 0, 0, 0,
750 247, 0, 0, 0, 0, 0, 0, 0, 0, 0,
751 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
752 0, 0, 0, 0, 0, 246, 0, 0, 0, 0,
753 0, 0, 246, 246, 0, 0, 246, 0, 0, 0,
754 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
755 0, 246, 0, 0, 0, 0, 0, 0, 0, 0,
756 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
757 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
758 0, 0, 0, 0, 0, 246, 0, 0, 246, 0,
759 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
760 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
761 0, 0, 0, 0, 0, 0, 0, 246, 0, 0,
762 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
763 0, 0, 247, 247, 247, 247, 0, 0, 247, 247,
764 247, 247, 247, 247, 247, 247, 247, 247, 0, 0,
765 0, 0, 0, 0, 0, 0, 247, 247, 0, 247,
766 247, 247, 247, 247, 247, 247, 247, 247, 247, 247,
767 247, 247, 247, 247, 247, 247, 247, 247, 0, 0,
768 247, 247, 247, 247, 247, 247, 247, 247, 247, 247,
769 247, 247, 247, 247, 0, 0, 0, 0, 0, 247,
770 247, 247, 247, 247, 247, 247, 247, 247, 247, 247,
771 0, 0, 247, 247, 247, 247, 0, 0, 247, 247,
772 0, 247, 0, 0, 247, 247, 247, 247, 0, 0,
773 247, 247, 247, 247, 247, 247, 247, 247, 247, 0,
774 0, 0, 247, 247, 247, 247, 247, 247, 247, 246,
775 246, 246, 246, 0, 0, 246, 246, 246, 246, 246,
776 246, 246, 246, 246, 246, 0, 0, 0, 0, 0,
777 0, 0, 0, 246, 246, 0, 246, 246, 246, 246,
778 246, 246, 246, 246, 246, 246, 246, 246, 246, 246,
779 246, 246, 246, 246, 246, 0, 0, 246, 246, 246,
780 246, 246, 246, 246, 246, 246, 246, 246, 246, 246,
781 246, 0, 0, 0, 0, 0, 246, 246, 246, 246,
782 246, 246, 246, 246, 246, 246, 246, 0, 0, 246,
783 246, 246, 246, 152, 0, 246, 246, 0, 246, 0,
784 0, 246, 246, 246, 246, 0, 0, 246, 246, 246,
785 246, 246, 246, 246, 246, 246, 0, 0, 0, 246,
786 246, 246, 246, 246, 246, 246, 152, 0, 0, 0,
787 0, 0, 0, 152, 152, 0, 152, 152, 152, 0,
788 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
789 0, 0, 152, 0, 0, 152, 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 55, 0, 0, 0, 0, 0, 152, 0, 0, 152,
793 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
794 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
795 248, 0, 0, 0, 0, 0, 0, 0, 152, 0,
796 0, 55, 0, 0, 55, 0, 0, 0, 0, 0,
797 0, 0, 0, 0, 0, 0, 0, 0, 0, 55,
798 0, 0, 0, 248, 0, 0, 0, 0, 0, 0,
799 248, 248, 0, 0, 248, 0, 0, 0, 0, 0,
800 0, 0, 0, 0, 0, 0, 0, 0, 0, 248,
801 0, 0, 0, 55, 0, 0, 0, 0, 0, 0,
802 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
803 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
804 0, 0, 0, 248, 0, 55, 248, 0, 0, 0,
805 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
806 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
807 0, 0, 0, 0, 0, 248, 0, 0, 0, 0,
808 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
809 152, 152, 152, 152, 0, 0, 152, 0, 152, 152,
810 152, 152, 152, 152, 152, 152, 0, 0, 0, 0,
811 0, 0, 0, 0, 152, 152, 0, 152, 152, 152,
812 152, 152, 152, 152, 152, 152, 152, 152, 152, 152,
813 152, 152, 152, 152, 152, 0, 0, 0, 0, 152,
814 152, 152, 152, 152, 152, 152, 152, 152, 152, 152,
815 152, 152, 152, 152, 152, 152, 152, 152, 152, 152,
816 152, 152, 152, 152, 152, 152, 152, 152, 0, 0,
817 152, 152, 152, 152, 0, 0, 152, 152, 0, 0,
818 0, 0, 0, 0, 55, 0, 0, 0, 152, 152,
819 152, 152, 152, 152, 152, 152, 152, 0, 0, 0,
820 152, 152, 152, 152, 152, 152, 152, 248, 248, 248,
821 248, 55, 0, 248, 248, 248, 248, 248, 248, 248,
822 248, 248, 248, 0, 0, 0, 0, 0, 0, 0,
823 0, 248, 248, 0, 248, 248, 248, 248, 248, 248,
824 248, 248, 248, 248, 248, 248, 248, 248, 248, 248,
825 248, 248, 248, 0, 0, 248, 248, 248, 248, 248,
826 248, 248, 248, 248, 248, 248, 248, 248, 248, 55,
827 55, 0, 0, 0, 248, 248, 248, 248, 248, 248,
828 248, 248, 248, 248, 248, 0, 0, 248, 248, 248,
829 248, 249, 0, 248, 248, 0, 248, 0, 0, 248,
830 248, 0, 0, 0, 0, 248, 248, 248, 248, 248,
831 248, 248, 248, 248, 0, 0, 0, 248, 248, 248,
832 248, 248, 248, 248, 249, 0, 0, 0, 0, 0,
833 0, 249, 249, 0, 0, 249, 0, 0, 0, 0,
834 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
835 249, 0, 0, 0, 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, 248, 0, 0, 249, 0, 0, 249, 0, 0,
839 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
840 0, 0, 0, 0, 0, 0, 0, 0, 138, 0,
841 0, 0, 0, 0, 0, 0, 249, 0, 0, 0,
842 0, 0, 248, 0, 0, 248, 0, 0, 0, 0,
843 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
844 248, 138, 0, 0, 0, 0, 0, 0, 138, 138,
845 0, 138, 138, 138, 0, 0, 0, 0, 0, 0,
846 0, 0, 0, 0, 0, 0, 0, 138, 0, 0,
847 138, 0, 0, 0, 248, 0, 0, 0, 0, 0,
848 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
849 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
850 0, 138, 0, 0, 138, 0, 248, 0, 0, 0,
851 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
852 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
853 0, 0, 0, 138, 0, 0, 0, 0, 0, 0,
854 0, 0, 0, 0, 0, 0, 0, 0, 249, 249,
855 249, 249, 0, 0, 249, 249, 249, 249, 249, 249,
856 249, 249, 249, 249, 0, 0, 0, 0, 0, 0,
857 0, 0, 249, 249, 0, 249, 249, 249, 249, 249,
858 249, 249, 249, 249, 249, 249, 249, 249, 249, 249,
859 249, 249, 249, 249, 0, 0, 249, 249, 249, 249,
860 249, 249, 249, 249, 249, 249, 249, 249, 249, 249,
861 0, 0, 0, 0, 0, 249, 249, 249, 249, 249,
862 249, 249, 249, 249, 249, 249, 0, 0, 249, 249,
863 249, 249, 0, 0, 249, 249, 0, 249, 0, 0,
864 0, 249, 0, 0, 0, 248, 249, 249, 249, 249,
865 249, 249, 249, 249, 249, 0, 0, 0, 249, 249,
866 249, 249, 249, 249, 249, 138, 138, 138, 138, 0,
867 0, 138, 248, 138, 138, 138, 138, 138, 138, 138,
868 138, 0, 0, 248, 0, 0, 248, 0, 0, 138,
869 138, 0, 138, 138, 138, 138, 138, 138, 138, 138,
870 138, 138, 138, 138, 138, 138, 138, 138, 138, 138,
871 0, 0, 0, 0, 138, 138, 138, 138, 138, 138,
872 138, 138, 138, 138, 138, 138, 138, 0, 0, 0,
873 248, 248, 138, 138, 138, 138, 138, 138, 138, 138,
874 138, 138, 138, 0, 0, 138, 138, 138, 138, 143,
875 0, 138, 138, 0, 0, 0, 0, 0, 0, 0,
876 0, 0, 0, 138, 138, 138, 138, 138, 138, 138,
877 138, 138, 0, 0, 0, 138, 138, 138, 138, 138,
878 138, 138, 143, 0, 0, 0, 0, 0, 0, 143,
879 143, 0, 0, 143, 0, 0, 0, 0, 0, 0,
880 0, 0, 0, 0, 0, 0, 0, 0, 143, 0,
881 0, 143, 0, 0, 0, 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, 249,
884 0, 0, 143, 0, 0, 143, 0, 0, 0, 0,
885 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
886 0, 0, 0, 0, 0, 0, 147, 0, 0, 0,
887 0, 0, 0, 0, 143, 0, 0, 0, 0, 0,
888 249, 0, 0, 249, 0, 0, 0, 0, 0, 0,
889 0, 0, 0, 0, 0, 0, 0, 0, 249, 147,
890 0, 0, 0, 0, 0, 0, 147, 147, 0, 0,
891 147, 0, 0, 0, 0, 0, 0, 0, 0, 0,
892 0, 0, 0, 0, 0, 147, 0, 0, 0, 0,
893 0, 0, 249, 0, 0, 0, 0, 0, 0, 0,
894 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
895 0, 0, 0, 0, 0, 0, 0, 0, 0, 147,
896 0, 0, 147, 0, 249, 0, 0, 0, 0, 0,
897 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
898 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
899 0, 147, 0, 0, 0, 0, 0, 0, 0, 0,
900 0, 0, 0, 0, 0, 0, 143, 143, 143, 143,
901 0, 0, 143, 0, 143, 143, 143, 143, 143, 143,
902 143, 143, 0, 0, 0, 0, 0, 0, 0, 0,
903 143, 143, 0, 143, 143, 143, 143, 143, 143, 143,
904 143, 143, 143, 143, 143, 143, 143, 143, 143, 143,
905 143, 0, 0, 0, 0, 143, 143, 143, 143, 143,
906 143, 143, 143, 143, 143, 143, 143, 143, 0, 0,
907 0, 0, 0, 143, 143, 143, 143, 143, 143, 143,
908 143, 143, 143, 143, 0, 0, 143, 143, 143, 143,
909 0, 0, 143, 143, 0, 32, 0, 0, 0, 0,
910 0, 0, 0, 249, 143, 143, 143, 143, 143, 143,
911 143, 143, 143, 0, 0, 0, 143, 143, 143, 143,
912 143, 143, 143, 147, 147, 147, 147, 33, 0, 147,
913 249, 147, 147, 147, 147, 147, 147, 147, 147, 0,
914 0, 249, 0, 0, 249, 0, 0, 147, 147, 0,
915 147, 147, 147, 147, 147, 147, 147, 147, 147, 147,
916 147, 147, 147, 147, 147, 147, 147, 147, 0, 0,
917 0, 0, 147, 147, 147, 147, 147, 147, 147, 147,
918 147, 147, 147, 147, 147, 0, 0, 0, 0, 249,
919 147, 147, 147, 147, 147, 147, 147, 147, 147, 147,
920 147, 0, 0, 147, 147, 147, 147, 91, 0, 147,
921 147, 0, 0, 0, 0, 0, 0, 0, 0, 0,
922 0, 147, 147, 147, 147, 147, 147, 147, 147, 147,
923 0, 0, 0, 147, 147, 147, 147, 147, 147, 147,
924 91, 0, 0, 0, 0, 0, 0, 91, 0, 0,
925 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
926 0, 6, 7, 0, 8, 9, 91, 0, 0, 0,
927 0, 0, 0, 10, 11, 12, 13, 14, 15, 16,
928 17, 18, 19, 20, 21, 0, 0, 22, 0, 0,
929 0, 0, 0, 0, 58, 0, 0, 0, 0, 0,
930 91, 0, 0, 91, 0, 0, 0, 0, 0, 0,
931 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
932 0, 0, 0, 0, 93, 0, 0, 0, 0, 0,
933 0, 0, 91, 0, 0, 58, 0, 0, 58, 23,
934 0, 0, 0, 0, 0, 24, 25, 0, 0, 26,
935 0, 27, 0, 58, 0, 0, 0, 93, 0, 0,
936 0, 0, 0, 0, 93, 0, 0, 0, 28, 0,
937 29, 0, 0, 0, 0, 0, 0, 30, 31, 0,
938 0, 0, 0, 93, 0, 0, 0, 58, 0, 0,
939 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
940 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
941 0, 0, 0, 0, 0, 0, 0, 93, 0, 58,
942 93, 0, 0, 0, 0, 0, 0, 0, 0, 0,
943 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
944 0, 0, 0, 0, 0, 0, 0, 0, 0, 93,
945 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
946 0, 0, 0, 0, 91, 91, 91, 91, 0, 0,
947 91, 0, 91, 91, 91, 91, 91, 91, 91, 91,
948 0, 0, 0, 0, 0, 0, 0, 0, 91, 91,
949 0, 91, 91, 91, 91, 91, 91, 91, 91, 91,
950 91, 91, 91, 91, 91, 91, 91, 91, 91, 0,
951 0, 0, 0, 0, 91, 91, 91, 91, 91, 91,
952 91, 91, 91, 91, 91, 91, 0, 0, 0, 0,
953 0, 91, 91, 91, 91, 91, 91, 91, 91, 91,
954 91, 91, 0, 0, 91, 91, 91, 91, 0, 0,
955 91, 91, 0, 0, 0, 0, 6, 0, 58, 0,
956 0, 0, 91, 91, 91, 91, 91, 91, 91, 91,
957 91, 0, 0, 0, 91, 91, 91, 91, 91, 91,
958 91, 93, 93, 93, 93, 58, 0, 93, 6, 93,
959 93, 93, 93, 93, 93, 93, 93, 0, 0, 0,
960 0, 0, 0, 0, 0, 93, 93, 0, 93, 93,
961 93, 93, 93, 93, 93, 93, 93, 93, 93, 93,
962 93, 93, 93, 93, 93, 93, 0, 0, 0, 0,
963 0, 93, 93, 93, 93, 93, 93, 93, 93, 93,
964 93, 93, 93, 0, 58, 0, 0, 0, 93, 93,
965 93, 93, 93, 93, 93, 93, 93, 93, 93, 0,
966 0, 93, 93, 93, 93, 95, 0, 93, 93, 0,
967 0, 0, 0, 0, 0, 0, 0, 0, 0, 93,
968 93, 93, 93, 93, 93, 93, 93, 93, 0, 0,
969 0, 93, 93, 93, 93, 93, 93, 93, 95, 0,
970 0, 0, 0, 0, 0, 95, 0, 0, 0, 0,
971 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
972 0, 0, 6, 6, 95, 6, 6, 0, 0, 0,
973 0, 0, 0, 0, 6, 6, 6, 6, 6, 6,
974 6, 6, 6, 6, 6, 6, 0, 0, 6, 0,
975 0, 0, 57, 0, 0, 0, 0, 0, 95, 0,
976 0, 95, 0, 0, 0, 0, 0, 0, 0, 0,
977 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
978 0, 0, 99, 0, 0, 0, 0, 0, 0, 0,
979 95, 0, 0, 57, 0, 0, 57, 0, 0, 0,
980 6, 0, 0, 0, 0, 0, 6, 6, 0, 0,
981 6, 57, 6, 0, 0, 99, 0, 0, 0, 0,
982 0, 0, 99, 0, 0, 0, 0, 0, 0, 6,
983 0, 6, 0, 0, 0, 0, 0, 0, 6, 6,
984 0, 99, 0, 0, 0, 57, 0, 0, 0, 0,
985 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
986 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
987 0, 0, 0, 0, 0, 99, 0, 57, 99, 0,
988 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
989 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
990 0, 0, 0, 0, 0, 0, 0, 99, 0, 0,
991 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
992 0, 0, 95, 95, 95, 95, 0, 0, 95, 0,
993 95, 95, 95, 95, 95, 95, 95, 95, 0, 0,
994 0, 0, 0, 0, 0, 0, 95, 95, 0, 95,
995 95, 95, 95, 95, 95, 95, 95, 95, 95, 95,
996 95, 95, 95, 95, 95, 95, 95, 0, 0, 0,
997 0, 0, 95, 95, 95, 95, 95, 95, 95, 95,
998 95, 95, 95, 95, 0, 0, 0, 0, 0, 95,
999 95, 95, 95, 95, 95, 95, 95, 95, 95, 95,
1000 0, 0, 95, 95, 95, 95, 0, 0, 95, 95,
1001 0, 0, 0, 0, 0, 0, 57, 0, 0, 0,
1002 95, 95, 95, 95, 95, 95, 95, 95, 95, 0,
1003 0, 0, 95, 95, 95, 95, 95, 95, 95, 99,
1004 99, 99, 99, 57, 0, 99, 0, 99, 99, 99,
1005 99, 99, 99, 99, 99, 0, 0, 0, 0, 0,
1006 0, 0, 0, 99, 99, 0, 99, 99, 99, 99,
1007 99, 99, 99, 99, 99, 99, 99, 99, 99, 99,
1008 99, 99, 99, 99, 0, 0, 0, 0, 0, 99,
1009 99, 99, 99, 99, 99, 99, 99, 99, 99, 99,
1010 99, 0, 57, 0, 0, 0, 99, 99, 99, 99,
1011 99, 99, 99, 99, 99, 99, 99, 0, 0, 99,
1012 99, 99, 99, 97, 0, 99, 99, 0, 0, 0,
1013 0, 0, 0, 0, 0, 0, 0, 99, 99, 99,
1014 99, 99, 99, 99, 99, 99, 0, 0, 0, 99,
1015 99, 99, 99, 99, 99, 99, 97, 0, 0, 0,
1016 0, 0, 0, 97, 0, 0, 0, 0, 0, 0,
1017 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1018 0, 0, 97, 0, 0, 0, 0, 0, 0, 0,
1019 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1020 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1021 0, 0, 0, 0, 0, 0, 97, 0, 0, 97,
1022 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1023 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1024 87, 0, 0, 0, 0, 0, 0, 0, 97, 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, 0, 87, 0, 0, 0, 0, 0, 0,
1028 87, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1029 0, 0, 0, 0, 0, 0, 0, 0, 0, 87,
1030 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1031 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1032 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1033 0, 0, 0, 87, 0, 0, 87, 0, 0, 0,
1034 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1035 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1036 0, 0, 0, 0, 0, 87, 0, 0, 0, 0,
1037 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1038 97, 97, 97, 97, 0, 0, 97, 0, 97, 97,
1039 97, 97, 97, 97, 97, 97, 0, 0, 0, 0,
1040 0, 0, 0, 0, 97, 97, 0, 97, 97, 97,
1041 97, 97, 97, 97, 97, 97, 97, 97, 97, 97,
1042 97, 97, 97, 97, 97, 0, 0, 0, 0, 0,
1043 97, 97, 97, 97, 97, 97, 97, 97, 97, 97,
1044 97, 97, 0, 0, 0, 0, 0, 97, 97, 97,
1045 97, 97, 97, 97, 97, 97, 97, 97, 0, 0,
1046 97, 97, 97, 97, 0, 0, 97, 97, 0, 0,
1047 0, 0, 0, 0, 0, 0, 0, 0, 97, 97,
1048 97, 97, 97, 97, 97, 97, 97, 0, 0, 0,
1049 97, 97, 97, 97, 97, 97, 97, 87, 87, 87,
1050 87, 0, 0, 87, 0, 87, 87, 87, 87, 87,
1051 87, 87, 87, 0, 0, 0, 0, 0, 0, 0,
1052 0, 87, 87, 0, 87, 87, 87, 87, 87, 87,
1053 87, 87, 87, 87, 87, 87, 87, 87, 87, 87,
1054 87, 87, 0, 0, 0, 0, 0, 87, 87, 87,
1055 87, 87, 87, 87, 87, 87, 87, 87, 87, 0,
1056 0, 0, 0, 0, 87, 87, 87, 87, 87, 87,
1057 87, 87, 87, 87, 87, 0, 0, 87, 87, 87,
1058 87, 88, 0, 87, 87, 0, 0, 0, 0, 0,
1059 0, 0, 0, 0, 0, 87, 87, 87, 87, 87,
1060 87, 87, 87, 87, 0, 0, 0, 87, 87, 87,
1061 87, 87, 87, 87, 88, 0, 0, 0, 0, 0,
1062 0, 88, 0, 0, 0, 0, 0, 0, 0, 0,
1063 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1064 88, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1065 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1066 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1067 0, 0, 0, 0, 88, 0, 0, 88, 0, 0,
1068 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1069 0, 0, 0, 0, 0, 0, 0, 0, 89, 0,
1070 0, 0, 0, 0, 0, 0, 88, 0, 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, 89, 0, 0, 0, 0, 0, 0, 89, 0,
1074 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1075 0, 0, 0, 0, 0, 0, 0, 89, 0, 0,
1076 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1077 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1078 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1079 0, 89, 0, 0, 89, 0, 0, 0, 0, 0,
1080 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1081 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1082 0, 0, 0, 89, 0, 0, 0, 0, 0, 0,
1083 0, 0, 0, 0, 0, 0, 0, 0, 88, 88,
1084 88, 88, 0, 0, 88, 0, 88, 88, 88, 88,
1085 88, 88, 88, 88, 0, 0, 0, 0, 0, 0,
1086 0, 0, 88, 88, 0, 88, 88, 88, 88, 88,
1087 88, 88, 88, 88, 88, 88, 88, 88, 88, 88,
1088 88, 88, 88, 0, 0, 0, 0, 0, 88, 88,
1089 88, 88, 88, 88, 88, 88, 88, 88, 88, 88,
1090 0, 0, 0, 0, 0, 88, 88, 88, 88, 88,
1091 88, 88, 88, 88, 88, 88, 0, 0, 88, 88,
1092 88, 88, 0, 0, 88, 88, 0, 0, 0, 0,
1093 0, 0, 0, 0, 0, 0, 88, 88, 88, 88,
1094 88, 88, 88, 88, 88, 0, 0, 0, 88, 88,
1095 88, 88, 88, 88, 88, 89, 89, 89, 89, 0,
1096 0, 89, 0, 89, 89, 89, 89, 89, 89, 89,
1097 89, 0, 0, 0, 0, 0, 0, 0, 0, 89,
1098 89, 0, 89, 89, 89, 89, 89, 89, 89, 89,
1099 89, 89, 89, 89, 89, 89, 89, 89, 89, 89,
1100 0, 0, 0, 0, 0, 89, 89, 89, 89, 89,
1101 89, 89, 89, 89, 89, 89, 89, 0, 0, 0,
1102 0, 0, 89, 89, 89, 89, 89, 89, 89, 89,
1103 89, 89, 89, 0, 0, 89, 89, 89, 89, 90,
1104 0, 89, 89, 0, 0, 0, 0, 0, 0, 0,
1105 0, 0, 0, 89, 89, 89, 89, 89, 89, 89,
1106 89, 89, 0, 0, 0, 89, 89, 89, 89, 89,
1107 89, 89, 90, 0, 0, 0, 0, 0, 0, 90,
1108 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1109 0, 0, 0, 0, 0, 0, 0, 0, 90, 0,
1110 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1111 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1112 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1113 0, 0, 90, 0, 0, 90, 0, 0, 0, 0,
1114 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1115 0, 0, 0, 0, 0, 0, 100, 0, 0, 0,
1116 0, 0, 0, 0, 90, 0, 0, 0, 0, 0,
1117 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1118 0, 0, 0, 0, 0, 0, 0, 0, 0, 100,
1119 0, 0, 0, 0, 0, 0, 100, 0, 0, 0,
1120 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1121 0, 0, 0, 0, 0, 100, 0, 0, 0, 0,
1122 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1123 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1124 0, 0, 0, 0, 0, 0, 0, 0, 0, 100,
1125 0, 0, 100, 0, 0, 0, 0, 0, 0, 0,
1126 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1127 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1128 0, 100, 0, 0, 0, 0, 0, 0, 0, 0,
1129 0, 0, 0, 0, 0, 0, 90, 90, 90, 90,
1130 0, 0, 90, 0, 90, 90, 90, 90, 90, 90,
1131 90, 90, 0, 0, 0, 0, 0, 0, 0, 0,
1132 90, 90, 0, 90, 90, 90, 90, 90, 90, 90,
1133 90, 90, 90, 90, 90, 90, 90, 90, 90, 90,
1134 90, 0, 0, 0, 0, 0, 90, 90, 90, 90,
1135 90, 90, 90, 90, 90, 90, 90, 90, 0, 0,
1136 0, 0, 0, 90, 90, 90, 90, 90, 90, 90,
1137 90, 90, 90, 90, 0, 0, 90, 90, 90, 90,
1138 0, 0, 90, 90, 0, 0, 0, 0, 0, 0,
1139 0, 0, 0, 0, 90, 90, 90, 90, 90, 90,
1140 90, 90, 90, 0, 0, 0, 90, 90, 90, 90,
1141 90, 90, 90, 100, 100, 100, 100, 0, 0, 100,
1142 0, 100, 100, 100, 100, 100, 100, 100, 100, 0,
1143 0, 0, 0, 0, 0, 0, 0, 100, 100, 0,
1144 100, 100, 100, 100, 100, 100, 100, 100, 100, 100,
1145 100, 100, 100, 100, 100, 100, 100, 100, 0, 0,
1146 0, 0, 0, 100, 100, 100, 100, 100, 100, 100,
1147 100, 100, 100, 100, 100, 0, 0, 0, 0, 0,
1148 100, 100, 100, 100, 100, 100, 100, 100, 100, 100,
1149 100, 0, 0, 100, 100, 100, 100, 101, 0, 100,
1150 100, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1151 0, 100, 100, 100, 100, 100, 100, 100, 100, 100,
1152 0, 0, 0, 100, 100, 100, 100, 100, 100, 100,
1153 101, 0, 0, 0, 0, 0, 0, 101, 0, 0,
1154 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1155 0, 0, 0, 0, 0, 0, 101, 0, 0, 0,
1156 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1157 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1158 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1159 101, 0, 0, 101, 0, 0, 0, 0, 0, 0,
1160 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1161 0, 0, 0, 0, 102, 0, 0, 0, 0, 0,
1162 0, 0, 101, 0, 0, 0, 0, 0, 0, 0,
1163 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1164 0, 0, 0, 0, 0, 0, 0, 102, 0, 0,
1165 0, 0, 0, 0, 102, 0, 0, 0, 0, 0,
1166 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1167 0, 0, 0, 102, 0, 0, 0, 0, 0, 0,
1168 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1169 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1170 0, 0, 0, 0, 0, 0, 0, 102, 0, 0,
1171 102, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1172 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1173 0, 0, 0, 0, 0, 0, 0, 0, 0, 102,
1174 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1175 0, 0, 0, 0, 101, 101, 101, 101, 0, 0,
1176 101, 0, 101, 101, 101, 101, 101, 101, 101, 101,
1177 0, 0, 0, 0, 0, 0, 0, 0, 101, 101,
1178 0, 101, 101, 101, 101, 101, 101, 101, 101, 101,
1179 101, 101, 101, 101, 101, 101, 101, 101, 101, 0,
1180 0, 0, 0, 0, 101, 101, 101, 101, 101, 101,
1181 101, 101, 101, 101, 101, 101, 0, 0, 0, 0,
1182 0, 101, 101, 101, 101, 101, 101, 101, 101, 101,
1183 101, 101, 0, 0, 101, 101, 101, 101, 0, 0,
1184 101, 101, 0, 0, 0, 0, 0, 0, 0, 0,
1185 0, 0, 101, 101, 101, 101, 101, 101, 101, 101,
1186 101, 0, 0, 0, 101, 101, 101, 101, 101, 101,
1187 101, 102, 102, 102, 102, 0, 0, 102, 0, 102,
1188 102, 102, 102, 102, 102, 102, 102, 0, 0, 0,
1189 0, 0, 0, 0, 0, 102, 102, 0, 102, 102,
1190 102, 102, 102, 102, 102, 102, 102, 102, 102, 102,
1191 102, 102, 102, 102, 102, 102, 0, 0, 0, 0,
1192 0, 102, 102, 102, 102, 102, 102, 102, 102, 102,
1193 102, 102, 102, 0, 0, 0, 0, 0, 102, 102,
1194 102, 102, 102, 102, 102, 102, 102, 102, 102, 0,
1195 0, 102, 102, 102, 102, 104, 0, 102, 102, 0,
1196 0, 0, 0, 0, 0, 0, 0, 0, 0, 102,
1197 102, 102, 102, 102, 102, 102, 102, 102, 0, 0,
1198 0, 102, 102, 102, 102, 102, 102, 102, 104, 0,
1199 0, 0, 0, 0, 0, 104, 0, 0, 0, 0,
1200 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1201 0, 0, 0, 0, 104, 0, 0, 0, 0, 0,
1202 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1203 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1204 0, 0, 0, 0, 0, 0, 0, 0, 104, 0,
1205 0, 104, 0, 0, 0, 0, 0, 0, 0, 0,
1206 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1207 0, 0, 109, 0, 0, 0, 0, 0, 0, 0,
1208 104, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1209 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1210 0, 0, 0, 0, 0, 109, 0, 0, 0, 0,
1211 0, 0, 109, 0, 0, 0, 0, 0, 0, 0,
1212 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1213 0, 109, 0, 0, 0, 0, 0, 0, 0, 0,
1214 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1215 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1216 0, 0, 0, 0, 0, 109, 0, 0, 109, 0,
1217 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1218 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1219 0, 0, 0, 0, 0, 0, 0, 109, 0, 0,
1220 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1221 0, 0, 104, 104, 104, 104, 0, 0, 104, 0,
1222 104, 104, 104, 104, 104, 104, 104, 104, 0, 0,
1223 0, 0, 0, 0, 0, 0, 104, 104, 0, 104,
1224 104, 104, 104, 104, 104, 104, 104, 104, 104, 104,
1225 104, 104, 104, 104, 104, 104, 104, 0, 0, 0,
1226 0, 0, 104, 104, 104, 104, 104, 104, 104, 104,
1227 104, 104, 104, 104, 0, 0, 0, 0, 0, 104,
1228 104, 104, 104, 104, 104, 104, 104, 104, 104, 104,
1229 0, 0, 104, 104, 104, 104, 0, 0, 104, 104,
1230 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1231 104, 104, 104, 104, 104, 104, 104, 104, 104, 0,
1232 0, 0, 104, 104, 104, 104, 104, 104, 104, 109,
1233 109, 109, 109, 0, 0, 109, 0, 109, 109, 109,
1234 109, 109, 109, 109, 109, 0, 0, 0, 0, 0,
1235 0, 0, 0, 109, 109, 0, 109, 109, 109, 109,
1236 109, 109, 109, 109, 109, 109, 109, 109, 109, 109,
1237 109, 109, 109, 109, 0, 0, 0, 0, 0, 109,
1238 109, 109, 109, 109, 109, 109, 109, 109, 109, 109,
1239 109, 0, 0, 0, 0, 0, 109, 109, 109, 109,
1240 109, 109, 109, 109, 109, 109, 109, 0, 0, 109,
1241 109, 109, 109, 111, 0, 109, 109, 0, 0, 0,
1242 0, 0, 0, 0, 0, 0, 0, 109, 109, 109,
1243 109, 109, 109, 109, 109, 109, 0, 0, 0, 109,
1244 109, 109, 109, 109, 109, 109, 111, 0, 0, 0,
1245 0, 0, 0, 111, 0, 0, 0, 0, 0, 0,
1246 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1247 0, 0, 111, 0, 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 0, 0, 0, 0, 0, 0, 111, 0, 0, 111,
1251 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1252 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1253 118, 0, 0, 0, 0, 0, 0, 0, 111, 0,
1254 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1255 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1256 0, 0, 0, 118, 0, 0, 0, 0, 0, 0,
1257 118, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1258 0, 0, 0, 0, 0, 0, 0, 0, 0, 118,
1259 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1260 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1261 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1262 0, 0, 0, 118, 0, 0, 118, 0, 0, 0,
1263 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1264 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1265 0, 0, 0, 0, 0, 118, 0, 0, 0, 0,
1266 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1267 111, 111, 111, 111, 0, 0, 111, 0, 111, 111,
1268 111, 111, 111, 111, 111, 111, 0, 0, 0, 0,
1269 0, 0, 0, 0, 111, 111, 0, 111, 111, 111,
1270 111, 111, 111, 111, 111, 111, 111, 111, 111, 111,
1271 111, 111, 111, 111, 111, 0, 0, 0, 0, 0,
1272 111, 111, 111, 111, 111, 111, 111, 111, 111, 111,
1273 111, 111, 0, 0, 0, 0, 0, 111, 111, 111,
1274 111, 111, 111, 111, 111, 111, 111, 111, 0, 0,
1275 111, 111, 111, 111, 0, 0, 111, 111, 0, 0,
1276 0, 0, 0, 0, 0, 0, 0, 0, 111, 111,
1277 111, 111, 111, 111, 111, 111, 111, 0, 0, 0,
1278 111, 111, 111, 111, 111, 111, 111, 118, 118, 118,
1279 118, 0, 0, 118, 0, 118, 118, 118, 118, 118,
1280 118, 118, 118, 0, 0, 0, 0, 0, 0, 0,
1281 0, 118, 118, 0, 118, 118, 118, 118, 118, 118,
1282 118, 118, 118, 118, 118, 118, 118, 118, 118, 118,
1283 118, 118, 0, 0, 0, 0, 0, 118, 118, 118,
1284 118, 118, 118, 118, 118, 118, 118, 118, 118, 0,
1285 0, 0, 0, 0, 118, 118, 118, 118, 118, 118,
1286 118, 118, 118, 118, 118, 0, 0, 118, 118, 118,
1287 118, 131, 0, 118, 118, 0, 0, 0, 0, 0,
1288 0, 0, 0, 0, 0, 118, 118, 118, 118, 118,
1289 118, 118, 118, 118, 0, 0, 0, 118, 118, 118,
1290 118, 118, 118, 118, 131, 0, 0, 0, 0, 0,
1291 0, 131, 0, 0, 0, 0, 0, 0, 0, 0,
1292 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1293 131, 0, 0, 0, 0, 0, 0, 0, 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, 131, 0, 0, 131, 0, 0,
1297 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1298 0, 0, 0, 0, 0, 0, 0, 0, 113, 0,
1299 0, 0, 0, 0, 0, 0, 131, 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, 113, 0, 0, 0, 0, 0, 0, 113, 0,
1303 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1304 0, 0, 0, 0, 0, 0, 0, 113, 0, 0,
1305 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1306 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1307 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1308 0, 113, 0, 0, 113, 0, 0, 0, 0, 0,
1309 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1310 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1311 0, 0, 0, 113, 0, 0, 0, 0, 0, 0,
1312 0, 0, 0, 0, 0, 0, 0, 0, 131, 131,
1313 131, 131, 0, 0, 131, 0, 131, 131, 131, 131,
1314 131, 131, 131, 131, 0, 0, 0, 0, 0, 0,
1315 0, 0, 131, 131, 0, 131, 131, 131, 131, 131,
1316 131, 131, 131, 131, 131, 131, 131, 131, 131, 131,
1317 131, 131, 131, 0, 0, 0, 0, 0, 131, 131,
1318 131, 131, 131, 131, 131, 131, 131, 131, 131, 131,
1319 0, 0, 0, 0, 0, 131, 131, 131, 131, 131,
1320 131, 131, 131, 131, 131, 131, 0, 0, 131, 131,
1321 131, 131, 0, 0, 131, 131, 0, 0, 0, 0,
1322 0, 0, 0, 0, 0, 0, 131, 131, 131, 131,
1323 131, 131, 131, 131, 131, 0, 0, 0, 131, 131,
1324 131, 131, 131, 131, 131, 113, 113, 113, 113, 0,
1325 0, 113, 0, 113, 113, 113, 113, 113, 113, 113,
1326 113, 0, 0, 0, 0, 0, 0, 0, 0, 113,
1327 113, 0, 113, 113, 113, 113, 113, 113, 113, 113,
1328 113, 113, 113, 113, 113, 113, 113, 113, 113, 113,
1329 0, 0, 0, 0, 0, 113, 113, 113, 113, 113,
1330 113, 113, 113, 113, 113, 113, 113, 0, 0, 0,
1331 0, 0, 113, 113, 113, 113, 113, 113, 113, 113,
1332 113, 113, 113, 0, 0, 113, 113, 113, 113, 174,
1333 0, 113, 113, 0, 0, 0, 0, 0, 0, 0,
1334 0, 0, 0, 113, 113, 113, 113, 113, 113, 113,
1335 113, 113, 0, 0, 0, 113, 113, 113, 113, 113,
1336 113, 113, 174, 0, 0, 0, 0, 0, 0, 174,
1337 0, 0, 0, 174, 174, 0, 0, 0, 0, 0,
1338 0, 0, 0, 0, 0, 0, 0, 0, 174, 0,
1339 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1340 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1341 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1342 0, 0, 174, 0, 0, 0, 0, 0, 0, 0,
1343 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1344 0, 0, 0, 0, 0, 0, 149, 0, 0, 0,
1345 0, 0, 0, 0, 174, 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, 149,
1348 0, 0, 0, 0, 0, 0, 149, 149, 0, 149,
1349 149, 149, 0, 0, 0, 0, 0, 0, 0, 0,
1350 0, 0, 0, 0, 0, 149, 0, 0, 149, 0,
1351 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1352 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1353 0, 0, 0, 0, 0, 0, 0, 0, 0, 149,
1354 0, 0, 149, 0, 0, 0, 0, 0, 0, 0,
1355 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1356 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1357 0, 149, 0, 0, 0, 0, 0, 0, 0, 0,
1358 0, 0, 0, 0, 0, 0, 0, 174, 174, 174,
1359 0, 0, 0, 0, 174, 174, 174, 0, 174, 174,
1360 174, 174, 0, 0, 0, 0, 0, 0, 0, 0,
1361 174, 174, 0, 174, 174, 174, 174, 174, 174, 174,
1362 174, 174, 174, 174, 174, 174, 174, 174, 174, 174,
1363 174, 0, 0, 0, 0, 0, 174, 174, 174, 174,
1364 174, 174, 174, 174, 174, 174, 174, 174, 0, 0,
1365 0, 0, 0, 174, 174, 174, 174, 174, 174, 174,
1366 174, 174, 174, 174, 0, 0, 174, 174, 174, 174,
1367 0, 0, 174, 174, 0, 0, 0, 0, 0, 0,
1368 0, 0, 0, 0, 174, 174, 174, 174, 174, 174,
1369 174, 174, 174, 0, 0, 0, 174, 174, 174, 174,
1370 174, 174, 174, 149, 149, 149, 149, 0, 0, 149,
1371 0, 149, 149, 149, 149, 149, 149, 149, 149, 0,
1372 0, 0, 0, 0, 0, 0, 0, 149, 149, 0,
1373 149, 149, 149, 149, 149, 149, 149, 149, 149, 149,
1374 149, 149, 149, 149, 149, 149, 149, 149, 154, 0,
1375 0, 0, 149, 149, 0, 0, 0, 0, 0, 0,
1376 0, 0, 0, 0, 0, 149, 149, 149, 149, 149,
1377 149, 149, 149, 149, 149, 149, 149, 149, 149, 149,
1378 149, 154, 0, 0, 0, 0, 0, 0, 154, 149,
1379 149, 154, 0, 154, 154, 0, 0, 0, 0, 0,
1380 0, 0, 0, 0, 0, 0, 0, 154, 0, 0,
1381 0, 0, 0, 149, 149, 149, 149, 149, 149, 149,
1382 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1383 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1384 0, 154, 175, 0, 154, 0, 0, 0, 0, 0,
1385 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1386 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1387 0, 0, 0, 154, 0, 175, 0, 0, 0, 0,
1388 0, 0, 175, 175, 0, 0, 175, 175, 0, 0,
1389 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1390 0, 175, 0, 0, 0, 0, 0, 0, 0, 0,
1391 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1392 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1393 0, 242, 0, 0, 0, 175, 0, 0, 175, 0,
1394 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1395 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1396 0, 0, 0, 0, 242, 0, 0, 175, 0, 0,
1397 0, 242, 242, 0, 0, 242, 0, 0, 0, 0,
1398 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1399 242, 242, 0, 242, 0, 0, 0, 0, 0, 0,
1400 0, 0, 0, 0, 0, 154, 154, 154, 154, 0,
1401 0, 154, 0, 154, 154, 154, 154, 154, 154, 154,
1402 154, 0, 0, 0, 242, 0, 0, 242, 0, 154,
1403 154, 0, 154, 154, 154, 154, 154, 154, 154, 154,
1404 154, 154, 154, 154, 154, 154, 154, 154, 154, 154,
1405 0, 0, 0, 0, 43, 154, 242, 0, 0, 0,
1406 0, 0, 0, 0, 0, 0, 0, 154, 154, 154,
1407 154, 154, 154, 154, 154, 154, 154, 154, 154, 154,
1408 154, 154, 154, 0, 0, 0, 0, 43, 0, 0,
1409 0, 154, 154, 0, 43, 0, 0, 0, 0, 175,
1410 175, 175, 175, 0, 0, 175, 0, 175, 175, 175,
1411 175, 175, 175, 43, 0, 154, 154, 154, 154, 154,
1412 154, 154, 0, 175, 175, 0, 175, 175, 175, 175,
1413 175, 175, 175, 175, 175, 175, 175, 175, 175, 175,
1414 175, 175, 175, 175, 0, 0, 0, 43, 0, 175,
1415 43, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1416 0, 0, 0, 0, 0, 0, 175, 175, 175, 175,
1417 175, 175, 175, 175, 175, 175, 175, 0, 0, 43,
1418 0, 0, 0, 0, 0, 175, 175, 0, 242, 242,
1419 242, 242, 0, 0, 242, 0, 0, 0, 0, 242,
1420 0, 0, 242, 242, 0, 0, 0, 98, 0, 175,
1421 175, 175, 175, 175, 175, 175, 0, 0, 0, 0,
1422 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1423 0, 0, 0, 0, 0, 0, 0, 0, 242, 242,
1424 242, 242, 242, 242, 242, 242, 242, 242, 242, 242,
1425 0, 0, 0, 0, 0, 242, 242, 242, 242, 242,
1426 242, 242, 242, 242, 242, 242, 98, 0, 242, 242,
1427 242, 242, 0, 0, 0, 0, 0, 0, 0, 0,
1428 242, 242, 242, 242, 242, 242, 242, 242, 242, 242,
1429 242, 242, 242, 242, 242, 0, 0, 0, 0, 0,
1430 98, 0, 0, 0, 242, 0, 0, 0, 0, 0,
1431 0, 43, 43, 43, 43, 0, 0, 43, 0, 0,
1432 0, 0, 43, 0, 0, 43, 43, 0, 0, 0,
1433 0, 0, 98, 0, 0, 0, 0, 0, 0, 0,
1434 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1435 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1436 0, 43, 43, 43, 43, 43, 43, 43, 43, 43,
1437 43, 43, 43, 0, 0, 0, 0, 0, 43, 43,
1438 43, 43, 43, 43, 43, 43, 43, 43, 43, 45,
1439 0, 43, 43, 43, 43, 0, 0, 0, 0, 0,
1440 0, 0, 0, 0, 0, 0, 0, 0, 0, 43,
1441 43, 43, 43, 43, 43, 43, 43, 43, 0, 0,
1442 0, 0, 45, 0, 0, 0, 0, 43, 0, 45,
1443 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1444 0, 0, 0, 0, 0, 0, 0, 0, 45, 0,
1445 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1446 0, 0, 0, 0, 0, 0, 0, 98, 0, 0,
1447 0, 0, 98, 98, 98, 0, 98, 98, 98, 98,
1448 0, 0, 45, 0, 0, 45, 0, 0, 98, 98,
1449 0, 98, 98, 98, 98, 98, 98, 98, 98, 98,
1450 98, 98, 98, 98, 98, 98, 98, 98, 98, 196,
1451 96, 0, 0, 0, 45, 0, 0, 0, 0, 0,
1452 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1453 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1454 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1455 98, 98, 0, 0, 0, 0, 0, 250, 0, 0,
1456 0, 0, 0, 0, 0, 0, 0, 0, 0, 96,
1457 0, 0, 0, 0, 98, 98, 98, 98, 98, 98,
1458 98, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1459 0, 0, 0, 0, 250, 0, 0, 0, 250, 250,
1460 250, 250, 250, 96, 250, 0, 0, 0, 0, 0,
1461 0, 0, 0, 0, 0, 0, 250, 250, 0, 250,
1462 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1463 0, 92, 0, 0, 0, 96, 0, 0, 0, 0,
1464 0, 0, 0, 0, 0, 0, 45, 45, 45, 45,
1465 250, 0, 45, 0, 0, 0, 0, 45, 0, 0,
1466 45, 45, 0, 0, 0, 0, 0, 0, 0, 0,
1467 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1468 0, 0, 250, 0, 0, 0, 0, 0, 0, 0,
1469 92, 0, 0, 0, 0, 94, 45, 45, 45, 45,
1470 45, 45, 45, 45, 45, 45, 45, 45, 0, 0,
1471 0, 0, 0, 45, 45, 45, 45, 45, 45, 45,
1472 45, 45, 45, 45, 92, 0, 45, 45, 45, 45,
1473 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1474 0, 0, 0, 0, 45, 45, 45, 45, 45, 45,
1475 45, 45, 45, 0, 94, 0, 92, 0, 0, 108,
1476 0, 0, 45, 0, 0, 0, 0, 0, 0, 0,
1477 96, 0, 0, 0, 0, 96, 96, 96, 0, 96,
1478 96, 96, 96, 0, 0, 0, 0, 0, 94, 0,
1479 0, 96, 96, 0, 96, 96, 96, 96, 96, 96,
1480 96, 96, 96, 96, 96, 96, 96, 96, 96, 96,
1481 96, 96, 197, 0, 0, 0, 0, 0, 108, 0,
1482 94, 250, 0, 0, 0, 0, 0, 0, 0, 0,
1483 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1484 0, 0, 0, 0, 0, 0, 0, 0, 250, 0,
1485 0, 0, 108, 96, 96, 0, 0, 0, 0, 250,
1486 0, 0, 250, 0, 0, 0, 0, 0, 0, 0,
1487 0, 0, 0, 0, 0, 0, 0, 96, 96, 96,
1488 96, 96, 96, 96, 108, 110, 0, 0, 0, 0,
1489 0, 92, 0, 0, 0, 0, 92, 92, 92, 0,
1490 92, 92, 92, 92, 0, 0, 250, 250, 250, 250,
1491 250, 250, 92, 92, 0, 92, 92, 92, 92, 92,
1492 92, 92, 92, 92, 92, 92, 92, 92, 92, 92,
1493 92, 92, 92, 0, 0, 0, 0, 0, 0, 0,
1494 0, 0, 0, 0, 110, 0, 0, 0, 0, 117,
1495 0, 0, 0, 0, 0, 94, 0, 0, 0, 0,
1496 94, 94, 94, 0, 94, 94, 94, 94, 0, 0,
1497 0, 0, 0, 0, 92, 92, 94, 94, 110, 94,
1498 94, 94, 94, 94, 94, 94, 94, 94, 94, 94,
1499 94, 94, 94, 94, 94, 94, 94, 0, 92, 92,
1500 92, 92, 92, 92, 92, 0, 0, 0, 117, 0,
1501 110, 0, 0, 112, 0, 0, 0, 0, 0, 108,
1502 0, 0, 0, 0, 108, 108, 108, 0, 108, 108,
1503 108, 108, 0, 0, 0, 0, 0, 0, 94, 94,
1504 108, 108, 117, 108, 108, 108, 108, 108, 108, 108,
1505 108, 108, 108, 108, 108, 108, 108, 108, 108, 108,
1506 108, 0, 94, 94, 94, 94, 94, 94, 94, 0,
1507 0, 0, 112, 0, 117, 0, 0, 0, 0, 0,
1508 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1509 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1510 0, 0, 108, 108, 0, 0, 112, 0, 0, 0,
1511 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1512 0, 0, 0, 0, 0, 0, 108, 108, 108, 108,
1513 108, 108, 108, 0, 0, 0, 0, 0, 112, 0,
1514 0, 0, 0, 0, 0, 110, 0, 0, 0, 0,
1515 110, 110, 110, 0, 110, 110, 110, 110, 0, 0,
1516 0, 0, 0, 0, 0, 0, 110, 110, 0, 110,
1517 110, 110, 110, 110, 110, 110, 110, 110, 110, 110,
1518 110, 110, 110, 110, 110, 110, 110, 0, 0, 0,
1519 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1520 0, 0, 0, 0, 0, 0, 0, 0, 0, 117,
1521 0, 0, 0, 0, 117, 117, 117, 0, 117, 117,
1522 117, 117, 0, 0, 0, 0, 0, 0, 110, 110,
1523 117, 117, 0, 117, 117, 117, 117, 117, 117, 117,
1524 117, 117, 117, 117, 117, 117, 117, 117, 117, 117,
1525 117, 0, 110, 110, 110, 110, 110, 110, 110, 0,
1526 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1527 0, 0, 0, 112, 0, 0, 0, 0, 112, 112,
1528 112, 0, 112, 112, 112, 112, 0, 0, 0, 0,
1529 0, 0, 117, 117, 112, 112, 83, 112, 112, 112,
1530 112, 112, 112, 112, 112, 112, 112, 112, 112, 112,
1531 112, 112, 112, 112, 112, 0, 117, 117, 117, 117,
1532 117, 117, 117, 0, 0, 0, 0, 0, 0, 83,
1533 0, 0, 0, 0, 0, 0, 83, 0, 0, 0,
1534 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1535 0, 0, 0, 0, 0, 83, 112, 112, 0, 0,
1536 0, 0, 0, 0, 0, 0, 154, 0, 0, 0,
1537 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1538 112, 112, 112, 112, 112, 112, 112, 0, 0, 83,
1539 0, 0, 83, 0, 0, 0, 0, 0, 0, 0,
1540 0, 0, 0, 0, 0, 0, 0, 0, 0, 154,
1541 0, 154, 154, 0, 0, 0, 0, 0, 0, 0,
1542 0, 83, 0, 0, 0, 154, 0, 0, 0, 0,
1543 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1544 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1545 0, 0, 0, 0, 0, 0, 0, 0, 0, 154,
1546 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1547 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1548 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1549 0, 154, 0, 0, 0, 0, 0, 0, 0, 0,
1550 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1551 0, 95, 0, 0, 0, 0, 0, 0, 92, 0,
1552 0, 0, 0, 94, 0, 0, 0, 0, 0, 0,
1553 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1554 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1555 0, 0, 0, 83, 83, 83, 0, 0, 0, 83,
1556 0, 83, 83, 83, 83, 83, 83, 83, 83, 32,
1557 0, 0, 0, 0, 93, 0, 0, 83, 83, 0,
1558 83, 83, 83, 83, 83, 83, 83, 83, 83, 83,
1559 83, 83, 83, 83, 83, 83, 83, 83, 0, 0,
1560 0, 33, 0, 83, 83, 83, 83, 83, 83, 83,
1561 83, 83, 83, 83, 83, 0, 0, 0, 0, 0,
1562 83, 83, 83, 83, 83, 83, 83, 83, 83, 83,
1563 83, 0, 0, 83, 83, 83, 83, 154, 154, 83,
1564 83, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1565 0, 83, 83, 83, 83, 83, 83, 83, 83, 83,
1566 0, 0, 0, 83, 83, 83, 83, 83, 83, 0,
1567 0, 0, 0, 0, 154, 154, 154, 154, 154, 154,
1568 154, 154, 154, 154, 154, 154, 154, 154, 154, 154,
1569 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1570 0, 0, 0, 154, 154, 154, 154, 6, 0, 0,
1571 0, 0, 0, 0, 6, 0, 0, 0, 0, 6,
1572 0, 154, 154, 154, 154, 154, 154, 154, 154, 154,
1573 0, 0, 0, 0, 0, 294, 295, 51, 8, 9,
1574 0, 52, 0, 0, 0, 0, 53, 10, 11, 296,
1575 297, 14, 15, 16, 17, 18, 19, 20, 21, 0,
1576 0, 22, 0, 0, 0, 6, 0, 0, 0, 0,
1577 6, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1578 0, 0, 0, 0, 0, 56, 57, 58, 59, 60,
1579 61, 62, 63, 64, 65, 66, 67, 6, 0, 0,
1580 0, 0, 68, 69, 70, 71, 72, 73, 74, 75,
1581 76, 77, 78, 23, 0, 79, 80, 81, 82, 24,
1582 25, 0, 0, 26, 0, 27, 0, 0, 0, 0,
1583 0, 0, 0, 83, 84, 85, 86, 87, 88, 89,
1584 90, 91, 28, 95, 29, 0, 0, 0, 0, 0,
1585 110, 30, 31, 0, 0, 94, 0, 0, 0, 0,
1586 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1587 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1588 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1589 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1590 0, 0, 0, 0, 0, 0, 93, 0, 0, 0,
1591 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1592 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1593 0, 6, 6, 6, 6, 6, 0, 6, 0, 0,
1594 0, 0, 6, 6, 6, 6, 6, 6, 6, 6,
1595 6, 6, 6, 6, 6, 0, 0, 6, 0, 0,
1596 111, 0, 0, 0, 0, 0, 0, 110, 314, 0,
1597 0, 0, 94, 0, 0, 0, 0, 0, 0, 0,
1598 0, 6, 6, 6, 6, 6, 6, 6, 6, 6,
1599 6, 6, 6, 0, 0, 0, 0, 0, 6, 6,
1600 6, 6, 6, 6, 6, 6, 6, 6, 6, 6,
1601 0, 6, 6, 6, 6, 6, 6, 0, 0, 6,
1602 0, 6, 0, 93, 0, 0, 0, 0, 0, 6,
1603 6, 6, 6, 6, 6, 6, 6, 6, 6, 0,
1604 6, 0, 0, 0, 0, 0, 0, 6, 6, 0,
1605 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1606 0, 0, 0, 0, 0, 0, 0, 49, 50, 51,
1607 8, 0, 0, 52, 0, 126, 127, 128, 53, 129,
1608 130, 131, 132, 0, 0, 0, 0, 0, 0, 0,
1609 0, 133, 134, 0, 135, 136, 137, 138, 139, 140,
1610 141, 142, 143, 144, 145, 146, 147, 148, 149, 150,
1611 151, 152, 0, 0, 0, 0, 0, 56, 57, 58,
1612 59, 60, 61, 62, 63, 64, 65, 66, 67, 0,
1613 0, 0, 0, 0, 68, 69, 70, 71, 72, 73,
1614 74, 75, 76, 77, 78, 111, 0, 79, 80, 81,
1615 82, 0, 92, 153, 154, 0, 0, 94, 275, 0,
1616 0, 0, 0, 0, 0, 83, 84, 85, 86, 87,
1617 88, 89, 90, 91, 0, 0, 0, 155, 156, 157,
1618 158, 159, 160, 30, 49, 50, 51, 8, 0, 0,
1619 52, 0, 0, 0, 0, 53, 0, 0, 54, 55,
1620 0, 0, 0, 0, 0, 0, 0, 0, 93, 0,
1621 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1622 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1623 0, 0, 0, 0, 56, 57, 58, 59, 60, 61,
1624 62, 63, 64, 65, 66, 67, 0, 0, 0, 0,
1625 0, 68, 69, 70, 71, 72, 73, 74, 75, 76,
1626 77, 78, 95, 0, 79, 80, 81, 82, 0, 92,
1627 0, 0, 0, 0, 94, 0, 0, 0, 0, 0,
1628 0, 0, 83, 84, 85, 86, 87, 88, 89, 90,
1629 91, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1630 30, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1631 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1632 0, 0, 0, 0, 0, 93, 0, 0, 0, 0,
1633 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1634 0, 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, 49,
1637 50, 51, 8, 0, 0, 52, 0, 0, 0, 0,
1638 53, 0, 0, 54, 55, 111, 0, 0, 0, 0,
1639 0, 0, 110, 0, 0, 0, 0, 94, 0, 0,
1640 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1641 0, 0, 0, 0, 0, 0, 0, 0, 0, 56,
1642 57, 58, 59, 60, 61, 62, 63, 64, 65, 66,
1643 67, 0, 0, 0, 0, 0, 68, 69, 70, 71,
1644 72, 73, 74, 75, 76, 77, 78, 0, 93, 79,
1645 80, 81, 82, 0, 0, 0, 0, 0, 0, 0,
1646 0, 0, 0, 0, 0, 0, 0, 83, 84, 85,
1647 86, 87, 88, 89, 90, 91, 0, 0, 0, 0,
1648 0, 0, 0, 0, 0, 30, 49, 50, 51, 8,
1649 0, 0, 52, 0, 0, 0, 0, 53, 0, 0,
1650 54, 55, 111, 0, 0, 0, 0, 0, 0, 92,
1651 0, 0, 0, 0, 94, 0, 0, 0, 0, 0,
1652 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1653 0, 0, 0, 0, 0, 0, 56, 57, 58, 59,
1654 60, 61, 62, 63, 64, 65, 66, 67, 0, 0,
1655 0, 0, 0, 68, 69, 70, 71, 72, 73, 74,
1656 75, 76, 77, 78, 0, 93, 79, 80, 81, 82,
1657 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1658 0, 0, 0, 0, 83, 84, 85, 86, 87, 88,
1659 89, 90, 91, 0, 0, 0, 0, 0, 0, 0,
1660 0, 0, 30, 0, 0, 0, 0, 0, 0, 49,
1661 50, 51, 8, 0, 0, 52, 0, 0, 0, 0,
1662 53, 0, 0, 54, 55, 111, 0, 0, 0, 0,
1663 0, 0, 282, 0, 0, 0, 0, 94, 0, 0,
1664 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1665 0, 0, 0, 0, 0, 0, 0, 0, 0, 56,
1666 57, 58, 59, 60, 61, 62, 63, 64, 65, 66,
1667 67, 0, 0, 0, 0, 0, 68, 69, 70, 71,
1668 72, 73, 74, 75, 76, 77, 78, 0, 93, 79,
1669 80, 81, 82, 0, 0, 0, 0, 0, 0, 0,
1670 0, 0, 0, 0, 0, 0, 0, 83, 84, 85,
1671 86, 87, 88, 89, 90, 91, 0, 0, 0, 0,
1672 0, 0, 0, 0, 0, 30, 49, 50, 51, 8,
1673 0, 0, 52, 0, 0, 0, 0, 53, 0, 0,
1674 54, 55, 95, 0, 0, 0, 0, 0, 0, 276,
1675 0, 0, 0, 0, 94, 275, 0, 0, 0, 0,
1676 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1677 0, 0, 0, 0, 0, 0, 56, 57, 58, 59,
1678 60, 61, 62, 63, 64, 65, 66, 67, 0, 0,
1679 0, 0, 0, 68, 69, 70, 71, 72, 73, 74,
1680 75, 76, 77, 78, 0, 93, 79, 80, 81, 82,
1681 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1682 0, 0, 0, 0, 83, 84, 85, 86, 87, 88,
1683 89, 90, 91, 0, 0, 0, 0, 0, 0, 0,
1684 0, 0, 30, 0, 0, 0, 0, 0, 0, 49,
1685 50, 51, 8, 0, 0, 52, 0, 0, 0, 0,
1686 53, 0, 0, 54, 55, 95, 0, 0, 0, 0,
1687 0, 0, 110, 0, 424, 0, 0, 94, 0, 0,
1688 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1689 0, 0, 0, 0, 0, 0, 0, 0, 0, 56,
1690 57, 58, 59, 60, 61, 62, 63, 64, 65, 66,
1691 67, 0, 0, 0, 0, 0, 68, 69, 70, 71,
1692 72, 73, 74, 75, 76, 77, 78, 0, 93, 79,
1693 80, 81, 82, 0, 0, 0, 0, 0, 0, 0,
1694 0, 0, 0, 0, 0, 0, 0, 83, 84, 85,
1695 86, 87, 88, 89, 90, 91, 0, 0, 0, 0,
1696 0, 0, 0, 0, 0, 30, 272, 50, 51, 0,
1697 0, 0, 273, 0, 0, 0, 0, 274, 0, 0,
1698 54, 55, 95, 0, 0, 0, 0, 0, 0, 110,
1699 0, 0, 0, 0, 94, 0, 0, 0, 0, 0,
1700 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1701 0, 0, 0, 0, 0, 0, 56, 57, 58, 59,
1702 60, 61, 62, 63, 64, 65, 66, 67, 0, 0,
1703 0, 0, 0, 68, 69, 70, 71, 72, 73, 74,
1704 75, 76, 77, 78, 0, 93, 79, 80, 81, 82,
1705 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1706 0, 0, 0, 0, 83, 84, 85, 86, 87, 88,
1707 89, 90, 91, 0, 0, 0, 0, 0, 0, 0,
1708 0, 0, 0, 0, 0, 0, 0, 0, 0, 49,
1709 50, 51, 0, 0, 0, 52, 0, 0, 0, 0,
1710 53, 0, 0, 54, 55, 95, 0, 0, 0, 0,
1711 0, 0, 92, 0, 0, 0, 0, 94, 0, 0,
1712 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1713 0, 0, 0, 0, 0, 0, 0, 0, 0, 56,
1714 57, 58, 59, 60, 61, 62, 63, 64, 65, 66,
1715 67, 0, 0, 0, 0, 0, 68, 69, 70, 71,
1716 72, 73, 74, 75, 76, 77, 78, 0, 93, 79,
1717 80, 81, 82, 0, 0, 0, 0, 0, 0, 0,
1718 0, 0, 0, 0, 0, 0, 0, 83, 84, 85,
1719 86, 87, 88, 89, 90, 91, 0, 0, 0, 0,
1720 0, 0, 0, 0, 0, 0, 49, 50, 51, 0,
1721 0, 0, 52, 0, 0, 0, 0, 53, 0, 0,
1722 54, 55, 95, 0, 0, 0, 0, 0, 0, 282,
1723 0, 0, 0, 0, 94, 0, 0, 0, 0, 0,
1724 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1725 0, 0, 0, 0, 0, 0, 56, 57, 58, 59,
1726 60, 61, 62, 63, 64, 65, 66, 67, 0, 0,
1727 0, 0, 0, 68, 69, 70, 71, 72, 73, 74,
1728 75, 76, 77, 78, 0, 93, 79, 80, 81, 82,
1729 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1730 0, 0, 0, 0, 83, 84, 85, 86, 87, 88,
1731 89, 90, 91, 0, 0, 0, 0, 0, 0, 0,
1732 0, 0, 0, 0, 0, 0, 0, 0, 0, 49,
1733 50, 51, 0, 0, 0, 52, 0, 0, 0, 0,
1734 53, 0, 0, 54, 55, 95, 0, 0, 0, 0,
1735 0, 0, 110, 0, 0, 0, 0, 94, 0, 0,
1736 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1737 0, 0, 0, 0, 0, 0, 0, 0, 0, 56,
1738 57, 58, 59, 60, 61, 62, 63, 64, 65, 66,
1739 67, 0, 0, 0, 0, 0, 68, 69, 70, 71,
1740 72, 73, 74, 75, 76, 77, 78, 0, 93, 79,
1741 80, 81, 82, 0, 0, 0, 0, 0, 0, 0,
1742 0, 0, 0, 0, 0, 0, 0, 83, 84, 85,
1743 86, 87, 88, 89, 90, 91, 0, 0, 0, 0,
1744 0, 0, 0, 0, 0, 0, 49, 50, 51, 0,
1745 0, 0, 52, 0, 0, 0, 0, 53, 0, 0,
1746 54, 55, 0, 0, 0, 0, 0, 0, 0, 0,
1747 0, 0, 0, 0, 0, 0, 0, 0, 41, 0,
1748 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1749 0, 0, 0, 0, 0, 0, 56, 57, 58, 59,
1750 60, 61, 62, 63, 64, 65, 66, 67, 0, 0,
1751 32, 0, 0, 68, 69, 70, 71, 72, 73, 74,
1752 75, 76, 77, 78, 0, 0, 79, 80, 81, 82,
1753 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1754 0, 0, 33, 0, 83, 84, 85, 86, 87, 88,
1755 89, 90, 91, 0, 0, 0, 0, 0, 0, 0,
1756 0, 0, 0, 0, 0, 0, 0, 0, 0, 49,
1757 50, 51, 0, 0, 0, 52, 0, 0, 0, 0,
1758 53, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1759 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1760 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1761 0, 0, 0, 0, 0, 0, 0, 0, 0, 56,
1762 57, 58, 59, 60, 61, 62, 63, 64, 65, 66,
1763 67, 0, 0, 0, 0, 0, 68, 69, 70, 71,
1764 72, 73, 74, 75, 76, 77, 78, 0, 0, 79,
1765 80, 81, 82, 0, 0, 0, 0, 0, 0, 0,
1766 0, 0, 0, 0, 0, 0, 0, 83, 84, 85,
1767 86, 87, 88, 89, 90, 91, 6, 7, 0, 8,
1768 9, 0, 0, 0, 0, 0, 0, 0, 10, 11,
1769 12, 13, 14, 15, 16, 17, 18, 19, 20, 21,
1770 0, 0, 22, 0, 0, 0, 0, 0, 0, 0,
1771 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1772 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1773 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1774 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1775 0, 0, 0, 0, 23, 0, 0, 0, 0, 0,
1776 24, 25, 0, 0, 26, 0, 27, 0, 0, 0,
1777 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1778 0, 0, 0, 28, 0, 29, 0, 0, 0, 0,
1781 short yycheck[] = { 25,
1782 44, 59, 125, 29, 43, 31, 45, 0, 0, 0,
1783 37, 37, 260, 111, 260, 42, 43, 37, 45, 107,
1784 47, 260, 42, 43, 0, 45, 100, 47, 43, 268,
1785 45, 37, 120, 60, 59, 62, 42, 43, 92, 45,
1786 0, 47, 165, 4, 105, 36, 41, 62, 43, 58,
1787 45, 42, 61, 58, 60, 25, 62, 41, 61, 41,
1788 44, 31, 44, 43, 25, 45, 92, 94, 94, 95,
1789 31, 271, 272, 96, 94, 258, 37, 96, 43, 44,
1790 45, 107, 258, 59, 40, 111, 348, 141, 94, 91,
1791 336, 43, 44, 45, 120, 319, 320, 321, 322, 323,
1792 93, 93, 61, 129, 130, 131, 132, 133, 134, 135,
1793 136, 137, 138, 139, 140, 141, 0, 93, 144, 145,
1794 146, 336, 92, 271, 272, 373, 43, 44, 45, 155,
1795 156, 91, 125, 125, 0, 37, 262, 107, 272, 165,
1796 42, 43, 276, 45, 218, 47, 107, 245, 246, 125,
1797 120, 249, 250, 257, 258, 355, 356, 118, 60, 120,
1798 62, 349, 350, 123, 125, 40, 0, 137, 138, 139,
1799 140, 351, 352, 227, 228, 59, 202, 203, 204, 205,
1800 206, 207, 208, 209, 210, 211, 212, 213, 214, 215,
1801 216, 217, 94, 59, 102, 165, 157, 158, 159, 33,
1802 40, 227, 228, 277, 165, 40, 40, 355, 356, 93,
1803 0, 45, 273, 274, 258, 40, 242, 121, 122, 245,
1804 246, 247, 276, 249, 250, 40, 40, 93, 282, 40,
1805 364, 365, 140, 40, 257, 0, 40, 40, 257, 209,
1806 263, 125, 40, 61, 263, 268, 291, 217, 260, 268,
1807 276, 258, 262, 43, 41, 45, 282, 91, 260, 125,
1808 394, 41, 96, 397, 264, 94, 268, 306, 303, 59,
1809 393, 273, 274, 275, 276, 277, 278, 46, 280, 302,
1810 257, 91, 302, 0, 93, 305, 125, 93, 262, 123,
1811 251, 252, 41, 319, 59, 256, 0, 257, 258, 257,
1812 260, 261, 363, 93, 41, 262, 276, 41, 0, 269,
1813 270, 271, 272, 273, 274, 275, 276, 277, 278, 279,
1814 280, 44, 349, 283, 351, 352, 353, 354, 93, 33,
1815 41, 41, 44, 37, 41, 125, 40, 41, 42, 43,
1816 44, 45, 59, 47, 44, 351, 352, 353, 354, 319,
1817 41, 43, 41, 45, 304, 59, 60, 262, 62, 349,
1818 125, 387, 388, 389, 272, 391, 44, 59, 276, 257,
1819 305, 279, 41, 37, 260, 335, 93, 365, 42, 41,
1820 41, 341, 342, 47, 41, 345, 262, 347, 0, 93,
1821 41, 346, 96, 260, 27, 421, 31, 37, 424, 346,
1822 346, 93, 42, 43, 364, 45, 366, 47, 125, 346,
1823 43, 165, 399, 373, 374, 36, -1, 387, 388, -1,
1824 60, 125, 62, 257, 258, 259, 260, 261, -1, 263,
1825 94, -1, 393, 125, 268, 269, 270, 271, 272, 273,
1826 274, 275, 276, 277, 278, 279, 280, -1, -1, 283,
1827 260, 353, 354, -1, 94, -1, 364, 365, -1, -1,
1828 93, -1, -1, 273, 274, 275, 276, 277, 278, -1,
1829 280, -1, -1, 307, 308, 309, 310, 311, 312, 313,
1830 314, 315, 316, 317, 318, -1, 394, -1, -1, 397,
1831 324, 325, 326, 327, 328, 329, 330, 331, 332, 333,
1832 334, 335, -1, 337, 338, 339, 340, 341, 342, -1,
1833 -1, 345, 46, 347, -1, -1, -1, -1, 91, -1,
1834 -1, 355, 356, 357, 358, 359, 360, 361, 362, 363,
1835 364, -1, 366, -1, 167, -1, -1, -1, -1, 373,
1836 374, 174, 175, 176, 177, 178, 179, 180, 181, 182,
1837 183, 184, -1, 257, 258, 259, 260, -1, -1, 263,
1838 264, 265, 266, 267, 268, 269, 270, 271, 272, -1,
1839 -1, -1, -1, -1, -1, -1, -1, 281, 282, -1,
1840 284, 285, 286, 287, 288, 289, 290, 291, 292, 293,
1841 294, 295, 296, 297, 298, 299, 300, 301, 302, -1,
1842 -1, 305, 306, 307, 308, 309, 310, 311, 312, 313,
1843 314, 315, 316, 317, 318, -1, -1, -1, -1, -1,
1844 324, 325, 326, 327, 328, 329, 330, 331, 332, 333,
1845 334, -1, 0, 337, 338, 339, 340, 0, -1, 343,
1846 344, -1, 346, -1, -1, 349, 350, 351, 352, 353,
1847 354, 355, 356, 357, 358, 359, 360, 361, 362, 363,
1848 0, -1, -1, 367, 368, 369, 370, 371, 372, 373,
1849 33, -1, -1, -1, 37, 0, -1, 40, 41, 42,
1850 43, 44, 45, -1, 47, -1, -1, -1, -1, -1,
1851 -1, 59, -1, 0, -1, -1, 59, 60, -1, 62,
1852 273, 274, 275, 276, 277, 278, -1, 280, -1, 349,
1853 350, 351, 352, 353, 354, -1, 37, -1, -1, 59,
1854 -1, 42, 43, 44, 45, 93, 47, -1, -1, -1,
1855 93, -1, -1, 96, 59, -1, -1, 271, 272, 60,
1856 -1, 62, -1, 376, -1, -1, -1, 380, 381, -1,
1857 37, -1, 59, 93, 0, 42, 43, 125, 45, -1,
1858 47, -1, 125, -1, -1, -1, -1, -1, 93, -1,
1859 -1, -1, -1, 94, 308, 309, 310, 311, 312, 313,
1860 314, 315, 316, 317, 318, 125, 93, 33, -1, -1,
1861 -1, 37, -1, -1, 40, 41, 42, 43, 44, 45,
1862 125, 47, -1, 337, 338, 339, 340, 94, -1, -1,
1863 -1, -1, -1, 59, 60, -1, 62, -1, 125, -1,
1864 -1, 355, 356, 357, 358, 359, 360, 361, 362, 363,
1865 -1, -1, -1, -1, 37, -1, -1, -1, -1, 42,
1866 43, -1, 45, -1, 47, -1, -1, 93, -1, -1,
1867 96, -1, -1, -1, -1, -1, -1, 60, -1, 62,
1868 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1869 -1, -1, -1, -1, -1, -1, -1, -1, -1, 125,
1870 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1871 -1, 94, -1, -1, 257, 258, 259, 260, -1, -1,
1872 263, 264, 265, 266, 267, 268, 269, 270, 271, 272,
1873 -1, -1, 46, -1, -1, -1, -1, -1, 281, 282,
1874 -1, 284, 285, 286, 287, 288, 289, 290, 291, 292,
1875 293, 294, 295, 296, 297, 298, 299, 300, 301, 302,
1876 -1, -1, 305, 306, 307, 308, 309, 310, 311, 312,
1877 313, 314, 315, 316, 317, 318, -1, -1, -1, -1,
1878 -1, 324, 325, 326, 327, 328, 329, 330, 331, 332,
1879 333, 334, 46, -1, 337, 338, 339, 340, -1, -1,
1880 343, 344, -1, 346, -1, -1, 349, 350, 351, 352,
1881 353, 354, 355, 356, 357, 358, 359, 360, 361, 362,
1882 363, -1, -1, -1, 367, 368, 369, 370, 371, 372,
1883 373, 257, 258, 259, 260, -1, -1, 263, 264, 265,
1884 266, 267, 268, 269, 270, 271, 272, -1, 349, 350,
1885 351, 352, 353, 354, -1, 281, 282, -1, 284, 285,
1886 286, 287, 288, 289, 290, 291, 292, 293, 294, 295,
1887 296, 297, 298, 299, 300, 301, 302, 260, -1, 305,
1888 306, 307, 308, 309, 310, 311, 312, 313, 314, 315,
1889 316, 317, 318, -1, -1, -1, -1, -1, 324, 325,
1890 326, 327, 328, 329, 330, 331, 332, 333, 334, -1,
1891 -1, 337, 338, 339, 340, 0, -1, 343, 344, -1,
1892 346, -1, -1, 349, 350, 351, 352, 353, 354, 355,
1893 356, 357, 358, 359, 360, 361, 362, 363, -1, -1,
1894 -1, 367, 368, 369, 370, 371, 372, 373, 33, -1,
1895 -1, -1, 37, -1, -1, 40, 41, 42, 43, 44,
1896 45, -1, 47, -1, -1, -1, 349, 350, 351, 352,
1897 353, 354, -1, -1, 59, 60, -1, 62, -1, -1,
1898 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1899 373, -1, -1, -1, 308, 309, 310, 311, 312, 313,
1900 314, 315, 316, 317, 318, -1, -1, -1, 93, -1,
1901 -1, 96, -1, -1, -1, -1, -1, 271, 272, -1,
1902 -1, -1, -1, 337, 338, 339, 340, -1, -1, -1,
1903 -1, -1, 0, -1, -1, -1, -1, -1, -1, -1,
1904 125, 355, 356, 357, 358, 359, 360, 361, 362, 363,
1905 -1, -1, -1, -1, 308, 309, 310, 311, 312, 313,
1906 314, 315, 316, 317, 318, 33, -1, -1, -1, 37,
1907 -1, -1, 40, 41, 42, 43, 44, 45, -1, 47,
1908 -1, -1, -1, 337, 338, 339, 340, -1, -1, -1,
1909 -1, 59, 60, -1, 62, -1, -1, -1, -1, -1,
1910 -1, 355, 356, 357, 358, 359, 360, 361, 362, 363,
1911 -1, -1, 37, -1, -1, -1, -1, 42, 43, 44,
1912 45, -1, 47, -1, -1, 93, -1, -1, 96, -1,
1913 -1, -1, -1, 37, -1, 60, -1, 62, 42, 43,
1914 44, 45, -1, 47, -1, -1, -1, -1, -1, -1,
1915 -1, -1, -1, -1, -1, -1, 60, 125, 62, -1,
1916 -1, -1, -1, -1, -1, -1, -1, -1, -1, 94,
1917 -1, -1, 257, 258, 259, 260, -1, -1, 263, 264,
1918 265, 266, 267, 268, 269, 270, 271, 272, -1, -1,
1919 94, -1, -1, -1, -1, -1, 281, 282, -1, 284,
1920 285, 286, 287, 288, 289, 290, 291, 292, 293, 294,
1921 295, 296, 297, 298, 299, 300, 301, 302, -1, -1,
1922 305, 306, 307, 308, 309, 310, 311, 312, 313, 314,
1923 315, 316, 317, 318, -1, -1, -1, -1, -1, 324,
1924 325, 326, 327, 328, 329, 330, 331, 332, 333, 334,
1925 -1, -1, 337, 338, 339, 340, -1, -1, 343, 344,
1926 -1, 346, -1, -1, 349, 350, 351, 352, 353, 354,
1927 355, 356, 357, 358, 359, 360, 361, 362, 363, -1,
1928 -1, -1, 367, 368, 369, 370, 371, 372, 373, 257,
1929 258, 259, 260, -1, -1, 263, 264, 265, 266, 267,
1930 268, 269, 270, 271, 272, -1, -1, -1, -1, -1,
1931 -1, -1, -1, 281, 282, -1, 284, 285, 286, 287,
1932 288, 289, 290, 291, 292, 293, 294, 295, 296, 297,
1933 298, 299, 300, 301, 302, -1, -1, 305, 306, 307,
1934 308, 309, 310, 311, 312, 313, 314, 315, 316, 317,
1935 318, -1, -1, -1, -1, -1, 324, 325, 326, 327,
1936 328, 329, 330, 331, 332, 333, 334, -1, -1, 337,
1937 338, 339, 340, 0, -1, 343, 344, 302, 346, -1,
1938 305, 349, 350, 351, 352, 353, 354, 355, 356, 357,
1939 358, 359, 360, 361, 362, 363, -1, -1, -1, 367,
1940 368, 369, 370, 371, 372, 373, 33, -1, -1, -1,
1941 37, -1, -1, 40, 41, 42, 43, 44, 45, -1,
1942 47, -1, -1, -1, 349, 350, 351, 352, 353, 354,
1943 -1, -1, 59, 60, -1, 62, -1, -1, -1, -1,
1944 -1, -1, -1, -1, -1, 349, 350, 351, 352, 353,
1945 354, -1, -1, 37, -1, -1, -1, -1, 42, 43,
1946 44, 45, -1, 47, -1, -1, 93, -1, 92, 96,
1947 -1, -1, -1, -1, -1, -1, 60, -1, 62, -1,
1948 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1949 0, -1, -1, -1, -1, -1, -1, -1, 125, -1,
1950 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1951 94, -1, -1, 137, 138, 139, 140, -1, -1, -1,
1952 -1, -1, -1, 33, -1, -1, -1, -1, -1, -1,
1953 40, 41, -1, 43, 44, 45, -1, -1, -1, -1,
1954 -1, 165, -1, -1, -1, -1, -1, -1, -1, 59,
1955 60, -1, 62, 37, -1, -1, -1, -1, 42, 43,
1956 -1, 45, -1, 47, -1, -1, -1, 37, -1, -1,
1957 -1, -1, 42, 43, 44, 45, 60, 47, 62, -1,
1958 -1, -1, -1, 93, -1, 209, 96, -1, -1, 37,
1959 60, -1, 62, 217, 42, 43, -1, 45, -1, 47,
1960 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1961 94, -1, 60, -1, 62, 125, -1, -1, -1, -1,
1962 -1, -1, -1, -1, 94, -1, -1, -1, -1, -1,
1963 257, 258, 259, 260, -1, -1, 263, 264, 265, 266,
1964 267, 268, 269, 270, 271, 272, 94, -1, -1, -1,
1965 -1, -1, 276, -1, 281, 282, -1, 284, 285, 286,
1966 287, 288, 289, 290, 291, 292, 293, 294, 295, 296,
1967 297, 298, 299, 300, 301, 302, -1, -1, 305, 306,
1968 307, 308, 309, 310, 311, 312, 313, 314, 315, 316,
1969 317, 318, -1, -1, -1, 319, -1, 324, 325, 326,
1970 327, 328, 329, 330, 331, 332, 333, 334, -1, -1,
1971 337, 338, 339, 340, -1, -1, 343, 344, 302, 346,
1972 -1, 305, 349, 350, 351, 352, 353, 354, 355, 356,
1973 357, 358, 359, 360, 361, 362, 363, -1, -1, -1,
1974 367, 368, 369, 370, 371, 372, 373, 257, 258, 259,
1975 260, -1, -1, 263, 264, 265, 266, 267, 268, 269,
1976 270, 271, 272, 387, 388, 349, 350, 351, 352, 353,
1977 354, 281, 282, -1, 284, 285, 286, 287, 288, 289,
1978 290, 291, 292, 293, 294, 295, 296, 297, 298, 299,
1979 300, 301, 302, -1, -1, 305, 306, 307, 308, 309,
1980 310, 311, 312, 313, 314, 315, 316, 317, 318, -1,
1981 -1, -1, -1, -1, 324, 325, 326, 327, 328, 329,
1982 330, 331, 332, 333, 334, -1, -1, 337, 338, 339,
1983 340, 0, 302, 343, 344, 305, 346, -1, -1, 349,
1984 350, 351, 352, 353, 354, 355, 356, 357, 358, 359,
1985 360, 361, 362, 363, -1, -1, -1, 367, 368, 369,
1986 370, 371, 372, 373, 33, 349, 350, 351, 352, 353,
1987 354, 40, 41, -1, 43, 44, 45, -1, -1, 349,
1988 350, 351, 352, 353, 354, -1, -1, 0, -1, -1,
1989 59, 60, -1, 62, -1, -1, -1, -1, -1, -1,
1990 -1, 349, -1, 351, 352, 353, 354, -1, -1, -1,
1991 308, 309, 310, 311, 312, 313, 314, 315, 316, 317,
1992 318, -1, -1, -1, 93, -1, -1, 96, 41, -1,
1993 -1, 44, 0, -1, -1, -1, -1, -1, -1, 337,
1994 338, 339, 340, -1, -1, -1, 59, -1, 0, -1,
1995 -1, -1, -1, -1, -1, -1, 125, 355, 356, 357,
1996 358, 359, 360, 361, 362, 363, -1, -1, -1, -1,
1997 -1, -1, -1, 41, -1, -1, 44, -1, -1, -1,
1998 93, 33, -1, -1, -1, -1, -1, -1, 40, 41,
1999 -1, 59, 44, -1, -1, -1, -1, -1, -1, -1,
2000 -1, -1, -1, -1, -1, -1, -1, 59, 60, -1,
2001 62, -1, 125, -1, -1, -1, -1, -1, -1, -1,
2002 -1, -1, -1, -1, -1, 93, -1, -1, -1, -1,
2003 37, -1, -1, -1, -1, 42, 43, -1, 45, -1,
2004 47, 93, -1, -1, 96, -1, -1, -1, -1, -1,
2005 -1, -1, -1, 60, -1, 62, -1, 125, -1, -1,
2006 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2007 -1, -1, -1, 125, -1, -1, -1, -1, -1, -1,
2008 -1, -1, -1, -1, -1, -1, -1, 94, 257, 258,
2009 259, 260, -1, -1, 263, 264, 265, 266, 267, 268,
2010 269, 270, 271, 272, -1, -1, -1, -1, -1, -1,
2011 -1, -1, 281, 282, -1, 284, 285, 286, 287, 288,
2012 289, 290, 291, 292, 293, 294, 295, 296, 297, 298,
2013 299, 300, 301, 302, -1, -1, 305, 306, 307, 308,
2014 309, 310, 311, 312, 313, 314, 315, 316, 317, 318,
2015 -1, 264, -1, -1, -1, 324, 325, 326, 327, 328,
2016 329, 330, 331, 332, 333, 334, -1, -1, 337, 338,
2017 339, 340, -1, -1, 343, 344, -1, 346, 291, -1,
2018 349, 350, 351, 352, 353, 354, 355, 356, 357, 358,
2019 359, 360, 361, 362, 363, -1, 264, -1, 367, 368,
2020 369, 370, 371, 372, 373, 257, 258, 259, 260, -1,
2021 -1, 263, 264, 265, 266, 267, 268, 269, 270, 271,
2022 272, -1, -1, 291, -1, -1, -1, -1, -1, 281,
2023 282, -1, 284, 285, 286, 287, 288, 289, 290, 291,
2024 292, 293, 294, 295, 296, 297, 298, 299, 300, 301,
2025 302, -1, -1, 305, 306, 307, 308, 309, 310, 311,
2026 312, 313, 314, 315, 316, 317, 318, 0, -1, -1,
2027 -1, -1, 324, 325, 326, 327, 328, 329, 330, 331,
2028 332, 333, 334, 290, -1, 337, 338, 339, 340, 0,
2029 -1, 343, 344, -1, 346, -1, -1, 349, 350, 351,
2030 352, 353, 354, 355, 356, 357, 358, 359, 360, 361,
2031 362, 363, -1, -1, -1, 367, 368, 369, 370, 371,
2032 372, 373, 33, -1, -1, -1, 59, -1, -1, 40,
2033 41, -1, -1, 44, -1, -1, -1, -1, -1, -1,
2034 -1, -1, 349, 350, 351, 352, 353, 354, 59, 60,
2035 -1, 62, -1, -1, -1, -1, -1, -1, -1, -1,
2036 93, -1, -1, 96, -1, -1, -1, -1, -1, -1,
2037 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2038 -1, -1, 93, -1, -1, 96, -1, -1, -1, -1,
2039 -1, -1, 125, -1, -1, -1, -1, -1, -1, -1,
2040 -1, -1, -1, -1, -1, -1, 0, -1, -1, -1,
2041 -1, -1, -1, -1, 125, -1, -1, -1, -1, -1,
2042 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2043 -1, -1, -1, -1, -1, -1, -1, -1, -1, 33,
2044 -1, -1, -1, -1, -1, -1, 40, 41, -1, -1,
2045 44, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2046 -1, -1, -1, -1, -1, 59, 60, -1, 62, -1,
2047 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2048 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2049 -1, -1, -1, -1, -1, -1, -1, -1, -1, 93,
2050 -1, -1, 96, -1, -1, -1, -1, -1, -1, -1,
2051 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2052 -1, -1, -1, -1, 257, -1, -1, -1, -1, -1,
2053 263, 125, -1, -1, -1, 268, -1, -1, -1, -1,
2054 -1, -1, -1, -1, -1, -1, 257, 258, 259, 260,
2055 -1, -1, 263, 264, 265, 266, 267, 268, 269, 270,
2056 271, 272, -1, -1, -1, -1, -1, -1, -1, 302,
2057 281, 282, -1, 284, 285, 286, 287, 288, 289, 290,
2058 291, 292, 293, 294, 295, 296, 297, 298, 299, 300,
2059 301, 302, -1, -1, 305, 306, 307, 308, 309, 310,
2060 311, 312, 313, 314, 315, 316, 317, 318, -1, -1,
2061 -1, -1, -1, 324, 325, 326, 327, 328, 329, 330,
2062 331, 332, 333, 334, -1, -1, 337, 338, 339, 340,
2063 -1, -1, 343, 344, -1, 346, -1, -1, 349, 350,
2064 351, 352, 353, 354, 355, 356, 357, 358, 359, 360,
2065 361, 362, 363, -1, -1, -1, 367, 368, 369, 370,
2066 371, 372, 373, 257, 258, 259, 260, -1, -1, 263,
2067 264, 265, 266, 267, 268, 269, 270, 271, 272, -1,
2068 -1, -1, -1, -1, -1, -1, -1, 281, 282, -1,
2069 284, 285, 286, 287, 288, 289, 290, 291, 292, 293,
2070 294, 295, 296, 297, 298, 299, 300, 301, 302, -1,
2071 -1, 305, 306, 307, 308, 309, 310, 311, 312, 313,
2072 314, 315, 316, 317, 318, 0, -1, -1, -1, -1,
2073 324, 325, 326, 327, 328, 329, 330, 331, 332, 333,
2074 334, -1, -1, 337, 338, 339, 340, 0, -1, 343,
2075 344, -1, 346, -1, -1, 349, 350, 351, 352, 353,
2076 354, 355, 356, 357, 358, 359, 360, 361, 362, 363,
2077 -1, -1, -1, 367, 368, 369, 370, 371, 372, 373,
2078 33, -1, -1, -1, 59, -1, -1, 40, 41, -1,
2079 -1, 44, -1, -1, -1, -1, -1, -1, -1, -1,
2080 -1, -1, -1, -1, -1, -1, 59, 60, -1, 62,
2081 -1, -1, -1, -1, -1, -1, -1, -1, 93, -1,
2082 -1, 96, -1, -1, -1, -1, -1, -1, -1, -1,
2083 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2084 93, -1, -1, 96, -1, -1, -1, -1, -1, -1,
2085 125, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2086 -1, -1, -1, -1, 0, -1, -1, -1, -1, -1,
2087 -1, -1, 125, -1, -1, -1, -1, -1, 0, -1,
2088 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2089 -1, -1, -1, -1, -1, -1, -1, 33, -1, -1,
2090 -1, -1, -1, -1, 40, 41, -1, 43, 44, 45,
2091 -1, -1, -1, -1, -1, -1, -1, -1, -1, 41,
2092 -1, -1, 44, 59, -1, -1, 62, -1, -1, -1,
2093 -1, -1, -1, -1, -1, -1, -1, 59, -1, -1,
2094 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2095 -1, -1, -1, -1, -1, -1, -1, 93, -1, -1,
2096 96, -1, -1, -1, -1, -1, -1, 37, -1, -1,
2097 -1, 93, 42, 43, -1, 45, -1, 47, -1, -1,
2098 -1, -1, 257, -1, -1, -1, -1, -1, 263, 125,
2099 60, -1, 62, 268, -1, -1, -1, -1, -1, -1,
2100 -1, -1, -1, 125, 257, 258, 259, 260, -1, -1,
2101 263, 264, 265, 266, 267, 268, 269, 270, 271, 272,
2102 -1, -1, -1, -1, 94, -1, -1, 302, 281, 282,
2103 -1, 284, 285, 286, 287, 288, 289, 290, 291, 292,
2104 293, 294, 295, 296, 297, 298, 299, 300, 301, 302,
2105 -1, -1, 305, 306, 307, 308, 309, 310, 311, 312,
2106 313, 314, 315, 316, 317, 318, -1, -1, -1, -1,
2107 -1, 324, 325, 326, 327, 328, 329, 330, 331, 332,
2108 333, 334, -1, -1, 337, 338, 339, 340, -1, -1,
2109 343, 344, -1, 346, -1, -1, 349, 350, 351, 352,
2110 353, 354, 355, 356, 357, 358, 359, 360, 361, 362,
2111 363, -1, -1, -1, 367, 368, 369, 370, 371, 372,
2112 373, 257, 258, 259, 260, -1, -1, 263, -1, 265,
2113 266, 267, 268, 269, 270, 271, 272, -1, -1, -1,
2114 -1, -1, 264, -1, -1, 281, 282, -1, 284, 285,
2115 286, 287, 288, 289, 290, 291, 292, 293, 294, 295,
2116 296, 297, 298, 299, 300, 301, -1, -1, -1, 291,
2117 306, 307, 308, 309, 310, 311, 312, 313, 314, 315,
2118 316, 317, 318, 319, 320, 321, 322, 323, 324, 325,
2119 326, 327, 328, 329, 330, 331, 332, 333, 334, -1,
2120 -1, 337, 338, 339, 340, 0, -1, 343, 344, -1,
2121 -1, -1, -1, -1, -1, -1, -1, 287, -1, 355,
2122 356, 357, 358, 359, 360, 361, 362, 363, 350, -1,
2123 -1, 367, 368, 369, 370, 371, 372, 373, 33, -1,
2124 -1, -1, -1, -1, -1, 40, 41, -1, -1, 44,
2125 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2126 -1, -1, -1, -1, 59, -1, -1, -1, -1, -1,
2127 -1, -1, -1, -1, -1, -1, -1, -1, -1, 349,
2128 350, 351, 352, 353, 354, -1, -1, -1, -1, -1,
2129 -1, -1, -1, -1, -1, -1, -1, -1, 93, -1,
2130 -1, 96, -1, -1, -1, -1, -1, -1, -1, -1,
2131 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2132 -1, -1, 0, -1, -1, -1, -1, -1, -1, -1,
2133 125, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2134 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2135 -1, -1, -1, -1, -1, 33, -1, -1, -1, -1,
2136 -1, -1, 40, 41, -1, -1, 44, -1, -1, -1,
2137 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2138 -1, 59, -1, -1, -1, -1, -1, -1, -1, -1,
2139 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2140 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2141 -1, -1, -1, -1, -1, 93, -1, -1, 96, -1,
2142 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2143 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2144 -1, -1, -1, -1, -1, -1, -1, 125, -1, -1,
2145 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2146 -1, -1, 257, 258, 259, 260, -1, -1, 263, 264,
2147 265, 266, 267, 268, 269, 270, 271, 272, -1, -1,
2148 -1, -1, -1, -1, -1, -1, 281, 282, -1, 284,
2149 285, 286, 287, 288, 289, 290, 291, 292, 293, 294,
2150 295, 296, 297, 298, 299, 300, 301, 302, -1, -1,
2151 305, 306, 307, 308, 309, 310, 311, 312, 313, 314,
2152 315, 316, 317, 318, -1, -1, -1, -1, -1, 324,
2153 325, 326, 327, 328, 329, 330, 331, 332, 333, 334,
2154 -1, -1, 337, 338, 339, 340, -1, -1, 343, 344,
2155 -1, 346, -1, -1, 349, 350, 351, 352, -1, -1,
2156 355, 356, 357, 358, 359, 360, 361, 362, 363, -1,
2157 -1, -1, 367, 368, 369, 370, 371, 372, 373, 257,
2158 258, 259, 260, -1, -1, 263, 264, 265, 266, 267,
2159 268, 269, 270, 271, 272, -1, -1, -1, -1, -1,
2160 -1, -1, -1, 281, 282, -1, 284, 285, 286, 287,
2161 288, 289, 290, 291, 292, 293, 294, 295, 296, 297,
2162 298, 299, 300, 301, 302, -1, -1, 305, 306, 307,
2163 308, 309, 310, 311, 312, 313, 314, 315, 316, 317,
2164 318, -1, -1, -1, -1, -1, 324, 325, 326, 327,
2165 328, 329, 330, 331, 332, 333, 334, -1, -1, 337,
2166 338, 339, 340, 0, -1, 343, 344, -1, 346, -1,
2167 -1, 349, 350, 351, 352, -1, -1, 355, 356, 357,
2168 358, 359, 360, 361, 362, 363, -1, -1, -1, 367,
2169 368, 369, 370, 371, 372, 373, 33, -1, -1, -1,
2170 -1, -1, -1, 40, 41, -1, 43, 44, 45, -1,
2171 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2172 -1, -1, 59, -1, -1, 62, -1, -1, -1, -1,
2173 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2174 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2175 0, -1, -1, -1, -1, -1, 93, -1, -1, 96,
2176 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2177 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2178 0, -1, -1, -1, -1, -1, -1, -1, 125, -1,
2179 -1, 41, -1, -1, 44, -1, -1, -1, -1, -1,
2180 -1, -1, -1, -1, -1, -1, -1, -1, -1, 59,
2181 -1, -1, -1, 33, -1, -1, -1, -1, -1, -1,
2182 40, 41, -1, -1, 44, -1, -1, -1, -1, -1,
2183 -1, -1, -1, -1, -1, -1, -1, -1, -1, 59,
2184 -1, -1, -1, 93, -1, -1, -1, -1, -1, -1,
2185 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2186 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2187 -1, -1, -1, 93, -1, 125, 96, -1, -1, -1,
2188 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2189 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2190 -1, -1, -1, -1, -1, 125, -1, -1, -1, -1,
2191 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2192 257, 258, 259, 260, -1, -1, 263, -1, 265, 266,
2193 267, 268, 269, 270, 271, 272, -1, -1, -1, -1,
2194 -1, -1, -1, -1, 281, 282, -1, 284, 285, 286,
2195 287, 288, 289, 290, 291, 292, 293, 294, 295, 296,
2196 297, 298, 299, 300, 301, -1, -1, -1, -1, 306,
2197 307, 308, 309, 310, 311, 312, 313, 314, 315, 316,
2198 317, 318, 319, 320, 321, 322, 323, 324, 325, 326,
2199 327, 328, 329, 330, 331, 332, 333, 334, -1, -1,
2200 337, 338, 339, 340, -1, -1, 343, 344, -1, -1,
2201 -1, -1, -1, -1, 264, -1, -1, -1, 355, 356,
2202 357, 358, 359, 360, 361, 362, 363, -1, -1, -1,
2203 367, 368, 369, 370, 371, 372, 373, 257, 258, 259,
2204 260, 291, -1, 263, 264, 265, 266, 267, 268, 269,
2205 270, 271, 272, -1, -1, -1, -1, -1, -1, -1,
2206 -1, 281, 282, -1, 284, 285, 286, 287, 288, 289,
2207 290, 291, 292, 293, 294, 295, 296, 297, 298, 299,
2208 300, 301, 302, -1, -1, 305, 306, 307, 308, 309,
2209 310, 311, 312, 313, 314, 315, 316, 317, 318, 349,
2210 350, -1, -1, -1, 324, 325, 326, 327, 328, 329,
2211 330, 331, 332, 333, 334, -1, -1, 337, 338, 339,
2212 340, 0, -1, 343, 344, -1, 346, -1, -1, 349,
2213 350, -1, -1, -1, -1, 355, 356, 357, 358, 359,
2214 360, 361, 362, 363, -1, -1, -1, 367, 368, 369,
2215 370, 371, 372, 373, 33, -1, -1, -1, -1, -1,
2216 -1, 40, 41, -1, -1, 44, -1, -1, -1, -1,
2217 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2218 59, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2219 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2220 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2221 -1, 0, -1, -1, 93, -1, -1, 96, -1, -1,
2222 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2223 -1, -1, -1, -1, -1, -1, -1, -1, 0, -1,
2224 -1, -1, -1, -1, -1, -1, 125, -1, -1, -1,
2225 -1, -1, 41, -1, -1, 44, -1, -1, -1, -1,
2226 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2227 59, 33, -1, -1, -1, -1, -1, -1, 40, 41,
2228 -1, 43, 44, 45, -1, -1, -1, -1, -1, -1,
2229 -1, -1, -1, -1, -1, -1, -1, 59, -1, -1,
2230 62, -1, -1, -1, 93, -1, -1, -1, -1, -1,
2231 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2232 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2233 -1, 93, -1, -1, 96, -1, 125, -1, -1, -1,
2234 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2235 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2236 -1, -1, -1, 125, -1, -1, -1, -1, -1, -1,
2237 -1, -1, -1, -1, -1, -1, -1, -1, 257, 258,
2238 259, 260, -1, -1, 263, 264, 265, 266, 267, 268,
2239 269, 270, 271, 272, -1, -1, -1, -1, -1, -1,
2240 -1, -1, 281, 282, -1, 284, 285, 286, 287, 288,
2241 289, 290, 291, 292, 293, 294, 295, 296, 297, 298,
2242 299, 300, 301, 302, -1, -1, 305, 306, 307, 308,
2243 309, 310, 311, 312, 313, 314, 315, 316, 317, 318,
2244 -1, -1, -1, -1, -1, 324, 325, 326, 327, 328,
2245 329, 330, 331, 332, 333, 334, -1, -1, 337, 338,
2246 339, 340, -1, -1, 343, 344, -1, 346, -1, -1,
2247 -1, 350, -1, -1, -1, 264, 355, 356, 357, 358,
2248 359, 360, 361, 362, 363, -1, -1, -1, 367, 368,
2249 369, 370, 371, 372, 373, 257, 258, 259, 260, -1,
2250 -1, 263, 291, 265, 266, 267, 268, 269, 270, 271,
2251 272, -1, -1, 302, -1, -1, 305, -1, -1, 281,
2252 282, -1, 284, 285, 286, 287, 288, 289, 290, 291,
2253 292, 293, 294, 295, 296, 297, 298, 299, 300, 301,
2254 -1, -1, -1, -1, 306, 307, 308, 309, 310, 311,
2255 312, 313, 314, 315, 316, 317, 318, -1, -1, -1,
2256 349, 350, 324, 325, 326, 327, 328, 329, 330, 331,
2257 332, 333, 334, -1, -1, 337, 338, 339, 340, 0,
2258 -1, 343, 344, -1, -1, -1, -1, -1, -1, -1,
2259 -1, -1, -1, 355, 356, 357, 358, 359, 360, 361,
2260 362, 363, -1, -1, -1, 367, 368, 369, 370, 371,
2261 372, 373, 33, -1, -1, -1, -1, -1, -1, 40,
2262 41, -1, -1, 44, -1, -1, -1, -1, -1, -1,
2263 -1, -1, -1, -1, -1, -1, -1, -1, 59, -1,
2264 -1, 62, -1, -1, -1, -1, -1, -1, -1, -1,
2265 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2266 -1, -1, -1, -1, -1, -1, -1, -1, -1, 0,
2267 -1, -1, 93, -1, -1, 96, -1, -1, -1, -1,
2268 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2269 -1, -1, -1, -1, -1, -1, 0, -1, -1, -1,
2270 -1, -1, -1, -1, 125, -1, -1, -1, -1, -1,
2271 41, -1, -1, 44, -1, -1, -1, -1, -1, -1,
2272 -1, -1, -1, -1, -1, -1, -1, -1, 59, 33,
2273 -1, -1, -1, -1, -1, -1, 40, 41, -1, -1,
2274 44, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2275 -1, -1, -1, -1, -1, 59, -1, -1, -1, -1,
2276 -1, -1, 93, -1, -1, -1, -1, -1, -1, -1,
2277 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2278 -1, -1, -1, -1, -1, -1, -1, -1, -1, 93,
2279 -1, -1, 96, -1, 125, -1, -1, -1, -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, 125, -1, -1, -1, -1, -1, -1, -1, -1,
2283 -1, -1, -1, -1, -1, -1, 257, 258, 259, 260,
2284 -1, -1, 263, -1, 265, 266, 267, 268, 269, 270,
2285 271, 272, -1, -1, -1, -1, -1, -1, -1, -1,
2286 281, 282, -1, 284, 285, 286, 287, 288, 289, 290,
2287 291, 292, 293, 294, 295, 296, 297, 298, 299, 300,
2288 301, -1, -1, -1, -1, 306, 307, 308, 309, 310,
2289 311, 312, 313, 314, 315, 316, 317, 318, -1, -1,
2290 -1, -1, -1, 324, 325, 326, 327, 328, 329, 330,
2291 331, 332, 333, 334, -1, -1, 337, 338, 339, 340,
2292 -1, -1, 343, 344, -1, 91, -1, -1, -1, -1,
2293 -1, -1, -1, 264, 355, 356, 357, 358, 359, 360,
2294 361, 362, 363, -1, -1, -1, 367, 368, 369, 370,
2295 371, 372, 373, 257, 258, 259, 260, 123, -1, 263,
2296 291, 265, 266, 267, 268, 269, 270, 271, 272, -1,
2297 -1, 302, -1, -1, 305, -1, -1, 281, 282, -1,
2298 284, 285, 286, 287, 288, 289, 290, 291, 292, 293,
2299 294, 295, 296, 297, 298, 299, 300, 301, -1, -1,
2300 -1, -1, 306, 307, 308, 309, 310, 311, 312, 313,
2301 314, 315, 316, 317, 318, -1, -1, -1, -1, 350,
2302 324, 325, 326, 327, 328, 329, 330, 331, 332, 333,
2303 334, -1, -1, 337, 338, 339, 340, 0, -1, 343,
2304 344, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2305 -1, 355, 356, 357, 358, 359, 360, 361, 362, 363,
2306 -1, -1, -1, 367, 368, 369, 370, 371, 372, 373,
2307 33, -1, -1, -1, -1, -1, -1, 40, -1, -1,
2308 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2309 -1, 257, 258, -1, 260, 261, 59, -1, -1, -1,
2310 -1, -1, -1, 269, 270, 271, 272, 273, 274, 275,
2311 276, 277, 278, 279, 280, -1, -1, 283, -1, -1,
2312 -1, -1, -1, -1, 0, -1, -1, -1, -1, -1,
2313 93, -1, -1, 96, -1, -1, -1, -1, -1, -1,
2314 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2315 -1, -1, -1, -1, 0, -1, -1, -1, -1, -1,
2316 -1, -1, 125, -1, -1, 41, -1, -1, 44, 335,
2317 -1, -1, -1, -1, -1, 341, 342, -1, -1, 345,
2318 -1, 347, -1, 59, -1, -1, -1, 33, -1, -1,
2319 -1, -1, -1, -1, 40, -1, -1, -1, 364, -1,
2320 366, -1, -1, -1, -1, -1, -1, 373, 374, -1,
2321 -1, -1, -1, 59, -1, -1, -1, 93, -1, -1,
2322 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2323 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2324 -1, -1, -1, -1, -1, -1, -1, 93, -1, 125,
2325 96, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2326 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2327 -1, -1, -1, -1, -1, -1, -1, -1, -1, 125,
2328 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2329 -1, -1, -1, -1, 257, 258, 259, 260, -1, -1,
2330 263, -1, 265, 266, 267, 268, 269, 270, 271, 272,
2331 -1, -1, -1, -1, -1, -1, -1, -1, 281, 282,
2332 -1, 284, 285, 286, 287, 288, 289, 290, 291, 292,
2333 293, 294, 295, 296, 297, 298, 299, 300, 301, -1,
2334 -1, -1, -1, -1, 307, 308, 309, 310, 311, 312,
2335 313, 314, 315, 316, 317, 318, -1, -1, -1, -1,
2336 -1, 324, 325, 326, 327, 328, 329, 330, 331, 332,
2337 333, 334, -1, -1, 337, 338, 339, 340, -1, -1,
2338 343, 344, -1, -1, -1, -1, 91, -1, 264, -1,
2339 -1, -1, 355, 356, 357, 358, 359, 360, 361, 362,
2340 363, -1, -1, -1, 367, 368, 369, 370, 371, 372,
2341 373, 257, 258, 259, 260, 291, -1, 263, 123, 265,
2342 266, 267, 268, 269, 270, 271, 272, -1, -1, -1,
2343 -1, -1, -1, -1, -1, 281, 282, -1, 284, 285,
2344 286, 287, 288, 289, 290, 291, 292, 293, 294, 295,
2345 296, 297, 298, 299, 300, 301, -1, -1, -1, -1,
2346 -1, 307, 308, 309, 310, 311, 312, 313, 314, 315,
2347 316, 317, 318, -1, 350, -1, -1, -1, 324, 325,
2348 326, 327, 328, 329, 330, 331, 332, 333, 334, -1,
2349 -1, 337, 338, 339, 340, 0, -1, 343, 344, -1,
2350 -1, -1, -1, -1, -1, -1, -1, -1, -1, 355,
2351 356, 357, 358, 359, 360, 361, 362, 363, -1, -1,
2352 -1, 367, 368, 369, 370, 371, 372, 373, 33, -1,
2353 -1, -1, -1, -1, -1, 40, -1, -1, -1, -1,
2354 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2355 -1, -1, 257, 258, 59, 260, 261, -1, -1, -1,
2356 -1, -1, -1, -1, 269, 270, 271, 272, 273, 274,
2357 275, 276, 277, 278, 279, 280, -1, -1, 283, -1,
2358 -1, -1, 0, -1, -1, -1, -1, -1, 93, -1,
2359 -1, 96, -1, -1, -1, -1, -1, -1, -1, -1,
2360 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2361 -1, -1, 0, -1, -1, -1, -1, -1, -1, -1,
2362 125, -1, -1, 41, -1, -1, 44, -1, -1, -1,
2363 335, -1, -1, -1, -1, -1, 341, 342, -1, -1,
2364 345, 59, 347, -1, -1, 33, -1, -1, -1, -1,
2365 -1, -1, 40, -1, -1, -1, -1, -1, -1, 364,
2366 -1, 366, -1, -1, -1, -1, -1, -1, 373, 374,
2367 -1, 59, -1, -1, -1, 93, -1, -1, -1, -1,
2368 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2369 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2370 -1, -1, -1, -1, -1, 93, -1, 125, 96, -1,
2371 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2372 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2373 -1, -1, -1, -1, -1, -1, -1, 125, -1, -1,
2374 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2375 -1, -1, 257, 258, 259, 260, -1, -1, 263, -1,
2376 265, 266, 267, 268, 269, 270, 271, 272, -1, -1,
2377 -1, -1, -1, -1, -1, -1, 281, 282, -1, 284,
2378 285, 286, 287, 288, 289, 290, 291, 292, 293, 294,
2379 295, 296, 297, 298, 299, 300, 301, -1, -1, -1,
2380 -1, -1, 307, 308, 309, 310, 311, 312, 313, 314,
2381 315, 316, 317, 318, -1, -1, -1, -1, -1, 324,
2382 325, 326, 327, 328, 329, 330, 331, 332, 333, 334,
2383 -1, -1, 337, 338, 339, 340, -1, -1, 343, 344,
2384 -1, -1, -1, -1, -1, -1, 264, -1, -1, -1,
2385 355, 356, 357, 358, 359, 360, 361, 362, 363, -1,
2386 -1, -1, 367, 368, 369, 370, 371, 372, 373, 257,
2387 258, 259, 260, 291, -1, 263, -1, 265, 266, 267,
2388 268, 269, 270, 271, 272, -1, -1, -1, -1, -1,
2389 -1, -1, -1, 281, 282, -1, 284, 285, 286, 287,
2390 288, 289, 290, 291, 292, 293, 294, 295, 296, 297,
2391 298, 299, 300, 301, -1, -1, -1, -1, -1, 307,
2392 308, 309, 310, 311, 312, 313, 314, 315, 316, 317,
2393 318, -1, 350, -1, -1, -1, 324, 325, 326, 327,
2394 328, 329, 330, 331, 332, 333, 334, -1, -1, 337,
2395 338, 339, 340, 0, -1, 343, 344, -1, -1, -1,
2396 -1, -1, -1, -1, -1, -1, -1, 355, 356, 357,
2397 358, 359, 360, 361, 362, 363, -1, -1, -1, 367,
2398 368, 369, 370, 371, 372, 373, 33, -1, -1, -1,
2399 -1, -1, -1, 40, -1, -1, -1, -1, -1, -1,
2400 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2401 -1, -1, 59, -1, -1, -1, -1, -1, -1, -1,
2402 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2403 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2404 -1, -1, -1, -1, -1, -1, 93, -1, -1, 96,
2405 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2406 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2407 0, -1, -1, -1, -1, -1, -1, -1, 125, -1,
2408 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2409 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2410 -1, -1, -1, 33, -1, -1, -1, -1, -1, -1,
2411 40, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2412 -1, -1, -1, -1, -1, -1, -1, -1, -1, 59,
2413 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2414 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2415 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2416 -1, -1, -1, 93, -1, -1, 96, -1, -1, -1,
2417 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2418 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2419 -1, -1, -1, -1, -1, 125, -1, -1, -1, -1,
2420 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2421 257, 258, 259, 260, -1, -1, 263, -1, 265, 266,
2422 267, 268, 269, 270, 271, 272, -1, -1, -1, -1,
2423 -1, -1, -1, -1, 281, 282, -1, 284, 285, 286,
2424 287, 288, 289, 290, 291, 292, 293, 294, 295, 296,
2425 297, 298, 299, 300, 301, -1, -1, -1, -1, -1,
2426 307, 308, 309, 310, 311, 312, 313, 314, 315, 316,
2427 317, 318, -1, -1, -1, -1, -1, 324, 325, 326,
2428 327, 328, 329, 330, 331, 332, 333, 334, -1, -1,
2429 337, 338, 339, 340, -1, -1, 343, 344, -1, -1,
2430 -1, -1, -1, -1, -1, -1, -1, -1, 355, 356,
2431 357, 358, 359, 360, 361, 362, 363, -1, -1, -1,
2432 367, 368, 369, 370, 371, 372, 373, 257, 258, 259,
2433 260, -1, -1, 263, -1, 265, 266, 267, 268, 269,
2434 270, 271, 272, -1, -1, -1, -1, -1, -1, -1,
2435 -1, 281, 282, -1, 284, 285, 286, 287, 288, 289,
2436 290, 291, 292, 293, 294, 295, 296, 297, 298, 299,
2437 300, 301, -1, -1, -1, -1, -1, 307, 308, 309,
2438 310, 311, 312, 313, 314, 315, 316, 317, 318, -1,
2439 -1, -1, -1, -1, 324, 325, 326, 327, 328, 329,
2440 330, 331, 332, 333, 334, -1, -1, 337, 338, 339,
2441 340, 0, -1, 343, 344, -1, -1, -1, -1, -1,
2442 -1, -1, -1, -1, -1, 355, 356, 357, 358, 359,
2443 360, 361, 362, 363, -1, -1, -1, 367, 368, 369,
2444 370, 371, 372, 373, 33, -1, -1, -1, -1, -1,
2445 -1, 40, -1, -1, -1, -1, -1, -1, -1, -1,
2446 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2447 59, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2448 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2449 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2450 -1, -1, -1, -1, 93, -1, -1, 96, -1, -1,
2451 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2452 -1, -1, -1, -1, -1, -1, -1, -1, 0, -1,
2453 -1, -1, -1, -1, -1, -1, 125, -1, -1, -1,
2454 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2455 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2456 -1, 33, -1, -1, -1, -1, -1, -1, 40, -1,
2457 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2458 -1, -1, -1, -1, -1, -1, -1, 59, -1, -1,
2459 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2460 -1, -1, -1, -1, -1, -1, -1, -1, -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, -1, -1, -1,
2465 -1, -1, -1, 125, -1, -1, -1, -1, -1, -1,
2466 -1, -1, -1, -1, -1, -1, -1, -1, 257, 258,
2467 259, 260, -1, -1, 263, -1, 265, 266, 267, 268,
2468 269, 270, 271, 272, -1, -1, -1, -1, -1, -1,
2469 -1, -1, 281, 282, -1, 284, 285, 286, 287, 288,
2470 289, 290, 291, 292, 293, 294, 295, 296, 297, 298,
2471 299, 300, 301, -1, -1, -1, -1, -1, 307, 308,
2472 309, 310, 311, 312, 313, 314, 315, 316, 317, 318,
2473 -1, -1, -1, -1, -1, 324, 325, 326, 327, 328,
2474 329, 330, 331, 332, 333, 334, -1, -1, 337, 338,
2475 339, 340, -1, -1, 343, 344, -1, -1, -1, -1,
2476 -1, -1, -1, -1, -1, -1, 355, 356, 357, 358,
2477 359, 360, 361, 362, 363, -1, -1, -1, 367, 368,
2478 369, 370, 371, 372, 373, 257, 258, 259, 260, -1,
2479 -1, 263, -1, 265, 266, 267, 268, 269, 270, 271,
2480 272, -1, -1, -1, -1, -1, -1, -1, -1, 281,
2481 282, -1, 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, 0,
2487 -1, 343, 344, -1, -1, -1, -1, -1, -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, 33, -1, -1, -1, -1, -1, -1, 40,
2491 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2492 -1, -1, -1, -1, -1, -1, -1, -1, 59, -1,
2493 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2494 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2495 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2496 -1, -1, 93, -1, -1, 96, -1, -1, -1, -1,
2497 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2498 -1, -1, -1, -1, -1, -1, 0, -1, -1, -1,
2499 -1, -1, -1, -1, 125, -1, -1, -1, -1, -1,
2500 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2501 -1, -1, -1, -1, -1, -1, -1, -1, -1, 33,
2502 -1, -1, -1, -1, -1, -1, 40, -1, -1, -1,
2503 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2504 -1, -1, -1, -1, -1, 59, -1, -1, -1, -1,
2505 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2506 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2507 -1, -1, -1, -1, -1, -1, -1, -1, -1, 93,
2508 -1, -1, 96, -1, -1, -1, -1, -1, -1, -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, 125, -1, -1, -1, -1, -1, -1, -1, -1,
2512 -1, -1, -1, -1, -1, -1, 257, 258, 259, 260,
2513 -1, -1, 263, -1, 265, 266, 267, 268, 269, 270,
2514 271, 272, -1, -1, -1, -1, -1, -1, -1, -1,
2515 281, 282, -1, 284, 285, 286, 287, 288, 289, 290,
2516 291, 292, 293, 294, 295, 296, 297, 298, 299, 300,
2517 301, -1, -1, -1, -1, -1, 307, 308, 309, 310,
2518 311, 312, 313, 314, 315, 316, 317, 318, -1, -1,
2519 -1, -1, -1, 324, 325, 326, 327, 328, 329, 330,
2520 331, 332, 333, 334, -1, -1, 337, 338, 339, 340,
2521 -1, -1, 343, 344, -1, -1, -1, -1, -1, -1,
2522 -1, -1, -1, -1, 355, 356, 357, 358, 359, 360,
2523 361, 362, 363, -1, -1, -1, 367, 368, 369, 370,
2524 371, 372, 373, 257, 258, 259, 260, -1, -1, 263,
2525 -1, 265, 266, 267, 268, 269, 270, 271, 272, -1,
2526 -1, -1, -1, -1, -1, -1, -1, 281, 282, -1,
2527 284, 285, 286, 287, 288, 289, 290, 291, 292, 293,
2528 294, 295, 296, 297, 298, 299, 300, 301, -1, -1,
2529 -1, -1, -1, 307, 308, 309, 310, 311, 312, 313,
2530 314, 315, 316, 317, 318, -1, -1, -1, -1, -1,
2531 324, 325, 326, 327, 328, 329, 330, 331, 332, 333,
2532 334, -1, -1, 337, 338, 339, 340, 0, -1, 343,
2533 344, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2534 -1, 355, 356, 357, 358, 359, 360, 361, 362, 363,
2535 -1, -1, -1, 367, 368, 369, 370, 371, 372, 373,
2536 33, -1, -1, -1, -1, -1, -1, 40, -1, -1,
2537 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2538 -1, -1, -1, -1, -1, -1, 59, -1, -1, -1,
2539 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2540 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2541 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2542 93, -1, -1, 96, -1, -1, -1, -1, -1, -1,
2543 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2544 -1, -1, -1, -1, 0, -1, -1, -1, -1, -1,
2545 -1, -1, 125, -1, -1, -1, -1, -1, -1, -1,
2546 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2547 -1, -1, -1, -1, -1, -1, -1, 33, -1, -1,
2548 -1, -1, -1, -1, 40, -1, -1, -1, -1, -1,
2549 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2550 -1, -1, -1, 59, -1, -1, -1, -1, -1, -1,
2551 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2552 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2553 -1, -1, -1, -1, -1, -1, -1, 93, -1, -1,
2554 96, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2555 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2556 -1, -1, -1, -1, -1, -1, -1, -1, -1, 125,
2557 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2558 -1, -1, -1, -1, 257, 258, 259, 260, -1, -1,
2559 263, -1, 265, 266, 267, 268, 269, 270, 271, 272,
2560 -1, -1, -1, -1, -1, -1, -1, -1, 281, 282,
2561 -1, 284, 285, 286, 287, 288, 289, 290, 291, 292,
2562 293, 294, 295, 296, 297, 298, 299, 300, 301, -1,
2563 -1, -1, -1, -1, 307, 308, 309, 310, 311, 312,
2564 313, 314, 315, 316, 317, 318, -1, -1, -1, -1,
2565 -1, 324, 325, 326, 327, 328, 329, 330, 331, 332,
2566 333, 334, -1, -1, 337, 338, 339, 340, -1, -1,
2567 343, 344, -1, -1, -1, -1, -1, -1, -1, -1,
2568 -1, -1, 355, 356, 357, 358, 359, 360, 361, 362,
2569 363, -1, -1, -1, 367, 368, 369, 370, 371, 372,
2570 373, 257, 258, 259, 260, -1, -1, 263, -1, 265,
2571 266, 267, 268, 269, 270, 271, 272, -1, -1, -1,
2572 -1, -1, -1, -1, -1, 281, 282, -1, 284, 285,
2573 286, 287, 288, 289, 290, 291, 292, 293, 294, 295,
2574 296, 297, 298, 299, 300, 301, -1, -1, -1, -1,
2575 -1, 307, 308, 309, 310, 311, 312, 313, 314, 315,
2576 316, 317, 318, -1, -1, -1, -1, -1, 324, 325,
2577 326, 327, 328, 329, 330, 331, 332, 333, 334, -1,
2578 -1, 337, 338, 339, 340, 0, -1, 343, 344, -1,
2579 -1, -1, -1, -1, -1, -1, -1, -1, -1, 355,
2580 356, 357, 358, 359, 360, 361, 362, 363, -1, -1,
2581 -1, 367, 368, 369, 370, 371, 372, 373, 33, -1,
2582 -1, -1, -1, -1, -1, 40, -1, -1, -1, -1,
2583 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2584 -1, -1, -1, -1, 59, -1, -1, -1, -1, -1,
2585 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2586 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2587 -1, -1, -1, -1, -1, -1, -1, -1, 93, -1,
2588 -1, 96, -1, -1, -1, -1, -1, -1, -1, -1,
2589 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2590 -1, -1, 0, -1, -1, -1, -1, -1, -1, -1,
2591 125, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2592 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2593 -1, -1, -1, -1, -1, 33, -1, -1, -1, -1,
2594 -1, -1, 40, -1, -1, -1, -1, -1, -1, -1,
2595 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2596 -1, 59, -1, -1, -1, -1, -1, -1, -1, -1,
2597 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2598 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2599 -1, -1, -1, -1, -1, 93, -1, -1, 96, -1,
2600 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2601 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2602 -1, -1, -1, -1, -1, -1, -1, 125, -1, -1,
2603 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2604 -1, -1, 257, 258, 259, 260, -1, -1, 263, -1,
2605 265, 266, 267, 268, 269, 270, 271, 272, -1, -1,
2606 -1, -1, -1, -1, -1, -1, 281, 282, -1, 284,
2607 285, 286, 287, 288, 289, 290, 291, 292, 293, 294,
2608 295, 296, 297, 298, 299, 300, 301, -1, -1, -1,
2609 -1, -1, 307, 308, 309, 310, 311, 312, 313, 314,
2610 315, 316, 317, 318, -1, -1, -1, -1, -1, 324,
2611 325, 326, 327, 328, 329, 330, 331, 332, 333, 334,
2612 -1, -1, 337, 338, 339, 340, -1, -1, 343, 344,
2613 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2614 355, 356, 357, 358, 359, 360, 361, 362, 363, -1,
2615 -1, -1, 367, 368, 369, 370, 371, 372, 373, 257,
2616 258, 259, 260, -1, -1, 263, -1, 265, 266, 267,
2617 268, 269, 270, 271, 272, -1, -1, -1, -1, -1,
2618 -1, -1, -1, 281, 282, -1, 284, 285, 286, 287,
2619 288, 289, 290, 291, 292, 293, 294, 295, 296, 297,
2620 298, 299, 300, 301, -1, -1, -1, -1, -1, 307,
2621 308, 309, 310, 311, 312, 313, 314, 315, 316, 317,
2622 318, -1, -1, -1, -1, -1, 324, 325, 326, 327,
2623 328, 329, 330, 331, 332, 333, 334, -1, -1, 337,
2624 338, 339, 340, 0, -1, 343, 344, -1, -1, -1,
2625 -1, -1, -1, -1, -1, -1, -1, 355, 356, 357,
2626 358, 359, 360, 361, 362, 363, -1, -1, -1, 367,
2627 368, 369, 370, 371, 372, 373, 33, -1, -1, -1,
2628 -1, -1, -1, 40, -1, -1, -1, -1, -1, -1,
2629 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2630 -1, -1, 59, -1, -1, -1, -1, -1, -1, -1,
2631 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2632 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2633 -1, -1, -1, -1, -1, -1, 93, -1, -1, 96,
2634 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2635 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2636 0, -1, -1, -1, -1, -1, -1, -1, 125, -1,
2637 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2638 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2639 -1, -1, -1, 33, -1, -1, -1, -1, -1, -1,
2640 40, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2641 -1, -1, -1, -1, -1, -1, -1, -1, -1, 59,
2642 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2643 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2644 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2645 -1, -1, -1, 93, -1, -1, 96, -1, -1, -1,
2646 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2647 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2648 -1, -1, -1, -1, -1, 125, -1, -1, -1, -1,
2649 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2650 257, 258, 259, 260, -1, -1, 263, -1, 265, 266,
2651 267, 268, 269, 270, 271, 272, -1, -1, -1, -1,
2652 -1, -1, -1, -1, 281, 282, -1, 284, 285, 286,
2653 287, 288, 289, 290, 291, 292, 293, 294, 295, 296,
2654 297, 298, 299, 300, 301, -1, -1, -1, -1, -1,
2655 307, 308, 309, 310, 311, 312, 313, 314, 315, 316,
2656 317, 318, -1, -1, -1, -1, -1, 324, 325, 326,
2657 327, 328, 329, 330, 331, 332, 333, 334, -1, -1,
2658 337, 338, 339, 340, -1, -1, 343, 344, -1, -1,
2659 -1, -1, -1, -1, -1, -1, -1, -1, 355, 356,
2660 357, 358, 359, 360, 361, 362, 363, -1, -1, -1,
2661 367, 368, 369, 370, 371, 372, 373, 257, 258, 259,
2662 260, -1, -1, 263, -1, 265, 266, 267, 268, 269,
2663 270, 271, 272, -1, -1, -1, -1, -1, -1, -1,
2664 -1, 281, 282, -1, 284, 285, 286, 287, 288, 289,
2665 290, 291, 292, 293, 294, 295, 296, 297, 298, 299,
2666 300, 301, -1, -1, -1, -1, -1, 307, 308, 309,
2667 310, 311, 312, 313, 314, 315, 316, 317, 318, -1,
2668 -1, -1, -1, -1, 324, 325, 326, 327, 328, 329,
2669 330, 331, 332, 333, 334, -1, -1, 337, 338, 339,
2670 340, 0, -1, 343, 344, -1, -1, -1, -1, -1,
2671 -1, -1, -1, -1, -1, 355, 356, 357, 358, 359,
2672 360, 361, 362, 363, -1, -1, -1, 367, 368, 369,
2673 370, 371, 372, 373, 33, -1, -1, -1, -1, -1,
2674 -1, 40, -1, -1, -1, -1, -1, -1, -1, -1,
2675 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2676 59, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2677 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2678 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2679 -1, -1, -1, -1, 93, -1, -1, 96, -1, -1,
2680 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2681 -1, -1, -1, -1, -1, -1, -1, -1, 0, -1,
2682 -1, -1, -1, -1, -1, -1, 125, -1, -1, -1,
2683 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2684 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2685 -1, 33, -1, -1, -1, -1, -1, -1, 40, -1,
2686 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2687 -1, -1, -1, -1, -1, -1, -1, 59, -1, -1,
2688 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2689 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2690 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2691 -1, 93, -1, -1, 96, -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, -1, -1, 125, -1, -1, -1, -1, -1, -1,
2695 -1, -1, -1, -1, -1, -1, -1, -1, 257, 258,
2696 259, 260, -1, -1, 263, -1, 265, 266, 267, 268,
2697 269, 270, 271, 272, -1, -1, -1, -1, -1, -1,
2698 -1, -1, 281, 282, -1, 284, 285, 286, 287, 288,
2699 289, 290, 291, 292, 293, 294, 295, 296, 297, 298,
2700 299, 300, 301, -1, -1, -1, -1, -1, 307, 308,
2701 309, 310, 311, 312, 313, 314, 315, 316, 317, 318,
2702 -1, -1, -1, -1, -1, 324, 325, 326, 327, 328,
2703 329, 330, 331, 332, 333, 334, -1, -1, 337, 338,
2704 339, 340, -1, -1, 343, 344, -1, -1, -1, -1,
2705 -1, -1, -1, -1, -1, -1, 355, 356, 357, 358,
2706 359, 360, 361, 362, 363, -1, -1, -1, 367, 368,
2707 369, 370, 371, 372, 373, 257, 258, 259, 260, -1,
2708 -1, 263, -1, 265, 266, 267, 268, 269, 270, 271,
2709 272, -1, -1, -1, -1, -1, -1, -1, -1, 281,
2710 282, -1, 284, 285, 286, 287, 288, 289, 290, 291,
2711 292, 293, 294, 295, 296, 297, 298, 299, 300, 301,
2712 -1, -1, -1, -1, -1, 307, 308, 309, 310, 311,
2713 312, 313, 314, 315, 316, 317, 318, -1, -1, -1,
2714 -1, -1, 324, 325, 326, 327, 328, 329, 330, 331,
2715 332, 333, 334, -1, -1, 337, 338, 339, 340, 0,
2716 -1, 343, 344, -1, -1, -1, -1, -1, -1, -1,
2717 -1, -1, -1, 355, 356, 357, 358, 359, 360, 361,
2718 362, 363, -1, -1, -1, 367, 368, 369, 370, 371,
2719 372, 373, 33, -1, -1, -1, -1, -1, -1, 40,
2720 -1, -1, -1, 44, 45, -1, -1, -1, -1, -1,
2721 -1, -1, -1, -1, -1, -1, -1, -1, 59, -1,
2722 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2723 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2724 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2725 -1, -1, 93, -1, -1, -1, -1, -1, -1, -1,
2726 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2727 -1, -1, -1, -1, -1, -1, 0, -1, -1, -1,
2728 -1, -1, -1, -1, 125, -1, -1, -1, -1, -1,
2729 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2730 -1, -1, -1, -1, -1, -1, -1, -1, -1, 33,
2731 -1, -1, -1, -1, -1, -1, 40, 41, -1, 43,
2732 44, 45, -1, -1, -1, -1, -1, -1, -1, -1,
2733 -1, -1, -1, -1, -1, 59, -1, -1, 62, -1,
2734 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2735 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2736 -1, -1, -1, -1, -1, -1, -1, -1, -1, 93,
2737 -1, -1, 96, -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, 125, -1, -1, -1, -1, -1, -1, -1, -1,
2741 -1, -1, -1, -1, -1, -1, -1, 258, 259, 260,
2742 -1, -1, -1, -1, 265, 266, 267, -1, 269, 270,
2743 271, 272, -1, -1, -1, -1, -1, -1, -1, -1,
2744 281, 282, -1, 284, 285, 286, 287, 288, 289, 290,
2745 291, 292, 293, 294, 295, 296, 297, 298, 299, 300,
2746 301, -1, -1, -1, -1, -1, 307, 308, 309, 310,
2747 311, 312, 313, 314, 315, 316, 317, 318, -1, -1,
2748 -1, -1, -1, 324, 325, 326, 327, 328, 329, 330,
2749 331, 332, 333, 334, -1, -1, 337, 338, 339, 340,
2750 -1, -1, 343, 344, -1, -1, -1, -1, -1, -1,
2751 -1, -1, -1, -1, 355, 356, 357, 358, 359, 360,
2752 361, 362, 363, -1, -1, -1, 367, 368, 369, 370,
2753 371, 372, 373, 257, 258, 259, 260, -1, -1, 263,
2754 -1, 265, 266, 267, 268, 269, 270, 271, 272, -1,
2755 -1, -1, -1, -1, -1, -1, -1, 281, 282, -1,
2756 284, 285, 286, 287, 288, 289, 290, 291, 292, 293,
2757 294, 295, 296, 297, 298, 299, 300, 301, 0, -1,
2758 -1, -1, 306, 307, -1, -1, -1, -1, -1, -1,
2759 -1, -1, -1, -1, -1, 319, 320, 321, 322, 323,
2760 324, 325, 326, 327, 328, 329, 330, 331, 332, 333,
2761 334, 33, -1, -1, -1, -1, -1, -1, 40, 343,
2762 344, 43, -1, 45, 46, -1, -1, -1, -1, -1,
2763 -1, -1, -1, -1, -1, -1, -1, 59, -1, -1,
2764 -1, -1, -1, 367, 368, 369, 370, 371, 372, 373,
2765 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2766 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2767 -1, 93, 0, -1, 96, -1, -1, -1, -1, -1,
2768 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2769 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2770 -1, -1, -1, 125, -1, 33, -1, -1, -1, -1,
2771 -1, -1, 40, 41, -1, -1, 44, 45, -1, -1,
2772 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2773 -1, 59, -1, -1, -1, -1, -1, -1, -1, -1,
2774 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2775 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2776 -1, 0, -1, -1, -1, 93, -1, -1, 96, -1,
2777 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2778 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2779 -1, -1, -1, -1, 33, -1, -1, 125, -1, -1,
2780 -1, 40, 41, -1, -1, 44, -1, -1, -1, -1,
2781 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2782 59, 60, -1, 62, -1, -1, -1, -1, -1, -1,
2783 -1, -1, -1, -1, -1, 257, 258, 259, 260, -1,
2784 -1, 263, -1, 265, 266, 267, 268, 269, 270, 271,
2785 272, -1, -1, -1, 93, -1, -1, 96, -1, 281,
2786 282, -1, 284, 285, 286, 287, 288, 289, 290, 291,
2787 292, 293, 294, 295, 296, 297, 298, 299, 300, 301,
2788 -1, -1, -1, -1, 0, 307, 125, -1, -1, -1,
2789 -1, -1, -1, -1, -1, -1, -1, 319, 320, 321,
2790 322, 323, 324, 325, 326, 327, 328, 329, 330, 331,
2791 332, 333, 334, -1, -1, -1, -1, 33, -1, -1,
2792 -1, 343, 344, -1, 40, -1, -1, -1, -1, 257,
2793 258, 259, 260, -1, -1, 263, -1, 265, 266, 267,
2794 268, 269, 270, 59, -1, 367, 368, 369, 370, 371,
2795 372, 373, -1, 281, 282, -1, 284, 285, 286, 287,
2796 288, 289, 290, 291, 292, 293, 294, 295, 296, 297,
2797 298, 299, 300, 301, -1, -1, -1, 93, -1, 307,
2798 96, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2799 -1, -1, -1, -1, -1, -1, 324, 325, 326, 327,
2800 328, 329, 330, 331, 332, 333, 334, -1, -1, 125,
2801 -1, -1, -1, -1, -1, 343, 344, -1, 257, 258,
2802 259, 260, -1, -1, 263, -1, -1, -1, -1, 268,
2803 -1, -1, 271, 272, -1, -1, -1, 0, -1, 367,
2804 368, 369, 370, 371, 372, 373, -1, -1, -1, -1,
2805 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2806 -1, -1, -1, -1, -1, -1, -1, -1, 307, 308,
2807 309, 310, 311, 312, 313, 314, 315, 316, 317, 318,
2808 -1, -1, -1, -1, -1, 324, 325, 326, 327, 328,
2809 329, 330, 331, 332, 333, 334, 59, -1, 337, 338,
2810 339, 340, -1, -1, -1, -1, -1, -1, -1, -1,
2811 349, 350, 351, 352, 353, 354, 355, 356, 357, 358,
2812 359, 360, 361, 362, 363, -1, -1, -1, -1, -1,
2813 93, -1, -1, -1, 373, -1, -1, -1, -1, -1,
2814 -1, 257, 258, 259, 260, -1, -1, 263, -1, -1,
2815 -1, -1, 268, -1, -1, 271, 272, -1, -1, -1,
2816 -1, -1, 125, -1, -1, -1, -1, -1, -1, -1,
2817 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2818 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2819 -1, 307, 308, 309, 310, 311, 312, 313, 314, 315,
2820 316, 317, 318, -1, -1, -1, -1, -1, 324, 325,
2821 326, 327, 328, 329, 330, 331, 332, 333, 334, 0,
2822 -1, 337, 338, 339, 340, -1, -1, -1, -1, -1,
2823 -1, -1, -1, -1, -1, -1, -1, -1, -1, 355,
2824 356, 357, 358, 359, 360, 361, 362, 363, -1, -1,
2825 -1, -1, 33, -1, -1, -1, -1, 373, -1, 40,
2826 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2827 -1, -1, -1, -1, -1, -1, -1, -1, 59, -1,
2828 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2829 -1, -1, -1, -1, -1, -1, -1, 260, -1, -1,
2830 -1, -1, 265, 266, 267, -1, 269, 270, 271, 272,
2831 -1, -1, 93, -1, -1, 96, -1, -1, 281, 282,
2832 -1, 284, 285, 286, 287, 288, 289, 290, 291, 292,
2833 293, 294, 295, 296, 297, 298, 299, 300, 301, 302,
2834 0, -1, -1, -1, 125, -1, -1, -1, -1, -1,
2835 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2836 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2837 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2838 343, 344, -1, -1, -1, -1, -1, 0, -1, -1,
2839 -1, -1, -1, -1, -1, -1, -1, -1, -1, 59,
2840 -1, -1, -1, -1, 367, 368, 369, 370, 371, 372,
2841 373, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2842 -1, -1, -1, -1, 37, -1, -1, -1, 41, 42,
2843 43, 44, 45, 93, 47, -1, -1, -1, -1, -1,
2844 -1, -1, -1, -1, -1, -1, 59, 60, -1, 62,
2845 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2846 -1, 0, -1, -1, -1, 125, -1, -1, -1, -1,
2847 -1, -1, -1, -1, -1, -1, 257, 258, 259, 260,
2848 93, -1, 263, -1, -1, -1, -1, 268, -1, -1,
2849 271, 272, -1, -1, -1, -1, -1, -1, -1, -1,
2850 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2851 -1, -1, 125, -1, -1, -1, -1, -1, -1, -1,
2852 59, -1, -1, -1, -1, 0, 307, 308, 309, 310,
2853 311, 312, 313, 314, 315, 316, 317, 318, -1, -1,
2854 -1, -1, -1, 324, 325, 326, 327, 328, 329, 330,
2855 331, 332, 333, 334, 93, -1, 337, 338, 339, 340,
2856 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2857 -1, -1, -1, -1, 355, 356, 357, 358, 359, 360,
2858 361, 362, 363, -1, 59, -1, 125, -1, -1, 0,
2859 -1, -1, 373, -1, -1, -1, -1, -1, -1, -1,
2860 260, -1, -1, -1, -1, 265, 266, 267, -1, 269,
2861 270, 271, 272, -1, -1, -1, -1, -1, 93, -1,
2862 -1, 281, 282, -1, 284, 285, 286, 287, 288, 289,
2863 290, 291, 292, 293, 294, 295, 296, 297, 298, 299,
2864 300, 301, 302, -1, -1, -1, -1, -1, 59, -1,
2865 125, 264, -1, -1, -1, -1, -1, -1, -1, -1,
2866 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2867 -1, -1, -1, -1, -1, -1, -1, -1, 291, -1,
2868 -1, -1, 93, 343, 344, -1, -1, -1, -1, 302,
2869 -1, -1, 305, -1, -1, -1, -1, -1, -1, -1,
2870 -1, -1, -1, -1, -1, -1, -1, 367, 368, 369,
2871 370, 371, 372, 373, 125, 0, -1, -1, -1, -1,
2872 -1, 260, -1, -1, -1, -1, 265, 266, 267, -1,
2873 269, 270, 271, 272, -1, -1, 349, 350, 351, 352,
2874 353, 354, 281, 282, -1, 284, 285, 286, 287, 288,
2875 289, 290, 291, 292, 293, 294, 295, 296, 297, 298,
2876 299, 300, 301, -1, -1, -1, -1, -1, -1, -1,
2877 -1, -1, -1, -1, 59, -1, -1, -1, -1, 0,
2878 -1, -1, -1, -1, -1, 260, -1, -1, -1, -1,
2879 265, 266, 267, -1, 269, 270, 271, 272, -1, -1,
2880 -1, -1, -1, -1, 343, 344, 281, 282, 93, 284,
2881 285, 286, 287, 288, 289, 290, 291, 292, 293, 294,
2882 295, 296, 297, 298, 299, 300, 301, -1, 367, 368,
2883 369, 370, 371, 372, 373, -1, -1, -1, 59, -1,
2884 125, -1, -1, 0, -1, -1, -1, -1, -1, 260,
2885 -1, -1, -1, -1, 265, 266, 267, -1, 269, 270,
2886 271, 272, -1, -1, -1, -1, -1, -1, 343, 344,
2887 281, 282, 93, 284, 285, 286, 287, 288, 289, 290,
2888 291, 292, 293, 294, 295, 296, 297, 298, 299, 300,
2889 301, -1, 367, 368, 369, 370, 371, 372, 373, -1,
2890 -1, -1, 59, -1, 125, -1, -1, -1, -1, -1,
2891 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2892 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2893 -1, -1, 343, 344, -1, -1, 93, -1, -1, -1,
2894 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2895 -1, -1, -1, -1, -1, -1, 367, 368, 369, 370,
2896 371, 372, 373, -1, -1, -1, -1, -1, 125, -1,
2897 -1, -1, -1, -1, -1, 260, -1, -1, -1, -1,
2898 265, 266, 267, -1, 269, 270, 271, 272, -1, -1,
2899 -1, -1, -1, -1, -1, -1, 281, 282, -1, 284,
2900 285, 286, 287, 288, 289, 290, 291, 292, 293, 294,
2901 295, 296, 297, 298, 299, 300, 301, -1, -1, -1,
2902 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2903 -1, -1, -1, -1, -1, -1, -1, -1, -1, 260,
2904 -1, -1, -1, -1, 265, 266, 267, -1, 269, 270,
2905 271, 272, -1, -1, -1, -1, -1, -1, 343, 344,
2906 281, 282, -1, 284, 285, 286, 287, 288, 289, 290,
2907 291, 292, 293, 294, 295, 296, 297, 298, 299, 300,
2908 301, -1, 367, 368, 369, 370, 371, 372, 373, -1,
2909 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2910 -1, -1, -1, 260, -1, -1, -1, -1, 265, 266,
2911 267, -1, 269, 270, 271, 272, -1, -1, -1, -1,
2912 -1, -1, 343, 344, 281, 282, 0, 284, 285, 286,
2913 287, 288, 289, 290, 291, 292, 293, 294, 295, 296,
2914 297, 298, 299, 300, 301, -1, 367, 368, 369, 370,
2915 371, 372, 373, -1, -1, -1, -1, -1, -1, 33,
2916 -1, -1, -1, -1, -1, -1, 40, -1, -1, -1,
2917 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2918 -1, -1, -1, -1, -1, 59, 343, 344, -1, -1,
2919 -1, -1, -1, -1, -1, -1, 0, -1, -1, -1,
2920 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2921 367, 368, 369, 370, 371, 372, 373, -1, -1, 93,
2922 -1, -1, 96, -1, -1, -1, -1, -1, -1, -1,
2923 -1, -1, -1, -1, -1, -1, -1, -1, -1, 43,
2924 -1, 45, 46, -1, -1, -1, -1, -1, -1, -1,
2925 -1, 125, -1, -1, -1, 59, -1, -1, -1, -1,
2926 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2927 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2928 -1, -1, -1, -1, -1, -1, -1, -1, -1, 93,
2929 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2930 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2931 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2932 -1, 125, -1, -1, -1, -1, -1, -1, -1, -1,
2933 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2934 -1, 33, -1, -1, -1, -1, -1, -1, 40, -1,
2935 -1, -1, -1, 45, -1, -1, -1, -1, -1, -1,
2936 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2937 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2938 -1, -1, -1, 257, 258, 259, -1, -1, -1, 263,
2939 -1, 265, 266, 267, 268, 269, 270, 271, 272, 91,
2940 -1, -1, -1, -1, 96, -1, -1, 281, 282, -1,
2941 284, 285, 286, 287, 288, 289, 290, 291, 292, 293,
2942 294, 295, 296, 297, 298, 299, 300, 301, -1, -1,
2943 -1, 123, -1, 307, 308, 309, 310, 311, 312, 313,
2944 314, 315, 316, 317, 318, -1, -1, -1, -1, -1,
2945 324, 325, 326, 327, 328, 329, 330, 331, 332, 333,
2946 334, -1, -1, 337, 338, 339, 340, 271, 272, 343,
2947 344, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2948 -1, 355, 356, 357, 358, 359, 360, 361, 362, 363,
2949 -1, -1, -1, 367, 368, 369, 370, 371, 372, -1,
2950 -1, -1, -1, -1, 308, 309, 310, 311, 312, 313,
2951 314, 315, 316, 317, 318, 319, 320, 321, 322, 323,
2952 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2953 -1, -1, -1, 337, 338, 339, 340, 33, -1, -1,
2954 -1, -1, -1, -1, 40, -1, -1, -1, -1, 45,
2955 -1, 355, 356, 357, 358, 359, 360, 361, 362, 363,
2956 -1, -1, -1, -1, -1, 257, 258, 259, 260, 261,
2957 -1, 263, -1, -1, -1, -1, 268, 269, 270, 271,
2958 272, 273, 274, 275, 276, 277, 278, 279, 280, -1,
2959 -1, 283, -1, -1, -1, 91, -1, -1, -1, -1,
2960 96, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2961 -1, -1, -1, -1, -1, 307, 308, 309, 310, 311,
2962 312, 313, 314, 315, 316, 317, 318, 123, -1, -1,
2963 -1, -1, 324, 325, 326, 327, 328, 329, 330, 331,
2964 332, 333, 334, 335, -1, 337, 338, 339, 340, 341,
2965 342, -1, -1, 345, -1, 347, -1, -1, -1, -1,
2966 -1, -1, -1, 355, 356, 357, 358, 359, 360, 361,
2967 362, 363, 364, 33, 366, -1, -1, -1, -1, -1,
2968 40, 373, 374, -1, -1, 45, -1, -1, -1, -1,
2969 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2970 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2971 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2972 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2973 -1, -1, -1, -1, -1, -1, 96, -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, 257, 258, 259, 260, 261, -1, 263, -1, -1,
2977 -1, -1, 268, 269, 270, 271, 272, 273, 274, 275,
2978 276, 277, 278, 279, 280, -1, -1, 283, -1, -1,
2979 33, -1, -1, -1, -1, -1, -1, 40, 41, -1,
2980 -1, -1, 45, -1, -1, -1, -1, -1, -1, -1,
2981 -1, 307, 308, 309, 310, 311, 312, 313, 314, 315,
2982 316, 317, 318, -1, -1, -1, -1, -1, 324, 325,
2983 326, 327, 328, 329, 330, 331, 332, 333, 334, 335,
2984 -1, 337, 338, 339, 340, 341, 342, -1, -1, 345,
2985 -1, 347, -1, 96, -1, -1, -1, -1, -1, 355,
2986 356, 357, 358, 359, 360, 361, 362, 363, 364, -1,
2987 366, -1, -1, -1, -1, -1, -1, 373, 374, -1,
2988 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2989 -1, -1, -1, -1, -1, -1, -1, 257, 258, 259,
2990 260, -1, -1, 263, -1, 265, 266, 267, 268, 269,
2991 270, 271, 272, -1, -1, -1, -1, -1, -1, -1,
2992 -1, 281, 282, -1, 284, 285, 286, 287, 288, 289,
2993 290, 291, 292, 293, 294, 295, 296, 297, 298, 299,
2994 300, 301, -1, -1, -1, -1, -1, 307, 308, 309,
2995 310, 311, 312, 313, 314, 315, 316, 317, 318, -1,
2996 -1, -1, -1, -1, 324, 325, 326, 327, 328, 329,
2997 330, 331, 332, 333, 334, 33, -1, 337, 338, 339,
2998 340, -1, 40, 343, 344, -1, -1, 45, 46, -1,
2999 -1, -1, -1, -1, -1, 355, 356, 357, 358, 359,
3000 360, 361, 362, 363, -1, -1, -1, 367, 368, 369,
3001 370, 371, 372, 373, 257, 258, 259, 260, -1, -1,
3002 263, -1, -1, -1, -1, 268, -1, -1, 271, 272,
3003 -1, -1, -1, -1, -1, -1, -1, -1, 96, -1,
3004 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3005 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3006 -1, -1, -1, -1, 307, 308, 309, 310, 311, 312,
3007 313, 314, 315, 316, 317, 318, -1, -1, -1, -1,
3008 -1, 324, 325, 326, 327, 328, 329, 330, 331, 332,
3009 333, 334, 33, -1, 337, 338, 339, 340, -1, 40,
3010 -1, -1, -1, -1, 45, -1, -1, -1, -1, -1,
3011 -1, -1, 355, 356, 357, 358, 359, 360, 361, 362,
3012 363, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3013 373, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3014 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3015 -1, -1, -1, -1, -1, 96, -1, -1, -1, -1,
3016 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3017 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3018 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3019 -1, -1, -1, -1, -1, -1, -1, -1, -1, 257,
3020 258, 259, 260, -1, -1, 263, -1, -1, -1, -1,
3021 268, -1, -1, 271, 272, 33, -1, -1, -1, -1,
3022 -1, -1, 40, -1, -1, -1, -1, 45, -1, -1,
3023 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3024 -1, -1, -1, -1, -1, -1, -1, -1, -1, 307,
3025 308, 309, 310, 311, 312, 313, 314, 315, 316, 317,
3026 318, -1, -1, -1, -1, -1, 324, 325, 326, 327,
3027 328, 329, 330, 331, 332, 333, 334, -1, 96, 337,
3028 338, 339, 340, -1, -1, -1, -1, -1, -1, -1,
3029 -1, -1, -1, -1, -1, -1, -1, 355, 356, 357,
3030 358, 359, 360, 361, 362, 363, -1, -1, -1, -1,
3031 -1, -1, -1, -1, -1, 373, 257, 258, 259, 260,
3032 -1, -1, 263, -1, -1, -1, -1, 268, -1, -1,
3033 271, 272, 33, -1, -1, -1, -1, -1, -1, 40,
3034 -1, -1, -1, -1, 45, -1, -1, -1, -1, -1,
3035 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3036 -1, -1, -1, -1, -1, -1, 307, 308, 309, 310,
3037 311, 312, 313, 314, 315, 316, 317, 318, -1, -1,
3038 -1, -1, -1, 324, 325, 326, 327, 328, 329, 330,
3039 331, 332, 333, 334, -1, 96, 337, 338, 339, 340,
3040 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3041 -1, -1, -1, -1, 355, 356, 357, 358, 359, 360,
3042 361, 362, 363, -1, -1, -1, -1, -1, -1, -1,
3043 -1, -1, 373, -1, -1, -1, -1, -1, -1, 257,
3044 258, 259, 260, -1, -1, 263, -1, -1, -1, -1,
3045 268, -1, -1, 271, 272, 33, -1, -1, -1, -1,
3046 -1, -1, 40, -1, -1, -1, -1, 45, -1, -1,
3047 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3048 -1, -1, -1, -1, -1, -1, -1, -1, -1, 307,
3049 308, 309, 310, 311, 312, 313, 314, 315, 316, 317,
3050 318, -1, -1, -1, -1, -1, 324, 325, 326, 327,
3051 328, 329, 330, 331, 332, 333, 334, -1, 96, 337,
3052 338, 339, 340, -1, -1, -1, -1, -1, -1, -1,
3053 -1, -1, -1, -1, -1, -1, -1, 355, 356, 357,
3054 358, 359, 360, 361, 362, 363, -1, -1, -1, -1,
3055 -1, -1, -1, -1, -1, 373, 257, 258, 259, 260,
3056 -1, -1, 263, -1, -1, -1, -1, 268, -1, -1,
3057 271, 272, 33, -1, -1, -1, -1, -1, -1, 40,
3058 -1, -1, -1, -1, 45, 46, -1, -1, -1, -1,
3059 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3060 -1, -1, -1, -1, -1, -1, 307, 308, 309, 310,
3061 311, 312, 313, 314, 315, 316, 317, 318, -1, -1,
3062 -1, -1, -1, 324, 325, 326, 327, 328, 329, 330,
3063 331, 332, 333, 334, -1, 96, 337, 338, 339, 340,
3064 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3065 -1, -1, -1, -1, 355, 356, 357, 358, 359, 360,
3066 361, 362, 363, -1, -1, -1, -1, -1, -1, -1,
3067 -1, -1, 373, -1, -1, -1, -1, -1, -1, 257,
3068 258, 259, 260, -1, -1, 263, -1, -1, -1, -1,
3069 268, -1, -1, 271, 272, 33, -1, -1, -1, -1,
3070 -1, -1, 40, -1, 42, -1, -1, 45, -1, -1,
3071 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3072 -1, -1, -1, -1, -1, -1, -1, -1, -1, 307,
3073 308, 309, 310, 311, 312, 313, 314, 315, 316, 317,
3074 318, -1, -1, -1, -1, -1, 324, 325, 326, 327,
3075 328, 329, 330, 331, 332, 333, 334, -1, 96, 337,
3076 338, 339, 340, -1, -1, -1, -1, -1, -1, -1,
3077 -1, -1, -1, -1, -1, -1, -1, 355, 356, 357,
3078 358, 359, 360, 361, 362, 363, -1, -1, -1, -1,
3079 -1, -1, -1, -1, -1, 373, 257, 258, 259, -1,
3080 -1, -1, 263, -1, -1, -1, -1, 268, -1, -1,
3081 271, 272, 33, -1, -1, -1, -1, -1, -1, 40,
3082 -1, -1, -1, -1, 45, -1, -1, -1, -1, -1,
3083 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3084 -1, -1, -1, -1, -1, -1, 307, 308, 309, 310,
3085 311, 312, 313, 314, 315, 316, 317, 318, -1, -1,
3086 -1, -1, -1, 324, 325, 326, 327, 328, 329, 330,
3087 331, 332, 333, 334, -1, 96, 337, 338, 339, 340,
3088 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3089 -1, -1, -1, -1, 355, 356, 357, 358, 359, 360,
3090 361, 362, 363, -1, -1, -1, -1, -1, -1, -1,
3091 -1, -1, -1, -1, -1, -1, -1, -1, -1, 257,
3092 258, 259, -1, -1, -1, 263, -1, -1, -1, -1,
3093 268, -1, -1, 271, 272, 33, -1, -1, -1, -1,
3094 -1, -1, 40, -1, -1, -1, -1, 45, -1, -1,
3095 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3096 -1, -1, -1, -1, -1, -1, -1, -1, -1, 307,
3097 308, 309, 310, 311, 312, 313, 314, 315, 316, 317,
3098 318, -1, -1, -1, -1, -1, 324, 325, 326, 327,
3099 328, 329, 330, 331, 332, 333, 334, -1, 96, 337,
3100 338, 339, 340, -1, -1, -1, -1, -1, -1, -1,
3101 -1, -1, -1, -1, -1, -1, -1, 355, 356, 357,
3102 358, 359, 360, 361, 362, 363, -1, -1, -1, -1,
3103 -1, -1, -1, -1, -1, -1, 257, 258, 259, -1,
3104 -1, -1, 263, -1, -1, -1, -1, 268, -1, -1,
3105 271, 272, 33, -1, -1, -1, -1, -1, -1, 40,
3106 -1, -1, -1, -1, 45, -1, -1, -1, -1, -1,
3107 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3108 -1, -1, -1, -1, -1, -1, 307, 308, 309, 310,
3109 311, 312, 313, 314, 315, 316, 317, 318, -1, -1,
3110 -1, -1, -1, 324, 325, 326, 327, 328, 329, 330,
3111 331, 332, 333, 334, -1, 96, 337, 338, 339, 340,
3112 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3113 -1, -1, -1, -1, 355, 356, 357, 358, 359, 360,
3114 361, 362, 363, -1, -1, -1, -1, -1, -1, -1,
3115 -1, -1, -1, -1, -1, -1, -1, -1, -1, 257,
3116 258, 259, -1, -1, -1, 263, -1, -1, -1, -1,
3117 268, -1, -1, 271, 272, 33, -1, -1, -1, -1,
3118 -1, -1, 40, -1, -1, -1, -1, 45, -1, -1,
3119 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3120 -1, -1, -1, -1, -1, -1, -1, -1, -1, 307,
3121 308, 309, 310, 311, 312, 313, 314, 315, 316, 317,
3122 318, -1, -1, -1, -1, -1, 324, 325, 326, 327,
3123 328, 329, 330, 331, 332, 333, 334, -1, 96, 337,
3124 338, 339, 340, -1, -1, -1, -1, -1, -1, -1,
3125 -1, -1, -1, -1, -1, -1, -1, 355, 356, 357,
3126 358, 359, 360, 361, 362, 363, -1, -1, -1, -1,
3127 -1, -1, -1, -1, -1, -1, 257, 258, 259, -1,
3128 -1, -1, 263, -1, -1, -1, -1, 268, -1, -1,
3129 271, 272, -1, -1, -1, -1, -1, -1, -1, -1,
3130 -1, -1, -1, -1, -1, -1, -1, -1, 59, -1,
3131 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3132 -1, -1, -1, -1, -1, -1, 307, 308, 309, 310,
3133 311, 312, 313, 314, 315, 316, 317, 318, -1, -1,
3134 91, -1, -1, 324, 325, 326, 327, 328, 329, 330,
3135 331, 332, 333, 334, -1, -1, 337, 338, 339, 340,
3136 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3137 -1, -1, 123, -1, 355, 356, 357, 358, 359, 360,
3138 361, 362, 363, -1, -1, -1, -1, -1, -1, -1,
3139 -1, -1, -1, -1, -1, -1, -1, -1, -1, 257,
3140 258, 259, -1, -1, -1, 263, -1, -1, -1, -1,
3141 268, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3142 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3143 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3144 -1, -1, -1, -1, -1, -1, -1, -1, -1, 307,
3145 308, 309, 310, 311, 312, 313, 314, 315, 316, 317,
3146 318, -1, -1, -1, -1, -1, 324, 325, 326, 327,
3147 328, 329, 330, 331, 332, 333, 334, -1, -1, 337,
3148 338, 339, 340, -1, -1, -1, -1, -1, -1, -1,
3149 -1, -1, -1, -1, -1, -1, -1, 355, 356, 357,
3150 358, 359, 360, 361, 362, 363, 257, 258, -1, 260,
3151 261, -1, -1, -1, -1, -1, -1, -1, 269, 270,
3152 271, 272, 273, 274, 275, 276, 277, 278, 279, 280,
3153 -1, -1, 283, -1, -1, -1, -1, -1, -1, -1,
3154 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
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, -1, -1, -1, -1,
3158 -1, -1, -1, -1, 335, -1, -1, -1, -1, -1,
3159 341, 342, -1, -1, 345, -1, 347, -1, -1, -1,
3160 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3161 -1, -1, -1, 364, -1, 366, -1, -1, -1, -1,
3168 #define YYMAXTOKEN 376
3171 "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,
3172 "'!'",0,0,0,"'%'",0,0,"'('","')'","'*'","'+'","','","'-'","'.'","'/'",0,0,0,0,0,
3173 0,0,0,0,0,"':'","';'","'<'","'='","'>'",0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
3174 0,0,0,0,0,0,0,0,"'['",0,"']'","'^'",0,"'`'",0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
3175 0,0,0,0,0,0,0,0,"'{'",0,"'}'",0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
3176 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
3177 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
3178 0,0,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",
3179 "TEXT","COMMAND_LINE","DELIMITED","ORDINAL","TH","LEFT_ARROW_HEAD",
3180 "RIGHT_ARROW_HEAD","DOUBLE_ARROW_HEAD","LAST","UP","DOWN","LEFT","RIGHT","BOX",
3181 "CIRCLE","ELLIPSE","ARC","LINE","ARROW","MOVE","SPLINE","HEIGHT","RADIUS",
3182 "FIGNAME","WIDTH","DIAMETER","FROM","TO","AT","WITH","BY","THEN","SOLID",
3183 "DOTTED","DASHED","CHOP","SAME","INVISIBLE","LJUST","RJUST","ABOVE","BELOW",
3184 "OF","THE","WAY","BETWEEN","AND","HERE","DOT_N","DOT_E","DOT_W","DOT_S",
3185 "DOT_NE","DOT_SE","DOT_NW","DOT_SW","DOT_C","DOT_START","DOT_END","DOT_X",
3186 "DOT_Y","DOT_HT","DOT_WID","DOT_RAD","SIN","COS","ATAN2","LOG","EXP","SQRT",
3187 "K_MAX","K_MIN","INT","RAND","SRAND","COPY","THRU","TOP","BOTTOM","UPPER",
3188 "LOWER","SH","PRINT","CW","CCW","FOR","DO","IF","ELSE","ANDAND","OROR",
3189 "NOTEQUAL","EQUALEQUAL","LESSEQUAL","GREATEREQUAL","LEFT_CORNER","RIGHT_CORNER",
3190 "NORTH","SOUTH","EAST","WEST","CENTER","END","START","RESET","UNTIL","PLOT",
3191 "THICKNESS","FILL","COLORED","OUTLINED","SHADED","ALIGNED","SPRINTF","COMMAND",
3196 "top : optional_separator",
3197 "top : element_list",
3198 "element_list : optional_separator middle_element_list optional_separator",
3199 "middle_element_list : element",
3200 "middle_element_list : middle_element_list separator element",
3201 "optional_separator :",
3202 "optional_separator : separator",
3204 "separator : separator ';'",
3205 "placeless_element : FIGNAME '=' macro_name",
3206 "placeless_element : VARIABLE '=' any_expr",
3207 "placeless_element : VARIABLE ':' '=' any_expr",
3208 "placeless_element : UP",
3209 "placeless_element : DOWN",
3210 "placeless_element : LEFT",
3211 "placeless_element : RIGHT",
3212 "placeless_element : COMMAND_LINE",
3213 "placeless_element : COMMAND print_args",
3214 "placeless_element : PRINT print_args",
3216 "placeless_element : SH $$1 DELIMITED",
3217 "placeless_element : COPY TEXT",
3220 "placeless_element : COPY TEXT THRU $$2 DELIMITED $$3 until",
3223 "placeless_element : COPY THRU $$4 DELIMITED $$5 until",
3225 "placeless_element : FOR VARIABLE '=' expr TO expr optional_by DO $$6 DELIMITED",
3226 "placeless_element : simple_if",
3228 "placeless_element : simple_if ELSE $$7 DELIMITED",
3229 "placeless_element : reset_variables",
3230 "placeless_element : RESET",
3231 "macro_name : VARIABLE",
3232 "macro_name : LABEL",
3233 "reset_variables : RESET VARIABLE",
3234 "reset_variables : reset_variables VARIABLE",
3235 "reset_variables : reset_variables ',' VARIABLE",
3236 "print_args : print_arg",
3237 "print_args : print_args print_arg",
3240 "print_arg : position",
3242 "simple_if : IF any_expr THEN $$8 DELIMITED",
3244 "until : UNTIL TEXT",
3246 "any_expr : text_expr",
3247 "text_expr : text EQUALEQUAL text",
3248 "text_expr : text NOTEQUAL text",
3249 "text_expr : text_expr ANDAND text_expr",
3250 "text_expr : text_expr ANDAND expr",
3251 "text_expr : expr ANDAND text_expr",
3252 "text_expr : text_expr OROR text_expr",
3253 "text_expr : text_expr OROR expr",
3254 "text_expr : expr OROR text_expr",
3255 "text_expr : '!' text_expr",
3257 "optional_by : BY expr",
3258 "optional_by : BY '*' expr",
3259 "element : object_spec",
3260 "element : LABEL ':' optional_separator element",
3261 "element : LABEL ':' optional_separator position_not_place",
3262 "element : LABEL ':' optional_separator place",
3265 "element : '{' $$9 element_list '}' $$10 optional_element",
3266 "element : placeless_element",
3267 "optional_element :",
3268 "optional_element : element",
3269 "object_spec : BOX",
3270 "object_spec : CIRCLE",
3271 "object_spec : ELLIPSE",
3272 "object_spec : ARC",
3273 "object_spec : LINE",
3274 "object_spec : ARROW",
3275 "object_spec : MOVE",
3276 "object_spec : SPLINE",
3277 "object_spec : text",
3278 "object_spec : PLOT expr",
3279 "object_spec : PLOT expr text",
3281 "object_spec : '[' $$11 element_list ']'",
3282 "object_spec : object_spec HEIGHT expr",
3283 "object_spec : object_spec RADIUS expr",
3284 "object_spec : object_spec WIDTH expr",
3285 "object_spec : object_spec DIAMETER expr",
3286 "object_spec : object_spec expr",
3287 "object_spec : object_spec UP",
3288 "object_spec : object_spec UP expr",
3289 "object_spec : object_spec DOWN",
3290 "object_spec : object_spec DOWN expr",
3291 "object_spec : object_spec RIGHT",
3292 "object_spec : object_spec RIGHT expr",
3293 "object_spec : object_spec LEFT",
3294 "object_spec : object_spec LEFT expr",
3295 "object_spec : object_spec FROM position",
3296 "object_spec : object_spec TO position",
3297 "object_spec : object_spec AT position",
3298 "object_spec : object_spec WITH path",
3299 "object_spec : object_spec WITH position",
3300 "object_spec : object_spec BY expr_pair",
3301 "object_spec : object_spec THEN",
3302 "object_spec : object_spec SOLID",
3303 "object_spec : object_spec DOTTED",
3304 "object_spec : object_spec DOTTED expr",
3305 "object_spec : object_spec DASHED",
3306 "object_spec : object_spec DASHED expr",
3307 "object_spec : object_spec FILL",
3308 "object_spec : object_spec FILL expr",
3309 "object_spec : object_spec SHADED text",
3310 "object_spec : object_spec COLORED text",
3311 "object_spec : object_spec OUTLINED text",
3312 "object_spec : object_spec CHOP",
3313 "object_spec : object_spec CHOP expr",
3314 "object_spec : object_spec SAME",
3315 "object_spec : object_spec INVISIBLE",
3316 "object_spec : object_spec LEFT_ARROW_HEAD",
3317 "object_spec : object_spec RIGHT_ARROW_HEAD",
3318 "object_spec : object_spec DOUBLE_ARROW_HEAD",
3319 "object_spec : object_spec CW",
3320 "object_spec : object_spec CCW",
3321 "object_spec : object_spec text",
3322 "object_spec : object_spec LJUST",
3323 "object_spec : object_spec RJUST",
3324 "object_spec : object_spec ABOVE",
3325 "object_spec : object_spec BELOW",
3326 "object_spec : object_spec THICKNESS expr",
3327 "object_spec : object_spec ALIGNED",
3329 "text : SPRINTF '(' TEXT sprintf_args ')'",
3331 "sprintf_args : sprintf_args ',' expr",
3332 "position : position_not_place",
3334 "position_not_place : expr_pair",
3335 "position_not_place : position '+' expr_pair",
3336 "position_not_place : position '-' expr_pair",
3337 "position_not_place : '(' position ',' position ')'",
3338 "position_not_place : expr between position AND position",
3339 "position_not_place : expr '<' position ',' position '>'",
3340 "between : BETWEEN",
3341 "between : OF THE WAY BETWEEN",
3342 "expr_pair : expr ',' expr",
3343 "expr_pair : '(' expr_pair ')'",
3345 "place : label corner",
3346 "place : corner label",
3347 "place : corner OF label",
3350 "label : nth_primitive",
3351 "label : label '.' LABEL",
3352 "ordinal : ORDINAL",
3353 "ordinal : '`' any_expr TH",
3354 "optional_ordinal_last : LAST",
3355 "optional_ordinal_last : ordinal LAST",
3356 "nth_primitive : ordinal object_type",
3357 "nth_primitive : optional_ordinal_last object_type",
3358 "object_type : BOX",
3359 "object_type : CIRCLE",
3360 "object_type : ELLIPSE",
3361 "object_type : ARC",
3362 "object_type : LINE",
3363 "object_type : ARROW",
3364 "object_type : SPLINE",
3365 "object_type : '[' ']'",
3366 "object_type : TEXT",
3367 "label_path : '.' LABEL",
3368 "label_path : label_path '.' LABEL",
3369 "relative_path : corner",
3370 "relative_path : label_path",
3371 "relative_path : label_path corner",
3372 "path : relative_path",
3373 "path : '(' relative_path ',' relative_path ')'",
3374 "path : ORDINAL LAST object_type relative_path",
3375 "path : LAST object_type relative_path",
3376 "path : ORDINAL object_type relative_path",
3377 "path : LABEL relative_path",
3387 "corner : DOT_START",
3393 "corner : UPPER LEFT",
3394 "corner : LOWER LEFT",
3395 "corner : UPPER RIGHT",
3396 "corner : LOWER RIGHT",
3397 "corner : LEFT_CORNER",
3398 "corner : RIGHT_CORNER",
3399 "corner : UPPER LEFT_CORNER",
3400 "corner : LOWER LEFT_CORNER",
3401 "corner : UPPER RIGHT_CORNER",
3402 "corner : LOWER RIGHT_CORNER",
3412 "expr : place DOT_X",
3413 "expr : place DOT_Y",
3414 "expr : place DOT_HT",
3415 "expr : place DOT_WID",
3416 "expr : place DOT_RAD",
3417 "expr : expr '+' expr",
3418 "expr : expr '-' expr",
3419 "expr : expr '*' expr",
3420 "expr : expr '/' expr",
3421 "expr : expr '%' expr",
3422 "expr : expr '^' expr",
3424 "expr : '(' any_expr ')'",
3425 "expr : SIN '(' any_expr ')'",
3426 "expr : COS '(' any_expr ')'",
3427 "expr : ATAN2 '(' any_expr ',' any_expr ')'",
3428 "expr : LOG '(' any_expr ')'",
3429 "expr : EXP '(' any_expr ')'",
3430 "expr : SQRT '(' any_expr ')'",
3431 "expr : K_MAX '(' any_expr ',' any_expr ')'",
3432 "expr : K_MIN '(' any_expr ',' any_expr ')'",
3433 "expr : INT '(' any_expr ')'",
3434 "expr : RAND '(' any_expr ')'",
3435 "expr : RAND '(' ')'",
3436 "expr : SRAND '(' any_expr ')'",
3437 "expr : expr '<' expr",
3438 "expr : expr LESSEQUAL expr",
3439 "expr : expr '>' expr",
3440 "expr : expr GREATEREQUAL expr",
3441 "expr : expr EQUALEQUAL expr",
3442 "expr : expr NOTEQUAL expr",
3443 "expr : expr ANDAND expr",
3444 "expr : expr OROR expr",
3450 #define YYMAXDEPTH YYSTACKSIZE
3453 #define YYSTACKSIZE YYMAXDEPTH
3455 #define YYSTACKSIZE 500
3456 #define YYMAXDEPTH 500
3467 short yyss[YYSTACKSIZE];
3468 YYSTYPE yyvs[YYSTACKSIZE];
3469 #define yystacksize YYSTACKSIZE
3472 /* bison defines const to be empty unless __STDC__ is defined, which it
3473 isn't under cfront */
3482 int scaled; // non-zero if val should be multiplied by scale
3483 } defaults_table[] = {
3484 { "arcrad", .25, 1 },
3485 { "arrowht", .1, 1 },
3486 { "arrowwid", .05, 1 },
3487 { "circlerad", .25, 1 },
3489 { "boxwid", .75, 1 },
3490 { "boxrad", 0.0, 1 },
3491 { "dashwid", .05, 1 },
3492 { "ellipseht", .5, 1 },
3493 { "ellipsewid", .75, 1 },
3494 { "moveht", .5, 1 },
3495 { "movewid", .5, 1 },
3496 { "lineht", .5, 1 },
3497 { "linewid", .5, 1 },
3498 { "textht", 0.0, 1 },
3499 { "textwid", 0.0, 1 },
3500 { "scale", 1.0, 0 },
3501 { "linethick", -1.0, 0 }, // in points
3502 { "fillval", .5, 0 },
3503 { "arrowhead", 1.0, 0 },
3504 { "maxpswid", 8.5, 0 },
3505 { "maxpsht", 11.0, 0 },
3508 place *lookup_label(const char *label)
3510 saved_state *state = current_saved_state;
3511 PTABLE(place) *tbl = current_table;
3513 place *pl = tbl->lookup(label);
3519 state = state->prev;
3523 void define_label(const char *label, const place *pl)
3525 place *p = new place[1];
3527 current_table->define(label, p);
3530 int lookup_variable(const char *name, double *val)
3532 place *pl = lookup_label(name);
3540 void define_variable(const char *name, double val)
3542 place *p = new place[1];
3546 current_table->define(name, p);
3547 if (strcmp(name, "scale") == 0) {
3548 // When the scale changes, reset all scaled pre-defined variables to
3549 // their default values.
3550 for (unsigned int i = 0;
3551 i < sizeof(defaults_table)/sizeof(defaults_table[0]); i++)
3552 if (defaults_table[i].scaled)
3553 define_variable(defaults_table[i].name, val*defaults_table[i].val);
3557 // called once only (not once per parse)
3561 current_direction = RIGHT_DIRECTION;
3562 current_position.x = 0.0;
3563 current_position.y = 0.0;
3564 // This resets everything to its default value.
3568 void reset(const char *nm)
3570 for (unsigned int i = 0;
3571 i < sizeof(defaults_table)/sizeof(defaults_table[0]); i++)
3572 if (strcmp(nm, defaults_table[i].name) == 0) {
3573 double val = defaults_table[i].val;
3574 if (defaults_table[i].scaled) {
3576 lookup_variable("scale", &scale);
3579 define_variable(defaults_table[i].name, val);
3582 lex_error("`%1' is not a predefined variable", nm);
3587 // We only have to explicitly reset the pre-defined variables that
3588 // aren't scaled because `scale' is not scaled, and changing the
3589 // value of `scale' will reset all the pre-defined variables that
3591 for (unsigned int i = 0;
3592 i < sizeof(defaults_table)/sizeof(defaults_table[0]); i++)
3593 if (!defaults_table[i].scaled)
3594 define_variable(defaults_table[i].name, defaults_table[i].val);
3597 // called after each parse
3599 void parse_cleanup()
3601 while (current_saved_state != 0) {
3602 delete current_table;
3603 current_table = current_saved_state->tbl;
3604 saved_state *tem = current_saved_state;
3605 current_saved_state = current_saved_state->prev;
3608 assert(current_table == &top_table);
3609 PTABLE_ITERATOR(place) iter(current_table);
3612 while (iter.next(&key, &pl))
3614 position pos = pl->obj->origin();
3619 while (olist.head != 0) {
3620 object *tem = olist.head;
3621 olist.head = olist.head->next;
3625 current_direction = RIGHT_DIRECTION;
3626 current_position.x = 0.0;
3627 current_position.y = 0.0;
3630 const char *ordinal_postfix(int n)
3632 if (n < 10 || n > 20)
3644 const char *object_type_name(object_type type)
3651 case ELLIPSE_OBJECT:
3675 static char sprintf_buf[1024];
3677 char *format_number(const char *form, double n)
3681 return do_sprintf(form, &n, 1);
3684 char *do_sprintf(const char *form, const double *v, int nv)
3691 one_format += *form++;
3692 for (; *form != '\0' && strchr("#-+ 0123456789.", *form) != 0; form++)
3693 one_format += *form;
3694 if (*form == '\0' || strchr("eEfgG%", *form) == 0) {
3695 lex_error("bad sprintf format");
3696 result += one_format;
3701 one_format += *form++;
3703 snprintf(sprintf_buf, sizeof(sprintf_buf),
3704 "%s", one_format.contents());
3708 lex_error("too few arguments to snprintf");
3709 result += one_format;
3713 one_format += *form++;
3715 snprintf(sprintf_buf, sizeof(sprintf_buf),
3716 one_format.contents(), v[i++]);
3719 result += sprintf_buf;
3725 return strsave(result.contents());
3727 #line 3728 "y.tab.c"
3728 #define YYABORT goto yyabort
3729 #define YYREJECT goto yyabort
3730 #define YYACCEPT goto yyaccept
3731 #define YYERROR goto yyerrlab
3733 #if defined(__STDC__)
3739 register int yym, yyn, yystate;
3742 extern char *getenv();
3744 if (yys = getenv("YYDEBUG"))
3747 if (yyn >= '0' && yyn <= '9')
3748 yydebug = yyn - '0';
3758 *yyssp = yystate = 0;
3761 if ((yyn = yydefred[yystate]) != 0) goto yyreduce;
3764 if ((yychar = yylex()) < 0) yychar = 0;
3769 if (yychar <= YYMAXTOKEN) yys = yyname[yychar];
3770 if (!yys) yys = "illegal-symbol";
3771 printf("%sdebug: state %d, reading %d (%s)\n",
3772 YYPREFIX, yystate, yychar, yys);
3776 if ((yyn = yysindex[yystate]) && (yyn += yychar) >= 0 &&
3777 yyn <= YYTABLESIZE && yycheck[yyn] == yychar)
3781 printf("%sdebug: state %d, shifting to state %d\n",
3782 YYPREFIX, yystate, yytable[yyn]);
3784 if (yyssp >= yyss + yystacksize - 1)
3788 *++yyssp = yystate = yytable[yyn];
3791 if (yyerrflag > 0) --yyerrflag;
3794 if ((yyn = yyrindex[yystate]) && (yyn += yychar) >= 0 &&
3795 yyn <= YYTABLESIZE && yycheck[yyn] == yychar)
3800 if (yyerrflag) goto yyinrecovery;
3805 yyerror("syntax error");
3817 if ((yyn = yysindex[*yyssp]) && (yyn += YYERRCODE) >= 0 &&
3818 yyn <= YYTABLESIZE && yycheck[yyn] == YYERRCODE)
3822 printf("%sdebug: state %d, error recovery shifting\
3823 to state %d\n", YYPREFIX, *yyssp, yytable[yyn]);
3825 if (yyssp >= yyss + yystacksize - 1)
3829 *++yyssp = yystate = yytable[yyn];
3837 printf("%sdebug: error recovery discarding state %d\n",
3840 if (yyssp <= yyss) goto yyabort;
3848 if (yychar == 0) goto yyabort;
3853 if (yychar <= YYMAXTOKEN) yys = yyname[yychar];
3854 if (!yys) yys = "illegal-symbol";
3855 printf("%sdebug: state %d, error recovery discards token %d (%s)\n",
3856 YYPREFIX, yystate, yychar, yys);
3865 printf("%sdebug: state %d, reducing by rule %d (%s)\n",
3866 YYPREFIX, yystate, yyn, yyrule[yyn]);
3869 yyval = yyvsp[1-yym];
3876 print_picture(olist.head);
3881 { yyval.pl = yyvsp[-1].pl; }
3885 { yyval.pl = yyvsp[0].pl; }
3889 { yyval.pl = yyvsp[-2].pl; }
3895 graphname = new char[strlen(yyvsp[0].str) + 1];
3896 strcpy(graphname, yyvsp[0].str);
3897 a_delete yyvsp[0].str;
3903 define_variable(yyvsp[-2].str, yyvsp[0].x);
3904 a_delete yyvsp[-2].str;
3910 place *p = lookup_label(yyvsp[-3].str);
3912 lex_error("variable `%1' not defined", yyvsp[-3].str);
3918 a_delete yyvsp[-3].str;
3923 { current_direction = UP_DIRECTION; }
3927 { current_direction = DOWN_DIRECTION; }
3931 { current_direction = LEFT_DIRECTION; }
3935 { current_direction = RIGHT_DIRECTION; }
3940 olist.append(make_command_object(yyvsp[0].lstr.str, yyvsp[0].lstr.filename,
3941 yyvsp[0].lstr.lineno));
3947 olist.append(make_command_object(yyvsp[0].lstr.str, yyvsp[0].lstr.filename,
3948 yyvsp[0].lstr.lineno));
3954 fprintf(stderr, "%s\n", yyvsp[0].lstr.str);
3955 a_delete yyvsp[0].lstr.str;
3968 lex_error("unsafe to run command `%1'", yyvsp[0].str);
3970 system(yyvsp[0].str);
3971 a_delete yyvsp[0].str;
3979 do_copy(yyvsp[0].lstr.str);
3980 /* do not delete the filename*/
3996 copy_file_thru(yyvsp[-5].lstr.str, yyvsp[-2].str, yyvsp[0].str);
3997 /* do not delete the filename*/
3998 a_delete yyvsp[-2].str;
3999 a_delete yyvsp[0].str;
4015 copy_rest_thru(yyvsp[-2].str, yyvsp[0].str);
4016 a_delete yyvsp[-2].str;
4017 a_delete yyvsp[0].str;
4030 do_for(yyvsp[-8].str, yyvsp[-6].x, yyvsp[-4].x, yyvsp[-3].by.is_multiplicative, yyvsp[-3].by.val, yyvsp[0].str);
4038 if (yyvsp[0].if_data.x != 0.0)
4039 push_body(yyvsp[0].if_data.body);
4040 a_delete yyvsp[0].if_data.body;
4053 if (yyvsp[-3].if_data.x != 0.0)
4054 push_body(yyvsp[-3].if_data.body);
4056 push_body(yyvsp[0].str);
4057 a_delete yyvsp[-3].if_data.body;
4058 a_delete yyvsp[0].str;
4063 { define_variable("scale", 1.0); }
4068 reset(yyvsp[0].str);
4069 a_delete yyvsp[0].str;
4075 reset(yyvsp[0].str);
4076 a_delete yyvsp[0].str;
4082 reset(yyvsp[0].str);
4083 a_delete yyvsp[0].str;
4088 { yyval.lstr = yyvsp[0].lstr; }
4093 yyval.lstr.str = new char[strlen(yyvsp[-1].lstr.str) + strlen(yyvsp[0].lstr.str) + 1];
4094 strcpy(yyval.lstr.str, yyvsp[-1].lstr.str);
4095 strcat(yyval.lstr.str, yyvsp[0].lstr.str);
4096 a_delete yyvsp[-1].lstr.str;
4097 a_delete yyvsp[0].lstr.str;
4098 if (yyvsp[-1].lstr.filename) {
4099 yyval.lstr.filename = yyvsp[-1].lstr.filename;
4100 yyval.lstr.lineno = yyvsp[-1].lstr.lineno;
4102 else if (yyvsp[0].lstr.filename) {
4103 yyval.lstr.filename = yyvsp[0].lstr.filename;
4104 yyval.lstr.lineno = yyvsp[0].lstr.lineno;
4111 yyval.lstr.str = new char[GDIGITS + 1];
4112 sprintf(yyval.lstr.str, "%g", yyvsp[0].x);
4113 yyval.lstr.filename = 0;
4114 yyval.lstr.lineno = 0;
4119 { yyval.lstr = yyvsp[0].lstr; }
4124 yyval.lstr.str = new char[GDIGITS + 2 + GDIGITS + 1];
4125 sprintf(yyval.lstr.str, "%g, %g", yyvsp[0].pair.x, yyvsp[0].pair.y);
4126 yyval.lstr.filename = 0;
4127 yyval.lstr.lineno = 0;
4138 yyval.if_data.x = yyvsp[-3].x;
4139 yyval.if_data.body = yyvsp[0].str;
4148 { yyval.str = yyvsp[0].lstr.str; }
4152 { yyval.x = yyvsp[0].x; }
4156 { yyval.x = yyvsp[0].x; }
4161 yyval.x = strcmp(yyvsp[-2].lstr.str, yyvsp[0].lstr.str) == 0;
4162 a_delete yyvsp[-2].lstr.str;
4163 a_delete yyvsp[0].lstr.str;
4169 yyval.x = strcmp(yyvsp[-2].lstr.str, yyvsp[0].lstr.str) != 0;
4170 a_delete yyvsp[-2].lstr.str;
4171 a_delete yyvsp[0].lstr.str;
4176 { yyval.x = (yyvsp[-2].x != 0.0 && yyvsp[0].x != 0.0); }
4180 { yyval.x = (yyvsp[-2].x != 0.0 && yyvsp[0].x != 0.0); }
4184 { yyval.x = (yyvsp[-2].x != 0.0 && yyvsp[0].x != 0.0); }
4188 { yyval.x = (yyvsp[-2].x != 0.0 || yyvsp[0].x != 0.0); }
4192 { yyval.x = (yyvsp[-2].x != 0.0 || yyvsp[0].x != 0.0); }
4196 { yyval.x = (yyvsp[-2].x != 0.0 || yyvsp[0].x != 0.0); }
4200 { yyval.x = (yyvsp[0].x == 0.0); }
4206 yyval.by.is_multiplicative = 0;
4212 yyval.by.val = yyvsp[0].x;
4213 yyval.by.is_multiplicative = 0;
4219 yyval.by.val = yyvsp[0].x;
4220 yyval.by.is_multiplicative = 1;
4226 yyval.pl.obj = yyvsp[0].spec->make_object(¤t_position,
4227 ¤t_direction);
4228 if (yyval.pl.obj == 0)
4230 delete yyvsp[0].spec;
4232 olist.append(yyval.pl.obj);
4234 yyval.pl.x = current_position.x;
4235 yyval.pl.y = current_position.y;
4242 yyval.pl = yyvsp[0].pl;
4243 define_label(yyvsp[-3].str, & yyval.pl);
4244 a_delete yyvsp[-3].str;
4251 yyval.pl.x = yyvsp[0].pair.x;
4252 yyval.pl.y = yyvsp[0].pair.y;
4253 define_label(yyvsp[-3].str, & yyval.pl);
4254 a_delete yyvsp[-3].str;
4260 yyval.pl = yyvsp[0].pl;
4261 define_label(yyvsp[-3].str, & yyval.pl);
4262 a_delete yyvsp[-3].str;
4268 yyval.state.x = current_position.x;
4269 yyval.state.y = current_position.y;
4270 yyval.state.dir = current_direction;
4276 current_position.x = yyvsp[-2].state.x;
4277 current_position.y = yyvsp[-2].state.y;
4278 current_direction = yyvsp[-2].state.dir;
4284 yyval.pl = yyvsp[-3].pl;
4291 yyval.pl.x = current_position.x;
4292 yyval.pl.y = current_position.y;
4305 { yyval.spec = new object_spec(BOX_OBJECT); }
4309 { yyval.spec = new object_spec(CIRCLE_OBJECT); }
4313 { yyval.spec = new object_spec(ELLIPSE_OBJECT); }
4318 yyval.spec = new object_spec(ARC_OBJECT);
4319 yyval.spec->dir = current_direction;
4325 yyval.spec = new object_spec(LINE_OBJECT);
4326 lookup_variable("lineht", & yyval.spec->segment_height);
4327 lookup_variable("linewid", & yyval.spec->segment_width);
4328 yyval.spec->dir = current_direction;
4334 yyval.spec = new object_spec(ARROW_OBJECT);
4335 lookup_variable("lineht", & yyval.spec->segment_height);
4336 lookup_variable("linewid", & yyval.spec->segment_width);
4337 yyval.spec->dir = current_direction;
4343 yyval.spec = new object_spec(MOVE_OBJECT);
4344 lookup_variable("moveht", & yyval.spec->segment_height);
4345 lookup_variable("movewid", & yyval.spec->segment_width);
4346 yyval.spec->dir = current_direction;
4352 yyval.spec = new object_spec(SPLINE_OBJECT);
4353 lookup_variable("lineht", & yyval.spec->segment_height);
4354 lookup_variable("linewid", & yyval.spec->segment_width);
4355 yyval.spec->dir = current_direction;
4361 yyval.spec = new object_spec(TEXT_OBJECT);
4362 yyval.spec->text = new text_item(yyvsp[0].lstr.str, yyvsp[0].lstr.filename, yyvsp[0].lstr.lineno);
4368 yyval.spec = new object_spec(TEXT_OBJECT);
4369 yyval.spec->text = new text_item(format_number(0, yyvsp[0].x), 0, -1);
4375 yyval.spec = new object_spec(TEXT_OBJECT);
4376 yyval.spec->text = new text_item(format_number(yyvsp[0].lstr.str, yyvsp[-1].x),
4377 yyvsp[0].lstr.filename, yyvsp[0].lstr.lineno);
4378 a_delete yyvsp[0].lstr.str;
4384 saved_state *p = new saved_state;
4386 p->x = current_position.x;
4387 p->y = current_position.y;
4388 p->dir = current_direction;
4389 p->tbl = current_table;
4390 p->prev = current_saved_state;
4391 current_position.x = 0.0;
4392 current_position.y = 0.0;
4393 current_table = new PTABLE(place);
4394 current_saved_state = p;
4395 olist.append(make_mark_object());
4401 current_position.x = yyvsp[-2].pstate->x;
4402 current_position.y = yyvsp[-2].pstate->y;
4403 current_direction = yyvsp[-2].pstate->dir;
4404 yyval.spec = new object_spec(BLOCK_OBJECT);
4405 olist.wrap_up_block(& yyval.spec->oblist);
4406 yyval.spec->tbl = current_table;
4407 current_table = yyvsp[-2].pstate->tbl;
4408 current_saved_state = yyvsp[-2].pstate->prev;
4409 delete yyvsp[-2].pstate;
4415 yyval.spec = yyvsp[-2].spec;
4416 yyval.spec->height = yyvsp[0].x;
4417 yyval.spec->flags |= HAS_HEIGHT;
4423 yyval.spec = yyvsp[-2].spec;
4424 yyval.spec->radius = yyvsp[0].x;
4425 yyval.spec->flags |= HAS_RADIUS;
4431 yyval.spec = yyvsp[-2].spec;
4432 yyval.spec->width = yyvsp[0].x;
4433 yyval.spec->flags |= HAS_WIDTH;
4439 yyval.spec = yyvsp[-2].spec;
4440 yyval.spec->radius = yyvsp[0].x/2.0;
4441 yyval.spec->flags |= HAS_RADIUS;
4447 yyval.spec = yyvsp[-1].spec;
4448 yyval.spec->flags |= HAS_SEGMENT;
4449 switch (yyval.spec->dir) {
4451 yyval.spec->segment_pos.y += yyvsp[0].x;
4453 case DOWN_DIRECTION:
4454 yyval.spec->segment_pos.y -= yyvsp[0].x;
4456 case RIGHT_DIRECTION:
4457 yyval.spec->segment_pos.x += yyvsp[0].x;
4459 case LEFT_DIRECTION:
4460 yyval.spec->segment_pos.x -= yyvsp[0].x;
4468 yyval.spec = yyvsp[-1].spec;
4469 yyval.spec->dir = UP_DIRECTION;
4470 yyval.spec->flags |= HAS_SEGMENT;
4471 yyval.spec->segment_pos.y += yyval.spec->segment_height;
4477 yyval.spec = yyvsp[-2].spec;
4478 yyval.spec->dir = UP_DIRECTION;
4479 yyval.spec->flags |= HAS_SEGMENT;
4480 yyval.spec->segment_pos.y += yyvsp[0].x;
4486 yyval.spec = yyvsp[-1].spec;
4487 yyval.spec->dir = DOWN_DIRECTION;
4488 yyval.spec->flags |= HAS_SEGMENT;
4489 yyval.spec->segment_pos.y -= yyval.spec->segment_height;
4495 yyval.spec = yyvsp[-2].spec;
4496 yyval.spec->dir = DOWN_DIRECTION;
4497 yyval.spec->flags |= HAS_SEGMENT;
4498 yyval.spec->segment_pos.y -= yyvsp[0].x;
4504 yyval.spec = yyvsp[-1].spec;
4505 yyval.spec->dir = RIGHT_DIRECTION;
4506 yyval.spec->flags |= HAS_SEGMENT;
4507 yyval.spec->segment_pos.x += yyval.spec->segment_width;
4513 yyval.spec = yyvsp[-2].spec;
4514 yyval.spec->dir = RIGHT_DIRECTION;
4515 yyval.spec->flags |= HAS_SEGMENT;
4516 yyval.spec->segment_pos.x += yyvsp[0].x;
4522 yyval.spec = yyvsp[-1].spec;
4523 yyval.spec->dir = LEFT_DIRECTION;
4524 yyval.spec->flags |= HAS_SEGMENT;
4525 yyval.spec->segment_pos.x -= yyval.spec->segment_width;
4531 yyval.spec = yyvsp[-2].spec;
4532 yyval.spec->dir = LEFT_DIRECTION;
4533 yyval.spec->flags |= HAS_SEGMENT;
4534 yyval.spec->segment_pos.x -= yyvsp[0].x;
4540 yyval.spec = yyvsp[-2].spec;
4541 yyval.spec->flags |= HAS_FROM;
4542 yyval.spec->from.x = yyvsp[0].pair.x;
4543 yyval.spec->from.y = yyvsp[0].pair.y;
4549 yyval.spec = yyvsp[-2].spec;
4550 if (yyval.spec->flags & HAS_SEGMENT)
4551 yyval.spec->segment_list = new segment(yyval.spec->segment_pos,
4552 yyval.spec->segment_is_absolute,
4553 yyval.spec->segment_list);
4554 yyval.spec->flags |= HAS_SEGMENT;
4555 yyval.spec->segment_pos.x = yyvsp[0].pair.x;
4556 yyval.spec->segment_pos.y = yyvsp[0].pair.y;
4557 yyval.spec->segment_is_absolute = 1;
4558 yyval.spec->flags |= HAS_TO;
4559 yyval.spec->to.x = yyvsp[0].pair.x;
4560 yyval.spec->to.y = yyvsp[0].pair.y;
4566 yyval.spec = yyvsp[-2].spec;
4567 yyval.spec->flags |= HAS_AT;
4568 yyval.spec->at.x = yyvsp[0].pair.x;
4569 yyval.spec->at.y = yyvsp[0].pair.y;
4570 if (yyval.spec->type != ARC_OBJECT) {
4571 yyval.spec->flags |= HAS_FROM;
4572 yyval.spec->from.x = yyvsp[0].pair.x;
4573 yyval.spec->from.y = yyvsp[0].pair.y;
4580 yyval.spec = yyvsp[-2].spec;
4581 yyval.spec->flags |= HAS_WITH;
4582 yyval.spec->with = yyvsp[0].pth;
4588 yyval.spec = yyvsp[-2].spec;
4589 yyval.spec->flags |= HAS_WITH;
4591 pos.x = yyvsp[0].pair.x;
4592 pos.y = yyvsp[0].pair.y;
4593 yyval.spec->with = new path(pos);
4599 yyval.spec = yyvsp[-2].spec;
4600 yyval.spec->flags |= HAS_SEGMENT;
4601 yyval.spec->segment_pos.x += yyvsp[0].pair.x;
4602 yyval.spec->segment_pos.y += yyvsp[0].pair.y;
4608 yyval.spec = yyvsp[-1].spec;
4609 if (yyval.spec->flags & HAS_SEGMENT) {
4610 yyval.spec->segment_list = new segment(yyval.spec->segment_pos,
4611 yyval.spec->segment_is_absolute,
4612 yyval.spec->segment_list);
4613 yyval.spec->flags &= ~HAS_SEGMENT;
4614 yyval.spec->segment_pos.x = yyval.spec->segment_pos.y = 0.0;
4615 yyval.spec->segment_is_absolute = 0;
4622 yyval.spec = yyvsp[-1].spec; /* nothing*/
4628 yyval.spec = yyvsp[-1].spec;
4629 yyval.spec->flags |= IS_DOTTED;
4630 lookup_variable("dashwid", & yyval.spec->dash_width);
4636 yyval.spec = yyvsp[-2].spec;
4637 yyval.spec->flags |= IS_DOTTED;
4638 yyval.spec->dash_width = yyvsp[0].x;
4644 yyval.spec = yyvsp[-1].spec;
4645 yyval.spec->flags |= IS_DASHED;
4646 lookup_variable("dashwid", & yyval.spec->dash_width);
4652 yyval.spec = yyvsp[-2].spec;
4653 yyval.spec->flags |= IS_DASHED;
4654 yyval.spec->dash_width = yyvsp[0].x;
4660 yyval.spec = yyvsp[-1].spec;
4661 yyval.spec->flags |= IS_DEFAULT_FILLED;
4667 yyval.spec = yyvsp[-2].spec;
4668 yyval.spec->flags |= IS_FILLED;
4669 yyval.spec->fill = yyvsp[0].x;
4675 yyval.spec = yyvsp[-2].spec;
4676 yyval.spec->flags |= (IS_SHADED | IS_FILLED);
4677 yyval.spec->shaded = new char[strlen(yyvsp[0].lstr.str)+1];
4678 strcpy(yyval.spec->shaded, yyvsp[0].lstr.str);
4684 yyval.spec = yyvsp[-2].spec;
4685 yyval.spec->flags |= (IS_SHADED | IS_OUTLINED | IS_FILLED);
4686 yyval.spec->shaded = new char[strlen(yyvsp[0].lstr.str)+1];
4687 strcpy(yyval.spec->shaded, yyvsp[0].lstr.str);
4688 yyval.spec->outlined = new char[strlen(yyvsp[0].lstr.str)+1];
4689 strcpy(yyval.spec->outlined, yyvsp[0].lstr.str);
4695 yyval.spec = yyvsp[-2].spec;
4696 yyval.spec->flags |= IS_OUTLINED;
4697 yyval.spec->outlined = new char[strlen(yyvsp[0].lstr.str)+1];
4698 strcpy(yyval.spec->outlined, yyvsp[0].lstr.str);
4704 yyval.spec = yyvsp[-1].spec;
4705 /* line chop chop means line chop 0 chop 0*/
4706 if (yyval.spec->flags & IS_DEFAULT_CHOPPED) {
4707 yyval.spec->flags |= IS_CHOPPED;
4708 yyval.spec->flags &= ~IS_DEFAULT_CHOPPED;
4709 yyval.spec->start_chop = yyval.spec->end_chop = 0.0;
4711 else if (yyval.spec->flags & IS_CHOPPED) {
4712 yyval.spec->end_chop = 0.0;
4715 yyval.spec->flags |= IS_DEFAULT_CHOPPED;
4722 yyval.spec = yyvsp[-2].spec;
4723 if (yyval.spec->flags & IS_DEFAULT_CHOPPED) {
4724 yyval.spec->flags |= IS_CHOPPED;
4725 yyval.spec->flags &= ~IS_DEFAULT_CHOPPED;
4726 yyval.spec->start_chop = 0.0;
4727 yyval.spec->end_chop = yyvsp[0].x;
4729 else if (yyval.spec->flags & IS_CHOPPED) {
4730 yyval.spec->end_chop = yyvsp[0].x;
4733 yyval.spec->start_chop = yyval.spec->end_chop = yyvsp[0].x;
4734 yyval.spec->flags |= IS_CHOPPED;
4741 yyval.spec = yyvsp[-1].spec;
4742 yyval.spec->flags |= IS_SAME;
4748 yyval.spec = yyvsp[-1].spec;
4749 yyval.spec->flags |= IS_INVISIBLE;
4755 yyval.spec = yyvsp[-1].spec;
4756 yyval.spec->flags |= HAS_LEFT_ARROW_HEAD;
4762 yyval.spec = yyvsp[-1].spec;
4763 yyval.spec->flags |= HAS_RIGHT_ARROW_HEAD;
4769 yyval.spec = yyvsp[-1].spec;
4770 yyval.spec->flags |= (HAS_LEFT_ARROW_HEAD|HAS_RIGHT_ARROW_HEAD);
4776 yyval.spec = yyvsp[-1].spec;
4777 yyval.spec->flags |= IS_CLOCKWISE;
4783 yyval.spec = yyvsp[-1].spec;
4784 yyval.spec->flags &= ~IS_CLOCKWISE;
4790 yyval.spec = yyvsp[-1].spec;
4792 for (p = & yyval.spec->text; *p; p = &(*p)->next)
4794 *p = new text_item(yyvsp[0].lstr.str, yyvsp[0].lstr.filename, yyvsp[0].lstr.lineno);
4800 yyval.spec = yyvsp[-1].spec;
4801 if (yyval.spec->text) {
4803 for (p = yyval.spec->text; p->next; p = p->next)
4805 p->adj.h = LEFT_ADJUST;
4812 yyval.spec = yyvsp[-1].spec;
4813 if (yyval.spec->text) {
4815 for (p = yyval.spec->text; p->next; p = p->next)
4817 p->adj.h = RIGHT_ADJUST;
4824 yyval.spec = yyvsp[-1].spec;
4825 if (yyval.spec->text) {
4827 for (p = yyval.spec->text; p->next; p = p->next)
4829 p->adj.v = ABOVE_ADJUST;
4836 yyval.spec = yyvsp[-1].spec;
4837 if (yyval.spec->text) {
4839 for (p = yyval.spec->text; p->next; p = p->next)
4841 p->adj.v = BELOW_ADJUST;
4848 yyval.spec = yyvsp[-2].spec;
4849 yyval.spec->flags |= HAS_THICKNESS;
4850 yyval.spec->thickness = yyvsp[0].x;
4856 yyval.spec = yyvsp[-1].spec;
4857 yyval.spec->flags |= IS_ALIGNED;
4862 { yyval.lstr = yyvsp[0].lstr; }
4867 yyval.lstr.filename = yyvsp[-2].lstr.filename;
4868 yyval.lstr.lineno = yyvsp[-2].lstr.lineno;
4869 yyval.lstr.str = do_sprintf(yyvsp[-2].lstr.str, yyvsp[-1].dv.v, yyvsp[-1].dv.nv);
4870 a_delete yyvsp[-1].dv.v;
4871 a_delete yyvsp[-2].lstr.str;
4885 yyval.dv = yyvsp[-2].dv;
4886 if (yyval.dv.nv >= yyval.dv.maxv) {
4887 if (yyval.dv.nv == 0) {
4888 yyval.dv.v = new double[4];
4892 double *oldv = yyval.dv.v;
4895 yyval.dv.v = new double[yyval.dv.maxv];
4896 memcpy(yyval.dv.v, oldv, yyval.dv.nv*sizeof(double));
4898 /* workaround for bug in Compaq C++ V6.5-033*/
4899 /* for Compaq Tru64 UNIX V5.1A (Rev. 1885)*/
4900 double *foo = new double[yyval.dv.maxv];
4901 memcpy(foo, oldv, yyval.dv.nv*sizeof(double));
4907 yyval.dv.v[yyval.dv.nv] = yyvsp[0].x;
4913 { yyval.pair = yyvsp[0].pair; }
4918 position pos = yyvsp[0].pl;
4919 yyval.pair.x = pos.x;
4920 yyval.pair.y = pos.y;
4925 { yyval.pair = yyvsp[0].pair; }
4930 yyval.pair.x = yyvsp[-2].pair.x + yyvsp[0].pair.x;
4931 yyval.pair.y = yyvsp[-2].pair.y + yyvsp[0].pair.y;
4937 yyval.pair.x = yyvsp[-2].pair.x - yyvsp[0].pair.x;
4938 yyval.pair.y = yyvsp[-2].pair.y - yyvsp[0].pair.y;
4944 yyval.pair.x = yyvsp[-3].pair.x;
4945 yyval.pair.y = yyvsp[-1].pair.y;
4951 yyval.pair.x = (1.0 - yyvsp[-4].x)*yyvsp[-2].pair.x + yyvsp[-4].x*yyvsp[0].pair.x;
4952 yyval.pair.y = (1.0 - yyvsp[-4].x)*yyvsp[-2].pair.y + yyvsp[-4].x*yyvsp[0].pair.y;
4958 yyval.pair.x = (1.0 - yyvsp[-5].x)*yyvsp[-3].pair.x + yyvsp[-5].x*yyvsp[-1].pair.x;
4959 yyval.pair.y = (1.0 - yyvsp[-5].x)*yyvsp[-3].pair.y + yyvsp[-5].x*yyvsp[-1].pair.y;
4965 yyval.pair.x = yyvsp[-2].x;
4966 yyval.pair.y = yyvsp[0].x;
4971 { yyval.pair = yyvsp[-1].pair; }
4975 { yyval.pl = yyvsp[0].pl; }
4980 path pth(yyvsp[0].crn);
4981 if (!pth.follow(yyvsp[-1].pl, & yyval.pl))
4988 path pth(yyvsp[-1].crn);
4989 if (!pth.follow(yyvsp[0].pl, & yyval.pl))
4996 path pth(yyvsp[-2].crn);
4997 if (!pth.follow(yyvsp[0].pl, & yyval.pl))
5004 yyval.pl.x = current_position.x;
5005 yyval.pl.y = current_position.y;
5012 place *p = lookup_label(yyvsp[0].str);
5014 lex_error("there is no place `%1'", yyvsp[0].str);
5018 a_delete yyvsp[0].str;
5023 { yyval.pl.obj = yyvsp[0].obj; }
5028 path pth(yyvsp[0].str);
5029 if (!pth.follow(yyvsp[-2].pl, & yyval.pl))
5035 { yyval.n = yyvsp[0].n; }
5040 /* XXX Check for overflow (and non-integers?).*/
5041 yyval.n = (int)yyvsp[-1].x;
5050 { yyval.n = yyvsp[-1].n; }
5057 for (p = olist.head; p != 0; p = p->next)
5058 if (p->type() == yyvsp[0].obtype && ++count == yyvsp[-1].n) {
5063 lex_error("there is no %1%2 %3", yyvsp[-1].n, ordinal_postfix(yyvsp[-1].n),
5064 object_type_name(yyvsp[0].obtype));
5074 for (p = olist.tail; p != 0; p = p->prev)
5075 if (p->type() == yyvsp[0].obtype && ++count == yyvsp[-1].n) {
5080 lex_error("there is no %1%2 last %3", yyvsp[-1].n,
5081 ordinal_postfix(yyvsp[-1].n), object_type_name(yyvsp[0].obtype));
5088 { yyval.obtype = BOX_OBJECT; }
5092 { yyval.obtype = CIRCLE_OBJECT; }
5096 { yyval.obtype = ELLIPSE_OBJECT; }
5100 { yyval.obtype = ARC_OBJECT; }
5104 { yyval.obtype = LINE_OBJECT; }
5108 { yyval.obtype = ARROW_OBJECT; }
5112 { yyval.obtype = SPLINE_OBJECT; }
5116 { yyval.obtype = BLOCK_OBJECT; }
5120 { yyval.obtype = TEXT_OBJECT; }
5124 { yyval.pth = new path(yyvsp[0].str); }
5129 yyval.pth = yyvsp[-2].pth;
5130 yyval.pth->append(yyvsp[0].str);
5135 { yyval.pth = new path(yyvsp[0].crn); }
5139 { yyval.pth = yyvsp[0].pth; }
5144 yyval.pth = yyvsp[-1].pth;
5145 yyval.pth->append(yyvsp[0].crn);
5150 { yyval.pth = yyvsp[0].pth; }
5155 yyval.pth = yyvsp[-3].pth;
5156 yyval.pth->set_ypath(yyvsp[-1].pth);
5162 lex_warning("`%1%2 last %3' in `with' argument ignored",
5163 yyvsp[-3].n, ordinal_postfix(yyvsp[-3].n), object_type_name(yyvsp[-1].obtype));
5164 yyval.pth = yyvsp[0].pth;
5170 lex_warning("`last %1' in `with' argument ignored",
5171 object_type_name(yyvsp[-1].obtype));
5172 yyval.pth = yyvsp[0].pth;
5178 lex_warning("`%1%2 %3' in `with' argument ignored",
5179 yyvsp[-2].n, ordinal_postfix(yyvsp[-2].n), object_type_name(yyvsp[-1].obtype));
5180 yyval.pth = yyvsp[0].pth;
5186 lex_warning("initial `%1' in `with' argument ignored", yyvsp[-1].str);
5187 a_delete yyvsp[-1].str;
5188 yyval.pth = yyvsp[0].pth;
5193 { yyval.crn = &object::north; }
5197 { yyval.crn = &object::east; }
5201 { yyval.crn = &object::west; }
5205 { yyval.crn = &object::south; }
5209 { yyval.crn = &object::north_east; }
5213 { yyval.crn = &object:: south_east; }
5217 { yyval.crn = &object::north_west; }
5221 { yyval.crn = &object::south_west; }
5225 { yyval.crn = &object::center; }
5229 { yyval.crn = &object::start; }
5233 { yyval.crn = &object::end; }
5237 { yyval.crn = &object::north; }
5241 { yyval.crn = &object::south; }
5245 { yyval.crn = &object::west; }
5249 { yyval.crn = &object::east; }
5253 { yyval.crn = &object::north_west; }
5257 { yyval.crn = &object::south_west; }
5261 { yyval.crn = &object::north_east; }
5265 { yyval.crn = &object::south_east; }
5269 { yyval.crn = &object::west; }
5273 { yyval.crn = &object::east; }
5277 { yyval.crn = &object::north_west; }
5281 { yyval.crn = &object::south_west; }
5285 { yyval.crn = &object::north_east; }
5289 { yyval.crn = &object::south_east; }
5293 { yyval.crn = &object::north; }
5297 { yyval.crn = &object::south; }
5301 { yyval.crn = &object::east; }
5305 { yyval.crn = &object::west; }
5309 { yyval.crn = &object::center; }
5313 { yyval.crn = &object::start; }
5317 { yyval.crn = &object::end; }
5322 if (!lookup_variable(yyvsp[0].str, & yyval.x)) {
5323 lex_error("there is no variable `%1'", yyvsp[0].str);
5326 a_delete yyvsp[0].str;
5331 { yyval.x = yyvsp[0].x; }
5336 if (yyvsp[-1].pl.obj != 0)
5337 yyval.x = yyvsp[-1].pl.obj->origin().x;
5339 yyval.x = yyvsp[-1].pl.x;
5345 if (yyvsp[-1].pl.obj != 0)
5346 yyval.x = yyvsp[-1].pl.obj->origin().y;
5348 yyval.x = yyvsp[-1].pl.y;
5354 if (yyvsp[-1].pl.obj != 0)
5355 yyval.x = yyvsp[-1].pl.obj->height();
5363 if (yyvsp[-1].pl.obj != 0)
5364 yyval.x = yyvsp[-1].pl.obj->width();
5372 if (yyvsp[-1].pl.obj != 0)
5373 yyval.x = yyvsp[-1].pl.obj->radius();
5380 { yyval.x = yyvsp[-2].x + yyvsp[0].x; }
5384 { yyval.x = yyvsp[-2].x - yyvsp[0].x; }
5388 { yyval.x = yyvsp[-2].x * yyvsp[0].x; }
5393 if (yyvsp[0].x == 0.0) {
5394 lex_error("division by zero");
5397 yyval.x = yyvsp[-2].x/yyvsp[0].x;
5403 if (yyvsp[0].x == 0.0) {
5404 lex_error("modulus by zero");
5407 yyval.x = fmod(yyvsp[-2].x, yyvsp[0].x);
5414 yyval.x = pow(yyvsp[-2].x, yyvsp[0].x);
5415 if (errno == EDOM) {
5416 lex_error("arguments to `^' operator out of domain");
5419 if (errno == ERANGE) {
5420 lex_error("result of `^' operator out of range");
5427 { yyval.x = -yyvsp[0].x; }
5431 { yyval.x = yyvsp[-1].x; }
5437 yyval.x = sin(yyvsp[-1].x);
5438 if (errno == ERANGE) {
5439 lex_error("sin result out of range");
5448 yyval.x = cos(yyvsp[-1].x);
5449 if (errno == ERANGE) {
5450 lex_error("cos result out of range");
5459 yyval.x = atan2(yyvsp[-3].x, yyvsp[-1].x);
5460 if (errno == EDOM) {
5461 lex_error("atan2 argument out of domain");
5464 if (errno == ERANGE) {
5465 lex_error("atan2 result out of range");
5474 yyval.x = log10(yyvsp[-1].x);
5475 if (errno == ERANGE) {
5476 lex_error("log result out of range");
5485 yyval.x = pow(10.0, yyvsp[-1].x);
5486 if (errno == ERANGE) {
5487 lex_error("exp result out of range");
5496 yyval.x = sqrt(yyvsp[-1].x);
5497 if (errno == EDOM) {
5498 lex_error("sqrt argument out of domain");
5505 { yyval.x = yyvsp[-3].x > yyvsp[-1].x ? yyvsp[-3].x : yyvsp[-1].x; }
5509 { yyval.x = yyvsp[-3].x < yyvsp[-1].x ? yyvsp[-3].x : yyvsp[-1].x; }
5513 { yyval.x = floor(yyvsp[-1].x); }
5517 { yyval.x = 1.0 + floor(((rand()&0x7fff)/double(0x7fff))*yyvsp[-1].x); }
5522 /* return a random number in the range [0,1) */
5523 /* portable, but not very random */
5524 yyval.x = (rand() & 0x7fff) / double(0x8000);
5531 srand((unsigned int)yyvsp[-1].x);
5536 { yyval.x = (yyvsp[-2].x < yyvsp[0].x); }
5540 { yyval.x = (yyvsp[-2].x <= yyvsp[0].x); }
5544 { yyval.x = (yyvsp[-2].x > yyvsp[0].x); }
5548 { yyval.x = (yyvsp[-2].x >= yyvsp[0].x); }
5552 { yyval.x = (yyvsp[-2].x == yyvsp[0].x); }
5556 { yyval.x = (yyvsp[-2].x != yyvsp[0].x); }
5560 { yyval.x = (yyvsp[-2].x != 0.0 && yyvsp[0].x != 0.0); }
5564 { yyval.x = (yyvsp[-2].x != 0.0 || yyvsp[0].x != 0.0); }
5568 { yyval.x = (yyvsp[0].x == 0.0); }
5570 #line 5571 "y.tab.c"
5576 if (yystate == 0 && yym == 0)
5580 printf("%sdebug: after reduction, shifting from state 0 to\
5581 state %d\n", YYPREFIX, YYFINAL);
5588 if ((yychar = yylex()) < 0) yychar = 0;
5593 if (yychar <= YYMAXTOKEN) yys = yyname[yychar];
5594 if (!yys) yys = "illegal-symbol";
5595 printf("%sdebug: state %d, reading %d (%s)\n",
5596 YYPREFIX, YYFINAL, yychar, yys);
5600 if (yychar == 0) goto yyaccept;
5603 if ((yyn = yygindex[yym]) && (yyn += yystate) >= 0 &&
5604 yyn <= YYTABLESIZE && yycheck[yyn] == yystate)
5605 yystate = yytable[yyn];
5607 yystate = yydgoto[yym];
5610 printf("%sdebug: after reduction, shifting from state %d \
5611 to state %d\n", YYPREFIX, *yyssp, yystate);
5613 if (yyssp >= yyss + yystacksize - 1)
5621 yyerror("yacc stack overflow");