More garbage.
authoretheisen <etheisen@openbsd.org>
Sat, 14 Sep 1996 22:15:31 +0000 (22:15 +0000)
committeretheisen <etheisen@openbsd.org>
Sat, 14 Sep 1996 22:15:31 +0000 (22:15 +0000)
gnu/usr.bin/groff/Makefile [deleted file]
gnu/usr.bin/groff/pic/pic.cc [deleted file]

diff --git a/gnu/usr.bin/groff/Makefile b/gnu/usr.bin/groff/Makefile
deleted file mode 100644 (file)
index 5e09c19..0000000
+++ /dev/null
@@ -1,25 +0,0 @@
-# Copyright (C) 1989, 1990, 1991, 1992 Free Software Foundation, Inc.
-#      Written by James Clark (jjc@jclark.com)
-# 
-# This file is part of groff.
-# 
-# groff is free software; you can redistribute it and/or modify it under
-# the terms of the GNU General Public License as published by the Free
-# Software Foundation; either version 2, or (at your option) any later
-# version.
-# 
-# groff is distributed in the hope that it will be useful, but WITHOUT ANY
-# WARRANTY; without even the implied warranty of MERCHANTABILITY or
-# FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
-# for more details.
-# 
-# You should have received a copy of the GNU General Public License along
-# with groff; see the file COPYING.  If not, write to the Free Software
-# Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
-
-SHELL=/bin/sh
-
-.PHONY: all
-all:
-       $(SHELL) configure
-       $(MAKE) all
diff --git a/gnu/usr.bin/groff/pic/pic.cc b/gnu/usr.bin/groff/pic/pic.cc
deleted file mode 100644 (file)
index 9e9e9f1..0000000
+++ /dev/null
@@ -1,5283 +0,0 @@
-#if defined(__STDC__) || defined(__cplusplus)
-#define YYCONST const
-#define YYPARAMS(x) x
-#define YYDEFUN(name, arglist, args) name(args)
-#define YYAND ,
-#define YYPTR void *
-#else
-#define YYCONST
-#define YYPARAMS(x) ()
-#define YYDEFUN(name, arglist, args) name arglist args;
-#define YYAND ;
-#define YYPTR char *
-#endif
-#ifndef lint
-YYCONST static char yysccsid[] = "@(#)yaccpar  1.8 (Berkeley +Cygnus.28) 01/20/91";
-#endif
-#define YYBYACC 1
-#ifndef YYDONT_INCLUDE_STDIO
-#include <stdio.h>
-#endif
-#ifdef __cplusplus
-#include <stdlib.h> /* for malloc/realloc/free */
-#endif
-#line 20 "pic.y"
-#include "pic.h"
-#include "ptable.h"
-#include "object.h"
-
-extern int delim_flag;
-extern void do_copy(const char *);
-extern void copy_rest_thru(const char *, const char *);
-extern void copy_file_thru(const char *, const char *, const char *);
-extern void push_body(const char *);
-extern void do_for(char *var, double from, double to,
-                  int by_is_multiplicative, double by, char *body);
-extern void do_lookahead();
-
-#undef fmod
-#undef rand
-
-extern "C" {
-  double fmod(double, double);
-  int rand();
-}
-
-/* Maximum number of characters produced by printf("%g") */
-#define GDIGITS 14
-
-int yylex();
-void yyerror(const char *);
-
-void reset(const char *nm);
-void reset_all();
-
-place *lookup_label(const char *);
-void define_label(const char *label, const place *pl);
-
-direction current_direction;
-position current_position;
-
-implement_ptable(place)
-
-PTABLE(place) top_table;
-
-PTABLE(place) *current_table = &top_table;
-saved_state *current_saved_state = 0;
-
-object_list olist;
-
-const char *ordinal_postfix(int n);
-const char *object_type_name(object_type type);
-char *format_number(const char *form, double n);
-char *do_sprintf(const char *form, const double *v, int nv);
-
-#line 73 "pic.y"
-typedef union {
-       char *str;
-       int n;
-       double x;
-       struct { double x, y; } pair;
-       struct { double x; char *body; } if_data;
-       struct { char *str; const char *filename; int lineno; } lstr;
-       struct { double *v; int nv; int maxv; } dv;
-       struct { double val; int is_multiplicative; } by;
-       place pl;
-       object *obj;
-       corner crn;
-       path *pth;
-       object_spec *spec;
-       saved_state *pstate;
-       graphics_state state;
-       object_type obtype;
-} YYSTYPE;
-#line 95 "y.tab.c"
-#define LABEL 257
-#define VARIABLE 258
-#define NUMBER 259
-#define TEXT 260
-#define COMMAND_LINE 261
-#define DELIMITED 262
-#define ORDINAL 263
-#define TH 264
-#define LEFT_ARROW_HEAD 265
-#define RIGHT_ARROW_HEAD 266
-#define DOUBLE_ARROW_HEAD 267
-#define LAST 268
-#define UP 269
-#define DOWN 270
-#define LEFT 271
-#define RIGHT 272
-#define BOX 273
-#define CIRCLE 274
-#define ELLIPSE 275
-#define ARC 276
-#define LINE 277
-#define ARROW 278
-#define MOVE 279
-#define SPLINE 280
-#define HEIGHT 281
-#define RADIUS 282
-#define WIDTH 283
-#define DIAMETER 284
-#define FROM 285
-#define TO 286
-#define AT 287
-#define WITH 288
-#define BY 289
-#define THEN 290
-#define DOTTED 291
-#define DASHED 292
-#define CHOP 293
-#define SAME 294
-#define INVISIBLE 295
-#define LJUST 296
-#define RJUST 297
-#define ABOVE 298
-#define BELOW 299
-#define OF 300
-#define THE 301
-#define WAY 302
-#define BETWEEN 303
-#define AND 304
-#define HERE 305
-#define DOT_N 306
-#define DOT_E 307
-#define DOT_W 308
-#define DOT_S 309
-#define DOT_NE 310
-#define DOT_SE 311
-#define DOT_NW 312
-#define DOT_SW 313
-#define DOT_C 314
-#define DOT_START 315
-#define DOT_END 316
-#define DOT_X 317
-#define DOT_Y 318
-#define DOT_HT 319
-#define DOT_WID 320
-#define DOT_RAD 321
-#define SIN 322
-#define COS 323
-#define ATAN2 324
-#define LOG 325
-#define EXP 326
-#define SQRT 327
-#define K_MAX 328
-#define K_MIN 329
-#define INT 330
-#define RAND 331
-#define COPY 332
-#define THRU 333
-#define TOP 334
-#define BOTTOM 335
-#define UPPER 336
-#define LOWER 337
-#define SH 338
-#define PRINT 339
-#define CW 340
-#define CCW 341
-#define FOR 342
-#define DO 343
-#define IF 344
-#define ELSE 345
-#define ANDAND 346
-#define OROR 347
-#define NOTEQUAL 348
-#define EQUALEQUAL 349
-#define LESSEQUAL 350
-#define GREATEREQUAL 351
-#define LEFT_CORNER 352
-#define RIGHT_CORNER 353
-#define CENTER 354
-#define END 355
-#define START 356
-#define RESET 357
-#define UNTIL 358
-#define PLOT 359
-#define THICKNESS 360
-#define FILL 361
-#define ALIGNED 362
-#define SPRINTF 363
-#define COMMAND 364
-#define DEFINE 365
-#define UNDEF 366
-#define YYERRCODE 256
-static YYCONST short yylhs[] = {                                        -1,
-    0,    0,   16,   17,   17,   28,   28,   29,   29,   30,
-   30,   30,   30,   30,   30,   30,   30,   30,   31,   30,
-   30,   32,   33,   30,   34,   35,   30,   36,   30,   30,
-   37,   30,   30,   30,   38,   38,   38,   26,   26,   27,
-   27,   27,   39,    7,   23,   23,    2,    2,    3,    3,
-    3,    3,    3,    3,    3,    3,    3,    4,    4,    4,
-   15,   15,   15,   15,   40,   42,   15,   15,   41,   41,
-   18,   18,   18,   18,   18,   18,   18,   18,   18,   18,
-   18,   43,   18,   18,   18,   18,   18,   18,   18,   18,
-   18,   18,   18,   18,   18,   18,   18,   18,   18,   18,
-   18,   18,   18,   18,   18,   18,   18,   18,   18,   18,
-   18,   18,   18,   18,   18,   18,   18,   18,   18,   18,
-   18,   18,   18,   18,   25,   25,   24,   24,   19,   19,
-    6,    6,    6,    6,    6,    6,   44,   44,    5,    5,
-   13,   13,   13,   13,   13,   14,   14,   14,   22,   22,
-   21,   21,    8,    8,   20,   20,   20,   20,   20,   20,
-   20,   20,   20,   11,   11,   12,   12,   12,   10,   10,
-   10,   10,   10,   10,    9,    9,    9,    9,    9,    9,
-    9,    9,    9,    9,    9,    9,    9,    9,    9,    9,
-    9,    9,    9,    9,    9,    9,    9,    9,    9,    9,
-    9,    9,    1,    1,    1,    1,    1,    1,    1,    1,
-    1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
-    1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
-    1,    1,    1,    1,    1,    1,    1,
-};
-static YYCONST short yylen[] = {                                         2,
-    1,    1,    3,    1,    3,    0,    1,    1,    2,    3,
-    4,    1,    1,    1,    1,    1,    2,    2,    0,    3,
-    2,    0,    0,    7,    0,    0,    6,    0,   10,    1,
-    0,    4,    1,    1,    2,    2,    3,    1,    2,    1,
-    1,    1,    0,    5,    0,    2,    1,    1,    3,    3,
-    3,    3,    3,    3,    3,    3,    2,    0,    2,    3,
-    1,    4,    4,    4,    0,    0,    6,    1,    0,    1,
-    1,    1,    1,    1,    1,    1,    1,    1,    1,    2,
-    3,    0,    4,    3,    3,    3,    3,    2,    2,    3,
-    2,    3,    2,    3,    2,    3,    3,    3,    3,    3,
-    3,    2,    2,    3,    2,    3,    2,    3,    2,    3,
-    2,    2,    2,    2,    2,    2,    2,    2,    2,    2,
-    2,    2,    3,    2,    1,    5,    0,    3,    1,    1,
-    1,    3,    3,    5,    5,    6,    1,    4,    3,    3,
-    1,    2,    2,    3,    1,    1,    1,    3,    1,    3,
-    1,    2,    2,    2,    1,    1,    1,    1,    1,    1,
-    1,    2,    1,    2,    3,    1,    1,    2,    1,    5,
-    4,    3,    3,    2,    1,    1,    1,    1,    1,    1,
-    1,    1,    1,    1,    1,    1,    1,    1,    1,    2,
-    2,    2,    2,    1,    1,    2,    2,    2,    2,    1,
-    1,    1,    1,    1,    2,    2,    2,    2,    2,    3,
-    3,    3,    3,    3,    3,    2,    3,    4,    4,    6,
-    4,    4,    4,    6,    6,    4,    4,    3,    3,    3,
-    3,    3,    3,    3,    3,    3,    2,
-};
-static YYCONST short yydefred[] = {                                      0,
-    8,    0,    2,    0,    0,    0,    0,  125,   16,   12,
-   13,   14,   15,   71,   72,   73,   74,   75,   76,   77,
-   78,    0,   19,    0,    0,    0,    0,    0,    0,    0,
-   65,   82,    0,    4,    0,    0,   79,   68,    0,    9,
-    0,    0,    0,    0,   25,    0,  146,  203,  204,  149,
-  151,  188,  189,  145,  175,  176,  177,  178,  179,  180,
-  181,  182,  183,  184,  185,    0,    0,    0,    0,    0,
-    0,    0,    0,    0,    0,  186,  187,    0,    0,  194,
-  195,  200,  202,  201,    0,    0,    0,    0,    0,  131,
-  129,  147,    0,    0,    0,    0,    0,    0,   41,    0,
-   38,    0,    0,    0,    0,    0,    0,    0,    0,   35,
-    0,    0,    0,    0,    0,   31,    3,    0,  113,  114,
-  115,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-    0,    0,    0,    0,  102,    0,    0,    0,  111,  112,
-  119,  120,  121,  122,  116,  117,    0,    0,  124,    0,
-  118,   36,    0,    0,   10,    0,   22,    0,   20,    0,
-    0,    0,    0,    0,    0,    0,    0,    0,    0,  190,
-  192,  196,  198,  191,  193,  197,  199,    0,    0,    0,
-    0,    0,    0,    0,    0,  137,    0,    0,    0,    0,
-    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-    0,    0,    0,    0,  205,  206,  207,  208,  209,    0,
-  142,    0,    0,  163,  155,  156,  157,  158,  159,  160,
-  161,    0,  154,  152,  153,   39,    0,    0,   57,    0,
-    0,    0,   43,    0,    0,    0,    0,   81,  127,    0,
-    0,    0,    0,    5,    0,    0,    0,    0,    0,    0,
-    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-    0,  166,  100,    0,  169,    0,    0,  101,    0,    0,
-    0,    0,    0,   37,    0,    0,    0,    0,    0,    0,
-   62,    0,   11,    0,   26,    0,    0,    0,    0,    0,
-    0,    0,    0,    0,  228,    0,  217,  140,    0,  150,
-    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-    0,    0,    0,    0,    0,    0,    0,    0,    0,  148,
-  132,  133,  162,    0,    0,   53,    0,    0,    0,    0,
-    0,   51,    0,    0,   50,   49,    0,   66,   83,   32,
-  174,    0,    0,    0,    0,  164,    0,  168,    0,    0,
-   23,    0,  218,  219,    0,  221,  222,  223,    0,    0,
-  226,  227,    0,    0,    0,    0,    0,   44,    0,  126,
-    0,    0,  173,  172,    0,  165,    0,    0,   27,    0,
-    0,    0,  134,  138,    0,    0,    0,    0,   70,   67,
-  171,    0,   24,   46,  220,  224,  225,  136,    0,    0,
-  170,    0,    0,   28,    0,    0,   29,
-};
-static YYCONST short yydgoto[] = {                                       2,
-  105,  179,  107,  400,   90,   91,   33,   92,   93,  263,
-  264,  265,  108,   95,   34,    3,   35,   36,   96,  223,
-   97,   98,  379,  337,  109,  100,  101,  241,    5,   38,
-   46,  284,  377,  158,  352,  406,  243,   39,  330,  114,
-  390,  371,  115,  202,
-};
-static YYCONST short yysindex[] = {                                    -52,
-    0,    0,    0, 5205,  -46,    7,  -12,    0,    0,    0,
-    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-    0, -249,    0,10894, -198,11035, -186,11441,   51,10894,
-    0,    0, -251,    0,  -52,10595,    0,    0,  -42,    0,
-  -52,11035,   35, -236,    0, -145,    0,    0,    0,    0,
-    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-    0,    0,    0,    0,    0,   79,   80,   85,   87,   91,
-   94,   98,  101,  102,  107,    0,    0, -126,  -67,    0,
-    0,    0,    0,    0,11136,11035,11441,11441, 1187,    0,
-    0,    0,  -71, -250, 2230,  -10,  575,  426,    0,10894,
-    0,   71,11035,11035, 1220, -141, -305, -250, -291,    0,
-  -28, -101,10894,  -52,  -52,    0,    0, 9974,    0,    0,
-    0,11746,11746,11746,11746,11441,11441,11441,11441,11542,
-11542,11542, 4851,11645,    0,11746,11746,11746,    0,    0,
-    0,    0,    0,    0,    0,    0,11441,11746,    0, 1647,
-    0,    0,  -98,10233,    0,11035,    0, -100,    0,11035,
-11035,11035,11035,11035,11035,11035,11035,11035,10736,    0,
-    0,    0,    0,    0,    0,    0,    0, 1626,  141,  146,
-   42,  -73,   99,   99, -105,    0,11441,11441,11441,11441,
-11441,11441,11441,11542,11441,11441,11441,11441,11441,11441,
-11441,11542,  -18,  152,    0,    0,    0,    0,    0,  -56,
-    0,11645,11645,    0,    0,    0,    0,    0,    0,    0,
-    0,  120,    0,    0,    0,    0,11441,   99,    0,11035,
-11035,11441,    0,11035,11035, -242, -242,    0,    0,   89,
- 5205,  125,  -41,    0, 1647, 1647, 1647, 1647, 1647, 1647,
- 1647, 1647, 1187,  -10,  -10,  -10, 2121,  455,  575, 2121,
-  -33,    0,    0, 2134,    0,11237,  781,    0, 1647, 1647,
- 1647, 1647, 1647,    0,    7,  -12,    0,    0,    0, -250,
-    0,  -10,    0,  -32,    0,  202,  203,  189,  207,  208,
-  210,  209,  217,  235,    0,  243,    0,    0,11542,    0,
-   -1, 1117, 1180,  739,  739,  357,  357, 1647,  -21,  192,
-  357,   46,   46,   99,   99,   99,   99,  -35,  152,    0,
-    0,    0,    0, 1076, 1117,    0, 1659,  -44,  357,   47,
- 1117,    0, 1659,  -44,    0,    0,   10,    0,    0,    0,
-    0,  575, 2121, 2121,  264,    0,   67,    0, 1208,  146,
-    0,  -27,    0,    0,11035,    0,    0,    0,11035,11035,
-    0,    0,    2,   13,11542,11542,11441,    0,11441,    0,
- 5205, 2121,    0,    0, 2121,    0,  -27,   65,    0,  285,
-  292,  293,    0,    0,  -14,  -10, 1619, 1647,    0,    0,
-    0,  299,    0,    0,    0,    0,    0,    0,11340,    1,
-    0,11441, 1647,    0, 1647,   86,    0,
-};
-static YYCONST short yyrindex[] = {                                     20,
-    0,    0,    0,  347,  150,    0,    0,    0,    0,    0,
-    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-    0,    0,    0,    0,    0,    0,   23,    0,    0,    0,
-    0,    0,   59,    0,  109,  212,    0,    0,  268,    0,
-10487,    0,    0,  287,    0,    0,    0,    0,    0,    0,
-    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-    0,    0,    0,    0,    0,    0,    0,    0, 8932,    0,
-    0,    0,    0, 4221, 8476, 9124,    0,    0,    0,  589,
-    0,    0,    0,    0,  181,    0,  721,    0,    0,    0,
-10102,    0,  615, 5629, 5629,    0,    0,  122,    0,    0,
-    0, 9441, 9481, 9223, 9331,    0,    0,    0,    0,    0,
-    0,    0,    0,    0,    0, 9580, 9690, 9789,    0,    0,
-    0,    0,    0,    0,    0,    0,    0, 9829,    0, 4977,
-    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-    0,    0,    0,    0,    0,    0,    0,  308,    0,  213,
-    0,    0,  270,  602,    0,    0,    0,    0,    0,    0,
-    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-    0,    0,    0, 2904,    0,    0,    0,    0,    0,    0,
-    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-    0,    0,    0,    0,    0,    0,    0, 8437,    0,    0,
-    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-    0,    0,    0,    0, 5084, 5401, 5508, 5825, 5932, 6249,
- 6356, 6673,    0, 6780, 7097, 7204,    0,    0,    0,    0,
-    0,    0,    0, 8782,    0,    0,    0,    0, 7521, 7628,
- 7945, 8052, 8369,    0,10163, 2065,  135, 1861,   36,  591,
-    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-    0, 3782, 4114, 3236, 3343, 2026, 2358, 4660, 8825,    0,
- 2465, 1587, 1919,  709, 1041, 1148, 1480,    0, 3675,    0,
-    0,    0,    0,    0,  390,    0, 8929,  179, 2797,    0,
-   92,    0,  614,  720,    0,    0,    0,    0,    0,    0,
-    0,    0,    0,    0,    0,    0,    0,    0,  308,    0,
-    0,  652,    0,    0,    0,    0,    0,    0,    0,    0,
-    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-  679,    0,    0,    0,    0,    0,  652,    0,    0,    0,
-    0,    0,    0,    0,    0, 4553,    8,   11,    0,    0,
-    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-    0,    0,   12,    0,   14,    0,    0,
-};
-static YYCONST short yygindex[] = {                                      0,
-  -24,  627,  -77,    0,  -57,  196,    0,    0,   -5,    0,
-    0,  265, 1084,  -88, -117,  -40,    0,    0,  134,  -59,
-    0,    0,  -23,    0,   26,  323,  -60,    3,  325,    0,
-    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-    0,    0,    0,    0,
-};
-#define YYTABLESIZE 12102
-static YYCONST short yytable[] = {                                      89,
-  244,  153,    4,  111,  204,   89,    1,  212,  200,  213,
-   44,  150,   40,  198,  196,  200,  197,    8,  199,    6,
-  198,  196,   34,  197,   86,  199,  229,  180,  212,   37,
-  213,  232,  212,  195,  213,   63,  281,  117,  225,  226,
-  234,  235,  383,  154,  212,   43,  213,  398,   42,   99,
-  370,  128,  226,  369,  128,   99,  236,  237,   30,  102,
-  178,  151,  183,  184,   41,  201,  205,  206,  207,  208,
-  209,  110,  201,  240,  242,   89,  268,   86,  129,  228,
-  129,   34,  200,   45,  212,  299,  213,  198,   89,  211,
-  112,   52,  199,  116,   63,  156,  157,  245,  246,  247,
-  248,  249,  250,  251,  252,  253,  253,  253,    6,  267,
-    6,  269,  270,  271,  319,   34,  159,   30,  160,  161,
-   29,    7,  272,  273,  162,   99,  163,  262,   63,  253,
-  164,  227,   52,  165,   14,   52,  238,  166,   99,  201,
-  167,  168,    6,   37,  170,  171,  169,   34,  233,    7,
-   52,   30,  326,  328,  321,  322,  332,  334,  239,  274,
-   63,  285,  302,  303,  304,  305,  306,  307,  308,  309,
-  311,  312,  313,  314,  315,  316,  317,  253,   56,   37,
-   47,  297,    7,   30,   52,   47,  298,  267,  267,    7,
-  300,   50,  201,   14,    7,  301,   51,  210,  343,  344,
-  320,    6,  324,  174,  175,  325,  327,  329,  350,  331,
-  333,   61,  323,  338,    7,  152,   52,  339,  181,   56,
-  340,   47,   56,  346,   47,  172,  173,   14,  203,  351,
-  188,    8,  355,    6,  212,  365,  213,   56,   47,   47,
-    7,  349,  353,  354,   50,    7,    7,  356,  357,   51,
-  358,  262,  359,  389,  262,  131,  131,  131,  348,   14,
-  360,  335,  336,  254,  255,  256,   37,   33,  366,  216,
-   61,   56,    7,   47,  253,  361,    6,    6,  185,    6,
-    6,  186,  372,  362,  176,  177,   21,  282,    6,    6,
-    6,    6,    6,    6,    6,    6,    6,    6,    6,    6,
-  364,  234,  216,   56,   61,   47,  216,  375,  368,  216,
-  216,  216,  216,  216,  216,  384,  216,  187,  188,  189,
-  190,  191,  192,  376,  394,  395,   33,  310,  216,  216,
-  378,  216,  396,  397,   29,  318,   61,  262,  262,  401,
-  253,  253,  387,  404,  388,   21,    1,  407,   47,  279,
-   58,    6,  113,  393,   59,   52,   60,    6,    6,  118,
-   33,    6,  216,    6,    0,  216,  262,    0,    0,  262,
-    0,    0,    0,    0,  403,    0,    6,  405,    6,   21,
-    0,   52,    6,    6,    0,    0,    0,    0,    0,  235,
-    0,  188,   33,  200,  216,    0,   37,  188,  198,  196,
-    0,  197,  188,  199,    0,    0,    7,    7,    7,    7,
-    7,   21,    7,    0,    0,    0,    0,    7,    7,    7,
-    7,    7,    7,    7,    7,    7,    7,    7,    7,    7,
-  235,    0,  363,  235,  188,    0,    0,   52,   52,    0,
-    0,    0,   56,    0,   47,    0,    0,    0,  235,    0,
-  201,    0,    0,    0,    7,    7,    7,    7,    7,    7,
-    7,    7,    7,    7,    7,    7,    0,    0,   56,    0,
-   47,    7,    7,    7,    7,    7,    7,    7,    7,    7,
-    7,    7,  235,    7,    7,    7,    7,    7,    7,    0,
-    0,    7,    0,    7,    0,    0,    0,    0,  385,  386,
-    0,    7,    7,    7,    7,    7,    7,    0,    7,    0,
-    0,    0,    7,    7,  235,    0,  222,    0,    0,    0,
-    0,  341,    0,    0,  345,   56,  216,  216,  216,  216,
-    0,    0,  216,  216,  216,  216,  216,  216,  216,  216,
-  216,  216,    0,    0,    0,  222,    0,    0,    0,    0,
-  216,  216,  216,  216,  216,  216,  216,  216,  216,  216,
-  216,  216,  216,  216,  216,  216,  216,  216,  216,  216,
-    0,    0,  216,  216,  216,  216,  216,  216,  216,  216,
-  216,  216,  216,  216,  216,  216,    0,    0,   18,    0,
-   64,  216,  216,  216,  216,  216,  216,  216,  216,  216,
-  216,  237,    0,  216,  216,  216,  216,  373,  374,  216,
-  216,    0,  216,   55,   17,  216,  216,  216,  216,  216,
-  216,  216,  216,  216,  216,  216,    0,    0,    0,  216,
-  216,  216,  216,  130,  237,  130,  391,    0,  237,  392,
-    0,  237,  237,  237,  237,  237,  237,   18,  237,   64,
-    0,   45,  106,  235,   55,    0,    0,   55,    0,    0,
-  237,  237,    0,  237,    0,  222,    0,    0,  155,    0,
-    0,    0,   55,   17,    0,    0,    0,    0,   69,  235,
-    0,   18,    0,   64,    0,  214,    0,    0,    0,  235,
-    0,    0,  235,  224,  237,    0,    0,  237,  215,  216,
-  217,  218,  219,  220,    0,  221,   55,   17,  212,    0,
-   45,    0,  182,   18,  214,   64,    0,    0,    0,   54,
-   48,    0,  342,    0,    0,    0,  237,  215,  216,  217,
-  218,  219,  220,    0,  221,  235,  235,   69,   55,   17,
-    0,  212,    0,    0,   45,  212,    0,    0,  212,  212,
-  212,  212,  212,  212,    0,  212,    0,    0,    0,    0,
-   54,   48,    0,   54,   48,    0,    0,  212,  212,    0,
-  212,   69,    0,    0,    0,  200,   45,    0,   54,   48,
-  198,  196,  283,  197,    0,  199,  286,  287,  288,  289,
-  290,  291,  292,  293,  294,  296,    0,    0,  232,    0,
-  195,  212,    0,   69,  212,    0,    0,    0,    0,    0,
-    0,    0,   54,   48,    0,    0,    0,  200,    0,    0,
-    0,    0,  198,  196,  193,  197,    0,  199,    0,    0,
-    0,    0,  201,  212,  214,    0,    0,    0,    0,    0,
-  232,    0,  195,    0,   54,   48,    0,  215,  216,  217,
-  218,  219,  220,    0,  221,    0,    0,    0,  237,  237,
-  237,  237,    0,    0,  237,  237,  237,  237,  237,  237,
-  237,  237,  237,  237,  201,    0,    0,   55,    0,    0,
-    0,    0,  237,  237,  237,  237,  237,  237,  237,  237,
-  237,  237,  237,  237,  237,  237,  237,  237,  237,  237,
-  237,  237,    0,   55,  237,  237,  237,  237,  237,  237,
-  237,  237,  237,  237,  237,  237,  237,  237,    0,    0,
-    0,    0,    0,  237,  237,  237,  237,  237,  237,  237,
-  237,  237,  237,    0,    0,  237,  237,  237,  237,    0,
-    0,  237,  237,    0,  237,    0,    0,  237,  237,  237,
-  237,  237,  237,  237,  237,  237,  237,  237,    0,    0,
-   55,  237,  237,  237,  237,  212,  212,  212,  212,    0,
-    0,  212,  212,  212,  212,  212,  212,  212,  212,  212,
-  212,  380,    0,   54,   48,  381,  382,    0,    0,  212,
-  212,  212,  212,  212,  212,  212,  212,  212,  212,  212,
-  212,  212,  212,  212,  212,  212,  212,  212,  212,   54,
-   48,  212,  212,  212,  212,  212,  212,  212,  212,  212,
-  212,  212,  212,  212,  212,    0,    0,    0,    0,    0,
-  212,  212,  212,  212,  212,  212,  212,  212,  212,  212,
-  213,    0,  212,  212,  212,  212,    0,    0,  212,  212,
-    0,  212,    0,    0,  212,  212,  212,  212,  212,  212,
-  212,  212,  212,  212,  212,    0,   54,    0,  212,  212,
-  212,  212,    0,  213,    0,    0,    0,  213,    0,    0,
-  213,  213,  213,  213,  213,  213,    0,  213,  191,  192,
-    0,    0,    0,    0,    0,    0,    0,    0,    0,  213,
-  213,    0,  213,    0,    0,    0,    0,   94,    0,    0,
-    0,    0,  200,   94,    0,    0,    0,  198,  196,    0,
-  197,    0,  199,    0,    0,    0,  187,  188,  189,  190,
-  191,  192,    0,  213,    0,  232,  213,  195,    0,    0,
-    0,    0,    0,    0,    0,    0,    0,  214,    0,    0,
-    0,    0,    0,  200,    0,    0,    0,    0,  198,  196,
-    0,  197,    0,  199,    0,  213,    0,    0,   94,  201,
-    0,    0,    0,    0,    0,    0,  232,    0,  195,    0,
-  214,    0,    0,   94,  214,    0,    0,  214,  214,  214,
-  214,  214,  214,    0,  214,    0,   94,    0,    0,    0,
-    0,    0,    0,    0,    0,    0,  214,  214,    0,  214,
-  201,    0,    0,   94,   94,   94,  200,    0,    0,    0,
-    0,  198,  196,  200,  197,    0,  199,    0,  198,  196,
-  193,  197,    0,  199,    0,    0,    0,  280,    0,  232,
-  214,  195,    0,  214,  200,    0,  194,    0,  195,  198,
-  196,  193,  197,    0,  199,    0,  200,    0,    0,    0,
-    0,  198,  196,    0,  197,    0,  199,  232,    0,  195,
-    0,    0,  214,  201,    0,    0,    0,   94,    0,  232,
-  201,  195,    0,    0,    0,   94,    0,    0,    0,    0,
-    0,    0,    0,    0,    0,    0,    0,  213,  213,  213,
-  213,  201,    0,  213,  213,  213,  213,  213,  213,  213,
-  213,  213,  213,  201,    0,    0,    0,    0,    0,    0,
-    0,  213,  213,  213,  213,  213,  213,  213,  213,  213,
-  213,  213,  213,  213,  213,  213,  213,  213,  213,  213,
-  213,    0,    0,  213,  213,  213,  213,  213,  213,  213,
-  213,  213,  213,  213,  213,  213,  213,    0,    0,    0,
-    0,  367,  213,  213,  213,  213,  213,  213,  213,  213,
-  213,  213,    0,    0,  213,  213,  213,  213,    0,    0,
-  213,  213,   94,  213,    0,    0,  213,  213,  213,  213,
-  213,  213,  213,  213,  213,  213,  213,    0,    0,    0,
-  213,  213,  213,  213,  214,  214,  214,  214,    0,    0,
-  214,  214,  214,  214,  214,  214,  214,  214,  214,  214,
-    0,  187,  188,  189,  190,  191,  192,    0,  214,  214,
-  214,  214,  214,  214,  214,  214,  214,  214,  214,  214,
-  214,  214,  214,  214,  214,  214,  214,  214,   94,   94,
-  214,  214,  214,  214,  214,  214,  214,  214,  214,  214,
-  214,  214,  214,  214,  189,  190,  191,  192,    0,  214,
-  214,  214,  214,  214,  214,  214,  214,  214,  214,  215,
-    0,  214,  214,  214,  214,    0,  185,  214,  214,  186,
-  214,    0,    0,  214,  214,  214,  214,  214,  214,  214,
-  214,  214,  214,  214,    0,    0,    0,  214,  214,  214,
-  214,    0,  215,    0,    0,    0,  215,    0,    0,  215,
-  215,  215,  215,  215,  215,  187,  215,  189,  190,  191,
-  192,    0,  187,  188,  189,  190,  191,  192,  215,  215,
-    0,  215,    0,    0,    0,    0,    0,    0,    0,    0,
-    0,    0,    0,  230,  231,  189,  190,  191,  192,    0,
-    0,    0,    0,    0,    0,  230,  231,  189,  190,  191,
-  192,    0,  215,    0,    0,  215,    0,    0,    0,    0,
-    0,    0,    0,    0,    0,    0,  210,    0,    0,    0,
-    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-    0,    0,    0,    0,  215,    0,    0,    0,    0,    0,
-    0,    0,    0,    0,    0,    0,    0,    0,    0,  210,
-    0,    0,    0,    0,    0,    0,  210,  210,    0,  210,
-  210,  210,    0,    0,    0,    0,    0,    0,    0,    0,
-    0,    0,    0,    0,    0,  210,  210,    0,  210,    0,
-    0,    0,    0,    0,    0,  200,    0,    0,    0,    0,
-  198,  196,  200,  197,    0,  199,    0,  198,  196,  193,
-  197,    0,  199,    0,    0,    0,    0,    0,  232,  210,
-  195,    0,  210,  200,    0,  194,    0,  195,  198,  196,
-    0,  197,    0,  199,    0,  200,    0,    0,    0,    0,
-  198,  196,    0,  197,    0,  199,  232,    0,  195,    0,
-    0,  210,  201,    0,    0,    0,    0,    0,  232,  201,
-  195,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-    0,    0,    0,    0,    0,    0,  215,  215,  215,  215,
-  201,    0,  215,  215,  215,  215,  215,  215,  215,  215,
-  215,  215,  201,    0,    0,    0,    0,    0,    0,    0,
-  215,  215,  215,  215,  215,  215,  215,  215,  215,  215,
-  215,  215,  215,  215,  215,  215,  215,  215,  215,  215,
-    0,    0,  215,  215,  215,  215,  215,  215,  215,  215,
-  215,  215,  215,  215,  215,  215,    0,    0,    0,    0,
-    0,  215,  215,  215,  215,  215,  215,  215,  215,  215,
-  215,    0,    0,  215,  215,  215,  215,    0,    0,  215,
-  215,    0,  215,    0,    0,  215,  215,  215,  215,  215,
-  215,  215,  215,  215,  215,  215,    0,    0,    0,  215,
-  215,  215,  215,  210,  210,  210,  210,    0,    0,  210,
-  210,  210,  210,  210,  210,  210,  210,  210,  210,    0,
-   15,    0,    0,    0,    0,    0,    0,  210,  210,  210,
-  210,  210,  210,  210,  210,  210,  210,  210,  210,  210,
-  210,  210,  210,  210,  210,  210,  210,    0,    0,  210,
-  210,  210,  210,  210,  210,  210,  210,  210,  210,  210,
-  210,  210,  210,    0,    0,    0,    0,  399,  210,  210,
-  210,  210,  210,  210,  210,  210,  210,  210,  211,   15,
-  210,  210,  210,  210,    0,  185,  210,  210,  186,  210,
-    0,    0,  210,  210,  210,  210,  210,  210,  210,  210,
-  210,  210,  210,    0,    0,    0,  210,  210,  210,  210,
-    0,  211,    0,   15,    0,    0,  189,    0,  211,  211,
-    0,  211,  211,  211,  187,  188,  189,  190,  191,  192,
-    0,  230,  231,  189,  190,  191,  192,  211,  211,    0,
-  211,    0,    0,    0,    0,   15,    0,    0,    0,    0,
-    0,    0,  187,  188,  189,  190,  191,  192,    0,    0,
-    0,    0,    0,    0,  230,    0,  189,  190,  191,  192,
-    0,  211,    0,    0,  211,    0,    0,    0,    0,    0,
-    0,    0,    0,    0,    0,  230,    0,    0,    0,    0,
-    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-    0,    0,    0,  211,    0,    0,    0,    0,    0,    0,
-    0,    0,    0,    0,    0,    0,    0,    0,  230,    0,
-    0,    0,    0,    0,    0,  230,  230,    0,    0,  230,
-    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-    0,    0,    0,    0,  230,  230,    0,  230,    0,    0,
-    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-    0,  203,    0,    0,    0,    0,  203,  203,  203,  203,
-    0,  203,    0,    0,    0,    0,    0,  189,  230,    0,
-    0,  230,    0,  189,  203,    0,  203,    0,  189,    0,
-    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-  230,    0,    0,    0,    0,    0,    0,    0,  203,    0,
-  189,    0,    0,    0,    0,    0,  261,    0,    0,    0,
-    0,    0,    0,    0,    0,  211,  211,  211,  211,  347,
-    0,  211,  211,  211,  211,  211,  211,  211,  211,  211,
-  211,    0,    0,    0,    0,    0,    0,    0,    0,  211,
-  211,  211,  211,  211,  211,  211,  211,  211,  211,  211,
-  211,  211,  211,  211,  211,  211,  211,  211,  211,    0,
-    0,  211,  211,  211,  211,  211,  211,  211,  211,  211,
-  211,  211,  211,  211,  211,    0,    0,    0,    0,    0,
-  211,  211,  211,  211,  211,  211,  211,  211,  211,  211,
-    0,    0,  211,  211,  211,  211,    0,    0,  211,  211,
-    0,  211,    0,    0,  211,  211,  211,  211,  211,  211,
-  211,  211,  211,  211,  211,  210,    0,    0,  211,  211,
-  211,  211,  230,  230,  230,  230,    0,    0,  230,  230,
-  230,  230,  230,  230,  230,  230,  230,  230,    0,    0,
-    0,    0,    0,    0,    0,    0,  230,  230,  230,  230,
-  230,  230,  230,  230,  230,  230,  230,  230,  230,  230,
-  230,  230,  230,  230,  230,  230,    0,    0,  230,  230,
-  230,  230,  230,  230,  230,  230,  230,  230,  230,  230,
-  230,  230,    0,    0,    0,    0,    0,  230,  230,  230,
-  230,  230,  230,  230,  230,  230,  230,  232,    0,  230,
-  230,  230,  230,    0,  203,  230,  230,  203,  230,    0,
-    0,  230,  230,  230,  230,  230,  230,  230,  230,  230,
-  230,  230,    0,    0,    0,  230,  230,  230,  230,    0,
-  232,   52,   53,    0,    0,    0,    0,  232,  232,    0,
-    0,  232,    0,    0,   52,   53,    0,    0,    0,    0,
-  203,  203,  203,  203,  203,  203,  232,  232,    0,  232,
-    0,    0,    0,    0,    0,    0,   55,   56,   57,   58,
-   59,   60,   61,   62,   63,   64,   65,    0,    0,   55,
-   56,   57,   58,   59,   60,   61,   62,   63,   64,   65,
-  232,    0,    0,  232,   76,   77,   78,   79,    0,    0,
-    0,    0,    0,    0,  231,    0,    0,   76,   77,   78,
-   79,    0,   80,   81,   82,   83,   84,    0,    0,    0,
-    0,    0,  232,    0,    0,   80,   81,   82,   83,   84,
-    0,    0,    0,    0,    0,    0,    0,  231,    0,    0,
-    0,    0,    0,    0,  231,  231,    0,    0,  231,    0,
-    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-    0,    0,    0,  231,  231,    0,  231,    0,    0,    0,
-    0,    0,    0,    0,    0,   55,   56,   57,   58,   59,
-   60,   61,   62,   63,   64,   65,    0,    0,    0,    0,
-    0,    0,    0,    0,    0,    0,    0,  231,    0,    0,
-  231,    0,    0,   76,   77,   78,   79,    0,    0,    0,
-    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-    0,   80,   81,   82,   83,   84,    0,    0,    0,  231,
-    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-    0,    0,    0,    0,  232,  232,  232,  232,    0,    0,
-  232,  232,  232,  232,  232,  232,  232,  232,  232,  232,
-    0,    0,    0,    0,    0,    0,    0,    0,  232,  232,
-  232,  232,  232,  232,  232,  232,  232,  232,  232,  232,
-  232,  232,  232,  232,  232,  232,  232,  232,    0,    0,
-  232,  232,  232,  232,  232,  232,  232,  232,  232,  232,
-  232,  232,  232,  232,    0,    0,    0,    0,    0,  232,
-  232,  232,  232,  232,  232,  232,  232,  232,  232,    0,
-    0,  232,  232,  232,  232,    0,    0,  232,  232,    0,
-  232,    0,    0,  232,  232,  232,  232,  232,  232,  232,
-  232,  232,  232,  232,    0,    0,    0,  232,  232,  232,
-  232,  231,  231,  231,  231,    0,    0,  231,  231,  231,
-  231,  231,  231,  231,  231,  231,  231,    0,    0,    0,
-    0,    0,    0,    0,    0,  231,  231,  231,  231,  231,
-  231,  231,  231,  231,  231,  231,  231,  231,  231,  231,
-  231,  231,  231,  231,  231,    0,    0,  231,  231,  231,
-  231,  231,  231,  231,  231,  231,  231,  231,  231,  231,
-  231,    0,    0,    0,    0,    0,  231,  231,  231,  231,
-  231,  231,  231,  231,  231,  231,  229,    0,  231,  231,
-  231,  231,    0,    0,  231,  231,    0,  231,    0,    0,
-  231,  231,  231,  231,  231,  231,  231,  231,  231,  231,
-  231,    0,    0,    0,  231,  231,  231,  231,    0,  229,
-    0,    0,    0,    0,    0,    0,  229,  229,    0,    0,
-  229,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-    0,    0,    0,    0,    0,  229,  229,    0,  229,    0,
-    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-    0,    0,    0,    0,    0,    0,    0,    0,    0,  229,
-    0,    0,  229,    0,    0,    0,    0,    0,    0,    0,
-    0,    0,    0,  143,    0,    0,    0,    0,    0,    0,
-    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-    0,  229,    0,    0,    0,    0,    0,    0,    0,    0,
-    0,    0,    0,    0,    0,    0,  143,    0,    0,    0,
-    0,    0,    0,  143,  143,    0,  143,  143,  143,    0,
-    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-    0,    0,  143,    0,    0,  143,    0,    0,    0,    0,
-    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-    0,    0,    0,    0,    0,    0,  143,    0,    0,  143,
-    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-    0,    0,    0,    0,    0,    0,    0,    0,  143,    0,
-    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-    0,    0,    0,  229,  229,  229,  229,    0,    0,  229,
-  229,  229,  229,  229,  229,  229,  229,  229,  229,    0,
-    0,    0,    0,    0,    0,    0,    0,  229,  229,  229,
-  229,  229,  229,  229,  229,  229,  229,  229,  229,  229,
-  229,  229,  229,  229,  229,  229,  229,    0,    0,  229,
-  229,  229,  229,  229,  229,  229,  229,  229,  229,  229,
-  229,  229,  229,    0,    0,    0,    0,    0,  229,  229,
-  229,  229,  229,  229,  229,  229,  229,  229,    0,    0,
-  229,  229,  229,  229,    0,    0,  229,  229,    0,  229,
-    0,    0,  229,  229,  229,  229,  229,  229,  229,  229,
-  229,  229,  229,    0,    0,    0,  229,  229,  229,  229,
-  143,  143,  143,  143,    0,    0,  143,    0,  143,  143,
-  143,  143,  143,  143,  143,  143,    0,    0,    0,    0,
-    0,    0,    0,    0,  143,  143,  143,  143,  143,  143,
-  143,  143,  143,  143,  143,  143,  143,  143,  143,  143,
-  143,  143,  143,    0,    0,    0,    0,  143,  143,  143,
-  143,  143,  143,  143,  143,  143,  143,  143,  143,  143,
-  143,  143,  143,  143,  143,  143,  143,  143,  143,  143,
-  143,  143,  143,  143,  143,  234,    0,  143,  143,  143,
-  143,    0,    0,  143,  143,    0,    0,    0,    0,    0,
-    0,    0,    0,    0,    0,  143,  143,  143,  143,  143,
-    0,    0,    0,  143,  143,  143,  143,    0,  234,    0,
-    0,    0,    0,    0,    0,  234,  234,    0,    0,  234,
-    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-    0,    0,    0,    0,  234,    0,    0,    0,    0,    0,
-    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-    0,    0,    0,    0,    0,    0,    0,    0,  234,    0,
-    0,  234,    0,    0,    0,    0,    0,    0,    0,    0,
-    0,    0,  233,    0,    0,    0,    0,    0,    0,    0,
-    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-  234,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-    0,    0,    0,    0,    0,  233,    0,    0,    0,    0,
-    0,    0,  233,  233,    0,    0,  233,    0,    0,    0,
-    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-    0,  233,    0,    0,    0,    0,    0,    0,    0,    0,
-    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-    0,    0,    0,    0,    0,  233,    0,    0,  233,    0,
-    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-    0,    0,    0,    0,    0,    0,    0,  233,    0,    0,
-    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-    0,    0,  234,  234,  234,  234,    0,    0,  234,  234,
-  234,  234,  234,  234,  234,  234,  234,  234,    0,    0,
-    0,    0,    0,    0,    0,    0,  234,  234,  234,  234,
-  234,  234,  234,  234,  234,  234,  234,  234,  234,  234,
-  234,  234,  234,  234,  234,  234,    0,    0,  234,  234,
-  234,  234,  234,  234,  234,  234,  234,  234,  234,  234,
-  234,  234,    0,    0,    0,    0,    0,  234,  234,  234,
-  234,  234,  234,  234,  234,  234,  234,    0,    0,  234,
-  234,  234,  234,    0,    0,  234,  234,    0,  234,    0,
-    0,  234,  234,  234,  234,    0,    0,  234,  234,  234,
-  234,  234,    0,    0,    0,  234,  234,  234,  234,  233,
-  233,  233,  233,    0,    0,  233,  233,  233,  233,  233,
-  233,  233,  233,  233,  233,    0,    0,    0,    0,    0,
-    0,    0,    0,  233,  233,  233,  233,  233,  233,  233,
-  233,  233,  233,  233,  233,  233,  233,  233,  233,  233,
-  233,  233,  233,    0,    0,  233,  233,  233,  233,  233,
-  233,  233,  233,  233,  233,  233,  233,  233,  233,    0,
-    0,    0,    0,    0,  233,  233,  233,  233,  233,  233,
-  233,  233,  233,  233,  144,    0,  233,  233,  233,  233,
-    0,    0,  233,  233,    0,  233,    0,    0,  233,  233,
-  233,  233,    0,    0,  233,  233,  233,  233,  233,    0,
-    0,    0,  233,  233,  233,  233,    0,  144,    0,    0,
-    0,    0,    0,    0,  144,  144,    0,  144,  144,  144,
-    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-    0,    0,    0,  144,    0,    0,  144,    0,    0,    0,
-    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-    0,    0,    0,    0,    0,    0,    0,  144,    0,    0,
-  144,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-    0,  235,    0,    0,    0,    0,    0,    0,    0,    0,
-    0,    0,    0,    0,    0,    0,    0,    0,    0,  144,
-    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-    0,    0,    0,    0,  235,    0,    0,    0,    0,    0,
-    0,  235,  235,    0,    0,  235,    0,    0,    0,    0,
-    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-  235,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-    0,    0,    0,    0,  235,    0,    0,  235,    0,    0,
-    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-    0,    0,    0,    0,    0,    0,  235,    0,    0,    0,
-    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-    0,  144,  144,  144,  144,    0,    0,  144,    0,  144,
-  144,  144,  144,  144,  144,  144,  144,    0,    0,    0,
-    0,    0,    0,    0,    0,  144,  144,  144,  144,  144,
-  144,  144,  144,  144,  144,  144,  144,  144,  144,  144,
-  144,  144,  144,  144,    0,    0,    0,    0,  144,  144,
-  144,  144,  144,  144,  144,  144,  144,  144,  144,  144,
-  144,  144,  144,  144,  144,  144,  144,  144,  144,  144,
-  144,  144,  144,  144,  144,  144,    0,    0,  144,  144,
-  144,  144,    0,    0,  144,  144,    0,    0,    0,    0,
-    0,    0,    0,    0,    0,    0,  144,  144,  144,  144,
-  144,    0,    0,    0,  144,  144,  144,  144,  235,  235,
-  235,  235,    0,    0,  235,  235,  235,  235,  235,  235,
-  235,  235,  235,  235,    0,    0,    0,    0,    0,    0,
-    0,    0,  235,  235,  235,  235,  235,  235,  235,  235,
-  235,  235,  235,  235,  235,  235,  235,  235,  235,  235,
-  235,  235,    0,    0,  235,  235,  235,  235,  235,  235,
-  235,  235,  235,  235,  235,  235,  235,  235,    0,    0,
-    0,    0,    0,  235,  235,  235,  235,  235,  235,  235,
-  235,  235,  235,  236,    0,  235,  235,  235,  235,    0,
-    0,  235,  235,    0,  235,    0,    0,  235,  235,    0,
-    0,    0,    0,  235,  235,  235,  235,  235,    0,    0,
-    0,  235,  235,  235,  235,    0,  236,    0,    0,    0,
-    0,    0,    0,  236,  236,    0,    0,  236,    0,    0,
-    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-    0,    0,  236,    0,    0,    0,    0,    0,    0,    0,
-    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-    0,    0,    0,    0,    0,    0,  236,    0,    0,  236,
-    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-  130,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-    0,    0,    0,    0,    0,    0,    0,    0,  236,    0,
-    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-    0,    0,    0,  130,    0,    0,    0,    0,    0,    0,
-  130,  130,    0,  130,  130,  130,    0,    0,    0,    0,
-    0,    0,    0,    0,    0,    0,    0,    0,    0,  130,
-    0,    0,  130,    0,    0,    0,    0,    0,    0,    0,
-    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-    0,    0,    0,  130,    0,    0,  130,    0,    0,    0,
-    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-    0,    0,    0,    0,    0,  130,    0,    0,    0,    0,
-    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-  236,  236,  236,  236,    0,    0,  236,  236,  236,  236,
-  236,  236,  236,  236,  236,  236,    0,    0,    0,    0,
-    0,    0,    0,    0,  236,  236,  236,  236,  236,  236,
-  236,  236,  236,  236,  236,  236,  236,  236,  236,  236,
-  236,  236,  236,  236,    0,    0,  236,  236,  236,  236,
-  236,  236,  236,  236,  236,  236,  236,  236,  236,  236,
-    0,    0,    0,    0,    0,  236,  236,  236,  236,  236,
-  236,  236,  236,  236,  236,    0,    0,  236,  236,  236,
-  236,    0,    0,  236,  236,    0,  236,    0,    0,    0,
-  236,    0,    0,    0,    0,  236,  236,  236,  236,  236,
-    0,    0,    0,  236,  236,  236,  236,  130,  130,  130,
-  130,    0,    0,  130,    0,  130,  130,  130,  130,  130,
-  130,  130,  130,    0,    0,    0,    0,    0,    0,    0,
-    0,  130,  130,  130,  130,  130,  130,  130,  130,  130,
-  130,  130,  130,  130,  130,  130,  130,  130,  130,  130,
-    0,    0,    0,    0,  130,  130,  130,  130,  130,  130,
-  130,  130,  130,  130,  130,  130,  130,    0,    0,    0,
-    0,    0,  130,  130,  130,  130,  130,  130,  130,  130,
-  130,  130,  135,    0,  130,  130,  130,  130,    0,    0,
-  130,  130,    0,    0,    0,    0,    0,    0,    0,    0,
-    0,    0,  130,  130,  130,  130,  130,    0,    0,    0,
-  130,  130,  130,  130,    0,  135,    0,    0,    0,    0,
-    0,    0,  135,  135,    0,    0,  135,    0,    0,    0,
-    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-    0,  135,    0,    0,  135,    0,    0,    0,    0,    0,
-    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-    0,    0,    0,    0,    0,  135,    0,    0,  135,    0,
-    0,    0,    0,    0,    0,    0,    0,    0,    0,  139,
-    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-    0,    0,    0,    0,    0,    0,    0,  135,    0,    0,
-    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-    0,    0,  139,    0,    0,    0,    0,    0,    0,  139,
-  139,    0,    0,  139,    0,    0,    0,    0,    0,    0,
-    0,    0,    0,    0,    0,    0,    0,    0,  139,    0,
-    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-    0,    0,  139,    0,    0,  139,    0,    0,    0,    0,
-    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-    0,    0,    0,    0,  139,    0,    0,    0,    0,    0,
-    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-    0,    0,    0,    0,    0,    0,    0,    0,    0,  135,
-  135,  135,  135,    0,    0,  135,    0,  135,  135,  135,
-  135,  135,  135,  135,  135,    0,    0,    0,    0,    0,
-    0,    0,    0,  135,  135,  135,  135,  135,  135,  135,
-  135,  135,  135,  135,  135,  135,  135,  135,  135,  135,
-  135,  135,    0,    0,    0,    0,  135,  135,  135,  135,
-  135,  135,  135,  135,  135,  135,  135,  135,  135,    0,
-    0,    0,    0,    0,  135,  135,  135,  135,  135,  135,
-  135,  135,  135,  135,    0,    0,  135,  135,  135,  135,
-  260,    0,  135,  135,    0,    0,  261,    0,    0,    0,
-    0,    0,    0,    0,  135,  135,  135,  135,  135,    0,
-    0,    0,  135,  135,  135,  135,  139,  139,  139,  139,
-    0,    0,  139,    0,  139,  139,  139,  139,  139,  139,
-  139,  139,    0,    0,    0,    0,    0,    0,    0,    0,
-  139,  139,  139,  139,  139,  139,  139,  139,  139,  139,
-  139,  139,  139,  139,  139,  139,  139,  139,  139,    0,
-    0,    0,    0,  139,  139,  139,  139,  139,  139,  139,
-  139,  139,  139,  139,  139,  139,   88,    0,    0,    0,
-    0,  139,  139,  139,  139,  139,  139,  139,  139,  139,
-  139,    0,    0,  139,  139,  139,  139,    0,    0,  139,
-  139,    0,    0,    0,    0,    0,    0,    0,    0,   88,
-    0,  139,  139,  139,  139,  139,   88,    0,    0,  139,
-  139,  139,  139,    0,    0,    0,    0,    0,    0,    0,
-    0,    0,    0,    0,    0,   88,    0,    0,    0,    0,
-    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-    0,    0,    0,    0,    0,    0,    0,    0,    0,   88,
-    0,    0,   88,    0,    0,    0,    0,    0,    0,    0,
-    0,    0,    0,   90,    0,    0,    0,    0,    0,    0,
-    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-    0,   88,    0,    0,    0,    0,    0,  257,    0,    0,
-    0,    0,    0,  258,    0,    0,   90,    0,  259,    0,
-    0,   52,   53,   90,    0,    0,    0,    0,    0,    0,
-    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-    0,    0,   90,    0,    0,    0,    0,    0,    0,    0,
-    0,    0,    0,    0,    0,    0,   55,   56,   57,   58,
-   59,   60,   61,   62,   63,   64,   65,    0,    0,    0,
-    0,    0,    0,    0,    0,    0,   90,    0,    0,   90,
-    0,    0,    0,    0,   76,   77,   78,   79,    0,    0,
-    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-    0,    0,   80,   81,   82,   83,   84,    0,   90,    0,
-    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-    0,    0,    0,   88,   88,   88,   88,    0,    0,   88,
-    0,   88,   88,   88,   88,   88,   88,   88,   88,    0,
-    0,    0,    0,    0,    0,    0,    0,   88,   88,   88,
-   88,   88,   88,   88,   88,   88,   88,   88,   88,   88,
-   88,   88,   88,   88,   88,   88,    0,    0,    0,    0,
-    0,   88,   88,   88,   88,   88,   88,   88,   88,   88,
-   88,   88,   88,    0,    0,   32,    0,    0,   88,   88,
-   88,   88,   88,   88,   88,   88,   88,   88,    0,    0,
-   88,   88,   88,   88,    0,    0,   88,   88,    0,    0,
-    0,    0,    0,    0,    0,    0,    0,   31,   88,   88,
-   88,   88,   88,    0,    0,    0,   88,   88,   88,   88,
-   90,   90,   90,   90,    0,    0,   90,    0,   90,   90,
-   90,   90,   90,   90,   90,   90,    0,    0,    0,    0,
-    0,    0,    0,    0,   90,   90,   90,   90,   90,   90,
-   90,   90,   90,   90,   90,   90,   90,   90,   90,   90,
-   90,   90,   90,    0,    0,    0,    0,    0,   90,   90,
-   90,   90,   90,   90,   90,   90,   90,   90,   90,   90,
-   92,    0,    0,    0,    0,   90,   90,   90,   90,   90,
-   90,   90,   90,   90,   90,    0,    0,   90,   90,   90,
-   90,    0,    0,   90,   90,    0,    0,    0,    0,    0,
-    0,    0,    0,   92,    0,   90,   90,   90,   90,   90,
-   92,    0,    0,   90,   90,   90,   90,    0,    0,    0,
-    0,    0,    0,    0,    0,    0,    0,    0,    0,   92,
-    0,    6,    7,    0,    8,    9,    0,    0,    0,    0,
-    0,    0,    0,   10,   11,   12,   13,   14,   15,   16,
-   17,   18,   19,   20,   21,    0,    0,    0,    0,    0,
-    0,    0,    0,   92,    0,    0,   92,    0,    0,    0,
-    0,    0,    0,    0,    0,    0,    0,   96,    0,    0,
-    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-    0,    0,    0,    0,    0,   92,    0,    0,    0,    0,
-    0,    0,    0,    0,    0,    0,   22,    0,    0,    0,
-   96,    0,   23,   24,    0,    0,   25,   96,   26,    0,
-    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-    0,   27,    0,   28,    0,    0,   96,   29,   30,    0,
-    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-   96,    0,    0,   96,    0,    0,    0,    0,    0,    0,
-    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-    0,    0,   96,    0,    0,    0,    0,    0,    0,    0,
-    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-    0,    0,    0,    0,    0,    0,    0,   92,   92,   92,
-   92,    0,    0,   92,    0,   92,   92,   92,   92,   92,
-   92,   92,   92,    0,    0,    0,    0,    0,    0,    0,
-    0,   92,   92,   92,   92,   92,   92,   92,   92,   92,
-   92,   92,   92,   92,   92,   92,   92,   92,   92,   92,
-    0,    0,    0,    0,    0,   92,   92,   92,   92,   92,
-   92,   92,   92,   92,   92,   92,   92,    0,    0,    6,
-    0,    0,   92,   92,   92,   92,   92,   92,   92,   92,
-   92,   92,    0,    0,   92,   92,   92,   92,    0,    0,
-   92,   92,    0,    0,    0,    0,    0,    0,    0,    0,
-    0,    6,   92,   92,   92,   92,   92,    0,    0,    0,
-   92,   92,   92,   92,   96,   96,   96,   96,    0,    0,
-   96,    0,   96,   96,   96,   96,   96,   96,   96,   96,
-    0,    0,    0,    0,    0,    0,    0,    0,   96,   96,
-   96,   96,   96,   96,   96,   96,   96,   96,   96,   96,
-   96,   96,   96,   96,   96,   96,   96,    0,    0,    0,
-    0,    0,   96,   96,   96,   96,   96,   96,   96,   96,
-   96,   96,   96,   96,   94,    0,    0,    0,    0,   96,
-   96,   96,   96,   96,   96,   96,   96,   96,   96,    0,
-    0,   96,   96,   96,   96,    0,    0,   96,   96,    0,
-    0,    0,    0,    0,    0,    0,    0,   94,    0,   96,
-   96,   96,   96,   96,   94,    0,    0,   96,   96,   96,
-   96,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-    0,    0,    0,   94,    0,    6,    6,    0,    6,    6,
-    0,    0,    0,    0,    0,    0,    0,    6,    6,    6,
-    6,    6,    6,    6,    6,    6,    6,    6,    6,    0,
-    0,    0,    0,    0,    0,    0,    0,   94,    0,    0,
-   94,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-    0,   84,    0,    0,    0,    0,    0,    0,    0,    0,
-    0,    0,    0,    0,    0,    0,    0,    0,    0,   94,
-    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-    6,    0,    0,    0,   84,    0,    6,    6,    0,    0,
-    6,   84,    6,    0,    0,    0,    0,    0,    0,    0,
-    0,    0,    0,    0,    0,    6,    0,    6,    0,    0,
-   84,    6,    6,    0,    0,    0,    0,    0,    0,    0,
-    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-    0,    0,    0,    0,   84,    0,    0,   84,    0,    0,
-    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-    0,    0,    0,    0,    0,    0,   84,    0,    0,    0,
-    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-    0,   94,   94,   94,   94,    0,    0,   94,    0,   94,
-   94,   94,   94,   94,   94,   94,   94,    0,    0,    0,
-    0,    0,    0,    0,    0,   94,   94,   94,   94,   94,
-   94,   94,   94,   94,   94,   94,   94,   94,   94,   94,
-   94,   94,   94,   94,    0,    0,    0,    0,    0,   94,
-   94,   94,   94,   94,   94,   94,   94,   94,   94,   94,
-   94,    0,    0,    0,    0,    0,   94,   94,   94,   94,
-   94,   94,   94,   94,   94,   94,    0,    0,   94,   94,
-   94,   94,    0,    0,   94,   94,    0,    0,    0,    0,
-    0,    0,    0,    0,    0,    0,   94,   94,   94,   94,
-   94,    0,    0,    0,   94,   94,   94,   94,   84,   84,
-   84,   84,    0,    0,   84,    0,   84,   84,   84,   84,
-   84,   84,   84,   84,    0,    0,    0,    0,    0,    0,
-    0,    0,   84,   84,   84,   84,   84,   84,   84,   84,
-   84,   84,   84,   84,   84,   84,   84,   84,   84,   84,
-   84,    0,    0,    0,    0,    0,   84,   84,   84,   84,
-   84,   84,   84,   84,   84,   84,   84,   84,   85,    0,
-    0,    0,    0,   84,   84,   84,   84,   84,   84,   84,
-   84,   84,   84,    0,    0,   84,   84,   84,   84,    0,
-    0,   84,   84,    0,    0,    0,    0,    0,    0,    0,
-    0,   85,    0,   84,   84,   84,   84,   84,   85,    0,
-    0,   84,   84,   84,   84,    0,    0,    0,    0,    0,
-    0,    0,    0,    0,    0,    0,    0,   85,    0,    0,
-    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-    0,   85,    0,    0,   85,    0,    0,    0,    0,    0,
-    0,    0,    0,    0,    0,   86,    0,    0,    0,    0,
-    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-    0,    0,    0,   85,    0,    0,    0,    0,    0,    0,
-    0,    0,    0,    0,    0,    0,    0,    0,   86,    0,
-    0,    0,    0,    0,    0,   86,    0,    0,    0,    0,
-    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-    0,    0,    0,    0,   86,    0,    0,    0,    0,    0,
-    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-    0,    0,    0,    0,    0,    0,    0,    0,   86,    0,
-    0,   86,    0,    0,    0,    0,    0,    0,    0,    0,
-    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-   86,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-    0,    0,    0,    0,    0,   85,   85,   85,   85,    0,
-    0,   85,    0,   85,   85,   85,   85,   85,   85,   85,
-   85,    0,    0,    0,    0,    0,    0,    0,    0,   85,
-   85,   85,   85,   85,   85,   85,   85,   85,   85,   85,
-   85,   85,   85,   85,   85,   85,   85,   85,    0,    0,
-    0,    0,    0,   85,   85,   85,   85,   85,   85,   85,
-   85,   85,   85,   85,   85,    0,    0,    0,    0,    0,
-   85,   85,   85,   85,   85,   85,   85,   85,   85,   85,
-    0,    0,   85,   85,   85,   85,    0,    0,   85,   85,
-    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-   85,   85,   85,   85,   85,    0,    0,    0,   85,   85,
-   85,   85,   86,   86,   86,   86,    0,    0,   86,    0,
-   86,   86,   86,   86,   86,   86,   86,   86,    0,    0,
-    0,    0,    0,    0,    0,    0,   86,   86,   86,   86,
-   86,   86,   86,   86,   86,   86,   86,   86,   86,   86,
-   86,   86,   86,   86,   86,    0,    0,    0,    0,    0,
-   86,   86,   86,   86,   86,   86,   86,   86,   86,   86,
-   86,   86,   87,    0,    0,    0,    0,   86,   86,   86,
-   86,   86,   86,   86,   86,   86,   86,    0,    0,   86,
-   86,   86,   86,    0,    0,   86,   86,    0,    0,    0,
-    0,    0,    0,    0,    0,   87,    0,   86,   86,   86,
-   86,   86,   87,    0,    0,   86,   86,   86,   86,    0,
-    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-    0,   87,    0,    0,    0,    0,    0,    0,    0,    0,
-    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-    0,    0,    0,    0,    0,   87,    0,    0,   87,    0,
-    0,    0,    0,    0,    0,    0,    0,    0,    0,   97,
-    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-    0,    0,    0,    0,    0,    0,    0,   87,    0,    0,
-    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-    0,    0,   97,    0,    0,    0,    0,    0,    0,   97,
-    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-    0,    0,    0,    0,    0,    0,    0,    0,   97,    0,
-    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-    0,    0,   97,    0,    0,   97,    0,    0,    0,    0,
-    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-    0,    0,    0,    0,   97,    0,    0,    0,    0,    0,
-    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-    0,    0,    0,    0,    0,    0,    0,    0,    0,   87,
-   87,   87,   87,    0,    0,   87,    0,   87,   87,   87,
-   87,   87,   87,   87,   87,    0,    0,    0,    0,    0,
-    0,    0,    0,   87,   87,   87,   87,   87,   87,   87,
-   87,   87,   87,   87,   87,   87,   87,   87,   87,   87,
-   87,   87,    0,    0,    0,    0,    0,   87,   87,   87,
-   87,   87,   87,   87,   87,   87,   87,   87,   87,    0,
-    0,    0,    0,    0,   87,   87,   87,   87,   87,   87,
-   87,   87,   87,   87,    0,    0,   87,   87,   87,   87,
-    0,    0,   87,   87,    0,    0,    0,    0,    0,    0,
-    0,    0,    0,    0,   87,   87,   87,   87,   87,    0,
-    0,    0,   87,   87,   87,   87,   97,   97,   97,   97,
-    0,    0,   97,    0,   97,   97,   97,   97,   97,   97,
-   97,   97,    0,    0,    0,    0,    0,    0,    0,    0,
-   97,   97,   97,   97,   97,   97,   97,   97,   97,   97,
-   97,   97,   97,   97,   97,   97,   97,   97,   97,    0,
-    0,    0,    0,    0,   97,   97,   97,   97,   97,   97,
-   97,   97,   97,   97,   97,   97,   98,    0,    0,    0,
-    0,   97,   97,   97,   97,   97,   97,   97,   97,   97,
-   97,    0,    0,   97,   97,   97,   97,    0,    0,   97,
-   97,    0,    0,    0,    0,    0,    0,    0,    0,   98,
-    0,   97,   97,   97,   97,   97,   98,    0,    0,   97,
-   97,   97,   97,    0,    0,    0,    0,    0,    0,    0,
-    0,    0,    0,    0,    0,   98,    0,    0,    0,    0,
-    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-    0,    0,    0,    0,    0,    0,    0,    0,    0,   98,
-    0,    0,   98,    0,    0,    0,    0,    0,    0,    0,
-    0,    0,    0,   99,    0,    0,    0,    0,    0,    0,
-    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-    0,   98,    0,    0,    0,    0,    0,    0,    0,    0,
-    0,    0,    0,    0,    0,    0,   99,    0,    0,    0,
-    0,    0,    0,   99,    0,    0,    0,    0,    0,    0,
-    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-    0,    0,   99,    0,    0,    0,    0,    0,    0,    0,
-    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-    0,    0,    0,    0,    0,    0,   99,    0,    0,   99,
-    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-    0,    0,    0,    0,    0,    0,    0,    0,   99,    0,
-    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-    0,    0,    0,   98,   98,   98,   98,    0,    0,   98,
-    0,   98,   98,   98,   98,   98,   98,   98,   98,    0,
-    0,    0,    0,    0,    0,    0,    0,   98,   98,   98,
-   98,   98,   98,   98,   98,   98,   98,   98,   98,   98,
-   98,   98,   98,   98,   98,   98,    0,    0,    0,    0,
-    0,   98,   98,   98,   98,   98,   98,   98,   98,   98,
-   98,   98,   98,    0,    0,    0,    0,    0,   98,   98,
-   98,   98,   98,   98,   98,   98,   98,   98,    0,    0,
-   98,   98,   98,   98,    0,    0,   98,   98,    0,    0,
-    0,    0,    0,    0,    0,    0,    0,    0,   98,   98,
-   98,   98,   98,    0,    0,    0,   98,   98,   98,   98,
-   99,   99,   99,   99,    0,    0,   99,    0,   99,   99,
-   99,   99,   99,   99,   99,   99,    0,    0,    0,    0,
-    0,    0,    0,    0,   99,   99,   99,   99,   99,   99,
-   99,   99,   99,   99,   99,   99,   99,   99,   99,   99,
-   99,   99,   99,    0,    0,    0,    0,    0,   99,   99,
-   99,   99,   99,   99,   99,   99,   99,   99,   99,   99,
-  104,    0,    0,    0,    0,   99,   99,   99,   99,   99,
-   99,   99,   99,   99,   99,    0,    0,   99,   99,   99,
-   99,    0,    0,   99,   99,    0,    0,    0,    0,    0,
-    0,    0,    0,  104,    0,   99,   99,   99,   99,   99,
-  104,    0,    0,   99,   99,   99,   99,    0,    0,    0,
-    0,    0,    0,    0,    0,    0,    0,    0,    0,  104,
-    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-    0,    0,    0,  104,    0,    0,  104,    0,    0,    0,
-    0,    0,    0,    0,    0,    0,    0,  106,    0,    0,
-    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-    0,    0,    0,    0,    0,  104,    0,    0,    0,    0,
-    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-  106,    0,    0,    0,    0,    0,    0,  106,    0,    0,
-    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-    0,    0,    0,    0,    0,    0,  106,    0,    0,    0,
-    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-  106,    0,    0,  106,    0,    0,    0,    0,    0,    0,
-    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-    0,    0,  106,    0,    0,    0,    0,    0,    0,    0,
-    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-    0,    0,    0,    0,    0,    0,    0,  104,  104,  104,
-  104,    0,    0,  104,    0,  104,  104,  104,  104,  104,
-  104,  104,  104,    0,    0,    0,    0,    0,    0,    0,
-    0,  104,  104,  104,  104,  104,  104,  104,  104,  104,
-  104,  104,  104,  104,  104,  104,  104,  104,  104,  104,
-    0,    0,    0,    0,    0,  104,  104,  104,  104,  104,
-  104,  104,  104,  104,  104,  104,  104,    0,    0,    0,
-    0,    0,  104,  104,  104,  104,  104,  104,  104,  104,
-  104,  104,    0,    0,  104,  104,  104,  104,    0,    0,
-  104,  104,    0,    0,    0,    0,    0,    0,    0,    0,
-    0,    0,  104,  104,  104,  104,  104,    0,    0,    0,
-  104,  104,  104,  104,  106,  106,  106,  106,    0,    0,
-  106,    0,  106,  106,  106,  106,  106,  106,  106,  106,
-    0,    0,    0,    0,    0,    0,    0,    0,  106,  106,
-  106,  106,  106,  106,  106,  106,  106,  106,  106,  106,
-  106,  106,  106,  106,  106,  106,  106,    0,    0,    0,
-    0,    0,  106,  106,  106,  106,  106,  106,  106,  106,
-  106,  106,  106,  106,  110,    0,    0,    0,    0,  106,
-  106,  106,  106,  106,  106,  106,  106,  106,  106,    0,
-    0,  106,  106,  106,  106,    0,    0,  106,  106,    0,
-    0,    0,    0,    0,    0,    0,    0,  110,    0,  106,
-  106,  106,  106,  106,  110,    0,    0,  106,  106,  106,
-  106,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-    0,    0,    0,  110,    0,    0,    0,    0,    0,    0,
-    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-    0,    0,    0,    0,    0,    0,    0,  110,    0,    0,
-  110,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-    0,  123,    0,    0,    0,    0,    0,    0,    0,    0,
-    0,    0,    0,    0,    0,    0,    0,    0,    0,  110,
-    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-    0,    0,    0,    0,  123,    0,    0,    0,    0,    0,
-    0,  123,    0,    0,    0,    0,    0,    0,    0,    0,
-    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-  123,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-    0,    0,    0,    0,  123,    0,    0,  123,    0,    0,
-    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-    0,    0,    0,    0,    0,    0,  123,    0,    0,    0,
-    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-    0,  110,  110,  110,  110,    0,    0,  110,    0,  110,
-  110,  110,  110,  110,  110,  110,  110,    0,    0,    0,
-    0,    0,    0,    0,    0,  110,  110,  110,  110,  110,
-  110,  110,  110,  110,  110,  110,  110,  110,  110,  110,
-  110,  110,  110,  110,    0,    0,    0,    0,    0,  110,
-  110,  110,  110,  110,  110,  110,  110,  110,  110,  110,
-  110,    0,    0,    0,    0,    0,  110,  110,  110,  110,
-  110,  110,  110,  110,  110,  110,    0,    0,  110,  110,
-  110,  110,    0,    0,  110,  110,    0,    0,    0,    0,
-    0,    0,    0,    0,    0,    0,  110,  110,  110,  110,
-  110,    0,    0,    0,  110,  110,  110,  110,  123,  123,
-  123,  123,    0,    0,  123,    0,  123,  123,  123,  123,
-  123,  123,  123,  123,    0,    0,    0,    0,    0,    0,
-    0,    0,  123,  123,  123,  123,  123,  123,  123,  123,
-  123,  123,  123,  123,  123,  123,  123,  123,  123,  123,
-  123,    0,    0,    0,    0,    0,  123,  123,  123,  123,
-  123,  123,  123,  123,  123,  123,  123,  123,  108,    0,
-    0,    0,    0,  123,  123,  123,  123,  123,  123,  123,
-  123,  123,  123,    0,    0,  123,  123,  123,  123,    0,
-    0,  123,  123,    0,    0,    0,    0,    0,    0,    0,
-    0,  108,    0,  123,  123,  123,  123,  123,  108,    0,
-    0,  123,  123,  123,  123,    0,    0,    0,    0,    0,
-    0,    0,    0,    0,    0,    0,    0,  108,    0,    0,
-    0,    0,    0,    0,    0,    0,  237,    0,    0,    0,
-    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-    0,  108,    0,    0,  108,    0,    0,    0,    0,    0,
-    0,    0,    0,  237,    0,  141,    0,  237,  237,  237,
-  237,  237,    0,  237,    0,    0,    0,    0,    0,    0,
-    0,    0,    0,  108,    0,  237,  237,    0,  237,    0,
-    0,    0,    0,    0,    0,    0,    0,    0,  141,    0,
-    0,    0,    0,    0,    0,  141,  141,    0,  141,  141,
-  141,    0,    0,    0,    0,    0,    0,    0,    0,  237,
-    0,    0,    0,    0,  141,    0,    0,  141,    0,    0,
-    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-    0,  237,    0,    0,    0,    0,    0,    0,  141,    0,
-    0,  141,    0,    0,    0,    0,    0,    0,    0,    0,
-    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-  141,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-    0,    0,    0,    0,    0,  108,  108,  108,  108,    0,
-    0,  108,    0,  108,  108,  108,  108,  108,  108,  108,
-  108,    0,    0,    0,    0,    0,    0,    0,    0,  108,
-  108,  108,  108,  108,  108,  108,  108,  108,  108,  108,
-  108,  108,  108,  108,  108,  108,  108,  108,    0,    0,
-    0,    0,    0,  108,  108,  108,  108,  108,  108,  108,
-  108,  108,  108,  108,  108,    0,    0,    0,    0,    0,
-  108,  108,  108,  108,  108,  108,  108,  108,  108,  108,
-  237,    0,  108,  108,  108,  108,    0,    0,  108,  108,
-    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-  108,  108,  108,  108,  108,    0,  237,    0,  108,  108,
-  108,  108,  141,  141,  141,  141,  237,    0,  141,  237,
-  141,  141,  141,  141,  141,  141,  141,  141,    0,    0,
-    0,    0,    0,    0,    0,    0,  141,  141,  141,  141,
-  141,  141,  141,  141,  141,  141,  141,  141,  141,  141,
-  141,  141,  141,  141,  141,    0,    0,    0,    0,  141,
-  141,  167,  237,  237,  237,  237,  237,  237,    0,    0,
-    0,    0,  141,  141,  141,  141,  141,  141,  141,  141,
-  141,  141,  141,  141,  141,  141,  141,    0,    0,    0,
-    0,    0,    0,    0,  167,  141,  141,    0,    0,    0,
-    0,  167,  167,    0,  229,  167,  167,    0,    0,    0,
-    0,    0,    0,    0,    0,  141,  141,  141,  141,    0,
-  167,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-    0,    0,    0,    0,    0,    0,    0,  229,    0,    0,
-    0,    0,    0,    0,  229,  229,    0,    0,  229,    0,
-    0,    0,    0,    0,  167,    0,    0,  167,    0,    0,
-    0,    0,    0,  229,  229,    0,  229,    0,    0,    0,
-    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-    0,    0,    0,    0,    0,    0,  167,    0,    0,    0,
-    0,    0,    0,    0,    0,    0,    0,  229,    0,    0,
-  229,    0,    0,    0,    0,    0,    0,    0,  236,    0,
-    0,   40,    0,    0,    0,    0,    0,    0,    0,    0,
-    0,    0,    0,    0,    0,    0,    0,    0,    0,  229,
-    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-    0,    0,    0,    0,   40,    0,    0,    0,    0,  236,
-    0,   40,  236,    0,    0,    0,    0,    0,    0,    0,
-    0,    0,    0,    0,    0,    0,    0,  236,    0,    0,
-   40,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-    0,  236,    0,    0,   40,    0,    0,   40,    0,    0,
-    0,    0,    0,    0,    0,    0,    0,    0,  167,  167,
-  167,  167,    0,    0,  167,    0,  167,  167,  167,  167,
-  167,  167,    0,  236,    0,    0,   40,    0,    0,    0,
-    0,    0,  167,  167,  167,  167,  167,  167,  167,  167,
-  167,  167,  167,  167,  167,  167,  167,  167,  167,  167,
-  167,  229,  229,  229,  229,    0,  167,  229,    0,    0,
-    0,    0,  229,    0,    0,  229,  229,    0,    0,    0,
-    0,    0,    0,  167,  167,  167,  167,  167,  167,  167,
-  167,  167,  167,    0,    0,    0,    0,    0,    0,    0,
-    0,  167,  167,   42,    0,    0,    0,    0,    0,  229,
-  229,  229,  229,  229,  229,  229,  229,  229,  229,  229,
-  229,  167,  167,  167,  167,    0,  229,  229,  229,  229,
-  229,  229,  229,  229,  229,  229,   42,    0,  229,  229,
-  229,  229,    0,   42,    0,    0,    0,    0,    0,    0,
-  229,  229,  229,  229,  229,  229,  229,  229,  229,  229,
-  229,    0,   42,    0,    0,    0,    0,  229,   40,   40,
-   40,   40,  236,    0,   40,    0,    0,    0,    0,   40,
-    0,    0,   40,   40,    0,    0,    0,    0,    0,    0,
-    0,    0,    0,    0,    0,    0,   42,    0,  236,   42,
-    0,    0,   95,    0,    0,    0,    0,    0,  236,    0,
-    0,  236,    0,    0,    0,    0,   40,   40,   40,   40,
-   40,   40,   40,   40,   40,   40,   40,   40,   42,    0,
-    0,    0,    0,   40,   40,   40,   40,   40,   40,   40,
-   40,   40,   40,    0,    0,   40,   40,   40,   40,    0,
-    0,    0,    0,    0,    0,  236,    0,    0,    0,    0,
-    0,   95,    0,   40,   40,   40,   40,   40,    0,    0,
-    0,    0,    0,    0,   40,    0,    0,    0,    0,    0,
-    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-    0,    0,    0,    0,    0,   95,    0,    0,    0,    0,
-    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-   93,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-    0,    0,    0,    0,    0,    0,    0,   95,    0,    0,
-    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-   42,   42,   42,   42,    0,    0,   42,    0,    0,   93,
-    0,   42,    0,    0,   42,   42,    0,    0,    0,    0,
-    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-    0,    0,    0,   93,    0,    0,    0,    0,   42,   42,
-   42,   42,   42,   42,   42,   42,   42,   42,   42,   42,
-   89,    0,    0,    0,    0,   42,   42,   42,   42,   42,
-   42,   42,   42,   42,   42,   93,    0,   42,   42,   42,
-   42,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-    0,    0,    0,    0,    0,   42,   42,   42,   42,   42,
-   91,    0,   95,    0,    0,    0,   42,   95,   95,   95,
-    0,   95,   95,   95,   95,    0,    0,    0,    0,   89,
-    0,    0,    0,   95,   95,   95,   95,   95,   95,   95,
-   95,   95,   95,   95,   95,   95,   95,   95,   95,   95,
-   95,   95,  188,    0,    0,    0,    0,    0,    0,    0,
-    0,    0,    0,   89,    0,    0,    0,    0,    0,   91,
-    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-    0,    0,   95,   95,    0,   89,    0,    0,    0,    0,
-    0,    0,    0,   91,    0,    0,    0,    0,    0,  103,
-    0,    0,   95,   95,   95,   95,    0,    0,    0,    0,
-   93,    0,    0,    0,    0,   93,   93,   93,    0,   93,
-   93,   93,   93,    0,    0,   91,    0,    0,    0,    0,
-    0,   93,   93,   93,   93,   93,   93,   93,   93,   93,
-   93,   93,   93,   93,   93,   93,   93,   93,   93,   93,
-  189,    0,    0,    0,    0,    0,    0,    0,  103,    0,
-    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-   93,   93,  103,    0,    0,    0,    0,    0,    0,    0,
-    0,    0,    0,    0,    0,    0,    0,    0,    0,  105,
-   93,   93,   93,   93,    0,    0,    0,    0,    0,    0,
-   89,    0,    0,    0,  103,   89,   89,   89,    0,   89,
-   89,   89,   89,    0,    0,    0,    0,    0,    0,    0,
-    0,   89,   89,   89,   89,   89,   89,   89,   89,   89,
-   89,   89,   89,   89,   89,   89,   89,   89,   89,   89,
-   91,    0,    0,    0,    0,   91,   91,   91,  105,   91,
-   91,   91,   91,    0,    0,    0,    0,    0,    0,    0,
-    0,   91,   91,   91,   91,   91,   91,   91,   91,   91,
-   91,   91,   91,   91,   91,   91,   91,   91,   91,   91,
-   89,   89,  105,    0,    0,    0,    0,    0,  109,    0,
-    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-   89,   89,   89,   89,    0,    0,    0,    0,    0,    0,
-    0,    0,    0,    0,  105,    0,    0,    0,    0,    0,
-   91,   91,    0,    0,    0,    0,    0,    0,  107,    0,
-    0,    0,    0,    0,    0,    0,    0,    0,    0,  103,
-   91,   91,   91,   91,  103,  103,  103,  109,  103,  103,
-  103,  103,    0,    0,    0,    0,    0,    0,    0,    0,
-  103,  103,  103,  103,  103,  103,  103,  103,  103,  103,
-  103,  103,  103,  103,  103,  103,  103,  103,  103,    0,
-    0,  109,    0,    0,    0,    0,    0,  107,    0,    0,
-    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-    0,    0,    0,  109,    0,    0,    0,    0,    0,  103,
-  103,  107,    0,    0,    0,    0,    0,    0,    0,    0,
-    0,    0,    0,    0,    0,    0,    0,    0,    0,  103,
-  103,  103,  103,    0,    0,    0,    0,    0,    0,  105,
-    0,    0,    0,  107,  105,  105,  105,    0,  105,  105,
-  105,  105,    0,    0,    0,    0,    0,    0,    0,    0,
-  105,  105,  105,  105,  105,  105,  105,  105,  105,  105,
-  105,  105,  105,  105,  105,  105,  105,  105,  105,    0,
-    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-    0,    0,    0,    0,    0,    0,    0,    0,    0,  105,
-  105,    0,   40,    0,    0,    0,    0,    0,    0,    0,
-    0,    0,    0,    0,    0,    0,    0,    0,  109,  105,
-  105,  105,  105,  109,  109,  109,    0,  109,  109,  109,
-  109,    0,    0,    0,   32,    0,    0,    0,    0,  109,
-  109,  109,  109,  109,  109,  109,  109,  109,  109,  109,
-  109,  109,  109,  109,  109,  109,  109,  109,  107,    0,
-    0,    0,    0,  107,  107,  107,   31,  107,  107,  107,
-  107,   80,    0,    0,    0,    0,    0,    0,    0,  107,
-  107,  107,  107,  107,  107,  107,  107,  107,  107,  107,
-  107,  107,  107,  107,  107,  107,  107,  107,  109,  109,
-    0,    0,    0,    0,   80,    0,    0,    0,    0,    0,
-    0,   80,    0,    0,    0,    0,    0,    0,  109,  109,
-  109,  109,    0,    0,    0,    0,    0,    0,    0,    0,
-   80,    0,  146,    0,    0,    0,    0,    0,  107,  107,
-    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-    0,    0,    0,    0,    0,    0,    0,    0,  107,  107,
-  107,  107,    0,    0,   80,    0,    0,   80,    0,    0,
-    0,    0,    0,    0,    0,  146,    0,  146,  146,    0,
-    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-    0,  146,    0,    0,    0,    0,   80,    0,    0,    0,
-    6,    7,    0,    8,    9,    0,    0,    0,    0,    0,
-    0,    0,   10,   11,   12,   13,   14,   15,   16,   17,
-   18,   19,   20,   21,    0,  146,    0,    0,    0,    0,
-    0,    0,    0,    0,    0,   88,    0,    0,    0,    0,
-    0,    0,   85,    0,    0,    0,    0,   87,    0,    0,
-    0,    0,    0,    0,    0,    0,    0,  146,    0,    0,
-    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-    0,    0,    0,    0,    0,   22,    0,    0,    0,    0,
-    0,   23,   24,    0,    0,   25,    0,   26,    0,    0,
-    0,    0,    0,   32,    0,    0,    0,    0,   86,    0,
-   27,    0,   28,    0,    0,    0,   29,   30,    0,    0,
-    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-    0,    0,    0,    0,    0,   31,    0,    0,   80,   80,
-   80,    0,    0,    0,   80,    0,   80,   80,   80,   80,
-   80,   80,   80,   80,    0,    0,    0,    0,    0,    0,
-    0,    0,   80,   80,   80,   80,   80,   80,   80,   80,
-   80,   80,   80,   80,   80,   80,   80,   80,   80,   80,
-   80,    0,    0,    0,    0,    0,   80,   80,   80,   80,
-   80,   80,   80,   80,   80,   80,   80,   80,    0,    0,
-    0,    0,    0,   80,   80,   80,   80,   80,   80,   80,
-   80,   80,   80,  146,  146,   80,   80,   80,   80,    0,
-    0,   80,   80,    0,    0,    0,    0,    0,    0,    0,
-    0,    0,    0,   80,   80,   80,   80,   80,    0,    0,
-    0,   80,   80,   80,    0,    0,    0,    0,  146,  146,
-  146,  146,  146,  146,  146,  146,  146,  146,  146,  146,
-  146,  146,  146,  146,    0,    0,    0,    0,    0,  275,
-  276,   49,    8,    9,    0,   50,  146,  146,  146,  146,
-   51,   10,   11,  277,  278,   14,   15,   16,   17,   18,
-   19,   20,   21,    0,  146,  146,  146,  146,  146,    6,
-    0,    0,    0,    0,    0,    0,    6,    0,    0,    0,
-    0,    6,    0,    0,    0,    0,    0,   54,   55,   56,
-   57,   58,   59,   60,   61,   62,   63,   64,   65,    0,
-    0,    0,    0,    0,   66,   67,   68,   69,   70,   71,
-   72,   73,   74,   75,   22,    0,   76,   77,   78,   79,
-   23,   24,    0,    0,   25,    0,   26,    6,    0,    0,
-    0,    0,    6,    0,   80,   81,   82,   83,   84,   27,
-    0,   28,    0,    0,    0,   29,   30,    0,    0,    0,
-    0,    0,    0,    0,    0,    0,    0,    0,    0,    6,
-    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-    0,    0,    0,    0,    0,    0,    0,   88,    0,    0,
-    0,    0,    0,    0,  103,    0,    0,    0,    0,   87,
-    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-   86,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-    0,    0,    0,    6,    6,    6,    6,    6,    0,    6,
-    0,    0,    0,    0,    6,    6,    6,    6,    6,    6,
-    6,    6,    6,    6,    6,    6,    6,    0,  104,    0,
-    0,    0,    0,    0,    0,  103,  295,    0,    0,    0,
-   87,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-    0,    6,    6,    6,    6,    6,    6,    6,    6,    6,
-    6,    6,    6,    0,    0,    0,    0,    0,    6,    6,
-    6,    6,    6,    6,    6,    6,    6,    6,    6,    0,
-    6,    6,    6,    6,    6,    6,    0,    0,    6,    0,
-    6,   86,    0,    0,    0,    0,    0,    0,    6,    6,
-    6,    6,    6,    6,    0,    6,    0,    0,    0,    6,
-    6,   47,   48,   49,    8,    0,    0,   50,    0,  119,
-  120,  121,   51,  122,  123,  124,  125,    0,    0,    0,
-    0,    0,    0,    0,    0,  126,  127,  128,  129,  130,
-  131,  132,  133,  134,  135,  136,  137,  138,  139,  140,
-  141,  142,  143,  144,    0,    0,    0,    0,    0,   54,
-   55,   56,   57,   58,   59,   60,   61,   62,   63,   64,
-   65,    0,    0,    0,    0,    0,   66,   67,   68,   69,
-   70,   71,   72,   73,   74,   75,   88,    0,   76,   77,
-   78,   79,    0,   85,  145,  146,    0,    0,   87,    0,
-    0,    0,    0,    0,    0,    0,   80,   81,   82,   83,
-   84,    0,    0,    0,  147,  148,  149,   29,    0,    0,
-    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-    0,    0,    0,    0,    0,    0,    0,    0,    0,   86,
-    0,    0,   47,   48,   49,    8,    0,    0,   50,    0,
-    0,    0,    0,   51,    0,    0,   52,   53,    0,    0,
-    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-   54,   55,   56,   57,   58,   59,   60,   61,   62,   63,
-   64,   65,    0,    0,    0,    0,    0,   66,   67,   68,
-   69,   70,   71,   72,   73,   74,   75,  104,    0,   76,
-   77,   78,   79,    0,  103,    0,    0,    0,    0,   87,
-    0,    0,    0,    0,    0,    0,    0,   80,   81,   82,
-   83,   84,    0,    0,    0,    0,    0,    0,   29,    0,
-    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-   86,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-   47,   48,   49,    8,    0,    0,   50,    0,    0,    0,
-    0,   51,    0,    0,   52,   53,    0,    0,  104,    0,
-    0,    0,    0,    0,    0,   85,    0,    0,    0,    0,
-   87,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-    0,    0,    0,    0,    0,    0,    0,    0,   54,   55,
-   56,   57,   58,   59,   60,   61,   62,   63,   64,   65,
-    0,    0,    0,    0,    0,   66,   67,   68,   69,   70,
-   71,   72,   73,   74,   75,    0,    0,   76,   77,   78,
-   79,   86,    0,    0,    0,    0,    0,    0,    0,    0,
-    0,    0,    0,    0,    0,   80,   81,   82,   83,   84,
-    0,    0,    0,    0,    0,    0,   29,    0,    0,    0,
-    0,    0,    0,    0,    0,    0,    0,    0,    0,  104,
-    0,    0,    0,    0,    0,    0,  266,    0,    0,    0,
-    0,   87,    0,    0,    0,    0,    0,    0,    0,    0,
-    0,   47,   48,   49,    8,    0,    0,   50,    0,    0,
-    0,    0,   51,    0,    0,   52,   53,    0,    0,    0,
-    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-    0,    0,   86,    0,    0,    0,    0,    0,    0,   54,
-   55,   56,   57,   58,   59,   60,   61,   62,   63,   64,
-   65,    0,    0,    0,    0,    0,   66,   67,   68,   69,
-   70,   71,   72,   73,   74,   75,    0,    0,   76,   77,
-   78,   79,   88,    0,    0,    0,    0,    0,    0,  103,
-    0,  402,    0,    0,   87,    0,   80,   81,   82,   83,
-   84,    0,   47,   48,   49,    8,    0,   29,   50,    0,
-    0,    0,    0,   51,    0,    0,   52,   53,    0,    0,
-    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-    0,    0,    0,    0,    0,   86,    0,    0,    0,    0,
-   54,   55,   56,   57,   58,   59,   60,   61,   62,   63,
-   64,   65,    0,    0,    0,    0,    0,   66,   67,   68,
-   69,   70,   71,   72,   73,   74,   75,    0,    0,   76,
-   77,   78,   79,   88,    0,    0,    0,    0,    0,    0,
-  103,    0,    0,    0,    0,   87,    0,   80,   81,   82,
-   83,   84,    0,   47,   48,   49,    8,    0,   29,   50,
-    0,    0,    0,    0,   51,    0,    0,   52,   53,    0,
-    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-    0,    0,    0,    0,    0,    0,   86,    0,    0,    0,
-    0,   54,   55,   56,   57,   58,   59,   60,   61,   62,
-   63,   64,   65,    0,    0,    0,    0,    0,   66,   67,
-   68,   69,   70,   71,   72,   73,   74,   75,    0,    0,
-   76,   77,   78,   79,   88,    0,    0,    0,    0,    0,
-    0,   85,    0,    0,    0,    0,   87,    0,   80,   81,
-   82,   83,   84,    0,    0,    0,   47,   48,   49,   29,
-    0,    0,   50,    0,    0,    0,    0,   51,    0,    0,
-   52,   53,    0,    0,    0,    0,    0,    0,    0,    0,
-    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-    0,    0,    0,    0,    0,    0,    0,   86,    0,    0,
-    0,    0,    0,    0,   54,   55,   56,   57,   58,   59,
-   60,   61,   62,   63,   64,   65,    0,    0,    0,    0,
-    0,   66,   67,   68,   69,   70,   71,   72,   73,   74,
-   75,    0,    0,   76,   77,   78,   79,   88,    0,    0,
-    0,    0,    0,    0,  266,    0,    0,    0,    0,   87,
-    0,   80,   81,   82,   83,   84,    0,   47,   48,   49,
-    0,    0,    0,   50,    0,    0,    0,    0,   51,    0,
-    0,   52,   53,    0,    0,    0,    0,    0,    0,    0,
-    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-   86,    0,    0,    0,    0,   54,   55,   56,   57,   58,
-   59,   60,   61,   62,   63,   64,   65,    0,    0,    0,
-    0,    0,   66,   67,   68,   69,   70,   71,   72,   73,
-   74,   75,    0,    0,   76,   77,   78,   79,   88,    0,
-    0,    0,    0,    0,    0,  103,    0,    0,    0,    0,
-   87,    0,   80,   81,   82,   83,   84,    0,   47,   48,
-   49,    0,    0,    0,   50,    0,    0,    0,    0,   51,
-    0,    0,   52,   53,    0,    0,    0,    0,    0,    0,
-    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-    0,   86,    0,    0,    0,    0,   54,   55,   56,   57,
-   58,   59,   60,   61,   62,   63,   64,   65,    0,    0,
-    0,    0,    0,   66,   67,   68,   69,   70,   71,   72,
-   73,   74,   75,    0,    0,   76,   77,   78,   79,    0,
-    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-    0,    0,    0,   80,   81,   82,   83,   84,    0,    0,
-    0,   47,   48,   49,    0,    0,    0,   50,    0,    0,
-    0,    0,   51,    0,    0,   52,   53,    0,    0,    0,
-    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-    0,    0,    0,    0,    0,    0,    0,    0,    0,   54,
-   55,   56,   57,   58,   59,   60,   61,   62,   63,   64,
-   65,    0,    0,    0,    0,    0,   66,   67,   68,   69,
-   70,   71,   72,   73,   74,   75,    0,    0,   76,   77,
-   78,   79,    0,    0,    0,    0,    0,    0,    0,    0,
-    0,    0,    0,    0,    0,    0,   80,   81,   82,   83,
-   84,    0,   47,   48,   49,    0,    0,    0,   50,    0,
-    0,    0,    0,   51,    0,    0,    0,    0,    0,    0,
-    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-   54,   55,   56,   57,   58,   59,   60,   61,   62,   63,
-   64,   65,    0,    0,    0,    0,    0,   66,   67,   68,
-   69,   70,   71,   72,   73,   74,   75,    0,    0,   76,
-   77,   78,   79,    0,    0,    0,    0,    0,    0,    0,
-    0,    0,    0,    0,    0,    0,    0,   80,   81,   82,
-   83,   84,
-};
-static YYCONST short yycheck[] = {                                      24,
-  118,   44,    0,   28,   93,   30,   59,   43,   37,   45,
-  260,   36,   59,   42,   43,   37,   45,  260,   47,    0,
-   42,   43,    0,   45,   96,   47,  104,   85,   43,    4,
-   45,   60,   43,   62,   45,    0,  154,   35,   98,  100,
-  346,  347,   41,   41,   43,   58,   45,   62,   61,   24,
-   41,   41,  113,   44,   44,   30,  348,  349,    0,  258,
-   85,   36,   87,   88,   58,   94,  317,  318,  319,  320,
-  321,  258,   94,  114,  115,  100,  134,   96,   43,  104,
-   45,   59,   37,  333,   43,   44,   45,   42,  113,   95,
-   40,    0,   47,  345,   59,   61,  333,  122,  123,  124,
-  125,  126,  127,  128,  129,  130,  131,  132,    0,  134,
-   91,  136,  137,  138,  203,   93,  262,   59,   40,   40,
-  363,    0,  147,  148,   40,  100,   40,  133,   93,  154,
-   40,   61,   41,   40,    0,   44,  111,   40,  113,   94,
-   40,   40,  123,  118,  271,  272,   40,  125,  290,    0,
-   59,   93,  230,  231,  212,  213,  234,  235,  260,  258,
-  125,  262,  187,  188,  189,  190,  191,  192,  193,  194,
-  195,  196,  197,  198,  199,  200,  201,  202,    0,  154,
-    0,   41,   33,  125,   93,  257,   41,  212,  213,   40,
-  264,  263,   94,   59,   45,  301,  268,   46,  258,  259,
-  257,   93,  227,  271,  272,  230,  231,  232,  266,  234,
-  235,    0,   93,  125,   93,  258,  125,   93,   85,   41,
-  262,   41,   44,  257,   44,  352,  353,   93,  300,  262,
-   96,  260,   44,  125,   43,   44,   45,   59,  257,   59,
-   91,  266,   41,   41,  263,   96,  125,   41,   41,  268,
-   41,  257,   44,  371,  260,   43,   44,   45,  264,  125,
-   44,  236,  237,  130,  131,  132,  241,    0,  304,    0,
-   59,   93,  123,   93,  299,   41,  257,  258,  300,  260,
-  261,  303,  342,   41,  352,  353,    0,  154,  269,  270,
-  271,  272,  273,  274,  275,  276,  277,  278,  279,  280,
-  302,  346,   33,  125,   93,  125,   37,   44,  262,   40,
-   41,   42,   43,   44,   45,  303,   47,  346,  347,  348,
-  349,  350,  351,  257,  260,   41,   59,  194,   59,   60,
-  358,   62,   41,   41,  363,  202,  125,  343,  344,   41,
-  365,  366,  367,  343,  369,   59,    0,  262,   41,  154,
-  343,  332,   30,  377,  343,  264,  343,  338,  339,   35,
-   93,  342,   93,  344,   -1,   96,  372,   -1,   -1,  375,
-   -1,   -1,   -1,   -1,  399,   -1,  357,  402,  359,   93,
-   -1,  290,  363,  364,   -1,   -1,   -1,   -1,   -1,    0,
-   -1,  257,  125,   37,  125,   -1,  371,  263,   42,   43,
-   -1,   45,  268,   47,   -1,   -1,  257,  258,  259,  260,
-  261,  125,  263,   -1,   -1,   -1,   -1,  268,  269,  270,
-  271,  272,  273,  274,  275,  276,  277,  278,  279,  280,
-   41,   -1,  299,   44,  300,   -1,   -1,  346,  347,   -1,
-   -1,   -1,  264,   -1,  264,   -1,   -1,   -1,   59,   -1,
-   94,   -1,   -1,   -1,  305,  306,  307,  308,  309,  310,
-  311,  312,  313,  314,  315,  316,   -1,   -1,  290,   -1,
-  290,  322,  323,  324,  325,  326,  327,  328,  329,  330,
-  331,  332,   93,  334,  335,  336,  337,  338,  339,   -1,
-   -1,  342,   -1,  344,   -1,   -1,   -1,   -1,  365,  366,
-   -1,  352,  353,  354,  355,  356,  357,   -1,  359,   -1,
-   -1,   -1,  363,  364,  125,   -1,   91,   -1,   -1,   -1,
-   -1,  257,   -1,   -1,  260,  347,  257,  258,  259,  260,
-   -1,   -1,  263,  264,  265,  266,  267,  268,  269,  270,
-  271,  272,   -1,   -1,   -1,   91,   -1,   -1,   -1,   -1,
-  281,  282,  283,  284,  285,  286,  287,  288,  289,  290,
-  291,  292,  293,  294,  295,  296,  297,  298,  299,  300,
-   -1,   -1,  303,  304,  305,  306,  307,  308,  309,  310,
-  311,  312,  313,  314,  315,  316,   -1,   -1,    0,   -1,
-    0,  322,  323,  324,  325,  326,  327,  328,  329,  330,
-  331,    0,   -1,  334,  335,  336,  337,  343,  344,  340,
-  341,   -1,  343,    0,    0,  346,  347,  348,  349,  350,
-  351,  352,  353,  354,  355,  356,   -1,   -1,   -1,  360,
-  361,  362,  363,   43,   33,   45,  372,   -1,   37,  375,
-   -1,   40,   41,   42,   43,   44,   45,   59,   47,   59,
-   -1,    0,   26,  264,   41,   -1,   -1,   44,   -1,   -1,
-   59,   60,   -1,   62,   -1,   91,   -1,   -1,   42,   -1,
-   -1,   -1,   59,   59,   -1,   -1,   -1,   -1,    0,  290,
-   -1,   93,   -1,   93,   -1,  260,   -1,   -1,   -1,  300,
-   -1,   -1,  303,  268,   93,   -1,   -1,   96,  273,  274,
-  275,  276,  277,  278,   -1,  280,   93,   93,    0,   -1,
-   59,   -1,   86,  125,  260,  125,   -1,   -1,   -1,    0,
-    0,   -1,  268,   -1,   -1,   -1,  125,  273,  274,  275,
-  276,  277,  278,   -1,  280,  346,  347,   59,  125,  125,
-   -1,   33,   -1,   -1,   93,   37,   -1,   -1,   40,   41,
-   42,   43,   44,   45,   -1,   47,   -1,   -1,   -1,   -1,
-   41,   41,   -1,   44,   44,   -1,   -1,   59,   60,   -1,
-   62,   93,   -1,   -1,   -1,   37,  125,   -1,   59,   59,
-   42,   43,  156,   45,   -1,   47,  160,  161,  162,  163,
-  164,  165,  166,  167,  168,  169,   -1,   -1,   60,   -1,
-   62,   93,   -1,  125,   96,   -1,   -1,   -1,   -1,   -1,
-   -1,   -1,   93,   93,   -1,   -1,   -1,   37,   -1,   -1,
-   -1,   -1,   42,   43,   44,   45,   -1,   47,   -1,   -1,
-   -1,   -1,   94,  125,  260,   -1,   -1,   -1,   -1,   -1,
-   60,   -1,   62,   -1,  125,  125,   -1,  273,  274,  275,
-  276,  277,  278,   -1,  280,   -1,   -1,   -1,  257,  258,
-  259,  260,   -1,   -1,  263,  264,  265,  266,  267,  268,
-  269,  270,  271,  272,   94,   -1,   -1,  264,   -1,   -1,
-   -1,   -1,  281,  282,  283,  284,  285,  286,  287,  288,
-  289,  290,  291,  292,  293,  294,  295,  296,  297,  298,
-  299,  300,   -1,  290,  303,  304,  305,  306,  307,  308,
-  309,  310,  311,  312,  313,  314,  315,  316,   -1,   -1,
-   -1,   -1,   -1,  322,  323,  324,  325,  326,  327,  328,
-  329,  330,  331,   -1,   -1,  334,  335,  336,  337,   -1,
-   -1,  340,  341,   -1,  343,   -1,   -1,  346,  347,  348,
-  349,  350,  351,  352,  353,  354,  355,  356,   -1,   -1,
-  347,  360,  361,  362,  363,  257,  258,  259,  260,   -1,
-   -1,  263,  264,  265,  266,  267,  268,  269,  270,  271,
-  272,  355,   -1,  264,  264,  359,  360,   -1,   -1,  281,
-  282,  283,  284,  285,  286,  287,  288,  289,  290,  291,
-  292,  293,  294,  295,  296,  297,  298,  299,  300,  290,
-  290,  303,  304,  305,  306,  307,  308,  309,  310,  311,
-  312,  313,  314,  315,  316,   -1,   -1,   -1,   -1,   -1,
-  322,  323,  324,  325,  326,  327,  328,  329,  330,  331,
-    0,   -1,  334,  335,  336,  337,   -1,   -1,  340,  341,
-   -1,  343,   -1,   -1,  346,  347,  348,  349,  350,  351,
-  352,  353,  354,  355,  356,   -1,  347,   -1,  360,  361,
-  362,  363,   -1,   33,   -1,   -1,   -1,   37,   -1,   -1,
-   40,   41,   42,   43,   44,   45,   -1,   47,  350,  351,
-   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   59,
-   60,   -1,   62,   -1,   -1,   -1,   -1,   24,   -1,   -1,
-   -1,   -1,   37,   30,   -1,   -1,   -1,   42,   43,   -1,
-   45,   -1,   47,   -1,   -1,   -1,  346,  347,  348,  349,
-  350,  351,   -1,   93,   -1,   60,   96,   62,   -1,   -1,
-   -1,   -1,   -1,   -1,   -1,   -1,   -1,    0,   -1,   -1,
-   -1,   -1,   -1,   37,   -1,   -1,   -1,   -1,   42,   43,
-   -1,   45,   -1,   47,   -1,  125,   -1,   -1,   85,   94,
-   -1,   -1,   -1,   -1,   -1,   -1,   60,   -1,   62,   -1,
-   33,   -1,   -1,  100,   37,   -1,   -1,   40,   41,   42,
-   43,   44,   45,   -1,   47,   -1,  113,   -1,   -1,   -1,
-   -1,   -1,   -1,   -1,   -1,   -1,   59,   60,   -1,   62,
-   94,   -1,   -1,  130,  131,  132,   37,   -1,   -1,   -1,
-   -1,   42,   43,   37,   45,   -1,   47,   -1,   42,   43,
-   44,   45,   -1,   47,   -1,   -1,   -1,  154,   -1,   60,
-   93,   62,   -1,   96,   37,   -1,   60,   -1,   62,   42,
-   43,   44,   45,   -1,   47,   -1,   37,   -1,   -1,   -1,
-   -1,   42,   43,   -1,   45,   -1,   47,   60,   -1,   62,
-   -1,   -1,  125,   94,   -1,   -1,   -1,  194,   -1,   60,
-   94,   62,   -1,   -1,   -1,  202,   -1,   -1,   -1,   -1,
-   -1,   -1,   -1,   -1,   -1,   -1,   -1,  257,  258,  259,
-  260,   94,   -1,  263,  264,  265,  266,  267,  268,  269,
-  270,  271,  272,   94,   -1,   -1,   -1,   -1,   -1,   -1,
-   -1,  281,  282,  283,  284,  285,  286,  287,  288,  289,
-  290,  291,  292,  293,  294,  295,  296,  297,  298,  299,
-  300,   -1,   -1,  303,  304,  305,  306,  307,  308,  309,
-  310,  311,  312,  313,  314,  315,  316,   -1,   -1,   -1,
-   -1,  286,  322,  323,  324,  325,  326,  327,  328,  329,
-  330,  331,   -1,   -1,  334,  335,  336,  337,   -1,   -1,
-  340,  341,  299,  343,   -1,   -1,  346,  347,  348,  349,
-  350,  351,  352,  353,  354,  355,  356,   -1,   -1,   -1,
-  360,  361,  362,  363,  257,  258,  259,  260,   -1,   -1,
-  263,  264,  265,  266,  267,  268,  269,  270,  271,  272,
-   -1,  346,  347,  348,  349,  350,  351,   -1,  281,  282,
-  283,  284,  285,  286,  287,  288,  289,  290,  291,  292,
-  293,  294,  295,  296,  297,  298,  299,  300,  365,  366,
-  303,  304,  305,  306,  307,  308,  309,  310,  311,  312,
-  313,  314,  315,  316,  348,  349,  350,  351,   -1,  322,
-  323,  324,  325,  326,  327,  328,  329,  330,  331,    0,
-   -1,  334,  335,  336,  337,   -1,  300,  340,  341,  303,
-  343,   -1,   -1,  346,  347,  348,  349,  350,  351,  352,
-  353,  354,  355,  356,   -1,   -1,   -1,  360,  361,  362,
-  363,   -1,   33,   -1,   -1,   -1,   37,   -1,   -1,   40,
-   41,   42,   43,   44,   45,  346,   47,  348,  349,  350,
-  351,   -1,  346,  347,  348,  349,  350,  351,   59,   60,
-   -1,   62,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
-   -1,   -1,   -1,  346,  347,  348,  349,  350,  351,   -1,
-   -1,   -1,   -1,   -1,   -1,  346,  347,  348,  349,  350,
-  351,   -1,   93,   -1,   -1,   96,   -1,   -1,   -1,   -1,
-   -1,   -1,   -1,   -1,   -1,   -1,    0,   -1,   -1,   -1,
-   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
-   -1,   -1,   -1,   -1,  125,   -1,   -1,   -1,   -1,   -1,
-   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   33,
-   -1,   -1,   -1,   -1,   -1,   -1,   40,   41,   -1,   43,
-   44,   45,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
-   -1,   -1,   -1,   -1,   -1,   59,   60,   -1,   62,   -1,
-   -1,   -1,   -1,   -1,   -1,   37,   -1,   -1,   -1,   -1,
-   42,   43,   37,   45,   -1,   47,   -1,   42,   43,   44,
-   45,   -1,   47,   -1,   -1,   -1,   -1,   -1,   60,   93,
-   62,   -1,   96,   37,   -1,   60,   -1,   62,   42,   43,
-   -1,   45,   -1,   47,   -1,   37,   -1,   -1,   -1,   -1,
-   42,   43,   -1,   45,   -1,   47,   60,   -1,   62,   -1,
-   -1,  125,   94,   -1,   -1,   -1,   -1,   -1,   60,   94,
-   62,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
-   -1,   -1,   -1,   -1,   -1,   -1,  257,  258,  259,  260,
-   94,   -1,  263,  264,  265,  266,  267,  268,  269,  270,
-  271,  272,   94,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
-  281,  282,  283,  284,  285,  286,  287,  288,  289,  290,
-  291,  292,  293,  294,  295,  296,  297,  298,  299,  300,
-   -1,   -1,  303,  304,  305,  306,  307,  308,  309,  310,
-  311,  312,  313,  314,  315,  316,   -1,   -1,   -1,   -1,
-   -1,  322,  323,  324,  325,  326,  327,  328,  329,  330,
-  331,   -1,   -1,  334,  335,  336,  337,   -1,   -1,  340,
-  341,   -1,  343,   -1,   -1,  346,  347,  348,  349,  350,
-  351,  352,  353,  354,  355,  356,   -1,   -1,   -1,  360,
-  361,  362,  363,  257,  258,  259,  260,   -1,   -1,  263,
-  264,  265,  266,  267,  268,  269,  270,  271,  272,   -1,
-    0,   -1,   -1,   -1,   -1,   -1,   -1,  281,  282,  283,
-  284,  285,  286,  287,  288,  289,  290,  291,  292,  293,
-  294,  295,  296,  297,  298,  299,  300,   -1,   -1,  303,
-  304,  305,  306,  307,  308,  309,  310,  311,  312,  313,
-  314,  315,  316,   -1,   -1,   -1,   -1,  289,  322,  323,
-  324,  325,  326,  327,  328,  329,  330,  331,    0,   59,
-  334,  335,  336,  337,   -1,  300,  340,  341,  303,  343,
-   -1,   -1,  346,  347,  348,  349,  350,  351,  352,  353,
-  354,  355,  356,   -1,   -1,   -1,  360,  361,  362,  363,
-   -1,   33,   -1,   93,   -1,   -1,   96,   -1,   40,   41,
-   -1,   43,   44,   45,  346,  347,  348,  349,  350,  351,
-   -1,  346,  347,  348,  349,  350,  351,   59,   60,   -1,
-   62,   -1,   -1,   -1,   -1,  125,   -1,   -1,   -1,   -1,
-   -1,   -1,  346,  347,  348,  349,  350,  351,   -1,   -1,
-   -1,   -1,   -1,   -1,  346,   -1,  348,  349,  350,  351,
-   -1,   93,   -1,   -1,   96,   -1,   -1,   -1,   -1,   -1,
-   -1,   -1,   -1,   -1,   -1,    0,   -1,   -1,   -1,   -1,
-   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
-   -1,   -1,   -1,  125,   -1,   -1,   -1,   -1,   -1,   -1,
-   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   33,   -1,
-   -1,   -1,   -1,   -1,   -1,   40,   41,   -1,   -1,   44,
-   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
-   -1,   -1,   -1,   -1,   59,   60,   -1,   62,   -1,   -1,
-   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
-   -1,   37,   -1,   -1,   -1,   -1,   42,   43,   44,   45,
-   -1,   47,   -1,   -1,   -1,   -1,   -1,  257,   93,   -1,
-   -1,   96,   -1,  263,   60,   -1,   62,   -1,  268,   -1,
-   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
-   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
-  125,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   94,   -1,
-  300,   -1,   -1,   -1,   -1,   -1,   46,   -1,   -1,   -1,
-   -1,   -1,   -1,   -1,   -1,  257,  258,  259,  260,   46,
-   -1,  263,  264,  265,  266,  267,  268,  269,  270,  271,
-  272,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,  281,
-  282,  283,  284,  285,  286,  287,  288,  289,  290,  291,
-  292,  293,  294,  295,  296,  297,  298,  299,  300,   -1,
-   -1,  303,  304,  305,  306,  307,  308,  309,  310,  311,
-  312,  313,  314,  315,  316,   -1,   -1,   -1,   -1,   -1,
-  322,  323,  324,  325,  326,  327,  328,  329,  330,  331,
-   -1,   -1,  334,  335,  336,  337,   -1,   -1,  340,  341,
-   -1,  343,   -1,   -1,  346,  347,  348,  349,  350,  351,
-  352,  353,  354,  355,  356,   46,   -1,   -1,  360,  361,
-  362,  363,  257,  258,  259,  260,   -1,   -1,  263,  264,
-  265,  266,  267,  268,  269,  270,  271,  272,   -1,   -1,
-   -1,   -1,   -1,   -1,   -1,   -1,  281,  282,  283,  284,
-  285,  286,  287,  288,  289,  290,  291,  292,  293,  294,
-  295,  296,  297,  298,  299,  300,   -1,   -1,  303,  304,
-  305,  306,  307,  308,  309,  310,  311,  312,  313,  314,
-  315,  316,   -1,   -1,   -1,   -1,   -1,  322,  323,  324,
-  325,  326,  327,  328,  329,  330,  331,    0,   -1,  334,
-  335,  336,  337,   -1,  300,  340,  341,  303,  343,   -1,
-   -1,  346,  347,  348,  349,  350,  351,  352,  353,  354,
-  355,  356,   -1,   -1,   -1,  360,  361,  362,  363,   -1,
-   33,  271,  272,   -1,   -1,   -1,   -1,   40,   41,   -1,
-   -1,   44,   -1,   -1,  271,  272,   -1,   -1,   -1,   -1,
-  346,  347,  348,  349,  350,  351,   59,   60,   -1,   62,
-   -1,   -1,   -1,   -1,   -1,   -1,  306,  307,  308,  309,
-  310,  311,  312,  313,  314,  315,  316,   -1,   -1,  306,
-  307,  308,  309,  310,  311,  312,  313,  314,  315,  316,
-   93,   -1,   -1,   96,  334,  335,  336,  337,   -1,   -1,
-   -1,   -1,   -1,   -1,    0,   -1,   -1,  334,  335,  336,
-  337,   -1,  352,  353,  354,  355,  356,   -1,   -1,   -1,
-   -1,   -1,  125,   -1,   -1,  352,  353,  354,  355,  356,
-   -1,   -1,   -1,   -1,   -1,   -1,   -1,   33,   -1,   -1,
-   -1,   -1,   -1,   -1,   40,   41,   -1,   -1,   44,   -1,
-   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
-   -1,   -1,   -1,   59,   60,   -1,   62,   -1,   -1,   -1,
-   -1,   -1,   -1,   -1,   -1,  306,  307,  308,  309,  310,
-  311,  312,  313,  314,  315,  316,   -1,   -1,   -1,   -1,
-   -1,   -1,   -1,   -1,   -1,   -1,   -1,   93,   -1,   -1,
-   96,   -1,   -1,  334,  335,  336,  337,   -1,   -1,   -1,
-   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
-   -1,  352,  353,  354,  355,  356,   -1,   -1,   -1,  125,
-   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
-   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
-   -1,   -1,   -1,   -1,  257,  258,  259,  260,   -1,   -1,
-  263,  264,  265,  266,  267,  268,  269,  270,  271,  272,
-   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,  281,  282,
-  283,  284,  285,  286,  287,  288,  289,  290,  291,  292,
-  293,  294,  295,  296,  297,  298,  299,  300,   -1,   -1,
-  303,  304,  305,  306,  307,  308,  309,  310,  311,  312,
-  313,  314,  315,  316,   -1,   -1,   -1,   -1,   -1,  322,
-  323,  324,  325,  326,  327,  328,  329,  330,  331,   -1,
-   -1,  334,  335,  336,  337,   -1,   -1,  340,  341,   -1,
-  343,   -1,   -1,  346,  347,  348,  349,  350,  351,  352,
-  353,  354,  355,  356,   -1,   -1,   -1,  360,  361,  362,
-  363,  257,  258,  259,  260,   -1,   -1,  263,  264,  265,
-  266,  267,  268,  269,  270,  271,  272,   -1,   -1,   -1,
-   -1,   -1,   -1,   -1,   -1,  281,  282,  283,  284,  285,
-  286,  287,  288,  289,  290,  291,  292,  293,  294,  295,
-  296,  297,  298,  299,  300,   -1,   -1,  303,  304,  305,
-  306,  307,  308,  309,  310,  311,  312,  313,  314,  315,
-  316,   -1,   -1,   -1,   -1,   -1,  322,  323,  324,  325,
-  326,  327,  328,  329,  330,  331,    0,   -1,  334,  335,
-  336,  337,   -1,   -1,  340,  341,   -1,  343,   -1,   -1,
-  346,  347,  348,  349,  350,  351,  352,  353,  354,  355,
-  356,   -1,   -1,   -1,  360,  361,  362,  363,   -1,   33,
-   -1,   -1,   -1,   -1,   -1,   -1,   40,   41,   -1,   -1,
-   44,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
-   -1,   -1,   -1,   -1,   -1,   59,   60,   -1,   62,   -1,
-   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
-   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
-   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   93,
-   -1,   -1,   96,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
-   -1,   -1,   -1,    0,   -1,   -1,   -1,   -1,   -1,   -1,
-   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
-   -1,  125,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
-   -1,   -1,   -1,   -1,   -1,   -1,   33,   -1,   -1,   -1,
-   -1,   -1,   -1,   40,   41,   -1,   43,   44,   45,   -1,
-   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
-   -1,   -1,   59,   -1,   -1,   62,   -1,   -1,   -1,   -1,
-   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
-   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
-   -1,   -1,   -1,   -1,   -1,   -1,   93,   -1,   -1,   96,
-   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
-   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
-   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,  125,   -1,
-   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
-   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
-   -1,   -1,   -1,  257,  258,  259,  260,   -1,   -1,  263,
-  264,  265,  266,  267,  268,  269,  270,  271,  272,   -1,
-   -1,   -1,   -1,   -1,   -1,   -1,   -1,  281,  282,  283,
-  284,  285,  286,  287,  288,  289,  290,  291,  292,  293,
-  294,  295,  296,  297,  298,  299,  300,   -1,   -1,  303,
-  304,  305,  306,  307,  308,  309,  310,  311,  312,  313,
-  314,  315,  316,   -1,   -1,   -1,   -1,   -1,  322,  323,
-  324,  325,  326,  327,  328,  329,  330,  331,   -1,   -1,
-  334,  335,  336,  337,   -1,   -1,  340,  341,   -1,  343,
-   -1,   -1,  346,  347,  348,  349,  350,  351,  352,  353,
-  354,  355,  356,   -1,   -1,   -1,  360,  361,  362,  363,
-  257,  258,  259,  260,   -1,   -1,  263,   -1,  265,  266,
-  267,  268,  269,  270,  271,  272,   -1,   -1,   -1,   -1,
-   -1,   -1,   -1,   -1,  281,  282,  283,  284,  285,  286,
-  287,  288,  289,  290,  291,  292,  293,  294,  295,  296,
-  297,  298,  299,   -1,   -1,   -1,   -1,  304,  305,  306,
-  307,  308,  309,  310,  311,  312,  313,  314,  315,  316,
-  317,  318,  319,  320,  321,  322,  323,  324,  325,  326,
-  327,  328,  329,  330,  331,    0,   -1,  334,  335,  336,
-  337,   -1,   -1,  340,  341,   -1,   -1,   -1,   -1,   -1,
-   -1,   -1,   -1,   -1,   -1,  352,  353,  354,  355,  356,
-   -1,   -1,   -1,  360,  361,  362,  363,   -1,   33,   -1,
-   -1,   -1,   -1,   -1,   -1,   40,   41,   -1,   -1,   44,
-   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
-   -1,   -1,   -1,   -1,   59,   -1,   -1,   -1,   -1,   -1,
-   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
-   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
-   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   93,   -1,
-   -1,   96,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
-   -1,   -1,    0,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
-   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
-  125,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
-   -1,   -1,   -1,   -1,   -1,   33,   -1,   -1,   -1,   -1,
-   -1,   -1,   40,   41,   -1,   -1,   44,   -1,   -1,   -1,
-   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
-   -1,   59,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
-   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
-   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
-   -1,   -1,   -1,   -1,   -1,   93,   -1,   -1,   96,   -1,
-   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
-   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
-   -1,   -1,   -1,   -1,   -1,   -1,   -1,  125,   -1,   -1,
-   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
-   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
-   -1,   -1,  257,  258,  259,  260,   -1,   -1,  263,  264,
-  265,  266,  267,  268,  269,  270,  271,  272,   -1,   -1,
-   -1,   -1,   -1,   -1,   -1,   -1,  281,  282,  283,  284,
-  285,  286,  287,  288,  289,  290,  291,  292,  293,  294,
-  295,  296,  297,  298,  299,  300,   -1,   -1,  303,  304,
-  305,  306,  307,  308,  309,  310,  311,  312,  313,  314,
-  315,  316,   -1,   -1,   -1,   -1,   -1,  322,  323,  324,
-  325,  326,  327,  328,  329,  330,  331,   -1,   -1,  334,
-  335,  336,  337,   -1,   -1,  340,  341,   -1,  343,   -1,
-   -1,  346,  347,  348,  349,   -1,   -1,  352,  353,  354,
-  355,  356,   -1,   -1,   -1,  360,  361,  362,  363,  257,
-  258,  259,  260,   -1,   -1,  263,  264,  265,  266,  267,
-  268,  269,  270,  271,  272,   -1,   -1,   -1,   -1,   -1,
-   -1,   -1,   -1,  281,  282,  283,  284,  285,  286,  287,
-  288,  289,  290,  291,  292,  293,  294,  295,  296,  297,
-  298,  299,  300,   -1,   -1,  303,  304,  305,  306,  307,
-  308,  309,  310,  311,  312,  313,  314,  315,  316,   -1,
-   -1,   -1,   -1,   -1,  322,  323,  324,  325,  326,  327,
-  328,  329,  330,  331,    0,   -1,  334,  335,  336,  337,
-   -1,   -1,  340,  341,   -1,  343,   -1,   -1,  346,  347,
-  348,  349,   -1,   -1,  352,  353,  354,  355,  356,   -1,
-   -1,   -1,  360,  361,  362,  363,   -1,   33,   -1,   -1,
-   -1,   -1,   -1,   -1,   40,   41,   -1,   43,   44,   45,
-   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
-   -1,   -1,   -1,   59,   -1,   -1,   62,   -1,   -1,   -1,
-   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
-   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
-   -1,   -1,   -1,   -1,   -1,   -1,   -1,   93,   -1,   -1,
-   96,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
-   -1,    0,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
-   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,  125,
-   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
-   -1,   -1,   -1,   -1,   33,   -1,   -1,   -1,   -1,   -1,
-   -1,   40,   41,   -1,   -1,   44,   -1,   -1,   -1,   -1,
-   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
-   59,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
-   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
-   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
-   -1,   -1,   -1,   -1,   93,   -1,   -1,   96,   -1,   -1,
-   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
-   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
-   -1,   -1,   -1,   -1,   -1,   -1,  125,   -1,   -1,   -1,
-   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
-   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
-   -1,  257,  258,  259,  260,   -1,   -1,  263,   -1,  265,
-  266,  267,  268,  269,  270,  271,  272,   -1,   -1,   -1,
-   -1,   -1,   -1,   -1,   -1,  281,  282,  283,  284,  285,
-  286,  287,  288,  289,  290,  291,  292,  293,  294,  295,
-  296,  297,  298,  299,   -1,   -1,   -1,   -1,  304,  305,
-  306,  307,  308,  309,  310,  311,  312,  313,  314,  315,
-  316,  317,  318,  319,  320,  321,  322,  323,  324,  325,
-  326,  327,  328,  329,  330,  331,   -1,   -1,  334,  335,
-  336,  337,   -1,   -1,  340,  341,   -1,   -1,   -1,   -1,
-   -1,   -1,   -1,   -1,   -1,   -1,  352,  353,  354,  355,
-  356,   -1,   -1,   -1,  360,  361,  362,  363,  257,  258,
-  259,  260,   -1,   -1,  263,  264,  265,  266,  267,  268,
-  269,  270,  271,  272,   -1,   -1,   -1,   -1,   -1,   -1,
-   -1,   -1,  281,  282,  283,  284,  285,  286,  287,  288,
-  289,  290,  291,  292,  293,  294,  295,  296,  297,  298,
-  299,  300,   -1,   -1,  303,  304,  305,  306,  307,  308,
-  309,  310,  311,  312,  313,  314,  315,  316,   -1,   -1,
-   -1,   -1,   -1,  322,  323,  324,  325,  326,  327,  328,
-  329,  330,  331,    0,   -1,  334,  335,  336,  337,   -1,
-   -1,  340,  341,   -1,  343,   -1,   -1,  346,  347,   -1,
-   -1,   -1,   -1,  352,  353,  354,  355,  356,   -1,   -1,
-   -1,  360,  361,  362,  363,   -1,   33,   -1,   -1,   -1,
-   -1,   -1,   -1,   40,   41,   -1,   -1,   44,   -1,   -1,
-   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
-   -1,   -1,   59,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
-   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
-   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
-   -1,   -1,   -1,   -1,   -1,   -1,   93,   -1,   -1,   96,
-   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
-    0,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
-   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,  125,   -1,
-   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
-   -1,   -1,   -1,   33,   -1,   -1,   -1,   -1,   -1,   -1,
-   40,   41,   -1,   43,   44,   45,   -1,   -1,   -1,   -1,
-   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   59,
-   -1,   -1,   62,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
-   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
-   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
-   -1,   -1,   -1,   93,   -1,   -1,   96,   -1,   -1,   -1,
-   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
-   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
-   -1,   -1,   -1,   -1,   -1,  125,   -1,   -1,   -1,   -1,
-   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
-   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
-  257,  258,  259,  260,   -1,   -1,  263,  264,  265,  266,
-  267,  268,  269,  270,  271,  272,   -1,   -1,   -1,   -1,
-   -1,   -1,   -1,   -1,  281,  282,  283,  284,  285,  286,
-  287,  288,  289,  290,  291,  292,  293,  294,  295,  296,
-  297,  298,  299,  300,   -1,   -1,  303,  304,  305,  306,
-  307,  308,  309,  310,  311,  312,  313,  314,  315,  316,
-   -1,   -1,   -1,   -1,   -1,  322,  323,  324,  325,  326,
-  327,  328,  329,  330,  331,   -1,   -1,  334,  335,  336,
-  337,   -1,   -1,  340,  341,   -1,  343,   -1,   -1,   -1,
-  347,   -1,   -1,   -1,   -1,  352,  353,  354,  355,  356,
-   -1,   -1,   -1,  360,  361,  362,  363,  257,  258,  259,
-  260,   -1,   -1,  263,   -1,  265,  266,  267,  268,  269,
-  270,  271,  272,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
-   -1,  281,  282,  283,  284,  285,  286,  287,  288,  289,
-  290,  291,  292,  293,  294,  295,  296,  297,  298,  299,
-   -1,   -1,   -1,   -1,  304,  305,  306,  307,  308,  309,
-  310,  311,  312,  313,  314,  315,  316,   -1,   -1,   -1,
-   -1,   -1,  322,  323,  324,  325,  326,  327,  328,  329,
-  330,  331,    0,   -1,  334,  335,  336,  337,   -1,   -1,
-  340,  341,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
-   -1,   -1,  352,  353,  354,  355,  356,   -1,   -1,   -1,
-  360,  361,  362,  363,   -1,   33,   -1,   -1,   -1,   -1,
-   -1,   -1,   40,   41,   -1,   -1,   44,   -1,   -1,   -1,
-   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
-   -1,   59,   -1,   -1,   62,   -1,   -1,   -1,   -1,   -1,
-   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
-   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
-   -1,   -1,   -1,   -1,   -1,   93,   -1,   -1,   96,   -1,
-   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,    0,
-   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
-   -1,   -1,   -1,   -1,   -1,   -1,   -1,  125,   -1,   -1,
-   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
-   -1,   -1,   33,   -1,   -1,   -1,   -1,   -1,   -1,   40,
-   41,   -1,   -1,   44,   -1,   -1,   -1,   -1,   -1,   -1,
-   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   59,   -1,
-   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
-   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
-   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
-   -1,   -1,   93,   -1,   -1,   96,   -1,   -1,   -1,   -1,
-   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
-   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
-   -1,   -1,   -1,   -1,  125,   -1,   -1,   -1,   -1,   -1,
-   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
-   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,  257,
-  258,  259,  260,   -1,   -1,  263,   -1,  265,  266,  267,
-  268,  269,  270,  271,  272,   -1,   -1,   -1,   -1,   -1,
-   -1,   -1,   -1,  281,  282,  283,  284,  285,  286,  287,
-  288,  289,  290,  291,  292,  293,  294,  295,  296,  297,
-  298,  299,   -1,   -1,   -1,   -1,  304,  305,  306,  307,
-  308,  309,  310,  311,  312,  313,  314,  315,  316,   -1,
-   -1,   -1,   -1,   -1,  322,  323,  324,  325,  326,  327,
-  328,  329,  330,  331,   -1,   -1,  334,  335,  336,  337,
-   40,   -1,  340,  341,   -1,   -1,   46,   -1,   -1,   -1,
-   -1,   -1,   -1,   -1,  352,  353,  354,  355,  356,   -1,
-   -1,   -1,  360,  361,  362,  363,  257,  258,  259,  260,
-   -1,   -1,  263,   -1,  265,  266,  267,  268,  269,  270,
-  271,  272,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
-  281,  282,  283,  284,  285,  286,  287,  288,  289,  290,
-  291,  292,  293,  294,  295,  296,  297,  298,  299,   -1,
-   -1,   -1,   -1,  304,  305,  306,  307,  308,  309,  310,
-  311,  312,  313,  314,  315,  316,    0,   -1,   -1,   -1,
-   -1,  322,  323,  324,  325,  326,  327,  328,  329,  330,
-  331,   -1,   -1,  334,  335,  336,  337,   -1,   -1,  340,
-  341,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   33,
-   -1,  352,  353,  354,  355,  356,   40,   -1,   -1,  360,
-  361,  362,  363,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
-   -1,   -1,   -1,   -1,   -1,   59,   -1,   -1,   -1,   -1,
-   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
-   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
-   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   93,
-   -1,   -1,   96,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
-   -1,   -1,   -1,    0,   -1,   -1,   -1,   -1,   -1,   -1,
-   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
-   -1,  125,   -1,   -1,   -1,   -1,   -1,  257,   -1,   -1,
-   -1,   -1,   -1,  263,   -1,   -1,   33,   -1,  268,   -1,
-   -1,  271,  272,   40,   -1,   -1,   -1,   -1,   -1,   -1,
-   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
-   -1,   -1,   59,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
-   -1,   -1,   -1,   -1,   -1,   -1,  306,  307,  308,  309,
-  310,  311,  312,  313,  314,  315,  316,   -1,   -1,   -1,
-   -1,   -1,   -1,   -1,   -1,   -1,   93,   -1,   -1,   96,
-   -1,   -1,   -1,   -1,  334,  335,  336,  337,   -1,   -1,
-   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
-   -1,   -1,  352,  353,  354,  355,  356,   -1,  125,   -1,
-   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
-   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
-   -1,   -1,   -1,  257,  258,  259,  260,   -1,   -1,  263,
-   -1,  265,  266,  267,  268,  269,  270,  271,  272,   -1,
-   -1,   -1,   -1,   -1,   -1,   -1,   -1,  281,  282,  283,
-  284,  285,  286,  287,  288,  289,  290,  291,  292,  293,
-  294,  295,  296,  297,  298,  299,   -1,   -1,   -1,   -1,
-   -1,  305,  306,  307,  308,  309,  310,  311,  312,  313,
-  314,  315,  316,   -1,   -1,   91,   -1,   -1,  322,  323,
-  324,  325,  326,  327,  328,  329,  330,  331,   -1,   -1,
-  334,  335,  336,  337,   -1,   -1,  340,  341,   -1,   -1,
-   -1,   -1,   -1,   -1,   -1,   -1,   -1,  123,  352,  353,
-  354,  355,  356,   -1,   -1,   -1,  360,  361,  362,  363,
-  257,  258,  259,  260,   -1,   -1,  263,   -1,  265,  266,
-  267,  268,  269,  270,  271,  272,   -1,   -1,   -1,   -1,
-   -1,   -1,   -1,   -1,  281,  282,  283,  284,  285,  286,
-  287,  288,  289,  290,  291,  292,  293,  294,  295,  296,
-  297,  298,  299,   -1,   -1,   -1,   -1,   -1,  305,  306,
-  307,  308,  309,  310,  311,  312,  313,  314,  315,  316,
-    0,   -1,   -1,   -1,   -1,  322,  323,  324,  325,  326,
-  327,  328,  329,  330,  331,   -1,   -1,  334,  335,  336,
-  337,   -1,   -1,  340,  341,   -1,   -1,   -1,   -1,   -1,
-   -1,   -1,   -1,   33,   -1,  352,  353,  354,  355,  356,
-   40,   -1,   -1,  360,  361,  362,  363,   -1,   -1,   -1,
-   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   59,
-   -1,  257,  258,   -1,  260,  261,   -1,   -1,   -1,   -1,
-   -1,   -1,   -1,  269,  270,  271,  272,  273,  274,  275,
-  276,  277,  278,  279,  280,   -1,   -1,   -1,   -1,   -1,
-   -1,   -1,   -1,   93,   -1,   -1,   96,   -1,   -1,   -1,
-   -1,   -1,   -1,   -1,   -1,   -1,   -1,    0,   -1,   -1,
-   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
-   -1,   -1,   -1,   -1,   -1,  125,   -1,   -1,   -1,   -1,
-   -1,   -1,   -1,   -1,   -1,   -1,  332,   -1,   -1,   -1,
-   33,   -1,  338,  339,   -1,   -1,  342,   40,  344,   -1,
-   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
-   -1,  357,   -1,  359,   -1,   -1,   59,  363,  364,   -1,
-   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
-   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
-   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
-   93,   -1,   -1,   96,   -1,   -1,   -1,   -1,   -1,   -1,
-   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
-   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
-   -1,   -1,  125,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
-   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
-   -1,   -1,   -1,   -1,   -1,   -1,   -1,  257,  258,  259,
-  260,   -1,   -1,  263,   -1,  265,  266,  267,  268,  269,
-  270,  271,  272,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
-   -1,  281,  282,  283,  284,  285,  286,  287,  288,  289,
-  290,  291,  292,  293,  294,  295,  296,  297,  298,  299,
-   -1,   -1,   -1,   -1,   -1,  305,  306,  307,  308,  309,
-  310,  311,  312,  313,  314,  315,  316,   -1,   -1,   91,
-   -1,   -1,  322,  323,  324,  325,  326,  327,  328,  329,
-  330,  331,   -1,   -1,  334,  335,  336,  337,   -1,   -1,
-  340,  341,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
-   -1,  123,  352,  353,  354,  355,  356,   -1,   -1,   -1,
-  360,  361,  362,  363,  257,  258,  259,  260,   -1,   -1,
-  263,   -1,  265,  266,  267,  268,  269,  270,  271,  272,
-   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,  281,  282,
-  283,  284,  285,  286,  287,  288,  289,  290,  291,  292,
-  293,  294,  295,  296,  297,  298,  299,   -1,   -1,   -1,
-   -1,   -1,  305,  306,  307,  308,  309,  310,  311,  312,
-  313,  314,  315,  316,    0,   -1,   -1,   -1,   -1,  322,
-  323,  324,  325,  326,  327,  328,  329,  330,  331,   -1,
-   -1,  334,  335,  336,  337,   -1,   -1,  340,  341,   -1,
-   -1,   -1,   -1,   -1,   -1,   -1,   -1,   33,   -1,  352,
-  353,  354,  355,  356,   40,   -1,   -1,  360,  361,  362,
-  363,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
-   -1,   -1,   -1,   59,   -1,  257,  258,   -1,  260,  261,
-   -1,   -1,   -1,   -1,   -1,   -1,   -1,  269,  270,  271,
-  272,  273,  274,  275,  276,  277,  278,  279,  280,   -1,
-   -1,   -1,   -1,   -1,   -1,   -1,   -1,   93,   -1,   -1,
-   96,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
-   -1,    0,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
-   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,  125,
-   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
-  332,   -1,   -1,   -1,   33,   -1,  338,  339,   -1,   -1,
-  342,   40,  344,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
-   -1,   -1,   -1,   -1,   -1,  357,   -1,  359,   -1,   -1,
-   59,  363,  364,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
-   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
-   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
-   -1,   -1,   -1,   -1,   93,   -1,   -1,   96,   -1,   -1,
-   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
-   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
-   -1,   -1,   -1,   -1,   -1,   -1,  125,   -1,   -1,   -1,
-   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
-   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
-   -1,  257,  258,  259,  260,   -1,   -1,  263,   -1,  265,
-  266,  267,  268,  269,  270,  271,  272,   -1,   -1,   -1,
-   -1,   -1,   -1,   -1,   -1,  281,  282,  283,  284,  285,
-  286,  287,  288,  289,  290,  291,  292,  293,  294,  295,
-  296,  297,  298,  299,   -1,   -1,   -1,   -1,   -1,  305,
-  306,  307,  308,  309,  310,  311,  312,  313,  314,  315,
-  316,   -1,   -1,   -1,   -1,   -1,  322,  323,  324,  325,
-  326,  327,  328,  329,  330,  331,   -1,   -1,  334,  335,
-  336,  337,   -1,   -1,  340,  341,   -1,   -1,   -1,   -1,
-   -1,   -1,   -1,   -1,   -1,   -1,  352,  353,  354,  355,
-  356,   -1,   -1,   -1,  360,  361,  362,  363,  257,  258,
-  259,  260,   -1,   -1,  263,   -1,  265,  266,  267,  268,
-  269,  270,  271,  272,   -1,   -1,   -1,   -1,   -1,   -1,
-   -1,   -1,  281,  282,  283,  284,  285,  286,  287,  288,
-  289,  290,  291,  292,  293,  294,  295,  296,  297,  298,
-  299,   -1,   -1,   -1,   -1,   -1,  305,  306,  307,  308,
-  309,  310,  311,  312,  313,  314,  315,  316,    0,   -1,
-   -1,   -1,   -1,  322,  323,  324,  325,  326,  327,  328,
-  329,  330,  331,   -1,   -1,  334,  335,  336,  337,   -1,
-   -1,  340,  341,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
-   -1,   33,   -1,  352,  353,  354,  355,  356,   40,   -1,
-   -1,  360,  361,  362,  363,   -1,   -1,   -1,   -1,   -1,
-   -1,   -1,   -1,   -1,   -1,   -1,   -1,   59,   -1,   -1,
-   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
-   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
-   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
-   -1,   93,   -1,   -1,   96,   -1,   -1,   -1,   -1,   -1,
-   -1,   -1,   -1,   -1,   -1,    0,   -1,   -1,   -1,   -1,
-   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
-   -1,   -1,   -1,  125,   -1,   -1,   -1,   -1,   -1,   -1,
-   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   33,   -1,
-   -1,   -1,   -1,   -1,   -1,   40,   -1,   -1,   -1,   -1,
-   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
-   -1,   -1,   -1,   -1,   59,   -1,   -1,   -1,   -1,   -1,
-   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
-   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
-   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   93,   -1,
-   -1,   96,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
-   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
-   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
-  125,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
-   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
-   -1,   -1,   -1,   -1,   -1,  257,  258,  259,  260,   -1,
-   -1,  263,   -1,  265,  266,  267,  268,  269,  270,  271,
-  272,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,  281,
-  282,  283,  284,  285,  286,  287,  288,  289,  290,  291,
-  292,  293,  294,  295,  296,  297,  298,  299,   -1,   -1,
-   -1,   -1,   -1,  305,  306,  307,  308,  309,  310,  311,
-  312,  313,  314,  315,  316,   -1,   -1,   -1,   -1,   -1,
-  322,  323,  324,  325,  326,  327,  328,  329,  330,  331,
-   -1,   -1,  334,  335,  336,  337,   -1,   -1,  340,  341,
-   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
-  352,  353,  354,  355,  356,   -1,   -1,   -1,  360,  361,
-  362,  363,  257,  258,  259,  260,   -1,   -1,  263,   -1,
-  265,  266,  267,  268,  269,  270,  271,  272,   -1,   -1,
-   -1,   -1,   -1,   -1,   -1,   -1,  281,  282,  283,  284,
-  285,  286,  287,  288,  289,  290,  291,  292,  293,  294,
-  295,  296,  297,  298,  299,   -1,   -1,   -1,   -1,   -1,
-  305,  306,  307,  308,  309,  310,  311,  312,  313,  314,
-  315,  316,    0,   -1,   -1,   -1,   -1,  322,  323,  324,
-  325,  326,  327,  328,  329,  330,  331,   -1,   -1,  334,
-  335,  336,  337,   -1,   -1,  340,  341,   -1,   -1,   -1,
-   -1,   -1,   -1,   -1,   -1,   33,   -1,  352,  353,  354,
-  355,  356,   40,   -1,   -1,  360,  361,  362,  363,   -1,
-   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
-   -1,   59,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
-   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
-   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
-   -1,   -1,   -1,   -1,   -1,   93,   -1,   -1,   96,   -1,
-   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,    0,
-   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
-   -1,   -1,   -1,   -1,   -1,   -1,   -1,  125,   -1,   -1,
-   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
-   -1,   -1,   33,   -1,   -1,   -1,   -1,   -1,   -1,   40,
-   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
-   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   59,   -1,
-   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
-   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
-   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
-   -1,   -1,   93,   -1,   -1,   96,   -1,   -1,   -1,   -1,
-   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
-   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
-   -1,   -1,   -1,   -1,  125,   -1,   -1,   -1,   -1,   -1,
-   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
-   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,  257,
-  258,  259,  260,   -1,   -1,  263,   -1,  265,  266,  267,
-  268,  269,  270,  271,  272,   -1,   -1,   -1,   -1,   -1,
-   -1,   -1,   -1,  281,  282,  283,  284,  285,  286,  287,
-  288,  289,  290,  291,  292,  293,  294,  295,  296,  297,
-  298,  299,   -1,   -1,   -1,   -1,   -1,  305,  306,  307,
-  308,  309,  310,  311,  312,  313,  314,  315,  316,   -1,
-   -1,   -1,   -1,   -1,  322,  323,  324,  325,  326,  327,
-  328,  329,  330,  331,   -1,   -1,  334,  335,  336,  337,
-   -1,   -1,  340,  341,   -1,   -1,   -1,   -1,   -1,   -1,
-   -1,   -1,   -1,   -1,  352,  353,  354,  355,  356,   -1,
-   -1,   -1,  360,  361,  362,  363,  257,  258,  259,  260,
-   -1,   -1,  263,   -1,  265,  266,  267,  268,  269,  270,
-  271,  272,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
-  281,  282,  283,  284,  285,  286,  287,  288,  289,  290,
-  291,  292,  293,  294,  295,  296,  297,  298,  299,   -1,
-   -1,   -1,   -1,   -1,  305,  306,  307,  308,  309,  310,
-  311,  312,  313,  314,  315,  316,    0,   -1,   -1,   -1,
-   -1,  322,  323,  324,  325,  326,  327,  328,  329,  330,
-  331,   -1,   -1,  334,  335,  336,  337,   -1,   -1,  340,
-  341,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   33,
-   -1,  352,  353,  354,  355,  356,   40,   -1,   -1,  360,
-  361,  362,  363,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
-   -1,   -1,   -1,   -1,   -1,   59,   -1,   -1,   -1,   -1,
-   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
-   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
-   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   93,
-   -1,   -1,   96,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
-   -1,   -1,   -1,    0,   -1,   -1,   -1,   -1,   -1,   -1,
-   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
-   -1,  125,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
-   -1,   -1,   -1,   -1,   -1,   -1,   33,   -1,   -1,   -1,
-   -1,   -1,   -1,   40,   -1,   -1,   -1,   -1,   -1,   -1,
-   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
-   -1,   -1,   59,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
-   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
-   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
-   -1,   -1,   -1,   -1,   -1,   -1,   93,   -1,   -1,   96,
-   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
-   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
-   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,  125,   -1,
-   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
-   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
-   -1,   -1,   -1,  257,  258,  259,  260,   -1,   -1,  263,
-   -1,  265,  266,  267,  268,  269,  270,  271,  272,   -1,
-   -1,   -1,   -1,   -1,   -1,   -1,   -1,  281,  282,  283,
-  284,  285,  286,  287,  288,  289,  290,  291,  292,  293,
-  294,  295,  296,  297,  298,  299,   -1,   -1,   -1,   -1,
-   -1,  305,  306,  307,  308,  309,  310,  311,  312,  313,
-  314,  315,  316,   -1,   -1,   -1,   -1,   -1,  322,  323,
-  324,  325,  326,  327,  328,  329,  330,  331,   -1,   -1,
-  334,  335,  336,  337,   -1,   -1,  340,  341,   -1,   -1,
-   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,  352,  353,
-  354,  355,  356,   -1,   -1,   -1,  360,  361,  362,  363,
-  257,  258,  259,  260,   -1,   -1,  263,   -1,  265,  266,
-  267,  268,  269,  270,  271,  272,   -1,   -1,   -1,   -1,
-   -1,   -1,   -1,   -1,  281,  282,  283,  284,  285,  286,
-  287,  288,  289,  290,  291,  292,  293,  294,  295,  296,
-  297,  298,  299,   -1,   -1,   -1,   -1,   -1,  305,  306,
-  307,  308,  309,  310,  311,  312,  313,  314,  315,  316,
-    0,   -1,   -1,   -1,   -1,  322,  323,  324,  325,  326,
-  327,  328,  329,  330,  331,   -1,   -1,  334,  335,  336,
-  337,   -1,   -1,  340,  341,   -1,   -1,   -1,   -1,   -1,
-   -1,   -1,   -1,   33,   -1,  352,  353,  354,  355,  356,
-   40,   -1,   -1,  360,  361,  362,  363,   -1,   -1,   -1,
-   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   59,
-   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
-   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
-   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
-   -1,   -1,   -1,   93,   -1,   -1,   96,   -1,   -1,   -1,
-   -1,   -1,   -1,   -1,   -1,   -1,   -1,    0,   -1,   -1,
-   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
-   -1,   -1,   -1,   -1,   -1,  125,   -1,   -1,   -1,   -1,
-   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
-   33,   -1,   -1,   -1,   -1,   -1,   -1,   40,   -1,   -1,
-   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
-   -1,   -1,   -1,   -1,   -1,   -1,   59,   -1,   -1,   -1,
-   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
-   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
-   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
-   93,   -1,   -1,   96,   -1,   -1,   -1,   -1,   -1,   -1,
-   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
-   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
-   -1,   -1,  125,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
-   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
-   -1,   -1,   -1,   -1,   -1,   -1,   -1,  257,  258,  259,
-  260,   -1,   -1,  263,   -1,  265,  266,  267,  268,  269,
-  270,  271,  272,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
-   -1,  281,  282,  283,  284,  285,  286,  287,  288,  289,
-  290,  291,  292,  293,  294,  295,  296,  297,  298,  299,
-   -1,   -1,   -1,   -1,   -1,  305,  306,  307,  308,  309,
-  310,  311,  312,  313,  314,  315,  316,   -1,   -1,   -1,
-   -1,   -1,  322,  323,  324,  325,  326,  327,  328,  329,
-  330,  331,   -1,   -1,  334,  335,  336,  337,   -1,   -1,
-  340,  341,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
-   -1,   -1,  352,  353,  354,  355,  356,   -1,   -1,   -1,
-  360,  361,  362,  363,  257,  258,  259,  260,   -1,   -1,
-  263,   -1,  265,  266,  267,  268,  269,  270,  271,  272,
-   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,  281,  282,
-  283,  284,  285,  286,  287,  288,  289,  290,  291,  292,
-  293,  294,  295,  296,  297,  298,  299,   -1,   -1,   -1,
-   -1,   -1,  305,  306,  307,  308,  309,  310,  311,  312,
-  313,  314,  315,  316,    0,   -1,   -1,   -1,   -1,  322,
-  323,  324,  325,  326,  327,  328,  329,  330,  331,   -1,
-   -1,  334,  335,  336,  337,   -1,   -1,  340,  341,   -1,
-   -1,   -1,   -1,   -1,   -1,   -1,   -1,   33,   -1,  352,
-  353,  354,  355,  356,   40,   -1,   -1,  360,  361,  362,
-  363,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
-   -1,   -1,   -1,   59,   -1,   -1,   -1,   -1,   -1,   -1,
-   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
-   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
-   -1,   -1,   -1,   -1,   -1,   -1,   -1,   93,   -1,   -1,
-   96,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
-   -1,    0,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
-   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,  125,
-   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
-   -1,   -1,   -1,   -1,   33,   -1,   -1,   -1,   -1,   -1,
-   -1,   40,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
-   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
-   59,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
-   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
-   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
-   -1,   -1,   -1,   -1,   93,   -1,   -1,   96,   -1,   -1,
-   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
-   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
-   -1,   -1,   -1,   -1,   -1,   -1,  125,   -1,   -1,   -1,
-   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
-   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
-   -1,  257,  258,  259,  260,   -1,   -1,  263,   -1,  265,
-  266,  267,  268,  269,  270,  271,  272,   -1,   -1,   -1,
-   -1,   -1,   -1,   -1,   -1,  281,  282,  283,  284,  285,
-  286,  287,  288,  289,  290,  291,  292,  293,  294,  295,
-  296,  297,  298,  299,   -1,   -1,   -1,   -1,   -1,  305,
-  306,  307,  308,  309,  310,  311,  312,  313,  314,  315,
-  316,   -1,   -1,   -1,   -1,   -1,  322,  323,  324,  325,
-  326,  327,  328,  329,  330,  331,   -1,   -1,  334,  335,
-  336,  337,   -1,   -1,  340,  341,   -1,   -1,   -1,   -1,
-   -1,   -1,   -1,   -1,   -1,   -1,  352,  353,  354,  355,
-  356,   -1,   -1,   -1,  360,  361,  362,  363,  257,  258,
-  259,  260,   -1,   -1,  263,   -1,  265,  266,  267,  268,
-  269,  270,  271,  272,   -1,   -1,   -1,   -1,   -1,   -1,
-   -1,   -1,  281,  282,  283,  284,  285,  286,  287,  288,
-  289,  290,  291,  292,  293,  294,  295,  296,  297,  298,
-  299,   -1,   -1,   -1,   -1,   -1,  305,  306,  307,  308,
-  309,  310,  311,  312,  313,  314,  315,  316,    0,   -1,
-   -1,   -1,   -1,  322,  323,  324,  325,  326,  327,  328,
-  329,  330,  331,   -1,   -1,  334,  335,  336,  337,   -1,
-   -1,  340,  341,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
-   -1,   33,   -1,  352,  353,  354,  355,  356,   40,   -1,
-   -1,  360,  361,  362,  363,   -1,   -1,   -1,   -1,   -1,
-   -1,   -1,   -1,   -1,   -1,   -1,   -1,   59,   -1,   -1,
-   -1,   -1,   -1,   -1,   -1,   -1,    0,   -1,   -1,   -1,
-   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
-   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
-   -1,   93,   -1,   -1,   96,   -1,   -1,   -1,   -1,   -1,
-   -1,   -1,   -1,   37,   -1,    0,   -1,   41,   42,   43,
-   44,   45,   -1,   47,   -1,   -1,   -1,   -1,   -1,   -1,
-   -1,   -1,   -1,  125,   -1,   59,   60,   -1,   62,   -1,
-   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   33,   -1,
-   -1,   -1,   -1,   -1,   -1,   40,   41,   -1,   43,   44,
-   45,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   93,
-   -1,   -1,   -1,   -1,   59,   -1,   -1,   62,   -1,   -1,
-   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
-   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
-   -1,  125,   -1,   -1,   -1,   -1,   -1,   -1,   93,   -1,
-   -1,   96,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
-   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
-   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
-  125,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
-   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
-   -1,   -1,   -1,   -1,   -1,  257,  258,  259,  260,   -1,
-   -1,  263,   -1,  265,  266,  267,  268,  269,  270,  271,
-  272,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,  281,
-  282,  283,  284,  285,  286,  287,  288,  289,  290,  291,
-  292,  293,  294,  295,  296,  297,  298,  299,   -1,   -1,
-   -1,   -1,   -1,  305,  306,  307,  308,  309,  310,  311,
-  312,  313,  314,  315,  316,   -1,   -1,   -1,   -1,   -1,
-  322,  323,  324,  325,  326,  327,  328,  329,  330,  331,
-  264,   -1,  334,  335,  336,  337,   -1,   -1,  340,  341,
-   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
-  352,  353,  354,  355,  356,   -1,  290,   -1,  360,  361,
-  362,  363,  257,  258,  259,  260,  300,   -1,  263,  303,
-  265,  266,  267,  268,  269,  270,  271,  272,   -1,   -1,
-   -1,   -1,   -1,   -1,   -1,   -1,  281,  282,  283,  284,
-  285,  286,  287,  288,  289,  290,  291,  292,  293,  294,
-  295,  296,  297,  298,  299,   -1,   -1,   -1,   -1,  304,
-  305,    0,  346,  347,  348,  349,  350,  351,   -1,   -1,
-   -1,   -1,  317,  318,  319,  320,  321,  322,  323,  324,
-  325,  326,  327,  328,  329,  330,  331,   -1,   -1,   -1,
-   -1,   -1,   -1,   -1,   33,  340,  341,   -1,   -1,   -1,
-   -1,   40,   41,   -1,    0,   44,   45,   -1,   -1,   -1,
-   -1,   -1,   -1,   -1,   -1,  360,  361,  362,  363,   -1,
-   59,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
-   -1,   -1,   -1,   -1,   -1,   -1,   -1,   33,   -1,   -1,
-   -1,   -1,   -1,   -1,   40,   41,   -1,   -1,   44,   -1,
-   -1,   -1,   -1,   -1,   93,   -1,   -1,   96,   -1,   -1,
-   -1,   -1,   -1,   59,   60,   -1,   62,   -1,   -1,   -1,
-   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
-   -1,   -1,   -1,   -1,   -1,   -1,  125,   -1,   -1,   -1,
-   -1,   -1,   -1,   -1,   -1,   -1,   -1,   93,   -1,   -1,
-   96,   -1,   -1,   -1,   -1,   -1,   -1,   -1,    0,   -1,
-   -1,    0,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
-   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,  125,
-   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
-   -1,   -1,   -1,   -1,   33,   -1,   -1,   -1,   -1,   41,
-   -1,   40,   44,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
-   -1,   -1,   -1,   -1,   -1,   -1,   -1,   59,   -1,   -1,
-   59,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
-   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
-   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
-   -1,   93,   -1,   -1,   93,   -1,   -1,   96,   -1,   -1,
-   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,  257,  258,
-  259,  260,   -1,   -1,  263,   -1,  265,  266,  267,  268,
-  269,  270,   -1,  125,   -1,   -1,  125,   -1,   -1,   -1,
-   -1,   -1,  281,  282,  283,  284,  285,  286,  287,  288,
-  289,  290,  291,  292,  293,  294,  295,  296,  297,  298,
-  299,  257,  258,  259,  260,   -1,  305,  263,   -1,   -1,
-   -1,   -1,  268,   -1,   -1,  271,  272,   -1,   -1,   -1,
-   -1,   -1,   -1,  322,  323,  324,  325,  326,  327,  328,
-  329,  330,  331,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
-   -1,  340,  341,    0,   -1,   -1,   -1,   -1,   -1,  305,
-  306,  307,  308,  309,  310,  311,  312,  313,  314,  315,
-  316,  360,  361,  362,  363,   -1,  322,  323,  324,  325,
-  326,  327,  328,  329,  330,  331,   33,   -1,  334,  335,
-  336,  337,   -1,   40,   -1,   -1,   -1,   -1,   -1,   -1,
-  346,  347,  348,  349,  350,  351,  352,  353,  354,  355,
-  356,   -1,   59,   -1,   -1,   -1,   -1,  363,  257,  258,
-  259,  260,  264,   -1,  263,   -1,   -1,   -1,   -1,  268,
-   -1,   -1,  271,  272,   -1,   -1,   -1,   -1,   -1,   -1,
-   -1,   -1,   -1,   -1,   -1,   -1,   93,   -1,  290,   96,
-   -1,   -1,    0,   -1,   -1,   -1,   -1,   -1,  300,   -1,
-   -1,  303,   -1,   -1,   -1,   -1,  305,  306,  307,  308,
-  309,  310,  311,  312,  313,  314,  315,  316,  125,   -1,
-   -1,   -1,   -1,  322,  323,  324,  325,  326,  327,  328,
-  329,  330,  331,   -1,   -1,  334,  335,  336,  337,   -1,
-   -1,   -1,   -1,   -1,   -1,  347,   -1,   -1,   -1,   -1,
-   -1,   59,   -1,  352,  353,  354,  355,  356,   -1,   -1,
-   -1,   -1,   -1,   -1,  363,   -1,   -1,   -1,   -1,   -1,
-   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
-   -1,   -1,   -1,   -1,   -1,   93,   -1,   -1,   -1,   -1,
-   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
-    0,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
-   -1,   -1,   -1,   -1,   -1,   -1,   -1,  125,   -1,   -1,
-   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
-   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
-   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
-  257,  258,  259,  260,   -1,   -1,  263,   -1,   -1,   59,
-   -1,  268,   -1,   -1,  271,  272,   -1,   -1,   -1,   -1,
-   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
-   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
-   -1,   -1,   -1,   93,   -1,   -1,   -1,   -1,  305,  306,
-  307,  308,  309,  310,  311,  312,  313,  314,  315,  316,
-    0,   -1,   -1,   -1,   -1,  322,  323,  324,  325,  326,
-  327,  328,  329,  330,  331,  125,   -1,  334,  335,  336,
-  337,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
-   -1,   -1,   -1,   -1,   -1,  352,  353,  354,  355,  356,
-    0,   -1,  260,   -1,   -1,   -1,  363,  265,  266,  267,
-   -1,  269,  270,  271,  272,   -1,   -1,   -1,   -1,   59,
-   -1,   -1,   -1,  281,  282,  283,  284,  285,  286,  287,
-  288,  289,  290,  291,  292,  293,  294,  295,  296,  297,
-  298,  299,  300,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
-   -1,   -1,   -1,   93,   -1,   -1,   -1,   -1,   -1,   59,
-   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
-   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
-   -1,   -1,  340,  341,   -1,  125,   -1,   -1,   -1,   -1,
-   -1,   -1,   -1,   93,   -1,   -1,   -1,   -1,   -1,    0,
-   -1,   -1,  360,  361,  362,  363,   -1,   -1,   -1,   -1,
-  260,   -1,   -1,   -1,   -1,  265,  266,  267,   -1,  269,
-  270,  271,  272,   -1,   -1,  125,   -1,   -1,   -1,   -1,
-   -1,  281,  282,  283,  284,  285,  286,  287,  288,  289,
-  290,  291,  292,  293,  294,  295,  296,  297,  298,  299,
-  300,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   59,   -1,
-   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
-   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
-   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
-  340,  341,   93,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
-   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,    0,
-  360,  361,  362,  363,   -1,   -1,   -1,   -1,   -1,   -1,
-  260,   -1,   -1,   -1,  125,  265,  266,  267,   -1,  269,
-  270,  271,  272,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
-   -1,  281,  282,  283,  284,  285,  286,  287,  288,  289,
-  290,  291,  292,  293,  294,  295,  296,  297,  298,  299,
-  260,   -1,   -1,   -1,   -1,  265,  266,  267,   59,  269,
-  270,  271,  272,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
-   -1,  281,  282,  283,  284,  285,  286,  287,  288,  289,
-  290,  291,  292,  293,  294,  295,  296,  297,  298,  299,
-  340,  341,   93,   -1,   -1,   -1,   -1,   -1,    0,   -1,
-   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
-  360,  361,  362,  363,   -1,   -1,   -1,   -1,   -1,   -1,
-   -1,   -1,   -1,   -1,  125,   -1,   -1,   -1,   -1,   -1,
-  340,  341,   -1,   -1,   -1,   -1,   -1,   -1,    0,   -1,
-   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,  260,
-  360,  361,  362,  363,  265,  266,  267,   59,  269,  270,
-  271,  272,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
-  281,  282,  283,  284,  285,  286,  287,  288,  289,  290,
-  291,  292,  293,  294,  295,  296,  297,  298,  299,   -1,
-   -1,   93,   -1,   -1,   -1,   -1,   -1,   59,   -1,   -1,
-   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
-   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
-   -1,   -1,   -1,  125,   -1,   -1,   -1,   -1,   -1,  340,
-  341,   93,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
-   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,  360,
-  361,  362,  363,   -1,   -1,   -1,   -1,   -1,   -1,  260,
-   -1,   -1,   -1,  125,  265,  266,  267,   -1,  269,  270,
-  271,  272,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
-  281,  282,  283,  284,  285,  286,  287,  288,  289,  290,
-  291,  292,  293,  294,  295,  296,  297,  298,  299,   -1,
-   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
-   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
-   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
-   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,  340,
-  341,   -1,   59,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
-   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,  260,  360,
-  361,  362,  363,  265,  266,  267,   -1,  269,  270,  271,
-  272,   -1,   -1,   -1,   91,   -1,   -1,   -1,   -1,  281,
-  282,  283,  284,  285,  286,  287,  288,  289,  290,  291,
-  292,  293,  294,  295,  296,  297,  298,  299,  260,   -1,
-   -1,   -1,   -1,  265,  266,  267,  123,  269,  270,  271,
-  272,    0,   -1,   -1,   -1,   -1,   -1,   -1,   -1,  281,
-  282,  283,  284,  285,  286,  287,  288,  289,  290,  291,
-  292,  293,  294,  295,  296,  297,  298,  299,  340,  341,
-   -1,   -1,   -1,   -1,   33,   -1,   -1,   -1,   -1,   -1,
-   -1,   40,   -1,   -1,   -1,   -1,   -1,   -1,  360,  361,
-  362,  363,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
-   59,   -1,    0,   -1,   -1,   -1,   -1,   -1,  340,  341,
-   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
-   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,  360,  361,
-  362,  363,   -1,   -1,   93,   -1,   -1,   96,   -1,   -1,
-   -1,   -1,   -1,   -1,   -1,   43,   -1,   45,   46,   -1,
-   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
-   -1,   59,   -1,   -1,   -1,   -1,  125,   -1,   -1,   -1,
-  257,  258,   -1,  260,  261,   -1,   -1,   -1,   -1,   -1,
-   -1,   -1,  269,  270,  271,  272,  273,  274,  275,  276,
-  277,  278,  279,  280,   -1,   93,   -1,   -1,   -1,   -1,
-   -1,   -1,   -1,   -1,   -1,   33,   -1,   -1,   -1,   -1,
-   -1,   -1,   40,   -1,   -1,   -1,   -1,   45,   -1,   -1,
-   -1,   -1,   -1,   -1,   -1,   -1,   -1,  125,   -1,   -1,
-   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
-   -1,   -1,   -1,   -1,   -1,  332,   -1,   -1,   -1,   -1,
-   -1,  338,  339,   -1,   -1,  342,   -1,  344,   -1,   -1,
-   -1,   -1,   -1,   91,   -1,   -1,   -1,   -1,   96,   -1,
-  357,   -1,  359,   -1,   -1,   -1,  363,  364,   -1,   -1,
-   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
-   -1,   -1,   -1,   -1,   -1,  123,   -1,   -1,  257,  258,
-  259,   -1,   -1,   -1,  263,   -1,  265,  266,  267,  268,
-  269,  270,  271,  272,   -1,   -1,   -1,   -1,   -1,   -1,
-   -1,   -1,  281,  282,  283,  284,  285,  286,  287,  288,
-  289,  290,  291,  292,  293,  294,  295,  296,  297,  298,
-  299,   -1,   -1,   -1,   -1,   -1,  305,  306,  307,  308,
-  309,  310,  311,  312,  313,  314,  315,  316,   -1,   -1,
-   -1,   -1,   -1,  322,  323,  324,  325,  326,  327,  328,
-  329,  330,  331,  271,  272,  334,  335,  336,  337,   -1,
-   -1,  340,  341,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
-   -1,   -1,   -1,  352,  353,  354,  355,  356,   -1,   -1,
-   -1,  360,  361,  362,   -1,   -1,   -1,   -1,  306,  307,
-  308,  309,  310,  311,  312,  313,  314,  315,  316,  317,
-  318,  319,  320,  321,   -1,   -1,   -1,   -1,   -1,  257,
-  258,  259,  260,  261,   -1,  263,  334,  335,  336,  337,
-  268,  269,  270,  271,  272,  273,  274,  275,  276,  277,
-  278,  279,  280,   -1,  352,  353,  354,  355,  356,   33,
-   -1,   -1,   -1,   -1,   -1,   -1,   40,   -1,   -1,   -1,
-   -1,   45,   -1,   -1,   -1,   -1,   -1,  305,  306,  307,
-  308,  309,  310,  311,  312,  313,  314,  315,  316,   -1,
-   -1,   -1,   -1,   -1,  322,  323,  324,  325,  326,  327,
-  328,  329,  330,  331,  332,   -1,  334,  335,  336,  337,
-  338,  339,   -1,   -1,  342,   -1,  344,   91,   -1,   -1,
-   -1,   -1,   96,   -1,  352,  353,  354,  355,  356,  357,
-   -1,  359,   -1,   -1,   -1,  363,  364,   -1,   -1,   -1,
-   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,  123,
-   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
-   -1,   -1,   -1,   -1,   -1,   -1,   -1,   33,   -1,   -1,
-   -1,   -1,   -1,   -1,   40,   -1,   -1,   -1,   -1,   45,
-   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
-   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
-   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
-   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
-   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
-   96,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
-   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
-   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
-   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
-   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
-   -1,   -1,   -1,  257,  258,  259,  260,  261,   -1,  263,
-   -1,   -1,   -1,   -1,  268,  269,  270,  271,  272,  273,
-  274,  275,  276,  277,  278,  279,  280,   -1,   33,   -1,
-   -1,   -1,   -1,   -1,   -1,   40,   41,   -1,   -1,   -1,
-   45,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
-   -1,  305,  306,  307,  308,  309,  310,  311,  312,  313,
-  314,  315,  316,   -1,   -1,   -1,   -1,   -1,  322,  323,
-  324,  325,  326,  327,  328,  329,  330,  331,  332,   -1,
-  334,  335,  336,  337,  338,  339,   -1,   -1,  342,   -1,
-  344,   96,   -1,   -1,   -1,   -1,   -1,   -1,  352,  353,
-  354,  355,  356,  357,   -1,  359,   -1,   -1,   -1,  363,
-  364,  257,  258,  259,  260,   -1,   -1,  263,   -1,  265,
-  266,  267,  268,  269,  270,  271,  272,   -1,   -1,   -1,
-   -1,   -1,   -1,   -1,   -1,  281,  282,  283,  284,  285,
-  286,  287,  288,  289,  290,  291,  292,  293,  294,  295,
-  296,  297,  298,  299,   -1,   -1,   -1,   -1,   -1,  305,
-  306,  307,  308,  309,  310,  311,  312,  313,  314,  315,
-  316,   -1,   -1,   -1,   -1,   -1,  322,  323,  324,  325,
-  326,  327,  328,  329,  330,  331,   33,   -1,  334,  335,
-  336,  337,   -1,   40,  340,  341,   -1,   -1,   45,   -1,
-   -1,   -1,   -1,   -1,   -1,   -1,  352,  353,  354,  355,
-  356,   -1,   -1,   -1,  360,  361,  362,  363,   -1,   -1,
-   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
-   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
-   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   96,
-   -1,   -1,  257,  258,  259,  260,   -1,   -1,  263,   -1,
-   -1,   -1,   -1,  268,   -1,   -1,  271,  272,   -1,   -1,
-   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
-   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
-   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
-  305,  306,  307,  308,  309,  310,  311,  312,  313,  314,
-  315,  316,   -1,   -1,   -1,   -1,   -1,  322,  323,  324,
-  325,  326,  327,  328,  329,  330,  331,   33,   -1,  334,
-  335,  336,  337,   -1,   40,   -1,   -1,   -1,   -1,   45,
-   -1,   -1,   -1,   -1,   -1,   -1,   -1,  352,  353,  354,
-  355,  356,   -1,   -1,   -1,   -1,   -1,   -1,  363,   -1,
-   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
-   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
-   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
-   96,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
-   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
-  257,  258,  259,  260,   -1,   -1,  263,   -1,   -1,   -1,
-   -1,  268,   -1,   -1,  271,  272,   -1,   -1,   33,   -1,
-   -1,   -1,   -1,   -1,   -1,   40,   -1,   -1,   -1,   -1,
-   45,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
-   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,  305,  306,
-  307,  308,  309,  310,  311,  312,  313,  314,  315,  316,
-   -1,   -1,   -1,   -1,   -1,  322,  323,  324,  325,  326,
-  327,  328,  329,  330,  331,   -1,   -1,  334,  335,  336,
-  337,   96,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
-   -1,   -1,   -1,   -1,   -1,  352,  353,  354,  355,  356,
-   -1,   -1,   -1,   -1,   -1,   -1,  363,   -1,   -1,   -1,
-   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   33,
-   -1,   -1,   -1,   -1,   -1,   -1,   40,   -1,   -1,   -1,
-   -1,   45,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
-   -1,  257,  258,  259,  260,   -1,   -1,  263,   -1,   -1,
-   -1,   -1,  268,   -1,   -1,  271,  272,   -1,   -1,   -1,
-   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
-   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
-   -1,   -1,   96,   -1,   -1,   -1,   -1,   -1,   -1,  305,
-  306,  307,  308,  309,  310,  311,  312,  313,  314,  315,
-  316,   -1,   -1,   -1,   -1,   -1,  322,  323,  324,  325,
-  326,  327,  328,  329,  330,  331,   -1,   -1,  334,  335,
-  336,  337,   33,   -1,   -1,   -1,   -1,   -1,   -1,   40,
-   -1,   42,   -1,   -1,   45,   -1,  352,  353,  354,  355,
-  356,   -1,  257,  258,  259,  260,   -1,  363,  263,   -1,
-   -1,   -1,   -1,  268,   -1,   -1,  271,  272,   -1,   -1,
-   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
-   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
-   -1,   -1,   -1,   -1,   -1,   96,   -1,   -1,   -1,   -1,
-  305,  306,  307,  308,  309,  310,  311,  312,  313,  314,
-  315,  316,   -1,   -1,   -1,   -1,   -1,  322,  323,  324,
-  325,  326,  327,  328,  329,  330,  331,   -1,   -1,  334,
-  335,  336,  337,   33,   -1,   -1,   -1,   -1,   -1,   -1,
-   40,   -1,   -1,   -1,   -1,   45,   -1,  352,  353,  354,
-  355,  356,   -1,  257,  258,  259,  260,   -1,  363,  263,
-   -1,   -1,   -1,   -1,  268,   -1,   -1,  271,  272,   -1,
-   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
-   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
-   -1,   -1,   -1,   -1,   -1,   -1,   96,   -1,   -1,   -1,
-   -1,  305,  306,  307,  308,  309,  310,  311,  312,  313,
-  314,  315,  316,   -1,   -1,   -1,   -1,   -1,  322,  323,
-  324,  325,  326,  327,  328,  329,  330,  331,   -1,   -1,
-  334,  335,  336,  337,   33,   -1,   -1,   -1,   -1,   -1,
-   -1,   40,   -1,   -1,   -1,   -1,   45,   -1,  352,  353,
-  354,  355,  356,   -1,   -1,   -1,  257,  258,  259,  363,
-   -1,   -1,  263,   -1,   -1,   -1,   -1,  268,   -1,   -1,
-  271,  272,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
-   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
-   -1,   -1,   -1,   -1,   -1,   -1,   -1,   96,   -1,   -1,
-   -1,   -1,   -1,   -1,  305,  306,  307,  308,  309,  310,
-  311,  312,  313,  314,  315,  316,   -1,   -1,   -1,   -1,
-   -1,  322,  323,  324,  325,  326,  327,  328,  329,  330,
-  331,   -1,   -1,  334,  335,  336,  337,   33,   -1,   -1,
-   -1,   -1,   -1,   -1,   40,   -1,   -1,   -1,   -1,   45,
-   -1,  352,  353,  354,  355,  356,   -1,  257,  258,  259,
-   -1,   -1,   -1,  263,   -1,   -1,   -1,   -1,  268,   -1,
-   -1,  271,  272,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
-   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
-   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
-   96,   -1,   -1,   -1,   -1,  305,  306,  307,  308,  309,
-  310,  311,  312,  313,  314,  315,  316,   -1,   -1,   -1,
-   -1,   -1,  322,  323,  324,  325,  326,  327,  328,  329,
-  330,  331,   -1,   -1,  334,  335,  336,  337,   33,   -1,
-   -1,   -1,   -1,   -1,   -1,   40,   -1,   -1,   -1,   -1,
-   45,   -1,  352,  353,  354,  355,  356,   -1,  257,  258,
-  259,   -1,   -1,   -1,  263,   -1,   -1,   -1,   -1,  268,
-   -1,   -1,  271,  272,   -1,   -1,   -1,   -1,   -1,   -1,
-   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
-   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
-   -1,   96,   -1,   -1,   -1,   -1,  305,  306,  307,  308,
-  309,  310,  311,  312,  313,  314,  315,  316,   -1,   -1,
-   -1,   -1,   -1,  322,  323,  324,  325,  326,  327,  328,
-  329,  330,  331,   -1,   -1,  334,  335,  336,  337,   -1,
-   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
-   -1,   -1,   -1,  352,  353,  354,  355,  356,   -1,   -1,
-   -1,  257,  258,  259,   -1,   -1,   -1,  263,   -1,   -1,
-   -1,   -1,  268,   -1,   -1,  271,  272,   -1,   -1,   -1,
-   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
-   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
-   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,  305,
-  306,  307,  308,  309,  310,  311,  312,  313,  314,  315,
-  316,   -1,   -1,   -1,   -1,   -1,  322,  323,  324,  325,
-  326,  327,  328,  329,  330,  331,   -1,   -1,  334,  335,
-  336,  337,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
-   -1,   -1,   -1,   -1,   -1,   -1,  352,  353,  354,  355,
-  356,   -1,  257,  258,  259,   -1,   -1,   -1,  263,   -1,
-   -1,   -1,   -1,  268,   -1,   -1,   -1,   -1,   -1,   -1,
-   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
-   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
-   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
-  305,  306,  307,  308,  309,  310,  311,  312,  313,  314,
-  315,  316,   -1,   -1,   -1,   -1,   -1,  322,  323,  324,
-  325,  326,  327,  328,  329,  330,  331,   -1,   -1,  334,
-  335,  336,  337,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
-   -1,   -1,   -1,   -1,   -1,   -1,   -1,  352,  353,  354,
-  355,  356,
-};
-#define YYFINAL 2
-#ifndef YYDEBUG
-#define YYDEBUG 0
-#endif
-#define YYMAXTOKEN 366
-#if YYDEBUG
-static YYCONST char *YYCONST yyname[] = {
-"end-of-file",0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
-"'!'",0,0,0,"'%'",0,0,"'('","')'","'*'","'+'","','","'-'","'.'","'/'",0,0,0,0,0,
-0,0,0,0,0,"':'","';'","'<'","'='","'>'",0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
-0,0,0,0,0,0,0,0,"'['",0,"']'","'^'",0,"'`'",0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
-0,0,0,0,0,0,0,0,"'{'",0,"'}'",0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
-0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
-0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
-0,0,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",
-"TEXT","COMMAND_LINE","DELIMITED","ORDINAL","TH","LEFT_ARROW_HEAD",
-"RIGHT_ARROW_HEAD","DOUBLE_ARROW_HEAD","LAST","UP","DOWN","LEFT","RIGHT","BOX",
-"CIRCLE","ELLIPSE","ARC","LINE","ARROW","MOVE","SPLINE","HEIGHT","RADIUS",
-"WIDTH","DIAMETER","FROM","TO","AT","WITH","BY","THEN","DOTTED","DASHED","CHOP",
-"SAME","INVISIBLE","LJUST","RJUST","ABOVE","BELOW","OF","THE","WAY","BETWEEN",
-"AND","HERE","DOT_N","DOT_E","DOT_W","DOT_S","DOT_NE","DOT_SE","DOT_NW",
-"DOT_SW","DOT_C","DOT_START","DOT_END","DOT_X","DOT_Y","DOT_HT","DOT_WID",
-"DOT_RAD","SIN","COS","ATAN2","LOG","EXP","SQRT","K_MAX","K_MIN","INT","RAND",
-"COPY","THRU","TOP","BOTTOM","UPPER","LOWER","SH","PRINT","CW","CCW","FOR","DO",
-"IF","ELSE","ANDAND","OROR","NOTEQUAL","EQUALEQUAL","LESSEQUAL","GREATEREQUAL",
-"LEFT_CORNER","RIGHT_CORNER","CENTER","END","START","RESET","UNTIL","PLOT",
-"THICKNESS","FILL","ALIGNED","SPRINTF","COMMAND","DEFINE","UNDEF",
-};
-static YYCONST char *YYCONST yyrule[] = {
-"$accept : top",
-"top : optional_separator",
-"top : element_list",
-"element_list : optional_separator middle_element_list optional_separator",
-"middle_element_list : element",
-"middle_element_list : middle_element_list separator element",
-"optional_separator :",
-"optional_separator : separator",
-"separator : ';'",
-"separator : separator ';'",
-"placeless_element : VARIABLE '=' any_expr",
-"placeless_element : VARIABLE ':' '=' any_expr",
-"placeless_element : UP",
-"placeless_element : DOWN",
-"placeless_element : LEFT",
-"placeless_element : RIGHT",
-"placeless_element : COMMAND_LINE",
-"placeless_element : COMMAND print_args",
-"placeless_element : PRINT print_args",
-"$$1 :",
-"placeless_element : SH $$1 DELIMITED",
-"placeless_element : COPY TEXT",
-"$$2 :",
-"$$3 :",
-"placeless_element : COPY TEXT THRU $$2 DELIMITED $$3 until",
-"$$4 :",
-"$$5 :",
-"placeless_element : COPY THRU $$4 DELIMITED $$5 until",
-"$$6 :",
-"placeless_element : FOR VARIABLE '=' expr TO expr optional_by DO $$6 DELIMITED",
-"placeless_element : simple_if",
-"$$7 :",
-"placeless_element : simple_if ELSE $$7 DELIMITED",
-"placeless_element : reset_variables",
-"placeless_element : RESET",
-"reset_variables : RESET VARIABLE",
-"reset_variables : reset_variables VARIABLE",
-"reset_variables : reset_variables ',' VARIABLE",
-"print_args : print_arg",
-"print_args : print_args print_arg",
-"print_arg : expr",
-"print_arg : text",
-"print_arg : position",
-"$$8 :",
-"simple_if : IF any_expr THEN $$8 DELIMITED",
-"until :",
-"until : UNTIL TEXT",
-"any_expr : expr",
-"any_expr : text_expr",
-"text_expr : text EQUALEQUAL text",
-"text_expr : text NOTEQUAL text",
-"text_expr : text_expr ANDAND text_expr",
-"text_expr : text_expr ANDAND expr",
-"text_expr : expr ANDAND text_expr",
-"text_expr : text_expr OROR text_expr",
-"text_expr : text_expr OROR expr",
-"text_expr : expr OROR text_expr",
-"text_expr : '!' text_expr",
-"optional_by :",
-"optional_by : BY expr",
-"optional_by : BY '*' expr",
-"element : object_spec",
-"element : LABEL ':' optional_separator element",
-"element : LABEL ':' optional_separator position_not_place",
-"element : LABEL ':' optional_separator place",
-"$$9 :",
-"$$10 :",
-"element : '{' $$9 element_list '}' $$10 optional_element",
-"element : placeless_element",
-"optional_element :",
-"optional_element : element",
-"object_spec : BOX",
-"object_spec : CIRCLE",
-"object_spec : ELLIPSE",
-"object_spec : ARC",
-"object_spec : LINE",
-"object_spec : ARROW",
-"object_spec : MOVE",
-"object_spec : SPLINE",
-"object_spec : text",
-"object_spec : PLOT expr",
-"object_spec : PLOT expr text",
-"$$11 :",
-"object_spec : '[' $$11 element_list ']'",
-"object_spec : object_spec HEIGHT expr",
-"object_spec : object_spec RADIUS expr",
-"object_spec : object_spec WIDTH expr",
-"object_spec : object_spec DIAMETER expr",
-"object_spec : object_spec expr",
-"object_spec : object_spec UP",
-"object_spec : object_spec UP expr",
-"object_spec : object_spec DOWN",
-"object_spec : object_spec DOWN expr",
-"object_spec : object_spec RIGHT",
-"object_spec : object_spec RIGHT expr",
-"object_spec : object_spec LEFT",
-"object_spec : object_spec LEFT expr",
-"object_spec : object_spec FROM position",
-"object_spec : object_spec TO position",
-"object_spec : object_spec AT position",
-"object_spec : object_spec WITH path",
-"object_spec : object_spec BY expr_pair",
-"object_spec : object_spec THEN",
-"object_spec : object_spec DOTTED",
-"object_spec : object_spec DOTTED expr",
-"object_spec : object_spec DASHED",
-"object_spec : object_spec DASHED expr",
-"object_spec : object_spec FILL",
-"object_spec : object_spec FILL expr",
-"object_spec : object_spec CHOP",
-"object_spec : object_spec CHOP expr",
-"object_spec : object_spec SAME",
-"object_spec : object_spec INVISIBLE",
-"object_spec : object_spec LEFT_ARROW_HEAD",
-"object_spec : object_spec RIGHT_ARROW_HEAD",
-"object_spec : object_spec DOUBLE_ARROW_HEAD",
-"object_spec : object_spec CW",
-"object_spec : object_spec CCW",
-"object_spec : object_spec text",
-"object_spec : object_spec LJUST",
-"object_spec : object_spec RJUST",
-"object_spec : object_spec ABOVE",
-"object_spec : object_spec BELOW",
-"object_spec : object_spec THICKNESS expr",
-"object_spec : object_spec ALIGNED",
-"text : TEXT",
-"text : SPRINTF '(' TEXT sprintf_args ')'",
-"sprintf_args :",
-"sprintf_args : sprintf_args ',' expr",
-"position : position_not_place",
-"position : place",
-"position_not_place : expr_pair",
-"position_not_place : position '+' expr_pair",
-"position_not_place : position '-' expr_pair",
-"position_not_place : '(' position ',' position ')'",
-"position_not_place : expr between position AND position",
-"position_not_place : expr '<' position ',' position '>'",
-"between : BETWEEN",
-"between : OF THE WAY BETWEEN",
-"expr_pair : expr ',' expr",
-"expr_pair : '(' expr_pair ')'",
-"place : label",
-"place : label corner",
-"place : corner label",
-"place : corner OF label",
-"place : HERE",
-"label : LABEL",
-"label : nth_primitive",
-"label : label '.' LABEL",
-"ordinal : ORDINAL",
-"ordinal : '`' any_expr TH",
-"optional_ordinal_last : LAST",
-"optional_ordinal_last : ordinal LAST",
-"nth_primitive : ordinal object_type",
-"nth_primitive : optional_ordinal_last object_type",
-"object_type : BOX",
-"object_type : CIRCLE",
-"object_type : ELLIPSE",
-"object_type : ARC",
-"object_type : LINE",
-"object_type : ARROW",
-"object_type : SPLINE",
-"object_type : '[' ']'",
-"object_type : TEXT",
-"label_path : '.' LABEL",
-"label_path : label_path '.' LABEL",
-"relative_path : corner",
-"relative_path : label_path",
-"relative_path : label_path corner",
-"path : relative_path",
-"path : '(' relative_path ',' relative_path ')'",
-"path : ORDINAL LAST object_type relative_path",
-"path : LAST object_type relative_path",
-"path : ORDINAL object_type relative_path",
-"path : LABEL relative_path",
-"corner : DOT_N",
-"corner : DOT_E",
-"corner : DOT_W",
-"corner : DOT_S",
-"corner : DOT_NE",
-"corner : DOT_SE",
-"corner : DOT_NW",
-"corner : DOT_SW",
-"corner : DOT_C",
-"corner : DOT_START",
-"corner : DOT_END",
-"corner : TOP",
-"corner : BOTTOM",
-"corner : LEFT",
-"corner : RIGHT",
-"corner : UPPER LEFT",
-"corner : LOWER LEFT",
-"corner : UPPER RIGHT",
-"corner : LOWER RIGHT",
-"corner : LEFT_CORNER",
-"corner : RIGHT_CORNER",
-"corner : UPPER LEFT_CORNER",
-"corner : LOWER LEFT_CORNER",
-"corner : UPPER RIGHT_CORNER",
-"corner : LOWER RIGHT_CORNER",
-"corner : CENTER",
-"corner : START",
-"corner : END",
-"expr : VARIABLE",
-"expr : NUMBER",
-"expr : place DOT_X",
-"expr : place DOT_Y",
-"expr : place DOT_HT",
-"expr : place DOT_WID",
-"expr : place DOT_RAD",
-"expr : expr '+' expr",
-"expr : expr '-' expr",
-"expr : expr '*' expr",
-"expr : expr '/' expr",
-"expr : expr '%' expr",
-"expr : expr '^' expr",
-"expr : '-' expr",
-"expr : '(' any_expr ')'",
-"expr : SIN '(' any_expr ')'",
-"expr : COS '(' any_expr ')'",
-"expr : ATAN2 '(' any_expr ',' any_expr ')'",
-"expr : LOG '(' any_expr ')'",
-"expr : EXP '(' any_expr ')'",
-"expr : SQRT '(' any_expr ')'",
-"expr : K_MAX '(' any_expr ',' any_expr ')'",
-"expr : K_MIN '(' any_expr ',' any_expr ')'",
-"expr : INT '(' any_expr ')'",
-"expr : RAND '(' any_expr ')'",
-"expr : RAND '(' ')'",
-"expr : expr '<' expr",
-"expr : expr LESSEQUAL expr",
-"expr : expr '>' expr",
-"expr : expr GREATEREQUAL expr",
-"expr : expr EQUALEQUAL expr",
-"expr : expr NOTEQUAL expr",
-"expr : expr ANDAND expr",
-"expr : expr OROR expr",
-"expr : '!' expr",
-};
-#endif
-#define YYLEX yylex()
-#define YYEMPTY -1
-#define yyclearin (yychar=(YYEMPTY))
-#define yyerrok (yyerrflag=0)
-#ifndef YYINITDEPTH
-#define YYINITDEPTH 200
-#endif
-#ifdef YYSTACKSIZE
-#undef YYMAXDEPTH
-#define YYMAXDEPTH YYSTACKSIZE
-#else
-#ifdef YYMAXDEPTH
-#define YYSTACKSIZE YYMAXDEPTH
-#else
-#define YYSTACKSIZE 10000
-#define YYMAXDEPTH 10000
-#endif
-#endif
-int yydebug;
-int yynerrs;
-int yyerrflag;
-int yychar;
-YYSTYPE yyval;
-YYSTYPE yylval;
-static short *yyss;
-static YYSTYPE *yyvs;
-static int yystacksize;
-static int yygrow ();
-static YYPTR yymalloc YYPARAMS((unsigned));
-static YYPTR yyrealloc YYPARAMS((YYPTR, unsigned));
-#define yyfree(x) free(x)
-#line 1529 "pic.y"
-
-/* bison defines const to be empty unless __STDC__ is defined, which it
-isn't under cfront */
-
-#ifdef const
-#undef const
-#endif
-
-static struct {
-  const char *name;
-  double val;
-  int scaled;               // non-zero if val should be multiplied by scale
-} defaults_table[] = {
-  { "arcrad", .25, 1 },
-  { "arrowht", .1, 1 },
-  { "arrowwid", .05, 1 },
-  { "circlerad", .25, 1 },
-  { "boxht", .5, 1 },
-  { "boxwid", .75, 1 },
-  { "boxrad", 0.0, 1 },
-  { "dashwid", .05, 1 },
-  { "ellipseht", .5, 1 },
-  { "ellipsewid", .75, 1 },
-  { "moveht", .5, 1 },
-  { "movewid", .5, 1 },
-  { "lineht", .5, 1 },
-  { "linewid", .5, 1 },
-  { "textht", 0.0, 1 },
-  { "textwid", 0.0, 1 },
-  { "scale", 1.0, 0 },
-  { "linethick", -1.0, 0 },            // in points
-  { "fillval", .5, 0 },
-  { "arrowhead", 1.0, 0 },
-  { "maxpswid", 8.5, 0 },
-  { "maxpsht", 11.0, 0 },
-};
-
-place *lookup_label(const char *label)
-{
-  saved_state *state = current_saved_state;
-  PTABLE(place) *tbl = current_table;
-  for (;;) {
-    place *pl = tbl->lookup(label);
-    if (pl)
-      return pl;
-    if (!state)
-      return 0;
-    tbl = state->tbl;
-    state = state->prev;
-  }
-}
-
-void define_label(const char *label, const place *pl)
-{
-  place *p = new place;
-  *p = *pl;
-  current_table->define(label, p);
-}
-
-int lookup_variable(const char *name, double *val)
-{
-  place *pl = lookup_label(name);
-  if (pl) {
-    *val = pl->x;
-    return 1;
-  }
-  return 0;
-}
-
-void define_variable(const char *name, double val)
-{
-  place *p = new place;
-  p->obj = 0;
-  p->x = val;
-  p->y = 0.0;
-  current_table->define(name, p);
-  if (strcmp(name, "scale") == 0) {
-    // When the scale changes, reset all scaled pre-defined variables to
-    // their default values.
-    for (int i = 0; i < sizeof(defaults_table)/sizeof(defaults_table[0]); i++) 
-      if (defaults_table[i].scaled)
-       define_variable(defaults_table[i].name, val*defaults_table[i].val);
-  }
-}
-
-// called once only (not once per parse)
-
-void parse_init()
-{
-  current_direction = RIGHT_DIRECTION;
-  current_position.x = 0.0;
-  current_position.y = 0.0;
-  // This resets everything to its default value.
-  reset_all();
-}
-
-void reset(const char *nm)
-{
-  for (int i = 0; i < sizeof(defaults_table)/sizeof(defaults_table[0]); i++)
-    if (strcmp(nm, defaults_table[i].name) == 0) {
-      double val = defaults_table[i].val;
-      if (defaults_table[i].scaled) {
-       double scale;
-       lookup_variable("scale", &scale);
-       val *= scale;
-      }
-      define_variable(defaults_table[i].name, val);
-      return;
-    }
-  lex_error("`%1' is not a predefined variable", nm);
-}
-
-void reset_all()
-{
-  // We only have to explicitly reset the pre-defined variables that
-  // aren't scaled because `scale' is not scaled, and changing the
-  // value of `scale' will reset all the pre-defined variables that
-  // are scaled.
-  for (int i = 0; i < sizeof(defaults_table)/sizeof(defaults_table[0]); i++)
-    if (!defaults_table[i].scaled)
-      define_variable(defaults_table[i].name, defaults_table[i].val);
-}
-
-// called after each parse
-
-void parse_cleanup()
-{
-  while (current_saved_state != 0) {
-    delete current_table;
-    current_table = current_saved_state->tbl;
-    saved_state *tem = current_saved_state;
-    current_saved_state = current_saved_state->prev;
-    delete tem;
-  }
-  assert(current_table == &top_table);
-  PTABLE_ITERATOR(place) iter(current_table);
-  const char *key;
-  place *pl;
-  while (iter.next(&key, &pl))
-    if (pl->obj != 0) {
-      position pos = pl->obj->origin();
-      pl->obj = 0;
-      pl->x = pos.x;
-      pl->y = pos.y;
-    }
-  while (olist.head != 0) {
-    object *tem = olist.head;
-    olist.head = olist.head->next;
-    delete tem;
-  }
-  olist.tail = 0;
-  current_direction = RIGHT_DIRECTION;
-  current_position.x = 0.0;
-  current_position.y = 0.0;
-}
-
-const char *ordinal_postfix(int n)
-{
-  if (n < 10 || n > 20)
-    switch (n % 10) {
-    case 1:
-      return "st";
-    case 2:
-      return "nd";
-    case 3:
-      return "rd";
-    }
-  return "th";
-}
-
-const char *object_type_name(object_type type)
-{
-  switch (type) {
-  case BOX_OBJECT:
-    return "box";
-  case CIRCLE_OBJECT:
-    return "circle";
-  case ELLIPSE_OBJECT:
-    return "ellipse";
-  case ARC_OBJECT:
-    return "arc";
-  case SPLINE_OBJECT:
-    return "spline";
-  case LINE_OBJECT:
-    return "line";
-  case ARROW_OBJECT:
-    return "arrow";
-  case MOVE_OBJECT:
-    return "move";
-  case TEXT_OBJECT:
-    return "\"\"";
-  case BLOCK_OBJECT:
-    return "[]";
-  case OTHER_OBJECT:
-  case MARK_OBJECT:
-  default:
-    break;
-  }
-  return "object";
-}
-
-static char sprintf_buf[1024];
-
-char *format_number(const char *form, double n)
-{
-  if (form == 0)
-    form = "%g";
-  else {
-    // this is a fairly feeble attempt at validation of the format
-    int nspecs = 0;
-    for (const char *p = form; *p != '\0'; p++)
-      if (*p == '%') {
-       if (p[1] == '%')
-         p++;
-       else
-         nspecs++;
-      }
-    if (nspecs > 1) {
-      lex_error("bad format `%1'", form);
-      return strsave(form);
-    }
-  }
-  sprintf(sprintf_buf, form, n);
-  return strsave(sprintf_buf);
-}
-
-char *do_sprintf(const char *form, const double *v, int nv)
-{
-  string result;
-  int i = 0;
-  string one_format;
-  while (*form) {
-    if (*form == '%') {
-      one_format += *form++;
-      for (; *form != '\0' && strchr("#-+ 0123456789.", *form) != 0; form++)
-       one_format += *form;
-      if (*form == '\0' || strchr("eEfgG%", *form) == 0) {
-       lex_error("bad sprintf format");
-       result += one_format;
-       result += form;
-       break;
-      }
-      if (*form == '%') {
-       one_format += *form++;
-       one_format += '\0';
-       sprintf(sprintf_buf, one_format.contents());
-      }
-      else {
-       if (i >= nv) {
-         lex_error("too few arguments to sprintf");
-         result += one_format;
-         result += form;
-         break;
-       }
-       one_format += *form++;
-       one_format += '\0';
-       sprintf(sprintf_buf, one_format.contents(), v[i++]);
-      }
-      one_format.clear();
-      result += sprintf_buf;
-    }
-    else
-      result += *form++;
-  }
-  result += '\0';
-  return strsave(result.contents());
-}
-#line 3397 "y.tab.c"
-#define YYABORT goto yyabort
-#define YYACCEPT goto yyaccept
-#define YYERROR goto yyerrlab
-
-#if YYDEBUG
-#ifdef __cplusplus
-extern "C" char *getenv();
-#else
-extern char *getenv();
-#endif
-#endif
-
-int
-yyparse()
-{
-    register int yym, yyn, yystate;
-    register YYSTYPE *yyvsp;
-    register short *yyssp;
-    short *yysse;
-#if YYDEBUG
-    register YYCONST char *yys;
-
-    if (yys = getenv("YYDEBUG"))
-    {
-        yyn = *yys;
-        if (yyn >= '0' && yyn <= '9')
-            yydebug = yyn - '0';
-    }
-#endif
-
-    yynerrs = 0;
-    yyerrflag = 0;
-    yychar = (-1);
-
-    if (yyss == 0)
-    {
-        yyss = (short *) yymalloc (YYINITDEPTH * sizeof (short));
-        if (yyss == 0)
-          goto yyabort;
-        yyvs = (YYSTYPE *) yymalloc (YYINITDEPTH * sizeof (YYSTYPE));
-        if (yyvs == 0)
-        {
-            yyfree (yyss);
-            goto yyabort;
-        }
-        yystacksize = YYINITDEPTH;
-    }
-    yysse = yyss + yystacksize - 1;
-    yyssp = yyss;
-    yyvsp = yyvs;
-    *yyssp = yystate = 0;
-
-yyloop:
-    if (yyn = yydefred[yystate]) goto yyreduce;
-    if (yychar < 0)
-    {
-        if ((yychar = yylex()) < 0) yychar = 0;
-#if YYDEBUG
-        if (yydebug)
-        {
-            yys = 0;
-            if (yychar <= YYMAXTOKEN) yys = yyname[yychar];
-            if (!yys) yys = "illegal-symbol";
-            printf("yydebug: state %d, reading %d (%s)\n", yystate,
-                    yychar, yys);
-        }
-#endif
-    }
-    if ((yyn = yysindex[yystate]) && (yyn += yychar) >= 0 &&
-            yyn <= YYTABLESIZE && yycheck[yyn] == yychar)
-    {
-#if YYDEBUG
-        if (yydebug)
-            printf("yydebug: state %d, shifting to state %d\n",
-                    yystate, yytable[yyn]);
-#endif
-        if (yyssp >= yysse)
-        {
-            /* FIXME: Rework so there's only one of these.  */
-            int depth = yyssp - yyss;
-            if (yygrow () != 0)
-              goto yyoverflow;
-            yysse = yyss + yystacksize - 1;
-            yyssp = yyss + depth;
-            yyvsp = yyvs + depth;
-        }
-        *++yyssp = yystate = yytable[yyn];
-        *++yyvsp = yylval;
-        yychar = (-1);
-        if (yyerrflag > 0)  --yyerrflag;
-        goto yyloop;
-    }
-    if ((yyn = yyrindex[yystate]) && (yyn += yychar) >= 0 &&
-            yyn <= YYTABLESIZE && yycheck[yyn] == yychar)
-    {
-        yyn = yytable[yyn];
-        goto yyreduce;
-    }
-    if (yyerrflag) goto yyinrecovery;
-#ifdef lint
-    goto yynewerror;
-#endif
-yynewerror:
-    yyerror("syntax error");
-#ifdef lint
-    goto yyerrlab;
-#endif
-yyerrlab:
-    ++yynerrs;
-yyinrecovery:
-    if (yyerrflag < 3)
-    {
-        yyerrflag = 3;
-        for (;;)
-        {
-            if ((yyn = yysindex[*yyssp]) && (yyn += YYERRCODE) >= 0 &&
-                    yyn <= YYTABLESIZE && yycheck[yyn] == YYERRCODE)
-            {
-#if YYDEBUG
-                if (yydebug)
-                    printf("yydebug: state %d, error recovery shifting\
- to state %d\n", *yyssp, yytable[yyn]);
-#endif
-                if (yyssp >= yysse)
-                {
-                    int depth = yyssp - yyss;
-                    if (yygrow () != 0)
-                      goto yyoverflow;
-                    yysse = yyss + yystacksize - 1;
-                    yyssp = yyss + depth;
-                    yyvsp = yyvs + depth;
-                }
-                *++yyssp = yystate = yytable[yyn];
-                *++yyvsp = yylval;
-                goto yyloop;
-            }
-            else
-            {
-#if YYDEBUG
-                if (yydebug)
-                    printf("yydebug: error recovery discarding state %d\n",
-                            *yyssp);
-#endif
-                if (yyssp <= yyss) goto yyabort;
-                --yyssp;
-                --yyvsp;
-            }
-        }
-    }
-    else
-    {
-        if (yychar == 0) goto yyabort;
-#if YYDEBUG
-        if (yydebug)
-        {
-            yys = 0;
-            if (yychar <= YYMAXTOKEN) yys = yyname[yychar];
-            if (!yys) yys = "illegal-symbol";
-            printf("yydebug: state %d, error recovery discards token %d (%s)\n",
-                    yystate, yychar, yys);
-        }
-#endif
-        yychar = (-1);
-        goto yyloop;
-    }
-yyreduce:
-#if YYDEBUG
-    if (yydebug)
-        printf("yydebug: state %d, reducing by rule %d (%s)\n",
-                yystate, yyn, yyrule[yyn]);
-#endif
-    yym = yylen[yyn];
-    yyval = yyvsp[1-yym];
-    switch (yyn)
-    {
-case 2:
-#line 272 "pic.y"
-{
-                 if (olist.head)
-                   print_picture(olist.head);
-               }
-break;
-case 3:
-#line 281 "pic.y"
-{ yyval.pl = yyvsp[-1].pl; }
-break;
-case 4:
-#line 286 "pic.y"
-{ yyval.pl = yyvsp[0].pl; }
-break;
-case 5:
-#line 288 "pic.y"
-{ yyval.pl = yyvsp[-2].pl; }
-break;
-case 10:
-#line 303 "pic.y"
-{
-                 define_variable(yyvsp[-2].str, yyvsp[0].x);
-                 a_delete yyvsp[-2].str;
-               }
-break;
-case 11:
-#line 308 "pic.y"
-{
-                 place *p = lookup_label(yyvsp[-3].str);
-                 if (!p) {
-                   lex_error("variable `%1' not defined", yyvsp[-3].str);
-                   YYABORT;
-                 }
-                 p->obj = 0;
-                 p->x = yyvsp[0].x;
-                 p->y = 0.0;
-                 a_delete yyvsp[-3].str;
-               }
-break;
-case 12:
-#line 320 "pic.y"
-{ current_direction = UP_DIRECTION; }
-break;
-case 13:
-#line 322 "pic.y"
-{ current_direction = DOWN_DIRECTION; }
-break;
-case 14:
-#line 324 "pic.y"
-{ current_direction = LEFT_DIRECTION; }
-break;
-case 15:
-#line 326 "pic.y"
-{ current_direction = RIGHT_DIRECTION; }
-break;
-case 16:
-#line 328 "pic.y"
-{
-                 olist.append(make_command_object(yyvsp[0].lstr.str, yyvsp[0].lstr.filename,
-                                                  yyvsp[0].lstr.lineno));
-               }
-break;
-case 17:
-#line 333 "pic.y"
-{
-                 olist.append(make_command_object(yyvsp[0].lstr.str, yyvsp[0].lstr.filename,
-                                                  yyvsp[0].lstr.lineno));
-               }
-break;
-case 18:
-#line 338 "pic.y"
-{
-                 fprintf(stderr, "%s\n", yyvsp[0].lstr.str);
-                 a_delete yyvsp[0].lstr.str;
-                 fflush(stderr);
-               }
-break;
-case 19:
-#line 344 "pic.y"
-{ delim_flag = 1; }
-break;
-case 20:
-#line 346 "pic.y"
-{
-                 delim_flag = 0;
-                 if (safer_flag)
-                   lex_error("unsafe to run command `%1'", yyvsp[0].str);
-                 else
-                   system(yyvsp[0].str);
-                 a_delete yyvsp[0].str;
-               }
-break;
-case 21:
-#line 355 "pic.y"
-{
-                 if (yychar < 0)
-                   do_lookahead();
-                 do_copy(yyvsp[0].lstr.str);
-                 /* do not delete the filename*/
-               }
-break;
-case 22:
-#line 362 "pic.y"
-{ delim_flag = 2; }
-break;
-case 23:
-#line 364 "pic.y"
-{ delim_flag = 0; }
-break;
-case 24:
-#line 366 "pic.y"
-{
-                 if (yychar < 0)
-                   do_lookahead();
-                 copy_file_thru(yyvsp[-5].lstr.str, yyvsp[-2].str, yyvsp[0].str);
-                 /* do not delete the filename*/
-                 a_delete yyvsp[-2].str;
-                 a_delete yyvsp[0].str;
-               }
-break;
-case 25:
-#line 375 "pic.y"
-{ delim_flag = 2; }
-break;
-case 26:
-#line 377 "pic.y"
-{ delim_flag = 0; }
-break;
-case 27:
-#line 379 "pic.y"
-{
-                 if (yychar < 0)
-                   do_lookahead();
-                 copy_rest_thru(yyvsp[-2].str, yyvsp[0].str);
-                 a_delete yyvsp[-2].str;
-                 a_delete yyvsp[0].str;
-               }
-break;
-case 28:
-#line 387 "pic.y"
-{ delim_flag = 1; }
-break;
-case 29:
-#line 389 "pic.y"
-{
-                 delim_flag = 0;
-                 if (yychar < 0)
-                   do_lookahead();
-                 do_for(yyvsp[-8].str, yyvsp[-6].x, yyvsp[-4].x, yyvsp[-3].by.is_multiplicative, yyvsp[-3].by.val, yyvsp[0].str); 
-               }
-break;
-case 30:
-#line 396 "pic.y"
-{
-                 if (yychar < 0)
-                   do_lookahead();
-                 if (yyvsp[0].if_data.x != 0.0)
-                   push_body(yyvsp[0].if_data.body);
-                 a_delete yyvsp[0].if_data.body;
-               }
-break;
-case 31:
-#line 404 "pic.y"
-{ delim_flag = 1; }
-break;
-case 32:
-#line 406 "pic.y"
-{
-                 delim_flag = 0;
-                 if (yychar < 0)
-                   do_lookahead();
-                 if (yyvsp[-3].if_data.x != 0.0)
-                   push_body(yyvsp[-3].if_data.body);
-                 else
-                   push_body(yyvsp[0].str);
-                 a_delete yyvsp[-3].if_data.body;
-                 a_delete yyvsp[0].str;
-               }
-break;
-case 34:
-#line 419 "pic.y"
-{ define_variable("scale", 1.0); }
-break;
-case 35:
-#line 424 "pic.y"
-{ reset(yyvsp[0].str); a_delete yyvsp[0].str; }
-break;
-case 36:
-#line 426 "pic.y"
-{ reset(yyvsp[0].str); a_delete yyvsp[0].str; }
-break;
-case 37:
-#line 428 "pic.y"
-{ reset(yyvsp[0].str); a_delete yyvsp[0].str; }
-break;
-case 38:
-#line 433 "pic.y"
-{ yyval.lstr = yyvsp[0].lstr; }
-break;
-case 39:
-#line 435 "pic.y"
-{
-                 yyval.lstr.str = new char[strlen(yyvsp[-1].lstr.str) + strlen(yyvsp[0].lstr.str) + 1];
-                 strcpy(yyval.lstr.str, yyvsp[-1].lstr.str);
-                 strcat(yyval.lstr.str, yyvsp[0].lstr.str);
-                 a_delete yyvsp[-1].lstr.str;
-                 a_delete yyvsp[0].lstr.str;
-                 if (yyvsp[-1].lstr.filename) {
-                   yyval.lstr.filename = yyvsp[-1].lstr.filename;
-                   yyval.lstr.lineno = yyvsp[-1].lstr.lineno;
-                 }
-                 else if (yyvsp[0].lstr.filename) {
-                   yyval.lstr.filename = yyvsp[0].lstr.filename;
-                   yyval.lstr.lineno = yyvsp[0].lstr.lineno;
-                 }
-               }
-break;
-case 40:
-#line 454 "pic.y"
-{
-                 yyval.lstr.str = new char[GDIGITS + 1];
-                 sprintf(yyval.lstr.str, "%g", yyvsp[0].x);
-                 yyval.lstr.filename = 0;
-                 yyval.lstr.lineno = 0;
-               }
-break;
-case 41:
-#line 461 "pic.y"
-{ yyval.lstr = yyvsp[0].lstr; }
-break;
-case 42:
-#line 463 "pic.y"
-{
-                 yyval.lstr.str = new char[GDIGITS + 2 + GDIGITS + 1];
-                 sprintf(yyval.lstr.str, "%g, %g", yyvsp[0].pair.x, yyvsp[0].pair.y);
-                 yyval.lstr.filename = 0;
-                 yyval.lstr.lineno = 0;
-               }
-break;
-case 43:
-#line 472 "pic.y"
-{ delim_flag = 1; }
-break;
-case 44:
-#line 474 "pic.y"
-{ delim_flag = 0; yyval.if_data.x = yyvsp[-3].x; yyval.if_data.body = yyvsp[0].str; }
-break;
-case 45:
-#line 479 "pic.y"
-{ yyval.str = 0; }
-break;
-case 46:
-#line 481 "pic.y"
-{ yyval.str = yyvsp[0].lstr.str; }
-break;
-case 47:
-#line 486 "pic.y"
-{ yyval.x = yyvsp[0].x; }
-break;
-case 48:
-#line 488 "pic.y"
-{ yyval.x = yyvsp[0].x; }
-break;
-case 49:
-#line 493 "pic.y"
-{
-                 yyval.x = strcmp(yyvsp[-2].lstr.str, yyvsp[0].lstr.str) == 0;
-                 a_delete yyvsp[-2].lstr.str;
-                 a_delete yyvsp[0].lstr.str;
-               }
-break;
-case 50:
-#line 499 "pic.y"
-{
-                 yyval.x = strcmp(yyvsp[-2].lstr.str, yyvsp[0].lstr.str) != 0;
-                 a_delete yyvsp[-2].lstr.str;
-                 a_delete yyvsp[0].lstr.str;
-               }
-break;
-case 51:
-#line 505 "pic.y"
-{ yyval.x = (yyvsp[-2].x != 0.0 && yyvsp[0].x != 0.0); }
-break;
-case 52:
-#line 507 "pic.y"
-{ yyval.x = (yyvsp[-2].x != 0.0 && yyvsp[0].x != 0.0); }
-break;
-case 53:
-#line 509 "pic.y"
-{ yyval.x = (yyvsp[-2].x != 0.0 && yyvsp[0].x != 0.0); }
-break;
-case 54:
-#line 511 "pic.y"
-{ yyval.x = (yyvsp[-2].x != 0.0 || yyvsp[0].x != 0.0); }
-break;
-case 55:
-#line 513 "pic.y"
-{ yyval.x = (yyvsp[-2].x != 0.0 || yyvsp[0].x != 0.0); }
-break;
-case 56:
-#line 515 "pic.y"
-{ yyval.x = (yyvsp[-2].x != 0.0 || yyvsp[0].x != 0.0); }
-break;
-case 57:
-#line 517 "pic.y"
-{ yyval.x = (yyvsp[0].x == 0.0); }
-break;
-case 58:
-#line 523 "pic.y"
-{ yyval.by.val = 1.0; yyval.by.is_multiplicative = 0; }
-break;
-case 59:
-#line 525 "pic.y"
-{ yyval.by.val = yyvsp[0].x; yyval.by.is_multiplicative = 0; }
-break;
-case 60:
-#line 527 "pic.y"
-{ yyval.by.val = yyvsp[0].x; yyval.by.is_multiplicative = 1; }
-break;
-case 61:
-#line 532 "pic.y"
-{
-                 yyval.pl.obj = yyvsp[0].spec->make_object(&current_position,
-                                          &current_direction);
-                 if (yyval.pl.obj == 0)
-                   YYABORT;
-                 delete yyvsp[0].spec;
-                 if (yyval.pl.obj)
-                   olist.append(yyval.pl.obj);
-                 else {
-                   yyval.pl.x = current_position.x;
-                   yyval.pl.y = current_position.y;
-                 }
-               }
-break;
-case 62:
-#line 546 "pic.y"
-{ yyval.pl = yyvsp[0].pl; define_label(yyvsp[-3].str, & yyval.pl); a_delete yyvsp[-3].str; }
-break;
-case 63:
-#line 548 "pic.y"
-{
-                 yyval.pl.obj = 0;
-                 yyval.pl.x = yyvsp[0].pair.x;
-                 yyval.pl.y = yyvsp[0].pair.y;
-                 define_label(yyvsp[-3].str, & yyval.pl);
-                 a_delete yyvsp[-3].str;
-               }
-break;
-case 64:
-#line 556 "pic.y"
-{
-                 yyval.pl = yyvsp[0].pl;
-                 define_label(yyvsp[-3].str, & yyval.pl);
-                 a_delete yyvsp[-3].str;
-               }
-break;
-case 65:
-#line 562 "pic.y"
-{
-                 yyval.state.x = current_position.x;
-                 yyval.state.y = current_position.y;
-                 yyval.state.dir = current_direction;
-               }
-break;
-case 66:
-#line 568 "pic.y"
-{
-                 current_position.x = yyvsp[-2].state.x;
-                 current_position.y = yyvsp[-2].state.y;
-                 current_direction = yyvsp[-2].state.dir;
-               }
-break;
-case 67:
-#line 574 "pic.y"
-{
-                 yyval.pl = yyvsp[-3].pl;
-               }
-break;
-case 68:
-#line 578 "pic.y"
-{
-                 yyval.pl.obj = 0;
-                 yyval.pl.x = current_position.x;
-                 yyval.pl.y = current_position.y;
-               }
-break;
-case 69:
-#line 587 "pic.y"
-{}
-break;
-case 70:
-#line 589 "pic.y"
-{}
-break;
-case 71:
-#line 594 "pic.y"
-{
-                 yyval.spec = new object_spec(BOX_OBJECT);
-               }
-break;
-case 72:
-#line 598 "pic.y"
-{
-                 yyval.spec = new object_spec(CIRCLE_OBJECT);
-               }
-break;
-case 73:
-#line 602 "pic.y"
-{
-                 yyval.spec = new object_spec(ELLIPSE_OBJECT);
-               }
-break;
-case 74:
-#line 606 "pic.y"
-{
-                 yyval.spec = new object_spec(ARC_OBJECT);
-                 yyval.spec->dir = current_direction;
-               }
-break;
-case 75:
-#line 611 "pic.y"
-{
-                 yyval.spec = new object_spec(LINE_OBJECT);
-                 lookup_variable("lineht", & yyval.spec->segment_height);
-                 lookup_variable("linewid", & yyval.spec->segment_width);
-                 yyval.spec->dir = current_direction;
-               }
-break;
-case 76:
-#line 618 "pic.y"
-{
-                 yyval.spec = new object_spec(ARROW_OBJECT);
-                 lookup_variable("lineht", & yyval.spec->segment_height);
-                 lookup_variable("linewid", & yyval.spec->segment_width);
-                 yyval.spec->dir = current_direction;
-               }
-break;
-case 77:
-#line 625 "pic.y"
-{
-                 yyval.spec = new object_spec(MOVE_OBJECT);
-                 lookup_variable("moveht", & yyval.spec->segment_height);
-                 lookup_variable("movewid", & yyval.spec->segment_width);
-                 yyval.spec->dir = current_direction;
-               }
-break;
-case 78:
-#line 632 "pic.y"
-{
-                 yyval.spec = new object_spec(SPLINE_OBJECT);
-                 lookup_variable("lineht", & yyval.spec->segment_height);
-                 lookup_variable("linewid", & yyval.spec->segment_width);
-                 yyval.spec->dir = current_direction;
-               }
-break;
-case 79:
-#line 639 "pic.y"
-{
-                 yyval.spec = new object_spec(TEXT_OBJECT);
-                 yyval.spec->text = new text_item(yyvsp[0].lstr.str, yyvsp[0].lstr.filename, yyvsp[0].lstr.lineno);
-               }
-break;
-case 80:
-#line 644 "pic.y"
-{
-                 yyval.spec = new object_spec(TEXT_OBJECT);
-                 yyval.spec->text = new text_item(format_number(0, yyvsp[0].x), 0, -1);
-               }
-break;
-case 81:
-#line 649 "pic.y"
-{
-                 yyval.spec = new object_spec(TEXT_OBJECT);
-                 yyval.spec->text = new text_item(format_number(yyvsp[0].lstr.str, yyvsp[-1].x),
-                                          yyvsp[0].lstr.filename, yyvsp[0].lstr.lineno);
-                 a_delete yyvsp[0].lstr.str;
-               }
-break;
-case 82:
-#line 656 "pic.y"
-{
-                 saved_state *p = new saved_state;
-                 yyval.pstate = p;
-                 p->x = current_position.x;
-                 p->y = current_position.y;
-                 p->dir = current_direction;
-                 p->tbl = current_table;
-                 p->prev = current_saved_state;
-                 current_position.x = 0.0;
-                 current_position.y = 0.0;
-                 current_table = new PTABLE(place);
-                 current_saved_state = p;
-                 olist.append(make_mark_object());
-               }
-break;
-case 83:
-#line 671 "pic.y"
-{
-                 current_position.x = yyvsp[-2].pstate->x;
-                 current_position.y = yyvsp[-2].pstate->y;
-                 current_direction = yyvsp[-2].pstate->dir;
-                 yyval.spec = new object_spec(BLOCK_OBJECT);
-                 olist.wrap_up_block(& yyval.spec->oblist);
-                 yyval.spec->tbl = current_table;
-                 current_table = yyvsp[-2].pstate->tbl;
-                 current_saved_state = yyvsp[-2].pstate->prev;
-                 delete yyvsp[-2].pstate;
-               }
-break;
-case 84:
-#line 683 "pic.y"
-{
-                 yyval.spec = yyvsp[-2].spec;
-                 yyval.spec->height = yyvsp[0].x;
-                 yyval.spec->flags |= HAS_HEIGHT;
-               }
-break;
-case 85:
-#line 689 "pic.y"
-{
-                 yyval.spec = yyvsp[-2].spec;
-                 yyval.spec->radius = yyvsp[0].x;
-                 yyval.spec->flags |= HAS_RADIUS;
-               }
-break;
-case 86:
-#line 695 "pic.y"
-{
-                 yyval.spec = yyvsp[-2].spec;
-                 yyval.spec->width = yyvsp[0].x;
-                 yyval.spec->flags |= HAS_WIDTH;
-               }
-break;
-case 87:
-#line 701 "pic.y"
-{
-                 yyval.spec = yyvsp[-2].spec;
-                 yyval.spec->radius = yyvsp[0].x/2.0;
-                 yyval.spec->flags |= HAS_RADIUS;
-               }
-break;
-case 88:
-#line 707 "pic.y"
-{
-                 yyval.spec = yyvsp[-1].spec;
-                 yyval.spec->flags |= HAS_SEGMENT;
-                 switch (yyval.spec->dir) {
-                 case UP_DIRECTION:
-                   yyval.spec->segment_pos.y += yyvsp[0].x;
-                   break;
-                 case DOWN_DIRECTION:
-                   yyval.spec->segment_pos.y -= yyvsp[0].x;
-                   break;
-                 case RIGHT_DIRECTION:
-                   yyval.spec->segment_pos.x += yyvsp[0].x;
-                   break;
-                 case LEFT_DIRECTION:
-                   yyval.spec->segment_pos.x -= yyvsp[0].x;
-                   break;
-                 }
-               }
-break;
-case 89:
-#line 726 "pic.y"
-{
-                 yyval.spec = yyvsp[-1].spec;
-                 yyval.spec->dir = UP_DIRECTION;
-                 yyval.spec->flags |= HAS_SEGMENT;
-                 yyval.spec->segment_pos.y += yyval.spec->segment_height;
-               }
-break;
-case 90:
-#line 733 "pic.y"
-{
-                 yyval.spec = yyvsp[-2].spec;
-                 yyval.spec->dir = UP_DIRECTION;
-                 yyval.spec->flags |= HAS_SEGMENT;
-                 yyval.spec->segment_pos.y += yyvsp[0].x;
-               }
-break;
-case 91:
-#line 740 "pic.y"
-{
-                 yyval.spec = yyvsp[-1].spec;
-                 yyval.spec->dir = DOWN_DIRECTION;
-                 yyval.spec->flags |= HAS_SEGMENT;
-                 yyval.spec->segment_pos.y -= yyval.spec->segment_height;
-               }
-break;
-case 92:
-#line 747 "pic.y"
-{
-                 yyval.spec = yyvsp[-2].spec;
-                 yyval.spec->dir = DOWN_DIRECTION;
-                 yyval.spec->flags |= HAS_SEGMENT;
-                 yyval.spec->segment_pos.y -= yyvsp[0].x;
-               }
-break;
-case 93:
-#line 754 "pic.y"
-{
-                 yyval.spec = yyvsp[-1].spec;
-                 yyval.spec->dir = RIGHT_DIRECTION;
-                 yyval.spec->flags |= HAS_SEGMENT;
-                 yyval.spec->segment_pos.x += yyval.spec->segment_width;
-               }
-break;
-case 94:
-#line 761 "pic.y"
-{
-                 yyval.spec = yyvsp[-2].spec;
-                 yyval.spec->dir = RIGHT_DIRECTION;
-                 yyval.spec->flags |= HAS_SEGMENT;
-                 yyval.spec->segment_pos.x += yyvsp[0].x;
-               }
-break;
-case 95:
-#line 768 "pic.y"
-{
-                 yyval.spec = yyvsp[-1].spec;
-                 yyval.spec->dir = LEFT_DIRECTION;
-                 yyval.spec->flags |= HAS_SEGMENT;
-                 yyval.spec->segment_pos.x -= yyval.spec->segment_width;
-               }
-break;
-case 96:
-#line 775 "pic.y"
-{
-                 yyval.spec = yyvsp[-2].spec;
-                 yyval.spec->dir = LEFT_DIRECTION;
-                 yyval.spec->flags |= HAS_SEGMENT;
-                 yyval.spec->segment_pos.x -= yyvsp[0].x;
-               }
-break;
-case 97:
-#line 782 "pic.y"
-{
-                 yyval.spec = yyvsp[-2].spec;
-                 yyval.spec->flags |= HAS_FROM;
-                 yyval.spec->from.x = yyvsp[0].pair.x;
-                 yyval.spec->from.y = yyvsp[0].pair.y;
-               }
-break;
-case 98:
-#line 789 "pic.y"
-{
-                 yyval.spec = yyvsp[-2].spec;
-                 if (yyval.spec->flags & HAS_SEGMENT)
-                   yyval.spec->segment_list = new segment(yyval.spec->segment_pos,
-                                                  yyval.spec->segment_is_absolute,
-                                                  yyval.spec->segment_list);
-                 yyval.spec->flags |= HAS_SEGMENT;
-                 yyval.spec->segment_pos.x = yyvsp[0].pair.x;
-                 yyval.spec->segment_pos.y = yyvsp[0].pair.y;
-                 yyval.spec->segment_is_absolute = 1;
-                 yyval.spec->flags |= HAS_TO;
-                 yyval.spec->to.x = yyvsp[0].pair.x;
-                 yyval.spec->to.y = yyvsp[0].pair.y;
-               }
-break;
-case 99:
-#line 804 "pic.y"
-{
-                 yyval.spec = yyvsp[-2].spec;
-                 yyval.spec->flags |= HAS_AT;
-                 yyval.spec->at.x = yyvsp[0].pair.x;
-                 yyval.spec->at.y = yyvsp[0].pair.y;
-                 if (yyval.spec->type != ARC_OBJECT) {
-                   yyval.spec->flags |= HAS_FROM;
-                   yyval.spec->from.x = yyvsp[0].pair.x;
-                   yyval.spec->from.y = yyvsp[0].pair.y;
-                 }
-               }
-break;
-case 100:
-#line 816 "pic.y"
-{
-                 yyval.spec = yyvsp[-2].spec;
-                 yyval.spec->flags |= HAS_WITH;
-                 yyval.spec->with = yyvsp[0].pth;
-               }
-break;
-case 101:
-#line 822 "pic.y"
-{
-                 yyval.spec = yyvsp[-2].spec;
-                 yyval.spec->flags |= HAS_SEGMENT;
-                 yyval.spec->segment_pos.x += yyvsp[0].pair.x;
-                 yyval.spec->segment_pos.y += yyvsp[0].pair.y;
-               }
-break;
-case 102:
-#line 829 "pic.y"
-{
-                 yyval.spec = yyvsp[-1].spec;
-                 if (yyval.spec->flags & HAS_SEGMENT) {
-                   yyval.spec->segment_list = new segment(yyval.spec->segment_pos,
-                                                  yyval.spec->segment_is_absolute,
-                                                  yyval.spec->segment_list);
-                   yyval.spec->flags &= ~HAS_SEGMENT;
-                   yyval.spec->segment_pos.x = yyval.spec->segment_pos.y = 0.0;
-                   yyval.spec->segment_is_absolute = 0;
-                 }
-               }
-break;
-case 103:
-#line 841 "pic.y"
-{
-                 yyval.spec = yyvsp[-1].spec;
-                 yyval.spec->flags |= IS_DOTTED;
-                 lookup_variable("dashwid", & yyval.spec->dash_width);
-               }
-break;
-case 104:
-#line 847 "pic.y"
-{
-                 yyval.spec = yyvsp[-2].spec;
-                 yyval.spec->flags |= IS_DOTTED;
-                 yyval.spec->dash_width = yyvsp[0].x;
-               }
-break;
-case 105:
-#line 853 "pic.y"
-{
-                 yyval.spec = yyvsp[-1].spec;
-                 yyval.spec->flags |= IS_DASHED;
-                 lookup_variable("dashwid", & yyval.spec->dash_width);
-               }
-break;
-case 106:
-#line 859 "pic.y"
-{
-                 yyval.spec = yyvsp[-2].spec;
-                 yyval.spec->flags |= IS_DASHED;
-                 yyval.spec->dash_width = yyvsp[0].x;
-               }
-break;
-case 107:
-#line 865 "pic.y"
-{
-                 yyval.spec = yyvsp[-1].spec;
-                 yyval.spec->flags |= IS_DEFAULT_FILLED;
-               }
-break;
-case 108:
-#line 870 "pic.y"
-{
-                 yyval.spec = yyvsp[-2].spec;
-                 yyval.spec->flags |= IS_FILLED;
-                 yyval.spec->fill = yyvsp[0].x;
-               }
-break;
-case 109:
-#line 876 "pic.y"
-{
-                 yyval.spec = yyvsp[-1].spec;
-                 /* line chop chop means line chop 0 chop 0*/
-                 if (yyval.spec->flags & IS_DEFAULT_CHOPPED) {
-                   yyval.spec->flags |= IS_CHOPPED;
-                   yyval.spec->flags &= ~IS_DEFAULT_CHOPPED;
-                   yyval.spec->start_chop = yyval.spec->end_chop = 0.0;
-                 }
-                 else if (yyval.spec->flags & IS_CHOPPED) {
-                   yyval.spec->end_chop = 0.0;
-                 }
-                 else {
-                   yyval.spec->flags |= IS_DEFAULT_CHOPPED;
-                 }
-               }
-break;
-case 110:
-#line 892 "pic.y"
-{
-                 yyval.spec = yyvsp[-2].spec;
-                 if (yyval.spec->flags & IS_DEFAULT_CHOPPED) {
-                   yyval.spec->flags |= IS_CHOPPED;
-                   yyval.spec->flags &= ~IS_DEFAULT_CHOPPED;
-                   yyval.spec->start_chop = 0.0;
-                   yyval.spec->end_chop = yyvsp[0].x;
-                 }
-                 else if (yyval.spec->flags & IS_CHOPPED) {
-                   yyval.spec->end_chop = yyvsp[0].x;
-                 }
-                 else {
-                   yyval.spec->start_chop = yyval.spec->end_chop = yyvsp[0].x;
-                   yyval.spec->flags |= IS_CHOPPED;
-                 }
-               }
-break;
-case 111:
-#line 909 "pic.y"
-{
-                 yyval.spec = yyvsp[-1].spec;
-                 yyval.spec->flags |= IS_SAME;
-               }
-break;
-case 112:
-#line 914 "pic.y"
-{
-                 yyval.spec = yyvsp[-1].spec;
-                 yyval.spec->flags |= IS_INVISIBLE;
-               }
-break;
-case 113:
-#line 919 "pic.y"
-{
-                 yyval.spec = yyvsp[-1].spec;
-                 yyval.spec->flags |= HAS_LEFT_ARROW_HEAD;
-               }
-break;
-case 114:
-#line 924 "pic.y"
-{
-                 yyval.spec = yyvsp[-1].spec;
-                 yyval.spec->flags |= HAS_RIGHT_ARROW_HEAD;
-               }
-break;
-case 115:
-#line 929 "pic.y"
-{
-                 yyval.spec = yyvsp[-1].spec;
-                 yyval.spec->flags |= (HAS_LEFT_ARROW_HEAD|HAS_RIGHT_ARROW_HEAD);
-               }
-break;
-case 116:
-#line 934 "pic.y"
-{
-                 yyval.spec = yyvsp[-1].spec;
-                 yyval.spec->flags |= IS_CLOCKWISE;
-               }
-break;
-case 117:
-#line 939 "pic.y"
-{
-                 yyval.spec = yyvsp[-1].spec;
-                 yyval.spec->flags &= ~IS_CLOCKWISE;
-               }
-break;
-case 118:
-#line 944 "pic.y"
-{
-                 yyval.spec = yyvsp[-1].spec;
-                 text_item **p;
-                 for (p = & yyval.spec->text; *p; p = &(*p)->next)
-                   ;
-                 *p = new text_item(yyvsp[0].lstr.str, yyvsp[0].lstr.filename, yyvsp[0].lstr.lineno);
-               }
-break;
-case 119:
-#line 952 "pic.y"
-{
-                 yyval.spec = yyvsp[-1].spec;
-                 if (yyval.spec->text) {
-                   text_item *p;
-                   for (p = yyval.spec->text; p->next; p = p->next)
-                     ;
-                   p->adj.h = LEFT_ADJUST;
-                 }
-               }
-break;
-case 120:
-#line 962 "pic.y"
-{
-                 yyval.spec = yyvsp[-1].spec;
-                 if (yyval.spec->text) {
-                   text_item *p;
-                   for (p = yyval.spec->text; p->next; p = p->next)
-                     ;
-                   p->adj.h = RIGHT_ADJUST;
-                 }
-               }
-break;
-case 121:
-#line 972 "pic.y"
-{
-                 yyval.spec = yyvsp[-1].spec;
-                 if (yyval.spec->text) {
-                   text_item *p;
-                   for (p = yyval.spec->text; p->next; p = p->next)
-                     ;
-                   p->adj.v = ABOVE_ADJUST;
-                 }
-               }
-break;
-case 122:
-#line 982 "pic.y"
-{
-                 yyval.spec = yyvsp[-1].spec;
-                 if (yyval.spec->text) {
-                   text_item *p;
-                   for (p = yyval.spec->text; p->next; p = p->next)
-                     ;
-                   p->adj.v = BELOW_ADJUST;
-                 }
-               }
-break;
-case 123:
-#line 992 "pic.y"
-{
-                 yyval.spec = yyvsp[-2].spec;
-                 yyval.spec->flags |= HAS_THICKNESS;
-                 yyval.spec->thickness = yyvsp[0].x;
-               }
-break;
-case 124:
-#line 998 "pic.y"
-{
-                 yyval.spec = yyvsp[-1].spec;
-                 yyval.spec->flags |= IS_ALIGNED;
-               }
-break;
-case 125:
-#line 1006 "pic.y"
-{
-                 yyval.lstr = yyvsp[0].lstr;
-               }
-break;
-case 126:
-#line 1010 "pic.y"
-{
-                 yyval.lstr.filename = yyvsp[-2].lstr.filename;
-                 yyval.lstr.lineno = yyvsp[-2].lstr.lineno;
-                 yyval.lstr.str = do_sprintf(yyvsp[-2].lstr.str, yyvsp[-1].dv.v, yyvsp[-1].dv.nv);
-                 a_delete yyvsp[-1].dv.v;
-                 a_delete yyvsp[-2].lstr.str;
-               }
-break;
-case 127:
-#line 1021 "pic.y"
-{
-                 yyval.dv.v = 0;
-                 yyval.dv.nv = 0;
-                 yyval.dv.maxv = 0;
-               }
-break;
-case 128:
-#line 1027 "pic.y"
-{
-                 yyval.dv = yyvsp[-2].dv;
-                 if (yyval.dv.nv >= yyval.dv.maxv) {
-                   if (yyval.dv.nv == 0) {
-                     yyval.dv.v = new double[4];
-                     yyval.dv.maxv = 4;
-                   }
-                   else {
-                     double *oldv = yyval.dv.v;
-                     yyval.dv.maxv *= 2;
-                     yyval.dv.v = new double[yyval.dv.maxv];
-                     memcpy(yyval.dv.v, oldv, yyval.dv.nv*sizeof(double));
-                     a_delete oldv;
-                   }
-                 }
-                 yyval.dv.v[yyval.dv.nv] = yyvsp[0].x;
-                 yyval.dv.nv += 1;
-               }
-break;
-case 129:
-#line 1049 "pic.y"
-{ yyval.pair = yyvsp[0].pair; }
-break;
-case 130:
-#line 1051 "pic.y"
-{
-                 position pos = yyvsp[0].pl;
-                 yyval.pair.x = pos.x;
-                 yyval.pair.y = pos.y;
-               }
-break;
-case 131:
-#line 1060 "pic.y"
-{ yyval.pair = yyvsp[0].pair; }
-break;
-case 132:
-#line 1062 "pic.y"
-{
-                 yyval.pair.x = yyvsp[-2].pair.x + yyvsp[0].pair.x;
-                 yyval.pair.y = yyvsp[-2].pair.y + yyvsp[0].pair.y;
-               }
-break;
-case 133:
-#line 1067 "pic.y"
-{
-                 yyval.pair.x = yyvsp[-2].pair.x - yyvsp[0].pair.x;
-                 yyval.pair.y = yyvsp[-2].pair.y - yyvsp[0].pair.y;
-               }
-break;
-case 134:
-#line 1072 "pic.y"
-{
-                 yyval.pair.x = yyvsp[-3].pair.x;
-                 yyval.pair.y = yyvsp[-1].pair.y;
-               }
-break;
-case 135:
-#line 1077 "pic.y"
-{
-                 yyval.pair.x = (1.0 - yyvsp[-4].x)*yyvsp[-2].pair.x + yyvsp[-4].x*yyvsp[0].pair.x;
-                 yyval.pair.y = (1.0 - yyvsp[-4].x)*yyvsp[-2].pair.y + yyvsp[-4].x*yyvsp[0].pair.y;
-               }
-break;
-case 136:
-#line 1082 "pic.y"
-{
-                 yyval.pair.x = (1.0 - yyvsp[-5].x)*yyvsp[-3].pair.x + yyvsp[-5].x*yyvsp[-1].pair.x;
-                 yyval.pair.y = (1.0 - yyvsp[-5].x)*yyvsp[-3].pair.y + yyvsp[-5].x*yyvsp[-1].pair.y;
-               }
-break;
-case 139:
-#line 1095 "pic.y"
-{ yyval.pair.x = yyvsp[-2].x; yyval.pair.y = yyvsp[0].x; }
-break;
-case 140:
-#line 1097 "pic.y"
-{ yyval.pair = yyvsp[-1].pair; }
-break;
-case 141:
-#line 1102 "pic.y"
-{ yyval.pl = yyvsp[0].pl; }
-break;
-case 142:
-#line 1104 "pic.y"
-{
-                 path pth(yyvsp[0].crn);
-                 if (!pth.follow(yyvsp[-1].pl, & yyval.pl))
-                   YYABORT;
-               }
-break;
-case 143:
-#line 1110 "pic.y"
-{
-                 path pth(yyvsp[-1].crn);
-                 if (!pth.follow(yyvsp[0].pl, & yyval.pl))
-                   YYABORT;
-               }
-break;
-case 144:
-#line 1116 "pic.y"
-{
-                 path pth(yyvsp[-2].crn);
-                 if (!pth.follow(yyvsp[0].pl, & yyval.pl))
-                   YYABORT;
-               }
-break;
-case 145:
-#line 1122 "pic.y"
-{
-                 yyval.pl.x = current_position.x;
-                 yyval.pl.y = current_position.y;
-                 yyval.pl.obj = 0;
-               }
-break;
-case 146:
-#line 1131 "pic.y"
-{
-                 place *p = lookup_label(yyvsp[0].str);
-                 if (!p) {
-                   lex_error("there is no place `%1'", yyvsp[0].str);
-                   YYABORT;
-                 }
-                 yyval.pl = *p;
-                 a_delete yyvsp[0].str;
-               }
-break;
-case 147:
-#line 1141 "pic.y"
-{
-                 yyval.pl.obj = yyvsp[0].obj;
-               }
-break;
-case 148:
-#line 1145 "pic.y"
-{
-                 path pth(yyvsp[0].str);
-                 if (!pth.follow(yyvsp[-2].pl, & yyval.pl))
-                   YYABORT;
-               }
-break;
-case 149:
-#line 1154 "pic.y"
-{ yyval.n = yyvsp[0].n; }
-break;
-case 150:
-#line 1156 "pic.y"
-{
-                 /* XXX Check for overflow (and non-integers?).*/
-                 yyval.n = (int)yyvsp[-1].x;
-               }
-break;
-case 151:
-#line 1164 "pic.y"
-{ yyval.n = 1; }
-break;
-case 152:
-#line 1166 "pic.y"
-{ yyval.n = yyvsp[-1].n; }
-break;
-case 153:
-#line 1171 "pic.y"
-{
-                 int count = 0;
-                 object *p;
-                 for (p = olist.head; p != 0; p = p->next)
-                   if (p->type() == yyvsp[0].obtype && ++count == yyvsp[-1].n) {
-                     yyval.obj = p;
-                     break;
-                   }
-                 if (p == 0) {
-                   lex_error("there is no %1%2 %3", yyvsp[-1].n, ordinal_postfix(yyvsp[-1].n),
-                             object_type_name(yyvsp[0].obtype));
-                   YYABORT;
-                 }
-               }
-break;
-case 154:
-#line 1186 "pic.y"
-{
-                 int count = 0;
-                 object *p;
-                 for (p = olist.tail; p != 0; p = p->prev)
-                   if (p->type() == yyvsp[0].obtype && ++count == yyvsp[-1].n) {
-                     yyval.obj = p;
-                     break;
-                   }
-                 if (p == 0) {
-                   lex_error("there is no %1%2 last %3", yyvsp[-1].n,
-                             ordinal_postfix(yyvsp[-1].n), object_type_name(yyvsp[0].obtype));
-                   YYABORT;
-                 }
-               }
-break;
-case 155:
-#line 1204 "pic.y"
-{ yyval.obtype = BOX_OBJECT; }
-break;
-case 156:
-#line 1206 "pic.y"
-{ yyval.obtype = CIRCLE_OBJECT; }
-break;
-case 157:
-#line 1208 "pic.y"
-{ yyval.obtype = ELLIPSE_OBJECT; }
-break;
-case 158:
-#line 1210 "pic.y"
-{ yyval.obtype = ARC_OBJECT; }
-break;
-case 159:
-#line 1212 "pic.y"
-{ yyval.obtype = LINE_OBJECT; }
-break;
-case 160:
-#line 1214 "pic.y"
-{ yyval.obtype = ARROW_OBJECT; }
-break;
-case 161:
-#line 1216 "pic.y"
-{ yyval.obtype = SPLINE_OBJECT; }
-break;
-case 162:
-#line 1218 "pic.y"
-{ yyval.obtype = BLOCK_OBJECT; }
-break;
-case 163:
-#line 1220 "pic.y"
-{ yyval.obtype = TEXT_OBJECT; }
-break;
-case 164:
-#line 1225 "pic.y"
-{
-                 yyval.pth = new path(yyvsp[0].str);
-               }
-break;
-case 165:
-#line 1229 "pic.y"
-{
-                 yyval.pth = yyvsp[-2].pth;
-                 yyval.pth->append(yyvsp[0].str);
-               }
-break;
-case 166:
-#line 1237 "pic.y"
-{
-                 yyval.pth = new path(yyvsp[0].crn);
-               }
-break;
-case 167:
-#line 1244 "pic.y"
-{
-                 yyval.pth = yyvsp[0].pth;
-               }
-break;
-case 168:
-#line 1248 "pic.y"
-{
-                 yyval.pth = yyvsp[-1].pth;
-                 yyval.pth->append(yyvsp[0].crn);
-               }
-break;
-case 169:
-#line 1256 "pic.y"
-{
-                 yyval.pth = yyvsp[0].pth;
-               }
-break;
-case 170:
-#line 1260 "pic.y"
-{
-                 yyval.pth = yyvsp[-3].pth;
-                 yyval.pth->set_ypath(yyvsp[-1].pth);
-               }
-break;
-case 171:
-#line 1266 "pic.y"
-{
-                 lex_warning("`%1%2 last %3' in `with' argument ignored",
-                             yyvsp[-3].n, ordinal_postfix(yyvsp[-3].n), object_type_name(yyvsp[-1].obtype));
-                 yyval.pth = yyvsp[0].pth;
-               }
-break;
-case 172:
-#line 1272 "pic.y"
-{
-                 lex_warning("`last %1' in `with' argument ignored",
-                             object_type_name(yyvsp[-1].obtype));
-                 yyval.pth = yyvsp[0].pth;
-               }
-break;
-case 173:
-#line 1278 "pic.y"
-{
-                 lex_warning("`%1%2 %3' in `with' argument ignored",
-                             yyvsp[-2].n, ordinal_postfix(yyvsp[-2].n), object_type_name(yyvsp[-1].obtype));
-                 yyval.pth = yyvsp[0].pth;
-               }
-break;
-case 174:
-#line 1284 "pic.y"
-{
-                 lex_warning("initial `%1' in `with' argument ignored", yyvsp[-1].str);
-                 a_delete yyvsp[-1].str;
-                 yyval.pth = yyvsp[0].pth;
-               }
-break;
-case 175:
-#line 1293 "pic.y"
-{ yyval.crn = &object::north; }
-break;
-case 176:
-#line 1295 "pic.y"
-{ yyval.crn = &object::east; }
-break;
-case 177:
-#line 1297 "pic.y"
-{ yyval.crn = &object::west; }
-break;
-case 178:
-#line 1299 "pic.y"
-{ yyval.crn = &object::south; }
-break;
-case 179:
-#line 1301 "pic.y"
-{ yyval.crn = &object::north_east; }
-break;
-case 180:
-#line 1303 "pic.y"
-{ yyval.crn = &object:: south_east; }
-break;
-case 181:
-#line 1305 "pic.y"
-{ yyval.crn = &object::north_west; }
-break;
-case 182:
-#line 1307 "pic.y"
-{ yyval.crn = &object::south_west; }
-break;
-case 183:
-#line 1309 "pic.y"
-{ yyval.crn = &object::center; }
-break;
-case 184:
-#line 1311 "pic.y"
-{ yyval.crn = &object::start; }
-break;
-case 185:
-#line 1313 "pic.y"
-{ yyval.crn = &object::end; }
-break;
-case 186:
-#line 1315 "pic.y"
-{ yyval.crn = &object::north; }
-break;
-case 187:
-#line 1317 "pic.y"
-{ yyval.crn = &object::south; }
-break;
-case 188:
-#line 1319 "pic.y"
-{ yyval.crn = &object::west; }
-break;
-case 189:
-#line 1321 "pic.y"
-{ yyval.crn = &object::east; }
-break;
-case 190:
-#line 1323 "pic.y"
-{ yyval.crn = &object::north_west; }
-break;
-case 191:
-#line 1325 "pic.y"
-{ yyval.crn = &object::south_west; }
-break;
-case 192:
-#line 1327 "pic.y"
-{ yyval.crn = &object::north_east; }
-break;
-case 193:
-#line 1329 "pic.y"
-{ yyval.crn = &object::south_east; }
-break;
-case 194:
-#line 1331 "pic.y"
-{ yyval.crn = &object::west; }
-break;
-case 195:
-#line 1333 "pic.y"
-{ yyval.crn = &object::east; }
-break;
-case 196:
-#line 1335 "pic.y"
-{ yyval.crn = &object::north_west; }
-break;
-case 197:
-#line 1337 "pic.y"
-{ yyval.crn = &object::south_west; }
-break;
-case 198:
-#line 1339 "pic.y"
-{ yyval.crn = &object::north_east; }
-break;
-case 199:
-#line 1341 "pic.y"
-{ yyval.crn = &object::south_east; }
-break;
-case 200:
-#line 1343 "pic.y"
-{ yyval.crn = &object::center; }
-break;
-case 201:
-#line 1345 "pic.y"
-{ yyval.crn = &object::start; }
-break;
-case 202:
-#line 1347 "pic.y"
-{ yyval.crn = &object::end; }
-break;
-case 203:
-#line 1352 "pic.y"
-{
-                 if (!lookup_variable(yyvsp[0].str, & yyval.x)) {
-                   lex_error("there is no variable `%1'", yyvsp[0].str);
-                   YYABORT;
-                 }
-                 a_delete yyvsp[0].str;
-               }
-break;
-case 204:
-#line 1360 "pic.y"
-{ yyval.x = yyvsp[0].x; }
-break;
-case 205:
-#line 1362 "pic.y"
-{
-                 if (yyvsp[-1].pl.obj != 0)
-                   yyval.x = yyvsp[-1].pl.obj->origin().x;
-                 else
-                   yyval.x = yyvsp[-1].pl.x;
-               }
-break;
-case 206:
-#line 1369 "pic.y"
-{
-                 if (yyvsp[-1].pl.obj != 0)
-                   yyval.x = yyvsp[-1].pl.obj->origin().y;
-                 else
-                   yyval.x = yyvsp[-1].pl.y;
-               }
-break;
-case 207:
-#line 1376 "pic.y"
-{
-                 if (yyvsp[-1].pl.obj != 0)
-                   yyval.x = yyvsp[-1].pl.obj->height();
-                 else
-                   yyval.x = 0.0;
-               }
-break;
-case 208:
-#line 1383 "pic.y"
-{
-                 if (yyvsp[-1].pl.obj != 0)
-                   yyval.x = yyvsp[-1].pl.obj->width();
-                 else
-                   yyval.x = 0.0;
-               }
-break;
-case 209:
-#line 1390 "pic.y"
-{
-                 if (yyvsp[-1].pl.obj != 0)
-                   yyval.x = yyvsp[-1].pl.obj->radius();
-                 else
-                   yyval.x = 0.0;
-               }
-break;
-case 210:
-#line 1397 "pic.y"
-{ yyval.x = yyvsp[-2].x + yyvsp[0].x; }
-break;
-case 211:
-#line 1399 "pic.y"
-{ yyval.x = yyvsp[-2].x - yyvsp[0].x; }
-break;
-case 212:
-#line 1401 "pic.y"
-{ yyval.x = yyvsp[-2].x * yyvsp[0].x; }
-break;
-case 213:
-#line 1403 "pic.y"
-{
-                 if (yyvsp[0].x == 0.0) {
-                   lex_error("division by zero");
-                   YYABORT;
-                 }
-                 yyval.x = yyvsp[-2].x/yyvsp[0].x;
-               }
-break;
-case 214:
-#line 1411 "pic.y"
-{
-                 if (yyvsp[0].x == 0.0) {
-                   lex_error("modulus by zero");
-                   YYABORT;
-                 }
-                 yyval.x = fmod(yyvsp[-2].x, yyvsp[0].x);
-               }
-break;
-case 215:
-#line 1419 "pic.y"
-{
-                 errno = 0;
-                 yyval.x = pow(yyvsp[-2].x, yyvsp[0].x);
-                 if (errno == EDOM) {
-                   lex_error("arguments to `^' operator out of domain");
-                   YYABORT;
-                 }
-                 if (errno == ERANGE) {
-                   lex_error("result of `^' operator out of range");
-                   YYABORT;
-                 }
-               }
-break;
-case 216:
-#line 1432 "pic.y"
-{ yyval.x = -yyvsp[0].x; }
-break;
-case 217:
-#line 1434 "pic.y"
-{ yyval.x = yyvsp[-1].x; }
-break;
-case 218:
-#line 1436 "pic.y"
-{
-                 errno = 0;
-                 yyval.x = sin(yyvsp[-1].x);
-                 if (errno == ERANGE) {
-                   lex_error("sin result out of range");
-                   YYABORT;
-                 }
-               }
-break;
-case 219:
-#line 1445 "pic.y"
-{
-                 errno = 0;
-                 yyval.x = cos(yyvsp[-1].x);
-                 if (errno == ERANGE) {
-                   lex_error("cos result out of range");
-                   YYABORT;
-                 }
-               }
-break;
-case 220:
-#line 1454 "pic.y"
-{
-                 errno = 0;
-                 yyval.x = atan2(yyvsp[-3].x, yyvsp[-1].x);
-                 if (errno == EDOM) {
-                   lex_error("atan2 argument out of domain");
-                   YYABORT;
-                 }
-                 if (errno == ERANGE) {
-                   lex_error("atan2 result out of range");
-                   YYABORT;
-                 }
-               }
-break;
-case 221:
-#line 1467 "pic.y"
-{
-                 errno = 0;
-                 yyval.x = log10(yyvsp[-1].x);
-                 if (errno == ERANGE) {
-                   lex_error("log result out of range");
-                   YYABORT;
-                 }
-               }
-break;
-case 222:
-#line 1476 "pic.y"
-{
-                 errno = 0;
-                 yyval.x = pow(10.0, yyvsp[-1].x);
-                 if (errno == ERANGE) {
-                   lex_error("exp result out of range");
-                   YYABORT;
-                 }
-               }
-break;
-case 223:
-#line 1485 "pic.y"
-{
-                 errno = 0;
-                 yyval.x = sqrt(yyvsp[-1].x);
-                 if (errno == EDOM) {
-                   lex_error("sqrt argument out of domain");
-                   YYABORT;
-                 }
-               }
-break;
-case 224:
-#line 1494 "pic.y"
-{ yyval.x = yyvsp[-3].x > yyvsp[-1].x ? yyvsp[-3].x : yyvsp[-1].x; }
-break;
-case 225:
-#line 1496 "pic.y"
-{ yyval.x = yyvsp[-3].x < yyvsp[-1].x ? yyvsp[-3].x : yyvsp[-1].x; }
-break;
-case 226:
-#line 1498 "pic.y"
-{ yyval.x = floor(yyvsp[-1].x); }
-break;
-case 227:
-#line 1500 "pic.y"
-{ yyval.x = 1.0 + floor(((rand()&0x7fff)/double(0x7fff))*yyvsp[-1].x); }
-break;
-case 228:
-#line 1502 "pic.y"
-{
-                 /* return a random number in the range [0,1) */
-                 /* portable, but not very random */
-                 yyval.x = (rand() & 0x7fff) / double(0x8000);
-               }
-break;
-case 229:
-#line 1508 "pic.y"
-{ yyval.x = (yyvsp[-2].x < yyvsp[0].x); }
-break;
-case 230:
-#line 1510 "pic.y"
-{ yyval.x = (yyvsp[-2].x <= yyvsp[0].x); }
-break;
-case 231:
-#line 1512 "pic.y"
-{ yyval.x = (yyvsp[-2].x > yyvsp[0].x); }
-break;
-case 232:
-#line 1514 "pic.y"
-{ yyval.x = (yyvsp[-2].x >= yyvsp[0].x); }
-break;
-case 233:
-#line 1516 "pic.y"
-{ yyval.x = (yyvsp[-2].x == yyvsp[0].x); }
-break;
-case 234:
-#line 1518 "pic.y"
-{ yyval.x = (yyvsp[-2].x != yyvsp[0].x); }
-break;
-case 235:
-#line 1520 "pic.y"
-{ yyval.x = (yyvsp[-2].x != 0.0 && yyvsp[0].x != 0.0); }
-break;
-case 236:
-#line 1522 "pic.y"
-{ yyval.x = (yyvsp[-2].x != 0.0 || yyvsp[0].x != 0.0); }
-break;
-case 237:
-#line 1524 "pic.y"
-{ yyval.x = (yyvsp[0].x == 0.0); }
-break;
-#line 5174 "y.tab.c"
-    }
-    yyssp -= yym;
-    yystate = *yyssp;
-    yyvsp -= yym;
-    yym = yylhs[yyn];
-    if (yystate == 0 && yym == 0)
-    {
-#if YYDEBUG
-        if (yydebug)
-            printf("yydebug: after reduction, shifting from state 0 to\
- state %d\n", YYFINAL);
-#endif
-        yystate = YYFINAL;
-        *++yyssp = YYFINAL;
-        *++yyvsp = yyval;
-        if (yychar < 0)
-        {
-            if ((yychar = yylex()) < 0) yychar = 0;
-#if YYDEBUG
-            if (yydebug)
-            {
-                yys = 0;
-                if (yychar <= YYMAXTOKEN) yys = yyname[yychar];
-                if (!yys) yys = "illegal-symbol";
-                printf("yydebug: state %d, reading %d (%s)\n",
-                        YYFINAL, yychar, yys);
-            }
-#endif
-        }
-        if (yychar == 0) goto yyaccept;
-        goto yyloop;
-    }
-    if ((yyn = yygindex[yym]) && (yyn += yystate) >= 0 &&
-            yyn <= YYTABLESIZE && yycheck[yyn] == yystate)
-        yystate = yytable[yyn];
-    else
-        yystate = yydgoto[yym];
-#if YYDEBUG
-    if (yydebug)
-        printf("yydebug: after reduction, shifting from state %d \
-to state %d\n", *yyssp, yystate);
-#endif
-    if (yyssp >= yysse)
-    {
-        int depth = yyssp - yyss;
-        if (yygrow () != 0)
-          goto yyoverflow;
-        yysse = yyss + yystacksize - 1;
-        yyssp = yyss + depth;
-        yyvsp = yyvs + depth;
-    }
-    *++yyssp = yystate;
-    *++yyvsp = yyval;
-    goto yyloop;
-yyoverflow:
-    yyerror("yacc stack overflow");
-yyabort:
-    return (1);
-yyaccept:
-    return (0);
-}
-
-static int
-yygrow ()
-{
-    int old_stacksize = yystacksize;
-    short *new_yyss;
-    YYSTYPE *new_yyvs;
-
-    if (yystacksize >= YYMAXDEPTH)
-        return (1);
-    yystacksize *= 2;
-    if (yystacksize > YYMAXDEPTH)
-        yystacksize = YYMAXDEPTH;
-#if YYDEBUG
-    if (yydebug)
-        printf("yydebug: growing stack size from %d to %d\n",
-               old_stacksize, yystacksize);
-#endif
-    new_yyss = (short *) yyrealloc (yyss, yystacksize * sizeof (short));
-    if (new_yyss == 0)
-        return (1);
-    new_yyvs = (YYSTYPE *) yyrealloc (yyvs, yystacksize * sizeof (YYSTYPE));
-    if (new_yyvs == 0)
-    {
-        yyfree (new_yyss);
-        return (1);
-    }
-    yyss = new_yyss;
-    yyvs = new_yyvs;
-    return (0);
-}
-
-static YYPTR
-YYDEFUN (yymalloc, (bytes), unsigned bytes)
-{
-    YYPTR ptr = (YYPTR) malloc (bytes);
-    if (ptr != 0) return (ptr);
-    yyerror ("yyparse: memory exhausted");
-    return (0);
-}
-
-static YYPTR
-YYDEFUN (yyrealloc, (old, bytes), YYPTR old YYAND unsigned bytes)
-{
-    YYPTR ptr = (YYPTR) realloc (old, bytes);
-    if (ptr != 0) return (ptr);
-    yyerror ("yyparse: memory exhausted");
-    return (0);
-}