aboutsummaryrefslogtreecommitdiffstats
path: root/minilibx_beta
diff options
context:
space:
mode:
Diffstat (limited to 'minilibx_beta')
-rw-r--r--minilibx_beta/Makefile34
-rw-r--r--minilibx_beta/font.c3526
-rw-r--r--minilibx_beta/interface.swift292
-rw-r--r--minilibx_beta/man/man3/mlx.3110
-rw-r--r--minilibx_beta/man/man3/mlx_loop.3144
-rw-r--r--minilibx_beta/man/man3/mlx_new_image.3206
-rw-r--r--minilibx_beta/man/man3/mlx_new_window.379
-rw-r--r--minilibx_beta/man/man3/mlx_pixel_put.385
-rw-r--r--minilibx_beta/mlx.h157
-rw-r--r--minilibx_beta/mlx_image.swift48
-rw-r--r--minilibx_beta/mlx_image.swiftdocbin532 -> 0 bytes
-rw-r--r--minilibx_beta/mlx_image.swiftmodulebin32172 -> 0 bytes
-rw-r--r--minilibx_beta/mlx_init.swift100
-rw-r--r--minilibx_beta/mlx_init.swiftdocbin376 -> 0 bytes
-rw-r--r--minilibx_beta/mlx_init.swiftmodulebin20128 -> 0 bytes
-rw-r--r--minilibx_beta/mlx_png.c431
-rw-r--r--minilibx_beta/mlx_rgb.c763
-rw-r--r--minilibx_beta/mlx_string_put.c72
-rw-r--r--minilibx_beta/mlx_window.swift541
-rw-r--r--minilibx_beta/mlx_window.swiftdocbin508 -> 0 bytes
-rw-r--r--minilibx_beta/mlx_window.swiftmodulebin55576 -> 0 bytes
-rw-r--r--minilibx_beta/mlx_xpm.c384
22 files changed, 0 insertions, 6972 deletions
diff --git a/minilibx_beta/Makefile b/minilibx_beta/Makefile
deleted file mode 100644
index 39c36f4..0000000
--- a/minilibx_beta/Makefile
+++ /dev/null
@@ -1,34 +0,0 @@
-
-
-
-MODULE_SRC= mlx_image.swift mlx_window.swift mlx_init.swift
-MODULE_OBJ=$(MODULE_SRC:.swift=.swiftmodule)
-
-SRC= interface.swift $(MODULE_SRC)
-OBJ=$(SRC:.swift=.o)
-
-C_SRC= mlx_xpm.c mlx_png.c mlx_string_put.c
-C_OBJ=$(C_SRC:.c=.o)
-CFLAGS=-O3
-
-NAME=libmlx.dylib
-
-INC=-I.
-#OPTI=-Ounchecked
-
-all: $(NAME)
-
-$(NAME): $(MODULE_OBJ) $(OBJ) $(C_OBJ)
- swiftc $(OPTI) $(INC) -o $(NAME) -emit-library $(OBJ) $(C_OBJ) -lz
-
-
-
-%.o: %.swift
- swiftc $(OPTI) $(INC) -parse-as-library -c $< -o $@
-
-%.swiftmodule: %.swift
- swiftc $(OPTI) $(INC) -parse-as-library -c $< -o $@ -emit-module -module-name $(patsubst %.swift,%,$<) -module-link-name $(patsubst %.swift,%,$<)
-
-clean:
- rm -f $(NAME) $(OBJ) $(MODULE_OBJ) $(C_OBJ) *.swiftdoc *~
-
diff --git a/minilibx_beta/font.c b/minilibx_beta/font.c
deleted file mode 100644
index d4c48cc..0000000
--- a/minilibx_beta/font.c
+++ /dev/null
@@ -1,3526 +0,0 @@
-/* GIMP RGBA C-Source image dump (font.c) */
-
-static const struct {
- unsigned int width;
- unsigned int height;
- unsigned int bytes_per_pixel; /* 2:RGB16, 3:RGB, 4:RGBA */
- unsigned char pixel_data[1140 * 20 * 4 + 1];
-} font_atlas = {
- 1140, 20, 4,
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\377\377\377\377\377\377\377\377\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377\377\377\377"
- "\377\377\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\377\377\377\377\377\377\377\377\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377\377"
- "\377\377\377\377\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377\377\377\377\377\377\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\377\377"
- "\377\377\377\377\377\377\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377\377\377\377\377\377\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\377\377\377\377\377\377\377\377\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377\377\377\377\377\377"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\377\377\377\377\377\377\377\377\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377\377\377\377"
- "\377\377\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\377\377\377\377\377\377\377\377\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377\377"
- "\377\377\377\377\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377\377\377\377\377\377\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\377\377"
- "\377\377\377\377\377\377\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377\377\377\377\377\377\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\377\377\377\377\377\377\377\377\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377\377\377\377\377\377"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\377\377\377\377\377\377\377\377\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377\377\377\377"
- "\377\377\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\377\377\377\377\377\377\377\377\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377\377"
- "\377\377\377\377\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377\377\377\377\377\377\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\377\377"
- "\377\377\377\377\377\377\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377\377\377\377\377\377\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\377\377\377\377\377\377\377\377\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377\377\377\377\377\377"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\377\377\377\377\377\377\377\377\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377\377\377\377"
- "\377\377\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\377\377\377\377\377\377\377\377\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377\377"
- "\377\377\377\377\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377\377\377\377\377\377\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\377\377"
- "\377\377\377\377\377\377\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377\377\377\377\377\377\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\377\377\377\377\377\377\377\377\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377\377\377\377\377\377"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\377\377\377\377\377\377\377\377\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377\377\377\377"
- "\377\377\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\377\377\377\377\377\377\377\377\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377\377"
- "\377\377\377\377\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377\377\377\377\377\377\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\377\377"
- "\377\377\377\377\377\377\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377\377\377\377\377\377\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\377\377\377\377\377\377\377\377\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377\377\377\377\377\377"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\377\377\377\377\377\377\377\377\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377\377\377\377"
- "\377\377\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\377\377\377\377\377\377\377\377\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377\377"
- "\377\377\377\377\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377\377\377\377\377\377\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\377\377"
- "\377\377\377\377\377\377\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377\377\377\377\377\377\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\377\377\377\377\377\377\377\377\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377\377\377\377\377\377"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\377\377\377\377\377\377\377\377\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377\377\377\377"
- "\377\377\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\377\377\377\377\377\377\377\377\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377\377"
- "\377\377\377\377\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377\377\377\377\377\377\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\377\377"
- "\377\377\377\377\377\377\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377\377\377\377\377\377\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\377\377\377\377\377\377\377\377\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377\377\377\377\377\377"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\377\377\377\377\377\377\377\377\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377\377\377\377"
- "\377\377\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\377\377\377\377\377\377\377\377\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377\377"
- "\377\377\377\377\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377\377\377\377\377\377\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\377\377"
- "\377\377\377\377\377\377\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377\377\377\377\377\377\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\377\377\377\377\377\377\377\377\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377\377\377\377\377\377"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\377\377\377\377\377\377\377\377\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377\377\377\377"
- "\377\377\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\377\377\377\377\377\377\377\377\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377\377"
- "\377\377\377\377\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377\377\377\377\377\377\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\377\377"
- "\377\377\377\377\377\377\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377\377\377\377\377\377\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\377\377\377\377\377\377\377\377\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377\377\377\377\377\377"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\377\377\377\377\377\377\377\377\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377\377\377\377"
- "\377\377\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\377\377\377\377\377\377\377\377\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377\377"
- "\377\377\377\377\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377\377\377\377\377\377\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\377\377"
- "\377\377\377\377\377\377\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377\377\377\377\377\377\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\377\377\377\377\377\377\377\377\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377\377\377\377\377\377"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\377\377\377\377\377\377\377\377\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377\377\377\377"
- "\377\377\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\377\377\377\377\377\377\377\377\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377\377"
- "\377\377\377\377\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377\377\377\377\377\377\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\377\377"
- "\377\377\377\377\377\377\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377\377\377\377\377\377\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\377\377\377\377\377\377\377\377\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377\377\377\377\377\377"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\377\377\377\377\377\377\377\377\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377\377\377\377"
- "\377\377\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\377\377\377\377\377\377\377\377\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377\377"
- "\377\377\377\377\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377\377\377\377\377\377\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\377\377"
- "\377\377\377\377\377\377\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377\377\377\377\377\377\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\377\377\377\377\377\377\377\377\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377\377\377\377\377\377"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\377\377\377\377\377\377\377\377\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377\377\377\377"
- "\377\377\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\377\377\377\377\377\377\377\377\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377\377"
- "\377\377\377\377\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377\377\377\377\377\377\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\377\377"
- "\377\377\377\377\377\377\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377\377\377\377\377\377\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\377\377\377\377\377\377\377\377\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377\377\377\377\377\377"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\377\377\377\377\377\377\377\377\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377\377\377\377"
- "\377\377\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\377\377\377\377\377\377\377\377\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377\377"
- "\377\377\377\377\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377\377\377\377\377\377\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\377\377"
- "\377\377\377\377\377\377\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377\377\377\377\377\377\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\377\377\377\377\377\377\377\377\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377\377\377\377\377\377"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\377\377\377\377\377\377\377\377\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377\377\377\377"
- "\377\377\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\377\377\377\377\377\377\377\377\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377\377"
- "\377\377\377\377\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377\377\377\377\377\377\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\377\377"
- "\377\377\377\377\377\377\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377\377\377\377\377\377\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\377\377\377\377\377\377\377\377\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377\377\377\377\377\377"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\377\377\377\377\377\377\377\377\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377\377\377\377"
- "\377\377\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\377\377\377\377\377\377\377\377\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377\377"
- "\377\377\377\377\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377\377\377\377\377\377\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\377\377"
- "\377\377\377\377\377\377\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377\377\377\377\377\377\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\377\377\377\377\377\377\377\377\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377\377\377\377\377\377"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\377\377\377\377\377\377\377\377\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377\377\377\377"
- "\377\377\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\377\377\377\377\377\377\377\377\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377\377"
- "\377\377\377\377\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377\377\377\377\377\377\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\377\377"
- "\377\377\377\377\377\377\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377\377\377\377\377\377\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\377\377\377\377\377\377\377\377\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377\377\377\377\377\377"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\377\377\377\377\377\377\377\377\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377\377\377\377"
- "\377\377\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\377\377\377\377\377\377\377\377\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377\377"
- "\377\377\377\377\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377\377\377\377\377\377\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\377\377"
- "\377\377\377\377\377\377\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377\377\377\377\377\377\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\377\377\377\377\377\377\377\377\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377\377\377\377\377\377"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\377\377\377\377\377\377\377\377\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377\377\377\377"
- "\377\377\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\377\377\377\377\377\377\377\377\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377\377"
- "\377\377\377\377\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377\377\377\377\377\377\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\377\377"
- "\377\377\377\377\377\377\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377\377\377\377\377\377\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\377\377\377\377\377\377\377\377\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377\377\377\377\377\377"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\377\377\377\377\377\377\377\377\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377\377\377\377"
- "\377\377\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\377\377\377\377\377\377\377\377\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377\377"
- "\377\377\377\377\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377\377\377\377\377\377\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\377\377"
- "\377\377\377\377\377\377\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377\377\377\377\377\377\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\377\377\377\377\377\377\377\377\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377\377\377\377\377\377"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\377\377\377\377\377\377\377\377\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377\377\377\377"
- "\377\377\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\377\377\377\377\377\377\377\377\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377\377"
- "\377\377\377\377\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377\377\377\377\377\377\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\377\377"
- "\377\377\377\377\377\377\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377\377\377\377\377\377\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\377\377\377\377\377\377\377\377\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377\377\377\377\377\377"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\377\377\377\377\377\377\377\377\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377\377\377\377"
- "\377\377\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\377\377\377\377\377\377\377\377\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377\377"
- "\377\377\377\377\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377\377\377\377\377\377\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\377\377"
- "\377\377\377\377\377\377\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377\377\377\377\377\377\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\377\377\377\377\377\377\377\377\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377\377\377\377\377\377"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\377\377\377\377\377\377\377\377\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377\377\377\377"
- "\377\377\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\377\377\377\377\377\377\377\377\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377\377"
- "\377\377\377\377\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377\377\377\377\377\377\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\377\377"
- "\377\377\377\377\377\377\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377\377\377\377\377\377\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\377\377\377\377\377\377\377\377\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377\377\377\377\377\377"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\377\377\377\377\377\377\377\377\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377\377\377\377"
- "\377\377\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\377\377\377\377\377\377\377\377\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377\377"
- "\377\377\377\377\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377\377\377\377\377\377\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\377\377"
- "\377\377\377\377\377\377\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377\377\377\377\377\377\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\377\377\377\377\377\377\377\377\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377\377\377\377\377\377"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\377\377\377\377\377\377\377\377\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377\377\377\377"
- "\377\377\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\377\377\377\377\377\377\377\377\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377\377"
- "\377\377\377\377\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377\377\377\377\377\377\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\377\377"
- "\377\377\377\377\377\377\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377\377\377\377\377\377\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\377\377\377\377\377\377\377\377\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377\377\377\377\377\377"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\377\377\377\377\377\377\377\377\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377\377\377\377"
- "\377\377\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\377\377\377\377\377\377\377\377\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377\377"
- "\377\377\377\377\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377\377\377\377\377\377\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\377\377"
- "\377\377\377\377\377\377\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377\377\377\377\377\377\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\377\377\377\377\377\377\377\377\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377\377\377\377\377\377"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\377\377\377\377\377\377\377\377\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377\377\377\377"
- "\377\377\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\377\377\377\377\377\377\377\377\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377\377"
- "\377\377\377\377\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377\377\377\377\377\377\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\377\377"
- "\377\377\377\377\377\377\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377\377\377\377\377\377\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\377\377\377\377\377\377\377\377\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377\377\377\377\377\377"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\377\377\377\377\377\377\377\377\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377\377\377\377"
- "\377\377\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\377\377\377\377\377\377\377\377\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377\377"
- "\377\377\377\377\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377\377\377\377\377\377\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\377\377"
- "\377\377\377\377\377\377\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377\377\377\377\377\377\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\377\377\377\377\377\377\377\377\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377\377\377\377\377\377"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\377\377\377\377\377\377\377\377\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377\377\377\377"
- "\377\377\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\377\377\377\377\377\377\377\377\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377\377"
- "\377\377\377\377\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377\377\377\377\377\377\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\377\377"
- "\377\377\377\377\377\377\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377\377\377\377\377\377\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\377\377\377\377\377\377\377\377\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377\377\377\377\377\377"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\377\377\377\377\377\377\377\377\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377\377\377\377"
- "\377\377\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\377\377\377\377\377\377\377\377\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377\377"
- "\377\377\377\377\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377\377\377\377\377\377\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\377\377"
- "\377\377\377\377\377\377\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377\377\377\377\377\377\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\377\377\377\377\377\377\377\377\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377\377\377\377\377\377"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\377\377\377\377\377\377\377\377\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377\377\377\377"
- "\377\377\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\377\377\377\377\377\377\377\377\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377\377"
- "\377\377\377\377\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377\377\377\377\377\377\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\377\377"
- "\377\377\377\377\377\377\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377\377\377\377\377\377\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\377\377\377\377\377\377\377\377\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377\377\377\377\377\377"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\377\377\377\377\377\377\377\377\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377\377\377\377"
- "\377\377\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\377\377\377\377\377\377\377\377\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377\377"
- "\377\377\377\377\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377\377\377\377\377\377\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\377\377"
- "\377\377\377\377\377\377\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377\377\377\377\377\377\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\377\377\377\377\377\377\377\377\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377\377\377\377\377\377"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\377\377\377\377\377\377\377\377\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\377\377\377\214\377\377\377\224\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\377\377"
- "\377\377\377\377\377\377\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377\377\377\377\377\377\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\377\377\377\377\377\377\377\377\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377\377\377\377\377\377"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377I\000\000"
- "\000\000\000\000\000\000\377\377\377\377\377\377\377\377\000\000\000\000\000\000\000\000\377\377\377"
- ")\377\377\377\033\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\377\377"
- "\377\377\377\377\377\377\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377\377\377\377\377\377\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\377\377\377\377\377\377\377\377\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377\377\377\377\377\377"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\377\377\377\377\377\377\377\377\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377\377\377\377"
- "\377\377\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\377\377\377\377\377\377\377\377\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377\377"
- "\377\377\377\377\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377\377\377\377\377\377\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\377\377"
- "\377\377\377\377\377\377\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377\377\377\377\377\377\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\377\377\377\377\377\377\377\377\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377\377\377\377\377\377"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\377\377\377\377\377\377\377\377\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377\377\377\377"
- "\377\377\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\377\377\377\377\377\377\377\377\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377\377"
- "\377\377\377\377\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377\377\377\377\377\377\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\377\377"
- "\377\377\377\377\377\377\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377\377\377\377\377\377\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\377\377\377\377\377\377\377\377\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377\377\377\377\377\377"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\377\377\377\377\377\377\377\377\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377\377\377\377"
- "\377\377\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\377\377\377\377\377\377\377\377\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377\377"
- "\377\377\377\377\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377\377\377\377\377\377\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\377\377"
- "\377\377\377\377\377\377\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377\377\377\377\377\377\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\377\377\377\377\377\377\377\377\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377\377\377\377\377\377"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\377\377\377\377\377\377\377\377\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377\377\377\377"
- "\377\377\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\377\377\377\377\377\377\377\377\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377\377"
- "\377\377\377\377\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377\377\377\377\377\377\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\377\377"
- "\377\377\377\377\377\377\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377\377\377\377\377\377\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\377\377\377\377\377\377\377\377\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377\377\377\377\377\377"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\377\377\377\377\377\377\377\377\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377\377\377\377"
- "\377\377\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\377\377\377\377\377\377\377\377\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377\377"
- "\377\377\377\377\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377\377\377\377\377\377\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\377\377"
- "\377\377\377\377\377\377\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377\377\377\377\377\377\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\377\377\377\377\377\377\377\377\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377\377\377\377\377\377"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\377\377\377\377\377\377\377\377\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377\377\377\377"
- "\377\377\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\377\377\377\377\377\377\377\377\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377\377"
- "\377\377\377\377\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377\377\377\377\377\377\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\377\377"
- "\377\377\377\377\377\377\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377\377\377\377\377\377\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\377\377\377\377\377\377\377\377\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377\377\377\377\377\377"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\377\377\377\377\377\377\377\377\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377\377\377\377"
- "\377\377\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\377\377\377\377\377\377\377\377\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377\377"
- "\377\377\377\377\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377\377\377\377\377\377\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\377\377"
- "\377\377\377\377\377\377\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377\377\377\377\377\377\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\377\377\377\377\377\377\377\377\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377\377\377\377\377\377"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\377\377\377\377\377\377\377\377\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377\377\377\377"
- "\377\377\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\377\377\377\377\377\377\377\377\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377\377"
- "\377\377\377\377\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377\377\377\377\377\377\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\377\377"
- "\377\377\377\377\377\377\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377\377\377\377\377\377\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\377\377\377\377\377\377\377\377\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377\377\377\377\377\377"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\377\377\377\377\377\377\377\377\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377\377\377\377"
- "\377\377\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\377\377\377\377\377\377\377\377\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377\377"
- "\377\377\377\377\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377\377\377\377\377\377\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\377\377"
- "\377\377\377\377\377\377\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377\377\377\377\377\377\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377\216\377\377\377\263\377\377\377\013\000"
- "\000\000\000\000\000\000\000\000\000\000\000\377\377\377\377\377\377\377\377\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377"
- "\377\377\377\377\377\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377\377\377\377\377\377\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\377\377\377\000\377\377\377\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\377\377\377\377\377\377\377\377\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\377\377\377b\377\377\377V\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377\377"
- "\377\377\377\377\000\000\000\000\000\000\000\000\377\377\377\215\377\377\377\270\377\377"
- "\377u\377\377\377\013\377\377\377\252\377\377\377\255\377\377\377\013\000\000\000"
- "\000\377\377\377\377\377\377\377\377\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377\377\377\377\377\377"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377\317\377\377\377\374\377\377"
- "\377%\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377\377\377\377\377\377\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\377"
- "\377\377\377\377\377\377\377\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377\013\377\377"
- "\377e\377\377\377\065\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377\377\377"
- "\377\377\377\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377\234\377\377\377"
- "\267\377\377\377B\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377\377\377\377\377\377"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377\013\377\377\377\343\377"
- "\377\377\375\377\377\377M\000\000\000\000\377\377\377\377\377\377\377\377\000\000\000\000"
- "\377\377\377\013\377\377\377\355\377\377\377\367\377\377\377\070\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377\377\377\377\377\377\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\377"
- "\377\377\377\377\377\377\377\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377\377\377\377\377\377\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\377\377\377\377\377\377\377\377\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377\377\377\377\377"
- "\377\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\377\377\377\377\377\377\377\377\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\377\377\377j\377\377\377\373\377\377\377\243\000\000\000\000"
- "\377\377\377\377\377\377\377\377\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377\377\377\377\377\377"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\377\377\377\377\377\377\377\377\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377\377\377\377"
- "\377\377\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\377\377\377\377\377\377\377\377\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377\377"
- "\377\377\377\377\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377\377\377\377\377\377\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\377\377"
- "\377\377\377\377\377\377\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377\377\377\377\377\377\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\377\377\377\377\377\377\377\377\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377\377\377\377\377\377"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\377\377\377\377\377\377\377\377\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377\377\377\377"
- "\377\377\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\377\377\377\377\377\377\377\377\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377\377"
- "\377\377\377\377\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377\377\377\377\377\377\000\000\000\000\000\000\000\000"
- "\000\000\000\000\377\377\377b\377\377\377\237\377\377\377\233\377\377\377Z\000\000\000"
- "\000\000\000\000\000\000\000\000\000\377\377\377\377\377\377\377\377\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377\377"
- "\377\377\377\377\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377\377\377\377\377\377\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\377\377"
- "\377\377\377\377\377\377\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\377\377"
- "\377b\377\377\377c\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377\377\377\377\377\377"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\377\377\377\377\377\377\377\377\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377\377\377\377"
- "\377\377\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\377\377\377\377\377\377\377\377\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\377\377\377)\377\377\377e\377\377\377I\000\000\000\000\000\000\000\000\000\000\000\000\377"
- "\377\377\377\377\377\377\377\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377\377\377\377\377\377\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\377\377\377\377\377\377\377\377\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377\377\377\377\377"
- "\377\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\377\377\377\377\377\377\377\377\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377\377\377"
- "\377\377\377\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\377\377\377\377\377\377\377\377\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377"
- "\377\377\377\377\377\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377U\377\377"
- "\377c\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377\377\377\377\377\377\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\377\377\377\377\377\377\377\377\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\377"
- "\377\377b\377\377\377c\377\377\377\013\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377"
- "\377\377\377\377\377\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377\377\377\377\377\377\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\377\377\377S\377\377\377c\377\377\377\065\000\000\000\000\000\000"
- "\000\000\000\000\000\000\377\377\377\377\377\377\377\377\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377\377\377"
- "\377\377\377\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\377\377\377\377\377\377\377\377\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377"
- "\377\377\377\377\377\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377\377\377\377\377\377\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\377"
- "\377\377\377\377\377\377\377\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377\377\377\377\377\377\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\377\377\377\377\377\377\377\377\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377"
- "\213\377\377\377\363\377\377\377\364\377\377\377\364\377\377\377\372\377"
- "\377\377\225\000\000\000\000\377\377\377\377\377\377\377\377\000\000\000\000\377\377\377"
- "u\377\377\377\371\377\377\377\233\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\377\377\377\377\377\377\377\377\000\000\000\000\377\377\377\215\377\377"
- "\377\372\377\377\377\364\377\377\377\364\377\377\377\363\377\377\377\224"
- "\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377\377\377\377\377\377\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\377\377\377U\377\377\377e\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\377\377\377\377\377\377\377\377\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377\377\377\377\377\377"
- "\000\000\000\000\000\000\000\000\377\377\377\013\377\377\377\351\377\377\377\376\377\377\377"
- "s\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377\377\377\377\377\377\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\377\377\377\377\377\377\377\377\000\000\000\000\377\377\377\214\377\377\377\372"
- "\377\377\377\\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377"
- "\377\377\377\377\377\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377\377\377\377\377\377\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377K\377\377\377\367\377\377"
- "\377\315\000\000\000\000\377\377\377\377\377\377\377\377\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377\377"
- "\377\377\377\377\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377\065\377\377\377"
- "\340\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\304\377"
- "\377\377\377\377\377\377\377\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377\377\377\377\377\377\000\000"
- "\000\000\377\377\377\214\377\377\377\372\377\377\377\\\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377\377\377\377\377\377\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\377\377\377s\377\377\377\366\377\377\377\342\377\377\377"
- "%\000\000\000\000\000\000\000\000\377\377\377\377\377\377\377\377\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\377\377\377s\377\377\377\366\377\377\377\342\377\377\377%\000\000\000"
- "\000\000\000\000\000\377\377\377\377\377\377\377\377\000\000\000\000\377\377\377K\377\377\377"
- "\372\377\377\377\225\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\377"
- "\377\377\377\377\377\377\377\000\000\000\000\377\377\377\306\377\377\377\374\377"
- "\377\377\370\377\377\377\370\377\377\377\304\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\377\377\377\377\377\377\377\377\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377\377\377\377\377"
- "\377\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\377\377\377\377\377\377\377\377\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377\377\377"
- "\377\377\377\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\377\377\377\377\377\377\377\377\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377"
- "\377\377\377\377\377\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377\377\377\377\377\377\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\377"
- "\377\377\377\377\377\377\377\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377\377\377\377\377\377\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\377\377\377\377\377\377\377\377\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377\377\377\377\377"
- "\377\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\377\377\377\377\377\377\377\377\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377\377\377"
- "\377\377\377\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\377\377\377\377\377\377\377\377\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377"
- "\377\377\377\377\377\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377E\377\377"
- "\377\317\377\377\377\357\377\377\377\373\377\377\377\225\000\000\000\000\377\377"
- "\377\377\377\377\377\377\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377\320"
- "\377\377\377\374\377\377\377)\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377\377\377"
- "\377\377\377\000\000\000\000\377\377\377\215\377\377\377\372\377\377\377\363\377"
- "\377\377\333\377\377\377m\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377\377"
- "\377\377\377\377\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377\377\377\377\377\377\000\000\000\000\000\000\000\000"
- "\000\000\000\000\377\377\377\000\377\377\377\000\377\377\377\000\377\377\377\001\000\000\000\000"
- "\000\000\000\000\000\000\000\000\377\377\377\377\377\377\377\377\000\000\000\000\000\000\000\000\000\000\000\000"
- "\377\377\377\013\377\377\377\364\377\377\377\366\377\377\377%\000\000\000\000\000\000"
- "\000\000\000\000\000\000\377\377\377\377\377\377\377\377\000\000\000\000\377\377\377\013\377\377"
- "\377\361\377\377\377\377\377\377\377\254\377\377\377=\377\377\377\375\377"
- "\377\377\372\377\377\377)\000\000\000\000\377\377\377\377\377\377\377\377\000\000\000\000"
- "\000\000\000\000\000\000\000\000\377\377\377\215\377\377\377\363\377\377\377%\377\377\377"
- "\224\377\377\377\363\377\377\377%\000\000\000\000\377\377\377\377\377\377\377\377"
- "\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377\062\377\377\377\336\377\377\377\375\377"
- "\377\377x\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377\377\377\377\377\377\000\000\000\000"
- "\377\377\377\262\377\377\377\372\377\377\377\370\377\377\377\246\000\000\000\000"
- "\000\000\000\000\000\000\000\000\377\377\377\224\377\377\377=\377\377\377\377\377\377\377"
- "\377\000\000\000\000\000\000\000\000\377\377\377~\377\377\377\374\377\377\377\377\377\377"
- "\377\376\377\377\377\224\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377\377\377\377"
- "\377\377\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377V\377\377\377\375\377\377\377"
- "\376\377\377\377l\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377\377\377\377\377\377"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377\325\377\377\377\377"
- "\377\377\377\271\000\000\000\000\000\000\000\000\377\377\377\377\377\377\377\377\000\000\000\000"
- "\000\000\000\000\377\377\377\224\377\377\377\377\377\377\377\355\377\377\377\033\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377\377\377\377\377\377\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\377"
- "\377\377\377\377\377\377\377\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377\377\377\377\377\377\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\377\377\377\377\377\377\377\377\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377\377\377\377\377"
- "\377\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\377\377\377\377\377\377\377\377\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\377\377\377\313\377\377\377\376\377\377\377v\000\000\000\000"
- "\377\377\377\377\377\377\377\377\000\000\000\000\000\000\000\000\377\377\377\013\377\377\377"
- "\315\377\377\377\367\377\377\377\373\377\377\377\334\377\377\377B\000\000\000\000"
- "\000\000\000\000\377\377\377\377\377\377\377\377\000\000\000\000\000\000\000\000\000\000\000\000\377\377"
- "\377`\377\377\377\300\377\377\377\342\377\377\377Z\000\000\000\000\000\000\000\000\000\000\000"
- "\000\377\377\377\377\377\377\377\377\000\000\000\000\000\000\000\000\377\377\377\224\377\377"
- "\377\347\377\377\377\373\377\377\377\364\377\377\377\312\377\377\377)\000\000"
- "\000\000\000\000\000\000\377\377\377\377\377\377\377\377\000\000\000\000\000\000\000\000\377\377\377"
- "\226\377\377\377\346\377\377\377\370\377\377\377\360\377\377\377\327\377"
- "\377\377b\000\000\000\000\000\000\000\000\377\377\377\377\377\377\377\377\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377\214\377\377\377\343\377\377\377\273"
- "\000\000\000\000\000\000\000\000\377\377\377\377\377\377\377\377\000\000\000\000\377\377\377\013\377"
- "\377\377\315\377\377\377\337\377\377\377\333\377\377\377\333\377\377\377"
- "\333\377\377\377\343\377\377\377\223\000\000\000\000\377\377\377\377\377\377\377"
- "\377\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377\215\377\377\377\346\377\377\377"
- "\370\377\377\377\364\377\377\377\320\377\377\377O\000\000\000\000\377\377\377\377"
- "\377\377\377\377\377\377\377\013\377\377\377\315\377\377\377\337\377\377\377"
- "\333\377\377\377\333\377\377\377\333\377\377\377\333\377\377\377\333\377"
- "\377\377\323\377\377\377\033\377\377\377\377\377\377\377\377\000\000\000\000\000\000\000"
- "\000\377\377\377\062\377\377\377\316\377\377\377\366\377\377\377\373\377\377"
- "\377\344\377\377\377\200\000\000\000\000\000\000\000\000\377\377\377\377\377\377\377\377"
- "\000\000\000\000\000\000\000\000\377\377\377u\377\377\377\342\377\377\377\370\377\377\377"
- "\364\377\377\377\305\377\377\377%\000\000\000\000\000\000\000\000\377\377\377\377\377\377"
- "\377\377\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\377\377\377\377\377\377\377\377\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377\377"
- "\377\377\377\377\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\377\377\377)\377\377\377\065\000\000\000\000\377\377\377\377\377\377\377\377\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\377\377\377\377\377\377\377\377\000\000\000\000\371\371\377.\377\377\377V\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377\377\377"
- "\377\377\377\000\000\000\000\377\377\377\013\377\377\377\321\377\377\377\377\377\377"
- "\377\377\377\377\377\377\377\377\377\377\377\377\377\271\000\000\000\000\000\000\000\000"
- "\377\377\377\377\377\377\377\377\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377Q\377"
- "\377\377\273\377\377\377\332\377\377\377\322\377\377\377\206\000\000\000\000\000\000"
- "\000\000\377\377\377\377\377\377\377\377\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377"
- "\070\377\377\377\367\377\377\377\376\377\377\377s\000\000\000\000\000\000\000\000\000\000\000\000"
- "\377\377\377\377\377\377\377\377\000\000\000\000\377\377\377\224\377\377\377\377"
- "\377\377\377\377\377\377\377\377\377\377\377\374\377\377\377\360\377\377"
- "\377\253\000\000\000\000\000\000\000\000\377\377\377\377\377\377\377\377\000\000\000\000\000\000\000\000"
- "\377\377\377\013\377\377\377\304\377\377\377\375\377\377\377\377\377\377\377"
- "\377\377\377\377\373\377\377\377\247\000\000\000\000\377\377\377\377\377\377\377"
- "\377\000\000\000\000\377\377\377\307\377\377\377\377\377\377\377\377\377\377\377"
- "\377\377\377\377\374\377\377\377\324\377\377\377B\000\000\000\000\000\000\000\000\377\377"
- "\377\377\377\377\377\377\000\000\000\000\377\377\377K\377\377\377\374\377\377\377"
- "\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377"
- "\377\377\346\377\377\377\013\377\377\377\377\377\377\377\377\000\000\000\000\377\377"
- "\377\013\377\377\377\352\377\377\377\377\377\377\377\377\377\377\377\377\377"
- "\377\377\377\377\377\377\377\377\377\377\376\377\377\377l\377\377\377\377"
- "\377\377\377\377\000\000\000\000\000\000\000\000\377\377\377\065\377\377\377\333\377\377\377"
- "\377\377\377\377\377\377\377\377\377\377\377\377\361\377\377\377\202\000\000"
- "\000\000\377\377\377\377\377\377\377\377\000\000\000\000\377\377\377\307\377\377\377"
- "\376\377\377\377i\000\000\000\000\000\000\000\000\377\377\377\013\377\377\377\352\377\377"
- "\377\364\377\377\377%\377\377\377\377\377\377\377\377\000\000\000\000\377\377\377"
- "\224\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\373\377"
- "\377\377\377\377\377\377\377\377\377\377\303\000\000\000\000\377\377\377\377\377"
- "\377\377\377\000\000\000\000\377\377\377\013\377\377\377\361\377\377\377\377\377\377"
- "\377\377\377\377\377\377\377\377\377\377\377\377\377\376\377\377\377\225"
- "\000\000\000\000\377\377\377\377\377\377\377\377\000\000\000\000\377\377\377\224\377\377"
- "\377\377\377\377\377\225\000\000\000\000\000\000\000\000\377\377\377\033\377\377\377\356\377"
- "\377\377\376\377\377\377v\377\377\377\377\377\377\377\377\000\000\000\000\377\377"
- "\377\013\377\377\377\352\377\377\377\364\377\377\377%\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\377\377\377\377\377\377\377\377\000\000\000\000\377\377\377"
- "\307\377\377\377\377\377\377\377\243\000\000\000\000\000\000\000\000\377\377\377u\377\377"
- "\377\375\377\377\377\321\000\000\000\000\377\377\377\377\377\377\377\377\000\000\000\000"
- "\377\377\377\307\377\377\377\377\377\377\377\251\000\000\000\000\000\000\000\000\377\377"
- "\377\013\377\377\377\355\377\377\377\330\000\000\000\000\377\377\377\377\377\377\377"
- "\377\000\000\000\000\000\000\000\000\377\377\377\206\377\377\377\366\377\377\377\377\377"
- "\377\377\377\377\377\377\373\377\377\377\246\000\000\000\000\000\000\000\000\377\377\377"
- "\377\377\377\377\377\000\000\000\000\377\377\377\224\377\377\377\377\377\377\377"
- "\377\377\377\377\377\377\377\377\377\377\377\377\370\377\377\377\324\377"
- "\377\377B\000\000\000\000\377\377\377\377\377\377\377\377\000\000\000\000\000\000\000\000\377\377"
- "\377\206\377\377\377\370\377\377\377\377\377\377\377\377\377\377\377\373"
- "\377\377\377\240\000\000\000\000\000\000\000\000\377\377\377\377\377\377\377\377\000\000\000\000"
- "\377\377\377\224\377\377\377\377\377\377\377\377\377\377\377\377\377\377"
- "\377\377\377\377\377\364\377\377\377\312\377\377\377\033\000\000\000\000\377\377\377"
- "\377\377\377\377\377\000\000\000\000\000\000\000\000\377\377\377\204\377\377\377\365\377"
- "\377\377\377\377\377\377\377\377\377\377\377\377\377\377\342\377\377\377"
- "V\000\000\000\000\377\377\377\377\377\377\377\377\377\377\377\224\377\377\377\377"
- "\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\373\377\377"
- "\377\377\377\377\377\377\377\377\377\377\377\377\377\252\377\377\377\377"
- "\377\377\377\377\000\000\000\000\377\377\377\307\377\377\377\376\377\377\377i\000\000"
- "\000\000\000\000\000\000\377\377\377\013\377\377\377\352\377\377\377\364\377\377\377%"
- "\377\377\377\377\377\377\377\377\377\377\377}\377\377\377\376\377\377\377"
- "\332\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377\262\377\377\377\377\377"
- "\377\377\216\377\377\377\377\377\377\377\377\377\377\377\345\377\377\377"
- "\372\377\377\377=\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377\013\377\377"
- "\377\355\377\377\377\356\377\377\377\377\377\377\377\377\377\377\377\013\377"
- "\377\377\345\377\377\377\376\377\377\377~\000\000\000\000\000\000\000\000\377\377\377\070"
- "\377\377\377\367\377\377\377\360\377\377\377\033\377\377\377\377\377\377\377"
- "\377\377\377\377\206\377\377\377\377\377\377\377\332\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\377\377\377\266\377\377\377\377\377\377\377\234\377\377\377"
- "\377\377\377\377\377\000\000\000\000\377\377\377\224\377\377\377\377\377\377\377"
- "\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377"
- "\377\377\361\377\377\377%\377\377\377\377\377\377\377\377\000\000\000\000\000\000\000\000"
- "\000\000\000\000\377\377\377\224\377\377\377\377\377\377\377\312\377\377\377\255"
- "\377\377\377\266\377\377\377u\000\000\000\000\377\377\377\377\377\377\377\377\000\000"
- "\000\000\377\377\377;\377\377\377\373\377\377\377\347\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377\377\377\377\377\377\000\000\000\000\377\377"
- "\377`\377\377\377\266\377\377\377\263\377\377\377\256\377\377\377\373\377"
- "\377\377\254\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377\377\377\377\377\377\000\000"
- "\000\000\000\000\000\000\000\000\000\000\377\377\377\033\377\377\377\371\377\377\377\376\377\377"
- "\377_\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377\377\377\377\377\377\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\377"
- "\377\377\377\377\377\377\377\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377b\377\377"
- "\377\374\377\377\377\355\377\377\377\033\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377"
- "\377\377\377\377\377\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377\377\377\377\377\377\000\000\000\000\377"
- "\377\377\224\377\377\377\376\377\377\377l\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\377\377\377\377\377\377\377\377\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377\377"
- "\377\377\377\377\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\377\377"
- "\377K\377\377\377\374\377\377\377\333\000\000\000\000\377\377\377\377\377\377\377"
- "\377\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\377\377\377\377\377\377\377\377\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\377\377\377\334\377\377\377\377\377\377\377\346\377\377\377\272\377"
- "\377\377\342\377\377\377\276\377\377\377\377\377\377\377\377\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\377"
- "\377\377\377\377\377\377\377\000\000\000\000\377\377\377\224\377\377\377\376\377"
- "\377\377l\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377\377"
- "\377\377\377\377\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377\215\377\377"
- "\377\377\377\377\377\377\377\377\377l\000\000\000\000\000\000\000\000\377\377\377\377\377"
- "\377\377\377\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377\215\377\377\377"
- "\377\377\377\377\377\377\377\377l\000\000\000\000\000\000\000\000\377\377\377\377\377\377"
- "\377\377\000\000\000\000\377\377\377K\377\377\377\375\377\377\377\254\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377\377\377\377\377\377\000\000"
- "\000\000\377\377\377\247\377\377\377\343\377\377\377\340\377\377\377\377\377"
- "\377\377\333\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377\377\377\377\377"
- "\377\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\377\377\377\377\377\377\377\377\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377\377\377"
- "\377\377\377\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\377\377\377\377\377\377\377\377\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377"
- "\377\377\377\377\377\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377\377\377\377\377\377\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\377"
- "\377\377\377\377\377\377\377\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377\377\377\377\377\377\000\000"
- "\000\000\000\000\000\000\000\000\000\000\377\377\377`\377\377\377\262\377\377\377=\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\377\377\377\377\377\377\377\377\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377"
- "\377\377\377\377\377\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377\377\377\377\377\377\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\377"
- "\377\377\377\377\377\377\377\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377\377\377\377\377\377\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\377\377\377\377\377\377\377\377\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377\377\377\377\377"
- "\377\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377\342\377\377\377\377\377"
- "\377\377\325\377\377\377\266\377\377\377u\000\000\000\000\377\377\377\377\377\377"
- "\377\377\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377\313\377\377\377\371"
- "\377\377\377%\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377\377\377\377\377\377\000\000"
- "\000\000\377\377\377`\377\377\377\263\377\377\377\307\377\377\377\376\377\377"
- "\377\363\377\377\377\033\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377\377\377\377\377"
- "\377\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\377\377\377\377\377\377\377\377\000\000\000\000\000\000\000\000\000\000\000\000\377"
- "\377\377\000\377\377\377\000\377\377\377\000\377\377\377\001\000\000\000\000\000\000\000\000\000\000"
- "\000\000\377\377\377\377\377\377\377\377\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377"
- "\013\377\377\377\351\377\377\377\366\377\377\377)\000\000\000\000\000\000\000\000\000\000\000\000"
- "\377\377\377\377\377\377\377\377\000\000\000\000\377\377\377\013\377\377\377\356\377"
- "\377\377\377\377\377\377\243\377\377\377;\377\377\377\374\377\377\377\364"
- "\377\377\377%\000\000\000\000\377\377\377\377\377\377\377\377\000\000\000\000\000\000\000\000\000\000"
- "\000\000\377\377\377\313\377\377\377\355\000\000\000\000\377\377\377\320\377\377\377"
- "\346\000\000\000\000\000\000\000\000\377\377\377\377\377\377\377\377\000\000\000\000\000\000\000\000\377"
- "\377\377\247\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377"
- "\377\377\377\377\352\377\377\377S\000\000\000\000\377\377\377\377\377\377\377\377"
- "\377\377\377}\377\377\377\377\377\377\377\326\377\377\377\334\377\377\377"
- "\376\377\377\377l\000\000\000\000\377\377\377}\377\377\377\377\377\377\377\323\377"
- "\377\377\377\377\377\377\377\000\000\000\000\377\377\377\013\377\377\377\354\377\377"
- "\377\364\377\377\377\226\377\377\377\373\377\377\377\337\000\000\000\000\000\000\000\000"
- "\000\000\000\000\377\377\377\377\377\377\377\377\000\000\000\000\000\000\000\000\000\000\000\000\377\377"
- "\377\033\377\377\377\362\377\377\377\376\377\377\377l\000\000\000\000\000\000\000\000\000\000"
- "\000\000\377\377\377\377\377\377\377\377\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\377"
- "\377\377\232\377\377\377\377\377\377\377\336\000\000\000\000\000\000\000\000\000\000\000\000\377"
- "\377\377\377\377\377\377\377\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377\302\377"
- "\377\377\377\377\377\377\277\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377"
- "\377\377\377\377\377\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377|\377\377"
- "\377\205\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377\377\377\377\377\377"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377_\377\377\377\232\377\377\377"
- "\013\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377\377\377\377\377\377\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\377\377"
- "\377\377\377\377\377\377\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377\377\377\377\377\377\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\377\377\377\377\377\377\377\377\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\377\377\377!\377\377\377\371\377\377\377\352\377\377\377\013\000\000\000\000\377"
- "\377\377\377\377\377\377\377\000\000\000\000\377\377\377\013\377\377\377\345\377\377"
- "\377\377\377\377\377\365\377\377\377\353\377\377\377\377\377\377\377\367"
- "\377\377\377\062\000\000\000\000\377\377\377\377\377\377\377\377\000\000\000\000\000\000\000\000\377"
- "\377\377\313\377\377\377\377\377\377\377\377\377\377\377\376\377\377\377"
- "l\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377\377\377\377\377\377\000\000\000\000\377\377"
- "\377\314\377\377\377\377\377\377\377\376\377\377\377\335\377\377\377\371"
- "\377\377\377\377\377\377\377\352\377\377\377\033\000\000\000\000\377\377\377\377\377"
- "\377\377\377\000\000\000\000\377\377\377\302\377\377\377\377\377\377\377\377\377"
- "\377\377\342\377\377\377\362\377\377\377\377\377\377\377\375\377\377\377"
- "\\\000\000\000\000\377\377\377\377\377\377\377\377\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\377\377\377U\377\377\377\374\377\377\377\377\377\377\377\333\000\000\000\000\000"
- "\000\000\000\377\377\377\377\377\377\377\377\000\000\000\000\377\377\377\013\377\377\377"
- "\361\377\377\377\377\377\377\377\373\377\377\377\377\377\377\377\377\377"
- "\377\377\377\377\377\377\251\000\000\000\000\377\377\377\377\377\377\377\377\000\000"
- "\000\000\000\000\000\000\377\377\377\247\377\377\377\377\377\377\377\377\377\377\377"
- "\360\377\377\377\373\377\377\377\377\377\377\377\360\377\377\377\033\377\377"
- "\377\377\377\377\377\377\000\000\000\000\377\377\377\332\377\377\377\377\377\377"
- "\377\376\377\377\377\374\377\377\377\374\377\377\377\376\377\377\377\377"
- "\377\377\377\367\377\377\377%\377\377\377\377\377\377\377\377\000\000\000\000\377"
- "\377\377\025\377\377\377\356\377\377\377\377\377\377\377\351\377\377\377\350"
- "\377\377\377\376\377\377\377\376\377\377\377s\000\000\000\000\377\377\377\377\377"
- "\377\377\377\000\000\000\000\377\377\377|\377\377\377\376\377\377\377\377\377\377"
- "\377\345\377\377\377\356\377\377\377\377\377\377\377\355\377\377\377%\000\000"
- "\000\000\377\377\377\377\377\377\377\377\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377\377\377\377\377"
- "\377\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\377\377\377\377\377\377\377\377\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\377\377\377}\377\377\377\374\377\377\377\254\000\000\000\000"
- "\377\377\377\377\377\377\377\377\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377\377\377\377\377\377"
- "\000\000\000\000\377\377\377V\377\377\377\375\377\377\377\241\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377\377\377\377\377\377\000\000\000\000\377"
- "\377\377\070\377\377\377\372\377\377\377\343\377\377\377u\377\377\377\217"
- "\377\377\377\374\377\377\377\375\377\377\377M\000\000\000\000\377\377\377\377\377"
- "\377\377\377\000\000\000\000\000\000\000\000\377\377\377\233\377\377\377\376\377\377\377"
- "\377\377\377\377\354\377\377\377\375\377\377\377\377\377\377\377\257\000\000"
- "\000\000\377\377\377\377\377\377\377\377\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377"
- "\232\377\377\377\377\377\377\377\377\377\377\377\277\000\000\000\000\000\000\000\000\000\000"
- "\000\000\377\377\377\377\377\377\377\377\000\000\000\000\377\377\377\224\377\377\377"
- "\377\377\377\377\342\377\377\377\304\377\377\377\332\377\377\377\376\377"
- "\377\377\377\377\377\377\227\000\000\000\000\377\377\377\377\377\377\377\377\000\000"
- "\000\000\000\000\000\000\377\377\377\331\377\377\377\377\377\377\377\373\377\377\377"
- "\306\377\377\377\307\377\377\377\375\377\377\377\376\377\377\377Q\377\377"
- "\377\377\377\377\377\377\000\000\000\000\377\377\377\313\377\377\377\377\377\377"
- "\377\330\377\377\377\310\377\377\377\370\377\377\377\377\377\377\377\375"
- "\377\377\377f\000\000\000\000\377\377\377\377\377\377\377\377\000\000\000\000\377\377\377"
- "K\377\377\377\374\377\377\377\376\377\377\377\323\377\377\377\327\377\377"
- "\377\327\377\377\377\327\377\377\377\316\377\377\377\033\377\377\377\377\377"
- "\377\377\377\000\000\000\000\377\377\377\013\377\377\377\356\377\377\377\376\377\377"
- "\377\324\377\377\377\327\377\377\377\327\377\377\377\327\377\377\377\312"
- "\377\377\377%\377\377\377\377\377\377\377\377\000\000\000\000\377\377\377\033\377"
- "\377\377\362\377\377\377\377\377\377\377\365\377\377\377\277\377\377\377"
- "\321\377\377\377\377\377\377\377\366\377\377\377\033\377\377\377\377\377\377"
- "\377\377\000\000\000\000\377\377\377\313\377\377\377\376\377\377\377i\000\000\000\000\000\000"
- "\000\000\377\377\377\013\377\377\377\356\377\377\377\366\377\377\377%\377\377"
- "\377\377\377\377\377\377\000\000\000\000\377\377\377}\377\377\377\332\377\377\377"
- "\323\377\377\377\371\377\377\377\377\377\377\377\331\377\377\377\327\377"
- "\377\377\266\000\000\000\000\377\377\377\377\377\377\377\377\000\000\000\000\377\377\377"
- "\013\377\377\377\302\377\377\377\323\377\377\377\322\377\377\377\322\377\377"
- "\377\342\377\377\377\377\377\377\377\252\000\000\000\000\377\377\377\377\377\377"
- "\377\377\000\000\000\000\377\377\377\224\377\377\377\377\377\377\377\252\000\000\000\000"
- "\000\000\000\000\377\377\377\335\377\377\377\377\377\377\377\315\000\000\000\000\377\377"
- "\377\377\377\377\377\377\000\000\000\000\377\377\377\013\377\377\377\356\377\377\377"
- "\366\377\377\377%\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377\377"
- "\377\377\377\377\000\000\000\000\377\377\377\313\377\377\377\377\377\377\377\336"
- "\000\000\000\000\000\000\000\000\377\377\377\275\377\377\377\377\377\377\377\330\000\000\000\000"
- "\377\377\377\377\377\377\377\377\000\000\000\000\377\377\377\312\377\377\377\377"
- "\377\377\377\364\377\377\377%\000\000\000\000\377\377\377\013\377\377\377\361\377"
- "\377\377\333\000\000\000\000\377\377\377\377\377\377\377\377\000\000\000\000\377\377\377"
- "j\377\377\377\375\377\377\377\377\377\377\377\325\377\377\377\313\377\377"
- "\377\376\377\377\377\377\377\377\377\225\000\000\000\000\377\377\377\377\377\377"
- "\377\377\000\000\000\000\377\377\377\224\377\377\377\377\377\377\377\342\377\377"
- "\377\310\377\377\377\322\377\377\377\366\377\377\377\377\377\377\377\355"
- "\377\377\377\033\377\377\377\377\377\377\377\377\000\000\000\000\377\377\377j\377"
- "\377\377\375\377\377\377\377\377\377\377\321\377\377\377\307\377\377\377"
- "\376\377\377\377\377\377\377\377\216\000\000\000\000\377\377\377\377\377\377\377"
- "\377\000\000\000\000\377\377\377\224\377\377\377\377\377\377\377\342\377\377\377"
- "\310\377\377\377\322\377\377\377\371\377\377\377\377\377\377\377\336\000\000"
- "\000\000\377\377\377\377\377\377\377\377\000\000\000\000\377\377\377K\377\377\377\374"
- "\377\377\377\377\377\377\377\330\377\377\377\271\377\377\377\351\377\377"
- "\377\377\377\377\377\334\000\000\000\000\377\377\377\377\377\377\377\377\377\377"
- "\377}\377\377\377\332\377\377\377\327\377\377\377\323\377\377\377\371\377"
- "\377\377\377\377\377\377\331\377\377\377\326\377\377\377\332\377\377\377"
- "p\377\377\377\377\377\377\377\377\000\000\000\000\377\377\377\313\377\377\377\376"
- "\377\377\377i\000\000\000\000\000\000\000\000\377\377\377\013\377\377\377\356\377\377\377"
- "\366\377\377\377%\377\377\377\377\377\377\377\377\377\377\377\033\377\377"
- "\377\365\377\377\377\375\377\377\377\070\000\000\000\000\000\000\000\000\377\377\377\013\377"
- "\377\377\345\377\377\377\375\377\377\377Q\377\377\377\377\377\377\377\377"
- "\377\377\377\313\377\377\377\376\377\377\377i\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\377\377\377\013\377\377\377\361\377\377\377\347\377\377\377\377\377\377"
- "\377\377\000\000\000\000\377\377\377\214\377\377\377\377\377\377\377\343\000\000\000\000"
- "\000\000\000\000\377\377\377\261\377\377\377\377\377\377\377\272\000\000\000\000\377\377"
- "\377\377\377\377\377\377\377\377\377\013\377\377\377\351\377\377\377\376\377"
- "\377\377i\000\000\000\000\000\000\000\000\377\377\377\033\377\377\377\366\377\377\377\372"
- "\377\377\377\070\377\377\377\377\377\377\377\377\000\000\000\000\377\377\377v\377"
- "\377\377\327\377\377\377\322\377\377\377\322\377\377\377\316\377\377\377"
- "\351\377\377\377\377\377\377\377\360\377\377\377\033\377\377\377\377\377\377"
- "\377\377\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377\224\377\377\377\376\377\377"
- "\377U\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377\377\377\377\377\377\000\000"
- "\000\000\000\000\000\000\377\377\377\320\377\377\377\376\377\377\377_\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377\377\377\377\377\377\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\377\377\377\013\377\377\377\364\377\377\377\254\000\000\000\000\000"
- "\000\000\000\000\000\000\000\377\377\377\377\377\377\377\377\000\000\000\000\000\000\000\000\000\000\000\000\377"
- "\377\377\224\377\377\377\377\377\377\377\377\377\377\377\272\000\000\000\000\000\000"
- "\000\000\000\000\000\000\377\377\377\377\377\377\377\377\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377\377\377"
- "\377\377\377\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377\233\377\377\377"
- "\371\377\377\377i\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377\377\377\377\377\377"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\377\377\377\377\377\377\377\377\000\000\000\000\377\377\377\224\377\377"
- "\377\376\377\377\377i\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\377"
- "\377\377\377\377\377\377\377\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377\377\377\377\377\377\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377K\377\377\377\374"
- "\377\377\377\333\000\000\000\000\377\377\377\377\377\377\377\377\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\377\377"
- "\377\377\377\377\377\377\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377I\377\377\377"
- "\373\377\377\377\356\377\377\377\033\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377\377"
- "\377\377\377\377\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377\377\377\377\377\377\000\000\000\000\377\377"
- "\377\224\377\377\377\376\377\377\377i\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\377\377\377\377\377\377\377\377\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\377\377\377S\377\377\377\314\377\377\377\271\377\377\377\013\000\000\000\000"
- "\000\000\000\000\377\377\377\377\377\377\377\377\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\377\377\377S\377\377\377\314\377\377\377\271\377\377\377\013\000\000\000\000\000\000"
- "\000\000\377\377\377\377\377\377\377\377\000\000\000\000\377\377\377K\377\377\377\375"
- "\377\377\377\252\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\377\377"
- "\377\377\377\377\377\377\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377\360"
- "\377\377\377\334\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377\377\377\377"
- "\377\377\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\377\377\377\377\377\377\377\377\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377\377"
- "\377\377\377\377\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377\377\377\377\377\377\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\377\377"
- "\377\377\377\377\377\377\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377\377\377\377\377\377\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\377\377\377\377\377\377\377\377\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377\377\377\377\377\377"
- "\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377\247\377\377\377\377\377\377\377l\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377\377\377\377\377\377\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\377"
- "\377\377\377\377\377\377\377\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377\377\377\377\377\377\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\377\377\377\377\377\377\377\377\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377\377\377\377\377"
- "\377\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\377\377\377\377\377\377\377\377\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377\377\377"
- "\377\377\377\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377\013\377\377\377\361\377\377"
- "\377\337\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377\377\377\377\377\377"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377\313\377\377\377\371\377\377"
- "\377%\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377\377\377\377\377\377\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\377\377\377\313\377\377\377\372\377\377\377)\000\000\000\000"
- "\000\000\000\000\000\000\000\000\377\377\377\377\377\377\377\377\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377\377"
- "\377\377\377\377\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377\000\377\377\377"
- "\000\377\377\377\003\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377\377\377\377\377\377"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377\313\377\377\377\371\377\377"
- "\377%\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377\377\377\377\377\377\000\000\000\000\000\000"
- "\000\000\377\377\377\331\377\377\377\376\377\377\377i\377\377\377K\377\377\377"
- "\374\377\377\377\366\377\377\377)\000\000\000\000\377\377\377\377\377\377\377\377"
- "\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377\316\377\377\377\333\000\000\000\000\377\377"
- "\377\316\377\377\377\333\000\000\000\000\000\000\000\000\377\377\377\377\377\377\377\377"
- "\000\000\000\000\377\377\377\070\377\377\377\372\377\377\377\377\377\377\377\307\377"
- "\377\377\237\377\377\377\364\377\377\377\377\377\377\377\244\000\000\000\000\377"
- "\377\377\377\377\377\377\377\377\377\377\232\377\377\377\375\377\377\377"
- "\062\377\377\377=\377\377\377\375\377\377\377\254\377\377\377!\377\377\377"
- "\371\377\377\377\367\377\377\377\070\377\377\377\377\377\377\377\377\000\000\000"
- "\000\377\377\377;\377\377\377\372\377\377\377\346\377\377\377\013\377\377\377"
- "\371\377\377\377\333\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377\377\377\377\377"
- "\377\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377\013\377\377\377\355\377\377\377\375"
- "\377\377\377\\\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377\377\377\377\377\377\000"
- "\000\000\000\000\000\000\000\000\000\000\000\377\377\377\013\377\377\377\355\377\377\377\376\377"
- "\377\377i\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377\377\377\377\377\377\000\000\000\000"
- "\000\000\000\000\000\000\000\000\377\377\377!\377\377\377\372\377\377\377\375\377\377\377"
- "\070\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377\377\377\377\377\377\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\377\377\377\327\377\377\377\343\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\377\377\377\377\377\377\377\377\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\377\377\377\320\377\377\377\374\377\377\377)\000\000\000\000\000\000\000\000\000\000\000\000\377"
- "\377\377\377\377\377\377\377\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377\377\377\377\377\377\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\377\377\377\377\377\377\377\377\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377\377\377\377\377"
- "\377\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377\224\377\377\377"
- "\377\377\377\377\252\000\000\000\000\000\000\000\000\377\377\377\377\377\377\377\377\000\000"
- "\000\000\377\377\377\204\377\377\377\377\377\377\377\353\377\377\377\013\000\000\000"
- "\000\377\377\377\320\377\377\377\377\377\377\377\260\000\000\000\000\377\377\377\377"
- "\377\377\377\377\000\000\000\000\000\000\000\000\377\377\377\205\377\377\377\322\377\377"
- "\377\353\377\377\377\376\377\377\377i\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377"
- "\377\377\377\377\377\000\000\000\000\377\377\377\325\377\377\377\375\377\377\377"
- "M\000\000\000\000\377\377\377\033\377\377\377\356\377\377\377\376\377\377\377l\000\000"
- "\000\000\377\377\377\377\377\377\377\377\000\000\000\000\377\377\377\215\377\377\377"
- "\375\377\377\377Z\000\000\000\000\000\000\000\000\377\377\377\325\377\377\377\377\377\377"
- "\377\257\000\000\000\000\377\377\377\377\377\377\377\377\000\000\000\000\000\000\000\000\000\000\000\000"
- "\377\377\377\025\377\377\377\356\377\377\377\377\377\377\377\377\377\377\377"
- "\326\000\000\000\000\000\000\000\000\377\377\377\377\377\377\377\377\000\000\000\000\377\377\377"
- "K\377\377\377\374\377\377\377\330\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\377\377\377\377\377\377\377\377\000\000\000\000\377\377\377!\377\377\377"
- "\371\377\377\377\377\377\377\377\216\000\000\000\000\000\000\000\000\377\377\377\302\377"
- "\377\377\224\000\000\000\000\377\377\377\377\377\377\377\377\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377\302\377\377\377\377\377\377\377"
- "\252\000\000\000\000\377\377\377\377\377\377\377\377\000\000\000\000\377\377\377V\377\377"
- "\377\375\377\377\377\333\000\000\000\000\000\000\000\000\377\377\377\224\377\377\377\377"
- "\377\377\377\260\000\000\000\000\377\377\377\377\377\377\377\377\000\000\000\000\377\377"
- "\377\330\377\377\377\377\377\377\377\251\000\000\000\000\377\377\377\013\377\377\377"
- "\336\377\377\377\377\377\377\377\227\000\000\000\000\377\377\377\377\377\377\377"
- "\377\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377\250\377\377\377\276\377"
- "\377\377\033\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377\377\377\377\377\377\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377\250\377\377\377\276\377\377\377\033"
- "\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377\377\377\377\377\377\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377\276\377\377\377\377\377\377\377\377"
- "\377\377\377\225\000\000\000\000\377\377\377\377\377\377\377\377\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\377\377"
- "\377\377\377\377\377\377\000\000\000\000\377\377\377I\377\377\377\373\377\377\377"
- "\377\377\377\377\325\377\377\377\033\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\377\377"
- "\377\377\377\377\377\377\000\000\000\000\000\000\000\000\377\377\377)\000\000\000\000\000\000\000\000\000\000"
- "\000\000\377\377\377\306\377\377\377\376\377\377\377l\000\000\000\000\377\377\377\377"
- "\377\377\377\377\000\000\000\000\377\377\377K\377\377\377\374\377\377\377\375\377"
- "\377\377q\000\000\000\000\377\377\377\033\377\377\377\362\377\377\377\366\377\377"
- "\377%\377\377\377\377\377\377\377\377\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377"
- "\334\377\377\377\377\377\377\377\376\377\377\377\360\377\377\377\033\000\000\000"
- "\000\000\000\000\000\377\377\377\377\377\377\377\377\000\000\000\000\377\377\377\224\377\377"
- "\377\377\377\377\377\243\000\000\000\000\000\000\000\000\377\377\377\223\377\377\377\377"
- "\377\377\377\327\000\000\000\000\377\377\377\377\377\377\377\377\000\000\000\000\377\377"
- "\377s\377\377\377\376\377\377\377\375\377\377\377_\000\000\000\000\000\000\000\000\377\377"
- "\377z\377\377\377\257\000\000\000\000\377\377\377\377\377\377\377\377\000\000\000\000\377"
- "\377\377\313\377\377\377\376\377\377\377U\000\000\000\000\377\377\377\033\377\377"
- "\377\353\377\377\377\377\377\377\377\333\000\000\000\000\377\377\377\377\377\377"
- "\377\377\000\000\000\000\377\377\377K\377\377\377\374\377\377\377\326\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377\377\377\377\377\377\000\000"
- "\000\000\377\377\377\013\377\377\377\355\377\377\377\366\377\377\377\033\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377\377\377\377\377\377\000\000\000"
- "\000\377\377\377\247\377\377\377\377\377\377\377\364\377\377\377)\000\000\000\000\000"
- "\000\000\000\377\377\377\246\377\377\377\213\000\000\000\000\377\377\377\377\377\377\377"
- "\377\000\000\000\000\377\377\377\313\377\377\377\376\377\377\377i\000\000\000\000\000\000\000\000"
- "\377\377\377\013\377\377\377\355\377\377\377\366\377\377\377%\377\377\377"
- "\377\377\377\377\377\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377\355\377"
- "\377\377\363\377\377\377\013\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377\377\377\377"
- "\377\377\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377\213"
- "\377\377\377\377\377\377\377\252\000\000\000\000\377\377\377\377\377\377\377\377"
- "\000\000\000\000\377\377\377\224\377\377\377\377\377\377\377\252\000\000\000\000\377\377"
- "\377\270\377\377\377\377\377\377\377\355\377\377\377\033\000\000\000\000\377\377\377"
- "\377\377\377\377\377\000\000\000\000\377\377\377\013\377\377\377\355\377\377\377\366"
- "\377\377\377%\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377\377\377"
- "\377\377\377\000\000\000\000\377\377\377\307\377\377\377\377\377\377\377\375\377"
- "\377\377\070\377\377\377\013\377\377\377\352\377\377\377\377\377\377\377\327"
- "\000\000\000\000\377\377\377\377\377\377\377\377\000\000\000\000\377\377\377\307\377\377"
- "\377\377\377\377\377\377\377\377\377\251\000\000\000\000\377\377\377\013\377\377\377"
- "\361\377\377\377\333\000\000\000\000\377\377\377\377\377\377\377\377\000\000\000\000\377"
- "\377\377\313\377\377\377\377\377\377\377\315\000\000\000\000\000\000\000\000\377\377\377"
- "\253\377\377\377\377\377\377\377\346\000\000\000\000\377\377\377\377\377\377\377"
- "\377\000\000\000\000\377\377\377\224\377\377\377\377\377\377\377\243\000\000\000\000\000\000"
- "\000\000\377\377\377\025\377\377\377\356\377\377\377\376\377\377\377l\377\377"
- "\377\377\377\377\377\377\000\000\000\000\377\377\377\313\377\377\377\377\377\377"
- "\377\310\000\000\000\000\000\000\000\000\377\377\377\253\377\377\377\377\377\377\377\342"
- "\000\000\000\000\377\377\377\377\377\377\377\377\000\000\000\000\377\377\377\224\377\377"
- "\377\377\377\377\377\243\000\000\000\000\000\000\000\000\377\377\377!\377\377\377\371\377"
- "\377\377\367\377\377\377)\377\377\377\377\377\377\377\377\000\000\000\000\377\377"
- "\377\232\377\377\377\377\377\377\377\315\000\000\000\000\000\000\000\000\000\000\000\000\377\377"
- "\377\302\377\377\377z\000\000\000\000\377\377\377\377\377\377\377\377\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\377\377\377\355\377\377\377\363\377\377\377\013\000\000\000"
- "\000\000\000\000\000\000\000\000\000\377\377\377\377\377\377\377\377\000\000\000\000\377\377\377\313"
- "\377\377\377\376\377\377\377i\000\000\000\000\000\000\000\000\377\377\377\013\377\377\377"
- "\355\377\377\377\366\377\377\377%\377\377\377\377\377\377\377\377\000\000\000\000"
- "\377\377\377\312\377\377\377\377\377\377\377\215\000\000\000\000\000\000\000\000\377\377"
- "\377K\377\377\377\374\377\377\377\347\000\000\000\000\377\377\377\377\377\377\377"
- "\377\377\377\377\247\377\377\377\377\377\377\377\206\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\377\377\377K\377\377\377\374\377\377\377\333\377\377\377\377"
- "\377\377\377\377\000\000\000\000\000\000\000\000\377\377\377\342\377\377\377\376\377\377"
- "\377v\377\377\377\033\377\377\377\366\377\377\377\367\377\377\377)\000\000\000\000"
- "\377\377\377\377\377\377\377\377\000\000\000\000\377\377\377\214\377\377\377\377"
- "\377\377\377\316\000\000\000\000\000\000\000\000\377\377\377\232\377\377\377\377\377\377"
- "\377\264\000\000\000\000\377\377\377\377\377\377\377\377\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\377\377\377\025\377\377\377\356\377\377\377\376\377\377\377"
- "v\000\000\000\000\377\377\377\377\377\377\377\377\000\000\000\000\000\000\000\000\000\000\000\000\377\377"
- "\377\224\377\377\377\376\377\377\377i\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\377"
- "\377\377\377\377\377\377\377\000\000\000\000\000\000\000\000\377\377\377}\377\377\377\377"
- "\377\377\377\277\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377\377"
- "\377\377\377\377\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377\013\377\377\377"
- "\364\377\377\377\254\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377\377\377\377\377"
- "\377\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377\335\377\377\377\370\377\377\377"
- "\353\377\377\377\363\377\377\377%\000\000\000\000\000\000\000\000\377\377\377\377\377\377"
- "\377\377\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\377\377\377\377\377\377\377\377\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377\377"
- "\377\377\377\377\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377)\377\377\377"
- "V\377\377\377\033\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377\377\377\377\377\377"
- "\000\000\000\000\377\377\377\224\377\377\377\376\377\377\377b\000\000\000\000\377\377\377"
- "S\377\377\377\065\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377\377\377\377\377\377"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377S\377\377\377I\000\000\000"
- "\000\000\000\000\000\000\000\000\000\377\377\377\377\377\377\377\377\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\377\377\377S\377\377\377\065\377\377\377;\377\377\377\374\377\377"
- "\377\333\000\000\000\000\377\377\377\377\377\377\377\377\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\377\377\377)\377\377\377V\377\377\377\013\000\000\000\000\000\000\000\000\000\000\000\000"
- "\377\377\377\377\377\377\377\377\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377;\377"
- "\377\377\374\377\377\377\326\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377"
- "\377\377\377\377\377\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377E\377\377"
- "\377E\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377\377\377\377\377\377\000\000"
- "\000\000\377\377\377\224\377\377\377\376\377\377\377b\000\000\000\000\377\377\377E\377"
- "\377\377S\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377\377\377\377\377\377\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\377\377\377\377\377\377\377\377\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377\377\377\377\377\377"
- "\000\000\000\000\377\377\377K\377\377\377\375\377\377\377\252\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377\377\377\377\377\377\000\000\000\000\000\000"
- "\000\000\000\000\000\000\377\377\377\013\377\377\377\361\377\377\377\333\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\377\377\377\377\377\377\377\377\000\000\000\000\000\000\000\000\000\000\000"
- "\000\377\377\377)\377\377\377X\000\000\000\000\000\000\000\000\377\377\377V\000\000\000\000\000\000\000\000"
- "\377\377\377\377\377\377\377\377\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\377\377\377E\377\377\377S\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377\377\377\377"
- "\377\377\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377E\377\377\377K\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377\377\377\377\377\377\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377S\377\377\377\065\000\000\000\000\000\000\000\000\000"
- "\000\000\000\377\377\377\377\377\377\377\377\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\377"
- "\377\377S\377\377\377\065\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377\377"
- "\377\377\377\377\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\377\377"
- "\377)\377\377\377U\000\000\000\000\000\000\000\000\377\377\377\377\377\377\377\377\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377E\377\377\377U\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\377\377\377\377\377\377\377\377\000\000\000\000\000\000\000\000\000\000\000\000\377"
- "\377\377\313\377\377\377\376\377\377\377b\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\377\377\377\377\377\377\377\377\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377\377\377\377\377\377"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\377\377\377\377\377\377\377\377\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377\377\377\377"
- "\377\377\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\377\377\377\377\377\377\377\377\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377\377"
- "\377\377\377\377\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377\377\377\377\377\377\000\000\000\000\000\000\000\000"
- "\000\000\000\000\377\377\377\013\377\377\377\361\377\377\377\333\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\377\377\377\377\377\377\377\377\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\377\377\377\313\377\377\377\371\377\377\377%\000\000\000\000\000\000\000\000\000\000\000"
- "\000\377\377\377\377\377\377\377\377\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\377\377"
- "\377\313\377\377\377\371\377\377\377%\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377"
- "\377\377\377\377\377\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377\377\377\377\377\377\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\377\377\377\000\377\377\377\000\377\377\377\006\000\000\000\000\000"
- "\000\000\000\000\000\000\000\377\377\377\377\377\377\377\377\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\377\377\377\313\377\377\377\371\377\377\377%\000\000\000\000\000\000\000\000\000\000\000"
- "\000\377\377\377\377\377\377\377\377\000\000\000\000\000\000\000\000\377\377\377\313\377\377"
- "\377\376\377\377\377l\377\377\377\033\377\377\377\364\377\377\377\352\377"
- "\377\377\013\000\000\000\000\377\377\377\377\377\377\377\377\000\000\000\000\377\377\377\062"
- "\377\377\377\274\377\377\377\361\377\377\377\375\377\377\377\265\377\377"
- "\377\367\377\377\377\372\377\377\377\221\000\000\000\000\377\377\377\377\377\377"
- "\377\377\000\000\000\000\377\377\377V\377\377\377\374\377\377\377\336\000\000\000\000\000\000"
- "\000\000\377\377\377\065\377\377\377\261\377\377\377\013\000\000\000\000\377\377\377\377"
- "\377\377\377\377\377\377\377\232\377\377\377\371\377\377\377\033\377\377\377"
- ";\377\377\377\374\377\377\377\217\377\377\377\335\377\377\377\375\377\377"
- "\377\\\000\000\000\000\377\377\377\377\377\377\377\377\000\000\000\000\377\377\377\033\377"
- "\377\377\371\377\377\377\333\377\377\377e\377\377\377\374\377\377\377\326"
- "\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377\377\377\377\377\377\000\000\000\000\000\000\000\000"
- "\000\000\000\000\377\377\377\013\377\377\377\361\377\377\377\364\377\377\377%\000\000"
- "\000\000\000\000\000\000\000\000\000\000\377\377\377\377\377\377\377\377\000\000\000\000\000\000\000\000\000\000"
- "\000\000\377\377\377b\377\377\377\375\377\377\377\333\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\377\377\377\377\377\377\377\377\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\377\377\377\266\377\377\377\377\377\377\377\227\000\000\000\000\000\000\000\000\000\000\000\000"
- "\377\377\377\377\377\377\377\377\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\377\377"
- "\377\316\377\377\377\334\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377\377"
- "\377\377\377\377\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377\313\377\377"
- "\377\371\377\377\377%\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377\377\377\377\377"
- "\377\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\377\377\377\377\377\377\377\377\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377\377\377"
- "\377\377\377\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\377\377\377\377\377\377\377\377\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\377\377\377\335\377\377\377\375\377\377\377=\000\000\000\000"
- "\000\000\000\000\377\377\377\377\377\377\377\377\000\000\000\000\377\377\377\306\377\377"
- "\377\377\377\377\377\225\000\000\000\000\000\000\000\000\377\377\377`\377\377\377\375\377"
- "\377\377\346\000\000\000\000\377\377\377\377\377\377\377\377\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\377\377\377\213\377\377\377\376\377\377\377i\000\000\000\000\000\000\000\000"
- "\000\000\000\000\377\377\377\377\377\377\377\377\000\000\000\000\377\377\377\062\377\377\377"
- "f\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377\253\377\377\377\376\377\377\377i\000"
- "\000\000\000\377\377\377\377\377\377\377\377\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\377\377\377\231\377\377\377\377\377\377\377\257\000\000\000\000\377"
- "\377\377\377\377\377\377\377\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377\313\377"
- "\377\377\377\377\377\377\356\377\377\377\374\377\377\377\332\000\000\000\000\000\000"
- "\000\000\377\377\377\377\377\377\377\377\000\000\000\000\377\377\377K\377\377\377\374"
- "\377\377\377\326\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\377\377"
- "\377\377\377\377\377\377\000\000\000\000\377\377\377\224\377\377\377\377\377\377"
- "\377\326\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377\377"
- "\377\377\377\377\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377b\377"
- "\377\377\375\377\377\377\347\377\377\377\013\000\000\000\000\377\377\377\377\377\377"
- "\377\377\000\000\000\000\377\377\377U\377\377\377\375\377\377\377\266\000\000\000\000\000\000"
- "\000\000\377\377\377;\377\377\377\374\377\377\377\236\000\000\000\000\377\377\377\377"
- "\377\377\377\377\377\377\377\025\377\377\377\361\377\377\377\367\377\377\377"
- ")\000\000\000\000\000\000\000\000\377\377\377j\377\377\377\376\377\377\377\322\000\000\000\000\377"
- "\377\377\377\377\377\377\377\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377\214\377"
- "\377\377\377\377\377\377\377\377\377\377\260\000\000\000\000\000\000\000\000\000\000\000\000\377"
- "\377\377\377\377\377\377\377\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377\214\377"
- "\377\377\377\377\377\377\377\377\377\377\260\000\000\000\000\000\000\000\000\000\000\000\000\377"
- "\377\377\377\377\377\377\377\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377G\377\377"
- "\377\350\377\377\377\377\377\377\377\367\377\377\377y\000\000\000\000\000\000\000\000\377"
- "\377\377\377\377\377\377\377\000\000\000\000\377\377\377\207\377\377\377\307\377"
- "\377\377\304\377\377\377\304\377\377\377\304\377\377\377\304\377\377\377"
- "\304\377\377\377\243\000\000\000\000\377\377\377\377\377\377\377\377\000\000\000\000\000\000"
- "\000\000\377\377\377S\377\377\377\351\377\377\377\377\377\377\377\365\377\377"
- "\377n\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377\377\377\377\377\377\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377\013\377\377\377\345\377\377\377\376"
- "\377\377\377_\000\000\000\000\377\377\377\377\377\377\377\377\000\000\000\000\377\377\377"
- "\273\377\377\377\377\377\377\377\234\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377"
- "\232\377\377\377\376\377\377\377i\377\377\377\377\377\377\377\377\000\000\000\000"
- "\000\000\000\000\377\377\377;\377\377\377\373\377\377\377\344\377\377\377\317\377"
- "\377\377\376\377\377\377v\000\000\000\000\000\000\000\000\377\377\377\377\377\377\377\377"
- "\000\000\000\000\377\377\377\224\377\377\377\377\377\377\377\252\000\000\000\000\000\000\000\000"
- "\377\377\377X\377\377\377\375\377\377\377\327\000\000\000\000\377\377\377\377\377"
- "\377\377\377\000\000\000\000\377\377\377\300\377\377\377\377\377\377\377\277\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377\377\377\377\377"
- "\377\000\000\000\000\377\377\377\313\377\377\377\376\377\377\377i\000\000\000\000\000\000\000\000"
- "\377\377\377K\377\377\377\374\377\377\377\375\377\377\377Q\377\377\377\377"
- "\377\377\377\377\000\000\000\000\377\377\377K\377\377\377\374\377\377\377\332\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377\377\377\377\377"
- "\377\000\000\000\000\377\377\377\013\377\377\377\355\377\377\377\366\377\377\377)"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377\377\377\377\377\377"
- "\000\000\000\000\377\377\377\342\377\377\377\377\377\377\377\225\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377\377\377\377\377\377\000\000\000\000"
- "\377\377\377\313\377\377\377\376\377\377\377b\000\000\000\000\000\000\000\000\377\377\377"
- "\013\377\377\377\355\377\377\377\366\377\377\377%\377\377\377\377\377\377"
- "\377\377\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377\013\377\377\377\355\377\377\377"
- "\366\377\377\377)\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377\377\377\377\377\377"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377\224\377\377"
- "\377\377\377\377\377\252\000\000\000\000\377\377\377\377\377\377\377\377\000\000\000\000"
- "\377\377\377\224\377\377\377\377\377\377\377\237\377\377\377\203\377\377"
- "\377\377\377\377\377\375\377\377\377Q\000\000\000\000\000\000\000\000\377\377\377\377\377"
- "\377\377\377\000\000\000\000\377\377\377\013\377\377\377\355\377\377\377\366\377\377"
- "\377%\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377\377\377\377\377"
- "\377\000\000\000\000\377\377\377\312\377\377\377\377\377\377\377\377\377\377\377"
- "\217\377\377\377X\377\377\377\375\377\377\377\373\377\377\377\332\000\000\000\000"
- "\377\377\377\377\377\377\377\377\000\000\000\000\377\377\377\313\377\377\377\373"
- "\377\377\377\371\377\377\377\366\377\377\377%\377\377\377\013\377\377\377"
- "\361\377\377\377\333\000\000\000\000\377\377\377\377\377\377\377\377\377\377\377"
- "\033\377\377\377\362\377\377\377\375\377\377\377\\\000\000\000\000\000\000\000\000\377\377"
- "\377\033\377\377\377\366\377\377\377\375\377\377\377Q\377\377\377\377\377"
- "\377\377\377\000\000\000\000\377\377\377\224\377\377\377\377\377\377\377\252\000\000"
- "\000\000\000\000\000\000\000\000\000\000\377\377\377\306\377\377\377\375\377\377\377\\\377\377"
- "\377\377\377\377\377\377\377\377\377\033\377\377\377\362\377\377\377\375\377"
- "\377\377Q\000\000\000\000\000\000\000\000\377\377\377!\377\377\377\371\377\377\377\375\377"
- "\377\377M\377\377\377\377\377\377\377\377\000\000\000\000\377\377\377\224\377\377"
- "\377\377\377\377\377\252\000\000\000\000\000\000\000\000\377\377\377\025\377\377\377\370\377"
- "\377\377\364\377\377\377%\377\377\377\377\377\377\377\377\000\000\000\000\377\377"
- "\377\232\377\377\377\377\377\377\377\304\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\377\377\377\377\377\377\377\377\000\000\000\000\000\000\000\000\000\000\000\000"
- "\377\377\377\013\377\377\377\355\377\377\377\366\377\377\377)\000\000\000\000\000\000"
- "\000\000\000\000\000\000\377\377\377\377\377\377\377\377\000\000\000\000\377\377\377\313\377"
- "\377\377\376\377\377\377i\000\000\000\000\000\000\000\000\377\377\377\013\377\377\377\355"
- "\377\377\377\366\377\377\377%\377\377\377\377\377\377\377\377\000\000\000\000\377"
- "\377\377\204\377\377\377\377\377\377\377\311\000\000\000\000\000\000\000\000\377\377\377"
- "\224\377\377\377\377\377\377\377\260\000\000\000\000\377\377\377\377\377\377\377"
- "\377\377\377\377\222\377\377\377\377\377\377\377\252\000\000\000\000\377\377\377"
- "\307\377\377\377\355\377\377\377%\377\377\377K\377\377\377\374\377\377\377"
- "\260\377\377\377\377\377\377\377\377\000\000\000\000\000\000\000\000\377\377\377l\377\377"
- "\377\376\377\377\377\333\377\377\377\243\377\377\377\377\377\377\377\244"
- "\000\000\000\000\000\000\000\000\377\377\377\377\377\377\377\377\000\000\000\000\377\377\377\013\377"
- "\377\377\345\377\377\377\375\377\377\377M\377\377\377\013\377\377\377\351"
- "\377\377\377\372\377\377\377)\000\000\000\000\377\377\377\377\377\377\377\377\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377\317\377\377\377\377\377"
- "\377\377\277\000\000\000\000\000\000\000\000\377\377\377\377\377\377\377\377\000\000\000\000\000\000"
- "\000\000\000\000\000\000\377\377\377\224\377\377\377\376\377\377\377i\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\377\377\377\377\377\377\377\377\000\000\000\000\000\000\000\000\377\377"
- "\377\025\377\377\377\362\377\377\377\363\377\377\377%\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\377\377\377\377\377\377\377\377\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\377\377\377\013\377\377\377\364\377\377\377\254\000\000\000\000\000\000\000\000\000\000\000"
- "\000\377\377\377\377\377\377\377\377\000\000\000\000\000\000\000\000\377\377\377U\377\377\377"
- "\374\377\377\377\316\377\377\377\247\377\377\377\377\377\377\377\206\000\000"
- "\000\000\000\000\000\000\377\377\377\377\377\377\377\377\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377\377\377"
- "\377\377\377\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\377\377\377\377\377\377\377\377\000\000\000\000\000\000\000\000\377"
- "\377\377\216\377\377\377\345\377\377\377\377\377\377\377\377\377\377\377"
- "\376\377\377\377\275\000\000\000\000\000\000\000\000\377\377\377\377\377\377\377\377\000\000"
- "\000\000\377\377\377\224\377\377\377\376\377\377\377\271\377\377\377\364\377"
- "\377\377\377\377\377\377\377\377\377\377\313\377\377\377\013\000\000\000\000\377\377"
- "\377\377\377\377\377\377\000\000\000\000\000\000\000\000\377\377\377\013\377\377\377\272\377"
- "\377\377\371\377\377\377\377\377\377\377\377\377\377\377\355\377\377\377"
- "\200\000\000\000\000\377\377\377\377\377\377\377\377\000\000\000\000\000\000\000\000\377\377\377"
- "}\377\377\377\361\377\377\377\377\377\377\377\377\377\377\377\325\377\377"
- "\377\377\377\377\377\332\000\000\000\000\377\377\377\377\377\377\377\377\000\000\000\000"
- "\000\000\000\000\377\377\377\065\377\377\377\327\377\377\377\377\377\377\377\377\377"
- "\377\377\376\377\377\377\267\000\000\000\000\000\000\000\000\377\377\377\377\377\377\377"
- "\377\000\000\000\000\377\377\377\205\377\377\377\361\377\377\377\363\377\377\377"
- "\377\377\377\377\374\377\377\377\364\377\377\377\367\377\377\377\354\377"
- "\377\377%\377\377\377\377\377\377\377\377\000\000\000\000\000\000\000\000\377\377\377b\377"
- "\377\377\350\377\377\377\377\377\377\377\377\377\377\377\360\377\377\377"
- "\360\377\377\377\375\377\377\377\243\377\377\377\377\377\377\377\377\000\000"
- "\000\000\377\377\377\224\377\377\377\376\377\377\377\215\377\377\377\350\377"
- "\377\377\377\377\377\377\377\377\377\377\346\377\377\377\062\000\000\000\000\377\377"
- "\377\377\377\377\377\377\000\000\000\000\377\377\377\301\377\377\377\370\377\377"
- "\377\364\377\377\377\364\377\377\377\360\377\377\377\350\377\377\377%\000\000"
- "\000\000\000\000\000\000\377\377\377\377\377\377\377\377\000\000\000\000\377\377\377\301\377"
- "\377\377\370\377\377\377\364\377\377\377\364\377\377\377\360\377\377\377"
- "\350\377\377\377%\000\000\000\000\000\000\000\000\377\377\377\377\377\377\377\377\000\000\000\000"
- "\377\377\377K\377\377\377\375\377\377\377\252\000\000\000\000\000\000\000\000\377\377\377"
- "S\377\377\377\354\377\377\377\363\377\377\377I\377\377\377\377\377\377\377"
- "\377\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377\013\377\377\377\361\377\377\377\333"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377\377\377\377\377\377\377\377"
- "\377\013\377\377\377\342\377\377\377\332\377\377\377\374\377\377\377\377\377"
- "\377\377\276\377\377\377\353\377\377\377\377\377\377\377\352\377\377\377"
- ")\377\377\377\377\377\377\377\377\000\000\000\000\377\377\377\214\377\377\377\371"
- "\377\377\377\212\377\377\377\350\377\377\377\377\377\377\377\377\377\377"
- "\377\346\377\377\377\062\000\000\000\000\377\377\377\377\377\377\377\377\000\000\000\000\000"
- "\000\000\000\377\377\377u\377\377\377\351\377\377\377\377\377\377\377\377\377\377"
- "\377\364\377\377\377\222\000\000\000\000\000\000\000\000\377\377\377\377\377\377\377\377"
- "\000\000\000\000\377\377\377\213\377\377\377\371\377\377\377\262\377\377\377\365"
- "\377\377\377\377\377\377\377\377\377\377\377\313\377\377\377\013\000\000\000\000\377"
- "\377\377\377\377\377\377\377\000\000\000\000\000\000\000\000\377\377\377}\377\377\377\361"
- "\377\377\377\377\377\377\377\377\377\377\377\310\377\377\377\347\377\377"
- "\377\315\000\000\000\000\377\377\377\377\377\377\377\377\000\000\000\000\000\000\000\000\377\377"
- "\377\301\377\377\377\351\377\377\377)\377\377\377\326\377\377\377\377\377"
- "\377\377\377\377\377\377\372\377\377\377M\377\377\377\377\377\377\377\377"
- "\000\000\000\000\000\000\000\000\377\377\377\224\377\377\377\365\377\377\377\377\377\377"
- "\377\377\377\377\377\373\377\377\377\300\377\377\377=\000\000\000\000\377\377\377"
- "\377\377\377\377\377\377\377\377\013\377\377\377\332\377\377\377\360\377\377"
- "\377\373\377\377\377\377\377\377\377\376\377\377\377\364\377\377\377\367"
- "\377\377\377\354\377\377\377%\377\377\377\377\377\377\377\377\000\000\000\000\377"
- "\377\377\301\377\377\377\354\377\377\377\062\000\000\000\000\000\000\000\000\377\377\377I"
- "\377\377\377\364\377\377\377\275\000\000\000\000\377\377\377\377\377\377\377\377"
- "\377\377\377I\377\377\377\364\377\377\377\330\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\377\377\377\267\377\377\377\367\377\377\377\\\377\377\377\377\377\377"
- "\377\377\377\377\377\335\377\377\377\360\377\377\377\070\000\000\000\000\377\377\377"
- "~\377\377\377\224\000\000\000\000\377\377\377\013\377\377\377\332\377\377\377\342"
- "\377\377\377\377\377\377\377\377\000\000\000\000\377\377\377\275\377\377\377\373"
- "\377\377\377\255\000\000\000\000\000\000\000\000\377\377\377r\377\377\377\370\377\377\377"
- "\315\000\000\000\000\377\377\377\377\377\377\377\377\377\377\377I\377\377\377\364"
- "\377\377\377\330\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377\254\377\377"
- "\377\367\377\377\377\\\377\377\377\377\377\377\377\377\000\000\000\000\377\377\377"
- "K\377\377\377\365\377\377\377\364\377\377\377\364\377\377\377\364\377\377"
- "\377\360\377\377\377\360\377\377\377\354\377\377\377%\377\377\377\377\377"
- "\377\377\377\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377\013\377\377\377\361\377\377"
- "\377\333\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377\377\377\377\377\377"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377\313\377\377\377\371\377\377"
- "\377%\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377\377\377\377\377\377\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\377\377\377\313\377\377\377\371\377\377\377%\000\000\000\000"
- "\000\000\000\000\000\000\000\000\377\377\377\377\377\377\377\377\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377\377"
- "\377\377\377\377\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377\000\377\377\377"
- "\000\377\377\377\007\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377\377\377\377\377\377"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377\313\377\377\377\372\377\377"
- "\377)\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377\377\377\377\377\377\000\000\000\000\000\000"
- "\000\000\377\377\377\306\377\377\377\375\377\377\377\070\377\377\377\013\377\377"
- "\377\364\377\377\377\334\000\000\000\000\000\000\000\000\377\377\377\377\377\377\377\377"
- "\000\000\000\000\377\377\377K\377\377\377\364\377\377\377\376\377\377\377\370\377"
- "\377\377\364\377\377\377\376\377\377\377\374\377\377\377\320\000\000\000\000\377"
- "\377\377\377\377\377\377\377\000\000\000\000\377\377\377\070\377\377\377\372\377\377"
- "\377\376\377\377\377\307\377\377\377O\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\377"
- "\377\377\377\377\377\377\377\377\377\377\223\377\377\377\377\377\377\377"
- "\234\377\377\377\243\377\377\377\376\377\377\377\217\377\377\377\373\377"
- "\377\377v\000\000\000\000\000\000\000\000\377\377\377\377\377\377\377\377\000\000\000\000\000\000\000\000"
- "\377\377\377\331\377\377\377\377\377\377\377\377\377\377\377\367\377\377"
- "\377\070\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377\377\377\377\377\377\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\377\377\377\323\377\377\377\374\377\377\377)\000\000\000"
- "\000\000\000\000\000\000\000\000\000\377\377\377\377\377\377\377\377\000\000\000\000\000\000\000\000\000\000\000"
- "\000\377\377\377\245\377\377\377\377\377\377\377\215\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\377\377\377\377\377\377\377\377\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\377\377\377V\377\377\377\375\377\377\377\322\000\000\000\000\000\000\000\000\000\000\000\000\377"
- "\377\377\377\377\377\377\377\000\000\000\000\377\377\377\260\377\377\377\354\377"
- "\377\377\236\377\377\377\326\377\377\377\361\377\377\377\224\377\377\377"
- "\341\377\377\377\314\000\000\000\000\377\377\377\377\377\377\377\377\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\377\377\377\313\377\377\377\371\377\377\377%\000\000\000\000"
- "\000\000\000\000\000\000\000\000\377\377\377\377\377\377\377\377\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377\377"
- "\377\377\377\377\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377\377\377\377\377\377\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\377\377"
- "\377\377\377\377\377\377\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377K\377"
- "\377\377\374\377\377\377\333\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377\377\377"
- "\377\377\377\000\000\000\000\377\377\377\325\377\377\377\374\377\377\377\062\377\377"
- "\377\215\377\377\377\241\377\377\377\013\377\377\377\361\377\377\377\367\377"
- "\377\377)\377\377\377\377\377\377\377\377\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\377\377\377\224\377\377\377\376\377\377\377i\000\000\000\000\000\000\000\000\000\000\000\000\377"
- "\377\377\377\377\377\377\377\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\377\377\377\307\377\377\377\376\377\377\377l\000\000\000\000\377\377\377\377"
- "\377\377\377\377\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377\200"
- "\377\377\377\363\377\377\377\376\377\377\377s\000\000\000\000\377\377\377\377\377"
- "\377\377\377\000\000\000\000\000\000\000\000\377\377\377\240\377\377\377\377\377\377\377"
- "\363\377\377\377V\377\377\377\374\377\377\377\333\000\000\000\000\000\000\000\000\377\377"
- "\377\377\377\377\377\377\000\000\000\000\377\377\377K\377\377\377\374\377\377\377"
- "\333\377\377\377\274\377\377\377\310\377\377\377\251\377\377\377=\000\000\000\000"
- "\000\000\000\000\377\377\377\377\377\377\377\377\000\000\000\000\377\377\377\314\377\377"
- "\377\376\377\377\377l\377\377\377j\377\377\377\237\377\377\377\223\377\377"
- "\377%\000\000\000\000\000\000\000\000\377\377\377\377\377\377\377\377\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\377\377\377\342\377\377\377\376\377\377\377i\000\000\000\000"
- "\000\000\000\000\377\377\377\377\377\377\377\377\000\000\000\000\377\377\377\070\377\377\377"
- "\372\377\377\377\376\377\377\377\237\000\000\000\000\377\377\377\254\377\377\377"
- "\377\377\377\377\243\000\000\000\000\377\377\377\377\377\377\377\377\377\377\377"
- "\025\377\377\377\361\377\377\377\366\377\377\377\033\000\000\000\000\000\000\000\000\377\377"
- "\377\033\377\377\377\366\377\377\377\355\377\377\377\033\377\377\377\377\377"
- "\377\377\377\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377\232\377\377\377\377\377"
- "\377\377\377\377\377\377\323\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377\377\377"
- "\377\377\377\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377\232\377\377\377\377\377"
- "\377\377\377\377\377\377\323\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377\377\377"
- "\377\377\377\000\000\000\000\000\000\000\000\377\377\377\224\377\377\377\374\377\377\377"
- "\377\377\377\377\314\377\377\377\033\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377\377"
- "\377\377\377\377\000\000\000\000\377\377\377\274\377\377\377\377\377\377\377\370"
- "\377\377\377\370\377\377\377\370\377\377\377\370\377\377\377\373\377\377"
- "\377\321\000\000\000\000\377\377\377\377\377\377\377\377\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\377\377\377\264\377\377\377\377\377\377\377\377\377\377\377\262"
- "\000\000\000\000\000\000\000\000\377\377\377\377\377\377\377\377\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\377\377\377\013\377\377\377\337\377\377\377\377\377\377\377\271\000"
- "\000\000\000\000\000\000\000\377\377\377\377\377\377\377\377\377\377\377\025\377\377\377"
- "\361\377\377\377\352\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377U\377\377\377\237"
- "\377\377\377\376\377\377\377l\377\377\377\377\377\377\377\377\000\000\000\000\000\000"
- "\000\000\377\377\377\232\377\377\377\377\377\377\377\266\377\377\377\213\377"
- "\377\377\377\377\377\377\304\000\000\000\000\000\000\000\000\377\377\377\377\377\377\377"
- "\377\000\000\000\000\377\377\377\224\377\377\377\377\377\377\377\265\377\377\377"
- "E\377\377\377y\377\377\377\337\377\377\377\377\377\377\377\227\000\000\000\000\377"
- "\377\377\377\377\377\377\377\377\377\377\013\377\377\377\352\377\377\377\375"
- "\377\377\377Q\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377"
- "\377\377\377\377\377\000\000\000\000\377\377\377\313\377\377\377\376\377\377\377"
- "i\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377\324\377\377\377\376\377\377\377l\377"
- "\377\377\377\377\377\377\377\000\000\000\000\377\377\377K\377\377\377\374\377\377"
- "\377\337\377\377\377Z\377\377\377p\377\377\377p\377\377\377f\000\000\000\000\000\000"
- "\000\000\377\377\377\377\377\377\377\377\000\000\000\000\377\377\377\013\377\377\377\355"
- "\377\377\377\366\377\377\377)\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\377"
- "\377\377\377\377\377\377\377\377\377\377\065\377\377\377\371\377\377\377\367"
- "\377\377\377)\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377"
- "\377\377\377\377\377\000\000\000\000\377\377\377\313\377\377\377\376\377\377\377"
- "\224\377\377\377m\377\377\377v\377\377\377h\377\377\377\362\377\377\377\366"
- "\377\377\377%\377\377\377\377\377\377\377\377\000\000\000\000\000\000\000\000\000\000\000\000\377"
- "\377\377\013\377\377\377\355\377\377\377\366\377\377\377%\000\000\000\000\000\000\000\000"
- "\000\000\000\000\377\377\377\377\377\377\377\377\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\377\377\377\224\377\377\377\377\377\377\377\252\000\000\000\000"
- "\377\377\377\377\377\377\377\377\000\000\000\000\377\377\377\224\377\377\377\377"
- "\377\377\377\300\377\377\377\372\377\377\377\377\377\377\377\236\000\000\000\000"
- "\000\000\000\000\000\000\000\000\377\377\377\377\377\377\377\377\000\000\000\000\377\377\377\013\377"
- "\377\377\355\377\377\377\366\377\377\377%\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\377\377\377\377\377\377\377\377\000\000\000\000\377\377\377\313\377\377"
- "\377\370\377\377\377\366\377\377\377\317\377\377\377\243\377\377\377\376"
- "\377\377\377\372\377\377\377\333\000\000\000\000\377\377\377\377\377\377\377\377"
- "\000\000\000\000\377\377\377\313\377\377\377\367\377\377\377\304\377\377\377\377"
- "\377\377\377\251\377\377\377\013\377\377\377\361\377\377\377\333\000\000\000\000\377"
- "\377\377\377\377\377\377\377\377\377\377U\377\377\377\374\377\377\377\343"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377\314\377\377\377\376\377\377"
- "\377i\377\377\377\377\377\377\377\377\000\000\000\000\377\377\377\224\377\377\377"
- "\377\377\377\377\243\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377\335\377\377\377"
- "\376\377\377\377l\377\377\377\377\377\377\377\377\377\377\377U\377\377\377"
- "\374\377\377\377\336\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377\317\377"
- "\377\377\376\377\377\377l\377\377\377\377\377\377\377\377\000\000\000\000\377\377"
- "\377\224\377\377\377\377\377\377\377\243\000\000\000\000\000\000\000\000\377\377\377`\377"
- "\377\377\373\377\377\377\366\377\377\377%\377\377\377\377\377\377\377\377"
- "\000\000\000\000\377\377\377`\377\377\377\374\377\377\377\377\377\377\377\336\377"
- "\377\377\205\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377\377\377\377\377"
- "\377\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377\013\377\377\377\355\377\377\377\366"
- "\377\377\377%\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377\377\377\377\377\377\000\000"
- "\000\000\377\377\377\313\377\377\377\376\377\377\377i\000\000\000\000\000\000\000\000\377\377"
- "\377\013\377\377\377\355\377\377\377\366\377\377\377%\377\377\377\377\377"
- "\377\377\377\000\000\000\000\377\377\377\033\377\377\377\371\377\377\377\360\377\377"
- "\377\033\000\000\000\000\377\377\377\320\377\377\377\376\377\377\377_\000\000\000\000\377"
- "\377\377\377\377\377\377\377\377\377\377U\377\377\377\375\377\377\377\277"
- "\377\377\377\033\377\377\377\366\377\377\377\376\377\377\377m\377\377\377"
- "\213\377\377\377\377\377\377\377\243\377\377\377\377\377\377\377\377\000\000"
- "\000\000\000\000\000\000\000\000\000\000\377\377\377\324\377\377\377\377\377\377\377\377\377"
- "\377\377\355\377\377\377\033\000\000\000\000\000\000\000\000\377\377\377\377\377\377\377\377"
- "\000\000\000\000\000\000\000\000\377\377\377\204\377\377\377\377\377\377\377\304\377\377"
- "\377\204\377\377\377\377\377\377\377\260\000\000\000\000\000\000\000\000\377\377\377\377"
- "\377\377\377\377\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377\214\377\377"
- "\377\377\377\377\377\355\377\377\377\033\000\000\000\000\000\000\000\000\377\377\377\377\377"
- "\377\377\377\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377\224\377\377\377\376\377"
- "\377\377i\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377\377\377\377\377\377"
- "\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377\266\377\377\377\377\377\377\377\206"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377\377\377\377\377\377\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377\013\377\377\377\364\377\377\377\254\000"
- "\000\000\000\000\000\000\000\000\000\000\000\377\377\377\377\377\377\377\377\000\000\000\000\000\000\000\000\377"
- "\377\377\266\377\377\377\377\377\377\377\207\377\377\377K\377\377\377\374"
- "\377\377\377\327\000\000\000\000\000\000\000\000\377\377\377\377\377\377\377\377\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\377\377\377\377\377\377\377\377\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377\377\377\377\377\377"
- "\000\000\000\000\377\377\377}\377\377\377\377\377\377\377\373\377\377\377\313\377"
- "\377\377\303\377\377\377\374\377\377\377\377\377\377\377\252\000\000\000\000\377"
- "\377\377\377\377\377\377\377\000\000\000\000\377\377\377\224\377\377\377\377\377"
- "\377\377\377\377\377\377\351\377\377\377\300\377\377\377\365\377\377\377"
- "\377\377\377\377\316\000\000\000\000\377\377\377\377\377\377\377\377\000\000\000\000\377"
- "\377\377\013\377\377\377\346\377\377\377\377\377\377\377\365\377\377\377\305"
- "\377\377\377\315\377\377\377\376\377\377\377\366\377\377\377\033\377\377\377"
- "\377\377\377\377\377\000\000\000\000\377\377\377}\377\377\377\376\377\377\377\377"
- "\377\377\377\325\377\377\377\321\377\377\377\376\377\377\377\377\377\377"
- "\377\332\000\000\000\000\377\377\377\377\377\377\377\377\000\000\000\000\377\377\377\070\377"
- "\377\377\371\377\377\377\377\377\377\377\335\377\377\377\263\377\377\377"
- "\351\377\377\377\377\377\377\377\304\000\000\000\000\377\377\377\377\377\377\377"
- "\377\000\000\000\000\377\377\377S\377\377\377\330\377\377\377\343\377\377\377\377"
- "\377\377\377\364\377\377\377\327\377\377\377\333\377\377\377\322\377\377"
- "\377\033\377\377\377\377\377\377\377\377\000\000\000\000\377\377\377\070\377\377\377"
- "\372\377\377\377\376\377\377\377\275\377\377\377\307\377\377\377\376\377"
- "\377\377\377\377\377\377\324\377\377\377y\377\377\377\377\377\377\377\377"
- "\000\000\000\000\377\377\377\224\377\377\377\377\377\377\377\377\377\377\377\370"
- "\377\377\377\306\377\377\377\356\377\377\377\377\377\377\377\322\000\000\000\000"
- "\377\377\377\377\377\377\377\377\000\000\000\000\377\377\377\224\377\377\377\336"
- "\377\377\377\333\377\377\377\327\377\377\377\377\377\377\377\366\377\377"
- "\377)\000\000\000\000\000\000\000\000\377\377\377\377\377\377\377\377\000\000\000\000\377\377\377"
- "\224\377\377\377\336\377\377\377\333\377\377\377\327\377\377\377\377\377"
- "\377\377\366\377\377\377)\000\000\000\000\000\000\000\000\377\377\377\377\377\377\377\377"
- "\000\000\000\000\377\377\377K\377\377\377\375\377\377\377\252\000\000\000\000\377\377\377"
- "`\377\377\377\373\377\377\377\377\377\377\377\242\000\000\000\000\377\377\377\377"
- "\377\377\377\377\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377\013\377\377\377\361\377"
- "\377\377\333\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377\377\377\377\377"
- "\377\377\377\377\013\377\377\377\355\377\377\377\377\377\377\377\346\377\377"
- "\377\362\377\377\377\377\377\377\377\362\377\377\377\347\377\377\377\377"
- "\377\377\377\215\377\377\377\377\377\377\377\377\000\000\000\000\377\377\377\224"
- "\377\377\377\377\377\377\377\377\377\377\377\370\377\377\377\306\377\377"
- "\377\356\377\377\377\377\377\377\377\322\000\000\000\000\377\377\377\377\377\377"
- "\377\377\000\000\000\000\377\377\377u\377\377\377\376\377\377\377\377\377\377\377"
- "\321\377\377\377\307\377\377\377\375\377\377\377\377\377\377\377\243\000\000"
- "\000\000\377\377\377\377\377\377\377\377\000\000\000\000\377\377\377\224\377\377\377"
- "\377\377\377\377\377\377\377\377\352\377\377\377\300\377\377\377\365\377"
- "\377\377\377\377\377\377\316\000\000\000\000\377\377\377\377\377\377\377\377\000\000"
- "\000\000\377\377\377}\377\377\377\376\377\377\377\377\377\377\377\325\377\377"
- "\377\321\377\377\377\376\377\377\377\377\377\377\377\332\000\000\000\000\377\377"
- "\377\377\377\377\377\377\000\000\000\000\000\000\000\000\377\377\377\313\377\377\377\376"
- "\377\377\377\366\377\377\377\377\377\377\377\335\377\377\377\322\377\377"
- "\377\343\377\377\377%\377\377\377\377\377\377\377\377\000\000\000\000\377\377\377"
- "u\377\377\377\377\377\377\377\370\377\377\377\277\377\377\377\262\377\377"
- "\377\346\377\377\377\377\377\377\377\231\000\000\000\000\377\377\377\377\377\377"
- "\377\377\377\377\377\013\377\377\377\315\377\377\377\330\377\377\377\370\377"
- "\377\377\377\377\377\377\335\377\377\377\327\377\377\377\333\377\377\377"
- "\322\377\377\377\033\377\377\377\377\377\377\377\377\000\000\000\000\377\377\377\313"
- "\377\377\377\376\377\377\377l\000\000\000\000\000\000\000\000\377\377\377K\377\377\377\374"
- "\377\377\377\333\000\000\000\000\377\377\377\377\377\377\377\377\000\000\000\000\377\377"
- "\377\341\377\377\377\376\377\377\377v\000\000\000\000\000\000\000\000\377\377\377!\377\377"
- "\377\371\377\377\377\366\377\377\377)\377\377\377\377\377\377\377\377\377"
- "\377\377\313\377\377\377\377\377\377\377\205\377\377\377\013\377\377\377\364"
- "\377\377\377\376\377\377\377Q\377\377\377!\377\377\377\371\377\377\377\352"
- "\377\377\377\377\377\377\377\377\000\000\000\000\377\377\377I\377\377\377\372\377"
- "\377\377\376\377\377\377v\377\377\377\033\377\377\377\362\377\377\377\376"
- "\377\377\377}\000\000\000\000\377\377\377\377\377\377\377\377\000\000\000\000\377\377\377"
- "\335\377\377\377\376\377\377\377v\000\000\000\000\000\000\000\000\377\377\377\033\377\377"
- "\377\364\377\377\377\372\377\377\377\062\377\377\377\377\377\377\377\377\000"
- "\000\000\000\377\377\377\065\377\377\377\323\377\377\377\333\377\377\377\333\377"
- "\377\377\327\377\377\377\377\377\377\377\377\377\377\377\326\000\000\000\000\377"
- "\377\377\377\377\377\377\377\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377"
- "\320\377\377\377\355\377\377\377\013\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377\377"
- "\377\377\377\377\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377\313\377\377"
- "\377\371\377\377\377%\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377\377\377\377\377"
- "\377\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377\313\377\377\377\371\377"
- "\377\377\033\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377\377\377\377\377\377\000\000\000"
- "\000\000\000\000\000\377\377\377}\377\377\377\313\377\377\377\257\377\377\377\013\000"
- "\000\000\000\377\377\377\223\377\377\377\252\000\000\000\000\377\377\377\377\377\377\377"
- "\377\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377\000\377\377\377\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377\377\377\377\377\377\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\377\377\377\316\377\377\377\352\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\377\377\377\377\377\377\377\377\000\000\000\000\000\000\000\000\377\377\377z\377"
- "\377\377\325\377\377\377\033\377\377\377\013\377\377\377\314\377\377\377\267"
- "\000\000\000\000\000\000\000\000\377\377\377\377\377\377\377\377\000\000\000\000\000\000\000\000\377\377"
- "\377!\377\377\377\373\377\377\377\211\377\377\377!\377\377\377\374\377\377"
- "\377\200\000\000\000\000\000\000\000\000\377\377\377\377\377\377\377\377\000\000\000\000\000\000\000\000"
- "\377\377\377\205\377\377\377\370\377\377\377\377\377\377\377\377\377\377"
- "\377\345\377\377\377\200\000\000\000\000\000\000\000\000\377\377\377\377\377\377\377\377"
- "\377\377\377\013\377\377\377\333\377\377\377\377\377\377\377\377\377\377\377"
- "\321\000\000\000\000\377\377\377r\377\377\377z\377\377\377%\000\000\000\000\377\377\377\377"
- "\377\377\377\377\000\000\000\000\377\377\377\025\377\377\377\337\377\377\377\377\377"
- "\377\377\375\377\377\377\070\000\000\000\000\377\377\377U\377\377\377\365\377\377"
- "\377\256\377\377\377\377\377\377\377\377\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\377\377\377\255\377\377\377\275\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\377\377"
- "\377\377\377\377\377\377\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377\314\377\377"
- "\377\376\377\377\377b\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377\377\377"
- "\377\377\377\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377\033\377\377\377\371"
- "\377\377\377\333\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377\377\377\377\377\377"
- "\000\000\000\000\377\377\377~\377\377\377\347\377\377\377\377\377\377\377\377\377"
- "\377\377\377\377\377\377\377\377\377\377\361\377\377\377\227\000\000\000\000\377"
- "\377\377\377\377\377\377\377\000\000\000\000\377\377\377\312\377\377\377\377\377"
- "\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377"
- "\377\377\377\377\322\000\000\000\000\377\377\377\377\377\377\377\377\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\377"
- "\377\377\377\377\377\377\377\000\000\000\000\377\377\377\312\377\377\377\377\377"
- "\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377"
- "\377\377\377\377\322\000\000\000\000\377\377\377\377\377\377\377\377\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\377"
- "\377\377\377\377\377\377\377\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377"
- "\261\377\377\377\377\377\377\377\215\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377"
- "\377\377\377\377\377\377\377\377\025\377\377\377\361\377\377\377\363\377\377"
- "\377E\377\377\377\375\377\377\377\377\377\377\377V\377\377\377\324\377\377"
- "\377\366\377\377\377%\377\377\377\377\377\377\377\377\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\377\377\377\224\377\377\377\376\377\377\377i\000\000\000\000\000\000\000\000"
- "\000\000\000\000\377\377\377\377\377\377\377\377\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\377\377\377j\377\377\377\375\377\377\377\361\377\377\377%\000\000\000"
- "\000\377\377\377\377\377\377\377\377\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377\313"
- "\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\215\000\000\000\000"
- "\000\000\000\000\377\377\377\377\377\377\377\377\000\000\000\000\377\377\377b\377\377\377"
- "\374\377\377\377\375\377\377\377Q\377\377\377K\377\377\377\374\377\377\377"
- "\332\000\000\000\000\000\000\000\000\377\377\377\377\377\377\377\377\000\000\000\000\377\377\377"
- "K\377\377\377\375\377\377\377\377\377\377\377\374\377\377\377\376\377\377"
- "\377\377\377\377\377\375\377\377\377s\000\000\000\000\377\377\377\377\377\377\377"
- "\377\000\000\000\000\377\377\377\312\377\377\377\377\377\377\377\360\377\377\377"
- "\377\377\377\377\377\377\377\377\377\377\377\377\376\377\377\377\213\000\000"
- "\000\000\377\377\377\377\377\377\377\377\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\377"
- "\377\377}\377\377\377\377\377\377\377\315\000\000\000\000\000\000\000\000\000\000\000\000\377\377"
- "\377\377\377\377\377\377\000\000\000\000\000\000\000\000\377\377\377\215\377\377\377\377"
- "\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\333\000\000\000\000"
- "\000\000\000\000\377\377\377\377\377\377\377\377\000\000\000\000\377\377\377\321\377\377"
- "\377\377\377\377\377\315\377\377\377q\377\377\377\221\377\377\377\363\377"
- "\377\377\377\377\377\377\364\377\377\377)\377\377\377\377\377\377\377\377"
- "\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377G\377\377\377\330\377\377\377\343\377"
- "\377\377c\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377\377\377\377\377\377\000\000\000\000"
- "\000\000\000\000\000\000\000\000\377\377\377G\377\377\377\330\377\377\377\343\377\377\377"
- "c\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377\377\377\377\377\377\000\000\000\000\377\377"
- "\377V\377\377\377\375\377\377\377\376\377\377\377\214\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\377\377\377\377\377\377\377\377\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377"
- "\377\377\377\377\377\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377"
- "U\377\377\377\374\377\377\377\377\377\377\377m\000\000\000\000\377\377\377\377\377"
- "\377\377\377\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377\330\377\377\377"
- "\377\377\377\377\271\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377\377\377\377\377"
- "\377\377\377\377U\377\377\377\375\377\377\377\252\000\000\000\000\377\377\377\233"
- "\377\377\377\366\377\377\377\377\377\377\377\377\377\377\377\376\377\377"
- "\377i\377\377\377\377\377\377\377\377\000\000\000\000\000\000\000\000\377\377\377\334\377"
- "\377\377\376\377\377\377U\377\377\377!\377\377\377\371\377\377\377\363\377"
- "\377\377%\000\000\000\000\377\377\377\377\377\377\377\377\000\000\000\000\377\377\377\224"
- "\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377"
- "\377\377\377\377\377\371\377\377\377)\000\000\000\000\377\377\377\377\377\377\377"
- "\377\377\377\377\013\377\377\377\355\377\377\377\366\377\377\377%\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377\377\377\377\377\377"
- "\000\000\000\000\377\377\377\313\377\377\377\376\377\377\377i\000\000\000\000\000\000\000\000\000\000"
- "\000\000\377\377\377\313\377\377\377\376\377\377\377i\377\377\377\377\377\377"
- "\377\377\000\000\000\000\377\377\377K\377\377\377\374\377\377\377\377\377\377\377"
- "\377\377\377\377\377\377\377\377\377\377\377\377\375\377\377\377)\000\000\000\000"
- "\377\377\377\377\377\377\377\377\000\000\000\000\377\377\377\013\377\377\377\355\377"
- "\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377"
- "\376\377\377\377l\000\000\000\000\377\377\377\377\377\377\377\377\377\377\377K\377"
- "\377\377\374\377\377\377\333\000\000\000\000\000\000\000\000\377\377\377\247\377\377\377"
- "\327\377\377\377\322\377\377\377\300\377\377\377\013\377\377\377\377\377\377"
- "\377\377\000\000\000\000\377\377\377\312\377\377\377\377\377\377\377\377\377\377"
- "\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\364"
- "\377\377\377%\377\377\377\377\377\377\377\377\000\000\000\000\000\000\000\000\000\000\000\000\377"
- "\377\377\013\377\377\377\355\377\377\377\366\377\377\377%\000\000\000\000\000\000\000\000"
- "\000\000\000\000\377\377\377\377\377\377\377\377\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\377\377\377\224\377\377\377\377\377\377\377\252\000\000\000\000"
- "\377\377\377\377\377\377\377\377\000\000\000\000\377\377\377\224\377\377\377\377"
- "\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\332\000\000\000\000"
- "\000\000\000\000\000\000\000\000\377\377\377\377\377\377\377\377\000\000\000\000\377\377\377\013\377"
- "\377\377\355\377\377\377\366\377\377\377%\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\377\377\377\377\377\377\377\377\000\000\000\000\377\377\377\313\377\377"
- "\377\363\377\377\377\301\377\377\377\373\377\377\377\356\377\377\377\333"
- "\377\377\377\352\377\377\377\333\000\000\000\000\377\377\377\377\377\377\377\377"
- "\000\000\000\000\377\377\377\313\377\377\377\376\377\377\377w\377\377\377\371\377"
- "\377\377\366\377\377\377!\377\377\377\360\377\377\377\333\000\000\000\000\377\377"
- "\377\377\377\377\377\377\377\377\377K\377\377\377\374\377\377\377\327\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377\312\377\377\377\377\377\377\377"
- "\251\377\377\377\377\377\377\377\377\000\000\000\000\377\377\377\224\377\377\377"
- "\377\377\377\377\326\377\377\377\247\377\377\377\262\377\377\377\351\377"
- "\377\377\377\377\377\377\355\377\377\377\033\377\377\377\377\377\377\377\377"
- "\377\377\377K\377\377\377\374\377\377\377\343\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\377\377\377\313\377\377\377\376\377\377\377i\377\377\377\377\377\377"
- "\377\377\000\000\000\000\377\377\377\224\377\377\377\377\377\377\377\356\377\377"
- "\377\340\377\377\377\343\377\377\377\376\377\377\377\377\377\377\377\304"
- "\000\000\000\000\377\377\377\377\377\377\377\377\000\000\000\000\000\000\000\000\377\377\377}\377"
- "\377\377\365\377\377\377\377\377\377\377\377\377\377\377\364\377\377\377"
- "\247\000\000\000\000\000\000\000\000\377\377\377\377\377\377\377\377\000\000\000\000\000\000\000\000\000\000"
- "\000\000\377\377\377\013\377\377\377\355\377\377\377\366\377\377\377%\000\000\000\000"
- "\000\000\000\000\000\000\000\000\377\377\377\377\377\377\377\377\000\000\000\000\377\377\377\313"
- "\377\377\377\376\377\377\377i\000\000\000\000\000\000\000\000\377\377\377\013\377\377\377"
- "\355\377\377\377\366\377\377\377%\377\377\377\377\377\377\377\377\000\000\000\000"
- "\000\000\000\000\377\377\377\321\377\377\377\376\377\377\377i\377\377\377\033\377"
- "\377\377\365\377\377\377\355\377\377\377\013\000\000\000\000\377\377\377\377\377\377"
- "\377\377\377\377\377\070\377\377\377\372\377\377\377\327\377\377\377c\377"
- "\377\377\377\377\377\377\377\377\377\377\271\377\377\377\205\377\377\377"
- "\376\377\377\377i\377\377\377\377\377\377\377\377\000\000\000\000\000\000\000\000\000\000\000\000"
- "\377\377\377l\377\377\377\377\377\377\377\377\377\377\377\226\000\000\000\000\000\000"
- "\000\000\000\000\000\000\377\377\377\377\377\377\377\377\000\000\000\000\000\000\000\000\000\000\000\000\377"
- "\377\377\344\377\377\377\376\377\377\377\372\377\377\377\367\377\377\377"
- ")\000\000\000\000\000\000\000\000\377\377\377\377\377\377\377\377\000\000\000\000\000\000\000\000\000\000\000\000"
- "\377\377\377!\377\377\377\371\377\377\377\376\377\377\377i\000\000\000\000\000\000\000"
- "\000\000\000\000\000\377\377\377\377\377\377\377\377\000\000\000\000\000\000\000\000\000\000\000\000\377\377"
- "\377\224\377\377\377\376\377\377\377i\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\377"
- "\377\377\377\377\377\377\377\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377V\377\377"
- "\377\375\377\377\377\326\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377\377"
- "\377\377\377\377\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377\013\377\377\377"
- "\364\377\377\377\254\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377\377\377\377\377"
- "\377\000\000\000\000\377\377\377\033\377\377\377\364\377\377\377\363\377\377\377%"
- "\000\000\000\000\377\377\377\335\377\377\377\375\377\377\377M\000\000\000\000\377\377\377"
- "\377\377\377\377\377\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377\377\377\377\377\377\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\377"
- "\377\377\377\377\377\377\377\000\000\000\000\000\000\000\000\377\377\377\177\000\000\000\000\000\000"
- "\000\000\000\000\000\000\377\377\377\205\377\377\377\376\377\377\377\333\000\000\000\000\377"
- "\377\377\377\377\377\377\377\000\000\000\000\377\377\377\224\377\377\377\377\377"
- "\377\377\257\000\000\000\000\000\000\000\000\377\377\377;\377\377\377\373\377\377\377\372"
- "\377\377\377\070\377\377\377\377\377\377\377\377\000\000\000\000\377\377\377\247\377"
- "\377\377\377\377\377\377\345\377\377\377\033\000\000\000\000\000\000\000\000\377\377\377O"
- "\377\377\377X\000\000\000\000\377\377\377\377\377\377\377\377\377\377\377\013\377"
- "\377\377\351\377\377\377\377\377\377\377\252\000\000\000\000\000\000\000\000\377\377\377"
- "b\377\377\377\375\377\377\377\332\000\000\000\000\377\377\377\377\377\377\377\377"
- "\000\000\000\000\377\377\377\306\377\377\377\377\377\377\377\252\000\000\000\000\000\000\000\000"
- "\000\000\000\000\377\377\377\344\377\377\377\372\377\377\377)\377\377\377\377\377"
- "\377\377\377\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377%\377\377\377\374\377\377"
- "\377\326\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377\377\377\377\377\377"
- "\000\000\000\000\377\377\377\232\377\377\377\377\377\377\377\264\000\000\000\000\000\000\000\000"
- "\377\377\377\335\377\377\377\376\377\377\377Q\000\000\000\000\377\377\377\377\377"
- "\377\377\377\000\000\000\000\377\377\377\224\377\377\377\377\377\377\377\325\377"
- "\377\377\013\000\000\000\000\377\377\377;\377\377\377\373\377\377\377\363\377\377"
- "\377%\377\377\377\377\377\377\377\377\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\377\377\377\354\377\377\377\366\377\377\377%\000\000\000\000\000\000\000\000\377\377"
- "\377\377\377\377\377\377\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\377\377"
- "\377\354\377\377\377\366\377\377\377%\000\000\000\000\000\000\000\000\377\377\377\377\377"
- "\377\377\377\000\000\000\000\377\377\377K\377\377\377\375\377\377\377\237\377\377"
- "\377j\377\377\377\374\377\377\377\376\377\377\377\214\000\000\000\000\000\000\000\000\377"
- "\377\377\377\377\377\377\377\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377\013\377\377"
- "\377\361\377\377\377\333\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377\377"
- "\377\377\377\377\377\377\377\013\377\377\377\361\377\377\377\352\000\000\000\000\377"
- "\377\377\306\377\377\377\375\377\377\377=\377\377\377\211\377\377\377\377"
- "\377\377\377\252\377\377\377\377\377\377\377\377\000\000\000\000\377\377\377\224"
- "\377\377\377\377\377\377\377\325\377\377\377\013\000\000\000\000\377\377\377;\377"
- "\377\377\373\377\377\377\363\377\377\377%\377\377\377\377\377\377\377\377"
- "\377\377\377\013\377\377\377\351\377\377\377\377\377\377\377\243\000\000\000\000\000"
- "\000\000\000\377\377\377r\377\377\377\375\377\377\377\363\377\377\377%\377\377"
- "\377\377\377\377\377\377\000\000\000\000\377\377\377\224\377\377\377\377\377\377"
- "\377\257\000\000\000\000\000\000\000\000\377\377\377;\377\377\377\373\377\377\377\372\377"
- "\377\377\070\377\377\377\377\377\377\377\377\377\377\377\013\377\377\377\351"
- "\377\377\377\377\377\377\377\252\000\000\000\000\000\000\000\000\377\377\377b\377\377\377"
- "\375\377\377\377\332\000\000\000\000\377\377\377\377\377\377\377\377\000\000\000\000\000\000"
- "\000\000\377\377\377\312\377\377\377\377\377\377\377\372\377\377\377f\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377\377\377\377\377\377\000\000\000\000\377\377"
- "\377\224\377\377\377\377\377\377\377\333\377\377\377\013\000\000\000\000\000\000\000\000\377"
- "\377\377S\000\000\000\000\000\000\000\000\377\377\377\377\377\377\377\377\000\000\000\000\000\000\000\000"
- "\000\000\000\000\377\377\377\306\377\377\377\376\377\377\377U\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\377\377\377\377\377\377\377\377\000\000\000\000\377\377\377\313\377"
- "\377\377\376\377\377\377i\000\000\000\000\000\000\000\000\377\377\377K\377\377\377\374\377"
- "\377\377\333\000\000\000\000\377\377\377\377\377\377\377\377\000\000\000\000\377\377\377"
- "\204\377\377\377\377\377\377\377\322\000\000\000\000\000\000\000\000\377\377\377\241\377"
- "\377\377\377\377\377\377\264\000\000\000\000\377\377\377\377\377\377\377\377\377"
- "\377\377\224\377\377\377\377\377\377\377\266\377\377\377;\377\377\377\374"
- "\377\377\377\377\377\377\377\226\377\377\377l\377\377\377\377\377\377\377"
- "\300\377\377\377\377\377\377\377\377\000\000\000\000\000\000\000\000\377\377\377u\377\377"
- "\377\376\377\377\377\361\377\377\377\325\377\377\377\377\377\377\377\252"
- "\000\000\000\000\000\000\000\000\377\377\377\377\377\377\377\377\000\000\000\000\377\377\377s\377"
- "\377\377\377\377\377\377\333\000\000\000\000\000\000\000\000\377\377\377\215\377\377\377"
- "\377\377\377\377\277\000\000\000\000\377\377\377\377\377\377\377\377\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377\314\377\377\377\377\377\377\377"
- "\333\000\000\000\000\000\000\000\000\377\377\377\377\377\377\377\377\000\000\000\000\000\000\000\000\377"
- "\377\377E\377\377\377\217\377\377\377\373\377\377\377\343\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\377\377\377\377\377\377\377\377\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\377\377\377\313\377\377\377\371\377\377\377%\000\000\000\000\000\000\000\000\000\000"
- "\000\000\377\377\377\377\377\377\377\377\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\377"
- "\377\377\313\377\377\377\376\377\377\377\247\377\377\377I\000\000\000\000\000\000\000\000"
- "\377\377\377\377\377\377\377\377\000\000\000\000\377\377\377\214\377\377\377\377"
- "\377\377\377\377\377\377\377\377\377\377\377\364\377\377\377\245\377\377"
- "\377\372\377\377\377\355\000\000\000\000\377\377\377\377\377\377\377\377\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377\000\377\377\377\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\377\377\377\377\377\377\377\377\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\377\377\377\324\377\377\377\343\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\377"
- "\377\377\377\377\377\377\377\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377\377\377\377\377\377\000\000"
- "\000\000\377\377\377\205\377\377\377\271\377\377\377\376\377\377\377\303\377"
- "\377\377\262\377\377\377\377\377\377\377\315\377\377\377l\000\000\000\000\377\377"
- "\377\377\377\377\377\377\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377\220"
- "\377\377\377\341\377\377\377\377\377\377\377\377\377\377\377\233\000\000\000\000"
- "\377\377\377\377\377\377\377\377\000\000\000\000\000\000\000\000\377\377\377\013\377\377\377"
- "\257\377\377\377)\377\377\377\313\377\377\377\377\377\377\377\377\377\377"
- "\377\375\377\377\377\\\377\377\377\377\377\377\377\377\377\377\377\013\377"
- "\377\377\342\377\377\377\377\377\377\377\373\377\377\377\377\377\377\377"
- "\265\000\000\000\000\377\377\377\266\377\377\377\377\377\377\377\215\377\377\377"
- "\377\377\377\377\377\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377\377\377\377\377\377\000\000\000\000\000\000"
- "\000\000\000\000\000\000\377\377\377\313\377\377\377\371\377\377\377%\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\377\377\377\377\377\377\377\377\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\377\377\377\013\377\377\377\360\377\377\377\333\000\000\000\000\000\000\000\000\000"
- "\000\000\000\377\377\377\377\377\377\377\377\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377"
- "\261\377\377\377\377\377\377\377\377\377\377\377\332\000\000\000\000\000\000\000\000\000\000"
- "\000\000\377\377\377\377\377\377\377\377\000\000\000\000\377\377\377`\377\377\377\262"
- "\377\377\377\251\377\377\377\354\377\377\377\373\377\377\377\261\377\377"
- "\377\262\377\377\377\224\000\000\000\000\377\377\377\377\377\377\377\377\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\377\377\377\377\377\377\377\377\000\000\000\000\377\377\377v\377\377\377\263\377"
- "\377\377\255\377\377\377\255\377\377\377\255\377\377\377\255\377\377\377"
- "\263\377\377\377\224\000\000\000\000\377\377\377\377\377\377\377\377\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\377"
- "\377\377\377\377\377\377\377\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377\013\377\377"
- "\377\356\377\377\377\366\377\377\377%\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377"
- "\377\377\377\377\377\377\377\377\013\377\377\377\356\377\377\377\363\371\371"
- "\377.\377\377\377\362\377\377\377\375\377\377\377B\377\377\377\335\377\377"
- "\377\366\377\377\377%\377\377\377\377\377\377\377\377\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\377\377\377\224\377\377\377\376\377\377\377i\000\000\000\000\000\000\000\000"
- "\000\000\000\000\377\377\377\377\377\377\377\377\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\377\377\377U\377\377\377\373\377\377\377\376\377\377\377s\000\000\000\000\000\000\000"
- "\000\377\377\377\377\377\377\377\377\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377\205"
- "\377\377\377\271\377\377\377\332\377\377\377\377\377\377\377\373\377\377"
- "\377r\000\000\000\000\377\377\377\377\377\377\377\377\377\377\377\033\377\377\377"
- "\362\377\377\377\377\377\377\377\242\377\377\377E\377\377\377x\377\377\377"
- "\374\377\377\377\336\377\377\377K\377\377\377\013\377\377\377\377\377\377"
- "\377\377\000\000\000\000\000\000\000\000\377\377\377\216\377\377\377]\000\000\000\000\000\000\000\000\377"
- "\377\377\251\377\377\377\377\377\377\377\333\000\000\000\000\377\377\377\377\377"
- "\377\377\377\000\000\000\000\377\377\377\312\377\377\377\377\377\377\377\356\377"
- "\377\377v\000\000\000\000\377\377\377\220\377\377\377\374\377\377\377\363\377\377"
- "\377\033\377\377\377\377\377\377\377\377\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\377"
- "\377\377\324\377\377\377\376\377\377\377i\000\000\000\000\000\000\000\000\000\000\000\000\377\377"
- "\377\377\377\377\377\377\000\000\000\000\377\377\377j\377\377\377\374\377\377\377"
- "\367\377\377\377\260\377\377\377\342\377\377\377\377\377\377\377\376\377"
- "\377\377\224\000\000\000\000\377\377\377\377\377\377\377\377\000\000\000\000\377\377\377"
- "\065\377\377\377\347\377\377\377\377\377\377\377\377\377\377\377\377\377\377"
- "\377\343\377\377\377\374\377\377\377\360\377\377\377%\377\377\377\377\377"
- "\377\377\377\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\377\377\377\377\377\377\377\377\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377"
- "\377\377\377\377\377\000\000\000\000\377\377\377\025\377\377\377\337\377\377\377\377"
- "\377\377\377\361\377\377\377\200\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\377\377"
- "\377\377\377\377\377\377\000\000\000\000\377\377\377b\377\377\377\232\377\377\377"
- "\232\377\377\377\232\377\377\377\232\377\377\377\232\377\377\377\232\377"
- "\377\377}\000\000\000\000\377\377\377\377\377\377\377\377\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\377\377\377_\377\377\377\345\377\377\377\377\377\377\377\361\377"
- "\377\377\070\000\000\000\000\377\377\377\377\377\377\377\377\000\000\000\000\000\000\000\000\000\000\000"
- "\000\377\377\377V\377\377\377\376\377\377\377\344\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\377\377\377\377\377\377\377\377\377\377\377K\377\377\377\374\377\377"
- "\377\245\377\377\377l\377\377\377\377\377\377\377\344\377\377\377v\377\377"
- "\377;\377\377\377\375\377\377\377l\377\377\377\377\377\377\377\377\000\000\000"
- "\000\377\377\377;\377\377\377\373\377\377\377\376\377\377\377\301\377\377\377"
- "\271\377\377\377\374\377\377\377\376\377\377\377v\000\000\000\000\377\377\377\377"
- "\377\377\377\377\000\000\000\000\377\377\377\224\377\377\377\377\377\377\377\304"
- "\377\377\377e\377\377\377x\377\377\377\300\377\377\377\376\377\377\377\367"
- "\377\377\377)\377\377\377\377\377\377\377\377\377\377\377\013\377\377\377"
- "\361\377\377\377\367\377\377\377)\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\377\377\377\377\377\377\377\377\000\000\000\000\377\377\377\313\377\377"
- "\377\376\377\377\377i\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377\307\377\377\377"
- "\376\377\377\377i\377\377\377\377\377\377\377\377\000\000\000\000\377\377\377K\377"
- "\377\377\374\377\377\377\343\377\377\377|\377\377\377\202\377\377\377\211"
- "\377\377\377\202\377\377\377\013\000\000\000\000\377\377\377\377\377\377\377\377\000"
- "\000\000\000\377\377\377\013\377\377\377\355\377\377\377\373\377\377\377\300\377"
- "\377\377\276\377\377\377\276\377\377\377\302\377\377\377G\000\000\000\000\377\377"
- "\377\377\377\377\377\377\377\377\377U\377\377\377\374\377\377\377\352\377"
- "\377\377\013\000\000\000\000\377\377\377\307\377\377\377\374\377\377\377\377\377\377"
- "\377\372\377\377\377)\377\377\377\377\377\377\377\377\000\000\000\000\377\377\377"
- "\313\377\377\377\376\377\377\377\240\377\377\377\200\377\377\377\210\377"
- "\377\377\202\377\377\377\371\377\377\377\366\377\377\377%\377\377\377\377"
- "\377\377\377\377\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377\013\377\377\377\355\377"
- "\377\377\366\377\377\377%\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377\377\377\377"
- "\377\377\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377\224"
- "\377\377\377\377\377\377\377\252\000\000\000\000\377\377\377\377\377\377\377\377"
- "\000\000\000\000\377\377\377\224\377\377\377\377\377\377\377\377\377\377\377\311"
- "\377\377\377\343\377\377\377\377\377\377\377\225\000\000\000\000\000\000\000\000\377\377"
- "\377\377\377\377\377\377\000\000\000\000\377\377\377\013\377\377\377\355\377\377\377"
- "\366\377\377\377%\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377\377"
- "\377\377\377\377\000\000\000\000\377\377\377\313\377\377\377\366\377\377\377]\377"
- "\377\377\375\377\377\377\377\377\377\377\211\377\377\377\354\377\377\377"
- "\333\000\000\000\000\377\377\377\377\377\377\377\377\000\000\000\000\377\377\377\313\377"
- "\377\377\376\377\377\377V\377\377\377\252\377\377\377\377\377\377\377\244"
- "\377\377\377\354\377\377\377\334\000\000\000\000\377\377\377\377\377\377\377\377"
- "\377\377\377U\377\377\377\374\377\377\377\326\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\377\377\377\307\377\377\377\376\377\377\377\177\377\377\377\377\377"
- "\377\377\377\000\000\000\000\377\377\377\224\377\377\377\377\377\377\377\377\377"
- "\377\377\377\377\377\377\377\377\377\377\374\377\377\377\324\377\377\377"
- ")\000\000\000\000\377\377\377\377\377\377\377\377\377\377\377U\377\377\377\374\377"
- "\377\377\327\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377\307\377\377\377"
- "\376\377\377\377l\377\377\377\377\377\377\377\377\000\000\000\000\377\377\377\224"
- "\377\377\377\377\377\377\377\365\377\377\377\357\377\377\377\377\377\377"
- "\377\377\377\377\377\224\000\000\000\000\000\000\000\000\377\377\377\377\377\377\377\377"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377\210\377\377\377\335\377\377"
- "\377\377\377\377\377\377\377\377\377\315\000\000\000\000\377\377\377\377\377\377"
- "\377\377\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377\013\377\377\377\355\377\377\377"
- "\366\377\377\377%\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377\377\377\377\377\377"
- "\000\000\000\000\377\377\377\313\377\377\377\376\377\377\377i\000\000\000\000\000\000\000\000\377"
- "\377\377\013\377\377\377\355\377\377\377\366\377\377\377)\377\377\377\377"
- "\377\377\377\377\000\000\000\000\000\000\000\000\377\377\377\215\377\377\377\377\377\377"
- "\377\254\377\377\377c\377\377\377\377\377\377\377\273\000\000\000\000\000\000\000\000\377"
- "\377\377\377\377\377\377\377\377\377\377\013\377\377\377\361\377\377\377\340"
- "\377\377\377\277\377\377\377\367\377\377\377\351\377\377\377\352\377\377"
- "\377\300\377\377\377\375\377\377\377I\377\377\377\377\377\377\377\377\000\000"
- "\000\000\000\000\000\000\000\000\000\000\377\377\377\307\377\377\377\377\377\377\377\377\377"
- "\377\377\335\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377\377\377\377\377\377\000\000"
- "\000\000\000\000\000\000\000\000\000\000\377\377\377}\377\377\377\376\377\377\377\377\377\377"
- "\377\252\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377\377\377\377\377\377\000\000\000\000"
- "\000\000\000\000\000\000\000\000\377\377\377\325\377\377\377\377\377\377\377\264\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377\377\377\377\377\377\000\000\000\000\000\000\000\000"
- "\000\000\000\000\377\377\377\224\377\377\377\376\377\377\377i\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\377\377\377\377\377\377\377\377\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\377\377\377\342\377\377\377\375\377\377\377\070\000\000\000\000\000\000\000\000\000\000\000"
- "\000\377\377\377\377\377\377\377\377\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\377\377"
- "\377\013\377\377\377\364\377\377\377\254\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377"
- "\377\377\377\377\377\000\000\000\000\377\377\377I\377\377\377\340\377\377\377\240"
- "\000\000\000\000\000\000\000\000\377\377\377}\377\377\377\341\377\377\377Z\000\000\000\000\377\377"
- "\377\377\377\377\377\377\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377\377\377\377\377\377\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\377\377\377\377\377\377\377\377\000\000\000\000\000\000\000\000\377\377\377Q\377\377\377"
- "\306\377\377\377\366\377\377\377\377\377\377\377\377\377\377\377\377\377"
- "\377\377\332\000\000\000\000\377\377\377\377\377\377\377\377\000\000\000\000\377\377\377"
- "\224\377\377\377\376\377\377\377b\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377\320"
- "\377\377\377\376\377\377\377l\377\377\377\377\377\377\377\377\000\000\000\000\377"
- "\377\377\317\377\377\377\376\377\377\377l\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\377\377\377\377\377\377\377\377\377\377\377\013\377\377\377"
- "\356\377\377\377\372\377\377\377)\000\000\000\000\000\000\000\000\377\377\377K\377\377\377"
- "\374\377\377\377\333\000\000\000\000\377\377\377\377\377\377\377\377\377\377\377"
- "\013\377\377\377\351\377\377\377\377\377\377\377\361\377\377\377\354\377\377"
- "\377\354\377\377\377\354\377\377\377\376\377\377\377\376\377\377\377l\377"
- "\377\377\377\377\377\377\377\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377K\377\377"
- "\377\374\377\377\377\333\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377\377"
- "\377\377\377\377\000\000\000\000\377\377\377\215\377\377\377\377\377\377\377\311"
- "\000\000\000\000\000\000\000\000\377\377\377\335\377\377\377\376\377\377\377i\000\000\000\000\377"
- "\377\377\377\377\377\377\377\000\000\000\000\377\377\377\224\377\377\377\376\377"
- "\377\377_\000\000\000\000\000\000\000\000\377\377\377\013\377\377\377\355\377\377\377\366"
- "\377\377\377)\377\377\377\377\377\377\377\377\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\377\377\377\013\377\377\377\355\377\377\377\366\377\377\377%\000\000\000\000"
- "\000\000\000\000\377\377\377\377\377\377\377\377\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\377\377\377\013\377\377\377\355\377\377\377\366\377\377\377%\000\000\000\000\000\000"
- "\000\000\377\377\377\377\377\377\377\377\000\000\000\000\377\377\377K\377\377\377\374"
- "\377\377\377\333\377\377\377\374\377\377\377\377\377\377\377\311\000\000\000\000"
- "\000\000\000\000\000\000\000\000\377\377\377\377\377\377\377\377\000\000\000\000\000\000\000\000\000\000\000\000"
- "\377\377\377\013\377\377\377\361\377\377\377\333\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\377\377\377\377\377\377\377\377\377\377\377\013\377\377\377\361\377"
- "\377\377\333\000\000\000\000\377\377\377\313\377\377\377\371\377\377\377%\377\377"
- "\377\224\377\377\377\377\377\377\377\252\377\377\377\377\377\377\377\377"
- "\000\000\000\000\377\377\377\224\377\377\377\376\377\377\377_\000\000\000\000\000\000\000\000\377"
- "\377\377\013\377\377\377\355\377\377\377\366\377\377\377)\377\377\377\377"
- "\377\377\377\377\377\377\377\013\377\377\377\356\377\377\377\372\377\377\377"
- ")\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377\345\377\377\377\376\377\377\377i\377"
- "\377\377\377\377\377\377\377\000\000\000\000\377\377\377\224\377\377\377\376\377"
- "\377\377b\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377\321\377\377\377\376\377\377"
- "\377l\377\377\377\377\377\377\377\377\377\377\377\013\377\377\377\356\377"
- "\377\377\372\377\377\377)\000\000\000\000\000\000\000\000\377\377\377K\377\377\377\374\377"
- "\377\377\333\000\000\000\000\377\377\377\377\377\377\377\377\000\000\000\000\000\000\000\000\377"
- "\377\377\313\377\377\377\377\377\377\377\205\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\377\377\377\377\377\377\377\377\000\000\000\000\377\377\377\013\377\377"
- "\377\333\377\377\377\377\377\377\377\377\377\377\377\354\377\377\377\300"
- "\377\377\377\\\000\000\000\000\000\000\000\000\377\377\377\377\377\377\377\377\000\000\000\000\000"
- "\000\000\000\000\000\000\000\377\377\377\313\377\377\377\376\377\377\377i\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\377\377\377\377\377\377\377\377\000\000\000\000\377\377\377\313"
- "\377\377\377\376\377\377\377i\000\000\000\000\000\000\000\000\377\377\377K\377\377\377\374"
- "\377\377\377\333\000\000\000\000\377\377\377\377\377\377\377\377\000\000\000\000\377\377"
- "\377\013\377\377\377\355\377\377\377\375\377\377\377M\377\377\377\013\377\377"
- "\377\355\377\377\377\375\377\377\377=\000\000\000\000\377\377\377\377\377\377\377"
- "\377\377\377\377U\377\377\377\374\377\377\377\333\377\377\377\217\377\377"
- "\377\373\377\377\377\361\377\377\377\312\377\377\377\241\377\377\377\377"
- "\377\377\377\215\377\377\377\377\377\377\377\377\000\000\000\000\000\000\000\000\000\000\000\000"
- "\377\377\377\253\377\377\377\377\377\377\377\377\377\377\377\315\000\000\000\000"
- "\000\000\000\000\000\000\000\000\377\377\377\377\377\377\377\377\000\000\000\000\000\000\000\000\377\377"
- "\377\335\377\377\377\376\377\377\377i\000\000\000\000\377\377\377\342\377\377\377"
- "\375\377\377\377Q\000\000\000\000\377\377\377\377\377\377\377\377\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\377\377\377\315\377\377\377\377\377\377\377\342\377\377"
- "\377\013\000\000\000\000\000\000\000\000\377\377\377\377\377\377\377\377\000\000\000\000\377\377\377"
- "V\377\377\377\375\377\377\377\377\377\377\377\377\377\377\377\252\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377\377\377\377\377\377\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\377\377\377\313\377\377\377\371\377\377\377%\000\000\000\000\000\000"
- "\000\000\000\000\000\000\377\377\377\377\377\377\377\377\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\377\377\377c\377\377\377\377\377\377\377\377\377\377\377\377\377\377"
- "\377l\000\000\000\000\377\377\377\377\377\377\377\377\000\000\000\000\377\377\377\313\377"
- "\377\377\360\377\377\377\033\377\377\377\205\377\377\377\365\377\377\377\377"
- "\377\377\377\364\377\377\377\\\000\000\000\000\377\377\377\377\377\377\377\377\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377\000\377\377\377\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\377\377\377\377\377\377\377\377\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\377\377\377|\377\377\377\206\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\377"
- "\377\377\377\377\377\377\377\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377\377\377\377\377\377\000\000"
- "\000\000\377\377\377\307\377\377\377\377\377\377\377\377\377\377\377\370\377"
- "\377\377\377\377\377\377\377\377\377\377\377\377\377\377\244\000\000\000\000\377"
- "\377\377\377\377\377\377\377\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\377\377\377\205\377\377\377\376\377\377\377\336\000\000\000\000\377\377\377"
- "\377\377\377\377\377\000\000\000\000\000\000\000\000\377\377\377\302\377\377\377\377\377"
- "\377\377\242\377\377\377\374\377\377\377\264\377\377\377\033\377\377\377\371"
- "\377\377\377\316\377\377\377\377\377\377\377\377\377\377\377b\377\377\377"
- "\376\377\377\377\326\377\377\377\025\377\377\377\362\377\377\377\377\377\377"
- "\377\304\377\377\377\372\377\377\377\360\377\377\377\033\377\377\377\377\377"
- "\377\377\377\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\377\377\377\377\377\377\377\377\000\000\000\000\000\000\000\000\000\000"
- "\000\000\377\377\377\317\377\377\377\376\377\377\377_\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\377\377\377\377\377\377\377\377\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\377\377\377\013\377\377\377\361\377\377\377\334\000\000\000\000\000\000\000\000\000\000\000\000\377"
- "\377\377\377\377\377\377\377\000\000\000\000\000\000\000\000\377\377\377`\377\377\377\374"
- "\377\377\377\343\377\377\377\313\377\377\377\377\377\377\377\215\000\000\000\000"
- "\000\000\000\000\377\377\377\377\377\377\377\377\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\377\377\377\306\377\377\377\371\377\377\377\033\000\000\000\000\000\000\000\000\000\000\000\000\377"
- "\377\377\377\377\377\377\377\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377\377\377\377\377\377\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\377\377\377\377\377\377\377\377\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377\377\377\377\377"
- "\377\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377s\377\377\377\377\377\377\377\304"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377\377\377\377\377\377\000\000\000\000"
- "\377\377\377\320\377\377\377\375\377\377\377=\000\000\000\000\000\000\000\000\377\377\377"
- "\025\377\377\377\362\377\377\377\366\377\377\377%\377\377\377\377\377\377"
- "\377\377\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377\224\377\377\377\376"
- "\377\377\377i\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377\377\377\377\377\377\000\000"
- "\000\000\000\000\000\000\000\000\000\000\377\377\377l\377\377\377\373\377\377\377\376\377\377"
- "\377\214\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377\377\377\377\377\377\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377\204\377\377\377\377"
- "\377\377\377\333\000\000\000\000\377\377\377\377\377\377\377\377\377\377\377\224"
- "\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377"
- "\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377m\377"
- "\377\377\377\377\377\377\377\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\377\377\377\033\377\377\377\366\377\377\377\367\377\377\377)\377\377"
- "\377\377\377\377\377\377\000\000\000\000\377\377\377\317\377\377\377\376\377\377"
- "\377e\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377\330\377\377\377\371\377\377\377"
- ")\377\377\377\377\377\377\377\377\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377\033"
- "\377\377\377\365\377\377\377\363\377\377\377%\000\000\000\000\000\000\000\000\000\000\000\000\377"
- "\377\377\377\377\377\377\377\377\377\377\013\377\377\377\351\377\377\377\375"
- "\377\377\377=\000\000\000\000\000\000\000\000\377\377\377}\377\377\377\374\377\377\377\366"
- "\377\377\377%\377\377\377\377\377\377\377\377\000\000\000\000\000\000\000\000\000\000\000\000\377"
- "\377\377U\377\377\377p\377\377\377M\377\377\377!\377\377\377\373\377\377"
- "\377\333\000\000\000\000\377\377\377\377\377\377\377\377\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377\377"
- "\377\377\377\377\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377\377\377\377\377\377\000\000\000\000\000\000\000\000"
- "\000\000\000\000\377\377\377\234\377\377\377\374\377\377\377\377\377\377\377\320"
- "\377\377\377%\000\000\000\000\000\000\000\000\377\377\377\377\377\377\377\377\000\000\000\000\377"
- "\377\377\320\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377"
- "\377\377\377\377\377\377\377\377\377\377\377\377\337\000\000\000\000\377\377\377"
- "\377\377\377\377\377\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377\271\377\377\377"
- "\377\377\377\377\377\377\377\377\267\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377"
- "\377\377\377\377\377\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377\013\377\377\377\251"
- "\377\377\377V\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377\377\377\377\377"
- "\377\377\377\377K\377\377\377\374\377\377\377\245\377\377\377|\377\377\377"
- "\377\377\377\377y\000\000\000\000\377\377\377\247\377\377\377\376\377\377\377l\377"
- "\377\377\377\377\377\377\377\000\000\000\000\377\377\377\240\377\377\377\377\377"
- "\377\377\377\377\377\377\377\377\377\377\377\377\377\377\373\377\377\377"
- "\377\377\377\377\304\000\000\000\000\377\377\377\377\377\377\377\377\000\000\000\000\377"
- "\377\377\224\377\377\377\377\377\377\377\244\000\000\000\000\000\000\000\000\000\000\000\000\377"
- "\377\377\313\377\377\377\376\377\377\377l\377\377\377\377\377\377\377\377"
- "\000\000\000\000\377\377\377\334\377\377\377\377\377\377\377\205\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377\377\377\377\377\377\000\000\000\000"
- "\377\377\377\313\377\377\377\376\377\377\377i\000\000\000\000\000\000\000\000\377\377\377"
- "\013\377\377\377\355\377\377\377\376\377\377\377i\377\377\377\377\377\377"
- "\377\377\000\000\000\000\377\377\377K\377\377\377\374\377\377\377\327\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377\377\377\377\377\377\000\000"
- "\000\000\377\377\377\013\377\377\377\355\377\377\377\366\377\377\377\033\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377\377\377\377\377\377\377\377"
- "\377\025\377\377\377\362\377\377\377\375\377\377\377=\000\000\000\000\000\000\000\000\000\000"
- "\000\000\377\377\377\313\377\377\377\371\377\377\377%\377\377\377\377\377\377"
- "\377\377\000\000\000\000\377\377\377\313\377\377\377\376\377\377\377b\000\000\000\000\000\000"
- "\000\000\377\377\377\013\377\377\377\355\377\377\377\366\377\377\377%\377\377"
- "\377\377\377\377\377\377\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377\013\377\377\377"
- "\355\377\377\377\366\377\377\377%\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377\377"
- "\377\377\377\377\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\377\377"
- "\377\224\377\377\377\377\377\377\377\257\000\000\000\000\377\377\377\377\377\377"
- "\377\377\000\000\000\000\377\377\377\224\377\377\377\377\377\377\377\331\000\000\000\000"
- "\377\377\377j\377\377\377\376\377\377\377\366\377\377\377)\000\000\000\000\377\377"
- "\377\377\377\377\377\377\000\000\000\000\377\377\377\013\377\377\377\355\377\377\377"
- "\366\377\377\377%\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377\377"
- "\377\377\377\377\000\000\000\000\377\377\377\313\377\377\377\371\377\377\377\033\377"
- "\377\377\351\377\377\377\371\377\377\377!\377\377\377\360\377\377\377\333"
- "\000\000\000\000\377\377\377\377\377\377\377\377\000\000\000\000\377\377\377\313\377\377"
- "\377\376\377\377\377i\377\377\377\033\377\377\377\365\377\377\377\365\377"
- "\377\377\361\377\377\377\333\000\000\000\000\377\377\377\377\377\377\377\377\377"
- "\377\377K\377\377\377\374\377\377\377\364\377\377\377%\000\000\000\000\000\000\000\000\000"
- "\000\000\000\377\377\377\340\377\377\377\376\377\377\377l\377\377\377\377\377\377"
- "\377\377\000\000\000\000\377\377\377\224\377\377\377\377\377\377\377\257\000\000\000\000"
- "\377\377\377\013\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377\377\377\377\377"
- "\377\377\377\377I\377\377\377\373\377\377\377\363\377\377\377%\000\000\000\000\000"
- "\000\000\000\377\377\377\013\377\377\377\345\377\377\377\376\377\377\377i\377\377"
- "\377\377\377\377\377\377\000\000\000\000\377\377\377\224\377\377\377\377\377\377"
- "\377\243\000\000\000\000\377\377\377\330\377\377\377\377\377\377\377\257\000\000\000\000"
- "\000\000\000\000\377\377\377\377\377\377\377\377\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\377\377\377l\377\377\377\373\377\377\377\375\377\377\377"
- "M\377\377\377\377\377\377\377\377\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377\013"
- "\377\377\377\355\377\377\377\366\377\377\377%\000\000\000\000\000\000\000\000\000\000\000\000\377"
- "\377\377\377\377\377\377\377\000\000\000\000\377\377\377\313\377\377\377\376\377"
- "\377\377b\000\000\000\000\000\000\000\000\377\377\377\013\377\377\377\361\377\377\377\355"
- "\377\377\377\033\377\377\377\377\377\377\377\377\000\000\000\000\000\000\000\000\377\377\377"
- "!\377\377\377\372\377\377\377\337\377\377\377\257\377\377\377\376\377\377"
- "\377l\000\000\000\000\000\000\000\000\377\377\377\377\377\377\377\377\000\000\000\000\377\377\377"
- "\324\377\377\377\370\377\377\377\360\377\377\377\323\377\377\377\255\377"
- "\377\377\375\377\377\377\333\377\377\377\371\377\377\377%\377\377\377\377"
- "\377\377\377\377\000\000\000\000\000\000\000\000\377\377\377l\377\377\377\376\377\377\377"
- "\337\377\377\377\326\377\377\377\377\377\377\377\234\000\000\000\000\000\000\000\000\377"
- "\377\377\377\377\377\377\377\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377\013\377\377"
- "\377\356\377\377\377\372\377\377\377)\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377"
- "\377\377\377\377\377\000\000\000\000\000\000\000\000\377\377\377\232\377\377\377\377\377"
- "\377\377\346\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377\377\377"
- "\377\377\377\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377\224\377\377\377\376\377"
- "\377\377i\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377\377\377\377\377\377"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377\232\377\377\377\377\377\377"
- "\377\244\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377\377\377\377\377\377\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377\013\377\377\377\364\377\377\377\254\000"
- "\000\000\000\000\000\000\000\000\000\000\000\377\377\377\377\377\377\377\377\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377"
- "\377\377\377\377\377\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377\377\377\377\377\377\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\377"
- "\377\377\377\377\377\377\377\000\000\000\000\377\377\377\215\377\377\377\376\377"
- "\377\377\376\377\377\377\313\377\377\377\224\377\377\377\202\377\377\377"
- "\374\377\377\377\332\000\000\000\000\377\377\377\377\377\377\377\377\000\000\000\000\377"
- "\377\377\224\377\377\377\376\377\377\377i\000\000\000\000\000\000\000\000\000\000\000\000\377\377"
- "\377\324\377\377\377\376\377\377\377i\377\377\377\377\377\377\377\377\000\000"
- "\000\000\377\377\377\314\377\377\377\376\377\377\377b\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377\377\377\377\377\377\377\377\377\013\377"
- "\377\377\355\377\377\377\374\377\377\377)\000\000\000\000\000\000\000\000\377\377\377K\377"
- "\377\377\374\377\377\377\333\000\000\000\000\377\377\377\377\377\377\377\377\377"
- "\377\377\013\377\377\377\352\377\377\377\377\377\377\377\321\377\377\377\321"
- "\377\377\377\316\377\377\377\322\377\377\377\316\377\377\377\315\377\377"
- "\377G\377\377\377\377\377\377\377\377\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377"
- "K\377\377\377\374\377\377\377\333\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\377\377"
- "\377\377\377\377\377\377\000\000\000\000\377\377\377\013\377\377\377\361\377\377\377"
- "\377\377\377\377\362\377\377\377\366\377\377\377\377\377\377\377\326\000\000"
- "\000\000\000\000\000\000\377\377\377\377\377\377\377\377\000\000\000\000\377\377\377\224\377"
- "\377\377\376\377\377\377i\000\000\000\000\000\000\000\000\377\377\377\013\377\377\377\355"
- "\377\377\377\366\377\377\377%\377\377\377\377\377\377\377\377\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\377\377\377\013\377\377\377\355\377\377\377\366\377\377"
- "\377%\000\000\000\000\000\000\000\000\377\377\377\377\377\377\377\377\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\377\377\377\013\377\377\377\355\377\377\377\366\377\377\377%"
- "\000\000\000\000\000\000\000\000\377\377\377\377\377\377\377\377\000\000\000\000\377\377\377K\377"
- "\377\377\374\377\377\377\377\377\377\377\370\377\377\377\366\377\377\377"
- "\376\377\377\377\214\000\000\000\000\000\000\000\000\377\377\377\377\377\377\377\377\000\000"
- "\000\000\000\000\000\000\000\000\000\000\377\377\377\013\377\377\377\361\377\377\377\333\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377\377\377\377\377\377\377\377\377\013"
- "\377\377\377\361\377\377\377\333\000\000\000\000\377\377\377\313\377\377\377\371"
- "\377\377\377%\377\377\377\223\377\377\377\377\377\377\377\252\377\377\377"
- "\377\377\377\377\377\000\000\000\000\377\377\377\224\377\377\377\376\377\377\377"
- "i\000\000\000\000\000\000\000\000\377\377\377\013\377\377\377\355\377\377\377\366\377\377"
- "\377%\377\377\377\377\377\377\377\377\377\377\377\013\377\377\377\355\377"
- "\377\377\374\377\377\377)\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377\317\377\377"
- "\377\376\377\377\377l\377\377\377\377\377\377\377\377\000\000\000\000\377\377\377"
- "\224\377\377\377\376\377\377\377i\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377\324"
- "\377\377\377\376\377\377\377i\377\377\377\377\377\377\377\377\377\377\377"
- "\013\377\377\377\355\377\377\377\374\377\377\377)\000\000\000\000\000\000\000\000\377\377"
- "\377K\377\377\377\374\377\377\377\333\000\000\000\000\377\377\377\377\377\377\377"
- "\377\000\000\000\000\000\000\000\000\377\377\377\313\377\377\377\376\377\377\377i\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377\377\377\377\377\377\000\000\000\000"
- "\000\000\000\000\000\000\000\000\377\377\377u\377\377\377\302\377\377\377\357\377\377\377"
- "\377\377\377\377\377\377\377\377\276\000\000\000\000\377\377\377\377\377\377\377"
- "\377\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377\313\377\377\377\376\377\377\377"
- "i\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377\377\377\377\377\377\000\000\000\000"
- "\377\377\377\313\377\377\377\376\377\377\377i\000\000\000\000\000\000\000\000\377\377\377"
- ";\377\377\377\374\377\377\377\333\000\000\000\000\377\377\377\377\377\377\377\377"
- "\000\000\000\000\000\000\000\000\377\377\377\240\377\377\377\377\377\377\377\266\377\377"
- "\377s\377\377\377\377\377\377\377\315\000\000\000\000\000\000\000\000\377\377\377\377\377"
- "\377\377\377\377\377\377\025\377\377\377\361\377\377\377\361\377\377\377\320"
- "\377\377\377\344\377\377\377\303\377\377\377\356\377\377\377\316\377\377"
- "\377\375\377\377\377M\377\377\377\377\377\377\377\377\000\000\000\000\000\000\000\000\000\000"
- "\000\000\377\377\377\275\377\377\377\377\377\377\377\377\377\377\377\314\000\000"
- "\000\000\000\000\000\000\000\000\000\000\377\377\377\377\377\377\377\377\000\000\000\000\000\000\000\000\377"
- "\377\377v\377\377\377\377\377\377\377\321\377\377\377M\377\377\377\375\377"
- "\377\377\327\000\000\000\000\000\000\000\000\377\377\377\377\377\377\377\377\000\000\000\000\000\000"
- "\000\000\000\000\000\000\377\377\377\307\377\377\377\377\377\377\377\346\377\377\377"
- "\033\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377\377\377\377\377\377\000\000\000\000\000\000\000"
- "\000\377\377\377b\377\377\377\237\377\377\377\374\377\377\377\336\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\377\377\377\377\377\377\377\377\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\377\377\377\313\377\377\377\371\377\377\377%\000\000\000\000\000\000\000"
- "\000\000\000\000\000\377\377\377\377\377\377\377\377\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\377\377\377\313\377\377\377\376\377\377\377\263\377\377\377f\377\377\377"
- "\013\000\000\000\000\377\377\377\377\377\377\377\377\000\000\000\000\000\000\000\000\371\371\377."
- "\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377B\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377"
- "\377\377\377\377\377\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377\000\377\377\377\000"
- "\377\377\377\000\377\377\377\000\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377\377\377"
- "\377\377\377\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377\025\377\377\377\304\377\377"
- "\377\322\377\377\377S\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377\377\377\377\377"
- "\377\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\377\377\377\377\377\377\377\377\000\000\000\000\000\000\000\000\377\377\377"
- "\214\377\377\377\374\377\377\377\033\377\377\377\222\377\377\377\374\377\377"
- "\377%\000\000\000\000\000\000\000\000\377\377\377\377\377\377\377\377\000\000\000\000\377\377\377"
- "\247\377\377\377\377\377\377\377\302\377\377\377\\\377\377\377\062\377\377"
- "\377\264\377\377\377\377\377\377\377\326\000\000\000\000\377\377\377\377\377\377"
- "\377\377\000\000\000\000\377\377\377\315\377\377\377\377\377\377\377\257\377\377"
- "\377;\377\377\377\375\377\377\377b\377\377\377\013\377\377\377\360\377\377"
- "\377\337\377\377\377\377\377\377\377\377\377\377\377\204\377\377\377\377"
- "\377\377\377\322\000\000\000\000\377\377\377\033\377\377\377\356\377\377\377\377\377"
- "\377\377\377\377\377\377\217\000\000\000\000\377\377\377\377\377\377\377\377\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\377\377\377\377\377\377\377\377\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377"
- "\247\377\377\377\377\377\377\377\210\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\377"
- "\377\377\377\377\377\377\377\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377"
- "V\377\377\377\374\377\377\377\326\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377\377"
- "\377\377\377\377\000\000\000\000\000\000\000\000\377\377\377\317\377\377\377\374\377\377"
- "\377\070\377\377\377\013\377\377\377\351\377\377\377\366\377\377\377\033\000\000"
- "\000\000\377\377\377\377\377\377\377\377\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\377"
- "\377\377\324\377\377\377\374\377\377\377%\000\000\000\000\000\000\000\000\000\000\000\000\377\377"
- "\377\377\377\377\377\377\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377\065\377\377\377"
- "\347\377\377\377\367\377\377\377\232\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377"
- "\377\377\377\377\377\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377\377\377\377\377\377\000\000\000\000\000\000"
- "\000\000\000\000\000\000\377\377\377_\377\377\377\355\377\377\377\367\377\377\377}\000"
- "\000\000\000\000\000\000\000\000\000\000\000\377\377\377\377\377\377\377\377\000\000\000\000\000\000\000\000\000"
- "\000\000\000\377\377\377\313\377\377\377\376\377\377\377i\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\377\377\377\377\377\377\377\377\000\000\000\000\377\377\377\261\377\377"
- "\377\377\377\377\377\257\000\000\000\000\000\000\000\000\377\377\377\204\377\377\377\377"
- "\377\377\377\322\000\000\000\000\377\377\377\377\377\377\377\377\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\377\377\377\213\377\377\377\376\377\377\377U\000\000\000\000\000\000"
- "\000\000\000\000\000\000\377\377\377\377\377\377\377\377\000\000\000\000\000\000\000\000\377\377\377"
- "\224\377\377\377\375\377\377\377\373\377\377\377s\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\377\377\377\377\377\377\377\377\000\000\000\000\377\377\377\214\377\377"
- "\377}\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377j\377\377\377\376\377\377\377\333"
- "\000\000\000\000\377\377\377\377\377\377\377\377\000\000\000\000\377\377\377~\377\377\377"
- "\202\377\377\377\202\377\377\377\201\377\377\377\231\377\377\377\377\377"
- "\377\377\343\377\377\377z\377\377\377\033\377\377\377\377\377\377\377\377"
- "\000\000\000\000\377\377\377\205\377\377\377j\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377"
- "}\377\377\377\376\377\377\377\343\000\000\000\000\377\377\377\377\377\377\377\377"
- "\000\000\000\000\377\377\377\255\377\377\377\377\377\377\377\264\000\000\000\000\000\000\000\000"
- "\377\377\377\025\377\377\377\356\377\377\377\372\377\377\377)\377\377\377"
- "\377\377\377\377\377\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377K\377\377\377\374"
- "\377\377\377\327\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377\377\377\377"
- "\377\377\377\377\377\013\377\377\377\356\377\377\377\375\377\377\377)\000\000"
- "\000\000\000\000\000\000\000\000\000\000\377\377\377\355\377\377\377\367\377\377\377)\377\377"
- "\377\377\377\377\377\377\000\000\000\000\000\000\000\000\377\377\377\065\000\000\000\000\000\000\000\000\000"
- "\000\000\000\377\377\377\313\377\377\377\377\377\377\377\257\000\000\000\000\377\377\377"
- "\377\377\377\377\377\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377_\377\377\377\355"
- "\377\377\377\367\377\377\377}\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377\377\377"
- "\377\377\377\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377\065\377\377\377\347\377\377"
- "\377\367\377\377\377\232\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377\377\377\377"
- "\377\377\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377\062\377\377\377\327\377"
- "\377\377\377\377\377\377\375\377\377\377z\000\000\000\000\377\377\377\377\377\377"
- "\377\377\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\377\377\377\377\377\377\377\377\000\000\000\000\377\377\377\065\377"
- "\377\377\362\377\377\377\377\377\377\377\346\377\377\377V\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\377\377\377\377\377\377\377\377\000\000\000\000\000\000\000\000\000\000\000\000"
- "\377\377\377S\377\377\377\320\377\377\377\305\377\377\377%\000\000\000\000\000\000\000"
- "\000\000\000\000\000\377\377\377\377\377\377\377\377\377\377\377K\377\377\377\374\377"
- "\377\377\252\377\377\377K\377\377\377\374\377\377\377\376\377\377\377\363"
- "\377\377\377\377\377\377\377\377\377\377\377l\377\377\377\377\377\377\377"
- "\377\000\000\000\000\377\377\377\335\377\377\377\376\377\377\377l\000\000\000\000\000\000\000\000"
- "\377\377\377;\377\377\377\373\377\377\377\363\377\377\377%\377\377\377\377"
- "\377\377\377\377\000\000\000\000\377\377\377\224\377\377\377\377\377\377\377\243"
- "\000\000\000\000\000\000\000\000\377\377\377\013\377\377\377\343\377\377\377\376\377\377\377"
- "l\377\377\377\377\377\377\377\377\000\000\000\000\377\377\377\232\377\377\377\377"
- "\377\377\377\356\377\377\377)\000\000\000\000\000\000\000\000\377\377\377\065\377\377\377"
- "\260\377\377\377\013\377\377\377\377\377\377\377\377\000\000\000\000\377\377\377\313"
- "\377\377\377\376\377\377\377U\000\000\000\000\000\000\000\000\377\377\377\276\377\377\377"
- "\377\377\377\377\346\377\377\377\013\377\377\377\377\377\377\377\377\000\000\000"
- "\000\377\377\377K\377\377\377\374\377\377\377\326\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\377\377\377\377\377\377\377\377\000\000\000\000\377\377\377"
- "\013\377\377\377\355\377\377\377\366\377\377\377%\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\377\377\377\377\377\377\377\377\000\000\000\000\377\377\377\312"
- "\377\377\377\377\377\377\377\321\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377\313"
- "\377\377\377\371\377\377\377%\377\377\377\377\377\377\377\377\000\000\000\000\377"
- "\377\377\313\377\377\377\376\377\377\377i\000\000\000\000\000\000\000\000\377\377\377\013"
- "\377\377\377\355\377\377\377\366\377\377\377%\377\377\377\377\377\377\377"
- "\377\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377\355\377\377\377\366\377"
- "\377\377\033\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377\377\377\377\377\377\000\000\000"
- "\000\377\377\377j\377\377\377\330\377\377\377%\000\000\000\000\000\000\000\000\377\377\377"
- "\312\377\377\377\377\377\377\377\206\000\000\000\000\377\377\377\377\377\377\377"
- "\377\000\000\000\000\377\377\377\224\377\377\377\377\377\377\377\244\000\000\000\000\000\000"
- "\000\000\377\377\377\313\377\377\377\377\377\377\377\277\000\000\000\000\377\377\377"
- "\377\377\377\377\377\000\000\000\000\377\377\377\013\377\377\377\355\377\377\377\366"
- "\377\377\377\033\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377\377\377"
- "\377\377\377\000\000\000\000\377\377\377\313\377\377\377\371\377\377\377%\377\377"
- "\377]\377\377\377f\377\377\377\013\377\377\377\361\377\377\377\333\000\000\000\000"
- "\377\377\377\377\377\377\377\377\000\000\000\000\377\377\377\313\377\377\377\376"
- "\377\377\377i\000\000\000\000\377\377\377\232\377\377\377\377\377\377\377\377\377"
- "\377\377\327\000\000\000\000\377\377\377\377\377\377\377\377\000\000\000\000\377\377\377"
- "\334\377\377\377\377\377\377\377\252\000\000\000\000\000\000\000\000\377\377\377}\377\377"
- "\377\376\377\377\377\363\377\377\377%\377\377\377\377\377\377\377\377\000\000"
- "\000\000\377\377\377\224\377\377\377\377\377\377\377\252\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377\377\377\377\377\377\000\000\000\000\377"
- "\377\377\332\377\377\377\377\377\377\377\251\000\000\000\000\000\000\000\000\377\377\377"
- "\214\377\377\377\377\377\377\377\355\377\377\377\013\377\377\377\377\377\377"
- "\377\377\000\000\000\000\377\377\377\224\377\377\377\377\377\377\377\252\000\000\000\000"
- "\377\377\377K\377\377\377\374\377\377\377\375\377\377\377Q\000\000\000\000\377\377"
- "\377\377\377\377\377\377\000\000\000\000\377\377\377\205\377\377\377\304\377\377"
- "\377\013\000\000\000\000\000\000\000\000\377\377\377\013\377\377\377\362\377\377\377\375\377"
- "\377\377Q\377\377\377\377\377\377\377\377\000\000\000\000\000\000\000\000\000\000\000\000\377\377"
- "\377\013\377\377\377\355\377\377\377\366\377\377\377%\000\000\000\000\000\000\000\000\000\000"
- "\000\000\377\377\377\377\377\377\377\377\000\000\000\000\377\377\377\312\377\377\377"
- "\377\377\377\377\264\000\000\000\000\000\000\000\000\377\377\377}\377\377\377\376\377\377"
- "\377\332\000\000\000\000\377\377\377\377\377\377\377\377\000\000\000\000\000\000\000\000\000\000\000\000"
- "\377\377\377\330\377\377\377\376\377\377\377\372\377\377\377\360\377\377"
- "\377\033\000\000\000\000\000\000\000\000\377\377\377\377\377\377\377\377\000\000\000\000\377\377\377"
- "\305\377\377\377\377\377\377\377\377\377\377\377\237\377\377\377l\377\377"
- "\377\376\377\377\377\377\377\377\377\336\000\000\000\000\377\377\377\377\377\377"
- "\377\377\000\000\000\000\377\377\377\013\377\377\377\351\377\377\377\376\377\377\377"
- "l\377\377\377K\377\377\377\374\377\377\377\372\377\377\377\062\000\000\000\000\377"
- "\377\377\377\377\377\377\377\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377\013\377\377"
- "\377\355\377\377\377\366\377\377\377%\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377"
- "\377\377\377\377\377\000\000\000\000\377\377\377;\377\377\377\373\377\377\377\372"
- "\377\377\377=\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377\377\377"
- "\377\377\377\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377\224\377\377\377\376\377"
- "\377\377i\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377\377\377\377\377\377"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377!\377\377\377\372\377\377\377"
- "\347\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377\377\377\377\377\377\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\377\377\377\013\377\377\377\364\377\377\377\254\000\000\000"
- "\000\000\000\000\000\000\000\000\000\377\377\377\377\377\377\377\377\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377\377"
- "\377\377\377\377\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377\377\377\377\377\377\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\377\377"
- "\377\377\377\377\377\377\000\000\000\000\377\377\377\313\377\377\377\376\377\377"
- "\377b\000\000\000\000\000\000\000\000\377\377\377b\377\377\377\375\377\377\377\332\000\000\000"
- "\000\377\377\377\377\377\377\377\377\000\000\000\000\377\377\377\224\377\377\377\377"
- "\377\377\377~\000\000\000\000\000\000\000\000\377\377\377U\377\377\377\374\377\377\377\366"
- "\377\377\377%\377\377\377\377\377\377\377\377\000\000\000\000\377\377\377\266\377"
- "\377\377\377\377\377\377\326\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377\013\377\377"
- "\377e\000\000\000\000\377\377\377\377\377\377\377\377\377\377\377\013\377\377\377"
- "\355\377\377\377\376\377\377\377v\000\000\000\000\000\000\000\000\377\377\377s\377\377\377"
- "\376\377\377\377\332\000\000\000\000\377\377\377\377\377\377\377\377\000\000\000\000\377"
- "\377\377\317\377\377\377\377\377\377\377\251\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\377\377\377\377\377\377\377\377\000\000\000\000\000\000\000\000\000\000"
- "\000\000\377\377\377K\377\377\377\374\377\377\377\333\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\377\377\377\377\377\377\377\377\000\000\000\000\377\377\377j\377\377\377"
- "\375\377\377\377\326\377\377\377\302\377\377\377\304\377\377\377\206\000\000"
- "\000\000\000\000\000\000\000\000\000\000\377\377\377\377\377\377\377\377\000\000\000\000\377\377\377"
- "\224\377\377\377\376\377\377\377i\000\000\000\000\000\000\000\000\377\377\377\013\377\377"
- "\377\355\377\377\377\366\377\377\377%\377\377\377\377\377\377\377\377\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377\013\377\377\377\355\377\377\377\366"
- "\377\377\377%\000\000\000\000\000\000\000\000\377\377\377\377\377\377\377\377\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\377\377\377\013\377\377\377\355\377\377\377\366\377\377"
- "\377%\000\000\000\000\000\000\000\000\377\377\377\377\377\377\377\377\000\000\000\000\377\377\377"
- "K\377\377\377\374\377\377\377\361\377\377\377=\377\377\377V\377\377\377\374"
- "\377\377\377\375\377\377\377M\000\000\000\000\377\377\377\377\377\377\377\377\000\000"
- "\000\000\000\000\000\000\000\000\000\000\377\377\377\013\377\377\377\361\377\377\377\355\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377\377\377\377\377\377\377\377\377\013"
- "\377\377\377\361\377\377\377\333\000\000\000\000\377\377\377\313\377\377\377\371"
- "\377\377\377%\377\377\377\223\377\377\377\377\377\377\377\252\377\377\377"
- "\377\377\377\377\377\000\000\000\000\377\377\377\224\377\377\377\376\377\377\377"
- "i\000\000\000\000\000\000\000\000\377\377\377\013\377\377\377\355\377\377\377\366\377\377"
- "\377%\377\377\377\377\377\377\377\377\377\377\377\013\377\377\377\355\377"
- "\377\377\376\377\377\377\215\000\000\000\000\000\000\000\000\377\377\377V\377\377\377\374"
- "\377\377\377\367\377\377\377)\377\377\377\377\377\377\377\377\000\000\000\000\377"
- "\377\377\224\377\377\377\377\377\377\377~\000\000\000\000\000\000\000\000\377\377\377K\377"
- "\377\377\374\377\377\377\366\377\377\377)\377\377\377\377\377\377\377\377"
- "\377\377\377\013\377\377\377\355\377\377\377\376\377\377\377v\000\000\000\000\000\000"
- "\000\000\377\377\377s\377\377\377\375\377\377\377\332\000\000\000\000\377\377\377\377"
- "\377\377\377\377\000\000\000\000\000\000\000\000\377\377\377\313\377\377\377\376\377\377"
- "\377i\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377\377\377\377\377"
- "\377\000\000\000\000\377\377\377\062\377\377\377n\000\000\000\000\000\000\000\000\000\000\000\000\377\377"
- "\377`\377\377\377\373\377\377\377\366\377\377\377)\377\377\377\377\377\377"
- "\377\377\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377\317\377\377\377\376\377\377"
- "\377v\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377\377\377\377\377\377\000\000"
- "\000\000\377\377\377\314\377\377\377\376\377\377\377b\000\000\000\000\000\000\000\000\377\377"
- "\377\254\377\377\377\377\377\377\377\332\000\000\000\000\377\377\377\377\377\377"
- "\377\377\000\000\000\000\000\000\000\000\377\377\377\033\377\377\377\366\377\377\377\361\377"
- "\377\377\331\377\377\377\376\377\377\377i\000\000\000\000\000\000\000\000\377\377\377\377"
- "\377\377\377\377\000\000\000\000\377\377\377\320\377\377\377\377\377\377\377\377"
- "\377\377\377\273\377\377\377\205\377\377\377\377\377\377\377\376\377\377"
- "\377\355\377\377\377\033\377\377\377\377\377\377\377\377\000\000\000\000\000\000\000\000\377"
- "\377\377\224\377\377\377\377\377\377\377\336\377\377\377\330\377\377\377"
- "\377\377\377\377\256\000\000\000\000\000\000\000\000\377\377\377\377\377\377\377\377\000\000"
- "\000\000\000\000\000\000\000\000\000\000\377\377\377\342\377\377\377\375\377\377\377\326\377"
- "\377\377\376\377\377\377~\000\000\000\000\000\000\000\000\377\377\377\377\377\377\377\377"
- "\000\000\000\000\000\000\000\000\377\377\377\275\377\377\377\377\377\377\377\345\377\377"
- "\377\013\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377\377\377\377\377\377\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377\323\377\377\377\360\377\377\377"
- "\033\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377\377\377\377\377\377\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\377\377\377\313\377\377\377\371\377\377\377%\000\000\000\000\000"
- "\000\000\000\000\000\000\000\377\377\377\377\377\377\377\377\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\377\377\377\313\377\377\377\371\377\377\377\033\000\000\000\000\000\000\000\000\000\000"
- "\000\000\377\377\377\377\377\377\377\377\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377\377\377\377\377"
- "\377\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377\001\377\377\377\000\377\377\377\000\377"
- "\377\377\000\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377\377\377\377\377\377\000\000\000"
- "\000\000\000\000\000\000\000\000\000\377\377\377\206\377\377\377\377\377\377\377\377\377\377"
- "\377\260\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377\377\377\377\377\377\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\377\377\377\377\377\377\377\377\000\000\000\000\000\000\000\000\377\377\377\313\377\377"
- "\377\360\377\377\377\013\377\377\377\316\377\377\377\352\377\377\377\013\000"
- "\000\000\000\000\000\000\000\377\377\377\377\377\377\377\377\000\000\000\000\377\377\377\205\377"
- "\377\377\365\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377"
- "\377\377\377\377\356\377\377\377\070\000\000\000\000\377\377\377\377\377\377\377\377"
- "\377\377\377\224\377\377\377\377\377\377\377\311\000\000\000\000\377\377\377K\377"
- "\377\377\374\377\377\377\316\377\377\377y\377\377\377\374\377\377\377\273"
- "\377\377\377\377\377\377\377\377\377\377\377!\377\377\377\371\377\377\377"
- "\377\377\377\377\315\377\377\377\242\377\377\377\360\377\377\377\377\377"
- "\377\377\377\377\377\377\370\377\377\377\237\377\377\377\377\377\377\377"
- "\377\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\377\377\377\377\377\377\377\377\000\000\000\000\000\000\000\000\000\000\000\000\377"
- "\377\377`\377\377\377\375\377\377\377\327\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\377\377\377\377\377\377\377\377\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\377\377"
- "\377\266\377\377\377\377\377\377\377\217\000\000\000\000\000\000\000\000\000\000\000\000\377\377"
- "\377\377\377\377\377\377\000\000\000\000\000\000\000\000\371\371\377.\377\377\377M\000\000\000"
- "\000\000\000\000\000\371\371\377.\377\377\377M\000\000\000\000\000\000\000\000\377\377\377\377\377"
- "\377\377\377\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377|\377\377\377s\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377\377\377\377\377\377\000\000\000\000\000"
- "\000\000\000\000\000\000\000\377\377\377\232\377\377\377\377\377\377\377\377\377\377\377"
- "\343\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377\377\377\377\377\377\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\377"
- "\377\377\377\377\377\377\377\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377\232\377"
- "\377\377\377\377\377\377\377\377\377\377\326\000\000\000\000\000\000\000\000\000\000\000\000\377"
- "\377\377\377\377\377\377\377\000\000\000\000\000\000\000\000\377\377\377!\377\377\377\371"
- "\377\377\377\352\377\377\377\013\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377"
- "\377\377\377\377\377\000\000\000\000\377\377\377\070\377\377\377\372\377\377\377\377"
- "\377\377\377\275\377\377\377\253\377\377\377\374\377\377\377\376\377\377"
- "\377s\000\000\000\000\377\377\377\377\377\377\377\377\000\000\000\000\377\377\377r\377\377"
- "\377\314\377\377\377\304\377\377\377\332\377\377\377\377\377\377\377\321"
- "\377\377\377\307\377\377\377\271\377\377\377\013\377\377\377\377\377\377\377"
- "\377\000\000\000\000\377\377\377\263\377\377\377\377\377\377\377\377\377\377\377"
- "\350\377\377\377\307\377\377\377\322\377\377\377\321\377\377\377\310\377"
- "\377\377\033\377\377\377\377\377\377\377\377\377\377\377\070\377\377\377\373"
- "\377\377\377\377\377\377\377\325\377\377\377\242\377\377\377\275\377\377"
- "\377\371\377\377\377\377\377\377\377\272\000\000\000\000\377\377\377\377\377\377"
- "\377\377\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377K\377\377\377"
- "\374\377\377\377\333\000\000\000\000\000\000\000\000\377\377\377\377\377\377\377\377\377"
- "\377\377\070\377\377\377\373\377\377\377\377\377\377\377\321\377\377\377\250"
- "\377\377\377\307\377\377\377\375\377\377\377\377\377\377\377\234\000\000\000\000"
- "\377\377\377\377\377\377\377\377\000\000\000\000\377\377\377\033\377\377\377\362\377"
- "\377\377\377\377\377\377\313\377\377\377\214\377\377\377\345\377\377\377"
- "\377\377\377\377\322\000\000\000\000\377\377\377\377\377\377\377\377\000\000\000\000\000\000"
- "\000\000\000\000\000\000\377\377\377}\377\377\377\376\377\377\377\326\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\377\377\377\377\377\377\377\377\000\000\000\000\377\377\377\302"
- "\377\377\377\377\377\377\377\346\377\377\377\226\377\377\377\201\377\377"
- "\377\320\377\377\377\377\377\377\377\347\377\377\377\013\377\377\377\377\377"
- "\377\377\377\000\000\000\000\377\377\377\266\377\377\377\377\377\377\377\307\377"
- "\377\377\250\377\377\377\335\377\377\377\377\377\377\377\356\377\377\377"
- "\033\000\000\000\000\377\377\377\377\377\377\377\377\000\000\000\000\000\000\000\000\000\000\000\000\377\377"
- "\377\232\377\377\377\377\377\377\377\377\377\377\377\326\000\000\000\000\000\000\000\000"
- "\000\000\000\000\377\377\377\377\377\377\377\377\000\000\000\000\000\000\000\000\000\000\000\000\377\377"
- "\377\232\377\377\377\377\377\377\377\377\377\377\377\343\000\000\000\000\000\000\000\000"
- "\000\000\000\000\377\377\377\377\377\377\377\377\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\377\377\377\207\377\377\377\374\377\377\377\266\000\000\000\000"
- "\377\377\377\377\377\377\377\377\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377\377\377\377\377\377"
- "\000\000\000\000\377\377\377V\377\377\377\375\377\377\377\247\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377\377\377\377\377\377\000\000\000\000\000\000"
- "\000\000\000\000\000\000\377\377\377\306\377\377\377\377\377\377\377\376\377\377\377"
- "l\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377\377\377\377\377\377\377\377\377\013"
- "\377\377\377\355\377\377\377\352\000\000\000\000\377\377\377s\377\377\377\314\377"
- "\377\377\315\377\377\377v\377\377\377\245\377\377\377%\377\377\377\377\377"
- "\377\377\377\377\377\377K\377\377\377\373\377\377\377\360\377\377\377\033"
- "\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377\335\377\377\377\376\377\377\377~\377"
- "\377\377\377\377\377\377\377\000\000\000\000\377\377\377\224\377\377\377\377\377"
- "\377\377\335\377\377\377\275\377\377\377\310\377\377\377\366\377\377\377"
- "\377\377\377\377\346\377\377\377\033\377\377\377\377\377\377\377\377\000\000\000"
- "\000\377\377\377\013\377\377\377\342\377\377\377\377\377\377\377\370\377\377"
- "\377\300\377\377\377\276\377\377\377\371\377\377\377\377\377\377\377\227"
- "\377\377\377\377\377\377\377\377\000\000\000\000\377\377\377\312\377\377\377\377"
- "\377\377\377\325\377\377\377\303\377\377\377\361\377\377\377\377\377\377"
- "\377\375\377\377\377f\000\000\000\000\377\377\377\377\377\377\377\377\000\000\000\000\377"
- "\377\377K\377\377\377\374\377\377\377\362\377\377\377\316\377\377\377\316"
- "\377\377\377\316\377\377\377\322\377\377\377\273\377\377\377\013\377\377\377"
- "\377\377\377\377\377\000\000\000\000\377\377\377\013\377\377\377\356\377\377\377\366"
- "\377\377\377%\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377\377\377"
- "\377\377\377\000\000\000\000\377\377\377\070\377\377\377\371\377\377\377\377\377\377"
- "\377\352\377\377\377\271\377\377\377\321\377\377\377\375\377\377\377\372"
- "\377\377\377)\377\377\377\377\377\377\377\377\000\000\000\000\377\377\377\313\377"
- "\377\377\376\377\377\377l\000\000\000\000\000\000\000\000\377\377\377\013\377\377\377\355"
- "\377\377\377\366\377\377\377)\377\377\377\377\377\377\377\377\000\000\000\000\377"
- "\377\377u\377\377\377\325\377\377\377\316\377\377\377\371\377\377\377\373"
- "\377\377\377\320\377\377\377\322\377\377\377\207\000\000\000\000\377\377\377\377"
- "\377\377\377\377\000\000\000\000\377\377\377\302\377\377\377\377\377\377\377\365"
- "\377\377\377\266\377\377\377\324\377\377\377\377\377\377\377\375\377\377"
- "\377=\000\000\000\000\377\377\377\377\377\377\377\377\000\000\000\000\377\377\377\224\377"
- "\377\377\377\377\377\377\252\000\000\000\000\000\000\000\000\377\377\377\070\377\377\377\372"
- "\377\377\377\376\377\377\377i\377\377\377\377\377\377\377\377\000\000\000\000\377"
- "\377\377\013\377\377\377\356\377\377\377\376\377\377\377\320\377\377\377\316"
- "\377\377\377\316\377\377\377\316\377\377\377\322\377\377\377V\377\377\377"
- "\377\377\377\377\377\000\000\000\000\377\377\377\313\377\377\377\371\377\377\377"
- "%\000\000\000\000\000\000\000\000\377\377\377\013\377\377\377\361\377\377\377\333\000\000\000\000"
- "\377\377\377\377\377\377\377\377\000\000\000\000\377\377\377\313\377\377\377\376"
- "\377\377\377l\000\000\000\000\377\377\377\013\377\377\377\352\377\377\377\377\377"
- "\377\377\332\000\000\000\000\377\377\377\377\377\377\377\377\000\000\000\000\377\377\377"
- "j\377\377\377\375\377\377\377\377\377\377\377\321\377\377\377\302\377\377"
- "\377\375\377\377\377\377\377\377\377\234\000\000\000\000\377\377\377\377\377\377"
- "\377\377\000\000\000\000\377\377\377\224\377\377\377\377\377\377\377\252\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377\377\377\377\377\377"
- "\000\000\000\000\377\377\377j\377\377\377\375\377\377\377\377\377\377\377\320\377"
- "\377\377\307\377\377\377\375\377\377\377\377\377\377\377\216\000\000\000\000\377"
- "\377\377\377\377\377\377\377\000\000\000\000\377\377\377\224\377\377\377\377\377"
- "\377\377\252\000\000\000\000\000\000\000\000\377\377\377\266\377\377\377\377\377\377\377"
- "\336\000\000\000\000\377\377\377\377\377\377\377\377\377\377\377\013\377\377\377\351"
- "\377\377\377\377\377\377\377\370\377\377\377\306\377\377\377\264\377\377"
- "\377\351\377\377\377\377\377\377\377\343\000\000\000\000\377\377\377\377\377\377"
- "\377\377\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377\013\377\377\377\356\377\377\377"
- "\366\377\377\377%\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377\377\377\377\377\377"
- "\000\000\000\000\377\377\377b\377\377\377\375\377\377\377\377\377\377\377\325\377"
- "\377\377\307\377\377\377\374\377\377\377\377\377\377\377\227\000\000\000\000\377"
- "\377\377\377\377\377\377\377\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377\232\377"
- "\377\377\377\377\377\377\377\377\377\377\304\000\000\000\000\000\000\000\000\000\000\000\000\377"
- "\377\377\377\377\377\377\377\000\000\000\000\377\377\377\224\377\377\377\377\377"
- "\377\377\375\377\377\377_\377\377\377\033\377\377\377\365\377\377\377\377"
- "\377\377\377\322\000\000\000\000\377\377\377\377\377\377\377\377\000\000\000\000\377\377"
- "\377\253\377\377\377\377\377\377\377\322\000\000\000\000\000\000\000\000\377\377\377\275"
- "\377\377\377\377\377\377\377\315\000\000\000\000\377\377\377\377\377\377\377\377"
- "\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377\013\377\377\377\356\377\377\377\366\377"
- "\377\377%\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377\377\377\377\377\377\000\000\000\000"
- "\377\377\377\334\377\377\377\377\377\377\377\372\377\377\377\310\377\377"
- "\377\316\377\377\377\316\377\377\377\321\377\377\377\310\377\377\377%\377"
- "\377\377\377\377\377\377\377\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377\224\377"
- "\377\377\376\377\377\377i\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377\377"
- "\377\377\377\377\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377\317"
- "\377\377\377\376\377\377\377i\000\000\000\000\000\000\000\000\377\377\377\377\377\377\377"
- "\377\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377\013\377\377\377\364\377\377"
- "\377\254\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377\377\377\377\377\377\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\377\377\377\377\377\377\377\377\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377\377\377\377\377\377"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\377\377\377\377\377\377\377\377\000\000\000\000\377\377\377\307\377\377"
- "\377\377\377\377\377\336\377\377\377\233\377\377\377\305\377\377\377\376"
- "\377\377\377\377\377\377\377\332\000\000\000\000\377\377\377\377\377\377\377\377"
- "\000\000\000\000\377\377\377\224\377\377\377\377\377\377\377\376\377\377\377\307"
- "\377\377\377\255\377\377\377\370\377\377\377\377\377\377\377\272\000\000\000\000"
- "\377\377\377\377\377\377\377\377\000\000\000\000\377\377\377!\377\377\377\366\377"
- "\377\377\377\377\377\377\346\377\377\377\271\377\377\377\270\377\377\377"
- "\365\377\377\377\375\377\377\377M\377\377\377\377\377\377\377\377\000\000\000\000"
- "\377\377\377\255\377\377\377\377\377\377\377\373\377\377\377\257\377\377"
- "\377\302\377\377\377\376\377\377\377\377\377\377\377\332\000\000\000\000\377\377"
- "\377\377\377\377\377\377\000\000\000\000\377\377\377`\377\377\377\374\377\377\377"
- "\377\377\377\377\332\377\377\377\233\377\377\377\260\377\377\377\367\377"
- "\377\377\316\000\000\000\000\377\377\377\377\377\377\377\377\000\000\000\000\000\000\000\000\000\000"
- "\000\000\377\377\377U\377\377\377\374\377\377\377\333\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\377\377\377\377\377\377\377\377\000\000\000\000\377\377\377\215\377\377"
- "\377\377\377\377\377\342\377\377\377\242\377\377\377\237\377\377\377\246"
- "\377\377\377\247\377\377\377X\000\000\000\000\377\377\377\377\377\377\377\377\000\000"
- "\000\000\377\377\377\224\377\377\377\376\377\377\377i\000\000\000\000\000\000\000\000\377\377"
- "\377\013\377\377\377\356\377\377\377\366\377\377\377)\377\377\377\377\377"
- "\377\377\377\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377\013\377\377\377\356"
- "\377\377\377\366\377\377\377)\000\000\000\000\000\000\000\000\377\377\377\377\377\377\377"
- "\377\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377\013\377\377\377\355\377\377"
- "\377\366\377\377\377%\000\000\000\000\000\000\000\000\377\377\377\377\377\377\377\377\000\000"
- "\000\000\377\377\377K\377\377\377\375\377\377\377\245\000\000\000\000\000\000\000\000\377\377"
- "\377\233\377\377\377\377\377\377\377\356\377\377\377%\377\377\377\377\377"
- "\377\377\377\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377\013\377\377\377\355\377\377"
- "\377\376\377\377\377\302\377\377\377\262\377\377\377\322\377\377\377\033\377"
- "\377\377\377\377\377\377\377\377\377\377\013\377\377\377\361\377\377\377\333"
- "\000\000\000\000\377\377\377\320\377\377\377\371\377\377\377%\377\377\377\223\377"
- "\377\377\377\377\377\377\252\377\377\377\377\377\377\377\377\000\000\000\000\377"
- "\377\377\224\377\377\377\376\377\377\377i\000\000\000\000\000\000\000\000\377\377\377\013"
- "\377\377\377\356\377\377\377\366\377\377\377)\377\377\377\377\377\377\377"
- "\377\000\000\000\000\377\377\377\214\377\377\377\377\377\377\377\376\377\377\377"
- "\274\377\377\377\255\377\377\377\370\377\377\377\377\377\377\377\265\000\000"
- "\000\000\377\377\377\377\377\377\377\377\000\000\000\000\377\377\377\224\377\377\377"
- "\377\377\377\377\376\377\377\377\307\377\377\377\255\377\377\377\370\377"
- "\377\377\377\377\377\377\272\000\000\000\000\377\377\377\377\377\377\377\377\000\000"
- "\000\000\377\377\377\255\377\377\377\377\377\377\377\373\377\377\377\257\377"
- "\377\377\302\377\377\377\376\377\377\377\377\377\377\377\332\000\000\000\000\377"
- "\377\377\377\377\377\377\377\000\000\000\000\000\000\000\000\377\377\377\313\377\377\377"
- "\376\377\377\377l\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377\377"
- "\377\377\377\377\000\000\000\000\377\377\377\341\377\377\377\377\377\377\377\335"
- "\377\377\377\233\377\377\377\213\377\377\377\306\377\377\377\377\377\377"
- "\377\352\377\377\377\013\377\377\377\377\377\377\377\377\000\000\000\000\000\000\000\000\000"
- "\000\000\000\377\377\377\241\377\377\377\377\377\377\377\365\377\377\377\245\377"
- "\377\377\255\377\377\377\325\377\377\377\062\377\377\377\377\377\377\377\377"
- "\000\000\000\000\377\377\377\275\377\377\377\377\377\377\377\361\377\377\377\252"
- "\377\377\377\331\377\377\377\377\377\377\377\377\377\377\377\332\000\000\000\000"
- "\377\377\377\377\377\377\377\377\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377\266"
- "\377\377\377\377\377\377\377\377\377\377\377\336\000\000\000\000\000\000\000\000\000\000\000\000"
- "\377\377\377\377\377\377\377\377\000\000\000\000\377\377\377\240\377\377\377\377"
- "\377\377\377\377\377\377\377\207\377\377\377K\377\377\377\374\377\377\377"
- "\377\377\377\377\315\000\000\000\000\377\377\377\377\377\377\377\377\000\000\000\000\377"
- "\377\377U\377\377\377\374\377\377\377\372\377\377\377\070\377\377\377!\377"
- "\377\377\366\377\377\377\376\377\377\377\177\000\000\000\000\377\377\377\377\377"
- "\377\377\377\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377}\377\377\377\377\377\377"
- "\377\377\377\377\377\352\377\377\377\013\000\000\000\000\000\000\000\000\377\377\377\377\377"
- "\377\377\377\000\000\000\000\377\377\377\267\377\377\377\377\377\377\377\377\377"
- "\377\377\311\377\377\377\302\377\377\377\304\377\377\377\304\377\377\377"
- "\271\377\377\377\033\377\377\377\377\377\377\377\377\000\000\000\000\000\000\000\000\000\000\000"
- "\000\377\377\377\013\377\377\377\361\377\377\377\327\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\377\377\377\377\377\377\377\377\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\377\377\377\313\377\377\377\371\377\377\377%\000\000\000\000\000\000\000\000\000\000\000\000\377"
- "\377\377\377\377\377\377\377\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377"
- "\313\377\377\377\371\377\377\377%\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377\377"
- "\377\377\377\377\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377\377\377\377\377\377\000\000\000\000\000\000\000\000"
- "\000\000\000\000\377\377\377\000\377\377\377\000\377\377\377\000\377\377\377\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\377\377\377\377\377\377\377\377\000\000\000\000\000\000\000\000\000\000\000\000"
- "\377\377\377b\377\377\377\374\377\377\377\377\377\377\377\225\000\000\000\000\000\000"
- "\000\000\000\000\000\000\377\377\377\377\377\377\377\377\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377\377\377"
- "\377\377\377\000\000\000\000\000\000\000\000\377\377\377\316\377\377\377\333\000\000\000\000\377"
- "\377\377\316\377\377\377\334\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377\377\377"
- "\377\377\377\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377w\377\377\377\343\377\377"
- "\377\375\377\377\377\201\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377\377\377\377"
- "\377\377\377\377\377\013\377\377\377\244\377\377\377\013\000\000\000\000\000\000\000\000\377"
- "\377\377\302\377\377\377\377\377\377\377\377\377\377\377\364\377\377\377"
- "Z\377\377\377\377\377\377\377\377\000\000\000\000\377\377\377~\377\377\377\370\377"
- "\377\377\377\377\377\377\377\377\377\377\376\377\377\377\275\377\377\377"
- "\266\377\377\377\376\377\377\377\323\377\377\377\377\377\377\377\377\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\377\377\377\377\377\377\377\377\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\377"
- "\377\377\335\377\377\377\376\377\377\377~\000\000\000\000\000\000\000\000\000\000\000\000\377\377"
- "\377\377\377\377\377\377\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377K\377\377\377"
- "\373\377\377\377\363\377\377\377%\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377\377"
- "\377\377\377\377\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377\377\377\377\377\377\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\377\377"
- "\377\377\377\377\377\377\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377I\377\377\377"
- "\357\377\377\377\377\377\377\377\364\377\377\377)\000\000\000\000\000\000\000\000\377\377"
- "\377\377\377\377\377\377\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377\377\377\377\377\377\000\000\000\000"
- "\000\000\000\000\000\000\000\000\377\377\377}\377\377\377\376\377\377\377\377\377\377\377"
- "\244\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377\377\377\377\377\377\000\000\000\000\000\000"
- "\000\000\377\377\377\232\377\377\377\377\377\377\377\251\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\377\377\377\377\377\377\377\377\000\000\000\000\000\000\000\000\377"
- "\377\377l\377\377\377\367\377\377\377\377\377\377\377\377\377\377\377\376"
- "\377\377\377\223\000\000\000\000\000\000\000\000\377\377\377\377\377\377\377\377\000\000\000\000"
- "\377\377\377\232\377\377\377\377\377\377\377\377\377\377\377\377\377\377"
- "\377\377\377\377\377\377\377\377\377\377\377\377\377\372\377\377\377)\377"
- "\377\377\377\377\377\377\377\377\377\377\013\377\377\377\355\377\377\377\377"
- "\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377"
- "\377\377\377\377\377\360\377\377\377\033\377\377\377\377\377\377\377\377\000"
- "\000\000\000\377\377\377j\377\377\377\350\377\377\377\377\377\377\377\377\377\377"
- "\377\377\377\377\377\376\377\377\377\302\000\000\000\000\000\000\000\000\377\377\377\377"
- "\377\377\377\377\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377;\377"
- "\377\377\372\377\377\377\316\000\000\000\000\000\000\000\000\377\377\377\377\377\377\377"
- "\377\000\000\000\000\377\377\377u\377\377\377\351\377\377\377\377\377\377\377\377"
- "\377\377\377\377\377\377\377\373\377\377\377\254\000\000\000\000\000\000\000\000\377\377"
- "\377\377\377\377\377\377\000\000\000\000\000\000\000\000\377\377\377S\377\377\377\354\377"
- "\377\377\377\377\377\377\377\377\377\377\377\377\377\377\325\377\377\377"
- "\033\000\000\000\000\377\377\377\377\377\377\377\377\000\000\000\000\000\000\000\000\000\000\000\000\377\377"
- "\377\214\377\377\377\377\377\377\377\244\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\377\377\377\377\377\377\377\377\000\000\000\000\377\377\377\013\377\377\377\315\377"
- "\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377"
- "\342\377\377\377\062\000\000\000\000\377\377\377\377\377\377\377\377\000\000\000\000\377\377"
- "\377\177\377\377\377\365\377\377\377\377\377\377\377\377\377\377\377\377"
- "\377\377\377\342\377\377\377\062\000\000\000\000\000\000\000\000\377\377\377\377\377\377\377"
- "\377\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377}\377\377\377\376\377\377\377\377"
- "\377\377\377\244\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377\377\377\377\377\377"
- "\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377I\377\377\377\357\377\377\377\377\377"
- "\377\377\364\377\377\377)\000\000\000\000\000\000\000\000\377\377\377\377\377\377\377\377"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377\013\377"
- "\377\377M\000\000\000\000\377\377\377\377\377\377\377\377\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377\377"
- "\377\377\377\377\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377\377\377\377\377\377\000\000\000\000\000\000\000\000"
- "\000\000\000\000\377\377\377\232\377\377\377\377\377\377\377\375\377\377\377\\\000"
- "\000\000\000\000\000\000\000\000\000\000\000\377\377\377\377\377\377\377\377\000\000\000\000\377\377\377"
- "\255\377\377\377\377\377\377\377\234\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\377\377\377\377\377\377\377\377\377\377\377\224\377\377\377"
- "\377\377\377\377\276\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377\240\377"
- "\377\377\377\377\377\377\266\377\377\377\377\377\377\377\377\000\000\000\000\377"
- "\377\377\215\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377"
- "\377\377\377\377\370\377\377\377\312\377\377\377%\000\000\000\000\377\377\377\377"
- "\377\377\377\377\000\000\000\000\000\000\000\000\377\377\377\013\377\377\377\316\377\377\377"
- "\377\377\377\377\377\377\377\377\377\377\377\377\376\377\377\377\255\000\000"
- "\000\000\377\377\377\377\377\377\377\377\000\000\000\000\377\377\377\305\377\377\377"
- "\377\377\377\377\377\377\377\377\377\377\377\377\373\377\377\377\330\377"
- "\377\377V\000\000\000\000\000\000\000\000\377\377\377\377\377\377\377\377\000\000\000\000\377\377"
- "\377K\377\377\377\374\377\377\377\377\377\377\377\377\377\377\377\377\377"
- "\377\377\377\377\377\377\377\377\377\377\372\377\377\377)\377\377\377\377"
- "\377\377\377\377\000\000\000\000\377\377\377\013\377\377\377\351\377\377\377\366\377"
- "\377\377%\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377\377\377\377"
- "\377\377\000\000\000\000\000\000\000\000\377\377\377I\377\377\377\345\377\377\377\377\377"
- "\377\377\377\377\377\377\377\377\377\377\370\377\377\377\241\000\000\000\000\377"
- "\377\377\377\377\377\377\377\000\000\000\000\377\377\377\313\377\377\377\375\377"
- "\377\377\\\000\000\000\000\000\000\000\000\377\377\377\013\377\377\377\355\377\377\377\355"
- "\377\377\377\033\377\377\377\377\377\377\377\377\000\000\000\000\377\377\377\224\377"
- "\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377"
- "\377\377\377\377\377\377\377\377\336\000\000\000\000\377\377\377\377\377\377\377"
- "\377\000\000\000\000\377\377\377\013\377\377\377\316\377\377\377\377\377\377\377\377"
- "\377\377\377\377\377\377\377\373\377\377\377\213\000\000\000\000\000\000\000\000\377\377"
- "\377\377\377\377\377\377\000\000\000\000\377\377\377\224\377\377\377\377\377\377"
- "\377\252\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377\247\377\377\377\377\377\377"
- "\377\326\377\377\377\377\377\377\377\377\000\000\000\000\377\377\377\013\377\377\377"
- "\351\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377"
- "\377\377\377\377\377\377\376\377\377\377_\377\377\377\377\377\377\377\377"
- "\000\000\000\000\377\377\377\313\377\377\377\366\377\377\377%\000\000\000\000\000\000\000\000\000\000"
- "\000\000\377\377\377\344\377\377\377\333\000\000\000\000\377\377\377\377\377\377\377"
- "\377\000\000\000\000\377\377\377\307\377\377\377\375\377\377\377Q\000\000\000\000\000\000\000\000"
- "\377\377\377\204\377\377\377\377\377\377\377\327\000\000\000\000\377\377\377\377"
- "\377\377\377\377\000\000\000\000\000\000\000\000\377\377\377\206\377\377\377\371\377\377"
- "\377\377\377\377\377\377\377\377\377\376\377\377\377\240\000\000\000\000\000\000\000\000"
- "\377\377\377\377\377\377\377\377\000\000\000\000\377\377\377\215\377\377\377\377"
- "\377\377\377\244\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\377\377"
- "\377\377\377\377\377\377\000\000\000\000\000\000\000\000\377\377\377\206\377\377\377\370"
- "\377\377\377\377\377\377\377\377\377\377\377\376\377\377\377\241\000\000\000\000"
- "\000\000\000\000\377\377\377\377\377\377\377\377\000\000\000\000\377\377\377\214\377\377"
- "\377\377\377\377\377\252\000\000\000\000\000\000\000\000\377\377\377\033\377\377\377\356\377"
- "\377\377\376\377\377\377v\377\377\377\377\377\377\377\377\000\000\000\000\377\377"
- "\377\025\377\377\377\316\377\377\377\376\377\377\377\377\377\377\377\377\377"
- "\377\377\377\377\377\377\335\377\377\377)\000\000\000\000\377\377\377\377\377\377"
- "\377\377\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377\013\377\377\377\351\377\377\377"
- "\364\377\377\377%\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377\377\377\377\377\377"
- "\000\000\000\000\000\000\000\000\377\377\377\233\377\377\377\375\377\377\377\377\377\377"
- "\377\377\377\377\377\377\377\377\377\276\000\000\000\000\000\000\000\000\377\377\377\377"
- "\377\377\377\377\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377;\377\377\377\372\377"
- "\377\377\376\377\377\377|\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377\377\377\377"
- "\377\377\000\000\000\000\377\377\377u\377\377\377\375\377\377\377\355\377\377\377"
- "\033\000\000\000\000\377\377\377\320\377\377\377\377\377\377\377\244\000\000\000\000\377\377"
- "\377\377\377\377\377\377\377\377\377\033\377\377\377\366\377\377\377\372\377"
- "\377\377=\000\000\000\000\000\000\000\000\377\377\377\033\377\377\377\362\377\377\377\376"
- "\377\377\377_\377\377\377\377\377\377\377\377\000\000\000\000\000\000\000\000\000\000\000\000\377"
- "\377\377\013\377\377\377\351\377\377\377\364\377\377\377%\000\000\000\000\000\000\000\000"
- "\000\000\000\000\377\377\377\377\377\377\377\377\377\377\377\013\377\377\377\356\377"
- "\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377"
- "\377\377\377\377\377\377\377\377\376\377\377\377l\377\377\377\377\377\377"
- "\377\377\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377\224\377\377\377\376\377\377"
- "\377i\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377\377\377\377\377\377\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377}\377\377\377\377\377\377"
- "\377\277\000\000\000\000\000\000\000\000\377\377\377\377\377\377\377\377\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\377\377\377\013\377\377\377\364\377\377\377\254\000\000\000\000\000"
- "\000\000\000\000\000\000\000\377\377\377\377\377\377\377\377\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377\377\377"
- "\377\377\377\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\377\377\377\377\377\377\377\377\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377"
- "\377\377\377\377\377\000\000\000\000\377\377\377\065\377\377\377\347\377\377\377\377"
- "\377\377\377\377\377\377\377\377\377\377\377\303\377\377\377\362\377\377"
- "\377\333\000\000\000\000\377\377\377\377\377\377\377\377\000\000\000\000\377\377\377\224"
- "\377\377\377\377\377\377\377\345\377\377\377\377\377\377\377\377\377\377"
- "\377\377\377\377\377\307\000\000\000\000\000\000\000\000\377\377\377\377\377\377\377\377"
- "\000\000\000\000\000\000\000\000\377\377\377I\377\377\377\345\377\377\377\377\377\377\377"
- "\377\377\377\377\377\377\377\377\373\377\377\377\260\000\000\000\000\377\377\377"
- "\377\377\377\377\377\000\000\000\000\000\000\000\000\377\377\377\310\377\377\377\377\377"
- "\377\377\377\377\377\377\377\377\377\377\326\377\377\377\367\377\377\377"
- "\315\000\000\000\000\377\377\377\377\377\377\377\377\000\000\000\000\000\000\000\000\377\377\377"
- "l\377\377\377\356\377\377\377\377\377\377\377\377\377\377\377\377\377\377"
- "\377\370\377\377\377\231\000\000\000\000\377\377\377\377\377\377\377\377\000\000\000\000"
- "\000\000\000\000\000\000\000\000\377\377\377;\377\377\377\373\377\377\377\322\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\377\377\377\377\377\377\377\377\000\000\000\000\377\377\377"
- "I\377\377\377\373\377\377\377\377\377\377\377\377\377\377\377\377\377\377"
- "\377\377\377\377\377\377\377\377\377\377\377\377\377\216\377\377\377\377"
- "\377\377\377\377\000\000\000\000\377\377\377\224\377\377\377\376\377\377\377i\000\000"
- "\000\000\000\000\000\000\377\377\377\013\377\377\377\351\377\377\377\355\377\377\377\033"
- "\377\377\377\377\377\377\377\377\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\377\377"
- "\377\013\377\377\377\351\377\377\377\355\377\377\377\033\000\000\000\000\000\000\000\000\377"
- "\377\377\377\377\377\377\377\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377"
- "\013\377\377\377\355\377\377\377\366\377\377\377)\000\000\000\000\000\000\000\000\377\377"
- "\377\377\377\377\377\377\000\000\000\000\377\377\377K\377\377\377\374\377\377\377"
- "\252\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377\307\377\377\377\377\377\377\377"
- "\304\377\377\377\377\377\377\377\377\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\377"
- "\377\377\223\377\377\377\375\377\377\377\377\377\377\377\377\377\377\377"
- "\372\377\377\377M\377\377\377\377\377\377\377\377\377\377\377\013\377\377"
- "\377\361\377\377\377\333\000\000\000\000\377\377\377\275\377\377\377\371\377\377"
- "\377%\377\377\377\223\377\377\377\377\377\377\377\252\377\377\377\377\377"
- "\377\377\377\000\000\000\000\377\377\377\224\377\377\377\376\377\377\377i\000\000\000\000"
- "\000\000\000\000\377\377\377\013\377\377\377\351\377\377\377\355\377\377\377\033\377"
- "\377\377\377\377\377\377\377\000\000\000\000\000\000\000\000\377\377\377\240\377\377\377"
- "\374\377\377\377\377\377\377\377\377\377\377\377\376\377\377\377\275\000\000"
- "\000\000\000\000\000\000\377\377\377\377\377\377\377\377\000\000\000\000\377\377\377\224\377"
- "\377\377\377\377\377\377\352\377\377\377\377\377\377\377\377\377\377\377"
- "\377\377\377\377\307\000\000\000\000\000\000\000\000\377\377\377\377\377\377\377\377\000\000"
- "\000\000\000\000\000\000\377\377\377\310\377\377\377\377\377\377\377\377\377\377\377"
- "\377\377\377\377\337\377\377\377\377\377\377\377\332\000\000\000\000\377\377\377"
- "\377\377\377\377\377\000\000\000\000\000\000\000\000\377\377\377\307\377\377\377\375\377"
- "\377\377_\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377\377\377\377"
- "\377\377\000\000\000\000\377\377\377c\377\377\377\330\377\377\377\377\377\377\377"
- "\377\377\377\377\377\377\377\377\377\377\377\377\354\377\377\377Z\000\000\000\000"
- "\377\377\377\377\377\377\377\377\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377\013\377"
- "\377\377\333\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377"
- "\375\377\377\377_\377\377\377\377\377\377\377\377\000\000\000\000\377\377\377\033"
- "\377\377\377\350\377\377\377\377\377\377\377\377\377\377\377\376\377\377"
- "\377\255\377\377\377\362\377\377\377\323\000\000\000\000\377\377\377\377\377\377"
- "\377\377\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377;\377\377\377\372\377\377\377"
- "\376\377\377\377\206\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377\377\377\377\377"
- "\377\000\000\000\000\377\377\377b\377\377\377\374\377\377\377\372\377\377\377I\377"
- "\377\377\013\377\377\377\355\377\377\377\377\377\377\377\243\000\000\000\000\377\377"
- "\377\377\377\377\377\377\377\377\377\013\377\377\377\345\377\377\377\376\377"
- "\377\377\214\000\000\000\000\000\000\000\000\377\377\377j\377\377\377\374\377\377\377\363"
- "\377\377\377%\377\377\377\377\377\377\377\377\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\377\377\377\335\377\377\377\377\377\377\377\236\000\000\000\000\000\000\000\000\000\000"
- "\000\000\377\377\377\377\377\377\377\377\377\377\377\013\377\377\377\355\377\377"
- "\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377"
- "\377\377\377\377\377\377\377\372\377\377\377)\377\377\377\377\377\377\377"
- "\377\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377\013\377\377\377\360\377\377\377\333"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377\377\377\377\377\377\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377\313\377\377\377\371\377\377\377%\000\000"
- "\000\000\000\000\000\000\000\000\000\000\377\377\377\377\377\377\377\377\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\377\377\377\313\377\377\377\371\377\377\377%\000\000\000\000\000\000\000\000"
- "\000\000\000\000\377\377\377\377\377\377\377\377\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377\377\377\377"
- "\377\377\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377\000\377\377\377\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377\377\377\377\377\377\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\377\377\377E\377\377\377S\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\377\377\377\377\377\377\377\377\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377\377\377\377\377"
- "\377\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\377\377\377\377\377\377\377\377\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\377\377\377\313\377\377\377\371\377\377\377%\000\000\000\000\000\000\000\000\000\000\000\000"
- "\377\377\377\377\377\377\377\377\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\377\377\377Q\377\377\377n\377\377\377\013\000\000\000\000\377\377\377\377"
- "\377\377\377\377\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377b\377\377\377e\377\377"
- "\377\033\000\000\000\000\000\000\000\000\371\371\377.\377\377\377\065\377\377\377\377\377\377"
- "\377\377\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\377\377\377\377\377\377\377\377\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\377\377\377V\377\377\377\374\377\377\377\364\377\377\377\062\000\000"
- "\000\000\000\000\000\000\377\377\377\377\377\377\377\377\000\000\000\000\000\000\000\000\377\377\377"
- "\013\377\377\377\343\377\377\377\377\377\377\377\215\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\377\377\377\377\377\377\377\377\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377\377\377\377"
- "\377\377\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\377\377\377\377\377\377\377\377\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\377\377\377\033\377\377\377\371\377\377\377\334\000\000\000\000\000\000\000\000\000"
- "\000\000\000\377\377\377\377\377\377\377\377\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377\377\377\377\377"
- "\377\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377E\377\377\377X\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\377\377\377\377\377\377\377\377\000\000\000\000\000\000\000\000\377"
- "\377\377\341\377\377\377\375\377\377\377=\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\377\377\377\377\377\377\377\377\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\377\377\377e\377\377\377l\377\377\377\033\000\000\000\000\000\000\000\000\000\000\000\000\377\377"
- "\377\377\377\377\377\377\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377\377\377\377\377\377\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\377\377\377\377\377\377\377\377\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377E\377"
- "\377\377X\377\377\377S\377\377\377\013\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377"
- "\377\377\377\377\377\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377\377\377\377\377\377\000\000\000\000\000\000"
- "\000\000\000\000\000\000\377\377\377@\377\377\377e\377\377\377c\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\377\377\377\377\377\377\377\377\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\377\377\377S\377\377\377K\377\377\377I\000\000\000\000\000\000\000\000\000\000\000\000\377\377"
- "\377\377\377\377\377\377\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377\377\377\377\377\377\000\000\000\000"
- "\000\000\000\000\000\000\000\000\377\377\377)\377\377\377e\377\377\377n\377\377\377\070\000"
- "\000\000\000\000\000\000\000\000\000\000\000\377\377\377\377\377\377\377\377\000\000\000\000\000\000\000\000\000"
- "\000\000\000\377\377\377_\377\377\377p\377\377\377I\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\377\377\377\377\377\377\377\377\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\377"
- "\377\377E\377\377\377X\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377\377\377"
- "\377\377\377\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377\033\377\377\377\371"
- "\377\377\377\334\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377\377\377\377\377\377"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\377\377\377\377\377\377\377\377\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377\377\377\377"
- "\377\377\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\377\377\377\377\377\377\377\377\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\377\377\377`\377\377\377I\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\377\377"
- "\377\377\377\377\377\377\000\000\000\000\377\377\377\033\377\377\377\362\377\377\377"
- "\376\377\377\377\255\377\377\377\065\377\377\377V\377\377\377\322\377\377"
- "\377\255\000\000\000\000\377\377\377\377\377\377\377\377\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377\377"
- "\377\377\377\377\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377\377\377\377\377\377\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\377\377\377)\377\377\377X\377\377\377V\377\377\377\013\000"
- "\000\000\000\000\000\000\000\377\377\377\377\377\377\377\377\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377\377\377"
- "\377\377\377\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\377\377\377\377\377\377\377\377\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377"
- "\377\377\377\377\377\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377E\377\377"
- "\377m\377\377\377c\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377\377\377\377\377\377"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\377\377\377\377\377\377\377\377\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377\377\377\377"
- "\377\377\000\000\000\000\000\000\000\000\000\000\000\000\371\371\377.\377\377\377m\377\377\377c\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377\377\377\377\377\377\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\377"
- "\377\377\377\377\377\377\377\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377\377\377\377\377\377\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\377\377\377\377\377\377\377\377\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377\377\377\377\377"
- "\377\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377b\377\377\377c\377\377\377"
- "\013\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377\377\377\377\377\377\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\377\377"
- "\377\377\377\377\377\377\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377\320"
- "\377\377\377\377\377\377\377\333\377\377\377\033\377\377\377E\377\377\377"
- "\013\377\377\377\377\377\377\377\377\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377\377\377\377\377\377"
- "\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377\013\377\377\377e\377\377\377e\377\377"
- "\377\070\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377\377\377\377\377\377\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\377"
- "\377\377\377\377\377\377\377\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377"
- "e\377\377\377n\377\377\377\065\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377\377\377"
- "\377\377\377\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\377\377\377\377\377\377\377\377\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377"
- "\377\377\377\377\377\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377\377\377\377\377\377\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\377"
- "\377\377\377\377\377\377\377\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377\377\377\377\377\377\000\000"
- "\000\000\000\000\000\000\000\000\000\000\377\377\377\224\377\377\377\376\377\377\377U\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377\377\377\377\377\377\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377\025\377\377\377\361\377\377\377\366\377"
- "\377\377%\000\000\000\000\377\377\377\377\377\377\377\377\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\377\377\377\013\377\377\377\364\377\377\377\254\000\000\000\000\000\000\000\000\000"
- "\000\000\000\377\377\377\377\377\377\377\377\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377\377\377\377\377"
- "\377\000\000\000\000\377\377\377\216\377\377\377\233\377\377\377\232\377\377\377"
- "\232\377\377\377\232\377\377\377\232\377\377\377\232\377\377\377\237\377"
- "\377\377=\377\377\377\377\377\377\377\377\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377\377\377\377"
- "\377\377\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377U\377\377\377n\377\377\377\065"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377\377\377\377\377\377\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377E\377\377\377n\377\377\377\070\000\000\000\000"
- "\000\000\000\000\000\000\000\000\377\377\377\377\377\377\377\377\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\377\377\377@\377\377\377m\377\377\377c\000\000\000\000\000\000\000\000\000\000\000\000\377"
- "\377\377\377\377\377\377\377\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377@\377\377"
- "\377p\377\377\377I\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377\377\377\377"
- "\377\377\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377Q\377\377\377p\377\377"
- "\377X\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377\377\377\377\377\377\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\377"
- "\377\377\377\377\377\377\377\000\000\000\000\377\377\377\324\377\377\377\376\377"
- "\377\377|\377\377\377S\377\377\377V\377\377\377K\377\377\377\263\377\377"
- "\377\377\377\377\377\252\377\377\377\377\377\377\377\377\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\377\377"
- "\377\377\377\377\377\377\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377\377\377\377\377\377\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377\025\377\377\377\362\377\377\377\360\377"
- "\377\377\033\000\000\000\000\000\000\000\000\377\377\377\377\377\377\377\377\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\377\377"
- "\377\377\377\377\377\377\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\377\377"
- "\377)\377\377\377p\377\377\377c\000\000\000\000\000\000\000\000\377\377\377\377\377\377\377"
- "\377\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\377\377\377\377\377\377\377\377\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377\377\377"
- "\377\377\377\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377b\377\377\377f\377"
- "\377\377\013\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377\377\377\377\377\377\000\000\000"
- "\000\377\377\377\224\377\377\377\376\377\377\377U\377\377\377@\377\377\377"
- "e\377\377\377\070\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377\377\377\377\377\377"
- "\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377@\377\377\377p\377\377\377I\377\377\377"
- ";\377\377\377\374\377\377\377\333\000\000\000\000\377\377\377\377\377\377\377\377"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\377\377\377\377\377\377\377\377\000\000\000\000\000\000\000\000\000\000\000\000\377\377"
- "\377\013\377\377\377e\377\377\377e\377\377\377I\000\000\000\000\000\000\000\000\000\000\000\000\377"
- "\377\377\377\377\377\377\377\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\377"
- "\377\377O\377\377\377X\377\377\377U\000\000\000\000\000\000\000\000\377\377\377\377\377\377"
- "\377\377\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377j\377\377\377n\377\377\377\033"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377\377\377\377\377\377\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\377\377\377\377\377\377\377\377\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377\377\377\377\377\377"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\377\377\377\377\377\377\377\377\000\000\000\000\000\000\000\000\000\000\000\000\377\377"
- "\377\033\377\377\377\362\377\377\377\367\377\377\377)\000\000\000\000\000\000\000\000\000\000"
- "\000\000\377\377\377\377\377\377\377\377\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377\377\377\377\377"
- "\377\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377\013\377\377\377\361\377\377\377\356"
- "\377\377\377%\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377\377\377\377\377\377\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377\313\377\377\377\371\377\377\377"
- "%\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377\377\377\377\377\377\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\377\377\377\335\377\377\377\372\377\377\377)\000\000\000\000\000\000"
- "\000\000\000\000\000\000\377\377\377\377\377\377\377\377\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377\377\377"
- "\377\377\377\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\377\377\377\377\377\377\377\377\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377"
- "\377\377\377\377\377\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377\377\377\377\377\377\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\377"
- "\377\377\377\377\377\377\377\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377"
- "\267\377\377\377\345\377\377\377%\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377\377"
- "\377\377\377\377\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377\377\377\377\377\377\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\377\377"
- "\377\377\377\377\377\377\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377\377\377\377\377\377\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377\237\377\377\377\377\377\377"
- "\377\361\377\377\377\062\000\000\000\000\377\377\377\377\377\377\377\377\000\000\000\000\000"
- "\000\000\000\377\377\377\331\377\377\377\377\377\377\377\304\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\377\377\377\377\377\377\377\377\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377"
- "\377\377\377\377\377\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377\377\377\377\377\377\000\000\000\000\000\000"
- "\000\000\000\000\000\000\377\377\377\062\377\377\377\337\377\377\377\377\377\377\377\236"
- "\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377\377\377\377\377\377\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\377\377"
- "\377\377\377\377\377\377\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377\377\377\377\377\377\000\000\000\000"
- "\377\377\377b\377\377\377\376\377\377\377\330\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\377\377\377\377\377\377\377\377\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377"
- "\377\377\377\377\377\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377\377\377\377\377\377\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\377"
- "\377\377\377\377\377\377\377\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377\377\377\377\377\377\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\377\377\377\377\377\377\377\377\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377\377\377\377\377"
- "\377\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\377\377\377\377\377\377\377\377\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377\377\377"
- "\377\377\377\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\377\377\377\377\377\377\377\377\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377"
- "\377\377\377\377\377\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377\377\377\377\377\377\000\000\000\000\000\000"
- "\000\000\000\000\000\000\377\377\377\062\377\377\377\337\377\377\377\377\377\377\377\236"
- "\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377\377\377\377\377\377\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\377\377"
- "\377\377\377\377\377\377\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377\377\377\377\377\377\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\377\377\377\377\377\377\377\377\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377\377\377\377\377\377"
- "\000\000\000\000\000\000\000\000\377\377\377\065\377\377\377\344\377\377\377\377\377\377\377"
- "\377\377\377\377\377\377\377\377\377\377\377\377\270\000\000\000\000\377\377\377"
- "\377\377\377\377\377\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377\377\377\377\377\377\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\377"
- "\377\377\377\377\377\377\377\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377\377\377\377\377\377\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\377\377\377\377\377\377\377\377\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377\377\377\377\377"
- "\377\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\377\377\377\377\377\377\377\377\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377\377\377"
- "\377\377\377\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\377\377\377\377\377\377\377\377\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377"
- "\377\377\377\377\377\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377\377\377\377\377\377\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\377"
- "\377\377\377\377\377\377\377\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377\377\377\377\377\377\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\377\377\377\377\377\377\377\377\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377\377\377\377\377"
- "\377\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\377\377\377\377\377\377\377\377\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377\377\377"
- "\377\377\377\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377\065\377\377\377\362"
- "\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\210\377\377"
- "\377\377\377\377\377\377\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377\377\377\377\377\377\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\377\377\377\377\377\377\377\377\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377\377\377\377\377\377"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\377\377\377\377\377\377\377\377\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377\377\377\377"
- "\377\377\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\377\377\377\377\377\377\377\377\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377\377"
- "\377\377\377\377\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377\377\377\377\377\377\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\377\377"
- "\377\377\377\377\377\377\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377\232\377\377"
- "\377\377\377\377\377\370\377\377\377\364\377\377\377\372\377\377\377\243"
- "\000\000\000\000\377\377\377\377\377\377\377\377\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\377\377\377\266\377\377\377\377\377\377\377\225\000\000\000\000"
- "\377\377\377\377\377\377\377\377\000\000\000\000\377\377\377\205\377\377\377\371"
- "\377\377\377\364\377\377\377\364\377\377\377\377\377\377\377\260\000\000\000\000"
- "\000\000\000\000\000\000\000\000\377\377\377\377\377\377\377\377\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377\377"
- "\377\377\377\377\377\377\377\013\377\377\377\370\377\377\377\377\377\377\377"
- "\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377"
- "\377\377\377\377\377\377m\377\377\377\377\377\377\377\377\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\377\377"
- "\377\377\377\377\377\377\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377\377\377\377\377\377\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\377\377\377\377\377\377\377\377\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377\377\377\377\377\377"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\377\377\377\377\377\377\377\377\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377\377\377\377"
- "\377\377\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\377\377\377\377\377\377\377\377\377\377\377\013\377\377\377"
- "\345\377\377\377\375\377\377\377f\000\000\000\000\000\000\000\000\377\377\377\062\377\377"
- "\377\326\377\377\377\377\377\377\377\245\377\377\377\377\377\377\377\377"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\377\377\377\377\377\377\377\377\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377\377\377\377"
- "\377\377\000\000\000\000\377\377\377\234\377\377\377\205\377\377\377I\377\377\377"
- "\272\377\377\377\377\377\377\377\326\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377"
- "\377\377\377\377\377\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377\377\377\377\377\377\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\377"
- "\377\377\377\377\377\377\377\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377\377\377\377\377\377\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\377\377\377\377\377\377\377\377\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377\377\377\377\377"
- "\377\000\000\000\000\377\377\377\224\377\377\377\376\377\377\377i\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377\377\377\377\377\377\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377K\377\377\377\374\377"
- "\377\377\333\000\000\000\000\377\377\377\377\377\377\377\377\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377"
- "\377\377\377\377\377\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377\377\377\377\377\377\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\377"
- "\377\377\377\377\377\377\377\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377\377\377\377\377\377\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\377\377\377\377\377\377\377\377\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377\377\377\377\377"
- "\377\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\377\377\377\377\377\377\377\377\000\000\000\000\377\377\377i\377\377"
- "\377\203\377\377\377\337\377\377\377\377\377\377\377\260\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\377\377\377\377\377\377\377\377\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377\377"
- "\377\377\377\377\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377\275\377\377"
- "\377\377\377\377\377\377\377\377\377\373\377\377\377\243\000\000\000\000\377\377"
- "\377\377\377\377\377\377\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377\313"
- "\377\377\377\371\377\377\377%\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377\377\377"
- "\377\377\377\000\000\000\000\377\377\377\177\377\377\377\372\377\377\377\376\377"
- "\377\377\377\377\377\377\333\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377"
- "\377\377\377\377\377\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377\377\377\377\377\377\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\377"
- "\377\377\377\377\377\377\377\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377\377\377\377\377\377\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\377\377\377\377\377\377\377\377\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377\377\377\377\377"
- "\377\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\377\377\377\377\377\377\377\377\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377\377\377"
- "\377\377\377\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\377\377\377\377\377\377\377\377\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377"
- "\377\377\377\377\377\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\377"
- "\377\377\253\377\377\377\340\377\377\377%\000\000\000\000\377\377\377\377\377\377"
- "\377\377\000\000\000\000\000\000\000\000\377\377\377\310\377\377\377\307\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377\377\377\377\377\377\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\377\377\377\377\377\377\377\377\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377\377\377\377\377\377"
- "\000\000\000\000\000\000\000\000\377\377\377\013\377\377\377\351\377\377\377\377\377\377\377"
- "\276\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377\377\377\377\377\377\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\377\377\377\377\377\377\377\377\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377\377\377\377\377"
- "\377\000\000\000\000\377\377\377u\377\377\377\325\377\377\377w\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377\377\377\377\377\377\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\377"
- "\377\377\377\377\377\377\377\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377\377\377\377\377\377\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\377\377\377\377\377\377\377\377\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377\377\377\377\377"
- "\377\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\377\377\377\377\377\377\377\377\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377\377\377"
- "\377\377\377\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\377\377\377\377\377\377\377\377\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377"
- "\377\377\377\377\377\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377\377\377\377\377\377\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\377"
- "\377\377\377\377\377\377\377\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377\377\377\377\377\377\000\000"
- "\000\000\000\000\000\000\377\377\377\013\377\377\377\351\377\377\377\377\377\377\377\276"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377\377\377\377\377\377\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\377\377\377\377\377\377\377\377\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377\377\377\377\377\377"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\377\377\377\377\377\377\377\377\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377\377\377\377"
- "\377\377\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377`\377\377\377\213\377"
- "\377\377\203\377\377\377\070\000\000\000\000\000\000\000\000\377\377\377\377\377\377\377\377"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\377\377\377\377\377\377\377\377\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377\377\377\377"
- "\377\377\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\377\377\377\377\377\377\377\377\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377\377"
- "\377\377\377\377\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377\377\377\377\377\377\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\377\377"
- "\377\377\377\377\377\377\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377\377\377\377\377\377\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\377\377\377\377\377\377\377\377\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377\377\377\377\377\377"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\377\377\377\377\377\377\377\377\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377\377\377\377"
- "\377\377\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\377\377\377\377\377\377\377\377\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377\377"
- "\377\377\377\377\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377\377\377\377\377\377\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\377\377"
- "\377\377\377\377\377\377\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377\377\377\377\377\377\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377\013\377\377\377\251\377\377\377"
- "\322\377\377\377\316\377\377\377m\377\377\377\377\377\377\377\377\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\377\377\377\377\377\377\377\377\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377\377\377\377\377\377"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\377\377\377\377\377\377\377\377\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377\377\377\377"
- "\377\377\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\377\377\377\377\377\377\377\377\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377\377"
- "\377\377\377\377\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377\377\377\377\377\377\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\377\377"
- "\377\377\377\377\377\377\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377\377\377\377\377\377\000\000\000\000"
- "\000\000\000\000\000\000\000\000\377\377\377`\377\377\377\263\377\377\377\263\377\377\377"
- "\263\377\377\377\266\377\377\377u\000\000\000\000\377\377\377\377\377\377\377\377"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377G\377\377\377"
- "\317\377\377\377w\000\000\000\000\377\377\377\377\377\377\377\377\000\000\000\000\377\377"
- "\377i\377\377\377\266\377\377\377\263\377\377\377\263\377\377\377\262\377"
- "\377\377_\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377\377\377\377\377\377\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\377\377\377\377\377\377\377\377\000\000\000\000\377\377\377`\377\377\377y\377\377"
- "\377y\377\377\377y\377\377\377y\377\377\377y\377\377\377y\377\377\377x\377"
- "\377\377\033\377\377\377\377\377\377\377\377\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377\377\377\377"
- "\377\377\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\377\377\377\377\377\377\377\377\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377\377"
- "\377\377\377\377\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377\377\377\377\377\377\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\377\377"
- "\377\377\377\377\377\377\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377\377\377\377\377\377\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\377\377\377\377\377\377\377\377\000\000\000\000\377\377\377\237\377\377\377\377"
- "\377\377\377\377\377\377\377\370\377\377\377\370\377\377\377\377\377\377"
- "\377\377\377\377\377\325\377\377\377\033\377\377\377\377\377\377\377\377\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\377\377\377\377\377\377\377\377\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377\377\377\377\377"
- "\377\377\377\377;\377\377\377\374\377\377\377\377\377\377\377\377\377\377"
- "\377\377\377\377\377\376\377\377\377z\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377"
- "\377\377\377\377\377\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377\377\377\377\377\377\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\377"
- "\377\377\377\377\377\377\377\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377\377\377\377\377\377\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\377\377\377\377\377\377\377\377\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377\377\377\377\377"
- "\377\000\000\000\000\377\377\377\233\377\377\377\377\377\377\377l\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377\377\377\377\377\377\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377V\377\377\377\376\377"
- "\377\377\327\000\000\000\000\377\377\377\377\377\377\377\377\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377"
- "\377\377\377\377\377\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377\377\377\377\377\377\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\377"
- "\377\377\377\377\377\377\377\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377\377\377\377\377\377\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\377\377\377\377\377\377\377\377\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377\377\377\377\377"
- "\377\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\377\377\377\377\377\377\377\377\377\377\377\013\377\377\377\361"
- "\377\377\377\377\377\377\377\377\377\377\377\325\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\377\377\377\377\377\377\377\377\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377\377"
- "\377\377\377\377\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377v\377"
- "\377\377\246\377\377\377\266\377\377\377u\000\000\000\000\377\377\377\377\377\377"
- "\377\377\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377\313\377\377\377\372"
- "\377\377\377)\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377\377\377\377\377\377\000\000"
- "\000\000\377\377\377i\377\377\377\266\377\377\377\255\377\377\377\214\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377\377\377\377\377\377\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\377\377\377\377\377\377\377\377\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377\377\377\377\377\377"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\377\377\377\377\377\377\377\377\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377\377\377\377"
- "\377\377\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\377\377\377\377\377\377\377\377\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377\377"
- "\377\377\377\377\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377\377\377\377\377\377\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\377\377"
- "\377\377\377\377\377\377\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377\377\377\377\377\377\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\377\377\377\377\377\377\377\377\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377\377\377\377\377\377"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\377\377\377\377\377\377\377\377\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377\377\377\377"
- "\377\377\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377s\377\377\377|\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377\377\377\377\377\377\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\377\377"
- "\377\377\377\377\377\377\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377\377\377\377\377\377\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\377\377\377\377\377\377\377\377\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377\377\377\377\377\377"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\377\377\377\377\377\377\377\377\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377\377\377\377"
- "\377\377\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\377\377\377\377\377\377\377\377\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377\377"
- "\377\377\377\377\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377\377\377\377\377\377\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\377\377"
- "\377\377\377\377\377\377\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377\377\377\377\377\377\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\377\377\377\377\377\377\377\377\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377\377\377\377\377\377"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\377\377\377\377\377\377\377\377\000\000\000\000\000\000\000\000\000\000\000\000\377\377"
- "\377s\377\377\377|\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377\377"
- "\377\377\377\377\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377\377\377\377\377\377\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\377\377"
- "\377\377\377\377\377\377\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377\377\377\377\377\377\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\377\377\377\377\377\377\377\377\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377\377\377\377\377\377"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\377\377\377\377\377\377\377\377\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377\377\377\377"
- "\377\377\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\377\377\377\377\377\377\377\377\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377\377"
- "\377\377\377\377\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377\377\377\377\377\377\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\377\377"
- "\377\377\377\377\377\377\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377\377\377\377\377\377\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\377\377\377\377\377\377\377\377\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377\377\377\377\377\377"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\377\377\377\377\377\377\377\377\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377\377\377\377"
- "\377\377\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\377\377\377\377\377\377\377\377\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377\377"
- "\377\377\377\377\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377\377\377\377\377\377\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\377\377"
- "\377\377\377\377\377\377\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377\377\377\377\377\377\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\377\377\377\377\377\377\377\377\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377\377\377\377\377\377"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\377\377\377\377\377\377\377\377\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377\377\377\377"
- "\377\377\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\377\377\377\377\377\377\377\377\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377\377"
- "\377\377\377\377\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377\377\377\377\377\377\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\377\377"
- "\377\377\377\377\377\377\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377\377\377\377\377\377\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\377\377\377\377\377\377\377\377\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377\377\377\377\377\377"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\377\377\377\377\377\377\377\377\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377\377\377\377"
- "\377\377\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\377\377\377\377\377\377\377\377\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377\377"
- "\377\377\377\377\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377\377\377\377\377\377\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\377\377"
- "\377\377\377\377\377\377\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377\377\377\377\377\377\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\377\377\377\377\377\377\377\377\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377\377\377\377\377\377"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\377\377\377\377\377\377\377\377\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377\377\377\377"
- "\377\377\000\000\000\000\000\000\000\000\377\377\377_\377\377\377\266\377\377\377\321\377"
- "\377\377\316\377\377\377\271\377\377\377q\000\000\000\000\000\000\000\000\377\377\377\377"
- "\377\377\377\377\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377\377\377\377\377\377\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\377\377"
- "\377\377\377\377\377\377\000\000\000\000\377\377\377`\377\377\377\245\377\377\377"
- "\267\377\377\377\247\377\377\377=\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\377\377"
- "\377\377\377\377\377\377\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377\377\377\377\377\377\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\377\377\377\377\377\377\377\377\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377\377\377\377\377\377"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\377\377\377\377\377\377\377\377\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377\377\377\377"
- "\377\377\000\000\000\000\377\377\377E\377\377\377\212\377\377\377%\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377\377\377\377\377\377\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377\013\377\377\377\211"
- "\377\377\377=\000\000\000\000\377\377\377\377\377\377\377\377\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377"
- "\377\377\377\377\377\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377\377\377\377\377\377\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\377"
- "\377\377\377\377\377\377\377\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377\377\377\377\377\377\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\377\377\377\377\377\377\377\377\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377\377\377\377\377"
- "\377\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\377\377\377\377\377\377\377\377\000\000\000\000\377\377\377v\377\377"
- "\377\232\377\377\377q\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\377"
- "\377\377\377\377\377\377\377\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377\377\377\377\377\377\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\377\377\377\377\377\377\377\377\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\377"
- "\377\377\313\377\377\377\363\377\377\377\033\000\000\000\000\000\000\000\000\000\000\000\000\377\377"
- "\377\377\377\377\377\377\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377\377\377\377\377\377\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
- "\377\377\377\377\377\377\377\377",
-};
-
diff --git a/minilibx_beta/interface.swift b/minilibx_beta/interface.swift
deleted file mode 100644
index 97d6b81..0000000
--- a/minilibx_beta/interface.swift
+++ /dev/null
@@ -1,292 +0,0 @@
-
-import Cocoa
-
-import mlx_window
-import mlx_image
-import mlx_init
-
-
-
-func _mlx_bridge<T : AnyObject>(obj : T) -> UnsafeRawPointer {
- return UnsafeRawPointer(Unmanaged.passUnretained(obj).toOpaque())
-}
-
-func _mlx_bridge_retained<T : AnyObject>(obj : T) -> UnsafeRawPointer {
- return UnsafeRawPointer(Unmanaged.passRetained(obj).toOpaque())
-}
-
-func _mlx_bridge<T : AnyObject>(ptr : UnsafeRawPointer) -> T {
- return Unmanaged<T>.fromOpaque(ptr).takeUnretainedValue()
-}
-
-func _mlx_bridge_transfer<T : AnyObject>(ptr : UnsafeRawPointer) -> T {
- return Unmanaged<T>.fromOpaque(ptr).takeRetainedValue()
-}
-
-
-let MLX_SYNC_IMAGE_WRITABLE = Int32(1)
-let MLX_SYNC_WIN_FLUSH_CMD = Int32(2)
-let MLX_SYNC_WIN_CMD_COMPLETED = Int32(3)
-
-
-
-/// C decl
-
-
-@_cdecl("mlx_init")
-public func mlx_init_swift() -> UnsafeRawPointer
-{
- let mm = MlxMain()
- return (_mlx_bridge_retained(obj:mm))
-}
-
-
-@_cdecl("mlx_loop")
-public func mlx_loop_swift(_ mlxptr:UnsafeRawPointer)
-{
- let mlx:MlxMain = _mlx_bridge(ptr:mlxptr)
- mlx.inLoop = true
- NSApp.run()
-}
-
-
-@_cdecl("mlx_new_window")
-public func mlx_new_window_swift(_ mlxptr:UnsafeRawPointer, Width w:UInt32, Height h:UInt32, Title t:UnsafePointer<CChar>) -> UnsafeRawPointer
-{
- let mlx:MlxMain = _mlx_bridge(ptr:mlxptr)
- let mw = MlxWin(device: mlx.device, width: Int(w), height: Int(h), title: String(cString: t))
- mw.setNotifs()
- mw.initMetal()
- mlx.addWinToList(mw)
- return (_mlx_bridge_retained(obj:mw))
-}
-
-
-
-@_cdecl("mlx_key_hook")
-public func mlx_key_hook_swift(_ winptr:UnsafeRawPointer, _ fctptr:UnsafeMutableRawPointer, _ paramptr:UnsafeMutableRawPointer) -> Int32
-{
- let win:MlxWin = _mlx_bridge(ptr:winptr)
- win.addHook(index: 3, fct: fctptr, param: paramptr)
- return (Int32(0));
-}
-
-
-@_cdecl("mlx_mouse_hook")
-public func mlx_mouse_hook_swift(_ winptr:UnsafeRawPointer, _ fctptr:UnsafeMutableRawPointer, _ paramptr:UnsafeMutableRawPointer) -> Int32
-{
- let win:MlxWin = _mlx_bridge(ptr:winptr)
- win.addHook(index: 4, fct: fctptr, param: paramptr)
- return (Int32(0));
-}
-
-
-@_cdecl("mlx_hook")
-public func mlx_hook_swift(_ winptr:UnsafeRawPointer, _ xevent:Int32, _ xmask:Int32, _ fctptr:UnsafeMutableRawPointer, _ paramptr:UnsafeMutableRawPointer) -> Int32
-{
- let win:MlxWin = _mlx_bridge(ptr:winptr)
- win.addHook(index: Int(xevent), fct: fctptr, param: paramptr)
- return (Int32(0));
-}
-
-
-@_cdecl("mlx_expose_hook")
-public func mlx_expose_hook_swift(_ winptr:UnsafeRawPointer, _ fctptr:UnsafeMutableRawPointer, _ paramptr:UnsafeMutableRawPointer) -> Int32
-{
- let win:MlxWin = _mlx_bridge(ptr:winptr)
- win.addHook(index: 12, fct: fctptr, param: paramptr)
- return (Int32(0));
-}
-
-@_cdecl("mlx_loop_hook")
-public func mlx_loop_hook_swift(_ mlxptr:UnsafeRawPointer, _ fctptr:UnsafeMutableRawPointer, _ paramptr:UnsafeMutableRawPointer) -> Int32
-{
- let mlx:MlxMain = _mlx_bridge(ptr:mlxptr)
- mlx.addLoopHook(fctptr, paramptr)
- return (Int32(0));
-}
-
-
-@_cdecl("mlx_do_key_autorepeatoff")
-public func mlx_do_key_autorepeatoff_swift(_ mlxptr:UnsafeRawPointer)
-{
- let mlx:MlxMain = _mlx_bridge(ptr:mlxptr)
- mlx.winList.forEach{ $0.setKeyRepeat(0) }
-}
-
-
-@_cdecl("mlx_do_key_autorepeaton")
-public func mlx_do_key_autorepeatoon_swift(_ mlxptr:UnsafeRawPointer)
-{
- let mlx:MlxMain = _mlx_bridge(ptr:mlxptr)
- mlx.winList.forEach{ $0.setKeyRepeat(1) }
-}
-
-
-@_cdecl("mlx_clear_window")
-public func mlx_clear_window_swift(_ mlxptr:UnsafeRawPointer, _ winptr:UnsafeRawPointer)
-{
- let win:MlxWin = _mlx_bridge(ptr:winptr)
- win.clearWin()
-}
-
-
-@_cdecl("mlx_pixel_put")
-public func mlx_pixel_put_swift(_ mlxptr:UnsafeRawPointer, _ winptr:UnsafeRawPointer, _ x:Int32, _ y:Int32, _ color:UInt32)
-{
- let win:MlxWin = _mlx_bridge(ptr:winptr)
- win.pixelPut(x, y, color)
-}
-
-
-@_cdecl("mlx_get_color_value")
-public func mlx_get_color_value(_ mlxptr:UnsafeRawPointer, _ color:UInt32) -> UInt32
-{
- return color
-}
-
-
-@_cdecl("mlx_new_image")
-public func mlx_new_image(_ mlxptr:UnsafeRawPointer, _ width:Int32, _ height:Int32) -> UnsafeRawPointer
-{
- let mlx:MlxMain = _mlx_bridge(ptr:mlxptr)
- let img = MlxImg(d:mlx.device, w:Int(width), h:Int(height))
- mlx.addImgToList(img)
-/// print(CFGetRetainCount(img))
- return (_mlx_bridge_retained(obj:img))
-
-}
-
-@_cdecl("mlx_get_data_addr")
-public func mlx_get_data_addr_swift(_ imgptr:UnsafeRawPointer, _ bpp:UnsafeMutablePointer<Int32>, _ sizeline:UnsafeMutablePointer<Int32>, _ endian:UnsafeMutablePointer<Int32>) -> UnsafeMutablePointer<UInt32>
-{
- let img:MlxImg = _mlx_bridge(ptr:imgptr)
- bpp.pointee = 32
- sizeline.pointee = Int32(img.texture_sizeline)
- endian.pointee = Int32(0)
- return img.texture_data
-}
-
-@_cdecl("mlx_put_image_to_window")
-public func mlx_put_image_to_window_swift(_ mlxptr:UnsafeRawPointer, _ winptr:UnsafeRawPointer, _ imgptr:UnsafeRawPointer, _ x:Int32, _ y:Int32) -> Int32
-{
- let win:MlxWin = _mlx_bridge(ptr:winptr)
- let img:MlxImg = _mlx_bridge(ptr:imgptr)
- win.putImage(image:img, x:x, y:y)
- return Int32(0)
-}
-
-@_cdecl("mlx_put_image_to_window_scale")
-public func mlx_put_image_to_window_scale_swift(_ mlxptr:UnsafeRawPointer, _ winptr:UnsafeRawPointer, _ imgptr:UnsafeRawPointer, _ sx:Int32, _ sy:Int32, _ sw:Int32, _ sh:Int32, _ dx:Int32, _ dy:Int32, _ dw:Int32, _ dh:Int32, _ color:UInt32) -> Int32
-{
- let win:MlxWin = _mlx_bridge(ptr:winptr)
- let img:MlxImg = _mlx_bridge(ptr:imgptr)
- win.putImageScale(image:img, sx:sx, sy:sy, sw:sw, sh:sh, dx:dx, dy:dy, dw:dw, dh:dh, c:color)
- return Int32(0)
-}
-
-@_cdecl("mlx_do_sync")
-public func mlx_do_sync_swift(_ mlxptr:UnsafeRawPointer) -> Int32
-{
- let mlx:MlxMain = _mlx_bridge(ptr:mlxptr)
- mlx.winList.forEach { $0.flushImages() }
- mlx.winList.forEach { $0.waitForGPU() }
- return Int32(0)
-}
-
-@_cdecl("mlx_sync")
-public func mlx_sync_swift(_ what:Int32, _ param:UnsafeRawPointer) -> Int32
-{
- switch what
- {
- case MLX_SYNC_IMAGE_WRITABLE:
- let img:MlxImg = _mlx_bridge(ptr:param); while img.onGPU > 0 {}
- case MLX_SYNC_WIN_FLUSH_CMD:
- let win:MlxWin = _mlx_bridge(ptr:param); win.flushImages()
- case MLX_SYNC_WIN_CMD_COMPLETED:
- let win:MlxWin = _mlx_bridge(ptr:param); win.flushImages(); win.waitForGPU()
- default:
- break
- }
- return Int32(0)
-}
-
-@_cdecl("mlx_destroy_window")
-public func mlx_destroy_window_swift(_ mlxptr:UnsafeRawPointer, _ winptr:UnsafeRawPointer) -> Int32
-{
- let mlx:MlxMain = _mlx_bridge(ptr:mlxptr)
- /// bridge_transfer to get the retain, at end of this func should release the MlxWin object, because no ref anymore.
- let win:MlxWin = _mlx_bridge_transfer(ptr:winptr)
- win.delNotifs()
- win.flushImages()
- win.waitForGPU()
- win.destroyWinE()
- mlx.winList.removeAll(where: { $0 === win} )
- return Int32(0)
-}
-
-@_cdecl("mlx_destroy_image")
-public func mlx_destroy_image_swift(_ mlxptr:UnsafeRawPointer, _ imgptr:UnsafeRawPointer) -> Int32
-{
- let mlx:MlxMain = _mlx_bridge(ptr:mlxptr)
- /// bridge_transfer to get the retain, at end of this func should release the MlxImg object, because no ref anymore.
- let img:MlxImg = _mlx_bridge_transfer(ptr:imgptr)
- mlx.winList.forEach { $0.flushImages() }
- while img.onGPU > 0 {}
- mlx.imgList.removeAll(where: { $0 === img} )
- return Int32(0)
-}
-
-
-@_cdecl("mlx_get_screen_size")
-public func mlx_get_screen_size_swift(_ mlxptr:UnsafeRawPointer, _ sizex:UnsafeMutablePointer<Int32>, _ sizey:UnsafeMutablePointer<Int32>) -> Int32
-{
- /// let mlx:MlxMain = _mlx_bridge(ptr:mlxptr)
- sizex.pointee = Int32(NSScreen.main!.frame.size.width)
- sizey.pointee = Int32(NSScreen.main!.frame.size.height)
- return Int32(0)
-}
-
-
-@_cdecl("mlx_mouse_hide")
-public func mlx_mouse_hide_swift() -> Int32
-{
- NSCursor.hide()
- return Int32(0)
-}
-
-@_cdecl("mlx_mouse_show")
-public func mlx_mouse_show_swift() -> Int32
-{
- NSCursor.unhide()
- return Int32(0)
-}
-
-
-@_cdecl("mlx_mouse_move")
-public func mlx_mouse_move_swift(_ winptr:UnsafeRawPointer, _ x:Int32, _ y:Int32) -> Int32
-{
- let win:MlxWin = _mlx_bridge(ptr:winptr)
- let frame = win.getWinEFrame()
-/// let sframe = win.getScreenFrame()
- var pt = CGPoint()
- pt.x = frame.origin.x + CGFloat(x)
-/// pt.y = sframe.size.y - frame.size.y - frame.origin.y + 1 + y
- pt.y = frame.origin.y + frame.size.height - 1.0 - CGFloat(y)
- CGWarpMouseCursorPosition(pt)
- CGAssociateMouseAndMouseCursorPosition(UInt32(1))
- return Int32(0);
-}
-
-
-
-@_cdecl("mlx_mouse_get_pos")
-public func mlx_mouse_get_pos_swift(_ winptr:UnsafeRawPointer, _ x:UnsafeMutablePointer<Int32>, _ y:UnsafeMutablePointer<Int32>) -> Int32
-{
- let win:MlxWin = _mlx_bridge(ptr:winptr)
- let frame = win.getWinEFrame()
- let point = win.getMouseLoc()
- x.pointee = Int32(point.x)
- y.pointee = Int32(frame.size.height - 1.0 - point.y)
- return Int32(0)
-}
diff --git a/minilibx_beta/man/man3/mlx.3 b/minilibx_beta/man/man3/mlx.3
deleted file mode 100644
index 4c7e29b..0000000
--- a/minilibx_beta/man/man3/mlx.3
+++ /dev/null
@@ -1,110 +0,0 @@
-.TH MiniLibX 3 "September 19, 2002"
-.SH NAME
-MiniLibX - Simple Window Interface Library for students
-.SH SYNOPSYS
-#include <mlx.h>
-
-.nf
-.I void *
-.fi
-.B mlx_init
-();
-
-.SH DESCRIPTION
-MiniLibX is an easy way to create graphical software,
-without any X-Window/X11 programming knowledge under Unix/Linux, nor
-any AppKit programming knowledge under MacOS. It provides
-simple window creation, a drawing tool, image and basic events
-management.
-
-.SH Unix/Linux: X-WINDOW CONCEPT
-
-X-Window is a network-oriented graphical system for Unix.
-It is based on two main parts:
-.br
-On one side, your software wants to draw something on the screen and/or
-get keyboard & mouse entries.
-.br
-On the other side, the X-Server manages the screen, keyboard and mouse
-(It is often refered to as a "display").
-.br
-A network connection must be established between these two entities to send
-drawing orders (from the software to the X-Server), and keyboard/mouse
-events (from the X-Server to the software).
-.br
-Nowadays, most of the time, both run on the same computer.
-
-.SH MacOS: WINDOW SERVER AND GPU
-
-Your software interacts directly with the Window server who handles the
-cohabitation on the screen with other software and the event system,
-and interacts with the GPU to handle all drawing stuff.
-
-.SH INCLUDE FILE
-.B mlx.h
-should be included for a correct use of the MiniLibX API.
-It only contains function prototypes, no structure is needed.
-
-.SH LIBRARY FUNCTIONS
-.P
-First of all, you need to initialize the connection
-between your software and the display.
-Once this connection is established, you'll be able to
-use other MiniLibX functions to send and receive the messages from
-the display, like "I want to draw a yellow pixel in this window" or
-"did the user hit a key?".
-.P
-The
-.B mlx_init
-function will create this connection. No parameters are needed, ant it will
-return a
-.I "void *"
-identifier, used for further calls to the library routines.
-.P
-All other MiniLibX functions are described in the following man pages:
-
-.TP 20
-.B mlx_new_window
-: manage windows
-.TP 20
-.B mlx_pixel_put
-: draw inside window
-.TP 20
-.B mlx_new_image
-: manipulate images
-.TP 20
-.B mlx_loop
-: handle keyboard or mouse events
-
-.SH LINKING MiniLibX
-To use MiniLibX functions, you may need to link
-your software with several libraries, including the MiniLibX library itself.
-On Unix/Linux, simply add the following arguments at linking time:
-
-.B -lmlx -lXext -lX11
-
-On MacOS, the dynamic Metal library will find on its own the missing components:
-
-.B -lmlx
-
-and still on MacOS, the static OpenGL version will need:
-
-.B -lmlx -framework OpenGL -framework AppKit -lz
-
-You may also need to specify the path to these libraries, using
-the
-.B -L
-flag.
-
-
-.SH RETURN VALUES
-If
-.B mlx_init()
-fails to set up the connection to the display, it will return NULL, otherwise
-a non-null pointer is returned as a connection identifier.
-
-.SH SEE ALSO
-mlx_new_window(3), mlx_pixel_put(3), mlx_new_image(3), mlx_loop(3)
-
-.SH AUTHOR
-Copyright ol@ - 2002-2019 - Olivier Crouzet
diff --git a/minilibx_beta/man/man3/mlx_loop.3 b/minilibx_beta/man/man3/mlx_loop.3
deleted file mode 100644
index ab3798c..0000000
--- a/minilibx_beta/man/man3/mlx_loop.3
+++ /dev/null
@@ -1,144 +0,0 @@
-.TH MiniLibX 3 "September 19, 2002"
-.SH NAME
-MiniLibX - Handle events
-.SH SYNOPSYS
-
-.nf
-.I int
-.fi
-.B mlx_loop
-(
-.I void *mlx_ptr
-);
-
-.nf
-.I int
-.fi
-.B mlx_key_hook
-(
-.I void *win_ptr, int (*funct_ptr)(), void *param
-);
-
-.nf
-.I int
-.fi
-.B mlx_mouse_hook
-(
-.I void *win_ptr, int (*funct_ptr)(), void *param
-);
-
-.nf
-.I int
-.fi
-.B mlx_expose_hook
-(
-.I void *win_ptr, int (*funct_ptr)(), void *param
-);
-
-.nf
-.I int
-.fi
-.B mlx_loop_hook
-(
-.I void *mlx_ptr, int (*funct_ptr)(), void *param
-);
-
-.SH EVENTS
-
-The graphical system is bi-directionnal. On one hand, the program sends orders to
-the screen to display pixels, images, and so on. On the other hand,
-it can get information from the keyboard and mouse associated to
-the screen. To do so, the program receives "events" from the keyboard or the
-mouse.
-
-.SH DESCRIPTION
-
-To receive events, you must use
-.B mlx_loop
-(). This function never returns. It is an infinite loop that waits for
-an event, and then calls a user-defined function associated with this event.
-A single parameter is needed, the connection identifier
-.I mlx_ptr
-(see the
-.B mlx manual).
-
-You can assign different functions to the three following events:
-.br
-- A key is pressed
-.br
-- The mouse button is pressed
-.br
-- A part of the window should be re-drawn
-(this is called an "expose" event, and it is your program's job to handle it in the
-Unix/Linux X11 environment, but at the opposite it never happens on MacOS).
-.br
-
-Each window can define a different function for the same event.
-
-The three functions
-.B mlx_key_hook
-(),
-.B mlx_mouse_hook
-() and
-.B mlx_expose_hook
-() work exactly the same way.
-.I funct_ptr
-is a pointer to the function you want to be called
-when an event occurs. This assignment is specific to the window defined by the
-.I win_ptr
-identifier. The
-.I param
-adress will be passed to the function everytime it is called, and should be
-used to store the parameters it might need.
-
-The syntax for the
-.B mlx_loop_hook
-() function is identical to the previous ones, but the given function will be
-called when no event occurs.
-
-When it catches an event, the MiniLibX calls the corresponding function
-with fixed parameters:
-.nf
-
- expose_hook(void *param);
- key_hook(int keycode, void *param);
- mouse_hook(int button, int x, int y, void *param);
- loop_hook(void *param);
-
-.fi
-These function names are arbitrary. They here are used to distinguish
-parameters according to the event. These functions are NOT part of the
-MiniLibX.
-
-.I param
-is the address specified in the mlx_*_hook calls. This address is never
-used nor modified by the MiniLibX. On key and mouse events, additional
-information is passed:
-.I keycode
-tells you which key is pressed (with X11, look for the include file "keysymdef.h",
-with MacOS, just try :) ),
-(
-.I x
-,
-.I y
-) are the coordinates of the mouse click in the window, and
-.I button
-tells you which mouse button was pressed.
-
-.SH GOING FURTHER WITH EVENTS
-The MiniLibX provides a much generic access to other available events. The
-.I mlx.h
-include define
-.B mlx_hook()
-in the same manner mlx_*_hook functions work. The event and mask values
-will be taken from the X11 include file "X.h". Some MacOS events are mapped
-to these values, when it makes sense, and the mask is not used in MacOS.
-
-See source code of the MiniLibX to find out how it will
-call your own function for a specific event.
-
-.SH SEE ALSO
-mlx(3), mlx_new_window(3), mlx_pixel_put(3), mlx_new_image(3)
-
-.SH AUTHOR
-Copyright ol@ - 2002-2019 - Olivier Crouzet
diff --git a/minilibx_beta/man/man3/mlx_new_image.3 b/minilibx_beta/man/man3/mlx_new_image.3
deleted file mode 100644
index ecea0ee..0000000
--- a/minilibx_beta/man/man3/mlx_new_image.3
+++ /dev/null
@@ -1,206 +0,0 @@
-.TH MiniLibX 3 "September 19, 2002"
-.SH NAME
-MiniLibX - Manipulating images
-.SH SYNOPSYS
-
-.nf
-.I void *
-.fi
-.B mlx_new_image
-(
-.I void *mlx_ptr, int width, int height
-);
-
-.nf
-.I char *
-.fi
-.B mlx_get_data_addr
-(
-.I void *img_ptr, int *bits_per_pixel, int *size_line, int *endian
-);
-
-.nf
-.I int
-.fi
-.B mlx_put_image_to_window
-(
-.I void *mlx_ptr, void *win_ptr, void *img_ptr, int x, int y
-);
-
-.nf
-.I unsigned int
-.fi
-.B mlx_get_color_value
-(
-.I void *mlx_ptr, int color
-);
-
-.nf
-.I void *
-.fi
-.B mlx_xpm_to_image
-(
-.I void *mlx_ptr, char **xpm_data, int *width, int *height
-);
-
-.nf
-.I void *
-.fi
-.B mlx_xpm_file_to_image
-(
-.I void *mlx_ptr, char *filename, int *width, int *height
-);
-
-.nf
-.I void *
-.fi
-.B mlx_png_file_to_image
-(
-.I void *mlx_ptr, char *filename, int *width, int *height
-);
-
-.nf
-.I int
-.fi
-.B mlx_destroy_image
-(
-.I void *mlx_ptr, void *img_ptr
-);
-
-
-.SH DESCRIPTION
-
-.B mlx_new_image
-() creates a new image in memory. It returns a
-.I void *
-identifier needed to manipulate this image later. It only needs
-the size of the image to be created, using the
-.I width
-and
-.I height
-parameters, and the
-.I mlx_ptr
-connection identifier (see the
-.B mlx
-manual).
-
-The user can draw inside the image (see below), and
-can dump the image inside a specified window at any time to
-display it on the screen. This is done using
-.B mlx_put_image_to_window
-(). Three identifiers are needed here, for the connection to the
-display, the window to use, and the image (respectively
-.I mlx_ptr
-,
-.I win_ptr
-and
-.I img_ptr
-). The (
-.I x
-,
-.I y
-) coordinates define where the image should be placed in the window.
-
-.B mlx_get_data_addr
-() returns information about the created image, allowing a user
-to modify it later. The
-.I img_ptr
-parameter specifies the image to use. The three next parameters should
-be the addresses of three different valid integers.
-.I bits_per_pixel
-will be filled with the number of bits needed to represent a pixel color
-(also called the depth of the image).
-.I size_line
-is the number of bytes used to store one line of the image in memory.
-This information is needed to move from one line to another in the image.
-.I endian
-tells you wether the pixel color in the image needs to be stored in
-little endian (
-.I endian
-== 0), or big endian (
-.I endian
-== 1).
-
-.B mlx_get_data_addr
-returns a
-.I char *
-address that represents the begining of the memory area where the image
-is stored. From this adress, the first
-.I bits_per_pixel
-bits represent the color of the first pixel in the first line of
-the image. The second group of
-.I bits_per_pixel
-bits represent the second pixel of the first line, and so on.
-Add
-.I size_line
-to the adress to get the begining of the second line. You can reach any
-pixels of the image that way.
-
-.B mlx_destroy_image
-destroys the given image (
-.I img_ptr
-).
-
-.SH STORING COLOR INSIDE IMAGES
-
-Depending on the display, the number of bits used to store a pixel color
-can change. The user usually represents a color in RGB mode, using
-one byte for each component (see
-.B mlx_pixel_put
-manual). This must be translated to fit the
-.I bits_per_pixel
-requirement of the image, and make the color understandable to the display.
-That is the purpose of the
-.B mlx_get_color_value
-() function. It takes a standard RGB
-.I color
-parameter, and returns an
-.I unsigned int
-value.
-The
-.I bits_per_pixel
-least significant bits of this value can be stored in the image. You can
-avoid using this function if there is no conversion needed (eg. in case of
-24 bits depth, or 32 bits depth).
-
-Keep in mind that the least significant bits position depends on the local
-computer's endian. If the endian of the image differs from the local endian
-(which shoud only occurs in a X11 network environment), then the value should
-be transformed before being used.
-
-.SH XPM AND PNG IMAGES
-
-The
-.B mlx_xpm_to_image
-() ,
-.B mlx_xpm_file_to_image
-() and
-.B mlx_png_file_to_image
-() functions will create a new image the same way.
-They will fill it using the specified
-.I xpm_data
-or
-.I filename
-, depending on which function is used.
-Note that MiniLibX does not use the standard
-Xpm and png libraries to deal with xpm and png images. You may not be able to
-read all types of xpm and png images. It however handles transparency.
-
-.SH RETURN VALUES
-The four functions that create images,
-.B mlx_new_image()
-,
-.B mlx_xpm_to_image()
-,
-.B mlx_xpm_file_to_image()
-and
-.B mlx_png_file_to_image()
-, will return NULL if an error occurs. Otherwise they return a non-null pointer
-as an image identifier.
-
-
-.SH SEE ALSO
-mlx(3), mlx_new_window(3), mlx_pixel_put(3), mlx_loop(3)
-
-.SH AUTHOR
-Copyright ol@ - 2002-2019 - Olivier Crouzet
diff --git a/minilibx_beta/man/man3/mlx_new_window.3 b/minilibx_beta/man/man3/mlx_new_window.3
deleted file mode 100644
index cdfc098..0000000
--- a/minilibx_beta/man/man3/mlx_new_window.3
+++ /dev/null
@@ -1,79 +0,0 @@
-.TH MiniLibX 3 "September 19, 2002"
-.SH NAME
-MiniLibX - Managing windows
-.SH SYNOPSYS
-
-.nf
-.I void *
-.fi
-.B mlx_new_window
-(
-.I void *mlx_ptr, int size_x, int size_y, char *title
-);
-
-.nf
-.I int
-.fi
-.B mlx_clear_window
-(
-.I void *mlx_ptr, void *win_ptr
-);
-
-.nf
-.I int
-.fi
-.B mlx_destroy_window
-(
-.I void *mlx_ptr, void *win_ptr
-);
-
-
-.SH DESCRIPTION
-The
-.B mlx_new_window
-() function creates a new window on the screen, using the
-.I size_x
-and
-.I size_y
-parameters to determine its size, and
-.I title
-as the text that should be displayed in the window's title bar.
-The
-.I mlx_ptr
-parameter is the connection identifier returned by
-.B mlx_init
-() (see the
-.B mlx
-man page).
-.B mlx_new_window
-() returns a
-.I void *
-window identifier that can be used by other MiniLibX calls.
-Note that the MiniLibX
-can handle an arbitrary number of separate windows.
-
-.B mlx_clear_window
-() and
-.B mlx_destroy_window
-() respectively clear (in black) and destroy the given window. They both have
-the same parameters:
-.I mlx_ptr
-is the screen connection identifier, and
-.I win_ptr
-is a window identifier.
-
-.SH RETURN VALUES
-If
-.B mlx_new_window()
-fails to create a new window (for wathever reason), it will return NULL,
-otherwise a non-null pointer is returned as a window identifier.
-.B mlx_clear_window
-and
-.B mlx_destroy_window
-right now return nothing.
-
-.SH SEE ALSO
-mlx(3), mlx_pixel_put(3), mlx_new_image(3), mlx_loop(3)
-
-.SH AUTHOR
-Copyright ol@ - 2002-2019 - Olivier Crouzet
diff --git a/minilibx_beta/man/man3/mlx_pixel_put.3 b/minilibx_beta/man/man3/mlx_pixel_put.3
deleted file mode 100644
index 52670a6..0000000
--- a/minilibx_beta/man/man3/mlx_pixel_put.3
+++ /dev/null
@@ -1,85 +0,0 @@
-.TH MiniLibX 3 "September 19, 2002"
-.SH NAME
-MiniLibX - Drawing inside windows
-.SH SYNOPSYS
-
-.nf
-.I int
-.fi
-.B mlx_pixel_put
-(
-.I void *mlx_ptr, void *win_ptr, int x, int y, int color
-);
-
-.nf
-.I int
-.fi
-.B mlx_string_put
-(
-.I void *mlx_ptr, void *win_ptr, int x, int y, int color, char *string
-);
-
-
-.SH DESCRIPTION
-The
-.B mlx_pixel_put
-() function draws a defined pixel in the window
-.I win_ptr
-using the (
-.I x
-,
-.I y
-) coordinates, and the specified
-.I color
-\&. The origin (0,0) is the upper left corner of the window, the x and y axis
-respectively pointing right and down. The connection
-identifier,
-.I mlx_ptr
-, is needed (see the
-.B mlx
-man page).
-
-Parameters for
-.B mlx_string_put
-() have the same meaning. Instead of a simple pixel, the specified
-.I string
-will be displayed at (
-.I x
-,
-.I y
-).
-
-Both functions will discard any display outside the window. This makes
-.B mlx_pixel_put
-slow. Consider using images instead.
-
-.SH COLOR MANAGEMENT
-The
-.I color
-parameter has an integer type. The displayed color needs to be encoded
-in this integer, following a defined scheme. All displayable colors
-can be split in 3 basic colors: red, green and blue. Three associated
-values, in the 0-255 range, represent how much of each color is mixed up
-to create the original color. Theses three values must be set inside the
-integer to display the right color. The three least significant bytes of
-this integer are filled as shown in the picture below:
-
-.nf
- | 0 | R | G | B | color integer
- +---+---+---+---+
-.fi
-
-
-While filling the integer, make sure you avoid endian problems. Remember
-that the "blue" byte should always be the least significant one.
-
-Depending on hardware capabilities, the most significant bit can handle
-transparency. Beware, at the opposite of the OpenGL classics, it does
-not represent opacity.
-
-.SH SEE ALSO
-mlx(3), mlx_new_window(3), mlx_new_image(3), mlx_loop(3)
-
-
-.SH AUTHOR
-Copyright ol@ - 2002-2019 - Olivier Crouzet
diff --git a/minilibx_beta/mlx.h b/minilibx_beta/mlx.h
deleted file mode 100644
index f24a7f7..0000000
--- a/minilibx_beta/mlx.h
+++ /dev/null
@@ -1,157 +0,0 @@
-/*
-** mlx.h for MinilibX in
-**
-** Made by Charlie Root
-** Login <ol@42.fr>
-**
-** Started on Mon Jul 31 16:37:50 2000 Charlie Root
-** Last update Tue Oct 14 16:23:28 2019 Olivier Crouzet
-*/
-
-/*
-** MinilibX - Please report bugs
-*/
-
-
-/*
-**
-** This library is a simple framework to help 42 students
-** create simple graphical apps.
-** It only provides the minimum functions, it's students' job
-** to create the missing pieces for their own project :)
-**
-** The MinilibX can load XPM and PNG images.
-** Please note that both image loaders are incomplete, some
-** image may not load.
-**
-** For historical reasons, the alpha byte represent transparency
-** instead of opacity.
-** Also, for compatibility reasons, prototypes may show inconsistant
-** types.
-**
-** Only the dynamic library is available. It must be placed in an appropriate path.
-** ./ is one of them. You can also use DYLD_LIBRARY_PATH
-**
-*/
-
-
-#ifndef MLX_H
-
-#define MLX_H
-
-
-void *mlx_init();
-/*
-** needed before everything else.
-** return (void *)0 if failed
-*/
-
-
-/*
-** Basic actions
-*/
-
-void *mlx_new_window(void *mlx_ptr, int size_x, int size_y, char *title);
-/*
-** return void *0 if failed
-*/
-int mlx_clear_window(void *mlx_ptr, void *win_ptr);
-int mlx_pixel_put(void *mlx_ptr, void *win_ptr, int x, int y, int color);
-/*
-** origin for x & y is top left corner of the window
-** y down is positive
-** color is 0xAARRGGBB format
-** x and y must fit into the size of the window, no control is done on the values
-*/
-
-
-/*
-** Image stuff
-*/
-
-void *mlx_new_image(void *mlx_ptr,int width,int height);
-/*
-** return void *0 if failed
-*/
-char *mlx_get_data_addr(void *img_ptr, int *bits_per_pixel,
- int *size_line, int *endian);
-/*
-** endian : 0 = graphical sever is little endian, 1 = big endian
-** usefull in a network environment where graphical app show on a remote monitor that can have a different endian
-*/
-int mlx_put_image_to_window(void *mlx_ptr, void *win_ptr, void *img_ptr,
- int x, int y);
-unsigned int mlx_get_color_value(void *mlx_ptr, int color);
-
-
-/*
-** dealing with Events
-*/
-
-int mlx_mouse_hook (void *win_ptr, int (*funct_ptr)(), void *param);
-int mlx_key_hook (void *win_ptr, int (*funct_ptr)(), void *param);
-int mlx_expose_hook (void *win_ptr, int (*funct_ptr)(), void *param);
-
-int mlx_loop_hook (void *mlx_ptr, int (*funct_ptr)(), void *param);
-int mlx_loop (void *mlx_ptr);
-
-
-/*
-** hook funct are called as follow :
-**
-** expose_hook(void *param);
-** key_hook(int keycode, void *param);
-** mouse_hook(int button, int x,int y, void *param);
-** loop_hook(void *param);
-**
-*/
-
-
-/*
-** Usually asked...
-** mlx_string_put display may vary in size between OS and between mlx implementations
-*/
-
-int mlx_string_put(void *mlx_ptr, void *win_ptr, int x, int y, int color,
- char *string);
-void *mlx_xpm_to_image(void *mlx_ptr, char **xpm_data,
- int *width, int *height);
-void *mlx_xpm_file_to_image(void *mlx_ptr, char *filename,
- int *width, int *height);
-void *mlx_png_file_to_image(void *mlx_ptr, char *file, int *width, int *height);
-
-int mlx_destroy_window(void *mlx_ptr, void *win_ptr);
-
-int mlx_destroy_image(void *mlx_ptr, void *img_ptr);
-
-/*
-** generic hook system for all events, and minilibX functions that
-** can be hooked. Some macro and defines from X11/X.h are needed here.
-*/
-
-int mlx_hook(void *win_ptr, int x_event, int x_mask,
- int (*funct)(), void *param);
-
-int mlx_mouse_hide();
-int mlx_mouse_show();
-int mlx_mouse_move(void *win_ptr, int x, int y);
-int mlx_mouse_get_pos(void *win_ptr, int *x, int *y);
-
-int mlx_do_key_autorepeatoff(void *mlx_ptr);
-int mlx_do_key_autorepeaton(void *mlx_ptr);
-int mlx_do_sync(void *mlx_ptr);
-
-#define MLX_SYNC_IMAGE_WRITABLE 1
-#define MLX_SYNC_WIN_FLUSH_CMD 2
-#define MLX_SYNC_WIN_CMD_COMPLETED 3
-int mlx_sync(int cmd, void *param);
-/*
-** image_writable can loop forever if no flush occurred. Flush is always done by mlx_loop.
-** cmd_completed first flush then wait for completion.
-** mlx_do_sync equals cmd_completed for all windows.
-** cmd is one of the define, param will be img_ptr or win_ptr accordingly
-*/
-
-int mlx_get_screen_size(void *mlx_ptr, int *sizex, int *sizey);
-
-#endif /* MLX_H */
diff --git a/minilibx_beta/mlx_image.swift b/minilibx_beta/mlx_image.swift
deleted file mode 100644
index 7c1fa9b..0000000
--- a/minilibx_beta/mlx_image.swift
+++ /dev/null
@@ -1,48 +0,0 @@
-
-
-import Metal
-
-
-public class MlxImg
-{
- public var texture: MTLTexture
-/// var texture_buff: MTLBuffer
-
- public var texture_sizeline: Int
- public var texture_data: UnsafeMutablePointer<UInt32>
- public var texture_width: Int
- public var texture_height: Int
-
- public var onGPU = 0
-
- convenience public init(d device:MTLDevice, w width:Int, h height:Int)
- {
- self.init(d:device, w:width, h:height, t:0)
- }
-
- public init(d device:MTLDevice, w width:Int, h height:Int, t target:Int)
- {
- texture_width = width
- texture_height = height
- texture_sizeline = width * 4
- texture_sizeline = 256 * (texture_sizeline / 256 + (texture_sizeline%256 >= 1 ? 1 : 0) )
-
- let textureDesc = MTLTextureDescriptor()
- textureDesc.width = texture_width
- textureDesc.height = texture_height
- textureDesc.usage = .shaderRead
- if (target == 1)
- {
- textureDesc.usage = .renderTarget
- textureDesc.storageMode = .private
- }
- textureDesc.pixelFormat = MTLPixelFormat.bgra8Unorm
- let texture_buff = device.makeBuffer(length: texture_sizeline * height)!
- texture = texture_buff.makeTexture(descriptor:textureDesc, offset:0, bytesPerRow:texture_sizeline)!
-
- let tmpptr = texture_buff.contents()
- texture_data = tmpptr.assumingMemoryBound(to:UInt32.self)
- }
-
-
-} \ No newline at end of file
diff --git a/minilibx_beta/mlx_image.swiftdoc b/minilibx_beta/mlx_image.swiftdoc
deleted file mode 100644
index f13ee3f..0000000
--- a/minilibx_beta/mlx_image.swiftdoc
+++ /dev/null
Binary files differ
diff --git a/minilibx_beta/mlx_image.swiftmodule b/minilibx_beta/mlx_image.swiftmodule
deleted file mode 100644
index 4d4ce55..0000000
--- a/minilibx_beta/mlx_image.swiftmodule
+++ /dev/null
Binary files differ
diff --git a/minilibx_beta/mlx_init.swift b/minilibx_beta/mlx_init.swift
deleted file mode 100644
index de6edf2..0000000
--- a/minilibx_beta/mlx_init.swift
+++ /dev/null
@@ -1,100 +0,0 @@
-
-import Cocoa
-import Metal
-import mlx_window
-import mlx_image
-
-
-func _mlx_bridge<T : AnyObject>(obj : T) -> UnsafeMutableRawPointer? {
- return UnsafeMutableRawPointer(Unmanaged.passUnretained(obj).toOpaque())
-}
-
-func _mlx_bridge<T : AnyObject>(ptr : UnsafeRawPointer) -> T {
- return Unmanaged<T>.fromOpaque(ptr).takeUnretainedValue()
-}
-
-
-
-public class MlxMain {
-
- public var winList = [MlxWin]()
- public var imgList = [MlxImg]()
- var myMlxApp:NSApplication?
- public var device:MTLDevice!
- var loopHook:UnsafeMutableRawPointer?
- var loopParam:UnsafeMutableRawPointer
- var loopHookTimer:CFRunLoopTimer?
- public var inLoop = false
-
- public init(_ flag:Int = 0)
- {
- /// make app with top menubar
- myMlxApp = NSApplication.shared
- if (flag == 1)
- {
- NSApp.setActivationPolicy(NSApplication.ActivationPolicy.prohibited) /// for non clickable win, no top menu
- }
- else
- {
- NSApp.setActivationPolicy(NSApplication.ActivationPolicy.regular)
- }
-
- device = MTLCreateSystemDefaultDevice()!
- loopParam = UnsafeMutableRawPointer(&inLoop) /// dummy addr init
-
- /// Add observer anyway to flush pixels every loop. If loop_hook exists, call it.
- var ocontext = CFRunLoopObserverContext(version:0, info:_mlx_bridge(obj:self), retain:nil, release:nil, copyDescription:nil)
- let observer = CFRunLoopObserverCreate(kCFAllocatorDefault, CFRunLoopActivity.beforeWaiting.rawValue, true, 0, createOCallback(), &ocontext)
- CFRunLoopAddObserver(CFRunLoopGetMain(), observer, CFRunLoopMode.commonModes)
-
- }
-
- public func addWinToList(_ win:MlxWin)
- { winList.append(win) }
- public func addImgToList(_ img:MlxImg)
- { imgList.append(img) }
-
-
- func doCallLoopHook()
- {
-/// if (loopHook != nil)
-/// {
- _ = (unsafeBitCast(loopHook!,to:(@convention(c)(UnsafeRawPointer)->Void).self))(loopParam)
-/// }
- }
-
- func createOCallback() -> CFRunLoopObserverCallBack
- {
- return { (cfRunloopObserver, cfrunloopactivity, info) -> Void in
- let mlx:MlxMain = _mlx_bridge(ptr:info!)
- mlx.winList.forEach { $0.flushImages() }
-/// mlx.doCallLoopHook()
- }
- }
-
- func createTCallback() -> CFRunLoopTimerCallBack
- {
- return { (cfRunloopTimer, info) -> Void in
- let mlx:MlxMain = _mlx_bridge(ptr:info!)
- mlx.doCallLoopHook()
- }
- }
-
- public func addLoopHook(_ f:UnsafeMutableRawPointer?, _ p:UnsafeMutableRawPointer)
- {
- var tcontext = CFRunLoopTimerContext(version:0, info:_mlx_bridge(obj:self), retain:nil, release:nil, copyDescription:nil)
- if (loopHook != nil)
- {
- CFRunLoopTimerInvalidate(loopHookTimer)
- }
-
- loopHook = f
- loopParam = p
- if (loopHook != nil)
- {
- loopHookTimer = CFRunLoopTimerCreate(kCFAllocatorDefault, 0.0, 0.0001, 0, 0, createTCallback(), &tcontext)
- CFRunLoopAddTimer(CFRunLoopGetMain(), loopHookTimer, CFRunLoopMode.commonModes)
- }
- }
-
-}
diff --git a/minilibx_beta/mlx_init.swiftdoc b/minilibx_beta/mlx_init.swiftdoc
deleted file mode 100644
index 922e521..0000000
--- a/minilibx_beta/mlx_init.swiftdoc
+++ /dev/null
Binary files differ
diff --git a/minilibx_beta/mlx_init.swiftmodule b/minilibx_beta/mlx_init.swiftmodule
deleted file mode 100644
index 9565cfc..0000000
--- a/minilibx_beta/mlx_init.swiftmodule
+++ /dev/null
Binary files differ
diff --git a/minilibx_beta/mlx_png.c b/minilibx_beta/mlx_png.c
deleted file mode 100644
index 48e82de..0000000
--- a/minilibx_beta/mlx_png.c
+++ /dev/null
@@ -1,431 +0,0 @@
-
-
-#include <stdlib.h>
-#include <stdio.h>
-#include <sys/mman.h>
-#include <unistd.h>
-#include <fcntl.h>
-#include <err.h>
-#include <string.h>
-#include <arpa/inet.h>
-
-#include "zlib.h"
-
-#include "mlx.h"
-
-#define UNIQ_BPP 4
-
-#define PNG_MAGIC_SIZE 8
-unsigned char magic[PNG_MAGIC_SIZE] = {137, 80, 78, 71, 13, 10, 26, 10};
-#define PNG_HDR_SIZE 13
-
-#define Z_CHUNK 32768
-
-#define ERR_MAGIC_SIZE 1
-#define ERR_MAGIC_WRONG 2
-#define ERR_STRUCT_INCOMPLETE 3
-#define ERR_STRUCT_HDR 4
-#define ERR_STRUCT_END 5
-#define ERR_STRUCT_CRC 6
-#define ERR_STRUCT_INCIMPL 7
-#define ERR_STRUCT_DAT 8
-#define ERR_STRUCT_MISSCHK 9
-#define ERR_ZLIB 10
-#define ERR_DATA_MISMATCH 11
-#define ERR_DATA_FILTER 12
-#define ERR_MALLOC 13
-char *(mipng_err[]) =
-{
- "No error",
- "Not enough size for magic",
- "Wrong magic",
- "Incomplete chunk structure",
- "Duplicate or incorrect header",
- "Duplicate or incorrect end",
- "Invalid CRC in chunk",
- "Incorrect header or configuration not implemented",
- "Non consecutive dat chunks",
- "Missing header/dat/end chunk(s)",
- "Zlib inflate error",
- "Inflated data size mismatch",
- "Unknown scanline filter",
- "Can't malloc"
-};
-
-typedef struct png_info_s
-{
- unsigned int width;
- unsigned int height;
- int depth;
- int color;
- int interlace;
- int bpp;
-} png_info_t;
-
-
-int mipng_is_type(unsigned char *ptr, char *type)
-{
- if (ptr[4] == type[0] && ptr[5] == type[1] && ptr[6] == type[2] && ptr[7] == type[3])
- return (1);
- return (0);
-}
-
-
-unsigned char mipng_defilter_none(unsigned char *buff, int pos, int a, int b, int c)
-{ return (buff[pos]); }
-unsigned char mipng_defilter_sub(unsigned char *buff, int pos, int a, int b, int c)
-{ return (buff[pos]+(unsigned int)a); }
-unsigned char mipng_defilter_up(unsigned char *buff, int pos, int a, int b, int c)
-{ return (buff[pos]+(unsigned int)b); }
-unsigned char mipng_defilter_average(unsigned char *buff, int pos, int a, int b, int c)
-{ return (buff[pos]+((unsigned int)a+(unsigned int)b)/2); }
-unsigned char mipng_defilter_paeth(unsigned char *buff, int pos, int a, int b, int c)
-{
- int p;
- int result;
-
- p = a + b - c;
- if (abs(b - c) <= abs(a - c) && abs(b - c) <= abs(a + b - c - c))
- result = a;
- else
- if (abs(a - c) <= abs(a + b - c - c))
- result = b;
- else
- result = c;
- return (buff[pos]+result);
-}
-
-
-
-unsigned char (*(mipng_defilter[]))(unsigned char *buff, int pos, int a, int b, int c) =
-{
- mipng_defilter_none,
- mipng_defilter_sub,
- mipng_defilter_up,
- mipng_defilter_average,
- mipng_defilter_paeth
-};
-
-// only work for mlx mac or img 32bpp
-int mipng_fill_img(void *img, unsigned char *buf, png_info_t *pi)
-{
- unsigned int current_filter;
- int ipos;
- int bpos;
- int ilen;
- int iline;
- int blen;
- int bpp;
- int endian;
- unsigned char tmp;
- unsigned char *ibuf;
-
- ibuf = (unsigned char *)mlx_get_data_addr(img, &bpp, &iline, &endian);
- // iline = img->width * UNIQ_BPP;
- // ilen = img->width * img->height * UNIQ_BPP;
- ilen = iline*pi->height;
- ipos = 0;
- blen = pi->width * pi->height * pi->bpp + pi->height; // ??? why + pi->height ??
- bpos = 0;
- while (ipos < ilen && bpos < blen)
- {
- if (ipos % iline == 0)
- {
- // printf("ipos %d iline %d pi->width %d bpos %d\n", ipos, iline, pi->width, bpos);
- if ((current_filter = buf[bpos++]) > 4)
- {
- return (ERR_DATA_FILTER);
- }
- }
- ibuf[ipos] = mipng_defilter[current_filter](buf, bpos,
- ipos%iline>3?ibuf[ipos-UNIQ_BPP]:0,
- (ipos>=iline)?ibuf[ipos-iline]:0,
- (ipos>=iline && ipos%iline>3)?ibuf[ipos-iline-UNIQ_BPP]:0);
- ipos ++;
- bpos ++;
- if (pi->depth == 16)
- bpos ++;
- if (ipos % 4 == 3 && pi->color == 2) // no alpha
- ibuf[ipos++] = 0xFF;
- if (ipos % iline == pi->width * 4)
- ipos += iline-pi->width*4;
- }
- if (ipos != ilen || bpos != blen)
- {
- // printf("fill err ipos %d vs %d, bpos %d vs %d\n", ipos, ilen, bpos, blen);
- return (ERR_DATA_MISMATCH);
- }
- ipos = 0;
- while (ipos < ilen)
- {
- tmp = ibuf[ipos];
- ibuf[ipos] = ibuf[ipos+2];
- ibuf[ipos+2] = tmp;
- ibuf[ipos+3] = 0xFF - ibuf[ipos+3];
- ipos += UNIQ_BPP;
- }
- return (0);
-}
-
-
-int mipng_data(void *img, unsigned char *dat, png_info_t *pi)
-{
- unsigned int len;
- int b_pos;
- unsigned char *buffer;
- int ret;
- int z_ret;
- unsigned z_have;
- z_stream z_strm;
- unsigned char z_out[Z_CHUNK];
-
- b_pos = 0;
- if (!(buffer = malloc((long long)pi->width*(long long)pi->height*(long long)pi->bpp + pi->height)))
- return (ERR_MALLOC);
- z_strm.zalloc = Z_NULL;
- z_strm.zfree = Z_NULL;
- z_strm.opaque = Z_NULL;
- z_strm.avail_in = 0;
- z_strm.next_in = Z_NULL;
- z_ret = inflateInit(&z_strm);
- if (z_ret != Z_OK)
- {
- free(buffer);
- return (ERR_ZLIB);
- }
-
- while (mipng_is_type(dat, "IDAT"))
- {
- len = *((unsigned int *)dat);
- len = ntohl(len);
- z_strm.avail_in = len;
- z_strm.next_in = dat + 8;
- z_strm.avail_out = 0;
- while (z_strm.avail_out == 0)
- {
- z_strm.avail_out = Z_CHUNK;
- z_strm.next_out = z_out;
- z_ret = inflate(&z_strm, Z_NO_FLUSH);
- // printf("inflate ret %d avail_out %d\n", z_ret, z_strm.avail_out);
- if (z_ret != Z_OK && z_ret != Z_STREAM_END)
- {
- inflateEnd(&z_strm);
- free(buffer);
- return (ERR_ZLIB);
- }
- if (b_pos + Z_CHUNK - z_strm.avail_out > pi->width*pi->height*pi->bpp+pi->height)
- {
- inflateEnd(&z_strm);
- free(buffer);
- return (ERR_DATA_MISMATCH);
- }
- bcopy(z_out, buffer+b_pos, Z_CHUNK - z_strm.avail_out);
- b_pos += Z_CHUNK - z_strm.avail_out;
- }
- dat += len + 4 + 4 + 4;
- }
- inflateEnd(&z_strm);
- if (b_pos != pi->width*pi->height*pi->bpp+pi->height)
- {
- // printf("pb : bpos %d vs expected %d\n", b_pos, img->width*img->height*pi->bpp+img->height);
- free(buffer);
- return (ERR_DATA_MISMATCH);
- }
- ret = mipng_fill_img(img, buffer, pi);
- free(buffer);
- return (ret);
-}
-
-
-
-int mipng_magic(unsigned char *ptr, int size)
-{
- int i;
-
- if (size < PNG_MAGIC_SIZE)
- return (ERR_MAGIC_SIZE);
- i = 0;
- while (i < PNG_MAGIC_SIZE)
- if (*(ptr++) != magic[i++])
- return (ERR_MAGIC_WRONG);
- return (0);
-}
-
-
-unsigned long crc_table[256] = { 0, 0x77073096, 0xee0e612c, 0x990951ba, 0x76dc419, 0x706af48f, 0xe963a535, 0x9e6495a3, 0xedb8832, 0x79dcb8a4, 0xe0d5e91e, 0x97d2d988, 0x9b64c2b, 0x7eb17cbd, 0xe7b82d07, 0x90bf1d91, 0x1db71064, 0x6ab020f2, 0xf3b97148, 0x84be41de, 0x1adad47d, 0x6ddde4eb, 0xf4d4b551, 0x83d385c7, 0x136c9856, 0x646ba8c0, 0xfd62f97a, 0x8a65c9ec, 0x14015c4f, 0x63066cd9, 0xfa0f3d63, 0x8d080df5, 0x3b6e20c8, 0x4c69105e, 0xd56041e4, 0xa2677172, 0x3c03e4d1, 0x4b04d447, 0xd20d85fd, 0xa50ab56b, 0x35b5a8fa, 0x42b2986c, 0xdbbbc9d6, 0xacbcf940, 0x32d86ce3, 0x45df5c75, 0xdcd60dcf, 0xabd13d59, 0x26d930ac, 0x51de003a, 0xc8d75180, 0xbfd06116, 0x21b4f4b5, 0x56b3c423, 0xcfba9599, 0xb8bda50f, 0x2802b89e, 0x5f058808, 0xc60cd9b2, 0xb10be924, 0x2f6f7c87, 0x58684c11, 0xc1611dab, 0xb6662d3d, 0x76dc4190, 0x1db7106, 0x98d220bc, 0xefd5102a, 0x71b18589, 0x6b6b51f, 0x9fbfe4a5, 0xe8b8d433, 0x7807c9a2, 0xf00f934, 0x9609a88e, 0xe10e9818, 0x7f6a0dbb, 0x86d3d2d, 0x91646c97, 0xe6635c01, 0x6b6b51f4, 0x1c6c6162, 0x856530d8, 0xf262004e, 0x6c0695ed, 0x1b01a57b, 0x8208f4c1, 0xf50fc457, 0x65b0d9c6, 0x12b7e950, 0x8bbeb8ea, 0xfcb9887c, 0x62dd1ddf, 0x15da2d49, 0x8cd37cf3, 0xfbd44c65, 0x4db26158, 0x3ab551ce, 0xa3bc0074, 0xd4bb30e2, 0x4adfa541, 0x3dd895d7, 0xa4d1c46d, 0xd3d6f4fb, 0x4369e96a, 0x346ed9fc, 0xad678846, 0xda60b8d0, 0x44042d73, 0x33031de5, 0xaa0a4c5f, 0xdd0d7cc9, 0x5005713c, 0x270241aa, 0xbe0b1010, 0xc90c2086, 0x5768b525, 0x206f85b3, 0xb966d409, 0xce61e49f, 0x5edef90e, 0x29d9c998, 0xb0d09822, 0xc7d7a8b4, 0x59b33d17, 0x2eb40d81, 0xb7bd5c3b, 0xc0ba6cad, 0xedb88320, 0x9abfb3b6, 0x3b6e20c, 0x74b1d29a, 0xead54739, 0x9dd277af, 0x4db2615, 0x73dc1683, 0xe3630b12, 0x94643b84, 0xd6d6a3e, 0x7a6a5aa8, 0xe40ecf0b, 0x9309ff9d, 0xa00ae27, 0x7d079eb1, 0xf00f9344, 0x8708a3d2, 0x1e01f268, 0x6906c2fe, 0xf762575d, 0x806567cb, 0x196c3671, 0x6e6b06e7, 0xfed41b76, 0x89d32be0, 0x10da7a5a, 0x67dd4acc, 0xf9b9df6f, 0x8ebeeff9, 0x17b7be43, 0x60b08ed5, 0xd6d6a3e8, 0xa1d1937e, 0x38d8c2c4, 0x4fdff252, 0xd1bb67f1, 0xa6bc5767, 0x3fb506dd, 0x48b2364b, 0xd80d2bda, 0xaf0a1b4c, 0x36034af6, 0x41047a60, 0xdf60efc3, 0xa867df55, 0x316e8eef, 0x4669be79, 0xcb61b38c, 0xbc66831a, 0x256fd2a0, 0x5268e236, 0xcc0c7795, 0xbb0b4703, 0x220216b9, 0x5505262f, 0xc5ba3bbe, 0xb2bd0b28, 0x2bb45a92, 0x5cb36a04, 0xc2d7ffa7, 0xb5d0cf31, 0x2cd99e8b, 0x5bdeae1d, 0x9b64c2b0, 0xec63f226, 0x756aa39c, 0x26d930a, 0x9c0906a9, 0xeb0e363f, 0x72076785, 0x5005713, 0x95bf4a82, 0xe2b87a14, 0x7bb12bae, 0xcb61b38, 0x92d28e9b, 0xe5d5be0d, 0x7cdcefb7, 0xbdbdf21, 0x86d3d2d4, 0xf1d4e242, 0x68ddb3f8, 0x1fda836e, 0x81be16cd, 0xf6b9265b, 0x6fb077e1, 0x18b74777, 0x88085ae6, 0xff0f6a70, 0x66063bca, 0x11010b5c, 0x8f659eff, 0xf862ae69, 0x616bffd3, 0x166ccf45, 0xa00ae278, 0xd70dd2ee, 0x4e048354, 0x3903b3c2, 0xa7672661, 0xd06016f7, 0x4969474d, 0x3e6e77db, 0xaed16a4a, 0xd9d65adc, 0x40df0b66, 0x37d83bf0, 0xa9bcae53, 0xdebb9ec5, 0x47b2cf7f, 0x30b5ffe9, 0xbdbdf21c, 0xcabac28a, 0x53b39330, 0x24b4a3a6, 0xbad03605, 0xcdd70693, 0x54de5729, 0x23d967bf, 0xb3667a2e, 0xc4614ab8, 0x5d681b02, 0x2a6f2b94, 0xb40bbe37, 0xc30c8ea1, 0x5a05df1b, 0x2d02ef8d };
-
-// From http://www.w3.org/TR/PNG/#D-CRCAppendix
-int mipng_crc(unsigned char *ptr, int len)
-{
- unsigned int file_crc;
- unsigned long crc;
- int i;
-
- file_crc = *((unsigned int *)(ptr+4+4+len));
- file_crc = ntohl(file_crc);
-
- crc = 0xffffffffL;
- i = 0;
- while (i < len+4)
- crc = crc_table[(crc ^ ptr[(i++)+4]) & 0xff] ^ (crc >> 8);
- crc ^= 0xffffffffL;
-
- if (file_crc != crc)
- return (1);
- return (0);
-}
-
-
-int mipng_structure(unsigned char *ptr, int size, unsigned char **hdr, unsigned char **dat)
-{
- unsigned int len;
- int dat_state;
- int end;
-
- dat_state = 0;
- *hdr = NULL;
- *dat = NULL;
- end = 0;
- while (size)
- {
- if (size >= 4) // length present
- {
- len = *((unsigned int *)ptr);
- len = ntohl(len);
- if (size < 4 + 4 + 4 + len)
- return (ERR_STRUCT_INCOMPLETE);
- if (mipng_crc(ptr, len))
- return (ERR_STRUCT_CRC);
- // printf("found chunk len %d type %c%c%c%c\n", len, *(ptr+4), *(ptr+5), *(ptr+6), *(ptr+7));
- if (mipng_is_type(ptr, "IHDR"))
- {
- if (*hdr || len != PNG_HDR_SIZE)
- return (ERR_STRUCT_HDR);
- *hdr = ptr;
- }
- if (mipng_is_type(ptr, "IEND"))
- {
- if (len != 0 || size != 4+4+4)
- return (ERR_STRUCT_END);
- end = 1;
- }
- if (mipng_is_type(ptr, "IDAT"))
- {
- if (dat_state == 0)
- {
- dat_state = 1;
- *dat = ptr;
- }
- if (dat_state == 2)
- return (ERR_STRUCT_DAT);
- }
- else
- if (dat_state == 1)
- dat_state = 2;
- size -= 4+4+4+len;
- ptr += 4+4+4+len;
- }
- else
- return (ERR_STRUCT_INCOMPLETE);
- }
- if (*hdr == 0 || *dat == 0 || end == 0)
- return (ERR_STRUCT_MISSCHK);
- return (0);
-}
-
-
-int mipng_verif_hdr(unsigned char *hdr, png_info_t *pi)
-{
- unsigned int compress;
- unsigned int filter;
-
- hdr += 8;
- pi->width = ntohl(*((unsigned long *)hdr));
- pi->height = ntohl(*((unsigned long *)(hdr+4)));
- pi->depth = *(hdr+8);
- pi->color = *(hdr+9);
- compress = *(hdr+10);
- filter = *(hdr+11);
- pi->interlace = *(hdr+12);
- if (pi->width <= 0 || pi->height <= 0 || (pi->depth != 8 && pi->depth != 16)
- || (pi->color != 2 && pi->color != 6) || compress != 0 || filter != 0 || pi->interlace != 0)
- return (ERR_STRUCT_INCIMPL);
- pi->bpp = pi->depth / 8;
- if (pi->color == 2)
- pi->bpp *= 3;
- if (pi->color == 6)
- pi->bpp *= 4;
- // printf("hdr info : %d x %d, depth %d, col type %d, comp %d, filter %d, interlace %d\nbpp is %d\n",
- // pi->width, pi->height, pi->depth, pi->color, compress, filter, pi->interlace, pi->bpp);
- return (0);
-}
-
-
-void *mlx_int_parse_png(void *xvar, unsigned char *fptr, int size, int *width, int *height)
-{
- int err;
- unsigned char *hdr;
- unsigned char *dat;
- png_info_t pi;
- void *img;
-
- if ((err = mipng_magic(fptr, size)))
- {
- warnx("mlx PNG error : %s", mipng_err[err]);
- return ((void *)0);
- }
- fptr += PNG_MAGIC_SIZE;
- size -= PNG_MAGIC_SIZE;
- if ((err = mipng_structure(fptr, size, &hdr, &dat)))
- {
- warnx("mlx PNG error : %s", mipng_err[err]);
- return ((void *)0);
- }
- if ((err = mipng_verif_hdr(hdr, &pi)))
- {
- warnx("mlx PNG error : %s", mipng_err[err]);
- return ((void *)0);
- }
- if (!(img = mlx_new_image(xvar, pi.width, pi.height)))
- {
- warnx("mlx PNG error : Can't create mlx image");
- return ((void *)0);
- }
- *width = pi.width;
- *height = pi.height;
- if ((err = mipng_data(img, dat, &pi)))
- {
- mlx_destroy_image(xvar, img);
- warnx("mlx PNG error : %s", mipng_err[err]);
- return ((void *)0);
- }
- return (img);
-}
-
-
-
-
-void *mlx_png_file_to_image(void *xvar, char *file, int *width, int *height)
-{
- int fd;
- int size;
- unsigned char *ptr;
- void *img;
-
- if ((fd = open(file, O_RDONLY)) == -1 || (size = lseek(fd, 0, SEEK_END)) == -1 ||
- (ptr = mmap(0, size, PROT_READ, MAP_PRIVATE, fd, 0)) == (void *)MAP_FAILED)
- {
- if (fd >= 0)
- close(fd);
- warnx("Can't map png file '%s'", file);
- return ((void *)0);
- }
- if (!(img = mlx_int_parse_png(xvar, ptr, size, width, height)))
- {
- *width = 0;
- *height = 0;
- }
- munmap(ptr,size);
- close(fd);
- return (img);
-}
diff --git a/minilibx_beta/mlx_rgb.c b/minilibx_beta/mlx_rgb.c
deleted file mode 100644
index 3f98717..0000000
--- a/minilibx_beta/mlx_rgb.c
+++ /dev/null
@@ -1,763 +0,0 @@
-/*
-** This is a generated file with rgb2c.pl and rgb.txt from
-** the XFree86 distribution.
-*/
-
-
-struct s_col_name mlx_col_name[] =
-{
- { "snow" , 0xfffafa },
- { "ghost white" , 0xf8f8ff },
- { "ghostwhite" , 0xf8f8ff },
- { "white smoke" , 0xf5f5f5 },
- { "whitesmoke" , 0xf5f5f5 },
- { "gainsboro" , 0xdcdcdc },
- { "floral white" , 0xfffaf0 },
- { "floralwhite" , 0xfffaf0 },
- { "old lace" , 0xfdf5e6 },
- { "oldlace" , 0xfdf5e6 },
- { "linen" , 0xfaf0e6 },
- { "antique white" , 0xfaebd7 },
- { "antiquewhite" , 0xfaebd7 },
- { "papaya whip" , 0xffefd5 },
- { "papayawhip" , 0xffefd5 },
- { "blanched almond" , 0xffebcd },
- { "blanchedalmond" , 0xffebcd },
- { "bisque" , 0xffe4c4 },
- { "peach puff" , 0xffdab9 },
- { "peachpuff" , 0xffdab9 },
- { "navajo white" , 0xffdead },
- { "navajowhite" , 0xffdead },
- { "moccasin" , 0xffe4b5 },
- { "cornsilk" , 0xfff8dc },
- { "ivory" , 0xfffff0 },
- { "lemon chiffon" , 0xfffacd },
- { "lemonchiffon" , 0xfffacd },
- { "seashell" , 0xfff5ee },
- { "honeydew" , 0xf0fff0 },
- { "mint cream" , 0xf5fffa },
- { "mintcream" , 0xf5fffa },
- { "azure" , 0xf0ffff },
- { "alice blue" , 0xf0f8ff },
- { "aliceblue" , 0xf0f8ff },
- { "lavender" , 0xe6e6fa },
- { "lavender blush" , 0xfff0f5 },
- { "lavenderblush" , 0xfff0f5 },
- { "misty rose" , 0xffe4e1 },
- { "mistyrose" , 0xffe4e1 },
- { "white" , 0xffffff },
- { "black" , 0x0 },
- { "dark slate" , 0x2f4f4f },
- { "darkslategray" , 0x2f4f4f },
- { "dark slate" , 0x2f4f4f },
- { "darkslategrey" , 0x2f4f4f },
- { "dim gray" , 0x696969 },
- { "dimgray" , 0x696969 },
- { "dim grey" , 0x696969 },
- { "dimgrey" , 0x696969 },
- { "slate gray" , 0x708090 },
- { "slategray" , 0x708090 },
- { "slate grey" , 0x708090 },
- { "slategrey" , 0x708090 },
- { "light slate" , 0x778899 },
- { "lightslategray" , 0x778899 },
- { "light slate" , 0x778899 },
- { "lightslategrey" , 0x778899 },
- { "gray" , 0xbebebe },
- { "grey" , 0xbebebe },
- { "light grey" , 0xd3d3d3 },
- { "lightgrey" , 0xd3d3d3 },
- { "light gray" , 0xd3d3d3 },
- { "lightgray" , 0xd3d3d3 },
- { "midnight blue" , 0x191970 },
- { "midnightblue" , 0x191970 },
- { "navy" , 0x80 },
- { "navy blue" , 0x80 },
- { "navyblue" , 0x80 },
- { "cornflower blue" , 0x6495ed },
- { "cornflowerblue" , 0x6495ed },
- { "dark slate" , 0x483d8b },
- { "darkslateblue" , 0x483d8b },
- { "slate blue" , 0x6a5acd },
- { "slateblue" , 0x6a5acd },
- { "medium slate" , 0x7b68ee },
- { "mediumslateblue" , 0x7b68ee },
- { "light slate" , 0x8470ff },
- { "lightslateblue" , 0x8470ff },
- { "medium blue" , 0xcd },
- { "mediumblue" , 0xcd },
- { "royal blue" , 0x4169e1 },
- { "royalblue" , 0x4169e1 },
- { "blue" , 0xff },
- { "dodger blue" , 0x1e90ff },
- { "dodgerblue" , 0x1e90ff },
- { "deep sky" , 0xbfff },
- { "deepskyblue" , 0xbfff },
- { "sky blue" , 0x87ceeb },
- { "skyblue" , 0x87ceeb },
- { "light sky" , 0x87cefa },
- { "lightskyblue" , 0x87cefa },
- { "steel blue" , 0x4682b4 },
- { "steelblue" , 0x4682b4 },
- { "light steel" , 0xb0c4de },
- { "lightsteelblue" , 0xb0c4de },
- { "light blue" , 0xadd8e6 },
- { "lightblue" , 0xadd8e6 },
- { "powder blue" , 0xb0e0e6 },
- { "powderblue" , 0xb0e0e6 },
- { "pale turquoise" , 0xafeeee },
- { "paleturquoise" , 0xafeeee },
- { "dark turquoise" , 0xced1 },
- { "darkturquoise" , 0xced1 },
- { "medium turquoise" , 0x48d1cc },
- { "mediumturquoise" , 0x48d1cc },
- { "turquoise" , 0x40e0d0 },
- { "cyan" , 0xffff },
- { "light cyan" , 0xe0ffff },
- { "lightcyan" , 0xe0ffff },
- { "cadet blue" , 0x5f9ea0 },
- { "cadetblue" , 0x5f9ea0 },
- { "medium aquamarine" , 0x66cdaa },
- { "mediumaquamarine" , 0x66cdaa },
- { "aquamarine" , 0x7fffd4 },
- { "dark green" , 0x6400 },
- { "darkgreen" , 0x6400 },
- { "dark olive" , 0x556b2f },
- { "darkolivegreen" , 0x556b2f },
- { "dark sea" , 0x8fbc8f },
- { "darkseagreen" , 0x8fbc8f },
- { "sea green" , 0x2e8b57 },
- { "seagreen" , 0x2e8b57 },
- { "medium sea" , 0x3cb371 },
- { "mediumseagreen" , 0x3cb371 },
- { "light sea" , 0x20b2aa },
- { "lightseagreen" , 0x20b2aa },
- { "pale green" , 0x98fb98 },
- { "palegreen" , 0x98fb98 },
- { "spring green" , 0xff7f },
- { "springgreen" , 0xff7f },
- { "lawn green" , 0x7cfc00 },
- { "lawngreen" , 0x7cfc00 },
- { "green" , 0xff00 },
- { "chartreuse" , 0x7fff00 },
- { "medium spring" , 0xfa9a },
- { "mediumspringgreen" , 0xfa9a },
- { "green yellow" , 0xadff2f },
- { "greenyellow" , 0xadff2f },
- { "lime green" , 0x32cd32 },
- { "limegreen" , 0x32cd32 },
- { "yellow green" , 0x9acd32 },
- { "yellowgreen" , 0x9acd32 },
- { "forest green" , 0x228b22 },
- { "forestgreen" , 0x228b22 },
- { "olive drab" , 0x6b8e23 },
- { "olivedrab" , 0x6b8e23 },
- { "dark khaki" , 0xbdb76b },
- { "darkkhaki" , 0xbdb76b },
- { "khaki" , 0xf0e68c },
- { "pale goldenrod" , 0xeee8aa },
- { "palegoldenrod" , 0xeee8aa },
- { "light goldenrod" , 0xfafad2 },
- { "lightgoldenrodyellow" , 0xfafad2 },
- { "light yellow" , 0xffffe0 },
- { "lightyellow" , 0xffffe0 },
- { "yellow" , 0xffff00 },
- { "gold" , 0xffd700 },
- { "light goldenrod" , 0xeedd82 },
- { "lightgoldenrod" , 0xeedd82 },
- { "goldenrod" , 0xdaa520 },
- { "dark goldenrod" , 0xb8860b },
- { "darkgoldenrod" , 0xb8860b },
- { "rosy brown" , 0xbc8f8f },
- { "rosybrown" , 0xbc8f8f },
- { "indian red" , 0xcd5c5c },
- { "indianred" , 0xcd5c5c },
- { "saddle brown" , 0x8b4513 },
- { "saddlebrown" , 0x8b4513 },
- { "sienna" , 0xa0522d },
- { "peru" , 0xcd853f },
- { "burlywood" , 0xdeb887 },
- { "beige" , 0xf5f5dc },
- { "wheat" , 0xf5deb3 },
- { "sandy brown" , 0xf4a460 },
- { "sandybrown" , 0xf4a460 },
- { "tan" , 0xd2b48c },
- { "chocolate" , 0xd2691e },
- { "firebrick" , 0xb22222 },
- { "brown" , 0xa52a2a },
- { "dark salmon" , 0xe9967a },
- { "darksalmon" , 0xe9967a },
- { "salmon" , 0xfa8072 },
- { "light salmon" , 0xffa07a },
- { "lightsalmon" , 0xffa07a },
- { "orange" , 0xffa500 },
- { "dark orange" , 0xff8c00 },
- { "darkorange" , 0xff8c00 },
- { "coral" , 0xff7f50 },
- { "light coral" , 0xf08080 },
- { "lightcoral" , 0xf08080 },
- { "tomato" , 0xff6347 },
- { "orange red" , 0xff4500 },
- { "orangered" , 0xff4500 },
- { "red" , 0xff0000 },
- { "hot pink" , 0xff69b4 },
- { "hotpink" , 0xff69b4 },
- { "deep pink" , 0xff1493 },
- { "deeppink" , 0xff1493 },
- { "pink" , 0xffc0cb },
- { "light pink" , 0xffb6c1 },
- { "lightpink" , 0xffb6c1 },
- { "pale violet" , 0xdb7093 },
- { "palevioletred" , 0xdb7093 },
- { "maroon" , 0xb03060 },
- { "medium violet" , 0xc71585 },
- { "mediumvioletred" , 0xc71585 },
- { "violet red" , 0xd02090 },
- { "violetred" , 0xd02090 },
- { "magenta" , 0xff00ff },
- { "violet" , 0xee82ee },
- { "plum" , 0xdda0dd },
- { "orchid" , 0xda70d6 },
- { "medium orchid" , 0xba55d3 },
- { "mediumorchid" , 0xba55d3 },
- { "dark orchid" , 0x9932cc },
- { "darkorchid" , 0x9932cc },
- { "dark violet" , 0x9400d3 },
- { "darkviolet" , 0x9400d3 },
- { "blue violet" , 0x8a2be2 },
- { "blueviolet" , 0x8a2be2 },
- { "purple" , 0xa020f0 },
- { "medium purple" , 0x9370db },
- { "mediumpurple" , 0x9370db },
- { "thistle" , 0xd8bfd8 },
- { "snow1" , 0xfffafa },
- { "snow2" , 0xeee9e9 },
- { "snow3" , 0xcdc9c9 },
- { "snow4" , 0x8b8989 },
- { "seashell1" , 0xfff5ee },
- { "seashell2" , 0xeee5de },
- { "seashell3" , 0xcdc5bf },
- { "seashell4" , 0x8b8682 },
- { "antiquewhite1" , 0xffefdb },
- { "antiquewhite2" , 0xeedfcc },
- { "antiquewhite3" , 0xcdc0b0 },
- { "antiquewhite4" , 0x8b8378 },
- { "bisque1" , 0xffe4c4 },
- { "bisque2" , 0xeed5b7 },
- { "bisque3" , 0xcdb79e },
- { "bisque4" , 0x8b7d6b },
- { "peachpuff1" , 0xffdab9 },
- { "peachpuff2" , 0xeecbad },
- { "peachpuff3" , 0xcdaf95 },
- { "peachpuff4" , 0x8b7765 },
- { "navajowhite1" , 0xffdead },
- { "navajowhite2" , 0xeecfa1 },
- { "navajowhite3" , 0xcdb38b },
- { "navajowhite4" , 0x8b795e },
- { "lemonchiffon1" , 0xfffacd },
- { "lemonchiffon2" , 0xeee9bf },
- { "lemonchiffon3" , 0xcdc9a5 },
- { "lemonchiffon4" , 0x8b8970 },
- { "cornsilk1" , 0xfff8dc },
- { "cornsilk2" , 0xeee8cd },
- { "cornsilk3" , 0xcdc8b1 },
- { "cornsilk4" , 0x8b8878 },
- { "ivory1" , 0xfffff0 },
- { "ivory2" , 0xeeeee0 },
- { "ivory3" , 0xcdcdc1 },
- { "ivory4" , 0x8b8b83 },
- { "honeydew1" , 0xf0fff0 },
- { "honeydew2" , 0xe0eee0 },
- { "honeydew3" , 0xc1cdc1 },
- { "honeydew4" , 0x838b83 },
- { "lavenderblush1" , 0xfff0f5 },
- { "lavenderblush2" , 0xeee0e5 },
- { "lavenderblush3" , 0xcdc1c5 },
- { "lavenderblush4" , 0x8b8386 },
- { "mistyrose1" , 0xffe4e1 },
- { "mistyrose2" , 0xeed5d2 },
- { "mistyrose3" , 0xcdb7b5 },
- { "mistyrose4" , 0x8b7d7b },
- { "azure1" , 0xf0ffff },
- { "azure2" , 0xe0eeee },
- { "azure3" , 0xc1cdcd },
- { "azure4" , 0x838b8b },
- { "slateblue1" , 0x836fff },
- { "slateblue2" , 0x7a67ee },
- { "slateblue3" , 0x6959cd },
- { "slateblue4" , 0x473c8b },
- { "royalblue1" , 0x4876ff },
- { "royalblue2" , 0x436eee },
- { "royalblue3" , 0x3a5fcd },
- { "royalblue4" , 0x27408b },
- { "blue1" , 0xff },
- { "blue2" , 0xee },
- { "blue3" , 0xcd },
- { "blue4" , 0x8b },
- { "dodgerblue1" , 0x1e90ff },
- { "dodgerblue2" , 0x1c86ee },
- { "dodgerblue3" , 0x1874cd },
- { "dodgerblue4" , 0x104e8b },
- { "steelblue1" , 0x63b8ff },
- { "steelblue2" , 0x5cacee },
- { "steelblue3" , 0x4f94cd },
- { "steelblue4" , 0x36648b },
- { "deepskyblue1" , 0xbfff },
- { "deepskyblue2" , 0xb2ee },
- { "deepskyblue3" , 0x9acd },
- { "deepskyblue4" , 0x688b },
- { "skyblue1" , 0x87ceff },
- { "skyblue2" , 0x7ec0ee },
- { "skyblue3" , 0x6ca6cd },
- { "skyblue4" , 0x4a708b },
- { "lightskyblue1" , 0xb0e2ff },
- { "lightskyblue2" , 0xa4d3ee },
- { "lightskyblue3" , 0x8db6cd },
- { "lightskyblue4" , 0x607b8b },
- { "slategray1" , 0xc6e2ff },
- { "slategray2" , 0xb9d3ee },
- { "slategray3" , 0x9fb6cd },
- { "slategray4" , 0x6c7b8b },
- { "lightsteelblue1" , 0xcae1ff },
- { "lightsteelblue2" , 0xbcd2ee },
- { "lightsteelblue3" , 0xa2b5cd },
- { "lightsteelblue4" , 0x6e7b8b },
- { "lightblue1" , 0xbfefff },
- { "lightblue2" , 0xb2dfee },
- { "lightblue3" , 0x9ac0cd },
- { "lightblue4" , 0x68838b },
- { "lightcyan1" , 0xe0ffff },
- { "lightcyan2" , 0xd1eeee },
- { "lightcyan3" , 0xb4cdcd },
- { "lightcyan4" , 0x7a8b8b },
- { "paleturquoise1" , 0xbbffff },
- { "paleturquoise2" , 0xaeeeee },
- { "paleturquoise3" , 0x96cdcd },
- { "paleturquoise4" , 0x668b8b },
- { "cadetblue1" , 0x98f5ff },
- { "cadetblue2" , 0x8ee5ee },
- { "cadetblue3" , 0x7ac5cd },
- { "cadetblue4" , 0x53868b },
- { "turquoise1" , 0xf5ff },
- { "turquoise2" , 0xe5ee },
- { "turquoise3" , 0xc5cd },
- { "turquoise4" , 0x868b },
- { "cyan1" , 0xffff },
- { "cyan2" , 0xeeee },
- { "cyan3" , 0xcdcd },
- { "cyan4" , 0x8b8b },
- { "darkslategray1" , 0x97ffff },
- { "darkslategray2" , 0x8deeee },
- { "darkslategray3" , 0x79cdcd },
- { "darkslategray4" , 0x528b8b },
- { "aquamarine1" , 0x7fffd4 },
- { "aquamarine2" , 0x76eec6 },
- { "aquamarine3" , 0x66cdaa },
- { "aquamarine4" , 0x458b74 },
- { "darkseagreen1" , 0xc1ffc1 },
- { "darkseagreen2" , 0xb4eeb4 },
- { "darkseagreen3" , 0x9bcd9b },
- { "darkseagreen4" , 0x698b69 },
- { "seagreen1" , 0x54ff9f },
- { "seagreen2" , 0x4eee94 },
- { "seagreen3" , 0x43cd80 },
- { "seagreen4" , 0x2e8b57 },
- { "palegreen1" , 0x9aff9a },
- { "palegreen2" , 0x90ee90 },
- { "palegreen3" , 0x7ccd7c },
- { "palegreen4" , 0x548b54 },
- { "springgreen1" , 0xff7f },
- { "springgreen2" , 0xee76 },
- { "springgreen3" , 0xcd66 },
- { "springgreen4" , 0x8b45 },
- { "green1" , 0xff00 },
- { "green2" , 0xee00 },
- { "green3" , 0xcd00 },
- { "green4" , 0x8b00 },
- { "chartreuse1" , 0x7fff00 },
- { "chartreuse2" , 0x76ee00 },
- { "chartreuse3" , 0x66cd00 },
- { "chartreuse4" , 0x458b00 },
- { "olivedrab1" , 0xc0ff3e },
- { "olivedrab2" , 0xb3ee3a },
- { "olivedrab3" , 0x9acd32 },
- { "olivedrab4" , 0x698b22 },
- { "darkolivegreen1" , 0xcaff70 },
- { "darkolivegreen2" , 0xbcee68 },
- { "darkolivegreen3" , 0xa2cd5a },
- { "darkolivegreen4" , 0x6e8b3d },
- { "khaki1" , 0xfff68f },
- { "khaki2" , 0xeee685 },
- { "khaki3" , 0xcdc673 },
- { "khaki4" , 0x8b864e },
- { "lightgoldenrod1" , 0xffec8b },
- { "lightgoldenrod2" , 0xeedc82 },
- { "lightgoldenrod3" , 0xcdbe70 },
- { "lightgoldenrod4" , 0x8b814c },
- { "lightyellow1" , 0xffffe0 },
- { "lightyellow2" , 0xeeeed1 },
- { "lightyellow3" , 0xcdcdb4 },
- { "lightyellow4" , 0x8b8b7a },
- { "yellow1" , 0xffff00 },
- { "yellow2" , 0xeeee00 },
- { "yellow3" , 0xcdcd00 },
- { "yellow4" , 0x8b8b00 },
- { "gold1" , 0xffd700 },
- { "gold2" , 0xeec900 },
- { "gold3" , 0xcdad00 },
- { "gold4" , 0x8b7500 },
- { "goldenrod1" , 0xffc125 },
- { "goldenrod2" , 0xeeb422 },
- { "goldenrod3" , 0xcd9b1d },
- { "goldenrod4" , 0x8b6914 },
- { "darkgoldenrod1" , 0xffb90f },
- { "darkgoldenrod2" , 0xeead0e },
- { "darkgoldenrod3" , 0xcd950c },
- { "darkgoldenrod4" , 0x8b6508 },
- { "rosybrown1" , 0xffc1c1 },
- { "rosybrown2" , 0xeeb4b4 },
- { "rosybrown3" , 0xcd9b9b },
- { "rosybrown4" , 0x8b6969 },
- { "indianred1" , 0xff6a6a },
- { "indianred2" , 0xee6363 },
- { "indianred3" , 0xcd5555 },
- { "indianred4" , 0x8b3a3a },
- { "sienna1" , 0xff8247 },
- { "sienna2" , 0xee7942 },
- { "sienna3" , 0xcd6839 },
- { "sienna4" , 0x8b4726 },
- { "burlywood1" , 0xffd39b },
- { "burlywood2" , 0xeec591 },
- { "burlywood3" , 0xcdaa7d },
- { "burlywood4" , 0x8b7355 },
- { "wheat1" , 0xffe7ba },
- { "wheat2" , 0xeed8ae },
- { "wheat3" , 0xcdba96 },
- { "wheat4" , 0x8b7e66 },
- { "tan1" , 0xffa54f },
- { "tan2" , 0xee9a49 },
- { "tan3" , 0xcd853f },
- { "tan4" , 0x8b5a2b },
- { "chocolate1" , 0xff7f24 },
- { "chocolate2" , 0xee7621 },
- { "chocolate3" , 0xcd661d },
- { "chocolate4" , 0x8b4513 },
- { "firebrick1" , 0xff3030 },
- { "firebrick2" , 0xee2c2c },
- { "firebrick3" , 0xcd2626 },
- { "firebrick4" , 0x8b1a1a },
- { "brown1" , 0xff4040 },
- { "brown2" , 0xee3b3b },
- { "brown3" , 0xcd3333 },
- { "brown4" , 0x8b2323 },
- { "salmon1" , 0xff8c69 },
- { "salmon2" , 0xee8262 },
- { "salmon3" , 0xcd7054 },
- { "salmon4" , 0x8b4c39 },
- { "lightsalmon1" , 0xffa07a },
- { "lightsalmon2" , 0xee9572 },
- { "lightsalmon3" , 0xcd8162 },
- { "lightsalmon4" , 0x8b5742 },
- { "orange1" , 0xffa500 },
- { "orange2" , 0xee9a00 },
- { "orange3" , 0xcd8500 },
- { "orange4" , 0x8b5a00 },
- { "darkorange1" , 0xff7f00 },
- { "darkorange2" , 0xee7600 },
- { "darkorange3" , 0xcd6600 },
- { "darkorange4" , 0x8b4500 },
- { "coral1" , 0xff7256 },
- { "coral2" , 0xee6a50 },
- { "coral3" , 0xcd5b45 },
- { "coral4" , 0x8b3e2f },
- { "tomato1" , 0xff6347 },
- { "tomato2" , 0xee5c42 },
- { "tomato3" , 0xcd4f39 },
- { "tomato4" , 0x8b3626 },
- { "orangered1" , 0xff4500 },
- { "orangered2" , 0xee4000 },
- { "orangered3" , 0xcd3700 },
- { "orangered4" , 0x8b2500 },
- { "red1" , 0xff0000 },
- { "red2" , 0xee0000 },
- { "red3" , 0xcd0000 },
- { "red4" , 0x8b0000 },
- { "deeppink1" , 0xff1493 },
- { "deeppink2" , 0xee1289 },
- { "deeppink3" , 0xcd1076 },
- { "deeppink4" , 0x8b0a50 },
- { "hotpink1" , 0xff6eb4 },
- { "hotpink2" , 0xee6aa7 },
- { "hotpink3" , 0xcd6090 },
- { "hotpink4" , 0x8b3a62 },
- { "pink1" , 0xffb5c5 },
- { "pink2" , 0xeea9b8 },
- { "pink3" , 0xcd919e },
- { "pink4" , 0x8b636c },
- { "lightpink1" , 0xffaeb9 },
- { "lightpink2" , 0xeea2ad },
- { "lightpink3" , 0xcd8c95 },
- { "lightpink4" , 0x8b5f65 },
- { "palevioletred1" , 0xff82ab },
- { "palevioletred2" , 0xee799f },
- { "palevioletred3" , 0xcd6889 },
- { "palevioletred4" , 0x8b475d },
- { "maroon1" , 0xff34b3 },
- { "maroon2" , 0xee30a7 },
- { "maroon3" , 0xcd2990 },
- { "maroon4" , 0x8b1c62 },
- { "violetred1" , 0xff3e96 },
- { "violetred2" , 0xee3a8c },
- { "violetred3" , 0xcd3278 },
- { "violetred4" , 0x8b2252 },
- { "magenta1" , 0xff00ff },
- { "magenta2" , 0xee00ee },
- { "magenta3" , 0xcd00cd },
- { "magenta4" , 0x8b008b },
- { "orchid1" , 0xff83fa },
- { "orchid2" , 0xee7ae9 },
- { "orchid3" , 0xcd69c9 },
- { "orchid4" , 0x8b4789 },
- { "plum1" , 0xffbbff },
- { "plum2" , 0xeeaeee },
- { "plum3" , 0xcd96cd },
- { "plum4" , 0x8b668b },
- { "mediumorchid1" , 0xe066ff },
- { "mediumorchid2" , 0xd15fee },
- { "mediumorchid3" , 0xb452cd },
- { "mediumorchid4" , 0x7a378b },
- { "darkorchid1" , 0xbf3eff },
- { "darkorchid2" , 0xb23aee },
- { "darkorchid3" , 0x9a32cd },
- { "darkorchid4" , 0x68228b },
- { "purple1" , 0x9b30ff },
- { "purple2" , 0x912cee },
- { "purple3" , 0x7d26cd },
- { "purple4" , 0x551a8b },
- { "mediumpurple1" , 0xab82ff },
- { "mediumpurple2" , 0x9f79ee },
- { "mediumpurple3" , 0x8968cd },
- { "mediumpurple4" , 0x5d478b },
- { "thistle1" , 0xffe1ff },
- { "thistle2" , 0xeed2ee },
- { "thistle3" , 0xcdb5cd },
- { "thistle4" , 0x8b7b8b },
- { "gray0" , 0x0 },
- { "grey0" , 0x0 },
- { "gray1" , 0x30303 },
- { "grey1" , 0x30303 },
- { "gray2" , 0x50505 },
- { "grey2" , 0x50505 },
- { "gray3" , 0x80808 },
- { "grey3" , 0x80808 },
- { "gray4" , 0xa0a0a },
- { "grey4" , 0xa0a0a },
- { "gray5" , 0xd0d0d },
- { "grey5" , 0xd0d0d },
- { "gray6" , 0xf0f0f },
- { "grey6" , 0xf0f0f },
- { "gray7" , 0x121212 },
- { "grey7" , 0x121212 },
- { "gray8" , 0x141414 },
- { "grey8" , 0x141414 },
- { "gray9" , 0x171717 },
- { "grey9" , 0x171717 },
- { "gray10" , 0x1a1a1a },
- { "grey10" , 0x1a1a1a },
- { "gray11" , 0x1c1c1c },
- { "grey11" , 0x1c1c1c },
- { "gray12" , 0x1f1f1f },
- { "grey12" , 0x1f1f1f },
- { "gray13" , 0x212121 },
- { "grey13" , 0x212121 },
- { "gray14" , 0x242424 },
- { "grey14" , 0x242424 },
- { "gray15" , 0x262626 },
- { "grey15" , 0x262626 },
- { "gray16" , 0x292929 },
- { "grey16" , 0x292929 },
- { "gray17" , 0x2b2b2b },
- { "grey17" , 0x2b2b2b },
- { "gray18" , 0x2e2e2e },
- { "grey18" , 0x2e2e2e },
- { "gray19" , 0x303030 },
- { "grey19" , 0x303030 },
- { "gray20" , 0x333333 },
- { "grey20" , 0x333333 },
- { "gray21" , 0x363636 },
- { "grey21" , 0x363636 },
- { "gray22" , 0x383838 },
- { "grey22" , 0x383838 },
- { "gray23" , 0x3b3b3b },
- { "grey23" , 0x3b3b3b },
- { "gray24" , 0x3d3d3d },
- { "grey24" , 0x3d3d3d },
- { "gray25" , 0x404040 },
- { "grey25" , 0x404040 },
- { "gray26" , 0x424242 },
- { "grey26" , 0x424242 },
- { "gray27" , 0x454545 },
- { "grey27" , 0x454545 },
- { "gray28" , 0x474747 },
- { "grey28" , 0x474747 },
- { "gray29" , 0x4a4a4a },
- { "grey29" , 0x4a4a4a },
- { "gray30" , 0x4d4d4d },
- { "grey30" , 0x4d4d4d },
- { "gray31" , 0x4f4f4f },
- { "grey31" , 0x4f4f4f },
- { "gray32" , 0x525252 },
- { "grey32" , 0x525252 },
- { "gray33" , 0x545454 },
- { "grey33" , 0x545454 },
- { "gray34" , 0x575757 },
- { "grey34" , 0x575757 },
- { "gray35" , 0x595959 },
- { "grey35" , 0x595959 },
- { "gray36" , 0x5c5c5c },
- { "grey36" , 0x5c5c5c },
- { "gray37" , 0x5e5e5e },
- { "grey37" , 0x5e5e5e },
- { "gray38" , 0x616161 },
- { "grey38" , 0x616161 },
- { "gray39" , 0x636363 },
- { "grey39" , 0x636363 },
- { "gray40" , 0x666666 },
- { "grey40" , 0x666666 },
- { "gray41" , 0x696969 },
- { "grey41" , 0x696969 },
- { "gray42" , 0x6b6b6b },
- { "grey42" , 0x6b6b6b },
- { "gray43" , 0x6e6e6e },
- { "grey43" , 0x6e6e6e },
- { "gray44" , 0x707070 },
- { "grey44" , 0x707070 },
- { "gray45" , 0x737373 },
- { "grey45" , 0x737373 },
- { "gray46" , 0x757575 },
- { "grey46" , 0x757575 },
- { "gray47" , 0x787878 },
- { "grey47" , 0x787878 },
- { "gray48" , 0x7a7a7a },
- { "grey48" , 0x7a7a7a },
- { "gray49" , 0x7d7d7d },
- { "grey49" , 0x7d7d7d },
- { "gray50" , 0x7f7f7f },
- { "grey50" , 0x7f7f7f },
- { "gray51" , 0x828282 },
- { "grey51" , 0x828282 },
- { "gray52" , 0x858585 },
- { "grey52" , 0x858585 },
- { "gray53" , 0x878787 },
- { "grey53" , 0x878787 },
- { "gray54" , 0x8a8a8a },
- { "grey54" , 0x8a8a8a },
- { "gray55" , 0x8c8c8c },
- { "grey55" , 0x8c8c8c },
- { "gray56" , 0x8f8f8f },
- { "grey56" , 0x8f8f8f },
- { "gray57" , 0x919191 },
- { "grey57" , 0x919191 },
- { "gray58" , 0x949494 },
- { "grey58" , 0x949494 },
- { "gray59" , 0x969696 },
- { "grey59" , 0x969696 },
- { "gray60" , 0x999999 },
- { "grey60" , 0x999999 },
- { "gray61" , 0x9c9c9c },
- { "grey61" , 0x9c9c9c },
- { "gray62" , 0x9e9e9e },
- { "grey62" , 0x9e9e9e },
- { "gray63" , 0xa1a1a1 },
- { "grey63" , 0xa1a1a1 },
- { "gray64" , 0xa3a3a3 },
- { "grey64" , 0xa3a3a3 },
- { "gray65" , 0xa6a6a6 },
- { "grey65" , 0xa6a6a6 },
- { "gray66" , 0xa8a8a8 },
- { "grey66" , 0xa8a8a8 },
- { "gray67" , 0xababab },
- { "grey67" , 0xababab },
- { "gray68" , 0xadadad },
- { "grey68" , 0xadadad },
- { "gray69" , 0xb0b0b0 },
- { "grey69" , 0xb0b0b0 },
- { "gray70" , 0xb3b3b3 },
- { "grey70" , 0xb3b3b3 },
- { "gray71" , 0xb5b5b5 },
- { "grey71" , 0xb5b5b5 },
- { "gray72" , 0xb8b8b8 },
- { "grey72" , 0xb8b8b8 },
- { "gray73" , 0xbababa },
- { "grey73" , 0xbababa },
- { "gray74" , 0xbdbdbd },
- { "grey74" , 0xbdbdbd },
- { "gray75" , 0xbfbfbf },
- { "grey75" , 0xbfbfbf },
- { "gray76" , 0xc2c2c2 },
- { "grey76" , 0xc2c2c2 },
- { "gray77" , 0xc4c4c4 },
- { "grey77" , 0xc4c4c4 },
- { "gray78" , 0xc7c7c7 },
- { "grey78" , 0xc7c7c7 },
- { "gray79" , 0xc9c9c9 },
- { "grey79" , 0xc9c9c9 },
- { "gray80" , 0xcccccc },
- { "grey80" , 0xcccccc },
- { "gray81" , 0xcfcfcf },
- { "grey81" , 0xcfcfcf },
- { "gray82" , 0xd1d1d1 },
- { "grey82" , 0xd1d1d1 },
- { "gray83" , 0xd4d4d4 },
- { "grey83" , 0xd4d4d4 },
- { "gray84" , 0xd6d6d6 },
- { "grey84" , 0xd6d6d6 },
- { "gray85" , 0xd9d9d9 },
- { "grey85" , 0xd9d9d9 },
- { "gray86" , 0xdbdbdb },
- { "grey86" , 0xdbdbdb },
- { "gray87" , 0xdedede },
- { "grey87" , 0xdedede },
- { "gray88" , 0xe0e0e0 },
- { "grey88" , 0xe0e0e0 },
- { "gray89" , 0xe3e3e3 },
- { "grey89" , 0xe3e3e3 },
- { "gray90" , 0xe5e5e5 },
- { "grey90" , 0xe5e5e5 },
- { "gray91" , 0xe8e8e8 },
- { "grey91" , 0xe8e8e8 },
- { "gray92" , 0xebebeb },
- { "grey92" , 0xebebeb },
- { "gray93" , 0xededed },
- { "grey93" , 0xededed },
- { "gray94" , 0xf0f0f0 },
- { "grey94" , 0xf0f0f0 },
- { "gray95" , 0xf2f2f2 },
- { "grey95" , 0xf2f2f2 },
- { "gray96" , 0xf5f5f5 },
- { "grey96" , 0xf5f5f5 },
- { "gray97" , 0xf7f7f7 },
- { "grey97" , 0xf7f7f7 },
- { "gray98" , 0xfafafa },
- { "grey98" , 0xfafafa },
- { "gray99" , 0xfcfcfc },
- { "grey99" , 0xfcfcfc },
- { "gray100" , 0xffffff },
- { "grey100" , 0xffffff },
- { "dark grey" , 0xa9a9a9 },
- { "darkgrey" , 0xa9a9a9 },
- { "dark gray" , 0xa9a9a9 },
- { "darkgray" , 0xa9a9a9 },
- { "dark blue" , 0x8b },
- { "darkblue" , 0x8b },
- { "dark cyan" , 0x8b8b },
- { "darkcyan" , 0x8b8b },
- { "dark magenta" , 0x8b008b },
- { "darkmagenta" , 0x8b008b },
- { "dark red" , 0x8b0000 },
- { "darkred" , 0x8b0000 },
- { "light green" , 0x90ee90 },
- { "lightgreen" , 0x90ee90 },
- { "none", -1 },
- { 0, 0 }
-};
diff --git a/minilibx_beta/mlx_string_put.c b/minilibx_beta/mlx_string_put.c
deleted file mode 100644
index 435493c..0000000
--- a/minilibx_beta/mlx_string_put.c
+++ /dev/null
@@ -1,72 +0,0 @@
-
-#include "mlx.h"
-
-#include "font.c"
-
-#define ATLAS_NB_CHAR 95
-
-#define FONT_WIDTH ((font_atlas.width/(ATLAS_NB_CHAR))-2)
-
-
-int mlx_put_image_to_window_scale(void *mlx_ptr, void *win_ptr, void *img_ptr, int sx, int sy, int sw, int sh, int dx, int dy, int dw, int dh, unsigned int color);
-
-void mlx_int_fill(unsigned char *data, int sl)
-{
- int i, j;
- j = 0;
- while (j < font_atlas.height)
- {
- i = 0;
- while (i < font_atlas.width)
- {
- data[j*sl+i*4] = font_atlas.pixel_data[j*font_atlas.width*font_atlas.bytes_per_pixel+i*4+2];
- data[j*sl+i*4+1] = font_atlas.pixel_data[j*font_atlas.width*font_atlas.bytes_per_pixel+i*4+1];
- data[j*sl+i*4+2] = font_atlas.pixel_data[j*font_atlas.width*font_atlas.bytes_per_pixel+i*4];
- data[j*sl+i*4+3] = 0xFF - font_atlas.pixel_data[j*font_atlas.width*font_atlas.bytes_per_pixel+i*4+3];
- i ++;
- }
- j ++;
- }
-
-}
-
-int mlx_string_put(void *mlx_ptr, void *win_ptr, int x, int y, int color, char *string)
-{
- static void *font = (void *)0;
- static unsigned char *data = (void *)0;
- static int size_line = 0;
- int bpp;
- int endian;
- int pos;
- int val;
- int dest_w;
- int dest_h;
-
- if (font == (void *)0)
- {
- font = mlx_new_image(mlx_ptr, font_atlas.width, font_atlas.height);
- data = (unsigned char *)mlx_get_data_addr(font, &bpp, &size_line, &endian);
- mlx_int_fill(data, size_line);
- }
-
- color = (color&0xFFFFFF)|0xFF000000;
-
- // dest_w = (FONT_WIDTH*5)/7; /// ratio with X11 standard mlx_string_put
- // dest_h = (font_atlas.height*5)/7;
- dest_w = FONT_WIDTH;
- dest_h = font_atlas.height;
- y = y - (dest_h*3)/4;
-
- pos = 0;
- while (*string)
- {
- if (*string >= 32 && *string <= 127)
- val = *string - 32;
- else
- val = 31;
- mlx_put_image_to_window_scale(mlx_ptr, win_ptr, font, val*(FONT_WIDTH+2), 0, FONT_WIDTH, font_atlas.height, x+pos*dest_w, y, dest_w, dest_h, color);
- pos ++;
- string ++;
- }
- return (0);
-}
diff --git a/minilibx_beta/mlx_window.swift b/minilibx_beta/mlx_window.swift
deleted file mode 100644
index 0b578d8..0000000
--- a/minilibx_beta/mlx_window.swift
+++ /dev/null
@@ -1,541 +0,0 @@
-
-import Cocoa
-import Metal
-import MetalKit
-import Darwin
-
-import mlx_image
-
-
-class WinEvent: NSWindow
-{
- var eventFuncts = [UnsafeMutableRawPointer?]()
- var eventParams = [UnsafeMutableRawPointer]()
-
- var keyrepeat = 1
- var keyflag:UInt32 = 0
-
- var size_y:Int
-
- init(frame rect:CGRect)
- {
- for _ in 0...31
- {
- eventFuncts.append(Optional.none)
- eventParams.append(UnsafeMutableRawPointer(&keyrepeat)) /// dummy address here, null not needed
- }
-
- let wsm = NSWindow.StyleMask(rawValue: NSWindow.StyleMask.titled.rawValue|NSWindow.StyleMask.closable.rawValue|NSWindow.StyleMask.miniaturizable.rawValue)
- let bck = NSWindow.BackingStoreType.buffered
- size_y = Int(rect.size.height)
- super.init(contentRect: rect, styleMask: wsm, backing: bck, defer: false)
- }
-
- func setNotifs()
- {
- NotificationCenter.default.addObserver(self, selector: #selector(exposeNotification(_:)), name: NSWindow.didBecomeKeyNotification, object: nil)
- NotificationCenter.default.addObserver(self, selector: #selector(deminiaturizeNotification(_:)), name: NSWindow.didDeminiaturizeNotification, object: nil)
- NotificationCenter.default.addObserver(self, selector: #selector(closeNotification(_:)), name: NSWindow.willCloseNotification, object: nil)
-
-/***
- [[NSNotificationCenter defaultCenter] addObserver:win selector:@selector(exposeNotification:) name:@"NSWindowDidBecomeKeyNotification" object:win];
- [[NSNotificationCenter defaultCenter] addObserver:win selector:@selector(deminiaturizeNotification:) name:@"NSWindowDidDeminiaturizeNotification" object:win];
- [[NSNotificationCenter defaultCenter] addObserver:win selector:@selector(closeNotification:) name:@"NSWindowWillCloseNotification" object:win];
-***/
-
- }
-
- func delNotifs()
- {
- NotificationCenter.default.removeObserver(self, name: NSWindow.willCloseNotification, object: nil)
- }
-
- public func setKeyRepeat(_ mode:Int)
- {
- keyrepeat = mode;
- }
-
-
- func addHook(index idx:Int, fct fptr:UnsafeMutableRawPointer?, param pptr:UnsafeMutableRawPointer)
- {
- eventFuncts[idx] = fptr;
- eventParams[idx] = pptr;
- if (idx == 6 || idx == 32)
- {
- if (fptr != nil) /// == nullptr)
- { self.acceptsMouseMovedEvents = true }
- else { self.acceptsMouseMovedEvents = false }
- }
- }
-
-
- override func keyDown(with event: NSEvent)
- {
- /// print("got keydown with code: \(event.keyCode) ")
- if (event.isARepeat && keyrepeat == 0)
- { return }
- if (eventFuncts[2] != nil)
- {
- _ = unsafeBitCast(eventFuncts[2],to:(@convention(c)(Int32, UnsafeRawPointer)->Int32).self)(Int32(event.keyCode), eventParams[2])
- }
- }
-
-
- override func keyUp(with event: NSEvent)
- {
- /// print("got keyup with code: \(event.keyCode) and calling key hook")
- if (event.isARepeat && keyrepeat == 0)
- { return }
- if (eventFuncts[3] != nil)
- {
- _ = unsafeBitCast(eventFuncts[3],to:(@convention(c)(Int32, UnsafeRawPointer)->Int32).self)(Int32(event.keyCode), eventParams[3])
- }
- }
-
-
- func get_mouse_button(with ev:NSEvent) -> Int
- {
- switch (ev.type) {
- case NSEvent.EventType.leftMouseDown,
- NSEvent.EventType.leftMouseUp,
- NSEvent.EventType.leftMouseDragged:
- return 1;
- case NSEvent.EventType.rightMouseDown,
- NSEvent.EventType.rightMouseUp,
- NSEvent.EventType.rightMouseDragged:
- return 2;
- case NSEvent.EventType.otherMouseDown,
- NSEvent.EventType.otherMouseUp,
- NSEvent.EventType.otherMouseDragged:
- return 3;
- default:
- return 0;
- }
- }
-
-
-
- func mouse(with event: NSEvent, index idx:Int, type t:Int)
- {
- var thepoint:NSPoint
- var button:Int
-
- thepoint = event.locationInWindow
- button = get_mouse_button(with:event)
- /// button = event.buttonNumber
- /// print(" mouse down button \(event.buttonNumber) at location \(thepoint.x) x \(thepoint.y)")
- if (eventFuncts[idx] != nil)
- {
- if (t == 0)
- { _ = unsafeBitCast(eventFuncts[idx],to:(@convention(c)(Int32, Int32, Int32, UnsafeRawPointer)->Int32).self)(Int32(button), Int32(thepoint.x), Int32(size_y-1-Int(thepoint.y)), eventParams[idx]) }
- if (t == 1)
- { _ = unsafeBitCast(eventFuncts[idx],to:(@convention(c)(Int32, Int32, UnsafeRawPointer)->Int32).self)(Int32(thepoint.x), Int32(size_y-1-Int(thepoint.y)), eventParams[idx]) }
- }
- }
-
- override func mouseDown(with event: NSEvent) { mouse(with:event, index:4, type:0) }
- override func rightMouseDown(with event: NSEvent) { mouse(with:event, index:4, type:0) }
- override func otherMouseDown(with event: NSEvent) { mouse(with:event, index:4, type:0) }
-
- override func mouseUp(with event: NSEvent) { mouse(with:event, index:5, type:0) }
- override func rightMouseUp(with event: NSEvent) { mouse(with:event, index:5, type:0) }
- override func otherMouseUp(with event: NSEvent) { mouse(with:event, index:5, type:0) }
-
- override func mouseMoved(with event: NSEvent) { mouse(with:event, index:6, type:1) }
- override func mouseDragged(with event: NSEvent) { mouse(with:event, index:6, type:1) }
- override func rightMouseDragged(with event: NSEvent) { mouse(with:event, index:6, type:1) }
- override func otherMouseDragged(with event: NSEvent) { mouse(with:event, index:6, type:1) }
-
-
- override func scrollWheel(with event: NSEvent)
- {
- var thepoint:NSPoint
- var button = 0;
-
- thepoint = event.locationInWindow
- if (event.deltaY > 0.2) { button = 4; }
- if (event.deltaY < -0.2) { button = 5; }
- if (event.deltaX > 0.2) { button = 6; }
- if (event.deltaX < -0.2) { button = 7; }
- if (button != 0 && eventFuncts[4] != nil)
- {
- _ = unsafeBitCast(eventFuncts[4],to:(@convention(c)(Int32, Int32, Int32, UnsafeRawPointer)->Int32).self)(Int32(button), Int32(thepoint.x), Int32(thepoint.y), eventParams[4])
- }
- }
-
-
- override func flagsChanged(with event: NSEvent)
- {
- var flag:UInt32
- var the_key:Int32
- var val:UInt32
-
- flag = UInt32(event.modifierFlags.rawValue)
- val = (keyflag|flag)&(~(keyflag&flag))
- if (val == 0)
- { return } /// no change - can happen when loosing focus on special key pressed, then re-pressed later
- the_key = 1
- while (((val >> (the_key-1)) & 0x01)==0)
- { the_key += 1 }
- if (flag > keyflag && eventFuncts[2] != nil)
- { _ = unsafeBitCast(eventFuncts[2],to:(@convention(c)(Int32, UnsafeRawPointer)->Int32).self)(0xFF+the_key, eventParams[2]) }
- if (flag < keyflag && eventFuncts[3] != nil)
- { _ = unsafeBitCast(eventFuncts[3],to:(@convention(c)(Int32, UnsafeRawPointer)->Int32).self)(0xFF+the_key, eventParams[3]) }
- keyflag = flag
- }
-
-
- @objc func exposeNotification(_ notification:Notification)
- {
- if (eventFuncts[12] != nil)
- {
- _ = unsafeBitCast(eventFuncts[12],to:(@convention(c)(UnsafeRawPointer)->Int32).self)(eventParams[12])
- }
- }
-
- @objc func closeNotification(_ notification:Notification)
- {
- if (eventFuncts[17] != nil)
- {
- _ = unsafeBitCast(eventFuncts[17],to:(@convention(c)(UnsafeRawPointer)->Int32).self)(eventParams[17])
- }
- }
-
- @objc func deminiaturizeNotification(_ notification:Notification)
- {
- exposeNotification(notification)
- }
-
-}
-
-
-
-
-
-struct textureList
-{
- var uniformBuffer: MTLBuffer!
- var uniform_data:UnsafeMutablePointer<Float>
- unowned var image:MlxImg
-}
-
-
-public class MlxWin
-{
- let vrect: CGRect
- var winE: WinEvent
- var mlayer: CAMetalLayer
-
- unowned var device: MTLDevice
- var commandQueue: MTLCommandQueue!
- var pipelineState: MTLRenderPipelineState!
- var vertexBuffer: MTLBuffer!
-
- var texture_list: Array<textureList> = Array()
- var texture_list_count = 0
-
- var pixel_image:MlxImg
- var pixel_count:Int
-
- var drawable_image: MlxImg
- var uniq_renderPassDescriptor: MTLRenderPassDescriptor
- var mtl_origin_null : MTLOrigin
- var mtl_size_all : MTLSize
- var doClear = false
- var GPUbatch = 0
-
-
- public init(device d:MTLDevice, width w:Int, height h:Int, title t:String)
- {
- vrect = CGRect(x: 100, y: 100, width: w, height: h)
- winE = WinEvent(frame: vrect)
-
- device = d
- mlayer = CAMetalLayer()
- mlayer.device = device
- mlayer.pixelFormat = .bgra8Unorm
- mlayer.framebufferOnly = true
- mlayer.contentsScale = 1.0 /// winE.screen!.backingScaleFactor
- mlayer.frame = vrect
- winE.contentView! = NSView(frame: vrect)
- winE.contentView!.wantsLayer = true
- winE.contentView!.layer = mlayer
- winE.title = t
- winE.isReleasedWhenClosed = false
- winE.makeKeyAndOrderFront(nil)
-
-
- /// drawable_image = MlxImg(d: device, w:Int(CGFloat(vrect.size.width)*winE.screen!.backingScaleFactor), h:Int(CGFloat(vrect.size.height)*winE.screen!.backingScaleFactor), t:1)
- drawable_image = MlxImg(d: device, w:Int(vrect.size.width), h:Int(vrect.size.height), t:1)
- pixel_image = MlxImg(d: device, w:Int(vrect.size.width), h:Int(vrect.size.height))
- for i in 0...(pixel_image.texture_height*pixel_image.texture_sizeline/4-1)
- { pixel_image.texture_data[i] = UInt32(0xFF000000) }
- pixel_count = 0
-
- mtl_origin_null = MTLOriginMake(0,0,0)
- mtl_size_all = MTLSizeMake(drawable_image.texture.width, drawable_image.texture.height, 1)
-
- uniq_renderPassDescriptor = MTLRenderPassDescriptor()
- uniq_renderPassDescriptor.colorAttachments[0].clearColor = MTLClearColor(red: 0.0, green: 0.0, blue: 0.0, alpha:0.0)
- uniq_renderPassDescriptor.colorAttachments[0].texture = drawable_image.texture
- uniq_renderPassDescriptor.colorAttachments[0].storeAction = .store
- uniq_renderPassDescriptor.colorAttachments[0].loadAction = .load
- }
-
-
-/// winEvent calls
- public func getWinEFrame() -> NSRect { return winE.frame }
- public func getScreenFrame() -> NSRect { return winE.screen!.frame }
- public func getMouseLoc() -> NSPoint { return winE.mouseLocationOutsideOfEventStream }
- public func addHook(index idx:Int, fct fptr:UnsafeMutableRawPointer, param pptr:UnsafeMutableRawPointer)
- { winE.addHook(index: idx, fct: fptr, param: pptr) }
- public func setKeyRepeat(_ mode:Int) { winE.setKeyRepeat(mode) }
- public func destroyWinE() { winE.close() }
- public func setNotifs() { winE.setNotifs() }
- public func delNotifs() { winE.delNotifs() }
-
-
- public func initMetal()
- {
- commandQueue = device.makeCommandQueue()!
-
- /// vertex buffer & shaders stay the always the same.
- let lib = try! device.makeLibrary(source: shaders, options: nil)
- let vertexFunction = lib.makeFunction(name: "basic_vertex_function")
- let fragmentFunction = lib.makeFunction(name: "basic_fragment_function")
- let pipelineDesc = MTLRenderPipelineDescriptor()
- pipelineDesc.colorAttachments[0].pixelFormat = .bgra8Unorm
- pipelineDesc.colorAttachments[0].isBlendingEnabled = true
- pipelineDesc.colorAttachments[0].rgbBlendOperation = .add
- pipelineDesc.colorAttachments[0].alphaBlendOperation = .add
- pipelineDesc.colorAttachments[0].sourceRGBBlendFactor = .oneMinusSourceAlpha
- pipelineDesc.colorAttachments[0].sourceAlphaBlendFactor = .oneMinusSourceAlpha
- pipelineDesc.colorAttachments[0].destinationRGBBlendFactor = .sourceAlpha
- pipelineDesc.colorAttachments[0].destinationAlphaBlendFactor = .sourceAlpha
- pipelineDesc.vertexFunction = vertexFunction
- pipelineDesc.fragmentFunction = fragmentFunction
- pipelineState = try! device.makeRenderPipelineState(descriptor: pipelineDesc)
-
- let vertexData: [Float] = [
- -1.0, -1.0, 0.0, 1.0, 0.0, 1.0, 0.0, 0.0,
- -1.0, 1.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0,
- 1.0, -1.0, 0.0, 1.0, 1.0, 1.0, 0.0, 0.0,
- 1.0, -1.0, 0.0, 1.0, 1.0, 1.0, 0.0, 0.0,
- -1.0, 1.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0,
- 1.0, 1.0, 0.0, 1.0, 1.0, 0.0, 0.0, 0.0 ]
- var dataSize = vertexData.count * MemoryLayout.size(ofValue: vertexData[0])
- vertexBuffer = device.makeBuffer(bytes: vertexData, length: dataSize, options: [])
-
- let uniformData: [Float] = [ 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, Float(vrect.size.width), Float(vrect.size.height), 0.0, 0.0, 0.0, 0.0,
- 1.0, 1.0, 1.0, 1.0 ]
- dataSize = uniformData.count * MemoryLayout.size(ofValue: uniformData[0])
- for _ in 0...255
- {
- let uniformBuffer = device.makeBuffer(bytes: uniformData, length: dataSize, options: [])!
- let uniform_data = (uniformBuffer.contents()).assumingMemoryBound(to:Float.self)
- texture_list.append(textureList(uniformBuffer:uniformBuffer, uniform_data:uniform_data, image:pixel_image))
- }
-
- self.clearWin();
- }
-
-
- public func clearWin()
- {
- /// discard previous put_images, doClear become first operation in next render pass.
- var i = 0
- while i < texture_list_count
- {
- texture_list[i].image.onGPU -= 1
- i += 1
- }
- texture_list_count = 0
- doClear = true
- /// next flush images should call draw(), even if there is no image to put
- }
-
- func flushPixels()
- {
- if (pixel_count > 0)
- {
- pixel_count = 0
- self.putImage(image:pixel_image, x:0, y:0)
- }
- }
-
- public func flushImages()
- {
- flushPixels()
- if (texture_list_count > 0 || doClear)
- {
- self.draw()
- }
- }
-
- public func waitForGPU()
- {
- while (GPUbatch > 0) { }
- }
-
-
- public func pixelPut(_ x:Int32, _ y:Int32, _ color:UInt32)
- {
- if (pixel_count == 0)
- {
- while (pixel_image.onGPU > 0)
- {
- if (GPUbatch > 0) { waitForGPU() }
- else { flushImages() }
- }
- for i in 0...pixel_image.texture_height*pixel_image.texture_sizeline/4-1
- { pixel_image.texture_data[i] = UInt32(0xFF000000) }
- }
- let t = (x&(Int32(vrect.size.width-1)-x))&(y&(Int32(vrect.size.height-1)-y))
- if t >= 0
- {
- pixel_image.texture_data[Int(y)*pixel_image.texture_sizeline/4+Int(x)] = color
- pixel_count += 1
- }
- }
-
- public func putImage(image img:MlxImg, x posx:Int32, y posy:Int32)
- {
- flushPixels()
- putImageScale(image:img, sx:0, sy:0, sw:Int32(img.texture_width), sh:Int32(img.texture_height),
- dx:posx, dy:posy, dw:Int32(img.texture_width), dh:Int32(img.texture_height),
- c:UInt32(0xFFFFFFFF))
- }
-
- public func putImageScale(image img:MlxImg, sx src_x:Int32, sy src_y:Int32, sw src_w:Int32, sh src_h:Int32, dx dest_x:Int32, dy dest_y:Int32, dw dest_w:Int32, dh dest_h:Int32, c color:UInt32)
- {
- flushPixels()
- if (texture_list_count == 0) /// means I just draw
- {
- waitForGPU() /// to be able to write again in uniforms
- }
- texture_list[texture_list_count].uniform_data[0] = Float(img.texture_width)
- texture_list[texture_list_count].uniform_data[1] = Float(img.texture_height)
- texture_list[texture_list_count].uniform_data[2] = Float(src_x)
- texture_list[texture_list_count].uniform_data[3] = Float(src_y)
- texture_list[texture_list_count].uniform_data[4] = Float(src_w)
- texture_list[texture_list_count].uniform_data[5] = Float(src_h)
-
- texture_list[texture_list_count].uniform_data[8] = Float(dest_x)
- texture_list[texture_list_count].uniform_data[9] = Float(dest_y)
- texture_list[texture_list_count].uniform_data[10] = Float(dest_w)
- texture_list[texture_list_count].uniform_data[11] = Float(dest_h)
-
- texture_list[texture_list_count].uniform_data[12] = Float((color>>16)&0xFF)/255.0;
- texture_list[texture_list_count].uniform_data[13] = Float((color>>8)&0xFF)/255.0;
- texture_list[texture_list_count].uniform_data[14] = Float((color>>0)&0xFF)/255.0;
- texture_list[texture_list_count].uniform_data[15] = Float((color>>24)&0xFF)/255.0;
-
- texture_list[texture_list_count].image = img
- img.onGPU += 1
-
- texture_list_count += 1
- if (texture_list_count == 255) /// keep 1 slot for put_pixels image
- {
- flushImages()
- }
- }
-
-
- func draw()
- {
- var commandBuffer = commandQueue.makeCommandBuffer()!
-
-/// clear if asked
- if (doClear)
- {
- uniq_renderPassDescriptor.colorAttachments[0].loadAction = .clear
- let commandEncoder = commandBuffer.makeRenderCommandEncoder(descriptor: uniq_renderPassDescriptor)!
- commandEncoder.endEncoding()
- uniq_renderPassDescriptor.colorAttachments[0].loadAction = .load
- doClear = false
- }
-
-/// then draw the images if any.
- var i = 0
- while i < texture_list_count
- {
- let commandEncoder = commandBuffer.makeRenderCommandEncoder(descriptor: uniq_renderPassDescriptor)!
- commandEncoder.setRenderPipelineState(pipelineState)
- commandEncoder.setVertexBuffer(vertexBuffer, offset: 0, index: 0)
- commandEncoder.setVertexBuffer(texture_list[i].uniformBuffer, offset: 0, index: 1)
- commandEncoder.setFragmentTexture(texture_list[i].image.texture, index: 0)
- commandEncoder.drawPrimitives(type: .triangleStrip, vertexStart: 0, vertexCount: 6, instanceCount:2)
- commandEncoder.endEncoding()
- ({ j in
- commandBuffer.addCompletedHandler { cb in self.texture_list[j].image.onGPU -= 1 }
- })(i)
- i += 1
- }
- texture_list_count = 0
- commandBuffer.addCompletedHandler { cb in self.GPUbatch -= 1 }
- commandBuffer.commit()
- GPUbatch += 1
-
-/// finally copy to MTLdrawable to present, using a new commandqueue
- commandBuffer = commandQueue.makeCommandBuffer()!
- let curdraw = mlayer.nextDrawable()!
-
- let commandBEncoder = commandBuffer.makeBlitCommandEncoder()!
- commandBEncoder.copy(from:drawable_image.texture, sourceSlice:0, sourceLevel:0, sourceOrigin: mtl_origin_null, sourceSize: mtl_size_all, to:curdraw.texture, destinationSlice:0, destinationLevel:0, destinationOrigin: mtl_origin_null)
- commandBEncoder.endEncoding()
-
- commandBuffer.addCompletedHandler { cb in self.GPUbatch -= 1 }
- commandBuffer.present(curdraw)
- commandBuffer.commit()
- GPUbatch += 1
- }
-
-
-}
-
-
-
-
-let shaders = """
-#include <metal_stdlib>
-using namespace metal;
-
-struct VertexIn {
- float4 position;
- float4 UV;
-};
-struct VertexOut {
- float4 position [[ position ]];
- float4 color;
- float2 UV;
-};
-struct uniforms {
- packed_float2 origin_size;
- packed_float2 origin_pos;
- packed_float2 origin_sub;
- packed_float2 dest_size;
- packed_float2 dest_pos;
- packed_float2 dest_sub;
- packed_float4 color;
-};
-vertex VertexOut basic_vertex_function(const device VertexIn *vertices [[ buffer(0) ]], constant uniforms& uni [[ buffer(1) ]],
-uint vertexID [[ vertex_id ]])
-{
- VertexOut vOut;
- float4 start = float4((2.0*uni.dest_pos.x)/(uni.dest_size.x-1.0) - 1.0, 1.0 - (2.0*uni.dest_pos.y)/(uni.dest_size.y-1.0) - (uni.dest_sub.y*2.0)/uni.dest_size.y, 0.0, 0.0);
- /* vOut.position = (start + (vertices[vertexID].position + 1.0) * float4(uni.dest_sub, 0.0, 0.0))/float4(uni.dest_size, 1.0, 1.0); */
-
- vOut.position = float4(start.x+((vertices[vertexID].position.x + 1.0)*uni.dest_sub.x)/(uni.dest_size.x),
- start.y+((vertices[vertexID].position.y + 1.0)*uni.dest_sub.y)/(uni.dest_size.y), 0.0, 1.0);
-
- vOut.UV = (uni.origin_pos + float2(vertices[vertexID].UV.x, vertices[vertexID].UV.y)*(uni.origin_sub-1.0))/(uni.origin_size-1.0);
- vOut.color = uni.color;
- return vOut;
-}
-fragment float4 basic_fragment_function(VertexOut vIn [[ stage_in ]], texture2d<float> texture [[ texture(0) ]])
-{
- constexpr sampler textureSampler(address::clamp_to_edge);
- return vIn.color*texture.sample(textureSampler, vIn.UV);
-}
-"""
-
diff --git a/minilibx_beta/mlx_window.swiftdoc b/minilibx_beta/mlx_window.swiftdoc
deleted file mode 100644
index 71bb8c8..0000000
--- a/minilibx_beta/mlx_window.swiftdoc
+++ /dev/null
Binary files differ
diff --git a/minilibx_beta/mlx_window.swiftmodule b/minilibx_beta/mlx_window.swiftmodule
deleted file mode 100644
index 8f3f8a3..0000000
--- a/minilibx_beta/mlx_window.swiftmodule
+++ /dev/null
Binary files differ
diff --git a/minilibx_beta/mlx_xpm.c b/minilibx_beta/mlx_xpm.c
deleted file mode 100644
index 25fdafe..0000000
--- a/minilibx_beta/mlx_xpm.c
+++ /dev/null
@@ -1,384 +0,0 @@
-// mlx xpm
-// by ol
-
-#include <stdlib.h>
-#include <stdio.h>
-#include <sys/mman.h>
-#include <unistd.h>
-#include <fcntl.h>
-#include <string.h>
-
-#include "mlx.h"
-
-typedef struct s_xpm_col
-{
- int name;
- int col;
-} t_xpm_col;
-
-
-struct s_col_name
-{
- char *name;
- int color;
-};
-
-//extern struct s_col_name mlx_col_name[];
-#include "mlx_rgb.c"
-
-
-#define RETURN { if (colors) free(colors); if (tab) free(tab); \
- if (colors_direct) free(colors_direct); \
- if (img) mlx_destroy_image(xvar, img); \
- return ((void *)0); }
-
-
-
-
-//
-// str 2 wordtab & co
-
-int mlx_int_str_str(char *str,char *find,int len)
-{
- int len_f;
- int pos;
- char *s;
- char *f;
-
- len_f = strlen(find);
- if (len_f>len)
- return (-1);
- pos = 0;
- while (*(str+len_f-1))
- {
- s = str;
- f = find;
- while (*(f++) == *(s++))
- if (!*f)
- return (pos);
- str ++;
- pos ++;
- }
- return (-1);
-}
-
-
-
-int mlx_int_str_str_cote(char *str,char *find,int len)
-{
- int len_f;
- int pos;
- char *s;
- char *f;
- int cote;
-
- len_f = strlen(find);
- if (len_f>len)
- return (-1);
- cote = 0;
- pos = 0;
- while (*(str+len_f-1))
- {
- if (*str=='"')
- cote = 1-cote;
- if (!cote)
- {
- s = str;
- f = find;
- while (*(f++) == *(s++))
- if (!*f)
- return (pos);
- }
- str ++;
- pos ++;
- }
- return (-1);
-}
-
-
-char **mlx_int_str_to_wordtab(char *str)
-{
- char **tab;
- int pos;
- int nb_word;
- int len;
-
- len = strlen(str);
- nb_word = 0;
- pos = 0;
- while (pos<len)
- {
- while (*(str+pos)==' ' || *(str+pos)=='\t')
- pos ++;
- if (*(str+pos))
- nb_word ++;
- while (*(str+pos) && *(str+pos)!=' ' && *(str+pos)!='\t')
- pos ++;
- }
- if (!(tab = malloc((1+nb_word)*sizeof(*tab))))
- return ((char **)0);
- nb_word = 0;
- pos = 0;
- while (pos<len)
- {
- while (*(str+pos)==' ' || *(str+pos)=='\t')
- {
- *(str+pos) = 0;
- pos ++;
- }
- if (*(str+pos))
- {
- tab[nb_word] = str+pos;
- nb_word ++;
- }
- while (*(str+pos) && *(str+pos)!=' ' && *(str+pos)!='\t')
- pos ++;
- }
- tab[nb_word] = 0;
- return (tab);
-}
-
-
-// back to mlx_xpm
-
-
-
-char *mlx_int_get_line(char *ptr,int *pos,int size)
-{
- int pos2;
- int pos3;
- int pos4;
-
- if ((pos2 = mlx_int_str_str(ptr+*pos,"\"",size-*pos))==-1)
- return ((char *)0);
- if ((pos3 = mlx_int_str_str(ptr+*pos+pos2+1,"\"",size-*pos-pos2-1))==-1)
- return ((char *)0);
- *(ptr+*pos+pos2) = 0;
- *(ptr+*pos+pos2+1+pos3) = 0;
- pos4 = *pos+pos2+1;
- *pos += pos2+pos3+2;
- return (ptr+pos4);
-}
-
-
-
-char *mlx_int_static_line(char **xpm_data,int *pos,int size)
-{
- static char *copy = 0;
- static int len = 0;
- int len2;
- char *str;
-
- str = xpm_data[(*pos)++];
- if ((len2 = strlen(str))>len)
- {
- if (copy)
- free(copy);
- if (!(copy = malloc(len2+1)))
- return ((char *)0);
- len = len2;
- }
- /* strcpy(copy,str); */
- strlcpy(copy, str, len2+1);
- return (copy);
-}
-
-
-int mlx_int_get_col_name(char *str,int size)
-{
- int result;
-
- result = 0;
- while (size--)
- result = (result<<8)+*(str++);
- return (result);
-}
-
-int mlx_int_get_text_rgb(char *name, char *end)
-{
- int i;
- char buff[64];
-
- if (*name == '#')
- return (strtol(name+1,0,16));
- if (end)
- {
- snprintf(buff, 64, "%s %s", name, end);
- name = buff;
- }
- i = 0;
- while (mlx_col_name[i].name)
- {
- if (!strcasecmp(mlx_col_name[i].name, name))
- return (mlx_col_name[i].color);
- i ++;
- }
- return (0);
-}
-
-
-void mlx_int_xpm_set_pixel(char *data, int opp, int col, int x)
-{
- *((unsigned int *)(data+4*x)) = col;
-}
-
-
-void *mlx_int_parse_xpm(void *xvar,void *info,int info_size,char *(*f)(), int *width, int *height)
-{
- int pos;
- char *line;
- char **tab;
- char *data;
- char *clip_data;
- int nc;
- int opp;
- int sl;
- int endian;
- int cpp;
- int col;
- int rgb_col;
- int col_name;
- int method;
- int x;
- int i;
- int j;
- void *img;
- t_xpm_col *colors;
- int *colors_direct;
-
- colors = 0;
- colors_direct = 0;
- img = 0;
- tab = 0;
- pos = 0;
- if (!(line = f(info,&pos,info_size)) ||
- !(tab = mlx_int_str_to_wordtab(line)) || !(*width = atoi(tab[0])) ||
- !(*height = atoi(tab[1])) || !(nc = atoi(tab[2])) ||
- !(cpp = atoi(tab[3])) )
- RETURN;
- free(tab);
- tab = 0;
-
- method = 0;
- if (cpp<=2)
- {
- method = 1;
- if (!(colors_direct = malloc((cpp==2?65536:256)*sizeof(int))))
- RETURN;
- }
- else
- if (!(colors = malloc(nc*sizeof(*colors))))
- RETURN;
-
- clip_data = 0;
-
- i = nc;
- while (i--)
- {
- if (!(line = f(info,&pos,info_size)) ||
- !(tab = mlx_int_str_to_wordtab(line+cpp)) )
- RETURN;
- j = 0;
- while (tab[j] && strcmp(tab[j++],"c"));
-
- if (!tab[j])
- RETURN;
-
- rgb_col = mlx_int_get_text_rgb(tab[j], tab[j+1]);
- if (method)
- colors_direct[mlx_int_get_col_name(line,cpp)] = rgb_col;
- else
- {
- colors[i].name = mlx_int_get_col_name(line,cpp);
- colors[i].col = rgb_col;
- }
- free(tab);
- tab = 0;
- }
-
- if (!(img = mlx_new_image(xvar,*width,*height)))
- RETURN;
- data = mlx_get_data_addr(img, &opp, &sl, &endian);
- opp = 4;
-
- i = *height;
- while (i--)
- {
- if (!(line = f(info,&pos,info_size)))
- RETURN;
- x = 0;
- while (x<*width)
- {
- col = 0;
- col_name = mlx_int_get_col_name(line+cpp*x,cpp);
- if (method)
- col = colors_direct[col_name];
- else
- {
- j = nc;
- while (j--)
- if (colors[j].name==col_name)
- {
- col = colors[j].col;
- j = 0;
- }
- }
- if (col==-1)
- col = 0xFF000000;
- mlx_int_xpm_set_pixel(data, opp, col, x);
- x ++;
- }
- data += sl; //img->width*4;
- }
- if (colors)
- free(colors);
- if (colors_direct)
- free(colors_direct);
- return (img);
-}
-
-
-void mlx_int_file_get_rid_comment(char *ptr, int size)
-{
- int com_begin;
- int com_end;
-
- while ((com_begin = mlx_int_str_str_cote(ptr,"/*",size))!=-1)
- {
- com_end = mlx_int_str_str(ptr+com_begin+2,"*/",size-com_begin-2);
- memset(ptr+com_begin,' ',com_end+4);
- }
- while ((com_begin = mlx_int_str_str_cote(ptr,"//",size))!=-1)
- {
- com_end = mlx_int_str_str(ptr+com_begin+2,"\n",size-com_begin-2);
- memset(ptr+com_begin,' ',com_end+3);
- }
-}
-
-
-void *mlx_xpm_file_to_image(void *xvar,char *file,int *width,int *height)
-{
- int fd;
- int size;
- char *ptr;
- void *img;
-
- if ((fd = open(file,O_RDONLY))==-1 || (size = lseek(fd,0,SEEK_END))==-1 ||
- (ptr = mmap(0,size,PROT_WRITE|PROT_READ,MAP_PRIVATE,fd,0))==
- (void *)MAP_FAILED)
- {
- if (fd>=0)
- close(fd);
- return ((void *)0);
- }
- mlx_int_file_get_rid_comment(ptr, size);
- img = mlx_int_parse_xpm(xvar,ptr,size,mlx_int_get_line, width, height);
- munmap(ptr,size);
- close(fd);
- return (img);
-}
-
-void *mlx_xpm_to_image(void *xvar,char **xpm_data,int *width,int *height)
-{
- return (mlx_int_parse_xpm(xvar,xpm_data,0,mlx_int_static_line, width, height));
-}