From 99d5ca248c190edd801e2709c8e11a3290fb979d Mon Sep 17 00:00:00 2001 From: Martin Pulec Date: Mon, 7 Apr 2014 11:18:43 +0200 Subject: [PATCH 01/27] Support for arbitrary PAM overlay logo --- share/logo_cesnet.pam | Bin 0 -> 233605 bytes src/capture_filter/logo.c | 166 - src/capture_filter/logo.cpp | 236 ++ src/cesnet-logo-2.c | 7332 ----------------------------------- 4 files changed, 236 insertions(+), 7498 deletions(-) create mode 100644 share/logo_cesnet.pam delete mode 100644 src/capture_filter/logo.c create mode 100644 src/capture_filter/logo.cpp delete mode 100644 src/cesnet-logo-2.c diff --git a/share/logo_cesnet.pam b/share/logo_cesnet.pam new file mode 100644 index 0000000000000000000000000000000000000000..9d891eee8308fb30db363b1796b2d3e3b302d039 GIT binary patch literal 233605 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 PR`44S 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 WT>m#-Z1WW5v>n)LTLmhL0{;(`6#Y&B literal 0 HcmV?d00001 diff --git a/src/capture_filter/logo.c b/src/capture_filter/logo.c deleted file mode 100644 index 44ca38efc..000000000 --- a/src/capture_filter/logo.c +++ /dev/null @@ -1,166 +0,0 @@ -/** - * @file capture_filter/logo.c - * @author Martin Pulec - */ -/* - * Copyright (c) 2013 CESNET z.s.p.o. - * All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, is permitted provided that the following conditions - * are met: - * - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * - * 3. Neither the name of CESNET nor the names of its contributors may be - * used to endorse or promote products derived from this software without - * specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE AUTHORS AND CONTRIBUTORS - * "AS IS" AND ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, - * BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY - * AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO - * EVENT SHALL THE AUTHORS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, - * INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES - * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR - * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN - * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR - * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, - * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - */ - -#ifdef HAVE_CONFIG_H -#include "config.h" -#include "config_unix.h" -#include "config_win32.h" -#endif /* HAVE_CONFIG_H */ - -#include "src/cesnet-logo-2.c" -#include "capture_filter.h" - -#include "debug.h" - -#include "video.h" -#include "video_codec.h" - -struct state_capture_filter_logo { - int x, y; -}; - -static int init(struct module *parent, const char *cfg, void **state); -static void done(void *state); -static struct video_frame *filter(void *state, struct video_frame *in); - -static int init(struct module *parent, const char *cfg, void **state) -{ - UNUSED(parent); - struct state_capture_filter_logo *s = (struct state_capture_filter_logo *) - calloc(1, sizeof(struct state_capture_filter_logo)); - - s->x = s->y = -1; - - if (cfg) { - if (strcasecmp(cfg, "help") == 0) { - printf("Draws overlay logo over video:\n\n"); - printf("'logo' usage:\n"); - printf("\tlogo[:[:]]\n\n"); - free(s); - return 1; - } - char *tmp = strdup(cfg); - char *save_ptr = NULL; - char *item; - if ((item = strtok_r(tmp, ":", &save_ptr))) { - s->x = atoi(item); - if ((item = strtok_r(NULL, ":", &save_ptr))) { - s->y = atoi(item); - } - } - free(tmp); - } - - *state = s; - return 0; -} - -static void done(void *state) -{ - free(state); -} - -static struct video_frame *filter(void *state, struct video_frame *in) -{ - struct state_capture_filter_logo *s = (struct state_capture_filter_logo *) - state; - const int width = cesnet_logo.width; - const int height = cesnet_logo.height; - int linesize = width * 3; - decoder_t decoder, coder; - decoder = get_decoder_from_to(in->color_spec, RGB, true); - coder = get_decoder_from_to(RGB, in->color_spec, true); - int rect_x = s->x; - int rect_y = s->y; - - if (decoder == NULL || coder == NULL) - return in; - - if (rect_x < 0 || rect_x + width > (int) in->tiles[0].width) { - rect_x = in->tiles[0].width - width; - } - rect_x = (rect_x / get_pf_block_size(in->color_spec)) * get_pf_block_size(in->color_spec); - - if (rect_y < 0 || rect_y + height > (int) in->tiles[0].height) { - rect_y = in->tiles[0].height - height; - } - - if (rect_x < 0 || rect_y < 0) - return in; - - unsigned char *segment = (unsigned char *) malloc(width * height * 3); - - for (int y = 0; y < height; ++y) { - decoder(segment + y * linesize, (unsigned char *) in->tiles[0].data + (y + rect_y) * - vc_get_linesize(in->tiles[0].width, in->color_spec) + - vc_get_linesize(rect_x, in->color_spec), linesize, - 0, 8, 16); - } - - unsigned char *image_data = segment; - const unsigned char *overlay_data = cesnet_logo.pixel_data; - for (int y = 0; y < height; ++y) { - for (int x = 0; x < width; ++x) { - int alpha = overlay_data[3]; - for (int i = 0; i < 3; ++i) { - *image_data = (*image_data * (255 - alpha) + *overlay_data++ * alpha) / 255; - image_data++; - } - overlay_data++; // skip alpha - } - } - - for (int y = 0; y < height; ++y) { - coder((unsigned char *) in->tiles[0].data + (rect_y + y) * - vc_get_linesize(in->tiles[0].width, in->color_spec) + - vc_get_linesize(rect_x, in->color_spec), - segment + y * linesize, - vc_get_linesize(width, in->color_spec), 0, 8, 16); - } - - free(segment); - - return in; -} - -struct capture_filter_info capture_filter_logo = { - .name = "logo", - .init = init, - .done = done, - .filter = filter, -}; - diff --git a/src/capture_filter/logo.cpp b/src/capture_filter/logo.cpp new file mode 100644 index 000000000..9aecf8061 --- /dev/null +++ b/src/capture_filter/logo.cpp @@ -0,0 +1,236 @@ +/** + * @file capture_filter/logo.c + * @author Martin Pulec + */ +/* + * Copyright (c) 2013 CESNET z.s.p.o. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, is permitted provided that the following conditions + * are met: + * + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * + * 3. Neither the name of CESNET nor the names of its contributors may be + * used to endorse or promote products derived from this software without + * specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE AUTHORS AND CONTRIBUTORS + * "AS IS" AND ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, + * BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY + * AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO + * EVENT SHALL THE AUTHORS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, + * INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR + * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, + * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +#ifdef HAVE_CONFIG_H +#include "config.h" +#include "config_unix.h" +#include "config_win32.h" +#endif /* HAVE_CONFIG_H */ + +#include +#include + +#include "capture_filter.h" + +#include "debug.h" + +#include "video.h" +#include "video_codec.h" + +struct state_capture_filter_logo { + unsigned char *logo; + unsigned int width, height; + int x, y; +}; + +static int init(struct module *parent, const char *cfg, void **state); +static void done(void *state); +static struct video_frame *filter(void *state, struct video_frame *in); + +using namespace std; + +static bool load_logo_data_from_file(struct state_capture_filter_logo *s, const char *filename) { + try { + string line; + ifstream file(filename, ifstream::in | ifstream::binary); + + file.exceptions(ifstream::failbit | ifstream::badbit ); + + getline(file, line); + if (!file.good() || line != "P7") { + throw string("Only logo in PAM format is currently supported."); + } + getline(file, line); + while (!file.eof()) { + if (line.compare(0, strlen("WIDTH"), "WIDTH") == 0) { + s->width = atoi(line.c_str() + strlen("WIDTH ")); + } else if (line.compare(0, strlen("HEIGHT"), "HEIGHT") == 0) { + s->height = atoi(line.c_str() + strlen("HEIGHT ")); + } else if (line.compare(0, strlen("DEPTH"), "DEPTH") == 0) { + if (atoi(line.c_str() + strlen("DEPTH ")) != 4) { + throw string("Only depth 4 is supported."); + } + } else if (line.compare(0, strlen("MAXVAL"), "MAXVAL") == 0) { + if (atoi(line.c_str() + strlen("MAXVAL ")) != 255) { + throw string("Only supported maxval is 255."); + } + } else if (line.compare(0, strlen("TUPLETYPE"), "MAXVAL") == 0) { + if (line.compare("TUPLTYPE RGB_ALPHA") != 0) { + throw string("Only supported tuple type is RGBA_APLHA."); + } + } else if (line.compare(0, strlen("ENDHDR"), "ENDHDR") == 0) { + break; + } + getline(file, line); + } + int datalen = 4 * s->width * s->height; + s->logo = (unsigned char *) malloc(datalen); + file.read((char *) s->logo, datalen); + if (file.eof()) { + throw string("Unable to load logo data from file."); + } + file.close(); + } catch (string const & s) { + cerr << s << endl; + return false; + } catch (exception const & e) { + cerr << e.what() << endl; + return false; + } catch (...) { + return false; + } + + return true; +} + +static int init(struct module *parent, const char *cfg, void **state) +{ + UNUSED(parent); + struct state_capture_filter_logo *s = (struct state_capture_filter_logo *) + calloc(1, sizeof(struct state_capture_filter_logo)); + + s->x = s->y = -1; + + if (!cfg || strcasecmp(cfg, "help") == 0) { + printf("Draws overlay logo over video:\n\n"); + printf("'logo' usage:\n"); + printf("\tlogo:[:[:]]\n"); + printf("\t\t - is path to logo to be added in PAM format with alpha\n"); + free(s); + return 1; + } + char *tmp = strdup(cfg); + char *save_ptr = NULL; + char *item; + if ((item = strtok_r(tmp, ":", &save_ptr)) == NULL) { + fprintf(stderr, "File name with logo required!\n"); + return -1; + } + + if (!load_logo_data_from_file(s, item)) { + free(s); + return -1; + } + + if ((item = strtok_r(tmp, ":", &save_ptr))) { + s->x = atoi(item); + if ((item = strtok_r(NULL, ":", &save_ptr))) { + s->y = atoi(item); + } + } + free(tmp); + + *state = s; + return 0; +} + +static void done(void *state) +{ + struct state_capture_filter_logo *s = (struct state_capture_filter_logo *) + state; + free(s->logo); + free(state); +} + +static struct video_frame *filter(void *state, struct video_frame *in) +{ + struct state_capture_filter_logo *s = (struct state_capture_filter_logo *) + state; + int linesize = s->width * 3; + decoder_t decoder, coder; + decoder = get_decoder_from_to(in->color_spec, RGB, true); + coder = get_decoder_from_to(RGB, in->color_spec, true); + int rect_x = s->x; + int rect_y = s->y; + + if (decoder == NULL || coder == NULL) + return in; + + if (rect_x < 0 || rect_x + s->width > in->tiles[0].width) { + rect_x = in->tiles[0].width - s->width; + } + rect_x = (rect_x / get_pf_block_size(in->color_spec)) * get_pf_block_size(in->color_spec); + + if (rect_y < 0 || rect_y + s->height > in->tiles[0].height) { + rect_y = in->tiles[0].height - s->height; + } + + if (rect_x < 0 || rect_y < 0) + return in; + + unsigned char *segment = (unsigned char *) malloc(s->width * s->height * 3); + + for (unsigned int y = 0; y < s->height; ++y) { + decoder(segment + y * linesize, (unsigned char *) in->tiles[0].data + (y + rect_y) * + vc_get_linesize(in->tiles[0].width, in->color_spec) + + vc_get_linesize(rect_x, in->color_spec), linesize, + 0, 8, 16); + } + + unsigned char *image_data = segment; + const unsigned char *overlay_data = s->logo; + for (unsigned int y = 0; y < s->height; ++y) { + for (unsigned int x = 0; x < s->width; ++x) { + int alpha = overlay_data[3]; + for (int i = 0; i < 3; ++i) { + *image_data = (*image_data * (255 - alpha) + *overlay_data++ * alpha) / 255; + image_data++; + } + overlay_data++; // skip alpha + } + } + + for (unsigned int y = 0; y < s->height; ++y) { + coder((unsigned char *) in->tiles[0].data + (rect_y + y) * + vc_get_linesize(in->tiles[0].width, in->color_spec) + + vc_get_linesize(rect_x, in->color_spec), + segment + y * linesize, + vc_get_linesize(s->width, in->color_spec), 0, 8, 16); + } + + free(segment); + + return in; +} + +struct capture_filter_info capture_filter_logo = { + .name = "logo", + .init = init, + .done = done, + .filter = filter, +}; + diff --git a/src/cesnet-logo-2.c b/src/cesnet-logo-2.c deleted file mode 100644 index 77411381a..000000000 --- a/src/cesnet-logo-2.c +++ /dev/null @@ -1,7332 +0,0 @@ -/* GIMP RGBA C-Source image dump (cesnet-logo-2.c) */ - -static const struct { - unsigned int width; - unsigned int height; - unsigned int bytes_per_pixel; /* 3:RGB, 4:RGBA */ - unsigned char pixel_data[328 * 152 * 4 + 1]; -} cesnet_logo = { - 328, 152, 4, - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\377\377\377\0\377" - "\377\377\0\377\377\377\0\377\377\377\0\377\377\377\0\377\377\377\0\377\377" - "\377\1\377\377\377\2\377\377\377\3\377\377\377\4\377\377\377\5\377\377\377" - "\5\377\377\377\5\377\377\377\5\377\377\377\4\377\377\377\3\377\377\377\2" - "\377\377\377\1\377\377\377\0\377\377\377\0\377\377\377\0\377\377\377\0\377" - "\377\377\0\377\377\377\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\377\377\377\0\377\377\377\0\377\377\377\0\377\377\377\0\377\377" - "\377\0\377\377\377\1\377\377\377\2\377\377\377\4\377\377\377\6\377\377\377" - "\10\377\377\377\12\377\377\377\13\377\377\377\13\377\377\377\12\377\377\377" - "\11\377\377\377\6\377\377\377\4\377\377\377\2\377\377\377\1\377\377\377\0" - "\377\377\377\0\377\377\377\0\377\377\377\0\377\377\377\0\377\377\377\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\377\377\377\0\377\377\377\0\377\377" - "\377\0\377\377\377\0\377\377\377\0\377\377\377\1\377\377\377\2\377\377\377" - "\4\377\377\377\7\377\377\377\13\377\377\377\17\377\377\377\23\377\377\377" - "\25\377\377\377\25\377\377\377\23\377\377\377\20\377\377\377\14\377\377\377" - "\10\377\377\377\5\377\377\377\2\377\377\377\1\377\377\377\0\377\377\377\0" - "\377\377\377\0\377\377\377\0\377\377\377\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\377\377\377\0\377\377\377\0\377\377\377\0\377\377\377\0\377\377" - "\377\0\377\377\377\1\377\377\377\3\377\377\377\7\377\377\377\14\377\377\377" - "\22\377\377\377\31\377\377\377\37\377\377\377#\377\377\377#\377\377\377\40" - "\377\377\377\33\377\377\377\24\377\377\377\15\377\377\377\10\377\377\377" - "\4\377\377\377\2\377\377\377\1\377\377\377\0\377\377\377\0\377\377\377\0" - "\377\377\377\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\377\377\377\0\377" - "\377\377\0\377\377\377\0\377\377\377\0\377\377\377\1\377\377\377\2\377\377" - "\377\5\377\377\377\13\377\377\377\22\377\377\377\34\377\377\377&\377\377" - "\3770\377\377\3776\377\377\3776\377\377\3772\377\377\377)\377\377\377\37" - "\377\377\377\25\377\377\377\14\377\377\377\7\377\377\377\3\377\377\377\1" - "\377\377\377\0\377\377\377\0\377\377\377\0\377\377\377\0\377\377\377\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\377\377\377\0\377\377\377\0\377\377\377\0" - "\377\377\377\0\377\377\377\1\377\377\377\4\377\377\377\10\377\377\377\17" - "\377\377\377\32\377\377\377'\377\377\3776\377\377\377C\377\377\377L\377\377" - "\377M\377\377\377F\377\377\377:\377\377\377+\377\377\377\35\377\377\377\22" - "\377\377\377\11\377\377\377\4\377\377\377\2\377\377\377\0\377\377\377\0\377" - "\377\377\0\377\377\377\0\377\377\377\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\377\377\377" - "\0\377\377\377\0\377\377\377\0\377\377\377\0\377\377\377\0\377\377\377\2" - "\377\377\377\5\377\377\377\12\377\377\377\24\377\377\377\"\377\377\3773\377" - "\377\377G\202\202\202\202\0\0\0\377\0\0\0\377CCC\256\377\377\377L\377\377" - "\3779\377\377\377&\377\377\377\27\377\377\377\15\377\377\377\6\377\377\377" - "\2\377\377\377\1\377\377\377\0\377\377\377\0\377\377\377\0\377\377\377\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\377\377\377\0\377\377\377\0\377\377\377\0\377\377" - "\377\0\377\377\377\1\377\377\377\2\377\377\377\6\377\377\377\15\377\377\377" - "\30\377\377\377)\377\377\377?\377\377\377W\216\216\216\221\0\0\0\377\0\0" - "\0\377MMM\270\377\377\377]\377\377\377E\377\377\377/\377\377\377\34\377\377" - "\377\17\377\377\377\7\377\377\377\3\377\377\377\1\377\377\377\0\377\377\377" - "\0\377\377\377\0\377\377\377\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\377\377\377\0\377" - "\377\377\0\377\377\377\0\377\377\377\0\377\377\377\1\377\377\377\3\377\377" - "\377\7\377\377\377\17\377\377\377\34\377\377\3770\377\377\377I\377\377\377" - "d\227\227\227\235\0\0\0\377\0\0\0\377UUU\301\377\377\377k\377\377\377P\377" - "\377\3776\377\377\377!\377\377\377\22\377\377\377\11\377\377\377\4\377\377" - "\377\1\377\377\377\0\377\377\377\0\377\377\377\0\377\377\377\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\377\377\377\0\377\377\377\0\377\377\377\0\377\377\377\0\377" - "\377\377\1\377\377\377\3\377\377\377\10\377\377\377\20\377\377\377\37\377" - "\377\3774\377\377\377P\377\377\377n\235\235\235\247\0\0\0\377\0\0\0\377[" - "[[\307\377\377\377v\377\377\377X\377\377\377;\377\377\377$\377\377\377\24" - "\377\377\377\12\377\377\377\4\377\377\377\1\377\377\377\0\377\377\377\0\377" - "\377\377\0\377\377\377\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\377\377\377\0\377\377\377" - "\0\377\377\377\0\377\377\377\0\377\377\377\1\377\377\377\3\377\377\377\10" - "\377\377\377\21\377\377\377!\377\377\3778\377\377\377U\377\377\377u\241\241" - "\241\255\0\0\0\377\0\0\0\377^^^\314\377\377\377}\377\377\377^\377\377\377" - "?\377\377\377&\377\377\377\25\377\377\377\12\377\377\377\4\377\377\377\1" - "\377\377\377\0\377\377\377\0\377\377\377\0\377\377\377\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\377\377\377\0\377\377\377\0\377\377\377\0\377\377\377\0\377\377" - "\377\1\377\377\377\3\377\377\377\10\377\377\377\22\377\377\377\"\377\377" - "\377:\377\377\377X\377\377\377y\243\243\243\261\0\0\0\377\0\0\0\377aaa\316" - "\377\377\377\202\377\377\377a\377\377\377A\377\377\377(\377\377\377\26\377" - "\377\377\13\377\377\377\4\377\377\377\2\377\377\377\0\377\377\377\0\377\377" - "\377\0\377\377\377\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\377\377\377\0\377\377\377\0" - "\377\377\377\0\377\377\377\0\377\377\377\1\377\377\377\3\377\377\377\11\377" - "\377\377\22\377\377\377#\377\377\377;\377\377\377Z\377\377\377{\244\244\244" - "\263\0\0\0\377\0\0\0\377bbb\320\377\377\377\204\377\377\377c\377\377\377" - "C\377\377\377)\377\377\377\26\377\377\377\13\377\377\377\5\377\377\377\2" - "\377\377\377\0\377\377\377\0\377\377\377\0\377\377\377\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\377\377\377\0\377\377\377\0\377\377\377\0\377\377\377\0\377\377" - "\377\1\377\377\377\4\377\377\377\11\377\377\377\23\377\377\377#\377\377\377" - ";\377\377\377[\377\377\377}\244\244\244\264\0\0\0\377\0\0\0\377bbb\321\377" - "\377\377\206\377\377\377d\377\377\377C\377\377\377)\377\377\377\26\377\377" - "\377\13\377\377\377\5\377\377\377\2\377\377\377\0\377\377\377\0\377\377\377" - "\0\377\377\377\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\377\377\377\0\377\377\377\0\377" - "\377\377\0\377\377\377\0\377\377\377\1\377\377\377\4\377\377\377\11\377\377" - "\377\23\377\377\377#\377\377\377<\377\377\377[\377\377\377}\245\245\245\265" - "\0\0\0\377\0\0\0\377bbb\321\377\377\377\206\377\377\377d\377\377\377D\377" - "\377\377)\377\377\377\26\377\377\377\13\377\377\377\5\377\377\377\2\377\377" - "\377\0\377\377\377\0\377\377\377\0\377\377\377\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\377\377\377\0\377\377\377\0\377\377\377\0\377\377\377\0\377\377\377\1\377" - "\377\377\4\377\377\377\11\377\377\377\23\377\377\377#\377\377\377<\377\377" - "\377[\377\377\377}\245\245\245\265\0\0\0\377\0\0\0\377ccc\321\377\377\377" - "\206\377\377\377d\377\377\377D\377\377\377)\377\377\377\26\377\377\377\13" - "\377\377\377\5\377\377\377\2\377\377\377\0\377\377\377\0\377\377\377\0\377" - "\377\377\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\377\377\377\0\377\377\377\0\377\377\377" - "\0\377\377\377\0\377\377\377\1\377\377\377\4\377\377\377\11\377\377\377\23" - "\377\377\377#\377\377\377<\377\377\377[\377\377\377}\245\245\245\265\0\0" - "\0\377\0\0\0\377ccc\321\377\377\377\206\377\377\377d\377\377\377D\377\377" - "\377)\377\377\377\26\377\377\377\13\377\377\377\5\377\377\377\2\377\377\377" - "\0\377\377\377\0\377\377\377\0\377\377\377\0\377\377\377\0\377\377\377\0" - "\377\377\377\0\377\377\377\0\377\377\377\0\377\377\377\0\377\377\377\0\377" - "\377\377\0\377\377\377\0\377\377\377\0\377\377\377\0\377\377\377\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\377\377" - "\377\0\377\377\377\0\377\377\377\0\377\377\377\0\377\377\377\0\377\377\377" - "\0\377\377\377\0\377\377\377\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\377\377\377\0\377\377\377\0\377\377" - "\377\0\377\377\377\0\377\377\377\1\377\377\377\4\377\377\377\11\377\377\377" - "\23\377\377\377#\377\377\377<\377\377\377[\377\377\377}\245\245\245\265\0" - "\0\0\377\0\0\0\377ccc\321\377\377\377\207\377\377\377e\377\377\377D\377\377" - "\377)\377\377\377\27\377\377\377\13\377\377\377\5\377\377\377\2\377\377\377" - "\0\377\377\377\0\377\377\377\0\377\377\377\0\377\377\377\0\377\377\377\0" - "\377\377\377\0\377\377\377\0\377\377\377\0\377\377\377\0\377\377\377\0\377" - "\377\377\0\377\377\377\0\377\377\377\0\377\377\377\0\377\377\377\0\377\377" - "\377\0\377\377\377\0\377\377\377\0\377\377\377\0\377\377\377\0\377\377\377" - "\0\377\377\377\0\377\377\377\0\377\377\377\0\377\377\377\0\377\377\377\0" - "\377\377\377\0\377\377\377\0\377\377\377\0\377\377\377\0\377\377\377\0\377" - "\377\377\0\377\377\377\0\377\377\377\0\377\377\377\0\377\377\377\0\377\377" - "\377\0\377\377\377\0\377\377\377\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\377\377\377\0\377\377\377\0\377" - "\377\377\0\377\377\377\0\377\377\377\0\377\377\377\0\377\377\377\0\377\377" - "\377\0\377\377\377\0\377\377\377\0\377\377\377\0\377\377\377\0\377\377\377" - "\0\377\377\377\0\377\377\377\0\377\377\377\0\377\377\377\0\377\377\377\0" - "\377\377\377\0\377\377\377\0\377\377\377\0\377\377\377\0\377\377\377\0\377" - "\377\377\0\377\377\377\0\377\377\377\0\377\377\377\0\377\377\377\0\377\377" - "\377\0\377\377\377\0\377\377\377\0\377\377\377\0\377\377\377\0\377\377\377" - "\0\377\377\377\0\377\377\377\0\377\377\377\0\377\377\377\0\377\377\377\0" - "\377\377\377\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\377\377\377\0\377" - "\377\377\0\377\377\377\0\377\377\377\0\377\377\377\0\377\377\377\0\377\377" - "\377\0\377\377\377\0\377\377\377\0\377\377\377\0\377\377\377\0\377\377\377" - "\0\377\377\377\0\377\377\377\0\377\377\377\0\377\377\377\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\377\377\377\0\377\377\377\0\377\377\377\0\377" - "\377\377\0\377\377\377\0\377\377\377\0\377\377\377\0\377\377\377\0\377\377" - "\377\0\377\377\377\0\377\377\377\0\377\377\377\0\377\377\377\0\377\377\377" - "\0\377\377\377\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\377\377\377\0\377\377\377\0\377" - "\377\377\0\377\377\377\0\377\377\377\0\377\377\377\0\377\377\377\0\377\377" - "\377\0\377\377\377\0\377\377\377\0\377\377\377\0\377\377\377\0\377\377\377" - "\0\377\377\377\0\377\377\377\0\0\0\0\0\0\0\0\0\0\0\0\0\377\377\377\0\377" - "\377\377\0\377\377\377\0\377\377\377\0\377\377\377\0\377\377\377\0\377\377" - "\377\0\377\377\377\0\377\377\377\0\377\377\377\0\377\377\377\0\377\377\377" - "\0\377\377\377\0\377\377\377\0\377\377\377\0\377\377\377\0\377\377\377\0" - "\377\377\377\0\377\377\377\0\377\377\377\0\377\377\377\0\377\377\377\0\377" - "\377\377\0\377\377\377\0\377\377\377\0\377\377\377\0\377\377\377\0\377\377" - "\377\0\377\377\377\0\377\377\377\0\377\377\377\0\377\377\377\0\377\377\377" - "\0\377\377\377\0\377\377\377\0\377\377\377\0\377\377\377\0\377\377\377\0" - "\377\377\377\0\377\377\377\0\377\377\377\0\377\377\377\0\377\377\377\0\377" - "\377\377\0\377\377\377\0\377\377\377\0\377\377\377\0\377\377\377\0\377\377" - "\377\0\377\377\377\0\377\377\377\0\377\377\377\0\377\377\377\0\377\377\377" - "\0\377\377\377\0\377\377\377\0\377\377\377\0\377\377\377\0\377\377\377\0" - "\377\377\377\0\377\377\377\0\377\377\377\0\377\377\377\0\377\377\377\0\377" - "\377\377\0\377\377\377\0\377\377\377\0\377\377\377\0\377\377\377\0\377\377" - "\377\0\377\377\377\0\377\377\377\0\377\377\377\0\377\377\377\0\377\377\377" - "\0\377\377\377\0\377\377\377\0\377\377\377\0\377\377\377\0\377\377\377\0" - "\377\377\377\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\377\377\377\0\377\377\377\0\377\377\377\0" - "\377\377\377\0\377\377\377\0\377\377\377\0\377\377\377\0\377\377\377\0\377" - "\377\377\0\377\377\377\0\377\377\377\0\377\377\377\0\377\377\377\0\377\377" - "\377\0\377\377\377\0\377\377\377\0\377\377\377\0\377\377\377\0\377\377\377" - "\0\377\377\377\1\377\377\377\4\377\377\377\11\377\377\377\23\377\377\377" - "#\377\377\377<\377\377\377[\377\377\377}\245\245\245\265\0\0\0\377\0\0\0" - "\377ccc\321\377\377\377\207\377\377\377e\377\377\377D\377\377\377)\377\377" - "\377\27\377\377\377\13\377\377\377\5\377\377\377\2\377\377\377\1\377\377" - "\377\0\377\377\377\0\377\377\377\0\377\377\377\0\377\377\377\0\377\377\377" - "\0\377\377\377\0\377\377\377\0\377\377\377\0\377\377\377\0\377\377\377\0" - "\377\377\377\0\377\377\377\0\377\377\377\0\377\377\377\0\377\377\377\0\377" - "\377\377\0\377\377\377\0\377\377\377\0\377\377\377\0\377\377\377\0\377\377" - "\377\0\377\377\377\0\377\377\377\0\377\377\377\0\377\377\377\0\377\377\377" - "\0\377\377\377\0\377\377\377\0\377\377\377\0\377\377\377\0\377\377\377\0" - "\377\377\377\0\377\377\377\0\377\377\377\0\377\377\377\0\377\377\377\0\377" - "\377\377\0\377\377\377\0\377\377\377\0\377\377\377\0\377\377\377\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\377\377\377\0\377\377\377\0\377\377\377" - "\0\377\377\377\0\377\377\377\0\377\377\377\0\377\377\377\0\377\377\377\0" - "\377\377\377\0\377\377\377\0\377\377\377\0\377\377\377\0\377\377\377\0\377" - "\377\377\0\377\377\377\0\377\377\377\0\377\377\377\0\377\377\377\0\377\377" - "\377\0\377\377\377\0\377\377\377\0\377\377\377\0\377\377\377\0\377\377\377" - "\0\377\377\377\0\377\377\377\0\377\377\377\0\377\377\377\0\377\377\377\0" - "\377\377\377\0\377\377\377\0\377\377\377\0\377\377\377\0\377\377\377\0\377" - "\377\377\0\377\377\377\0\377\377\377\0\377\377\377\0\377\377\377\0\377\377" - "\377\0\377\377\377\0\377\377\377\0\377\377\377\0\377\377\377\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\377\377\377\0\377" - "\377\377\0\377\377\377\0\377\377\377\0\377\377\377\0\377\377\377\0\377\377" - "\377\0\377\377\377\0\377\377\377\0\377\377\377\0\377\377\377\0\377\377\377" - "\0\377\377\377\0\377\377\377\0\377\377\377\0\377\377\377\0\377\377\377\0" - "\377\377\377\0\377\377\377\0\377\377\377\0\377\377\377\0\377\377\377\0\377" - "\377\377\0\377\377\377\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\377\377\377\0\377\377\377\0\377\377\377\0\377\377\377\0" - "\377\377\377\0\377\377\377\0\377\377\377\0\377\377\377\0\377\377\377\0\377" - "\377\377\0\377\377\377\0\377\377\377\0\377\377\377\0\377\377\377\0\377\377" - "\377\0\377\377\377\0\377\377\377\0\377\377\377\0\377\377\377\0\377\377\377" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\377\377\377\0" - "\377\377\377\0\377\377\377\0\377\377\377\0\377\377\377\0\377\377\377\0\377" - "\377\377\0\377\377\377\0\377\377\377\0\377\377\377\0\377\377\377\0\377\377" - "\377\0\377\377\377\0\377\377\377\0\377\377\377\0\377\377\377\0\377\377\377" - "\0\377\377\377\0\377\377\377\0\377\377\377\0\377\377\377\0\377\377\377\0" - "\377\377\377\0\377\377\377\0\377\377\377\0\377\377\377\0\377\377\377\0\377" - "\377\377\0\377\377\377\0\377\377\377\0\377\377\377\0\377\377\377\0\377\377" - "\377\0\377\377\377\0\377\377\377\0\377\377\377\0\377\377\377\0\377\377\377" - "\0\377\377\377\0\377\377\377\0\377\377\377\0\377\377\377\0\377\377\377\0" - "\377\377\377\0\377\377\377\0\377\377\377\0\377\377\377\0\377\377\377\0\377" - "\377\377\0\377\377\377\0\377\377\377\0\377\377\377\0\377\377\377\0\377\377" - "\377\0\377\377\377\0\377\377\377\0\377\377\377\0\377\377\377\0\377\377\377" - "\0\377\377\377\0\377\377\377\0\377\377\377\0\377\377\377\0\377\377\377\0" - "\377\377\377\0\377\377\377\0\377\377\377\0\377\377\377\0\377\377\377\0\377" - "\377\377\0\377\377\377\0\377\377\377\0\377\377\377\0\377\377\377\0\377\377" - "\377\0\377\377\377\0\377\377\377\0\377\377\377\0\377\377\377\0\377\377\377" - "\0\377\377\377\0\377\377\377\0\377\377\377\0\377\377\377\0\377\377\377\0" - "\377\377\377\0\377\377\377\0\377\377\377\0\377\377\377\0\377\377\377\0\377" - "\377\377\0\377\377\377\0\377\377\377\0\377\377\377\0\377\377\377\0\377\377" - "\377\0\377\377\377\0\377\377\377\0\377\377\377\0\377\377\377\0\377\377\377" - "\0\377\377\377\0\377\377\377\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\377\377\377\0\377\377\377\0\377\377\377\0\377\377\377\0\377\377\377" - "\0\377\377\377\0\377\377\377\0\377\377\377\0\377\377\377\0\377\377\377\0" - "\377\377\377\0\377\377\377\0\377\377\377\0\377\377\377\0\377\377\377\0\377" - "\377\377\0\377\377\377\0\377\377\377\0\377\377\377\0\377\377\377\0\377\377" - "\377\0\377\377\377\0\377\377\377\1\377\377\377\4\377\377\377\11\377\377\377" - "\23\377\377\377#\377\377\377<\377\377\377[\377\377\377}\245\245\245\265\0" - "\0\0\377\0\0\0\377ccc\321\377\377\377\207\377\377\377e\377\377\377E\377\377" - "\377*\377\377\377\27\377\377\377\14\377\377\377\6\377\377\377\3\377\377\377" - "\1\377\377\377\1\377\377\377\1\377\377\377\0\377\377\377\0\377\377\377\0" - "\377\377\377\0\377\377\377\0\377\377\377\0\377\377\377\0\377\377\377\0\377" - "\377\377\0\377\377\377\0\377\377\377\0\377\377\377\0\377\377\377\0\377\377" - "\377\0\377\377\377\0\377\377\377\0\377\377\377\0\377\377\377\0\377\377\377" - "\0\377\377\377\0\377\377\377\0\377\377\377\0\377\377\377\0\377\377\377\0" - "\377\377\377\0\377\377\377\0\377\377\377\0\377\377\377\0\377\377\377\0\377" - "\377\377\0\377\377\377\0\377\377\377\0\377\377\377\0\377\377\377\0\377\377" - "\377\0\377\377\377\0\377\377\377\0\377\377\377\0\377\377\377\0\377\377\377" - "\0\377\377\377\0\377\377\377\0\377\377\377\0\377\377\377\0\377\377\377\0" - "\377\377\377\0\377\377\377\0\377\377\377\0\377\377\377\0\377\377\377\0\377" - "\377\377\0\377\377\377\0\377\377\377\0\377\377\377\0\377\377\377\0\377\377" - "\377\0\377\377\377\0\377\377\377\0\377\377\377\0\377\377\377\0\377\377\377" - "\0\377\377\377\0\377\377\377\0\377\377\377\0\377\377\377\0\377\377\377\0" - "\377\377\377\0\377\377\377\0\377\377\377\0\377\377\377\0\377\377\377\0\377" - "\377\377\0\377\377\377\0\377\377\377\0\377\377\377\0\377\377\377\0\377\377" - "\377\0\377\377\377\0\377\377\377\0\377\377\377\0\377\377\377\0\377\377\377" - "\0\377\377\377\0\377\377\377\0\377\377\377\0\377\377\377\0\377\377\377\0" - "\377\377\377\0\377\377\377\0\377\377\377\0\377\377\377\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\377\377\377\0\377\377\377\0\377\377\377\0\377\377\377\0\377\377" - "\377\0\377\377\377\0\377\377\377\0\377\377\377\0\377\377\377\0\377\377\377" - "\0\377\377\377\0\377\377\377\0\377\377\377\0\377\377\377\0\377\377\377\0" - "\377\377\377\0\377\377\377\0\377\377\377\0\377\377\377\0\377\377\377\0\377" - "\377\377\0\377\377\377\0\377\377\377\0\377\377\377\0\377\377\377\0\377\377" - "\377\0\377\377\377\0\377\377\377\0\377\377\377\0\377\377\377\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\377\377\377\0\377\377\377\0\377\377\377\0\377\377\377\0\377" - "\377\377\0\377\377\377\0\377\377\377\0\377\377\377\0\377\377\377\0\377\377" - "\377\0\377\377\377\0\377\377\377\0\377\377\377\0\377\377\377\0\377\377\377" - "\0\377\377\377\0\377\377\377\0\377\377\377\0\377\377\377\0\377\377\377\0" - "\377\377\377\0\377\377\377\0\377\377\377\0\377\377\377\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\377\377\377\0\377\377\377\0\377\377\377\0\377\377\377\0\377\377" - "\377\0\377\377\377\0\377\377\377\0\377\377\377\0\377\377\377\0\377\377\377" - "\0\377\377\377\0\377\377\377\0\377\377\377\0\377\377\377\0\377\377\377\0" - "\377\377\377\0\377\377\377\0\377\377\377\0\377\377\377\0\377\377\377\0\377" - "\377\377\0\377\377\377\0\377\377\377\0\377\377\377\0\377\377\377\0\377\377" - "\377\0\377\377\377\0\377\377\377\0\377\377\377\0\377\377\377\0\377\377\377" - "\0\377\377\377\0\377\377\377\0\377\377\377\0\377\377\377\0\377\377\377\0" - "\377\377\377\0\377\377\377\0\377\377\377\0\377\377\377\0\377\377\377\0\377" - "\377\377\0\377\377\377\0\377\377\377\0\377\377\377\0\377\377\377\0\377\377" - "\377\0\377\377\377\0\377\377\377\0\377\377\377\0\377\377\377\0\377\377\377" - "\0\377\377\377\0\377\377\377\0\377\377\377\0\377\377\377\0\377\377\377\0" - "\377\377\377\0\377\377\377\0\377\377\377\0\377\377\377\0\377\377\377\0\377" - "\377\377\0\377\377\377\0\377\377\377\0\377\377\377\0\377\377\377\0\377\377" - "\377\0\377\377\377\0\377\377\377\0\377\377\377\0\377\377\377\0\377\377\377" - "\0\377\377\377\0\377\377\377\0\377\377\377\0\377\377\377\0\377\377\377\0" - "\377\377\377\0\377\377\377\0\377\377\377\0\377\377\377\0\377\377\377\0\377" - "\377\377\0\377\377\377\0\377\377\377\0\377\377\377\0\377\377\377\0\377\377" - "\377\0\377\377\377\0\377\377\377\0\377\377\377\0\377\377\377\0\377\377\377" - "\0\377\377\377\0\377\377\377\0\377\377\377\0\377\377\377\0\377\377\377\0" - "\377\377\377\0\377\377\377\0\377\377\377\0\377\377\377\0\377\377\377\0\377" - "\377\377\0\377\377\377\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\377\377\377\0\377\377\377\0\377" - "\377\377\0\377\377\377\0\377\377\377\0\377\377\377\0\377\377\377\0\377\377" - "\377\0\377\377\377\0\377\377\377\0\377\377\377\0\377\377\377\0\377\377\377" - "\0\377\377\377\0\377\377\377\0\377\377\377\0\377\377\377\0\377\377\377\0" - "\377\377\377\0\377\377\377\0\377\377\377\0\377\377\377\0\377\377\377\0\377" - "\377\377\0\377\377\377\0\377\377\377\1\377\377\377\4\377\377\377\11\377\377" - "\377\23\377\377\377#\377\377\377<\377\377\377[\377\377\377~\245\245\245\265" - "\0\0\0\377\0\0\0\377ccc\322\377\377\377\210\377\377\377f\377\377\377F\377" - "\377\377,\377\377\377\31\377\377\377\16\377\377\377\7\377\377\377\4\377\377" - "\377\3\377\377\377\2\377\377\377\2\377\377\377\2\377\377\377\2\377\377\377" - "\2\377\377\377\2\377\377\377\2\377\377\377\2\377\377\377\2\377\377\377\1" - "\377\377\377\1\377\377\377\1\377\377\377\1\377\377\377\0\377\377\377\0\377" - "\377\377\0\377\377\377\0\377\377\377\0\377\377\377\0\377\377\377\0\377\377" - "\377\0\377\377\377\1\377\377\377\1\377\377\377\1\377\377\377\1\377\377\377" - "\1\377\377\377\1\377\377\377\1\377\377\377\1\377\377\377\1\377\377\377\1" - "\377\377\377\1\377\377\377\1\377\377\377\1\377\377\377\0\377\377\377\0\377" - "\377\377\0\377\377\377\0\377\377\377\0\377\377\377\0\377\377\377\0\377\377" - "\377\0\377\377\377\0\377\377\377\0\377\377\377\0\377\377\377\0\377\377\377" - "\0\377\377\377\0\377\377\377\0\377\377\377\0\377\377\377\0\377\377\377\0" - "\377\377\377\0\377\377\377\0\377\377\377\0\377\377\377\1\377\377\377\1\377" - "\377\377\1\377\377\377\1\377\377\377\1\377\377\377\1\377\377\377\1\377\377" - "\377\1\377\377\377\1\377\377\377\1\377\377\377\1\377\377\377\1\377\377\377" - "\1\377\377\377\1\377\377\377\1\377\377\377\1\377\377\377\1\377\377\377\1" - "\377\377\377\1\377\377\377\1\377\377\377\1\377\377\377\1\377\377\377\1\377" - "\377\377\1\377\377\377\1\377\377\377\1\377\377\377\1\377\377\377\1\377\377" - "\377\0\377\377\377\0\377\377\377\0\377\377\377\0\377\377\377\0\377\377\377" - "\0\377\377\377\0\377\377\377\0\377\377\377\0\377\377\377\0\377\377\377\0" - "\377\377\377\0\377\377\377\0\377\377\377\0\377\377\377\0\377\377\377\0\377" - "\377\377\0\377\377\377\0\377\377\377\0\377\377\377\0\377\377\377\0\377\377" - "\377\0\377\377\377\0\377\377\377\0\377\377\377\0\377\377\377\0\377\377\377" - "\0\377\377\377\0\377\377\377\0\377\377\377\0\377\377\377\0\377\377\377\0" - "\377\377\377\0\377\377\377\0\377\377\377\0\377\377\377\0\377\377\377\0\377" - "\377\377\0\377\377\377\0\377\377\377\0\377\377\377\0\377\377\377\0\377\377" - "\377\0\377\377\377\0\377\377\377\0\377\377\377\0\377\377\377\0\377\377\377" - "\0\377\377\377\0\377\377\377\0\377\377\377\0\377\377\377\0\377\377\377\0" - "\377\377\377\0\377\377\377\0\377\377\377\0\377\377\377\1\377\377\377\1\377" - "\377\377\1\377\377\377\0\377\377\377\0\377\377\377\0\377\377\377\0\377\377" - "\377\0\377\377\377\0\377\377\377\0\377\377\377\0\377\377\377\0\377\377\377" - "\0\377\377\377\0\377\377\377\0\377\377\377\0\377\377\377\0\377\377\377\0" - "\377\377\377\0\377\377\377\0\377\377\377\0\377\377\377\0\377\377\377\0\377" - "\377\377\0\377\377\377\0\377\377\377\0\377\377\377\0\377\377\377\0\377\377" - "\377\0\377\377\377\0\377\377\377\0\377\377\377\0\377\377\377\0\377\377\377" - "\0\377\377\377\0\377\377\377\0\377\377\377\0\377\377\377\0\377\377\377\0" - "\377\377\377\0\377\377\377\0\377\377\377\0\377\377\377\0\377\377\377\0\377" - "\377\377\0\377\377\377\1\377\377\377\1\377\377\377\1\377\377\377\1\377\377" - "\377\1\377\377\377\1\377\377\377\1\377\377\377\1\377\377\377\1\377\377\377" - "\1\377\377\377\1\377\377\377\1\377\377\377\1\377\377\377\1\377\377\377\1" - "\377\377\377\1\377\377\377\1\377\377\377\1\377\377\377\1\377\377\377\1\377" - "\377\377\1\377\377\377\1\377\377\377\1\377\377\377\1\377\377\377\1\377\377" - "\377\1\377\377\377\1\377\377\377\1\377\377\377\0\377\377\377\0\377\377\377" - "\0\377\377\377\0\377\377\377\0\377\377\377\0\377\377\377\0\377\377\377\0" - "\377\377\377\0\377\377\377\0\377\377\377\0\377\377\377\1\377\377\377\1\377" - "\377\377\1\377\377\377\1\377\377\377\1\377\377\377\1\377\377\377\1\377\377" - "\377\1\377\377\377\1\377\377\377\1\377\377\377\1\377\377\377\1\377\377\377" - "\1\377\377\377\1\377\377\377\1\377\377\377\1\377\377\377\1\377\377\377\1" - "\377\377\377\1\377\377\377\1\377\377\377\1\377\377\377\1\377\377\377\1\377" - "\377\377\1\377\377\377\1\377\377\377\1\377\377\377\1\377\377\377\1\377\377" - "\377\1\377\377\377\1\377\377\377\0\377\377\377\0\377\377\377\0\377\377\377" - "\0\377\377\377\0\377\377\377\0\377\377\377\0\377\377\377\0\377\377\377\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\377\377\377\0\377\377\377\0\377\377\377\0\377\377\377\0\377\377" - "\377\0\377\377\377\0\377\377\377\0\377\377\377\0\377\377\377\0\377\377\377" - "\0\377\377\377\0\377\377\377\1\377\377\377\1\377\377\377\1\377\377\377\1" - "\377\377\377\1\377\377\377\1\377\377\377\1\377\377\377\1\377\377\377\1\377" - "\377\377\0\377\377\377\0\377\377\377\0\377\377\377\0\377\377\377\0\377\377" - "\377\0\377\377\377\1\377\377\377\4\377\377\377\11\377\377\377\23\377\377" - "\377#\377\377\377<\377\377\377[\377\377\377~\245\245\245\266\0\0\0\377\0" - "\0\0\377ddd\323\377\377\377\213\377\377\377i\377\377\377I\377\377\377/\377" - "\377\377\35\377\377\377\21\377\377\377\13\377\377\377\10\377\377\377\7\377" - "\377\377\6\377\377\377\6\377\377\377\6\377\377\377\6\377\377\377\6\377\377" - "\377\6\377\377\377\6\377\377\377\5\377\377\377\5\377\377\377\4\377\377\377" - "\3\377\377\377\3\377\377\377\2\377\377\377\1\377\377\377\1\377\377\377\1" - "\377\377\377\1\377\377\377\1\377\377\377\1\377\377\377\1\377\377\377\2\377" - "\377\377\2\377\377\377\3\377\377\377\3\377\377\377\3\377\377\377\4\377\377" - "\377\4\377\377\377\4\377\377\377\4\377\377\377\4\377\377\377\4\377\377\377" - "\3\377\377\377\3\377\377\377\3\377\377\377\2\377\377\377\2\377\377\377\1" - "\377\377\377\1\377\377\377\0\377\377\377\0\377\377\377\0\377\377\377\0\377" - "\377\377\0\377\377\377\0\377\377\377\0\377\377\377\0\377\377\377\0\377\377" - "\377\0\377\377\377\0\377\377\377\0\377\377\377\0\377\377\377\1\377\377\377" - "\1\377\377\377\2\377\377\377\2\377\377\377\2\377\377\377\2\377\377\377\3" - "\377\377\377\3\377\377\377\3\377\377\377\3\377\377\377\3\377\377\377\3\377" - "\377\377\3\377\377\377\3\377\377\377\3\377\377\377\3\377\377\377\3\377\377" - "\377\3\377\377\377\3\377\377\377\3\377\377\377\3\377\377\377\3\377\377\377" - "\3\377\377\377\3\377\377\377\3\377\377\377\3\377\377\377\3\377\377\377\3" - "\377\377\377\3\377\377\377\3\377\377\377\2\377\377\377\2\377\377\377\2\377" - "\377\377\2\377\377\377\1\377\377\377\1\377\377\377\0\377\377\377\0\377\377" - "\377\0\377\377\377\0\377\377\377\0\377\377\377\0\377\377\377\0\377\377\377" - "\0\377\377\377\0\377\377\377\0\377\377\377\0\377\377\377\0\377\377\377\0" - "\377\377\377\0\377\377\377\0\377\377\377\0\377\377\377\1\377\377\377\1\377" - "\377\377\1\377\377\377\1\377\377\377\2\377\377\377\2\377\377\377\2\377\377" - "\377\2\377\377\377\2\377\377\377\2\377\377\377\2\377\377\377\2\377\377\377" - "\2\377\377\377\1\377\377\377\1\377\377\377\1\377\377\377\1\377\377\377\0" - "\377\377\377\0\377\377\377\0\377\377\377\0\377\377\377\0\377\377\377\0\377" - "\377\377\0\377\377\377\0\377\377\377\0\377\377\377\0\377\377\377\0\377\377" - "\377\0\377\377\377\0\377\377\377\0\377\377\377\0\377\377\377\1\377\377\377" - "\1\377\377\377\2\377\377\377\2\377\377\377\2\377\377\377\2\377\377\377\2" - "\377\377\377\2\377\377\377\2\377\377\377\2\377\377\377\1\377\377\377\1\377" - "\377\377\0\377\377\377\0\377\377\377\0\377\377\377\0\377\377\377\0\377\377" - "\377\0\377\377\377\0\377\377\377\0\377\377\377\0\377\377\377\0\377\377\377" - "\0\377\377\377\0\377\377\377\0\377\377\377\0\377\377\377\0\377\377\377\1" - "\377\377\377\1\377\377\377\2\377\377\377\2\377\377\377\2\377\377\377\2\377" - "\377\377\2\377\377\377\2\377\377\377\2\377\377\377\1\377\377\377\1\377\377" - "\377\0\377\377\377\0\377\377\377\0\377\377\377\0\377\377\377\0\377\377\377" - "\0\377\377\377\0\377\377\377\1\377\377\377\1\377\377\377\2\377\377\377\2" - "\377\377\377\2\377\377\377\2\377\377\377\3\377\377\377\3\377\377\377\3\377" - "\377\377\3\377\377\377\3\377\377\377\3\377\377\377\3\377\377\377\3\377\377" - "\377\3\377\377\377\3\377\377\377\3\377\377\377\3\377\377\377\3\377\377\377" - "\3\377\377\377\3\377\377\377\3\377\377\377\3\377\377\377\3\377\377\377\3" - "\377\377\377\3\377\377\377\3\377\377\377\3\377\377\377\3\377\377\377\3\377" - "\377\377\2\377\377\377\2\377\377\377\2\377\377\377\2\377\377\377\1\377\377" - "\377\1\377\377\377\1\377\377\377\1\377\377\377\1\377\377\377\1\377\377\377" - "\1\377\377\377\2\377\377\377\2\377\377\377\2\377\377\377\2\377\377\377\3" - "\377\377\377\3\377\377\377\3\377\377\377\3\377\377\377\3\377\377\377\3\377" - "\377\377\3\377\377\377\3\377\377\377\3\377\377\377\3\377\377\377\3\377\377" - "\377\3\377\377\377\3\377\377\377\3\377\377\377\3\377\377\377\3\377\377\377" - "\3\377\377\377\3\377\377\377\3\377\377\377\3\377\377\377\3\377\377\377\3" - "\377\377\377\3\377\377\377\3\377\377\377\3\377\377\377\3\377\377\377\2\377" - "\377\377\2\377\377\377\2\377\377\377\2\377\377\377\1\377\377\377\1\377\377" - "\377\0\377\377\377\0\377\377\377\0\377\377\377\0\377\377\377\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\377\377\377\0\377" - "\377\377\0\377\377\377\0\377\377\377\0\377\377\377\0\377\377\377\0\377\377" - "\377\0\377\377\377\0\377\377\377\0\377\377\377\1\377\377\377\1\377\377\377" - "\1\377\377\377\2\377\377\377\2\377\377\377\3\377\377\377\3\377\377\377\3" - "\377\377\377\3\377\377\377\3\377\377\377\3\377\377\377\3\377\377\377\2\377" - "\377\377\2\377\377\377\1\377\377\377\1\377\377\377\1\377\377\377\0\377\377" - "\377\1\377\377\377\1\377\377\377\4\377\377\377\11\377\377\377\23\377\377" - "\377#\377\377\377<\377\377\377\\\377\377\377\177\246\246\246\267\0\0\0\377" - "\0\0\0\377eee\325\377\377\377\220\377\377\377o\377\377\377P\377\377\3776" - "\377\377\377$\377\377\377\31\377\377\377\23\377\377\377\20\377\377\377\17" - "\377\377\377\16\377\377\377\16\377\377\377\16\377\377\377\16\377\377\377" - "\16\377\377\377\15\377\377\377\15\377\377\377\14\377\377\377\13\377\377\377" - "\12\377\377\377\10\377\377\377\6\377\377\377\5\377\377\377\4\377\377\377" - "\3\377\377\377\2\377\377\377\3\377\377\377\3\377\377\377\3\377\377\377\4" - "\377\377\377\5\377\377\377\6\377\377\377\7\377\377\377\10\377\377\377\11" - "\377\377\377\11\377\377\377\12\377\377\377\12\377\377\377\12\377\377\377" - "\12\377\377\377\11\377\377\377\11\377\377\377\10\377\377\377\7\377\377\377" - "\6\377\377\377\5\377\377\377\4\377\377\377\3\377\377\377\2\377\377\377\1" - "\377\377\377\1\377\377\377\0\377\377\377\0\377\377\377\0\377\377\377\0\377" - "\377\377\0\377\377\377\0\377\377\377\0\377\377\377\0\377\377\377\1\377\377" - "\377\2\377\377\377\3\377\377\377\4\377\377\377\5\377\377\377\6\377\377\377" - "\6\377\377\377\7\377\377\377\7\377\377\377\7\377\377\377\7\377\377\377\7" - "\377\377\377\7\377\377\377\7\377\377\377\7\377\377\377\7\377\377\377\7\377" - "\377\377\7\377\377\377\7\377\377\377\7\377\377\377\7\377\377\377\7\377\377" - "\377\7\377\377\377\7\377\377\377\7\377\377\377\7\377\377\377\7\377\377\377" - "\7\377\377\377\7\377\377\377\7\377\377\377\7\377\377\377\7\377\377\377\7" - "\377\377\377\6\377\377\377\5\377\377\377\5\377\377\377\4\377\377\377\3\377" - "\377\377\2\377\377\377\1\377\377\377\0\377\377\377\0\377\377\377\0\377\377" - "\377\0\377\377\377\0\377\377\377\0\377\377\377\0\377\377\377\0\377\377\377" - "\0\377\377\377\0\377\377\377\0\377\377\377\1\377\377\377\1\377\377\377\2" - "\377\377\377\3\377\377\377\3\377\377\377\4\377\377\377\5\377\377\377\5\377" - "\377\377\5\377\377\377\6\377\377\377\6\377\377\377\6\377\377\377\6\377\377" - "\377\6\377\377\377\5\377\377\377\5\377\377\377\4\377\377\377\3\377\377\377" - "\3\377\377\377\2\377\377\377\2\377\377\377\1\377\377\377\1\377\377\377\0" - "\377\377\377\0\377\377\377\0\377\377\377\0\377\377\377\0\377\377\377\0\377" - "\377\377\0\377\377\377\0\377\377\377\0\377\377\377\0\377\377\377\1\377\377" - "\377\2\377\377\377\3\377\377\377\4\377\377\377\5\377\377\377\6\377\377\377" - "\6\377\377\377\6\377\377\377\6\377\377\377\6\377\377\377\5\377\377\377\5" - "\377\377\377\4\377\377\377\3\377\377\377\2\377\377\377\1\377\377\377\0\377" - "\377\377\0\377\377\377\0\377\377\377\0\377\377\377\0\377\377\377\0\377\377" - "\377\0\377\377\377\0\377\377\377\0\377\377\377\0\377\377\377\0\377\377\377" - "\1\377\377\377\2\377\377\377\3\377\377\377\4\377\377\377\5\377\377\377\5" - "\377\377\377\6\377\377\377\6\377\377\377\6\377\377\377\6\377\377\377\5\377" - "\377\377\4\377\377\377\3\377\377\377\2\377\377\377\1\377\377\377\1\377\377" - "\377\0\377\377\377\1\377\377\377\1\377\377\377\2\377\377\377\3\377\377\377" - "\4\377\377\377\5\377\377\377\5\377\377\377\6\377\377\377\7\377\377\377\7" - "\377\377\377\7\377\377\377\7\377\377\377\7\377\377\377\7\377\377\377\7\377" - "\377\377\7\377\377\377\7\377\377\377\7\377\377\377\7\377\377\377\7\377\377" - "\377\7\377\377\377\7\377\377\377\7\377\377\377\7\377\377\377\7\377\377\377" - "\7\377\377\377\7\377\377\377\7\377\377\377\7\377\377\377\7\377\377\377\7" - "\377\377\377\7\377\377\377\7\377\377\377\7\377\377\377\6\377\377\377\6\377" - "\377\377\5\377\377\377\4\377\377\377\3\377\377\377\3\377\377\377\3\377\377" - "\377\3\377\377\377\3\377\377\377\4\377\377\377\5\377\377\377\6\377\377\377" - "\6\377\377\377\7\377\377\377\7\377\377\377\7\377\377\377\7\377\377\377\7" - "\377\377\377\7\377\377\377\7\377\377\377\7\377\377\377\7\377\377\377\7\377" - "\377\377\7\377\377\377\7\377\377\377\7\377\377\377\7\377\377\377\7\377\377" - "\377\7\377\377\377\7\377\377\377\7\377\377\377\7\377\377\377\7\377\377\377" - "\7\377\377\377\7\377\377\377\7\377\377\377\7\377\377\377\7\377\377\377\7" - "\377\377\377\7\377\377\377\7\377\377\377\6\377\377\377\6\377\377\377\5\377" - "\377\377\4\377\377\377\3\377\377\377\2\377\377\377\1\377\377\377\0\377\377" - "\377\0\377\377\377\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\377\377\377\0\377\377\377\0\377\377\377\0\377\377\377\0\377\377\377" - "\0\377\377\377\0\377\377\377\0\377\377\377\0\377\377\377\1\377\377\377\1" - "\377\377\377\2\377\377\377\3\377\377\377\4\377\377\377\5\377\377\377\6\377" - "\377\377\7\377\377\377\7\377\377\377\10\377\377\377\10\377\377\377\10\377" - "\377\377\7\377\377\377\7\377\377\377\6\377\377\377\5\377\377\377\4\377\377" - "\377\3\377\377\377\2\377\377\377\2\377\377\377\1\377\377\377\2\377\377\377" - "\4\377\377\377\11\377\377\377\23\377\377\377$\377\377\377<\377\377\377]\377" - "\377\377\200\247\247\247\270\0\0\0\377\0\0\0\377hhh\330\377\377\377\231\377" - "\377\377z\377\377\377\\\377\377\377D\377\377\3772\377\377\377(\377\377\377" - "\"\377\377\377\37\377\377\377\36\377\377\377\35\377\377\377\35\377\377\377" - "\35\377\377\377\34\377\377\377\34\377\377\377\33\377\377\377\32\377\377\377" - "\30\377\377\377\26\377\377\377\23\377\377\377\20\377\377\377\15\377\377\377" - "\12\377\377\377\10\377\377\377\7\377\377\377\6\377\377\377\6\377\377\377" - "\7\377\377\377\11\377\377\377\12\377\377\377\14\377\377\377\16\377\377\377" - "\20\377\377\377\22\377\377\377\23\377\377\377\24\377\377\377\25\377\377\377" - "\26\377\377\377\26\377\377\377\25\377\377\377\24\377\377\377\23\377\377\377" - "\21\377\377\377\17\377\377\377\15\377\377\377\13\377\377\377\11\377\377\377" - "\7\377\377\377\5\377\377\377\4\377\377\377\3\377\377\377\2\377\377\377\1" - "\377\377\377\0\377\377\377\0\377\377\377\0\377\377\377\0\377\377\377\1\377" - "\377\377\2\377\377\377\3\377\377\377\5\377\377\377\7\377\377\377\11\377\377" - "\377\13\377\377\377\15\377\377\377\16\377\377\377\17\377\377\377\20\377\377" - "\377\20\377\377\377\20\377\377\377\21\377\377\377\21\377\377\377\21\377\377" - "\377\21\377\377\377\21\377\377\377\21\377\377\377\21\377\377\377\21\377\377" - "\377\21\377\377\377\21\377\377\377\21\377\377\377\21\377\377\377\21\377\377" - "\377\21\377\377\377\21\377\377\377\21\377\377\377\21\377\377\377\20\377\377" - "\377\20\377\377\377\20\377\377\377\20\377\377\377\17\377\377\377\16\377\377" - "\377\15\377\377\377\13\377\377\377\11\377\377\377\6\377\377\377\4\377\377" - "\377\3\377\377\377\1\377\377\377\1\377\377\377\0\377\377\377\0\377\377\377" - "\0\377\377\377\0\377\377\377\0\377\377\377\0\377\377\377\1\377\377\377\1" - "\377\377\377\2\377\377\377\3\377\377\377\4\377\377\377\5\377\377\377\7\377" - "\377\377\10\377\377\377\12\377\377\377\13\377\377\377\14\377\377\377\15\377" - "\377\377\16\377\377\377\16\377\377\377\16\377\377\377\16\377\377\377\15\377" - "\377\377\14\377\377\377\13\377\377\377\12\377\377\377\11\377\377\377\7\377" - "\377\377\6\377\377\377\5\377\377\377\3\377\377\377\2\377\377\377\1\377\377" - "\377\1\377\377\377\0\377\377\377\0\377\377\377\0\377\377\377\0\377\377\377" - "\0\377\377\377\0\377\377\377\1\377\377\377\2\377\377\377\3\377\377\377\5" - "\377\377\377\7\377\377\377\11\377\377\377\13\377\377\377\15\377\377\377\16" - "\377\377\377\17\377\377\377\17\377\377\377\16\377\377\377\15\377\377\377" - "\13\377\377\377\11\377\377\377\7\377\377\377\5\377\377\377\3\377\377\377" - "\2\377\377\377\1\377\377\377\0\377\377\377\0\377\377\377\0\377\377\377\0" - "\377\377\377\0\377\377\377\0\377\377\377\0\377\377\377\0\377\377\377\1\377" - "\377\377\3\377\377\377\4\377\377\377\6\377\377\377\11\377\377\377\13\377" - "\377\377\14\377\377\377\16\377\377\377\16\377\377\377\16\377\377\377\15\377" - "\377\377\13\377\377\377\11\377\377\377\7\377\377\377\5\377\377\377\3\377" - "\377\377\2\377\377\377\2\377\377\377\2\377\377\377\3\377\377\377\4\377\377" - "\377\6\377\377\377\11\377\377\377\13\377\377\377\15\377\377\377\16\377\377" - "\377\17\377\377\377\20\377\377\377\20\377\377\377\20\377\377\377\20\377\377" - "\377\21\377\377\377\21\377\377\377\21\377\377\377\21\377\377\377\21\377\377" - "\377\21\377\377\377\21\377\377\377\21\377\377\377\21\377\377\377\21\377\377" - "\377\21\377\377\377\21\377\377\377\21\377\377\377\21\377\377\377\21\377\377" - "\377\21\377\377\377\20\377\377\377\20\377\377\377\20\377\377\377\20\377\377" - "\377\17\377\377\377\16\377\377\377\15\377\377\377\14\377\377\377\12\377\377" - "\377\10\377\377\377\7\377\377\377\6\377\377\377\7\377\377\377\10\377\377" - "\377\12\377\377\377\14\377\377\377\15\377\377\377\16\377\377\377\17\377\377" - "\377\20\377\377\377\20\377\377\377\20\377\377\377\20\377\377\377\21\377\377" - "\377\21\377\377\377\21\377\377\377\21\377\377\377\21\377\377\377\21\377\377" - "\377\21\377\377\377\21\377\377\377\21\377\377\377\21\377\377\377\21\377\377" - "\377\21\377\377\377\21\377\377\377\21\377\377\377\21\377\377\377\21\377\377" - "\377\21\377\377\377\21\377\377\377\20\377\377\377\20\377\377\377\20\377\377" - "\377\20\377\377\377\17\377\377\377\16\377\377\377\15\377\377\377\13\377\377" - "\377\11\377\377\377\7\377\377\377\5\377\377\377\3\377\377\377\2\377\377\377" - "\1\377\377\377\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\377\377" - "\377\0\377\377\377\0\377\377\377\0\377\377\377\0\377\377\377\0\377\377\377" - "\0\377\377\377\0\377\377\377\1\377\377\377\2\377\377\377\3\377\377\377\4" - "\377\377\377\6\377\377\377\7\377\377\377\11\377\377\377\13\377\377\377\15" - "\377\377\377\17\377\377\377\20\377\377\377\21\377\377\377\22\377\377\377" - "\21\377\377\377\20\377\377\377\17\377\377\377\15\377\377\377\13\377\377\377" - "\11\377\377\377\7\377\377\377\5\377\377\377\4\377\377\377\3\377\377\377\3" - "\377\377\377\5\377\377\377\12\377\377\377\23\377\377\377$\377\377\377=\377" - "\377\377^\377\377\377\202\250\250\250\273\0\0\0\377\0\0\0\377lll\337\377" - "\377\377\250\377\377\377\215\377\377\377q\377\377\377Z\377\377\377J\377\377" - "\377?\377\377\377:\377\377\3777\377\377\3776\377\377\3775\377\377\3775\377" - "\377\3775\377\377\3774\377\377\3773\377\377\3772\377\377\3770\377\377\377" - ",\377\377\377(\377\377\377#\377\377\377\35\377\377\377\30\377\377\377\23" - "\377\377\377\17\377\377\377\15\377\377\377\15\377\377\377\16\377\377\377" - "\20\377\377\377\23\377\377\377\26\377\377\377\31\377\377\377\35\377\377\377" - "\40\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" - "\37\377\377\377\33\377\377\377\27\377\377\377\23\377\377\377\20\377\377\377" - "\14\377\377\377\11\377\377\377\6\377\377\377\4\377\377\377\3\377\377\377" - "\2\377\377\377\1\377\377\377\1\377\377\377\1\377\377\377\2\377\377\377\4" - "\377\377\377\6\377\377\377\12\377\377\377\16\377\377\377\23\377\377\377\27" - "\377\377\377\33\377\377\377\35\377\377\377\37\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\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\377!\377\377" - "\377\40\377\377\377\37\377\377\377\35\377\377\377\32\377\377\377\26\377\377" - "\377\22\377\377\377\15\377\377\377\11\377\377\377\6\377\377\377\3\377\377" - "\377\2\377\377\377\1\377\377\377\0\377\377\377\0\377\377\377\0\377\377\377" - "\1\377\377\377\1\377\377\377\2\377\377\377\4\377\377\377\5\377\377\377\7" - "\377\377\377\12\377\377\377\14\377\377\377\17\377\377\377\22\377\377\377" - "\25\377\377\377\27\377\377\377\31\377\377\377\33\377\377\377\34\377\377\377" - "\35\377\377\377\35\377\377\377\34\377\377\377\33\377\377\377\32\377\377\377" - "\30\377\377\377\25\377\377\377\23\377\377\377\20\377\377\377\15\377\377\377" - "\13\377\377\377\10\377\377\377\6\377\377\377\4\377\377\377\3\377\377\377" - "\2\377\377\377\1\377\377\377\0\377\377\377\0\377\377\377\0\377\377\377\1" - "\377\377\377\2\377\377\377\4\377\377\377\6\377\377\377\12\377\377\377\16" - "\377\377\377\23\377\377\377\27\377\377\377\32\377\377\377\35\377\377\377" - "\36\377\377\377\36\377\377\377\34\377\377\377\32\377\377\377\26\377\377\377" - "\22\377\377\377\16\377\377\377\12\377\377\377\7\377\377\377\4\377\377\377" - "\2\377\377\377\1\377\377\377\0\377\377\377\0\377\377\377\0\377\377\377\0" - "\377\377\377\0\377\377\377\0\377\377\377\1\377\377\377\3\377\377\377\6\377" - "\377\377\11\377\377\377\15\377\377\377\22\377\377\377\26\377\377\377\31\377" - "\377\377\34\377\377\377\35\377\377\377\34\377\377\377\32\377\377\377\27\377" - "\377\377\23\377\377\377\16\377\377\377\12\377\377\377\7\377\377\377\5\377" - "\377\377\4\377\377\377\4\377\377\377\6\377\377\377\11\377\377\377\15\377" - "\377\377\22\377\377\377\26\377\377\377\32\377\377\377\35\377\377\377\37\377" - "\377\377\40\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\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\377\40\377\377\377\37\377\377\377\35\377\377" - "\377\33\377\377\377\30\377\377\377\24\377\377\377\21\377\377\377\16\377\377" - "\377\15\377\377\377\16\377\377\377\21\377\377\377\24\377\377\377\30\377\377" - "\377\33\377\377\377\35\377\377\377\37\377\377\377\40\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\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" - "\377!\377\377\377!\377\377\377\40\377\377\377\37\377\377\377\35\377\377\377" - "\33\377\377\377\27\377\377\377\23\377\377\377\16\377\377\377\12\377\377\377" - "\6\377\377\377\4\377\377\377\2\377\377\377\1\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\377\377\377\0\377\377\377\0\377\377\377\0\377\377\377\0\377" - "\377\377\0\377\377\377\0\377\377\377\1\377\377\377\1\377\377\377\3\377\377" - "\377\4\377\377\377\6\377\377\377\11\377\377\377\14\377\377\377\20\377\377" - "\377\24\377\377\377\27\377\377\377\33\377\377\377\36\377\377\377\40\377\377" - "\377\"\377\377\377\"\377\377\377\"\377\377\377\40\377\377\377\36\377\377" - "\377\33\377\377\377\27\377\377\377\23\377\377\377\20\377\377\377\14\377\377" - "\377\11\377\377\377\7\377\377\377\6\377\377\377\6\377\377\377\13\377\377" - "\377\24\377\377\377%\377\377\377>\377\377\377`\377\377\377\206\252\252\252" - "\300\0\0\0\377\0\0\0\377rrr\347\377\377\377\277\377\377\377\247\377\377\377" - "\217\377\377\377z\377\377\377l\377\377\377b\377\377\377]\377\377\377[\377" - "\377\377Z\377\377\377Y\377\377\377Y\377\377\377X\377\377\377W\377\377\377" - "V\377\377\377S\377\377\377O\377\377\377I\377\377\377B\377\377\3779\377\377" - "\3770\377\377\377'\377\377\377\40\377\377\377\33\377\377\377\31\377\377\377" - "\31\377\377\377\33\377\377\377\37\377\377\377$\377\377\377*\377\377\377/" - "\377\377\3775\377\377\377:\377\377\377?\377\377\377C\377\377\377F\377\377" - "\377H\377\377\377J\377\377\377I\377\377\377H\377\377\377F\377\377\377B\377" - "\377\377>\377\377\3778\377\377\3772\377\377\377,\377\377\377%\377\377\377" - "\37\377\377\377\30\377\377\377\23\377\377\377\16\377\377\377\11\377\377\377" - "\6\377\377\377\4\377\377\377\2\377\377\377\2\377\377\377\2\377\377\377\4" - "\377\377\377\7\377\377\377\14\377\377\377\23\377\377\377\33\377\377\377#" - "\377\377\377+\377\377\3771\377\377\3776\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\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\377=\377\377\377<\377\377\377;\377" - "\377\3778\377\377\3775\377\377\377/\377\377\377(\377\377\377\40\377\377\377" - "\30\377\377\377\21\377\377\377\13\377\377\377\6\377\377\377\3\377\377\377" - "\1\377\377\377\1\377\377\377\1\377\377\377\1\377\377\377\2\377\377\377\4" - "\377\377\377\6\377\377\377\10\377\377\377\14\377\377\377\20\377\377\377\25" - "\377\377\377\31\377\377\377\36\377\377\377#\377\377\377(\377\377\377,\377" - "\377\3770\377\377\3772\377\377\3774\377\377\3775\377\377\3775\377\377\377" - "4\377\377\3773\377\377\3770\377\377\377-\377\377\377)\377\377\377%\377\377" - "\377\40\377\377\377\33\377\377\377\26\377\377\377\21\377\377\377\15\377\377" - "\377\12\377\377\377\6\377\377\377\4\377\377\377\2\377\377\377\1\377\377\377" - "\1\377\377\377\1\377\377\377\2\377\377\377\4\377\377\377\7\377\377\377\14" - "\377\377\377\23\377\377\377\32\377\377\377#\377\377\377*\377\377\3771\377" - "\377\3775\377\377\3777\377\377\3777\377\377\3775\377\377\3770\377\377\377" - "*\377\377\377#\377\377\377\33\377\377\377\24\377\377\377\15\377\377\377\10" - "\377\377\377\5\377\377\377\2\377\377\377\1\377\377\377\0\377\377\377\0\377" - "\377\377\0\377\377\377\0\377\377\377\1\377\377\377\3\377\377\377\6\377\377" - "\377\13\377\377\377\21\377\377\377\30\377\377\377!\377\377\377(\377\377\377" - "/\377\377\3773\377\377\3775\377\377\3774\377\377\3770\377\377\377*\377\377" - "\377#\377\377\377\33\377\377\377\23\377\377\377\15\377\377\377\11\377\377" - "\377\7\377\377\377\10\377\377\377\14\377\377\377\21\377\377\377\31\377\377" - "\377!\377\377\377)\377\377\377/\377\377\3775\377\377\3779\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\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\377<\377\377\377" - ";\377\377\3779\377\377\3776\377\377\3771\377\377\377+\377\377\377%\377\377" - "\377\36\377\377\377\32\377\377\377\31\377\377\377\32\377\377\377\36\377\377" - "\377%\377\377\377+\377\377\3771\377\377\3776\377\377\3779\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\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\377=\377\377\377" - "=\377\377\377<\377\377\377;\377\377\3779\377\377\3776\377\377\3771\377\377" - "\377*\377\377\377#\377\377\377\32\377\377\377\23\377\377\377\14\377\377\377" - "\7\377\377\377\4\377\377\377\2\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\377\377\377" - "\0\377\377\377\0\377\377\377\0\377\377\377\0\377\377\377\0\377\377\377\0" - "\377\377\377\1\377\377\377\2\377\377\377\4\377\377\377\6\377\377\377\11\377" - "\377\377\15\377\377\377\22\377\377\377\30\377\377\377\36\377\377\377%\377" - "\377\377+\377\377\3771\377\377\3776\377\377\3779\377\377\377<\377\377\377" - "=\377\377\377<\377\377\3779\377\377\3776\377\377\3771\377\377\377+\377\377" - "\377$\377\377\377\36\377\377\377\30\377\377\377\22\377\377\377\15\377\377" - "\377\12\377\377\377\12\377\377\377\15\377\377\377\26\377\377\377&\377\377" - "\377@\377\377\377b\377\377\377\212\254\254\254\305\0\0\0\377\0\0\0\377xx" - "x\363\377\377\377\334\377\377\377\312\377\377\377\266\377\377\377\245\377" - "\377\377\230\377\377\377\220\377\377\377\213\377\377\377\211\377\377\377" - "\210\377\377\377\210\377\377\377\207\377\377\377\206\377\377\377\204\377" - "\377\377\201\377\377\377}\377\377\377v\377\377\377m\377\377\377b\377\377" - "\377U\377\377\377H\377\377\377<\377\377\3772\377\377\377,\377\377\377*\377" - "\377\377+\377\377\3770\377\377\3777\377\377\377?\377\377\377H\377\377\377" - "Q\377\377\377Y\377\377\377`\377\377\377g\377\377\377l\377\377\377q\377\377" - "\377t\377\377\377u\377\377\377u\377\377\377t\377\377\377p\377\377\377k\377" - "\377\377e\377\377\377^\377\377\377U\377\377\377K\377\377\377A\377\377\377" - "7\377\377\377-\377\377\377#\377\377\377\32\377\377\377\23\377\377\377\15" - "\377\377\377\11\377\377\377\6\377\377\377\4\377\377\377\5\377\377\377\7\377" - "\377\377\15\377\377\377\25\377\377\377\40\377\377\377,\377\377\377:\377\377" - "\377G\377\377\377R\377\377\377Z\377\377\377`\377\377\377c\377\377\377e\377" - "\377\377f\377\377\377f\377\377\377f\377\377\377f\377\377\377f\377\377\377" - "f\377\377\377f\377\377\377f\377\377\377f\377\377\377f\377\377\377f\377\377" - "\377f\377\377\377f\377\377\377f\377\377\377f\377\377\377f\377\377\377f\377" - "\377\377f\377\377\377f\377\377\377e\377\377\377d\377\377\377b\377\377\377" - "^\377\377\377W\377\377\377N\377\377\377C\377\377\3776\377\377\377)\377\377" - "\377\34\377\377\377\22\377\377\377\13\377\377\377\6\377\377\377\3\377\377" - "\377\2\377\377\377\2\377\377\377\3\377\377\377\5\377\377\377\10\377\377\377" - "\14\377\377\377\21\377\377\377\30\377\377\377\37\377\377\377'\377\377\377" - "/\377\377\3777\377\377\377?\377\377\377F\377\377\377M\377\377\377R\377\377" - "\377V\377\377\377X\377\377\377Z\377\377\377Z\377\377\377Y\377\377\377V\377" - "\377\377S\377\377\377N\377\377\377H\377\377\377A\377\377\377:\377\377\377" - "2\377\377\377)\377\377\377!\377\377\377\32\377\377\377\23\377\377\377\16" - "\377\377\377\11\377\377\377\6\377\377\377\3\377\377\377\2\377\377\377\2\377" - "\377\377\3\377\377\377\7\377\377\377\14\377\377\377\24\377\377\377\37\377" - "\377\377,\377\377\377:\377\377\377G\377\377\377Q\377\377\377Y\377\377\377" - "\\\377\377\377\\\377\377\377Y\377\377\377R\377\377\377H\377\377\377<\377" - "\377\3770\377\377\377#\377\377\377\30\377\377\377\20\377\377\377\11\377\377" - "\377\5\377\377\377\2\377\377\377\1\377\377\377\0\377\377\377\0\377\377\377" - "\1\377\377\377\3\377\377\377\6\377\377\377\13\377\377\377\22\377\377\377" - "\35\377\377\377)\377\377\3776\377\377\377C\377\377\377N\377\377\377U\377" - "\377\377X\377\377\377V\377\377\377P\377\377\377F\377\377\377:\377\377\377" - ",\377\377\377\40\377\377\377\26\377\377\377\17\377\377\377\14\377\377\377" - "\16\377\377\377\24\377\377\377\35\377\377\377)\377\377\3777\377\377\377D" - "\377\377\377O\377\377\377X\377\377\377_\377\377\377c\377\377\377e\377\377" - "\377f\377\377\377f\377\377\377f\377\377\377f\377\377\377f\377\377\377f\377" - "\377\377f\377\377\377f\377\377\377f\377\377\377f\377\377\377f\377\377\377" - "f\377\377\377f\377\377\377f\377\377\377f\377\377\377f\377\377\377f\377\377" - "\377f\377\377\377f\377\377\377e\377\377\377d\377\377\377b\377\377\377_\377" - "\377\377Z\377\377\377R\377\377\377H\377\377\377=\377\377\3773\377\377\377" - ",\377\377\377)\377\377\377,\377\377\3773\377\377\377=\377\377\377H\377\377" - "\377R\377\377\377Z\377\377\377_\377\377\377b\377\377\377d\377\377\377e\377" - "\377\377f\377\377\377f\377\377\377f\377\377\377f\377\377\377f\377\377\377" - "f\377\377\377g\377\377\377g\377\377\377g\377\377\377g\377\377\377g\377\377" - "\377g\377\377\377g\377\377\377g\377\377\377f\377\377\377f\377\377\377f\377" - "\377\377f\377\377\377f\377\377\377f\377\377\377e\377\377\377d\377\377\377" - "b\377\377\377_\377\377\377Y\377\377\377Q\377\377\377F\377\377\3779\377\377" - "\377,\377\377\377\37\377\377\377\24\377\377\377\14\377\377\377\6\377\377" - "\377\3\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\377\377\377\0\377\377\377\0\377\377\377\0" - "\377\377\377\0\377\377\377\0\377\377\377\0\377\377\377\1\377\377\377\2\377" - "\377\377\5\377\377\377\10\377\377\377\14\377\377\377\22\377\377\377\31\377" - "\377\377!\377\377\377*\377\377\3774\377\377\377>\377\377\377G\377\377\377" - "P\377\377\377W\377\377\377]\377\377\377`\377\377\377a\377\377\377`\377\377" - "\377]\377\377\377W\377\377\377P\377\377\377G\377\377\377>\377\377\3774\377" - "\377\377*\377\377\377!\377\377\377\31\377\377\377\23\377\377\377\20\377\377" - "\377\21\377\377\377\30\377\377\377(\377\377\377B\377\377\377e\377\377\377" - "\220\257\257\257\314\0\0\0\377\0\0\0\377\177\177\177\377\377\377\377\376" - "\377\377\377\362\377\377\377\343\377\377\377\325\377\377\377\313\377\377" - "\377\304\377\377\377\300\377\377\377\277\377\377\377\276\377\377\377\275" - "\377\377\377\274\377\377\377\272\377\377\377\267\377\377\377\262\377\377" - "\377\253\377\377\377\241\377\377\377\224\377\377\377\204\377\377\377s\377" - "\377\377b\377\377\377S\377\377\377H\377\377\377B\377\377\377B\377\377\377" - "G\377\377\377O\377\377\377Z\377\377\377f\377\377\377r\377\377\377~\377\377" - "\377\211\377\377\377\222\377\377\377\232\377\377\377\241\377\377\377\246" - "\377\377\377\252\377\377\377\254\377\377\377\254\377\377\377\252\377\377" - "\377\246\377\377\377\240\377\377\377\230\377\377\377\217\377\377\377\203" - "\377\377\377w\377\377\377i\377\377\377Z\377\377\377K\377\377\377<\377\377" - "\377.\377\377\377\"\377\377\377\30\377\377\377\21\377\377\377\13\377\377" - "\377\10\377\377\377\10\377\377\377\14\377\377\377\24\377\377\377\40\377\377" - "\3770\377\377\377D\377\377\377Y\377\377\377m\377\377\377}\377\377\377\212" - "\377\377\377\223\377\377\377\230\377\377\377\233\377\377\377\234\377\377" - "\377\234\377\377\377\234\377\377\377\233\377\377\377\233\377\377\377\233" - "\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\232\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\231\377\377\377\227\377\377\377\224\377\377\377\216\377\377\377\204" - "\377\377\377w\377\377\377f\377\377\377R\377\377\377>\377\377\377+\377\377" - "\377\34\377\377\377\20\377\377\377\11\377\377\377\5\377\377\377\4\377\377" - "\377\4\377\377\377\6\377\377\377\12\377\377\377\20\377\377\377\27\377\377" - "\377\40\377\377\377+\377\377\3776\377\377\377C\377\377\377O\377\377\377[" - "\377\377\377f\377\377\377p\377\377\377y\377\377\377\200\377\377\377\205\377" - "\377\377\211\377\377\377\213\377\377\377\213\377\377\377\211\377\377\377" - "\206\377\377\377\201\377\377\377{\377\377\377s\377\377\377i\377\377\377_" - "\377\377\377S\377\377\377G\377\377\377:\377\377\377.\377\377\377#\377\377" - "\377\31\377\377\377\21\377\377\377\13\377\377\377\7\377\377\377\4\377\377" - "\377\4\377\377\377\6\377\377\377\13\377\377\377\23\377\377\377\40\377\377" - "\3770\377\377\377D\377\377\377Y\377\377\377l\377\377\377|\377\377\377\210" - "\377\377\377\216\377\377\377\216\377\377\377\211\377\377\377\177\377\377" - "\377q\377\377\377_\377\377\377L\377\377\377:\377\377\377)\377\377\377\33" - "\377\377\377\21\377\377\377\11\377\377\377\5\377\377\377\2\377\377\377\1" - "\377\377\377\1\377\377\377\2\377\377\377\4\377\377\377\11\377\377\377\21" - "\377\377\377\34\377\377\377,\377\377\377?\377\377\377S\377\377\377g\377\377" - "\377w\377\377\377\202\377\377\377\206\377\377\377\204\377\377\377z\377\377" - "\377k\377\377\377Y\377\377\377D\377\377\3771\377\377\377!\377\377\377\27" - "\377\377\377\23\377\377\377\26\377\377\377\37\377\377\377-\377\377\377?\377" - "\377\377T\377\377\377h\377\377\377y\377\377\377\207\377\377\377\221\377\377" - "\377\227\377\377\377\232\377\377\377\233\377\377\377\234\377\377\377\234" - "\377\377\377\233\377\377\377\233\377\377\377\233\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\232\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\231\377\377\377\230" - "\377\377\377\225\377\377\377\220\377\377\377\210\377\377\377|\377\377\377" - "m\377\377\377\\\377\377\377M\377\377\377B\377\377\377>\377\377\377B\377\377" - "\377M\377\377\377\\\377\377\377m\377\377\377|\377\377\377\210\377\377\377" - "\220\377\377\377\225\377\377\377\230\377\377\377\231\377\377\377\232\377" - "\377\377\232\377\377\377\233\377\377\377\233\377\377\377\233\377\377\377" - "\234\377\377\377\234\377\377\377\235\377\377\377\235\377\377\377\235\377" - "\377\377\235\377\377\377\235\377\377\377\235\377\377\377\234\377\377\377" - "\234\377\377\377\234\377\377\377\233\377\377\377\233\377\377\377\232\377" - "\377\377\232\377\377\377\231\377\377\377\230\377\377\377\225\377\377\377" - "\220\377\377\377\207\377\377\377{\377\377\377k\377\377\377W\377\377\377C" - "\377\377\377/\377\377\377\37\377\377\377\22\377\377\377\12\377\377\377\5" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\377\377\377\0\377\377\377\0\377\377\377\0\377\377\377\0" - "\377\377\377\0\377\377\377\0\377\377\377\1\377\377\377\3\377\377\377\5\377" - "\377\377\11\377\377\377\17\377\377\377\26\377\377\377\40\377\377\377+\377" - "\377\3777\377\377\377E\377\377\377S\377\377\377`\377\377\377m\377\377\377" - "x\377\377\377\202\377\377\377\211\377\377\377\215\377\377\377\217\377\377" - "\377\215\377\377\377\211\377\377\377\202\377\377\377y\377\377\377m\377\377" - "\377`\377\377\377R\377\377\377D\377\377\3776\377\377\377*\377\377\377\40" - "\377\377\377\31\377\377\377\30\377\377\377\35\377\377\377+\377\377\377E\377" - "\377\377i\377\377\377\225\262\262\262\323\0\0\0\377\0\0\0\377\40Dn\377@\211" - "\334\377@\211\334\377@\211\334\377@\211\334\377?\211\334\377>\211\334\376" - ">\210\334\375>\210\334\375=\210\334\374=\210\334\374=\210\334\374<\207\334" - "\373;\207\333\372:\206\333\3708\205\333\3655\203\332\3621\200\331\355-~\331" - "\350({\330\343#x\327\336){\330\321\237\304\356\200\377\377\377_\377\377\377" - "b\377\377\377k\377\377\377x\377\377\377\210\377\377\377\227\377\377\377\247" - "\377\377\377\265\377\377\377\301\377\377\377\313\354\354\354\327\270\270" - "\270\344\271\271\271\350\210\210\210\360xxx\363yyy\363\210\210\210\361\271" - "\271\271\351\270\270\270\344\354\354\354\326\377\377\377\311\377\377\377" - "\274\377\377\377\254\377\377\377\233\377\377\377\210\377\377\377s\377\377" - "\377_\377\377\377L\377\377\377:\377\377\377*\377\377\377\35\377\377\377\24" - "\377\377\377\17\377\377\377\16\377\377\377\22\377\377\377\34\377\377\377" - "-\377\377\377D\377\377\377`\377\377\377}\377\377\377\231\377\377\377\261" - "\377\377\377\302\377\377\377\316\377\377\377\325\377\377\377\331\377\377" - "\377\332\377\377\377\332\377\377\377\332\377\377\377\331\377\377\377\330" - "\377\377\377\327\377\377\377\327\377\377\377\326\377\377\377\326\377\377" - "\377\326\377\377\377\326\377\377\377\326\377\377\377\326\377\377\377\326" - "\377\377\377\326\377\377\377\326\377\377\377\326\377\377\377\326\377\377" - "\377\325\377\377\377\324\377\377\377\322\377\377\377\315\377\377\377\305" - "\377\377\377\267\377\377\377\245\377\377\377\215\377\377\377r\377\377\377" - "V\377\377\377<\377\377\377'\377\377\377\27\377\377\377\15\377\377\377\10" - "\377\377\377\6\377\377\377\10\377\377\377\14\377\377\377\23\377\377\377\35" - "\377\377\377)\377\377\3777\377\377\377G\377\377\377X\377\377\377j\377\377" - "\377z\377\377\377\212\377\377\377\230\377\377\377\245\377\377\377\257\377" - "\377\377\267\377\377\377\275\377\377\377\301\377\377\377\304\377\377\377" - "\304\377\377\377\302\377\377\377\277\377\377\377\271\377\377\377\262\377" - "\377\377\250\377\377\377\235\377\377\377\217\377\377\377\200\377\377\377" - "o\377\377\377^\377\377\377L\377\377\377;\377\377\377,\377\377\377\37\377" - "\377\377\24\377\377\377\15\377\377\377\10\377\377\377\7\377\377\377\11\377" - "\377\377\17\377\377\377\33\377\377\377-\377\377\377D\377\377\377`\377\377" - "\377}\377\377\377\231\377\377\377\257\377\377\377\277\377\377\377\310\377" - "\377\377\311\377\377\377\303\377\377\377\266\377\377\377\243\377\377\377" - "\214\377\377\377r\377\377\377X\377\377\377?\377\377\377+\377\377\377\34\377" - "\377\377\20\377\377\377\11\377\377\377\5\377\377\377\2\377\377\377\2\377" - "\377\377\3\377\377\377\6\377\377\377\15\377\377\377\27\377\377\377(\377\377" - "\377>\377\377\377Y\377\377\377u\377\377\377\221\377\377\377\247\377\377\377" - "\267\377\377\377\275\377\377\377\271\377\377\377\254\377\377\377\227\377" - "\377\377}\377\377\377`\377\377\377E\377\377\377/\377\377\377!\377\377\377" - "\33\377\377\377\37\377\377\377+\377\377\377?\377\377\377Y\377\377\377v\377" - "\377\377\222\377\377\377\253\377\377\377\276\377\377\377\313\377\377\377" - "\324\377\377\377\330\377\377\377\332\377\377\377\332\377\377\377\331\377" - "\377\377\331\377\377\377\330\377\377\377\327\377\377\377\327\377\377\377" - "\326\377\377\377\326\377\377\377\326\377\377\377\326\377\377\377\326\377" - "\377\377\326\377\377\377\326\377\377\377\326\377\377\377\326\377\377\377" - "\326\377\377\377\326\377\377\377\325\377\377\377\325\377\377\377\323\377" - "\377\377\317\377\377\377\310\377\377\377\274\377\377\377\254\377\377\377" - "\227\377\377\377\200\377\377\377k\377\377\377\\\377\377\377V\377\377\377" - "\\\377\377\377k\377\377\377\200\377\377\377\227\377\377\377\254\377\377\377" - "\274\377\377\377\310\377\377\377\317\377\377\377\323\377\377\377\325\377" - "\377\377\326\377\377\377\326\377\377\377\327\377\377\377\330\377\377\377" - "\331\377\377\377\332\377\377\377\333\377\377\377\334\377\377\377\334\377" - "\377\377\335\377\377\377\335\377\377\377\334\377\377\377\334\377\377\377" - "\333\377\377\377\332\377\377\377\331\377\377\377\330\377\377\377\327\377" - "\377\377\327\377\377\377\326\377\377\377\325\377\377\377\323\377\377\377" - "\317\377\377\377\310\377\377\377\274\377\377\377\253\377\377\377\224\377" - "\377\377y\377\377\377\\\377\377\377B\377\377\377+\377\377\377\32\377\377" - "\377\16\377\377\377\7\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\377\377\377\0\377\377\377\0\377\377\377\0\377" - "\377\377\0\377\377\377\0\377\377\377\0\377\377\377\1\377\377\377\3\377\377" - "\377\6\377\377\377\12\377\377\377\21\377\377\377\32\377\377\377%\377\377" - "\3773\377\377\377C\377\377\377U\377\377\377g\377\377\377y\377\377\377\212" - "\377\377\377\231\377\377\377\247\351\351\351\266\257\257\257\313\260\260" - "\260\316\260\260\260\320\260\260\260\317\257\257\257\313\351\351\351\267" - "\377\377\377\247\377\377\377\232\377\377\377\212\377\377\377x\377\377\377" - "f\377\377\377T\377\377\377C\377\377\3774\377\377\377(\377\377\377\"\377\377" - "\377$\377\377\3770\377\377\377H\377\377\377m\377\377\377\232\264\264\264" - "\330\0\0\0\377\0\0\0\377\0""1h\377\0b\320\377\0b\320\377\0b\320\377\0b\320" - "\377\0b\320\377\0b\320\377\0b\320\377\0b\320\377\0b\320\377\0b\320\377\0" - "b\320\377\0b\320\377\0b\320\377\0b\320\377\0b\320\377\0b\320\377\0b\320\377" - "\0b\320\377\0b\320\3775\203\332\335\310\336\365\225\377\377\377\177\377\377" - "\377\201\377\377\377\212\377\377\377\231\377\377\377\253\377\377\377\276" - "\354\354\354\323\250\250\250\353lll\370???\377\0\0\0\377\0\0\0\377\0\0\0" - "\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377" - "\0\0\0\377\20\20\20\377NNN\375\211\211\211\362\332\332\332\332\377\377\377" - "\276\377\377\377\246\377\377\377\214\377\377\377r\377\377\377Y\377\377\377" - "C\377\377\3770\377\377\377\"\377\377\377\30\377\377\377\25\377\377\377\32" - "\377\377\377&\377\377\377<\377\377\377Z\377\377\377~\0\0\0\377\0\0\0\377" - "\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0" - "\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0" - "\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0" - "\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377" - "\0\0\0\377\0\0\0\377(((\344\377\377\377m\377\377\377M\377\377\3771\377\377" - "\377\36\377\377\377\21\377\377\377\13\377\377\377\12\377\377\377\16\377\377" - "\377\25\377\377\377!\377\377\3770\377\377\377B\377\377\377W\377\377\377m" - "\377\377\377\204\377\377\377\232\377\377\377\257\377\377\377\302\331\331" - "\331\327\250\250\250\351yyy\365===\374>>>\376???\376\37\37\37\377\17\17\17" - "\377???\377???\376>>>\375zzz\366\230\230\230\356\310\310\310\337\377\377" - "\377\310\377\377\377\266\377\377\377\242\377\377\377\213\377\377\377t\377" - "\377\377\\\377\377\377F\377\377\3772\377\377\377\"\377\377\377\26\377\377" - "\377\16\377\377\377\13\377\377\377\15\377\377\377\25\377\377\377#\377\377" - "\377:\377\377\377Y\377\377\377}\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0" - "\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\260\260\260\317\377\377" - "\377\236\377\377\377|\377\377\377]\377\377\377A\377\377\377+\377\377\377" - "\33\377\377\377\17\377\377\377\10\377\377\377\5\377\377\377\3\377\377\377" - "\4\377\377\377\10\377\377\377\21\377\377\377\37\377\377\3774\377\377\377" - "Q\377\377\377t***\346\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0" - "\0\0\377\0\0\0\377\0\0\0\377\377\377\377}\377\377\377Z\377\377\377>\377\377" - "\377+\377\377\377$\377\377\377(\377\377\3779\377\377\377S\377\377\377u++" - "+\346\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377" - "\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0" - "\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0" - "\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0" - "\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\377\377\377\210\377\377\377" - "u\377\377\377n\377\377\377u\377\377\377\210\0\0\0\377\0\0\0\377\0\0\0\377" - "\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0" - "\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0" - "\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0" - "\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377" - "\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\377\377\377v\377\377\377T\377\377" - "\3777\377\377\377!\377\377\377\22\377\377\377\11\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\377\377\377\0\377" - "\377\377\0\377\377\377\0\377\377\377\0\377\377\377\0\377\377\377\1\377\377" - "\377\3\377\377\377\6\377\377\377\12\377\377\377\22\377\377\377\34\377\377" - "\377*\377\377\377:\377\377\377N\377\377\377c\377\377\377y\377\377\377\217" - "\377\377\377\244\256\256\256\311RRR\353\33\33\33\372\0\0\0\377\0\0\0\377" - "\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\33\33\33\372RRR\353\256" - "\256\256\312\377\377\377\244\377\377\377\217\377\377\377x\377\377\377b\377" - "\377\377M\377\377\377=\377\377\3772\377\377\377/\377\377\3778\377\377\377" - "N\377\377\377q\377\377\377\237\265\265\265\335\0\0\0\377\0\0\0\377\0""1h" - "\377\0b\320\377\0b\320\377\0b\320\377\0b\320\377\0b\320\377\0b\320\377\0" - "b\320\377\0b\320\377\0b\320\377\0b\320\377\0b\320\377\0b\320\377\0b\320\377" - "\0b\320\377\0b\320\377\0b\320\377\0b\320\377\0b\320\377y\255\347\326\377" - "\377\377\246\377\377\377\237\377\377\377\240\377\377\377\251\377\377\377" - "\270\377\377\377\314\271\271\271\351NNN\375\0\0\0\377\0\0\0\377\0\0\0\377" - "\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0" - "\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0" - "\0\377\0\0\0\377>>>\376\270\270\270\346\377\377\377\300\377\377\377\240\377" - "\377\377\201\377\377\377c\377\377\377I\377\377\3774\377\377\377&\377\377" - "\377\37\377\377\377#\377\377\3771\377\377\377J\377\377\377n\377\377\377\232" - "\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0" - "\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0" - "\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0" - "\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377" - "\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377...\352\377\377\377\200\377\377\377" - "Z\377\377\377:\377\377\377#\377\377\377\25\377\377\377\17\377\377\377\20" - "\377\377\377\26\377\377\377\"\377\377\3774\377\377\377I\377\377\377c\377" - "\377\377\177\377\377\377\234\377\377\377\270\331\331\331\327yyy\364///\377" - "\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0" - "\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\40\40" - "\40\377\\\\\\\372\267\267\267\344\377\377\377\300\377\377\377\243\377\377" - "\377\205\377\377\377g\377\377\377L\377\377\3775\377\377\377#\377\377\377" - "\27\377\377\377\21\377\377\377\22\377\377\377\32\377\377\377,\377\377\377" - "H\377\377\377m\377\377\377\231\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0" - "\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\17\17\17\377\331\331\331" - "\325\377\377\377\247\377\377\377\177\377\377\377\\\377\377\377?\377\377\377" - ")\377\377\377\31\377\377\377\16\377\377\377\10\377\377\377\5\377\377\377" - "\6\377\377\377\13\377\377\377\25\377\377\377&\377\377\377@\377\377\377c\377" - "\377\377\216222\356\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0" - "\0\377\0\0\0\377\0\0\0\377\377\377\377\231\377\377\377n\377\377\377L\377" - "\377\3775\377\377\377,\377\377\3771\377\377\377E\377\377\377e\377\377\377" - "\217222\357\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0" - "\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0" - "\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0" - "\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377" - "\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\377\377\377\240\377\377" - "\377\211\377\377\377\201\377\377\377\211\377\377\377\240\0\0\0\377\0\0\0" - "\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377" - "\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0" - "\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0" - "\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0" - "\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\377\377\377\212\377" - "\377\377b\377\377\377@\377\377\377&\377\377\377\25\377\377\377\12\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\377\377" - "\377\0\377\377\377\0\377\377\377\0\377\377\377\0\377\377\377\0\377\377\377" - "\1\377\377\377\2\377\377\377\5\377\377\377\12\377\377\377\22\377\377\377" - "\35\377\377\377,\377\377\377?\377\377\377U\377\377\377n\377\377\377\210\377" - "\377\377\242\235\235\235\320\32\32\32\372\0\0\0\377\0\0\0\377\0\0\0\377\0" - "\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0" - "\0\377\0\0\0\377\0\0\0\377777\364\257\257\257\314\377\377\377\241\377\377" - "\377\207\377\377\377m\377\377\377W\377\377\377F\377\377\377>\377\377\377" - "C\377\377\377U\377\377\377v\377\377\377\242\266\266\266\340\0\0\0\377\0\0" - "\0\377\0""1h\377\0b\320\377\0b\320\377\0b\320\377\0b\320\377\0b\320\377\0" - "b\320\377\0b\320\377\0b\320\377\0b\320\377\0b\320\377\0b\320\377\0b\320\377" - "\0b\320\377\0b\320\377\0b\320\377\0b\320\377\16k\323\376\264\321\362\331" - "\377\377\377\276\377\377\377\267\377\377\377\270\377\377\377\303\377\377" - "\377\324\314\314\314\356@@@\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0" - "\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0" - "\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0" - "\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377>>>\375\332\332\332\331\377\377" - "\377\256\377\377\377\212\377\377\377h\377\377\377L\377\377\3777\377\377\377" - ",\377\377\377-\377\377\377;\377\377\377W\377\377\377\200\377\377\377\262" - "\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0" - "\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0" - "\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0" - "\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377" - "\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377111\356\377\377\377\213\377\377\377" - "a\377\377\377@\377\377\377'\377\377\377\31\377\377\377\24\377\377\377\27" - "\377\377\377\"\377\377\3774\377\377\377L\377\377\377j\377\377\377\213\377" - "\377\377\256\331\331\331\326\\\\\\\371\0\0\0\377\0\0\0\377\0\0\0\377\0\0" - "\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0" - "\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377" - "\0\0\0\377\0\0\0\377\37\37\37\376\224\224\224\346\377\377\377\263\377\377" - "\377\216\377\377\377k\377\377\377M\377\377\3774\377\377\377\"\377\377\377" - "\30\377\377\377\27\377\377\377\40\377\377\3773\377\377\377S\377\377\377~" - "\377\377\377\261\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0" - "\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377000\377\354\354\354\327\377\377" - "\377\247\377\377\377}\377\377\377Y\377\377\377<\377\377\377&\377\377\377" - "\27\377\377\377\15\377\377\377\11\377\377\377\10\377\377\377\15\377\377\377" - "\30\377\377\377,\377\377\377J\377\377\377s\377\377\377\244888\366\0\0\0\377" - "\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\377" - "\377\377\261\377\377\377\177\377\377\377W\377\377\377=\377\377\3773\377\377" - "\3779\377\377\377P\377\377\377u\377\377\377\245888\366\0\0\0\377\0\0\0\377" - "\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0" - "\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0" - "\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0" - "\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377" - "\0\0\0\377\0\0\0\377\377\377\377\255\377\377\377\224\377\377\377\214\377" - "\377\377\224\377\377\377\255\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0" - "\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0" - "\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377" - "\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0" - "\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0" - "\0\377\0\0\0\377\0\0\0\377\377\377\377\226\377\377\377j\377\377\377F\377" - "\377\377*\377\377\377\27\377\377\377\13\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\377\377\377\0\377\377\377\0\377\377" - "\377\0\377\377\377\0\377\377\377\0\377\377\377\2\377\377\377\4\377\377\377" - "\11\377\377\377\20\377\377\377\34\377\377\377+\377\377\377@\377\377\377Y" - "\377\377\377u\377\377\377\222\323\323\323\272666\363\0\0\0\377\0\0\0\377" - "\0\0\0\377\0\0\0\377000\377ppp\377\40\40\40\377\0\0\0\377\0\0\0\377\0\0\0" - "\377\40\40\40\377ppp\377000\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377D" - "DD\357\351\351\351\264\377\377\377\221\377\377\377v\377\377\377`\377\377" - "\377R\377\377\377Q\377\377\377_\377\377\377|\377\377\377\246\267\267\267" - "\342\0\0\0\377\0\0\0\377\40Dn\377@\211\334\377@\211\334\377@\211\334\377" - "@\211\334\377@\211\334\377@\211\334\377@\211\334\377@\211\334\377@\211\334" - "\377@\211\334\377@\211\334\377@\211\334\377@\211\334\377@\211\334\377@\211" - "\334\377<\207\333\372\310\336\365\337\377\377\377\312\377\377\377\304\377" - "\377\377\310\377\377\377\324\377\377\377\350\177\177\177\377\0\0\0\377\0" - "\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0" - "\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0" - "\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377" - "\0\0\0\377\0\0\0\377\0\0\0\377\20\20\20\377\226\226\226\352\377\377\377\264" - "\377\377\377\213\377\377\377h\377\377\377L\377\377\377;\377\377\3778\377" - "\377\377E\377\377\377b\377\377\377\216\377\377\377\304\0\0\0\377\0\0\0\377" - "\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0" - "\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0" - "\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0" - "\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377" - "\0\0\0\377\0\0\0\377111\356\377\377\377\213\377\377\377b\377\377\377@\377" - "\377\377(\377\377\377\34\377\377\377\31\377\377\377\40\377\377\3770\377\377" - "\377I\377\377\377i\377\377\377\217\377\377\377\267\207\207\207\356\20\20" - "\20\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0" - "\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377" - "\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0" - "\0\0\377\0\0\0\377YYY\364\377\377\377\270\377\377\377\216\377\377\377h\377" - "\377\377G\377\377\377/\377\377\377!\377\377\377\35\377\377\377%\377\377\377" - ":\377\377\377\\\377\377\377\213\377\377\377\303\0\0\0\377\0\0\0\377\0\0\0" - "\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377" - "\0\0\0\377PPP\377\377\377\377\322\377\377\377\242\377\377\377x\377\377\377" - "T\377\377\3777\377\377\377#\377\377\377\25\377\377\377\16\377\377\377\13" - "\377\377\377\17\377\377\377\33\377\377\3771\377\377\377R\377\377\377~\377" - "\377\377\264<<<\373\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0" - "\0\377\0\0\0\377\0\0\0\377\377\377\377\303\377\377\377\214\377\377\377`\377" - "\377\377C\377\377\3778\377\377\377?\377\377\377X\377\377\377\201\377\377" - "\377\265===\373\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377" - "\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0" - "\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0" - "\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0" - "\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\377\377\377\255\377" - "\377\377\224\377\377\377\214\377\377\377\224\377\377\377\255\0\0\0\377\0" - "\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0" - "\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0" - "\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377" - "\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0" - "\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\377\377\377\226" - "\377\377\377j\377\377\377F\377\377\377*\377\377\377\27\377\377\377\13\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\377\377\377" - "\0\377\377\377\0\377\377\377\0\377\377\377\0\377\377\377\0\377\377\377\1" - "\377\377\377\3\377\377\377\7\377\377\377\16\377\377\377\31\377\377\377(\377" - "\377\377>\377\377\377X\377\377\377v\377\377\377\227\256\256\256\312\15\15" - "\15\375\0\0\0\377\0\0\0\377\20\20\20\377\177\177\177\377\337\337\337\377" - "\377\377\377\377\277\277\277\377000\377000\377\277\277\277\377\20\20\20\377" - "000\377\317\317\317\377\377\377\377\377\317\317\317\377```\377\0\0\0\377" - "\0\0\0\377\0\0\0\377\33\33\33\372\301\301\301\305\377\377\377\230\377\377" - "\377}\377\377\377i\377\377\377b\377\377\377k\377\377\377\204\377\377\377" - "\253\267\267\267\343\0\0\0\377\0\0\0\377\177\177\177\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\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\354\377\377\377\331\377\377\377\314\377\377\377\310\377\377\377\315" - "\377\377\377\334\377\377\377\363```\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0" - "\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0" - "\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377" - "\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0" - "\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377ggg\360\377\377\377\257\377\377\377" - "\205\377\377\377b\377\377\377L\377\377\377D\377\377\377O\377\377\377k\377" - "\377\377\230\377\377\377\321\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0" - "\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0" - "\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377" - "\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0" - "\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377...\352" - "\377\377\377\201\377\377\377[\377\377\377<\377\377\377'\377\377\377\35\377" - "\377\377\36\377\377\377*\377\377\377A\377\377\377a\377\377\377\211\377\377" - "\377\266YYY\365\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377" - "\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0" - "\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0" - "\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377XXX\364\377\377\377" - "\261\377\377\377\204\377\377\377]\377\377\377>\377\377\377+\377\377\377#" - "\377\377\377*\377\377\377>\377\377\377b\377\377\377\224\377\377\377\317\0" - "\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0" - "\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\177\177\177\377\377\377\377" - "\313\377\377\377\233\377\377\377q\377\377\377N\377\377\3773\377\377\377\40" - "\377\377\377\25\377\377\377\20\377\377\377\23\377\377\377\36\377\377\377" - "4\377\377\377W\377\377\377\206\377\377\377\277???\377\0\0\0\377\0\0\0\377" - "\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\377\377\377" - "\317\377\377\377\225\377\377\377f\377\377\377G\377\377\377;\377\377\377C" - "\377\377\377^\377\377\377\211\377\377\377\301@@@\377\0\0\0\377\0\0\0\377" - "\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0" - "\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0" - "\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0" - "\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377" - "\0\0\0\377\0\0\0\377\377\377\377\240\377\377\377\211\377\377\377\201\377" - "\377\377\211\377\377\377\240\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0" - "\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0" - "\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377" - "\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0" - "\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0" - "\0\377\0\0\0\377\0\0\0\377\377\377\377\212\377\377\377b\377\377\377@\377" - "\377\377&\377\377\377\25\377\377\377\12\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\377\377\377\0\377\377\377\0\377\377\377\0" - "\377\377\377\0\377\377\377\1\377\377\377\2\377\377\377\5\377\377\377\13\377" - "\377\377\25\377\377\377#\377\377\3778\377\377\377S\377\377\377s\377\377\377" - "\226\214\214\214\324\0\0\0\377\0\0\0\377\0\0\0\377PPP\377\357\357\357\377" - "\337\337\337\377```\377\20\20\20\377\0\0\0\377\20\20\20\377\317\317\317\377" - "\377\377\377\377\237\237\237\377\0\0\0\377\0\0\0\377\20\20\20\377```\377" - "\337\337\337\377\277\277\277\377000\377\0\0\0\377\0\0\0\377\15\15\15\375" - "\302\302\302\310\377\377\377\234\377\377\377\204\377\377\377w\377\377\377" - "z\377\377\377\216\377\377\377\261\270\270\270\345\0\0\0\377\0\0\0\377@Yt" - "\377\177\260\350\377\177\260\350\377\177\260\350\377\177\260\350\377\177" - "\260\350\377\177\260\350\377\177\260\350\377\177\260\350\377\177\260\350" - "\377\177\260\350\377\177\260\350\377\177\260\350\377\177\260\350\377z\255" - "\347\366\267\323\362\342\377\377\377\311\377\377\377\304\377\377\377\312" - "\377\377\377\332\377\377\377\364```\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0" - "\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0" - "\377\40\40\40\377```\377\177\177\177\377\257\257\257\377\277\277\277\376" - "\237\237\237\377ppp\377000\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0" - "\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0" - "\0\377\243\243\243\336\377\377\377\240\377\377\377x\377\377\377\\\377\377" - "\377P\377\377\377W\377\377\377r\377\377\377\237\377\377\377\331\0\0\0\377" - "\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0" - "\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0" - "\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0" - "\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377" - "\0\0\0\377\0\0\0\377\0\0\0\377)))\344\377\377\377n\377\377\377N\377\377\377" - "4\377\377\377$\377\377\377\36\377\377\377$\377\377\3775\377\377\377R\377" - "\377\377y\377\377\377\250fff\360\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377" - "\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0" - "\0\0\377\20\20\20\377@@@\377000\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377" - "\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0" - "\0\0\377\0\0\0\377\222\222\222\341\377\377\377\235\377\377\377p\377\377\377" - "L\377\377\3774\377\377\377*\377\377\377.\377\377\377B\377\377\377f\377\377" - "\377\231\377\377\377\327\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377" - "\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0" - "\0\0\377\235\235\235\371\377\377\377\303\377\377\377\223\377\377\377j\377" - "\377\377I\377\377\3770\377\377\377\37\377\377\377\27\377\377\377\27\377\377" - "\377!\377\377\3777\377\377\377[\377\377\377\213\377\377\377\306@@@\377\0" - "\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0" - "\0\377\377\377\377\327\377\377\377\233\377\377\377j\377\377\377J\377\377" - "\377=\377\377\377E\377\377\377a\377\377\377\216\377\377\377\310@@@\377\0" - "\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0" - "\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0" - "\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377" - "\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0" - "\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\377\377\377\211\377\377\377u\377\377" - "\377n\377\377\377u\377\377\377\210\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377" - "\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0" - "\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0" - "\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0" - "\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377" - "\0\0\0\377\0\0\0\377\0\0\0\377\377\377\377v\377\377\377T\377\377\3777\377" - "\377\377!\377\377\377\22\377\377\377\11\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\377\377\377\0\377\377\377\0\377\377\377\0\377\377" - "\377\0\377\377\377\0\377\377\377\1\377\377\377\4\377\377\377\10\377\377\377" - "\20\377\377\377\35\377\377\3770\377\377\377J\377\377\377j\377\377\377\217" - "\301\301\301\303\0\0\0\377\0\0\0\377\0\0\0\377\217\217\217\377\377\377\377" - "\377\177\177\177\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\277\277\277" - "\377\377\377\377\377\377\377\377\377\377\377\377\377\217\217\217\377\0\0" - "\0\377\0\0\0\377\0\0\0\377\0\0\0\377\177\177\177\377\377\377\377\377```\377" - "\0\0\0\377\0\0\0\377\16\16\16\375\302\302\302\310\377\377\377\240\377\377" - "\377\216\377\377\377\214\377\377\377\232\377\377\377\270\271\271\271\350" - "\0\0\0\377\0\0\0\377\0""1h\377\0b\320\377\0b\320\377\0b\320\377\0b\320\377" - "\0b\320\377\0b\320\377\0b\320\377\0b\320\377\0b\320\377\0b\320\377\0b\320" - "\377\0b\320\377\0b\320\377\15j\323\375\330\347\370\316\377\377\377\276\377" - "\377\377\302\377\377\377\322\377\377\377\355```\377\0\0\0\377\0\0\0\377\0" - "\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0" - "\0\377```\377\317\317\317\375\377\377\377\347\377\377\377\326\377\377\377" - "\313\377\377\377\305\377\377\377\304\377\377\377\311\377\377\377\324\377" - "\377\377\344\337\337\337\372\177\177\177\377\20\20\20\377\0\0\0\377\0\0\0" - "\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377" - "\35\35\35\374\351\351\351\272\377\377\377\213\377\377\377k\377\377\377[\377" - "\377\377_\377\377\377x\377\377\377\244\377\377\377\336\0\0\0\377\0\0\0\377" - "\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\177" - "\177\177\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377" - "\370\377\377\377\354\377\377\377\344\377\377\377\341\377\377\377\337\377" - "\377\377\336\377\377\377\336\377\377\377\336\377\377\377\336\377\377\377" - "\336\377\377\377\336\377\377\377\335\377\377\377\335\377\377\377\334\377" - "\377\377\331\377\377\377\324\377\377\377\313\377\377\377\275\377\377\377" - "\251\377\377\377\221\377\377\377u\377\377\377X\377\377\377?\377\377\377+" - "\377\377\377\40\377\377\377\37\377\377\377)\377\377\377?\377\377\377b\377" - "\377\377\217\262\262\262\323\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0" - "\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\40\40\40\377ppp\377\277\277" - "\277\377\377\377\377\377\377\377\377\363\377\377\377\355\377\377\377\355" - "\377\377\377\364\337\337\337\377\237\237\237\377@@@\377\0\0\0\377\0\0\0\377" - "\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\16" - "\16\16\376\323\323\323\272\377\377\377\200\377\377\377X\377\377\377<\377" - "\377\377/\377\377\3771\377\377\377D\377\377\377i\377\377\377\234\377\377" - "\377\333\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0" - "\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\20\20" - "\20\377\314\314\314\360\377\377\377\272\377\377\377\213\377\377\377d\377" - "\377\377D\377\377\377.\377\377\377\40\377\377\377\35\377\377\377%\377\377" - "\377:\377\377\377]\377\377\377\216\377\377\377\312@@@\377\0\0\0\377\0\0\0" - "\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\377\377" - "\377\333\377\377\377\235\377\377\377l\377\377\377K\377\377\377?\377\377\377" - "G\377\377\377c\377\377\377\221\377\377\377\313@@@\377\0\0\0\377\0\0\0\377" - "\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\177\177\177" - "\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\370\377" - "\377\377\354\377\377\377\344\377\377\377\341\377\377\377\337\377\377\377" - "\336\377\377\377\336\377\377\377\336\377\377\377\336\377\377\377\336\377" - "\377\377\336\377\377\377\335\377\377\377\335\377\377\377\334\377\377\377" - "\332\377\377\377\326\377\377\377\316\377\377\377\302\377\377\377\260\377" - "\377\377\233\377\377\377\203\377\377\377m\377\377\377]\377\377\377W\377\377" - "\377\\\377\377\377k\377\377\377\200\377\377\377\227\377\377\377\254\377\377" - "\377\274\377\377\377\310\377\377\377\320\377\377\377\326\377\377\377\334" - "\377\377\377\344\377\377\377\361\377\377\377\377\377\377\377\377\377\377" - "\377\377\177\177\177\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377" - "\0\0\0\377\0\0\0\377\0\0\0\377@@@\377\377\377\377\377\377\377\377\377\377" - "\377\377\377\377\377\377\365\377\377\377\346\377\377\377\335\377\377\377" - "\326\377\377\377\320\377\377\377\310\377\377\377\274\377\377\377\253\377" - "\377\377\224\377\377\377y\377\377\377\\\377\377\377B\377\377\377+\377\377" - "\377\32\377\377\377\16\377\377\377\7\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\377\377\377\0\377\377\377\0\377\377\377\0\377\377\377" - "\0\377\377\377\1\377\377\377\2\377\377\377\5\377\377\377\13\377\377\377\26" - "\377\377\377'\377\377\377>\377\377\377]\377\377\377\202\350\350\350\257\15" - "\15\15\375\0\0\0\377\0\0\0\377\237\237\237\377\357\357\357\377@@@\377\0\0" - "\0\377\0\0\0\377\0\0\0\377\0\22'\377\20(C\377ppp\377\377\377\377\377\377" - "\377\377\377\377\377\377\377ppp\377\0\31""4\377\0\14\32\377\0\0\0\377\0\0" - "\0\377\0\0\0\377```\377\357\357\357\377```\377\0\0\0\377\0\0\0\377***\370" - "\352\352\352\300\377\377\377\247\377\377\377\237\377\377\377\251\377\377" - "\377\302\272\272\272\354\0\0\0\377\0\0\0\377\0""1h\377\0b\320\377\0b\320" - "\377\0b\320\377\0b\320\377\0b\320\377\0b\320\377\0b\320\377\0b\320\377\0" - "b\320\377\0b\320\377\0b\320\377\0b\320\377\0b\320\377\220\273\353\335\377" - "\377\377\273\377\377\377\272\377\377\377\307\377\377\377\341\237\237\237" - "\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377" - "\0\0\0\377\0\0\0\377000\377\317\317\317\377\377\377\377\343\377\377\377\306" - "\377\377\377\257\377\377\377\236\377\377\377\223\377\377\377\215\377\377" - "\377\214\377\377\377\221\377\377\377\233\377\377\377\253\377\377\377\301" - "\377\377\377\334\337\337\337\373000\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0" - "\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377___\344\377\377\377" - "\226\377\377\377t\377\377\377b\377\377\377d\377\377\377|\377\377\377\247" - "\377\377\377\341\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0" - "\377\0\0\0\377\0\0\0\377\0\0\0\377\177\177\177\377\377\377\377\377\377\377" - "\377\377\377\377\377\342\377\377\377\313\377\377\377\274\377\377\377\263" - "\377\377\377\257\377\377\377\255\377\377\377\254\377\377\377\253\377\377" - "\377\253\377\377\377\253\377\377\377\253\377\377\377\253\377\377\377\253" - "\377\377\377\253\377\377\377\251\377\377\377\247\377\377\377\243\377\377" - "\377\234\377\377\377\221\377\377\377\201\377\377\377n\377\377\377X\377\377" - "\377B\377\377\377/\377\377\377\"\377\377\377\33\377\377\377\36\377\377\377" - "-\377\377\377G\377\377\377o\377\377\377\241WWW\362\0\0\0\377\0\0\0\377\0" - "\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\217\217\217\377" - "\377\377\377\377\377\377\377\377\377\377\377\357\377\377\377\327\377\377" - "\377\307\377\377\377\277\377\377\377\275\377\377\377\303\377\377\377\320" - "\377\377\377\344\377\377\377\376\237\237\237\377\0\0\0\377\0\0\0\377\0\0" - "\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377MMM\345" - "\377\377\377\210\377\377\377^\377\377\377A\377\377\3772\377\377\3773\377" - "\377\377F\377\377\377j\377\377\377\236\377\377\377\335\0\0\0\377\0\0\0\377" - "\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0" - "\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\40\40\40\377\356\356\356" - "\345\377\377\377\261\377\377\377\204\377\377\377^\377\377\377A\377\377\377" - ".\377\377\377&\377\377\377+\377\377\377>\377\377\377`\377\377\377\221\377" - "\377\377\315@@@\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0" - "\0\377\0\0\0\377\0\0\0\377\377\377\377\335\377\377\377\237\377\377\377m\377" - "\377\377L\377\377\377?\377\377\377G\377\377\377d\377\377\377\222\377\377" - "\377\315@@@\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377" - "\0\0\0\377\0\0\0\377\177\177\177\377\377\377\377\377\377\377\377\377\377" - "\377\377\342\377\377\377\313\377\377\377\274\377\377\377\263\377\377\377" - "\257\377\377\377\255\377\377\377\254\377\377\377\253\377\377\377\253\377" - "\377\377\253\377\377\377\253\377\377\377\253\377\377\377\253\377\377\377" - "\253\377\377\377\252\377\377\377\250\377\377\377\244\377\377\377\236\377" - "\377\377\224\377\377\377\206\377\377\377u\377\377\377b\377\377\377Q\377\377" - "\377D\377\377\377?\377\377\377C\377\377\377M\377\377\377\\\377\377\377m\377" - "\377\377|\377\377\377\210\377\377\377\221\377\377\377\227\377\377\377\234" - "\377\377\377\242\377\377\377\254\377\377\377\274\377\377\377\324\377\377" - "\377\365\377\377\377\377\177\177\177\377\0\0\0\377\0\0\0\377\0\0\0\377\0" - "\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377@@@\377\377\377\377\377\377" - "\377\377\376\377\377\377\333\377\377\377\300\377\377\377\257\377\377\377" - "\243\377\377\377\234\377\377\377\227\377\377\377\221\377\377\377\210\377" - "\377\377{\377\377\377k\377\377\377W\377\377\377C\377\377\377/\377\377\377" - "\37\377\377\377\22\377\377\377\12\377\377\377\5\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\377\377\377\0\377\377\377\0\377\377\377\0" - "\377\377\377\0\377\377\377\1\377\377\377\3\377\377\377\7\377\377\377\17\377" - "\377\377\34\377\377\3771\377\377\377M\377\377\377p\377\377\377\230PPP\351" - "\0\0\0\377\0\0\0\377ppp\377\357\357\357\377000\377\0\0\0\377\0\0\0\377\0" - "\14\32\377\0J\234\377\0b\320\377\0b\320\377@@@\377\377\377\377\377\377\377" - "\377\377\377\377\377\377@@@\377\0b\320\377\0b\320\377\0C\217\377\0\6\15\377" - "\0\0\0\377\0\0\0\377PPP\377\377\377\377\377```\377\0\0\0\377\0\0\0\377ee" - "e\356\377\377\377\277\377\377\377\264\377\377\377\270\377\377\377\315\273" - "\273\273\361\0\0\0\377\0\0\0\377@Yt\377\177\260\350\377\177\260\350\377\177" - "\260\350\377\177\260\350\377\177\260\350\377\177\260\350\377\177\260\350" - "\377\177\260\350\377\177\260\350\377\177\260\350\377~\260\350\376x\254\347" - "\362\201\262\350\344\377\377\377\274\377\377\377\265\377\377\377\274\377" - "\377\377\322\336\336\336\366\20\20\20\377\0\0\0\377\0\0\0\377\0\0\0\377\0" - "\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377000\377\357\357\357\376\377" - "\377\377\324\377\377\377\260\377\377\377\223\377\377\377|\377\377\377l\377" - "\377\377b\377\377\377]\377\377\377\\\377\377\377`\377\377\377i\377\377\377" - "x\377\377\377\214\377\377\377\246\377\377\377\305\377\377\377\346PPP\377" - "\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0" - "\0\0\377\0\0\0\377\243\243\243\261\377\377\377v\377\377\377e\377\377\377" - "f\377\377\377~\377\377\377\251\377\377\377\342\0\0\0\377\0\0\0\377\0\0\0" - "\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\177\177" - "\177\377\377\377\377\377\377\377\377\350\377\377\377\305\377\377\377\253" - "\377\377\377\233\377\377\377\221\377\377\377\214\377\377\377\211\377\377" - "\377\210\377\377\377\210\377\377\377\210\377\377\377\210\377\377\377\210" - "\377\377\377\210\377\377\377\210\377\377\377\207\377\377\377\206\377\377" - "\377\204\377\377\377\200\377\377\377y\377\377\377p\377\377\377c\377\377\377" - "S\377\377\377B\377\377\3771\377\377\377#\377\377\377\32\377\377\377\27\377" - "\377\377\36\377\377\377/\377\377\377M\377\377\377x\377\377\377\255\16\16" - "\16\376\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0" - "\377```\377\377\377\377\377\377\377\377\377\377\377\377\370\377\377\377\326" - "\377\377\377\274\377\377\377\251\377\377\377\236\377\377\377\232\377\377" - "\377\236\377\377\377\251\377\377\377\274\377\377\377\324\377\377\377\361" - "\217\217\217\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0" - "\377\0\0\0\377\0\0\0\377\13\13\13\373\377\377\377\207\377\377\377_\377\377" - "\377B\377\377\3773\377\377\3774\377\377\377F\377\377\377k\377\377\377\237" - "\377\377\377\336\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0" - "\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377" - "\0\0\0\377\0\0\0\377000\377\377\377\377\331\377\377\377\250\377\377\377|" - "\377\377\377Y\377\377\377@\377\377\3773\377\377\3773\377\377\377C\377\377" - "\377c\377\377\377\223\377\377\377\316@@@\377\0\0\0\377\0\0\0\377\0\0\0\377" - "\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\377\377\377\335\377\377" - "\377\240\377\377\377m\377\377\377L\377\377\377?\377\377\377H\377\377\377" - "d\377\377\377\223\377\377\377\316@@@\377\0\0\0\377\0\0\0\377\0\0\0\377\0" - "\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\177\177\177\377\377\377" - "\377\377\377\377\377\350\377\377\377\305\377\377\377\253\377\377\377\233" - "\377\377\377\221\377\377\377\214\377\377\377\211\377\377\377\210\377\377" - "\377\210\377\377\377\210\377\377\377\210\377\377\377\210\377\377\377\210" - "\377\377\377\210\377\377\377\207\377\377\377\206\377\377\377\204\377\377" - "\377\201\377\377\377{\377\377\377r\377\377\377f\377\377\377X\377\377\377" - "H\377\377\377;\377\377\3770\377\377\377,\377\377\377-\377\377\3773\377\377" - "\377=\377\377\377H\377\377\377R\377\377\377Z\377\377\377`\377\377\377d\377" - "\377\377i\377\377\377o\377\377\377z\377\377\377\214\377\377\377\250\377\377" - "\377\316\377\377\377\375\177\177\177\377\0\0\0\377\0\0\0\377\0\0\0\377\0" - "\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377@@@\377\377\377\377\377\377" - "\377\377\331\377\377\377\260\377\377\377\222\377\377\377}\377\377\377q\377" - "\377\377j\377\377\377e\377\377\377`\377\377\377Z\377\377\377Q\377\377\377" - "F\377\377\3779\377\377\377,\377\377\377\37\377\377\377\24\377\377\377\14" - "\377\377\377\6\377\377\377\3\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\377\377\377\0\377\377\377\0\377\377\377\0\377\377\377\0\377" - "\377\377\1\377\377\377\4\377\377\377\11\377\377\377\23\377\377\377#\377\377" - "\377;\377\377\377Z\377\377\377\201\322\322\322\266\0\0\0\377\0\0\0\37700" - "0\377\377\377\377\377```\377\0\0\0\377\0\0\0\377\0\22'\377\0\\\303\377\0" - "b\320\377\0b\320\377\0b\320\377@@@\377\377\377\377\377\377\377\377\377\377" - "\377\377\377@@@\377\0b\320\377\0b\320\377\0b\320\377\0\\\303\377\0\22'\377" - "\0\0\0\377\0\0\0\377ppp\377\377\377\377\377000\377\0\0\0\377\0\0\0\377\332" - "\332\332\334\377\377\377\311\377\377\377\312\377\377\377\331\275\275\275" - "\367\0\0\0\377\0\0\0\377\177\177\177\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\377\377\377\377\377\377\377\377\377\377\361" - "\377\377\377\330\377\377\377\302\377\377\377\264\377\377\377\263\377\377" - "\377\303\377\377\377\341```\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0" - "\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\20\20\20\377\357\357\357\377\377\377" - "\377\323\377\377\377\247\377\377\377\203\377\377\377g\377\377\377S\377\377" - "\377E\377\377\377<\377\377\3778\377\377\3777\377\377\377;\377\377\377B\377" - "\377\377N\377\377\377`\377\377\377w\377\377\377\222\377\377\377\262\354\354" - "\354\325\36\36\36\376\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0" - "\0\0\377\0\0\0\377\0\0\0\377MMM\316\377\377\377q\377\377\377b\377\377\377" - "e\377\377\377}\377\377\377\251\377\377\377\343\0\0\0\377\0\0\0\377\0\0\0" - "\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\177\177" - "\177\377\377\377\377\377\377\377\377\336\377\377\377\272\377\377\377\240" - "\377\377\377\217\377\377\377\205\377\377\377\177\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\377z\377\377\377y\377\377\377v\377\377\377r\377\377\377k\377" - "\377\377a\377\377\377T\377\377\377E\377\377\3776\377\377\377'\377\377\377" - "\34\377\377\377\25\377\377\377\25\377\377\377\35\377\377\3770\377\377\377" - "O\377\377\377{\377\377\377\262\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0" - "\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\177\177\177\377\377\377\377\377\377" - "\377\377\377\377\377\377\364\377\377\377\321\377\377\377\264\377\377\377" - "\240\377\377\377\223\377\377\377\214\377\377\377\215\377\377\377\224\377" - "\377\377\242\377\377\377\266\377\377\377\320\377\377\377\353\40\40\40\377" - "\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0" - "\0\0\377\377\377\377}\377\377\377Y\377\377\377>\377\377\3771\377\377\377" - "3\377\377\377F\377\377\377k\377\377\377\237\377\377\377\336\0\0\0\377\0\0" - "\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0" - "\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377" - "```\377\377\377\377\320\377\377\377\240\377\377\377w\377\377\377W\377\377" - "\377C\377\377\377?\377\377\377J\377\377\377g\377\377\377\225\377\377\377" - "\320@@@\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0" - "\0\0\377\0\0\0\377\377\377\377\336\377\377\377\240\377\377\377m\377\377\377" - "L\377\377\377?\377\377\377H\377\377\377d\377\377\377\223\377\377\377\316" - "@@@\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0" - "\377\0\0\0\377\177\177\177\377\377\377\377\377\377\377\377\336\377\377\377" - "\272\377\377\377\240\377\377\377\217\377\377\377\205\377\377\377\177\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\377z\377\377\377y\377\377\377w\377\377" - "\377r\377\377\377l\377\377\377b\377\377\377V\377\377\377H\377\377\377:\377" - "\377\377-\377\377\377#\377\377\377\35\377\377\377\35\377\377\377\40\377\377" - "\377%\377\377\377+\377\377\3771\377\377\3776\377\377\377:\377\377\377=\377" - "\377\377A\377\377\377H\377\377\377T\377\377\377h\377\377\377\206\377\377" - "\377\260\377\377\377\344\177\177\177\377\0\0\0\377\0\0\0\377\0\0\0\377\0" - "\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377@@@\377\377\377\377\362\377" - "\377\377\274\377\377\377\217\377\377\377n\377\377\377W\377\377\377J\377\377" - "\377B\377\377\377>\377\377\377:\377\377\3776\377\377\3771\377\377\377*\377" - "\377\377#\377\377\377\32\377\377\377\23\377\377\377\14\377\377\377\7\377" - "\377\377\4\377\377\377\2\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\377\377\377\0\377\377\377\0\377\377\377\0\377\377\377\0\377\377" - "\377\2\377\377\377\5\377\377\377\13\377\377\377\27\377\377\377)\377\377\377" - "C\377\377\377e\377\377\377\215MMM\345\0\0\0\377\0\0\0\377\277\277\277\377" - "\257\257\257\377\0\0\0\377\0\0\0\377\0\22'\377\0\\\303\377\0b\320\377\0b" - "\320\377\0b\320\377\0b\320\377@@@\377\377\377\377\377\377\377\377\377\377" - "\377\377\377@@@\377\0b\320\377\0b\320\377\0b\320\377\0b\320\377\0\\\303\377" - "\0\22'\377\0\0\0\377\0\0\0\377\277\277\277\377\277\277\277\377\0\0\0\377" - "\0\0\0\377lll\370\377\377\377\337\377\377\377\334\377\377\377\350\277\277" - "\277\377\0\0\0\377\0\0\0\377@Yt\377\177\260\350\377\177\260\350\377\177\260" - "\350\377\177\260\350\377\177\260\350\377\177\260\350\377\177\260\350\377" - "\177\260\350\377\177\260\350\377\177\260\350\377y\254\347\363q\250\345\347" - "\377\377\377\271\377\377\377\260\377\377\377\265\377\377\377\314\336\336" - "\336\363\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0" - "\0\377\0\0\0\377\0\0\0\377\237\237\237\377\377\377\377\337\377\377\377\254" - "\377\377\377\201\377\377\377_\377\377\377F\377\377\3774\377\377\377)\377" - "\377\377\"\377\377\377\37\377\377\377\37\377\377\377!\377\377\377'\377\377" - "\3770\377\377\377=\377\377\377P\377\377\377g\377\377\377\202\377\377\377" - "\236\235\235\235\317777\364:::\370<<<\372<<<\372:::\370666\363111\355***" - "\346...\326\377\377\377e\377\377\377Z\377\377\377a\377\377\377{\377\377\377" - "\250\377\377\377\342\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0" - "\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\177\177\177\377\377\377\377\377\377" - "\377\377\350\377\377\377\305\377\377\377\253\377\377\377\233\377\377\377" - "\221\377\377\377\214\377\377\377\211\377\377\377\210\377\377\377\210\377" - "\377\377\210\377\377\377\210\377\377\377\210\377\377\377\210\377\377\377" - "\207\377\377\377\206\377\377\377\205\377\377\377\201\377\377\377{\377\377" - "\377s\377\377\377f\377\377\377W\377\377\377F\377\377\3775\377\377\377%\377" - "\377\377\32\377\377\377\23\377\377\377\23\377\377\377\33\377\377\377.\377" - "\377\377M\377\377\377x\377\377\377\257\0\0\0\377\0\0\0\377\0\0\0\377\0\0" - "\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\20\20\20\377\317\317\317\377" - "\377\377\377\377\377\377\377\377\377\377\377\340\377\377\377\304\377\377" - "\377\256\377\377\377\237\377\377\377\226\377\377\377\222\377\377\377\225" - "\377\377\377\235\377\377\377\253\377\377\377\275\377\377\377\322\231\231" - "\231\360>>>\376@@@\377@@@\377@@@\377===\373777\365111\355(((\344\377\377" - "\377m\377\377\377N\377\377\3777\377\377\377-\377\377\3771\377\377\377E\377" - "\377\377j\377\377\377\237\377\377\377\336\0\0\0\377\0\0\0\377\0\0\0\377\0" - "\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0" - "\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\236\236" - "\236\373\377\377\377\307\377\377\377\231\377\377\377s\377\377\377Y\377\377" - "\377N\377\377\377U\377\377\377n\377\377\377\231\377\377\377\322@@@\377\0" - "\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0" - "\0\377\377\377\377\336\377\377\377\240\377\377\377n\377\377\377L\377\377" - "\377?\377\377\377H\377\377\377d\377\377\377\223\377\377\377\316@@@\377\0" - "\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0" - "\0\377\177\177\177\377\377\377\377\377\377\377\377\350\377\377\377\305\377" - "\377\377\253\377\377\377\233\377\377\377\221\377\377\377\214\377\377\377" - "\211\377\377\377\210\377\377\377\210\377\377\377\210\377\377\377\210\377" - "\377\377\210\377\377\377\210\377\377\377\207\377\377\377\207\377\377\377" - "\205\377\377\377\201\377\377\377|\377\377\377s\377\377\377g\377\377\377X" - "\377\377\377G\377\377\3777\377\377\377(\377\377\377\35\377\377\377\26\377" - "\377\377\22\377\377\377\23\377\377\377\25\377\377\377\30\377\377\377\33\377" - "\377\377\36\377\377\377\40\377\377\377\"\377\377\377&\377\377\377-\377\377" - "\3779\377\377\377O\377\377\377o\377\377\377\234\377\377\377\323\177\177\177" - "\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377" - "\0\0\0\377@@@\377\377\377\377\342\377\377\377\250\377\377\377x\377\377\377" - "U\377\377\377=\377\377\377/\377\377\377'\377\377\377#\377\377\377\40\377" - "\377\377\36\377\377\377\33\377\377\377\27\377\377\377\23\377\377\377\16\377" - "\377\377\12\377\377\377\6\377\377\377\4\377\377\377\2\377\377\377\1\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\377\377\377\0\377\377\377\0\377" - "\377\377\0\377\377\377\0\377\377\377\1\377\377\377\2\377\377\377\6\377\377" - "\377\15\377\377\377\31\377\377\377-\377\377\377H\377\377\377k\345\345\345" - "\232\0\0\0\377\0\0\0\377@@@\377\377\377\377\377\40\40\40\377\0\0\0\377\0" - "\6\15\377\0V\266\377\0b\320\377\0b\320\377\0b\320\377\0b\320\377\0b\320\377" - "@@@\377\377\377\377\377\377\377\377\377\377\377\377\377@@@\377\0b\320\377" - "\0b\320\377\0b\320\377\0b\320\377\0b\320\377\0P\251\377\0\0\0\377\0\0\0\377" - "@@@\377\377\377\377\377@@@\377\0\0\0\377\20\20\20\377\377\377\377\364\377" - "\377\377\360\377\377\377\370\277\277\277\377\0\0\0\377\0\0\0\377\0""1h\377" - "\0b\320\377\0b\320\377\0b\320\377\0b\320\377\0b\320\377\0b\320\377\0b\320" - "\377\0b\320\377\0b\320\377\0b\320\377\0b\320\377&z\327\365\377\377\377\263" - "\377\377\377\256\377\377\377\271\377\377\377\326\177\177\177\377\0\0\0\377" - "\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\40" - "\40\40\377\377\377\377\370\377\377\377\277\377\377\377\214\377\377\377c\377" - "\377\377D\377\377\377.\377\377\377\40\377\377\377\27\377\377\377\22\377\377" - "\377\20\377\377\377\17\377\377\377\21\377\377\377\25\377\377\377\33\377\377" - "\377%\377\377\3773\377\377\377D\377\377\377Y\377\377\377p\377\377\377\206" - "\377\377\377\232\377\377\377\251\377\377\377\261\377\377\377\263\377\377" - "\377\255\377\377\377\241\377\377\377\216\377\377\377y\377\377\377d\377\377" - "\377T\377\377\377P\377\377\377[\377\377\377x\377\377\377\246\377\377\377" - "\342\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377" - "\0\0\0\377\0\0\0\377\177\177\177\377\377\377\377\377\377\377\377\377\377" - "\377\377\342\377\377\377\313\377\377\377\274\377\377\377\264\377\377\377" - "\257\377\377\377\255\377\377\377\254\377\377\377\253\377\377\377\253\377" - "\377\377\253\377\377\377\253\377\377\377\253\377\377\377\252\377\377\377" - "\251\377\377\377\247\377\377\377\242\377\377\377\232\377\377\377\216\377" - "\377\377}\377\377\377i\377\377\377S\377\377\377=\377\377\377*\377\377\377" - "\34\377\377\377\24\377\377\377\22\377\377\377\31\377\377\377+\377\377\377" - "G\377\377\377p\377\377\377\244III\365\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0" - "\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\177\177\177\377\337" - "\337\337\377\377\377\377\377\377\377\377\346\377\377\377\321\377\377\377" - "\301\377\377\377\266\377\377\377\257\377\377\377\254\377\377\377\256\377" - "\377\377\264\377\377\377\276\377\377\377\313\377\377\377\327\377\377\377" - "\341\377\377\377\346\377\377\377\344\377\377\377\333\377\377\377\313\377" - "\377\377\264\377\377\377\230\377\377\377y\377\377\377[\377\377\377A\377\377" - "\377/\377\377\377(\377\377\377.\377\377\377D\377\377\377j\377\377\377\236" - "\377\377\377\336\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0" - "\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377" - "\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\315\315\315\363\377\377" - "\377\277\377\377\377\225\377\377\377u\377\377\377c\377\377\377d\377\377\377" - "x\377\377\377\240\377\377\377\326@@@\377\0\0\0\377\0\0\0\377\0\0\0\377\0" - "\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\377\377\377\336\377\377" - "\377\240\377\377\377n\377\377\377L\377\377\377@\377\377\377H\377\377\377" - "d\377\377\377\223\377\377\377\316@@@\377\0\0\0\377\0\0\0\377\0\0\0\377\0" - "\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\177\177\177\377\377\377" - "\377\377\377\377\377\377\377\377\377\342\377\377\377\313\377\377\377\274" - "\377\377\377\264\377\377\377\257\377\377\377\255\377\377\377\254\377\377" - "\377\253\377\377\377\253\377\377\377\253\377\377\377\253\377\377\377\253" - "\377\377\377\252\377\377\377\251\377\377\377\247\377\377\377\242\377\377" - "\377\232\377\377\377\216\377\377\377~\377\377\377j\377\377\377T\377\377\377" - ">\377\377\377+\377\377\377\35\377\377\377\23\377\377\377\15\377\377\377\13" - "\377\377\377\13\377\377\377\14\377\377\377\15\377\377\377\17\377\377\377" - "\20\377\377\377\22\377\377\377\26\377\377\377\34\377\377\377)\377\377\377" - "?\377\377\377a\377\377\377\217\377\377\377\310\177\177\177\377\0\0\0\377" - "\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377@@" - "@\377\377\377\377\327\377\377\377\234\377\377\377k\377\377\377F\377\377\377" - "-\377\377\377\37\377\377\377\27\377\377\377\23\377\377\377\20\377\377\377" - "\17\377\377\377\15\377\377\377\13\377\377\377\11\377\377\377\7\377\377\377" - "\5\377\377\377\3\377\377\377\2\377\377\377\1\377\377\377\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\377\377\377\0\377\377\377\0\377\377\377" - "\0\377\377\377\0\377\377\377\1\377\377\377\2\377\377\377\6\377\377\377\16" - "\377\377\377\33\377\377\377.\377\377\377J\377\377\377l|||\274\0\0\0\377\0" - "\0\0\377\257\257\257\377\237\237\237\377\0\0\0\377\0\0\0\377\0""1h\377\0" - "b\320\377\0b\320\377\0b\320\377\0b\320\377\0b\320\377\0b\320\377@@@\377\377" - "\377\377\377\377\377\377\377\377\377\377\377@@@\377\0b\320\377\0b\320\377" - "\0b\320\377\0b\320\377\0b\320\377\0b\320\377\0+[\377\0\0\0\377\0\0\0\377" - "\317\317\317\377\237\237\237\377\0\0\0\377\0\0\0\377\277\277\277\377\377" - "\377\377\377\377\377\377\377\277\277\277\377\0\0\0\377\0\0\0\377\0""1h\377" - "\0b\320\377\0b\320\377\0b\320\377\0b\320\377\0b\320\377\0b\320\377\0b\320" - "\377\0b\320\377\0b\320\377\0b\320\377\0b\320\377^\234\342\343\377\377\377" - "\257\377\377\377\256\377\377\377\276\377\377\377\341@@@\377\0\0\0\377\0\0" - "\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377ppp\377" - "\377\377\377\337\377\377\377\245\377\377\377t\377\377\377M\377\377\3771\377" - "\377\377\36\377\377\377\23\377\377\377\14\377\377\377\11\377\377\377\7\377" - "\377\377\7\377\377\377\10\377\377\377\12\377\377\377\16\377\377\377\25\377" - "\377\377\36\377\377\377*\377\377\3779\377\377\377J\377\377\377Z\377\377\377" - "i\377\377\377u\377\377\377|\377\377\377\177\377\377\377|\377\377\377s\377" - "\377\377g\377\377\377Y\377\377\377K\377\377\377C\377\377\377D\377\377\377" - "S\377\377\377t\377\377\377\244\377\377\377\341\0\0\0\377\0\0\0\377\0\0\0" - "\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\177\177" - "\177\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\371" - "\377\377\377\354\377\377\377\345\377\377\377\341\377\377\377\337\377\377" - "\377\336\377\377\377\336\377\377\377\336\377\377\377\336\377\377\377\335" - "\377\377\377\335\377\377\377\334\377\377\377\333\377\377\377\327\377\377" - "\377\321\377\377\377\306\377\377\377\266\377\377\377\240\377\377\377\206" - "\377\377\377i\377\377\377M\377\377\3774\377\377\377\"\377\377\377\26\377" - "\377\377\22\377\377\377\27\377\377\377&\377\377\377?\377\377\377d\377\377" - "\377\223\263\263\263\330\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377" - "\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377@@@\377\177\177" - "\177\377\277\277\277\377\336\336\336\363\377\377\377\345\377\377\377\334" - "\377\377\377\325\377\377\377\322\377\377\377\321\377\377\377\324\377\377" - "\377\327\377\377\377\333\377\377\377\334\377\377\377\331\377\377\377\322" - "\377\377\377\305\377\377\377\262\377\377\377\233\377\377\377\201\377\377" - "\377e\377\377\377L\377\377\3776\377\377\377(\377\377\377$\377\377\377,\377" - "\377\377C\377\377\377i\377\377\377\236\377\377\377\336\0\0\0\377\0\0\0\377" - "\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377ppp\377\40\40" - "\40\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0" - "\377\0\0\0\377\20\20\20\377\335\335\335\353\377\377\377\272\377\377\377\225" - "\377\377\377}\377\377\377w\377\377\377\206\377\377\377\251\377\377\377\333" - "@@@\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0" - "\377\0\0\0\377\377\377\377\336\377\377\377\240\377\377\377n\377\377\377L" - "\377\377\377@\377\377\377H\377\377\377d\377\377\377\223\377\377\377\317@" - "@@\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0" - "\377\0\0\0\377\177\177\177\377\377\377\377\377\377\377\377\377\377\377\377" - "\377\377\377\377\371\377\377\377\354\377\377\377\345\377\377\377\341\377" - "\377\377\337\377\377\377\336\377\377\377\336\377\377\377\336\377\377\377" - "\336\377\377\377\335\377\377\377\335\377\377\377\334\377\377\377\333\377" - "\377\377\327\377\377\377\321\377\377\377\306\377\377\377\266\377\377\377" - "\240\377\377\377\206\377\377\377i\377\377\377M\377\377\3774\377\377\377!" - "\377\377\377\24\377\377\377\14\377\377\377\10\377\377\377\6\377\377\377\6" - "\377\377\377\6\377\377\377\7\377\377\377\7\377\377\377\11\377\377\377\14" - "\377\377\377\23\377\377\377\40\377\377\3777\377\377\377Y\377\377\377\210" - "\377\377\377\302\177\177\177\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377" - "\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377@@@\377\377\377\377\322\377\377\377" - "\225\377\377\377c\377\377\377>\377\377\377%\377\377\377\26\377\377\377\16" - "\377\377\377\12\377\377\377\10\377\377\377\7\377\377\377\6\377\377\377\5" - "\377\377\377\4\377\377\377\3\377\377\377\2\377\377\377\1\377\377\377\0\377" - "\377\377\0\377\377\377\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\377\377\377\0\377\377\377\0\377\377\377\0\377\377\377\0\377\377\377\1\377" - "\377\377\3\377\377\377\6\377\377\377\16\377\377\377\32\377\377\377.\377\377" - "\377H\377\377\377h???\324\0\0\0\377\0\0\0\377\377\377\377\360PPP\377\0\0" - "\0\377\0\6\15\377\0\\\303\377\0+[\377\0V\266\377\0b\320\377\0b\320\377\0" - "b\320\377\0b\320\377@@@\377\377\377\377\377\377\377\377\377\377\377\377\377" - "@@@\377\0b\320\377\0b\320\377\0b\320\377\0b\320\377\0P\251\377\0%N\377\0" - "V\266\377\0\0\0\377\0\0\0\377ppp\377\337\337\337\377\0\0\0\377\0\0\0\377" - "\177\177\177\377\377\377\377\377\377\377\377\377\277\277\277\377\0\0\0\377" - "\0\0\0\377@Yt\377\177\260\350\377\177\260\350\377\177\260\350\377\177\260" - "\350\377\177\260\350\377\177\260\350\377\177\260\350\377\177\260\350\377" - "\177\260\350\377z\256\347\367s\251\346\351\257\316\361\314\377\377\377\254" - "\377\377\377\256\377\377\377\303\377\377\377\351\0\0\0\377\0\0\0\377\0\0" - "\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\237\237" - "\237\377\377\377\377\314\377\377\377\222\377\377\377b\377\377\377=\377\377" - "\377$\377\377\377\25\377\377\377\13\377\377\377\6\377\377\377\4\377\377\377" - "\3\377\377\377\3\377\377\377\3\377\377\377\5\377\377\377\7\377\377\377\13" - "\377\377\377\21\377\377\377\31\377\377\377#\377\377\377.\377\377\3779\377" - "\377\377D\377\377\377L\377\377\377R\377\377\377T\377\377\377R\377\377\377" - "N\377\377\377F\377\377\377>\377\377\3776\377\377\3773\377\377\377:\377\377" - "\377M\377\377\377p\377\377\377\242\377\377\377\340\0\0\0\377\0\0\0\377\0" - "\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0" - "\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0" - "\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377" - "\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0" - "\0\0\377\232\232\232\241\377\377\377^\377\377\377@\377\377\377(\377\377\377" - "\31\377\377\377\23\377\377\377\25\377\377\377\40\377\377\3775\377\377\377" - "T\377\377\377~\377\377\377\260JJJ\367\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0" - "\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377" - "\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377@@@\377```\377\217\217\217\377\277" - "\277\277\375\377\377\377\371\377\377\377\366\377\377\377\362\377\377\377" - "\353\377\377\377\342\377\377\377\324\377\377\377\301\377\377\377\253\377" - "\377\377\222\377\377\377w\377\377\377\\\377\377\377D\377\377\3771\377\377" - "\377$\377\377\377\"\377\377\377+\377\377\377B\377\377\377i\377\377\377\236" - "\377\377\377\335\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0" - "\377\0\0\0\377\0\0\0\377\177\177\177\377\317\317\317\377\20\20\20\377\0\0" - "\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0" - "\377000\377\356\356\356\344\377\377\377\272\377\377\377\235\377\377\377\220" - "\377\377\377\231\377\377\377\266\377\377\377\344@@@\377\0\0\0\377\0\0\0\377" - "\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\377\377\377" - "\336\377\377\377\240\377\377\377n\377\377\377L\377\377\377@\377\377\377H" - "\377\377\377d\377\377\377\223\377\377\377\317@@@\377\0\0\0\377\0\0\0\377" - "\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0" - "\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0" - "\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0" - "\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377" - "\232\232\232\241\377\377\377^\377\377\377@\377\377\377(\377\377\377\27\377" - "\377\377\14\377\377\377\6\377\377\377\4\377\377\377\3\377\377\377\2\377\377" - "\377\3\377\377\377\3\377\377\377\5\377\377\377\10\377\377\377\17\377\377" - "\377\34\377\377\3773\377\377\377U\377\377\377\205\377\377\377\277\177\177" - "\177\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0" - "\0\377\0\0\0\377@@@\377\377\377\377\317\377\377\377\222\377\377\377_\377" - "\377\377:\377\377\377\40\377\377\377\21\377\377\377\11\377\377\377\5\377" - "\377\377\3\377\377\377\3\377\377\377\2\377\377\377\2\377\377\377\1\377\377" - "\377\1\377\377\377\0\377\377\377\0\377\377\377\0\377\377\377\0\377\377\377" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\377\377\377\0\377\377" - "\377\0\377\377\377\0\377\377\377\0\377\377\377\1\377\377\377\2\377\377\377" - "\6\377\377\377\15\377\377\377\31\377\377\377+\377\377\377C\377\377\377a$" - "$$\340\0\0\0\377\30\30\30\367ttt\354\36\36\36\376\0\0\0\377\0\14\32\377\0" - """1h\377\40,:\37706=\377\0P\251\377\0b\320\377\0b\320\377\0b\320\377000\377" - "PPP\377\20(C\377```\377000\377\0b\320\377\0b\320\377\0b\320\377\0J\234\377" - "06=\3770\377\377\377" - "Y\252\252\252\217\377\377\377\222\377\377\377\254\377\377\377\303\377\377" - "\377\330\377\377\377\355\377\377\377\377\377\377\377\377\377\377\377\377" - "\357\357\357\37706=\377\0C\217\377\0b\320\377\0b\320\377\0\14\32\377\0P\251" - "\377\0b\320\377\0P\251\377\0\6\15\377\0b\320\377\0b\320\377\0=\202\377``" - "`\377\357\357\357\377\237\304\356\377\177\260\350\377\177\260\350\377\177" - "\260\350\377\177\260\350\377\177\260\350\377\177\260\350\377\177\260\350" - "\377\177\260\350\377\177\260\350\377\177\260\350\377\177\260\350\377\177" - "\260\350\377\177\260\350\377\177\260\350\377\177\260\350\377\177\260\350" - "\377\177\260\350\377\177\260\350\377\177\260\350\377\177\260\350\377\177" - "\260\350\377\177\260\350\377\177\260\350\377y\255\347\364q\250\345\346\377" - "\377\377\265\377\377\377\252\377\377\377\260\377\377\377\311\275\275\275" - "\367\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377" - "\0\0\0\377\0\0\0\377\377\377\377\366\377\377\377\266\377\377\377|\377\377" - "\377O\377\377\377.\377\377\377\31\377\377\377\14\377\377\377\5\377\377\377" - "\2\377\377\377\1\377\377\377\0\377\377\377\0\377\377\377\0\377\377\377\1" - "\377\377\377\1\377\377\377\3\377\377\377\5\377\377\377\11\377\377\377\15" - "\377\377\377\22\377\377\377\30\377\377\377\36\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\377G\377\377\377m\377\377\377\240\377" - "\377\377\337\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377" - "\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0" - "\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0" - "\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0" - "\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\247\247\247\271\377\377\377" - "u\377\377\377O\377\377\3771\377\377\377\35\377\377\377\22\377\377\377\20" - "\377\377\377\24\377\377\377!\377\377\3775\377\377\377R\377\377\377u\377\377" - "\377\237\354\354\354\316...\376\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0" - "\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0" - "\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0" - "\377\0\0\0\377\0\0\0\377\0\0\0\377PPP\377\275\275\275\370\377\377\377\327" - "\377\377\377\266\377\377\377\223\377\377\377r\377\377\377T\377\377\377<\377" - "\377\377,\377\377\377&\377\377\377.\377\377\377D\377\377\377j\377\377\377" - "\236\377\377\377\335\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0" - "\0\0\377\0\0\0\377\0\0\0\377\177\177\177\377\377\377\377\377\377\377\377" - "\377\177\177\177\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0" - "\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\177\177\177\377\377\377\377\350\377" - "\377\377\321\377\377\377\315\377\377\377\335\377\377\377\377@@@\377\0\0\0" - "\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377" - "\377\377\377\336\377\377\377\240\377\377\377n\377\377\377L\377\377\377@\377" - "\377\377H\377\377\377d\377\377\377\223\377\377\377\317@@@\377\0\0\0\377\0" - "\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0" - "\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0" - "\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377" - "\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0" - "\0\0\377\247\247\247\271\377\377\377u\377\377\377O\377\377\3771\377\377\377" - "\34\377\377\377\16\377\377\377\6\377\377\377\3\377\377\377\1\377\377\377" - "\0\377\377\377\0\377\377\377\1\377\377\377\2\377\377\377\5\377\377\377\14" - "\377\377\377\32\377\377\3770\377\377\377S\377\377\377\203\377\377\377\276" - "\177\177\177\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0" - "\377\0\0\0\377\0\0\0\377@@@\377\377\377\377\315\377\377\377\220\377\377\377" - "]\377\377\3777\377\377\377\36\377\377\377\17\377\377\377\6\377\377\377\3" - "\377\377\377\1\377\377\377\0\377\377\377\0\377\377\377\0\377\377\377\0\377" - "\377\377\0\377\377\377\0\377\377\377\0\377\377\377\0\377\377\377\0\377\377" - "\377\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\377\377\377\0\377" - "\377\377\0\377\377\377\0\377\377\377\0\377\377\377\1\377\377\377\2\377\377" - "\377\6\377\377\377\14\377\377\377\26\377\377\377&\377\377\377;\377\377\377" - "T\377\377\377n\377\377\377\210\377\377\377\240\377\377\377\266\377\377\377" - "\311\377\377\377\335\377\377\377\362\377\377\377\377\377\377\377\377\377" - "\377\377\377\357\357\357\377```\377\0=\202\377\0b\320\377\0\\\303\377\0b" - "\320\377\0b\320\377\0b\320\377\0V\266\377\0b\320\377\0""1h\377ppp\377\377" - "\377\377\377\377\377\377\377@\211\334\377\0b\320\377\0b\320\377\0b\320\377" - "\0b\320\377\0b\320\377\0b\320\377\0b\320\377\0b\320\377\0b\320\377\0b\320" - "\377\0b\320\377\0b\320\377\0b\320\377\0b\320\377\0b\320\377\0b\320\377\0" - "b\320\377\0b\320\377\0b\320\377\0b\320\377\0b\320\377\0b\320\377\0b\320\377" - "\0b\320\377\0b\320\377\377\377\377\265\377\377\377\251\377\377\377\260\377" - "\377\377\313\276\276\276\371\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0" - "\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\377\377\377\363\377\377\377" - "\262\377\377\377y\377\377\377L\377\377\377,\377\377\377\27\377\377\377\13" - "\377\377\377\5\377\377\377\2\377\377\377\0\377\377\377\0\377\377\377\0\377" - "\377\377\0\377\377\377\0\377\377\377\1\377\377\377\2\377\377\377\4\377\377" - "\377\7\377\377\377\14\377\377\377\21\377\377\377\27\377\377\377\35\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\3771\377\377\377H\377\377\377" - "n\377\377\377\241\377\377\377\337\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377" - "\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0" - "\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0" - "\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0" - "\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\247\247" - "\247\271\377\377\377u\377\377\377O\377\377\3771\377\377\377\35\377\377\377" - "\22\377\377\377\16\377\377\377\21\377\377\377\32\377\377\377*\377\377\377" - "@\377\377\377]\377\377\377\177\377\377\377\244\377\377\377\311zzz\366\20" - "\20\20\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0" - "\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0" - "\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0" - "\377\0\0\0\377@@@\377\311\311\311\344\377\377\377\266\377\377\377\217\377" - "\377\377k\377\377\377M\377\377\3778\377\377\377.\377\377\3772\377\377\377" - "F\377\377\377k\377\377\377\237\377\377\377\336\0\0\0\377\0\0\0\377\0\0\0" - "\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\177\177\177\377\377" - "\377\377\377\377\377\377\377\377\377\377\377PPP\377\0\0\0\377\0\0\0\377\0" - "\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\257" - "\257\257\377\377\377\377\370\377\377\377\357\377\377\377\371\377\377\377" - "\377@@@\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0" - "\0\0\377\0\0\0\377\377\377\377\336\377\377\377\240\377\377\377n\377\377\377" - "L\377\377\377@\377\377\377H\377\377\377d\377\377\377\223\377\377\377\317" - "@@@\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0" - "\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377" - "\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0" - "\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0" - "\0\377\0\0\0\377\0\0\0\377\247\247\247\271\377\377\377u\377\377\377O\377" - "\377\3771\377\377\377\33\377\377\377\16\377\377\377\6\377\377\377\2\377\377" - "\377\1\377\377\377\0\377\377\377\0\377\377\377\0\377\377\377\2\377\377\377" - "\5\377\377\377\14\377\377\377\31\377\377\3770\377\377\377S\377\377\377\202" - "\377\377\377\276\177\177\177\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377" - "\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377@@@\377\377\377\377\315\377\377\377" - "\220\377\377\377]\377\377\3777\377\377\377\35\377\377\377\16\377\377\377" - "\6\377\377\377\2\377\377\377\1\377\377\377\0\377\377\377\0\377\377\377\0" - "\377\377\377\0\377\377\377\0\377\377\377\0\377\377\377\0\377\377\377\0\377" - "\377\377\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\377\377" - "\377\0\377\377\377\0\377\377\377\0\377\377\377\0\377\377\377\1\377\377\377" - "\2\377\377\377\6\377\377\377\14\377\377\377\26\377\377\377&\377\377\377;" - "\377\377\377T\377\377\377n\377\377\377\210\377\377\377\240\377\377\377\265" - "\377\377\377\311\377\377\377\334\377\377\377\361\377\377\377\377\377\377" - "\377\377\377\377\377\377\377\377\377\377\257\257\257\377\0\22'\377\0b\320" - "\377\0b\320\377\0b\320\377\0b\320\377\0b\320\377\0b\320\377\0b\320\377\20" - "/P\377\237\237\237\377\377\377\377\377\377\377\377\377@\211\334\377\0b\320" - "\377\0b\320\377\0b\320\377\0b\320\377\0b\320\377\0b\320\377\0b\320\377\0" - "b\320\377\0b\320\377\0b\320\377\0b\320\377\0b\320\377\0b\320\377\0b\320\377" - "\0b\320\377\0b\320\377\0b\320\377\0b\320\377\0b\320\377\0b\320\377\0b\320" - "\377\0b\320\377\0b\320\377\0b\320\377\0b\320\377\377\377\377\265\377\377" - "\377\252\377\377\377\260\377\377\377\312\275\275\275\371\0\0\0\377\0\0\0" - "\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377" - "\377\377\377\364\377\377\377\263\377\377\377z\377\377\377M\377\377\377,\377" - "\377\377\27\377\377\377\13\377\377\377\5\377\377\377\2\377\377\377\0\377" - "\377\377\0\377\377\377\0\377\377\377\0\377\377\377\0\377\377\377\1\377\377" - "\377\3\377\377\377\6\377\377\377\12\377\377\377\20\377\377\377\27\377\377" - "\377\40\377\377\377(\377\377\3770\377\377\3776\377\377\377:\377\377\377<" - "\377\377\377:\377\377\3777\377\377\3773\377\377\377/\377\377\3770\377\377" - "\3778\377\377\377M\377\377\377q\377\377\377\243\377\377\377\340\0\0\0\377" - "\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0" - "\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0" - "\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0" - "\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377" - "\0\0\0\377\0\0\0\377\242\242\242\260\377\377\377l\377\377\377I\377\377\377" - ".\377\377\377\33\377\377\377\21\377\377\377\15\377\377\377\20\377\377\377" - "\27\377\377\377$\377\377\3776\377\377\377M\377\377\377g\377\377\377\205\377" - "\377\377\244\377\377\377\303\355\355\355\341}}}\374\40\40\40\377\0\0\0\377" - "\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0" - "\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0" - "\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\227\227" - "\227\354\377\377\377\264\377\377\377\211\377\377\377d\377\377\377H\377\377" - "\3779\377\377\3779\377\377\377J\377\377\377m\377\377\377\240\377\377\377" - "\336\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377" - "\0\0\0\377\177\177\177\377\377\377\377\377\377\377\377\377\377\377\377\376" - "\357\357\357\377000\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377" - "\0\0\0\377\0\0\0\377\0\0\0\377\20\20\20\377\317\317\317\377\377\377\377\377" - "\377\377\377\377\377\377\377\377@@@\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0" - "\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\377\377\377\336\377\377\377" - "\240\377\377\377n\377\377\377L\377\377\377@\377\377\377H\377\377\377d\377" - "\377\377\223\377\377\377\317@@@\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377" - "\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0" - "\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0" - "\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0" - "\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\242\242\242\260\377" - "\377\377l\377\377\377I\377\377\377-\377\377\377\31\377\377\377\15\377\377" - "\377\6\377\377\377\2\377\377\377\1\377\377\377\0\377\377\377\0\377\377\377" - "\0\377\377\377\2\377\377\377\5\377\377\377\14\377\377\377\31\377\377\377" - "0\377\377\377R\377\377\377\202\377\377\377\275\177\177\177\377\0\0\0\377" - "\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377@@" - "@\377\377\377\377\315\377\377\377\220\377\377\377]\377\377\3777\377\377\377" - "\35\377\377\377\16\377\377\377\6\377\377\377\2\377\377\377\0\377\377\377" - "\0\377\377\377\0\377\377\377\0\377\377\377\0\377\377\377\0\377\377\377\0" - "\377\377\377\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\377\377\377\0\377\377\377\0\377\377\377\0\377\377\377\0\377" - "\377\377\1\377\377\377\2\377\377\377\6\377\377\377\14\377\377\377\30\377" - "\377\377(\377\377\377>\377\377\377X\377\377\377u\377\377\377\221\377\377" - "\377\253\377\377\377\302\377\377\377\327\377\377\377\353\377\377\377\377" - "\377\377\377\377\377\377\377\377\377\377\377\377\177\177\177\377\0%N\377" - "\0\\\303\377\0b\320\377\0\22'\377\0\\\303\377\0b\320\377\0\\\303\377\0\22" - "'\377\0b\320\377\0b\320\377\0+[\377ppp\377\377\377\377\377\237\304\356\377" - "\177\260\350\377\177\260\350\377\177\260\350\377\177\260\350\377\177\260" - "\350\377\177\260\350\377\177\260\350\377\177\260\350\377\177\260\350\377" - "\177\260\350\377\177\260\350\377\177\260\350\377\177\260\350\377\177\260" - "\350\377\177\260\350\377\177\260\350\377\177\260\350\377\177\260\350\377" - "\177\260\350\377\177\260\350\377\177\260\350\377\177\260\350\377\177\260" - "\350\377z\255\347\366r\250\345\350\377\377\377\267\377\377\377\252\377\377" - "\377\257\377\377\377\310\315\315\315\366\0\0\0\377\0\0\0\377\0\0\0\377\0" - "\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\337\337\337\372" - "\377\377\377\271\377\377\377\200\377\377\377R\377\377\3770\377\377\377\32" - "\377\377\377\15\377\377\377\6\377\377\377\3\377\377\377\1\377\377\377\0\377" - "\377\377\0\377\377\377\1\377\377\377\1\377\377\377\3\377\377\377\6\377\377" - "\377\12\377\377\377\21\377\377\377\32\377\377\377&\377\377\3772\377\377\377" - "@\377\377\377K\377\377\377U\377\377\377Z\377\377\377\\\377\377\377Z\377\377" - "\377T\377\377\377L\377\377\377E\377\377\377@\377\377\377D\377\377\377U\377" - "\377\377v\377\377\377\246\377\377\377\342\0\0\0\377\0\0\0\377\0\0\0\377\0" - "\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0" - "\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0" - "\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377" - "\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\231" - "\231\231\237\377\377\377]\377\377\377?\377\377\377(\377\377\377\30\377\377" - "\377\20\377\377\377\16\377\377\377\22\377\377\377\32\377\377\377&\377\377" - "\3775\377\377\377H\377\377\377^\377\377\377u\377\377\377\214\377\377\377" - "\243\377\377\377\271\377\377\377\314\377\377\377\334\335\335\335\355\215" - "\215\215\372```\377000\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0" - "\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377" - "\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\226" - "\226\226\351\377\377\377\253\377\377\377~\377\377\377[\377\377\377F\377\377" - "\377A\377\377\377N\377\377\377o\377\377\377\241\377\377\377\336\0\0\0\377" - "\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\177" - "\177\177\377\377\377\377\376\377\377\377\342\377\377\377\332\377\377\377" - "\345\337\337\337\377\20\20\20\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377" - "\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\40\40\40\377\357\357\357\377\377" - "\377\377\377\377\377\377\377@@@\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377" - "\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\377\377\377\336\377\377\377\240" - "\377\377\377n\377\377\377L\377\377\377@\377\377\377H\377\377\377d\377\377" - "\377\223\377\377\377\317@@@\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0" - "\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0" - "\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0" - "\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377" - "\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\231\231\231\237\377\377" - "\377\\\377\377\377>\377\377\377&\377\377\377\26\377\377\377\13\377\377\377" - "\5\377\377\377\2\377\377\377\0\377\377\377\0\377\377\377\0\377\377\377\0" - "\377\377\377\2\377\377\377\5\377\377\377\14\377\377\377\31\377\377\3770\377" - "\377\377R\377\377\377\202\377\377\377\275\177\177\177\377\0\0\0\377\0\0\0" - "\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377@@@\377\377" - "\377\377\315\377\377\377\220\377\377\377]\377\377\3777\377\377\377\35\377" - "\377\377\16\377\377\377\6\377\377\377\2\377\377\377\0\377\377\377\0\377\377" - "\377\0\377\377\377\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\377\377\377\0\377\377" - "\377\0\377\377\377\0\377\377\377\0\377\377\377\1\377\377\377\2\377\377\377" - "\6\377\377\377\15\377\377\377\31\377\377\377+\377\377\377C\377\377\377`\32" - "\32\32\350\0\0\0\377\14\14\14\373ttt\353\36\36\36\375\0\0\0\377\0\14\32\377" - "\0""1h\3770\377\377\3772\377\377\377*\377\377\377'\377\377" - "\377&\377\377\377)\377\377\3770\377\377\377;\377\377\377M\377\377\377f\377" - "\377\377\206\377\377\377\254\377\377\377\326@@@\377\0\0\0\377\0\0\0\377\0" - "\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\31\31\31\370\377" - "\377\377\240\377\377\377\205\377\377\377~\377\377\377\215\377\377\377\262" - "\377\377\377\350\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0" - "\377\0\0\0\377\0\0\0\377\0\0\0\377\177\177\177\377\377\377\377\350\377\377" - "\377\265\377\377\377\213\377\377\377m\377\377\377Z\377\377\377N\377\377\377" - "H\377\377\377E\377\377\377D\377\377\377D\377\377\377D\377\377\377D\377\377" - "\377C\377\377\377C\377\377\377C\377\377\377C\377\377\377B\377\377\377A\377" - "\377\377?\377\377\377<\377\377\3777\377\377\3771\377\377\377*\377\377\377" - "\"\377\377\377\34\377\377\377\27\377\377\377\27\377\377\377\35\377\377\377" - "+\377\377\377B\377\377\377aWWW\303\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377" - "\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\354\354\354\326\377\377\377\265" - "\377\377\377\230\377\377\377\177\377\377\377l\377\377\377_\377\377\377W\377" - "\377\377U\377\377\377V\377\377\377[\377\377\377e\377\377\377t\377\377\377" - "\211\377\377\377\245\377\377\377\312\377\377\377\365\377\377\377\377\257" - "\257\257\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377" - "\0\0\0\377\0\0\0\377vvv\357\377\377\377\246\377\377\377z\377\377\377c\377" - "\377\377c\377\377\377z\377\377\377\246\377\377\377\341\0\0\0\377\0\0\0\377" - "\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\177\177\177" - "\377\377\377\377\305\377\377\377\220\377\377\377j\377\377\377X\377\377\377" - "X\377\377\377i\377\377\377\210\377\377\377\262\355\355\355\344\40\40\40\377" - "\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0" - "\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0" - "\0\377\0\0\0\377\0\0\0\377\377\377\377\336\377\377\377\240\377\377\377n\377" - "\377\377L\377\377\377?\377\377\377H\377\377\377d\377\377\377\223\377\377" - "\377\316@@@\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377" - "\0\0\0\377\0\0\0\377\177\177\177\377\377\377\377\350\377\377\377\265\377" - "\377\377\213\377\377\377m\377\377\377Z\377\377\377N\377\377\377H\377\377" - "\377E\377\377\377D\377\377\377D\377\377\377D\377\377\377D\377\377\377C\377" - "\377\377C\377\377\377C\377\377\377C\377\377\377B\377\377\377A\377\377\377" - "?\377\377\377<\377\377\3777\377\377\3771\377\377\377*\377\377\377!\377\377" - "\377\31\377\377\377\22\377\377\377\14\377\377\377\7\377\377\377\4\377\377" - "\377\2\377\377\377\1\377\377\377\0\377\377\377\0\377\377\377\0\377\377\377" - "\2\377\377\377\5\377\377\377\14\377\377\377\31\377\377\3770\377\377\377R" - "\377\377\377\202\377\377\377\275\177\177\177\377\0\0\0\377\0\0\0\377\0\0" - "\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377@@@\377\377\377\377" - "\315\377\377\377\220\377\377\377]\377\377\3777\377\377\377\35\377\377\377" - "\16\377\377\377\6\377\377\377\2\377\377\377\0\377\377\377\0\377\377\377\0" - "\377\377\377\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\377\377\377\0\377" - "\377\377\0\377\377\377\0\377\377\377\0\377\377\377\2\377\377\377\4\377\377" - "\377\12\377\377\377\24\377\377\377$\377\377\377<\377\377\377\\\377\377\377" - "\203\253\253\253\302\0\0\0\377\0\0\0\377@@@\377\377\377\377\377```\377\0" - "\0\0\377\0\0\0\377\0%N\377\0b\320\377\0b\320\377\0b\320\377\0b\320\377@@" - "@\377\377\377\377\377\377\377\377\377\377\377\377\377@@@\377\0b\320\377\0" - "b\320\377\0b\320\377\0\\\303\377\0%N\377\0\0\0\377\0\0\0\377```\377\357\357" - "\357\377\40\40\40\377\0\0\0\377\0\0\0\377\333\333\333\337\377\377\377\313" - "\377\377\377\313\377\377\377\332\275\275\275\370\0\0\0\377\0\0\0\377\177" - "\177\177\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" - "\377\377\377\377\377\377\377\377\377\377\361\377\377\377\330\377\377\377" - "\301\377\377\377\262\377\377\377\261\377\377\377\300\377\377\377\337```\377" - "\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0" - "\0\0\377\0\0\0\377\277\277\277\377\377\377\377\342\377\377\377\266\377\377" - "\377\222\377\377\377u\377\377\377`\377\377\377Q\377\377\377H\377\377\377" - "D\377\377\377C\377\377\377G\377\377\377O\377\377\377]\377\377\377r\377\377" - "\377\216\377\377\377\261\377\377\377\332\217\217\217\377\0\0\0\377\0\0\0" - "\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377" - "\220\220\220\335\377\377\377\237\377\377\377\203\377\377\377|\377\377\377" - "\213\377\377\377\261\377\377\377\347\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0" - "\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\177\177\177\377\377" - "\377\377\357\377\377\377\275\377\377\377\224\377\377\377w\377\377\377d\377" - "\377\377Y\377\377\377S\377\377\377P\377\377\377O\377\377\377N\377\377\377" - "N\377\377\377N\377\377\377N\377\377\377N\377\377\377N\377\377\377N\377\377" - "\377M\377\377\377M\377\377\377K\377\377\377I\377\377\377D\377\377\377?\377" - "\377\3777\377\377\377/\377\377\377'\377\377\377\40\377\377\377\36\377\377" - "\377#\377\377\3771\377\377\377I\377\377\377k\217\217\217\267\0\0\0\377\0" - "\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377~~~\376" - "\377\377\377\333\377\377\377\271\377\377\377\232\377\377\377\201\377\377" - "\377o\377\377\377c\377\377\377]\377\377\377[\377\377\377^\377\377\377e\377" - "\377\377r\377\377\377\206\377\377\377\242\377\377\377\306\377\377\377\362" - "\377\377\377\377\277\277\277\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377" - "\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377vvv\357\377\377\377\246\377\377\377" - "{\377\377\377c\377\377\377c\377\377\377z\377\377\377\246\377\377\377\340" - "\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0" - "\0\0\377\177\177\177\377\377\377\377\301\377\377\377\212\377\377\377b\377" - "\377\377J\377\377\377D\377\377\377O\377\377\377h\377\377\377\214\377\377" - "\377\271\314\314\314\356\20\20\20\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0" - "\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377" - "\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\377\377\377\336\377\377" - "\377\240\377\377\377m\377\377\377L\377\377\377?\377\377\377H\377\377\377" - "d\377\377\377\223\377\377\377\316@@@\377\0\0\0\377\0\0\0\377\0\0\0\377\0" - "\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\177\177\177\377\377\377" - "\377\357\377\377\377\275\377\377\377\224\377\377\377w\377\377\377d\377\377" - "\377Y\377\377\377S\377\377\377P\377\377\377O\377\377\377N\377\377\377N\377" - "\377\377N\377\377\377N\377\377\377N\377\377\377N\377\377\377N\377\377\377" - "M\377\377\377M\377\377\377K\377\377\377I\377\377\377D\377\377\377?\377\377" - "\3777\377\377\377.\377\377\377$\377\377\377\33\377\377\377\22\377\377\377" - "\13\377\377\377\6\377\377\377\3\377\377\377\1\377\377\377\0\377\377\377\0" - "\377\377\377\0\377\377\377\2\377\377\377\5\377\377\377\14\377\377\377\31" - "\377\377\3770\377\377\377R\377\377\377\202\377\377\377\275\177\177\177\377" - "\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0" - "\0\0\377@@@\377\377\377\377\315\377\377\377\220\377\377\377]\377\377\377" - "7\377\377\377\35\377\377\377\16\377\377\377\6\377\377\377\2\377\377\377\0" - "\377\377\377\0\377\377\377\0\377\377\377\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\377\377\377\0\377\377\377\0\377\377\377\0\377\377\377\0\377\377" - "\377\1\377\377\377\3\377\377\377\10\377\377\377\20\377\377\377\36\377\377" - "\3773\377\377\377O\377\377\377r\377\377\377\232444\361\0\0\0\377\0\0\0\377" - "\217\217\217\377\377\377\377\377000\377\0\0\0\377\0\0\0\377\0\22'\377\0V" - "\266\377\0b\320\377\0b\320\377@@@\377\377\377\377\377\377\377\377\377\377" - "\377\377\377@@@\377\0b\320\377\0b\320\377\0P\251\377\0\22'\377\0\0\0\377" - "\0\0\0\377000\377\377\377\377\377PPP\377\0\0\0\377\0\0\0\377uuu\355\377\377" - "\377\302\377\377\377\266\377\377\377\272\377\377\377\316\273\273\273\361" - "\0\0\0\377\0\0\0\377\40Dn\377@\211\334\377@\211\334\377@\211\334\377@\211" - "\334\377@\211\334\377@\211\334\377@\211\334\377@\211\334\377@\211\334\377" - "@\211\334\377?\211\334\377;\206\333\371D\214\335\360\377\377\377\272\377" - "\377\377\263\377\377\377\272\377\377\377\321\336\336\336\366\20\20\20\377" - "\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0" - "\0\0\377\20\20\20\377\317\317\317\377\377\377\377\345\377\377\377\301\377" - "\377\377\244\377\377\377\215\377\377\377}\377\377\377r\377\377\377m\377\377" - "\377l\377\377\377p\377\377\377y\377\377\377\211\377\377\377\240\377\377\377" - "\276\377\377\377\341\237\237\237\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0" - "\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\36\36\36\376\377\377" - "\377\277\377\377\377\225\377\377\377{\377\377\377u\377\377\377\207\377\377" - "\377\256\377\377\377\345\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377" - "\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\177\177\177\377\377\377\377\377" - "\377\377\377\323\377\377\377\256\377\377\377\223\377\377\377\201\377\377" - "\377w\377\377\377q\377\377\377o\377\377\377n\377\377\377m\377\377\377m\377" - "\377\377m\377\377\377m\377\377\377m\377\377\377m\377\377\377m\377\377\377" - "m\377\377\377l\377\377\377j\377\377\377g\377\377\377c\377\377\377\\\377\377" - "\377R\377\377\377F\377\377\377:\377\377\377/\377\377\377)\377\377\377*\377" - "\377\3775\377\377\377L\377\377\377o\377\377\377\233\15\15\15\374\0\0\0\377" - "\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\277" - "\277\277\377\377\377\377\344\377\377\377\303\377\377\377\247\377\377\377" - "\222\377\377\377\203\377\377\377y\377\377\377u\377\377\377v\377\377\377{" - "\377\377\377\207\377\377\377\231\377\377\377\264\377\377\377\326\377\377" - "\377\377\377\377\377\377PPP\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0" - "\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\204\204\204\350\377\377\377\237\377" - "\377\377v\377\377\377`\377\377\377a\377\377\377y\377\377\377\245\377\377" - "\377\340\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0" - "\0\377\0\0\0\377\177\177\177\377\377\377\377\277\377\377\377\207\377\377" - "\377[\377\377\377@\377\377\3776\377\377\377;\377\377\377M\377\377\377k\377" - "\377\377\223\377\377\377\301\254\254\254\367\0\0\0\377\0\0\0\377\0\0\0\377" - "\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0" - "\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\377\377\377\336" - "\377\377\377\240\377\377\377m\377\377\377L\377\377\377?\377\377\377G\377" - "\377\377d\377\377\377\222\377\377\377\316@@@\377\0\0\0\377\0\0\0\377\0\0" - "\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\177\177\177\377" - "\377\377\377\377\377\377\377\323\377\377\377\256\377\377\377\223\377\377" - "\377\201\377\377\377w\377\377\377q\377\377\377o\377\377\377n\377\377\377" - "m\377\377\377m\377\377\377m\377\377\377m\377\377\377m\377\377\377m\377\377" - "\377m\377\377\377m\377\377\377l\377\377\377j\377\377\377g\377\377\377c\377" - "\377\377\\\377\377\377R\377\377\377E\377\377\3778\377\377\377*\377\377\377" - "\35\377\377\377\22\377\377\377\13\377\377\377\6\377\377\377\2\377\377\377" - "\1\377\377\377\0\377\377\377\0\377\377\377\2\377\377\377\5\377\377\377\14" - "\377\377\377\31\377\377\3770\377\377\377R\377\377\377\202\377\377\377\275" - "\177\177\177\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0" - "\377\0\0\0\377\0\0\0\377@@@\377\377\377\377\315\377\377\377\217\377\377\377" - "\\\377\377\3777\377\377\377\35\377\377\377\16\377\377\377\6\377\377\377\2" - "\377\377\377\0\377\377\377\0\377\377\377\0\377\377\377\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\377\377" - "\377\0\377\377\377\0\377\377\377\0\377\377\377\0\377\377\377\0\377\377\377" - "\0\377\377\377\0\377\377\377\0\377\377\377\1\377\377\377\2\377\377\377\6" - "\377\377\377\14\377\377\377\27\377\377\377(\377\377\377@\377\377\377_\377" - "\377\377\204\323\323\323\266\15\15\15\375\0\0\0\377\0\0\0\377\237\237\237" - "\377\357\357\357\377PPP\377\0\0\0\377\0\0\0\377\0\0\0\377\0\31""4\377\0\31" - """4\377@@@\377\377\377\377\377\377\377\377\377\377\377\377\377@@@\377\0\31" - """4\377\0\31""4\377\0\0\0\377\0\0\0\377\0\0\0\377```\377\377\377\377\377" - "```\377\0\0\0\377\0\0\0\377***\371\352\352\352\303\377\377\377\251\377\377" - "\377\241\377\377\377\252\377\377\377\302\272\272\272\354\0\0\0\377\0\0\0" - "\377\0""1h\377\0b\320\377\0b\320\377\0b\320\377\0b\320\377\0b\320\377\0b" - "\320\377\0b\320\377\0b\320\377\0b\320\377\0b\320\377\0b\320\377\0b\320\377" - "\0b\320\377\220\273\353\334\377\377\377\272\377\377\377\271\377\377\377\307" - "\377\377\377\342\217\217\217\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377" - "\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\177\177\177" - "\377\377\377\377\364\377\377\377\331\377\377\377\302\377\377\377\262\377" - "\377\377\246\377\377\377\240\377\377\377\237\377\377\377\244\377\377\377" - "\256\377\377\377\276\377\377\377\324\377\377\377\361\237\237\237\377\0\0" - "\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0" - "\377\0\0\0\377\0\0\0\377\226\226\226\351\377\377\377\254\377\377\377\205" - "\377\377\377n\377\377\377l\377\377\377\201\377\377\377\252\377\377\377\342" - "\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0" - "\0\0\377\0\0\0\377\177\177\177\377\377\377\377\377\377\377\377\366\377\377" - "\377\325\377\377\377\275\377\377\377\256\377\377\377\245\377\377\377\240" - "\377\377\377\236\377\377\377\235\377\377\377\234\377\377\377\234\377\377" - "\377\234\377\377\377\234\377\377\377\234\377\377\377\234\377\377\377\234" - "\377\377\377\234\377\377\377\233\377\377\377\231\377\377\377\225\377\377" - "\377\217\377\377\377\205\377\377\377x\377\377\377g\377\377\377T\377\377\377" - "C\377\377\3776\377\377\3771\377\377\3778\377\377\377K\377\377\377l\377\377" - "\377\227ppp\345\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377" - "\0\0\0\377\0\0\0\377\0\0\0\377\217\217\217\377\377\377\377\364\377\377\377" - "\330\377\377\377\302\377\377\377\261\377\377\377\246\377\377\377\240\377" - "\377\377\240\377\377\377\244\377\377\377\256\377\377\377\277\377\377\377" - "\327\377\377\377\366\377\377\377\377```\377\0\0\0\377\0\0\0\377\0\0\0\377" - "\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\305\305\305" - "\322\377\377\377\224\377\377\377m\377\377\377Z\377\377\377]\377\377\377v" - "\377\377\377\243\377\377\377\336\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377" - "\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377~~~\376\377\377\377\275\377\377\377" - "\204\377\377\377W\377\377\377:\377\377\377,\377\377\377,\377\377\3778\377" - "\377\377O\377\377\377q\377\377\377\232\377\377\377\312\216\216\216\376\0" - "\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0" - "\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0" - "\377\377\377\377\335\377\377\377\237\377\377\377m\377\377\377L\377\377\377" - "?\377\377\377G\377\377\377d\377\377\377\222\377\377\377\315@@@\377\0\0\0" - "\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377" - "\177\177\177\377\377\377\377\377\377\377\377\366\377\377\377\325\377\377" - "\377\275\377\377\377\256\377\377\377\245\377\377\377\240\377\377\377\236" - "\377\377\377\235\377\377\377\234\377\377\377\234\377\377\377\234\377\377" - "\377\234\377\377\377\234\377\377\377\234\377\377\377\234\377\377\377\234" - "\377\377\377\233\377\377\377\231\377\377\377\225\377\377\377\217\377\377" - "\377\205\377\377\377w\377\377\377f\377\377\377R\377\377\377>\377\377\377" - "+\377\377\377\34\377\377\377\20\377\377\377\11\377\377\377\4\377\377\377" - "\2\377\377\377\1\377\377\377\1\377\377\377\2\377\377\377\5\377\377\377\14" - "\377\377\377\31\377\377\377/\377\377\377R\377\377\377\201\377\377\377\274" - "~~~\376\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0" - "\377\0\0\0\377@@@\377\377\377\377\314\377\377\377\217\377\377\377\\\377\377" - "\3776\377\377\377\35\377\377\377\16\377\377\377\6\377\377\377\2\377\377\377" - "\0\377\377\377\0\377\377\377\0\377\377\377\0\377\377\377\0\377\377\377\0" - "\377\377\377\0\377\377\377\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\377\377\377" - "\0\377\377\377\0\377\377\377\0\377\377\377\0\377\377\377\0\377\377\377\0" - "\377\377\377\0\377\377\377\0\377\377\377\0\377\377\377\0\377\377\377\0\377" - "\377\377\1\377\377\377\4\377\377\377\11\377\377\377\21\377\377\377\36\377" - "\377\3772\377\377\377L\377\377\377l\377\377\377\221\256\256\256\311\0\0\0" - "\377\0\0\0\377\0\0\0\377\237\237\237\377\377\377\377\377\177\177\177\377" - "\0\0\0\377\0\0\0\377\0\0\0\377\20\20\20\377\317\317\317\377\377\377\377\377" - "\377\377\377\377\377\377\377\377\257\257\257\377\0\0\0\377\0\0\0\377\0\0" - "\0\377\20\20\20\377\217\217\217\377\377\377\377\377```\377\0\0\0\377\0\0" - "\0\377\16\16\16\376\303\303\303\313\377\377\377\242\377\377\377\220\377\377" - "\377\215\377\377\377\233\377\377\377\271\271\271\271\350\0\0\0\377\0\0\0" - "\377\0""1h\377\0b\320\377\0b\320\377\0b\320\377\0b\320\377\0b\320\377\0b" - "\320\377\0b\320\377\0b\320\377\0b\320\377\0b\320\377\0b\320\377\0b\320\377" - "\0b\320\377\33s\325\373\353\363\374\312\377\377\377\277\377\377\377\303\377" - "\377\377\324\377\377\377\360PPP\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377" - "\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\40\40\40\377" - "ppp\377\276\276\276\373\377\377\377\352\377\377\377\337\377\377\377\331\377" - "\377\377\330\377\377\377\335\377\377\377\346\377\377\377\365\257\257\257" - "\377@@@\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0" - "\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377===\374\377\377\377\300\377\377\377" - "\223\377\377\377q\377\377\377_\377\377\377b\377\377\377z\377\377\377\245" - "\377\377\377\336\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0" - "\377\0\0\0\377\0\0\0\377\0\0\0\377\177\177\177\377\377\377\377\377\377\377" - "\377\377\377\377\377\377\377\377\377\360\377\377\377\343\377\377\377\334" - "\377\377\377\330\377\377\377\326\377\377\377\325\377\377\377\325\377\377" - "\377\325\377\377\377\325\377\377\377\325\377\377\377\325\377\377\377\325" - "\377\377\377\325\377\377\377\324\377\377\377\323\377\377\377\321\377\377" - "\377\314\377\377\377\303\377\377\377\266\377\377\377\244\377\377\377\215" - "\377\377\377s\377\377\377Y\377\377\377D\377\377\3779\377\377\3779\377\377" - "\377G\377\377\377b\377\377\377\213\352\352\352\300\17\17\17\376\0\0\0\377" - "\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0" - "\0\0\377@@@\377\237\237\237\377\336\336\336\370\377\377\377\347\377\377\377" - "\334\377\377\377\326\377\377\377\325\377\377\377\330\377\377\377\341\377" - "\377\377\357\357\357\357\377\237\237\237\377\40\40\40\377\0\0\0\377\0\0\0" - "\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377" - ";;;\372\377\377\377\262\377\377\377\203\377\377\377a\377\377\377R\377\377" - "\377X\377\377\377s\377\377\377\241\377\377\377\333\0\0\0\377\0\0\0\377\0" - "\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377~~~\375\377\377" - "\377\272\377\377\377\201\377\377\377T\377\377\3775\377\377\377$\377\377\377" - "\40\377\377\377(\377\377\3779\377\377\377T\377\377\377w\377\377\377\242\377" - "\377\377\323```\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0" - "\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0" - "\377\0\0\0\377\377\377\377\332\377\377\377\235\377\377\377l\377\377\377K" - "\377\377\377>\377\377\377F\377\377\377c\377\377\377\220\377\377\377\313@" - "@@\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0" - "\377\0\0\0\377\177\177\177\377\377\377\377\377\377\377\377\377\377\377\377" - "\377\377\377\377\360\377\377\377\343\377\377\377\334\377\377\377\330\377" - "\377\377\326\377\377\377\325\377\377\377\325\377\377\377\325\377\377\377" - "\325\377\377\377\325\377\377\377\325\377\377\377\325\377\377\377\325\377" - "\377\377\324\377\377\377\323\377\377\377\321\377\377\377\314\377\377\377" - "\303\377\377\377\266\377\377\377\244\377\377\377\214\377\377\377q\377\377" - "\377U\377\377\377;\377\377\377&\377\377\377\26\377\377\377\14\377\377\377" - "\6\377\377\377\2\377\377\377\1\377\377\377\1\377\377\377\2\377\377\377\5" - "\377\377\377\14\377\377\377\31\377\377\377/\377\377\377Q\377\377\377\200" - "\377\377\377\272~~~\375\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377" - "\0\0\0\377\0\0\0\377\0\0\0\377@@@\377\377\377\377\311\377\377\377\215\377" - "\377\377[\377\377\3776\377\377\377\35\377\377\377\16\377\377\377\6\377\377" - "\377\2\377\377\377\1\377\377\377\0\377\377\377\0\377\377\377\0\377\377\377" - "\0\377\377\377\0\377\377\377\0\377\377\377\0\377\377\377\0\377\377\377\0" - "\0\0\0\0\377\377\377\0\377\377\377\0\377\377\377\0\377\377\377\0\377\377" - "\377\0\377\377\377\0\377\377\377\0\377\377\377\0\377\377\377\0\377\377\377" - "\0\377\377\377\0\377\377\377\0\377\377\377\1\377\377\377\3\377\377\377\6" - "\377\377\377\14\377\377\377\26\377\377\377%\377\377\377:\377\377\377U\377" - "\377\377u\377\377\377\230\214\214\214\325\0\0\0\377\0\0\0\377\0\0\0\377`" - "``\377\357\357\357\377\337\337\337\377```\377\20\20\20\377\0\0\0\377000\377" - "\357\357\357\377\377\377\377\377\317\317\317\377\20\20\20\377\0\0\0\377\40" - "\40\40\377\177\177\177\377\357\357\357\377\337\337\337\377@@@\377\0\0\0\377" - "\0\0\0\377\16\16\16\375\303\303\303\312\377\377\377\237\377\377\377\206\377" - "\377\377y\377\377\377{\377\377\377\217\377\377\377\261\270\270\270\346\0" - "\0\0\377\0\0\0\377`lz\377\277\330\364\377\277\330\364\377\277\330\364\377" - "\277\330\364\377\277\330\364\377\277\330\364\377\277\330\364\377\277\330" - "\364\377\277\330\364\377\277\330\364\377\277\330\364\377\277\330\364\377" - "\277\330\364\377\274\326\363\363\355\364\374\334\377\377\377\313\377\377" - "\377\306\377\377\377\314\377\377\377\335\357\357\357\370000\377\0\0\0\377" - "\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0" - "\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\40\40\40\377@@@\377@@@\377" - "@@@\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0" - "\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\17\17\17" - "\377\354\354\354\321\377\377\377\237\377\377\377x\377\377\377\\\377\377\377" - "Q\377\377\377X\377\377\377r\377\377\377\237\377\377\377\330\0\0\0\377\0\0" - "\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0" - "\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377" - "\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0" - "\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0" - "\0\377\0\0\0\377\0\0\0\377\0\0\0\377(((\344\377\377\377o\377\377\377S\377" - "\377\377?\377\377\3779\377\377\377@\377\377\377V\377\377\377x\377\377\377" - "\244\204\204\204\350\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0" - "\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\20\20" - "\20\377@@@\377@@@\377PPP\377@@@\377@@@\377000\377\0\0\0\377\0\0\0\377\0\0" - "\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0" - "\377\0\0\0\377\0\0\0\377\306\306\306\325\377\377\377\231\377\377\377o\377" - "\377\377S\377\377\377I\377\377\377Q\377\377\377n\377\377\377\234\377\377" - "\377\326\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0" - "\0\377\0\0\0\377|||\372\377\377\377\266\377\377\377~\377\377\377Q\377\377" - "\3772\377\377\377\37\377\377\377\31\377\377\377\34\377\377\377(\377\377\377" - "<\377\377\377Y\377\377\377~\377\377\377\253\355\355\355\336000\377\0\0\0" - "\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377" - "\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\377\377\377\326\377\377" - "\377\232\377\377\377i\377\377\377J\377\377\377=\377\377\377E\377\377\377" - "a\377\377\377\215\377\377\377\306@@@\377\0\0\0\377\0\0\0\377\0\0\0\377\0" - "\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0" - "\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0" - "\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377" - "\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0" - "\0\0\377(((\343\377\377\377l\377\377\377L\377\377\3771\377\377\377\35\377" - "\377\377\20\377\377\377\10\377\377\377\3\377\377\377\2\377\377\377\1\377" - "\377\377\2\377\377\377\5\377\377\377\14\377\377\377\30\377\377\377.\377\377" - "\377O\377\377\377}\377\377\377\266|||\372\0\0\0\377\0\0\0\377\0\0\0\377\0" - "\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377@@@\377\377\377\377\305\377" - "\377\377\212\377\377\377Y\377\377\3775\377\377\377\34\377\377\377\16\377" - "\377\377\6\377\377\377\2\377\377\377\1\377\377\377\0\377\377\377\0\377\377" - "\377\0\377\377\377\0\377\377\377\0\377\377\377\0\377\377\377\0\377\377\377" - "\0\377\377\377\0\377\377\377\0\377\377\377\0\377\377\377\0\377\377\377\0" - "\377\377\377\0\377\377\377\0\377\377\377\0\377\377\377\0\377\377\377\0\377" - "\377\377\0\377\377\377\1\377\377\377\1\377\377\377\1\377\377\377\1\377\377" - "\377\2\377\377\377\5\377\377\377\11\377\377\377\20\377\377\377\33\377\377" - "\377+\377\377\377@\377\377\377[\377\377\377y\377\377\377\232\235\235\235" - "\320\15\15\15\375\0\0\0\377\0\0\0\377\20\20\20\377\237\237\237\377\377\377" - "\377\377\377\377\377\377\277\277\277\377\40\40\40\377000\377\337\337\337" - "\377\20\20\20\377000\377\317\317\317\377\377\377\377\377\357\357\357\377" - "\177\177\177\377\20\20\20\377\0\0\0\377\0\0\0\377\15\15\15\375\302\302\302" - "\310\377\377\377\234\377\377\377\200\377\377\377l\377\377\377e\377\377\377" - "m\377\377\377\205\377\377\377\254\270\270\270\344\0\0\0\377\0\0\0\377\177" - "\177\177\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" - "\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\335\377\377\377\320\377" - "\377\377\313\377\377\377\321\377\377\377\337\357\357\357\365000\377\0\0\0" - "\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377" - "\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0" - "\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0" - "\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\17\17\17\377\307" - "\307\307\333\377\377\377\247\377\377\377\177\377\377\377^\377\377\377I\377" - "\377\377C\377\377\377N\377\377\377j\377\377\377\227\377\377\377\317\0\0\0" - "\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377" - "\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0" - "\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0" - "\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0" - "\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377...\352\377\377\377\201\377\377" - "\377^\377\377\377D\377\377\3777\377\377\3778\377\377\377G\377\377\377c\377" - "\377\377\210\377\377\377\265YYY\365\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377" - "\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0" - "\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0" - "\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0" - "\377\0\0\0\377\0\0\0\377\0\0\0\377\225\225\225\347\377\377\377\251\377\377" - "\377~\377\377\377[\377\377\377E\377\377\377?\377\377\377K\377\377\377h\377" - "\377\377\225\377\377\377\316\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0" - "\0\377\0\0\0\377\0\0\0\377\0\0\0\377zzz\365\377\377\377\257\377\377\377y" - "\377\377\377N\377\377\377/\377\377\377\34\377\377\377\24\377\377\377\24\377" - "\377\377\34\377\377\377*\377\377\377A\377\377\377`\377\377\377\206\377\377" - "\377\263\356\356\356\346\20\20\20\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0" - "\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377" - "\0\0\0\377\377\377\377\316\377\377\377\224\377\377\377f\377\377\377G\377" - "\377\377<\377\377\377C\377\377\377]\377\377\377\210\377\377\377\277???\377" - "\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0" - "\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0" - "\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0" - "\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377" - "\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377...\351\377\377\377\177\377\377\377" - "Y\377\377\377:\377\377\377\"\377\377\377\23\377\377\377\12\377\377\377\5" - "\377\377\377\3\377\377\377\2\377\377\377\3\377\377\377\6\377\377\377\14\377" - "\377\377\30\377\377\377-\377\377\377M\377\377\377y\377\377\377\257zzz\366" - "\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0" - "\0\0\377???\376\377\377\377\276\377\377\377\205\377\377\377V\377\377\377" - "3\377\377\377\34\377\377\377\16\377\377\377\7\377\377\377\3\377\377\377\1" - "\377\377\377\1\377\377\377\1\377\377\377\0\377\377\377\0\377\377\377\0\377" - "\377\377\0\377\377\377\0\377\377\377\0\377\377\377\0\377\377\377\0\377\377" - "\377\0\377\377\377\0\377\377\377\0\377\377\377\0\377\377\377\0\377\377\377" - "\1\377\377\377\1\377\377\377\2\377\377\377\2\377\377\377\2\377\377\377\2" - "\377\377\377\3\377\377\377\3\377\377\377\4\377\377\377\5\377\377\377\10\377" - "\377\377\14\377\377\377\24\377\377\377\40\377\377\3770\377\377\377D\377\377" - "\377]\377\377\377y\377\377\377\227\300\300\300\302(((\367\0\0\0\377\0\0\0" - "\377\0\0\0\377\20\20\20\377```\377\237\237\237\377000\377\0\0\0\377\20\20" - "\20\377\0\0\0\377000\377\237\237\237\377PPP\377\0\0\0\377\0\0\0\377\0\0\0" - "\377\0\0\0\377(((\367\300\300\300\303\377\377\377\230\377\377\377|\377\377" - "\377e\377\377\377V\377\377\377U\377\377\377b\377\377\377\177\377\377\377" - "\251\270\270\270\344\0\0\0\377\0\0\0\377\0""1h\377\0b\320\377\0b\320\377" - "\0b\320\377\0b\320\377\0b\320\377\0b\320\377\0b\320\377\0b\320\377\0b\320" - "\377\0b\320\377\0b\320\377\0b\320\377\0b\320\377\0b\320\377\0b\320\377\0" - "b\320\377\312\336\366\344\377\377\377\320\377\377\377\311\377\377\377\314" - "\377\377\377\326\377\377\377\350\217\217\217\377\20\20\20\377\0\0\0\377\0" - "\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0" - "\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0" - "\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377" - "\0\0\0\377\0\0\0\377===\375\331\331\331\324\377\377\377\247\377\377\377\202" - "\377\377\377a\377\377\377H\377\377\3779\377\377\3778\377\377\377E\377\377" - "\377b\377\377\377\215\377\377\377\303\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0" - "\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377" - "\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0" - "\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0" - "\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0" - "\377\0\0\0\377111\355\377\377\377\213\377\377\377e\377\377\377G\377\377\377" - "6\377\377\3771\377\377\377:\377\377\377N\377\377\377m\377\377\377\222\377" - "\377\377\273iii\363\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0" - "\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0" - "\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377" - "\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\20\20\20\377" - "\246\246\246\346\377\377\377\260\377\377\377\207\377\377\377c\377\377\377" - "H\377\377\3778\377\377\3776\377\377\377D\377\377\377a\377\377\377\215\377" - "\377\377\302\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377" - "\0\0\0\377\0\0\0\377vvv\357\377\377\377\246\377\377\377s\377\377\377J\377" - "\377\377-\377\377\377\33\377\377\377\22\377\377\377\20\377\377\377\24\377" - "\377\377\37\377\377\377/\377\377\377G\377\377\377g\377\377\377\216\377\377" - "\377\273\314\314\314\357\20\20\20\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0" - "\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377" - "\377\377\377\302\377\377\377\214\377\377\377a\377\377\377E\377\377\377:\377" - "\377\377A\377\377\377Y\377\377\377\201\377\377\377\264<<<\373\0\0\0\377\0" - "\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0" - "\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0" - "\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377" - "\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0" - "\0\0\377\0\0\0\377\0\0\0\377111\355\377\377\377\212\377\377\377a\377\377" - "\377@\377\377\377'\377\377\377\26\377\377\377\14\377\377\377\7\377\377\377" - "\5\377\377\377\4\377\377\377\5\377\377\377\7\377\377\377\15\377\377\377\31" - "\377\377\377,\377\377\377J\377\377\377s\377\377\377\246vvv\357\0\0\0\377" - "\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377<<" - "<\373\377\377\377\263\377\377\377~\377\377\377S\377\377\3772\377\377\377" - "\34\377\377\377\17\377\377\377\10\377\377\377\5\377\377\377\3\377\377\377" - "\3\377\377\377\2\377\377\377\2\377\377\377\1\377\377\377\1\377\377\377\0" - "\377\377\377\0\377\377\377\0\377\377\377\0\377\377\377\0\377\377\377\0\377" - "\377\377\0\377\377\377\0\377\377\377\1\377\377\377\2\377\377\377\3\377\377" - "\377\4\377\377\377\5\377\377\377\5\377\377\377\6\377\377\377\6\377\377\377" - "\7\377\377\377\7\377\377\377\7\377\377\377\10\377\377\377\12\377\377\377" - "\15\377\377\377\22\377\377\377\32\377\377\377%\377\377\3775\377\377\377H" - "\377\377\377_\377\377\377w\377\377\377\222\377\377\377\253~~~\336\15\15\15" - "\375\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377" - "\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\15\15\15\375" - "\177\177\177\337\377\377\377\255\377\377\377\222\377\377\377x\377\377\377" - "a\377\377\377P\377\377\377G\377\377\377K\377\377\377\\\377\377\377}\377\377" - "\377\251\270\270\270\345\0\0\0\377\0\0\0\377\0""1h\377\0b\320\377\0b\320" - "\377\0b\320\377\0b\320\377\0b\320\377\0b\320\377\0b\320\377\0b\320\377\0" - "b\320\377\0b\320\377\0b\320\377\0b\320\377\0b\320\377\0b\320\377\0b\320\377" - "\0b\320\377\16k\323\376\310\335\365\335\377\377\377\306\377\377\377\275\377" - "\377\377\275\377\377\377\305\377\377\377\323\356\356\356\347\216\216\216" - "\375\40\40\40\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0" - "\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377" - "\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0" - "\0\0\377PPP\377\271\271\271\352\377\377\377\303\377\377\377\242\377\377\377" - "\201\377\377\377c\377\377\377J\377\377\3778\377\377\377/\377\377\3771\377" - "\377\377?\377\377\377[\377\377\377\203\377\377\377\263\0\0\0\377\0\0\0\377" - "\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0" - "\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0" - "\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0" - "\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377" - "\0\0\0\377\0\0\0\377\0\0\0\377111\356\377\377\377\216\377\377\377g\377\377" - "\377I\377\377\3775\377\377\377-\377\377\3771\377\377\377>\377\377\377U\377" - "\377\377r\377\377\377\224\377\377\377\270\270\270\270\344???\376\0\0\0\377" - "\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0" - "\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0" - "\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0" - "\377^^^\374\354\354\354\327\377\377\377\257\377\377\377\213\377\377\377j" - "\377\377\377N\377\377\377:\377\377\3770\377\377\3771\377\377\377?\377\377" - "\377[\377\377\377\202\377\377\377\262\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0" - "\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377qqq\346\377\377\377\232\377\377" - "\377l\377\377\377G\377\377\377-\377\377\377\34\377\377\377\23\377\377\377" - "\20\377\377\377\22\377\377\377\31\377\377\377%\377\377\3777\377\377\377P" - "\377\377\377q\377\377\377\227\377\377\377\302\233\233\233\365\0\0\0\377\0" - "\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0" - "\0\377\0\0\0\377\0\0\0\377\377\377\377\263\377\377\377\203\377\377\377\\" - "\377\377\377C\377\377\3779\377\377\377?\377\377\377U\377\377\377y\377\377" - "\377\247888\366\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377" - "\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0" - "\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0" - "\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0" - "\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377111\356\377\377\377" - "\215\377\377\377e\377\377\377D\377\377\377+\377\377\377\33\377\377\377\21" - "\377\377\377\14\377\377\377\11\377\377\377\10\377\377\377\11\377\377\377" - "\13\377\377\377\21\377\377\377\33\377\377\377,\377\377\377G\377\377\377l" - "\377\377\377\232qqq\346\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377" - "\0\0\0\377\0\0\0\377\0\0\0\377888\366\377\377\377\246\377\377\377v\377\377" - "\377O\377\377\3772\377\377\377\36\377\377\377\23\377\377\377\14\377\377\377" - "\11\377\377\377\7\377\377\377\7\377\377\377\6\377\377\377\5\377\377\377\4" - "\377\377\377\3\377\377\377\2\377\377\377\1\377\377\377\0\377\377\377\0\377" - "\377\377\0\377\377\377\0\377\377\377\1\377\377\377\1\377\377\377\3\377\377" - "\377\4\377\377\377\6\377\377\377\10\377\377\377\12\377\377\377\14\377\377" - "\377\15\377\377\377\16\377\377\377\17\377\377\377\17\377\377\377\20\377\377" - "\377\20\377\377\377\21\377\377\377\23\377\377\377\26\377\377\377\33\377\377" - "\377#\377\377\377.\377\377\377<\377\377\377M\377\377\377a\377\377\377v\377" - "\377\377\214\377\377\377\242\377\377\377\267\221\221\221\336HHH\364\0\0\0" - "\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377" - "\0\0\0\377HHH\365\221\221\221\337\352\352\352\275\377\377\377\244\377\377" - "\377\215\377\377\377w\377\377\377b\377\377\377P\377\377\377D\377\377\377" - "A\377\377\377H\377\377\377]\377\377\377\177\377\377\377\254\270\270\270\347" - "\0\0\0\377\0\0\0\377\0""1h\377\0b\320\377\0b\320\377\0b\320\377\0b\320\377" - "\0b\320\377\0b\320\377\0b\320\377\0b\320\377\0b\320\377\0b\320\377\0b\320" - "\377\0b\320\377\0b\320\377\0b\320\377\0b\320\377\0b\320\377\0b\320\377\15" - "j\323\375\217\272\353\333\377\377\377\264\377\377\377\253\377\377\377\251" - "\377\377\377\260\377\377\377\274\377\377\377\315\377\377\377\337\275\275" - "\275\365```\377\40\40\40\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0" - "\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0" - "\377\0\0\0\377\0\0\0\377\0\0\0\377@@@\377\216\216\216\375\334\334\334\351" - "\377\377\377\316\377\377\377\265\377\377\377\231\377\377\377~\377\377\377" - "e\377\377\377O\377\377\377=\377\377\3771\377\377\377,\377\377\3770\377\377" - "\377>\377\377\377W\377\377\377y\377\377\377\243\0\0\0\377\0\0\0\377\0\0\0" - "\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377" - "\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0" - "\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0" - "\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0" - "\377\0\0\0\377\0\0\0\377000\354\377\377\377\213\377\377\377g\377\377\377" - "J\377\377\3777\377\377\377.\377\377\377.\377\377\3776\377\377\377F\377\377" - "\377\\\377\377\377v\377\377\377\223\377\377\377\260\377\377\377\314\313\313" - "\313\353ooo\376\40\40\40\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0" - "\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0" - "\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\20\20\20\377___\377" - "\334\334\334\350\377\377\377\310\377\377\377\252\377\377\377\214\377\377" - "\377o\377\377\377U\377\377\377A\377\377\3773\377\377\377-\377\377\3771\377" - "\377\377>\377\377\377W\377\377\377y\377\377\377\243\0\0\0\377\0\0\0\377\0" - "\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377jjj\334\377\377" - "\377\216\377\377\377g\377\377\377G\377\377\3771\377\377\377\"\377\377\377" - "\32\377\377\377\27\377\377\377\30\377\377\377\34\377\377\377$\377\377\377" - "1\377\377\377C\377\377\377]\377\377\377|\377\377\377\240\377\377\377\307" - "kkk\367\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0" - "\377\0\0\0\377\0\0\0\377\0\0\0\377\377\377\377\244\377\377\377{\377\377\377" - "Y\377\377\377C\377\377\377;\377\377\377@\377\377\377S\377\377\377r\377\377" - "\377\231444\361\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377" - "\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0" - "\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0" - "\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0" - "\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377000\354\377\377\377" - "\213\377\377\377f\377\377\377H\377\377\3771\377\377\377\"\377\377\377\31" - "\377\377\377\24\377\377\377\22\377\377\377\22\377\377\377\22\377\377\377" - "\24\377\377\377\31\377\377\377!\377\377\3770\377\377\377G\377\377\377g\377" - "\377\377\216kkk\335\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0" - "\0\377\0\0\0\377\0\0\0\377444\361\377\377\377\230\377\377\377p\377\377\377" - "N\377\377\3775\377\377\377$\377\377\377\32\377\377\377\25\377\377\377\22" - "\377\377\377\20\377\377\377\17\377\377\377\15\377\377\377\13\377\377\377" - "\11\377\377\377\7\377\377\377\5\377\377\377\3\377\377\377\2\377\377\377\1" - "\377\377\377\0\377\377\377\1\377\377\377\2\377\377\377\3\377\377\377\6\377" - "\377\377\11\377\377\377\15\377\377\377\21\377\377\377\25\377\377\377\30\377" - "\377\377\33\377\377\377\34\377\377\377\36\377\377\377\36\377\377\377\37\377" - "\377\377\37\377\377\377\40\377\377\377!\377\377\377#\377\377\377'\377\377" - "\377,\377\377\3773\377\377\377<\377\377\377H\377\377\377W\377\377\377g\377" - "\377\377y\377\377\377\214\377\377\377\236\377\377\377\257\377\377\377\277" - "\377\377\377\315\267\267\267\342\250\250\250\352xxx\363yyy\364xxx\363\250" - "\250\250\353\311\311\311\340\377\377\377\316\377\377\377\300\377\377\377" - "\260\377\377\377\237\377\377\377\215\377\377\377z\377\377\377h\377\377\377" - "X\377\377\377L\377\377\377E\377\377\377F\377\377\377Q\377\377\377g\377\377" - "\377\211\377\377\377\264\272\272\272\353\0\0\0\377\0\0\0\377\0""1h\377\0" - "b\320\377\0b\320\377\0b\320\377\0b\320\377\0b\320\377\0b\320\377\0b\320\377" - "\0b\320\377\0b\320\377\0b\320\377\0b\320\377\0b\320\377\0b\320\377\0b\320" - "\377\0b\320\377\0b\320\377\0b\320\377\0b\320\377\0b\320\377=\210\334\347" - "\347\360\373\247\377\377\377\231\377\377\377\230\377\377\377\236\377\377" - "\377\252\377\377\377\270\377\377\377\311\377\377\377\331\377\377\377\350" - "\336\336\336\367\257\257\257\377\177\177\177\377PPP\377@@@\377@@@\377@@@" - "\377@@@\377@@@\377@@@\377@@@\377ppp\377\217\217\217\377\277\277\277\375\377" - "\377\377\360\377\377\377\341\377\377\377\320\377\377\377\275\377\377\377" - "\251\377\377\377\224\377\377\377~\377\377\377j\377\377\377X\377\377\377H" - "\377\377\377<\377\377\3775\377\377\3773\377\377\3778\377\377\377D\377\377" - "\377Y\377\377\377u\377\377\377\227222\356999\367???\376@@@\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;;;\371555\362WWW\332\377\377\377" - "\210\377\377\377i\377\377\377Q\377\377\377@\377\377\3777\377\377\3775\377" - "\377\3779\377\377\377C\377\377\377R\377\377\377e\377\377\377z\377\377\377" - "\221\377\377\377\250\377\377\377\276\377\377\377\322\377\377\377\343\357" - "\357\357\363\277\277\277\376\237\237\237\377\177\177\177\377```\377@@@\377" - "@@@\377000\377\0\0\0\377\0\0\0\377\0\0\0\377\20\20\20\377@@@\377@@@\377`" - "``\377\217\217\217\377\316\316\316\372\377\377\377\350\377\377\377\324\377" - "\377\377\275\377\377\377\245\377\377\377\215\377\377\377u\377\377\377`\377" - "\377\377N\377\377\377@\377\377\3777\377\377\3774\377\377\3779\377\377\377" - "E\377\377\377Y\377\377\377u\377\377\377\227222\356888\366===\375@@@\377@" - "@@\377???\377;;;\372555\362\205\205\205\311\377\377\377\206\377\377\377g" - "\377\377\377N\377\377\377;\377\377\3770\377\377\377)\377\377\377&\377\377" - "\377&\377\377\377(\377\377\377-\377\377\3776\377\377\377C\377\377\377V\377" - "\377\377n\377\377\377\213\377\377\377\252\377\377\377\312jjj\365@@@\377@" - "@@\377@@@\377@@@\377@@@\377@@@\377???\376999\367222\357\377\377\377\230\377" - "\377\377w\377\377\377\\\377\377\377K\377\377\377D\377\377\377H\377\377\377" - "W\377\377\377p\377\377\377\220ZZZ\336888\365>>>\375@@@\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;;;\371555\362WWW\332\377\377\377\211" - "\377\377\377j\377\377\377P\377\377\377=\377\377\3771\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\377N\377\377\377g\377\377\377\207\206\206" - "\206\312666\363<<<\372@@@\377@@@\377@@@\377@@@\377===\374777\365ZZZ\336\377" - "\377\377\217\377\377\377n\377\377\377S\377\377\377?\377\377\3771\377\377" - "\377)\377\377\377%\377\377\377\"\377\377\377\40\377\377\377\36\377\377\377" - "\33\377\377\377\27\377\377\377\23\377\377\377\16\377\377\377\12\377\377\377" - "\6\377\377\377\4\377\377\377\2\377\377\377\1\377\377\377\1\377\377\377\3" - "\377\377\377\6\377\377\377\13\377\377\377\20\377\377\377\27\377\377\377\36" - "\377\377\377%\377\377\377+\377\377\377/\377\377\3772\377\377\3774\377\377" - "\3775\377\377\3776\377\377\3777\377\377\3778\377\377\3779\377\377\377;\377" - "\377\377=\377\377\377A\377\377\377F\377\377\377L\377\377\377T\377\377\377" - "^\377\377\377j\377\377\377w\377\377\377\205\377\377\377\224\377\377\377\242" - "\377\377\377\257\377\377\377\273\377\377\377\305\377\377\377\315\377\377" - "\377\322\377\377\377\324\377\377\377\322\377\377\377\315\377\377\377\306" - "\377\377\377\274\377\377\377\260\377\377\377\243\377\377\377\224\377\377" - "\377\206\377\377\377x\377\377\377k\377\377\377`\377\377\377Y\377\377\377" - "V\377\377\377Y\377\377\377f\377\377\377|\377\377\377\234\377\377\377\304" - "\274\274\274\363\0\0\0\377\0\0\0\377\40Dn\377@\211\334\377@\211\334\377@" - "\211\334\377@\211\334\377@\211\334\377@\211\334\377@\211\334\377@\211\334" - "\377@\211\334\377@\211\334\377@\211\334\377@\211\334\377@\211\334\377@\211" - "\334\377@\211\334\377@\211\334\377=\210\334\3749\205\333\3675\203\332\362" - "0\200\331\354F\216\335\334\377\377\377\227\377\377\377\221\377\377\377\222" - "\377\377\377\231\377\377\377\243\377\377\377\257\377\377\377\275\377\377" - "\377\312\377\377\377\326\377\377\377\341\377\377\377\352\377\377\377\361" - "\377\377\377\366\377\377\377\372\377\377\377\374\377\377\377\374\377\377" - "\377\373\377\377\377\370\377\377\377\364\377\377\377\356\377\377\377\346" - "\377\377\377\334\377\377\377\321\377\377\377\304\377\377\377\265\377\377" - "\377\246\377\377\377\226\377\377\377\206\377\377\377v\377\377\377h\377\377" - "\377\\\377\377\377R\377\377\377K\377\377\377G\377\377\377G\377\377\377L\377" - "\377\377U\377\377\377e\377\377\377{\377\377\377\224\377\377\377\257\377\377" - "\377\311\377\377\377\337\377\377\377\357\377\377\377\372\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\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\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\375\377\377\377\371\377\377\377\361\377\377\377\345\377\377\377\324" - "\377\377\377\276\377\377\377\245\377\377\377\213\377\377\377s\377\377\377" - "`\377\377\377S\377\377\377K\377\377\377H\377\377\377J\377\377\377P\377\377" - "\377Z\377\377\377f\377\377\377u\377\377\377\205\377\377\377\226\377\377\377" - "\247\377\377\377\267\377\377\377\305\377\377\377\322\377\377\377\335\377" - "\377\377\347\377\377\377\357\377\377\377\365\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\377\377\377\377\371\377\377\377\360\377\377\377" - "\346\377\377\377\331\377\377\377\312\377\377\377\271\377\377\377\247\377" - "\377\377\224\377\377\377\202\377\377\377q\377\377\377c\377\377\377W\377\377" - "\377N\377\377\377I\377\377\377H\377\377\377L\377\377\377U\377\377\377e\377" - "\377\377{\377\377\377\224\377\377\377\257\377\377\377\307\377\377\377\332" - "\377\377\377\346\377\377\377\350\377\377\377\341\377\377\377\322\377\377" - "\377\274\377\377\377\243\377\377\377\211\377\377\377q\377\377\377^\377\377" - "\377Q\377\377\377H\377\377\377C\377\377\377A\377\377\377@\377\377\377A\377" - "\377\377E\377\377\377J\377\377\377S\377\377\377`\377\377\377q\377\377\377" - "\206\377\377\377\236\377\377\377\267\377\377\377\316\377\377\377\341\377" - "\377\377\360\377\377\377\371\377\377\377\375\377\377\377\372\377\377\377" - "\361\377\377\377\341\377\377\377\314\377\377\377\262\377\377\377\227\377" - "\377\377~\377\377\377j\377\377\377]\377\377\377W\377\377\377[\377\377\377" - "f\377\377\377y\377\377\377\221\377\377\377\254\377\377\377\306\377\377\377" - "\334\377\377\377\356\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" - "\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\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\377\377\377\377" - "\374\377\377\377\364\377\377\377\350\377\377\377\327\377\377\377\300\377" - "\377\377\247\377\377\377\215\377\377\377u\377\377\377b\377\377\377S\377\377" - "\377I\377\377\377C\377\377\377@\377\377\377?\377\377\377>\377\377\377?\377" - "\377\377@\377\377\377C\377\377\377H\377\377\377Q\377\377\377_\377\377\377" - "r\377\377\377\212\377\377\377\244\377\377\377\277\377\377\377\325\377\377" - "\377\346\377\377\377\360\377\377\377\361\377\377\377\351\377\377\377\332" - "\377\377\377\305\377\377\377\253\377\377\377\220\377\377\377x\377\377\377" - "c\377\377\377T\377\377\377I\377\377\377C\377\377\377?\377\377\377=\377\377" - "\377:\377\377\3776\377\377\3771\377\377\377*\377\377\377#\377\377\377\32" - "\377\377\377\23\377\377\377\14\377\377\377\7\377\377\377\4\377\377\377\2" - "\377\377\377\2\377\377\377\5\377\377\377\12\377\377\377\21\377\377\377\32" - "\377\377\377%\377\377\3770\377\377\377;\377\377\377E\377\377\377L\377\377" - "\377P\377\377\377S\377\377\377U\377\377\377W\377\377\377X\377\377\377Y\377" - "\377\377[\377\377\377]\377\377\377`\377\377\377c\377\377\377g\377\377\377" - "l\377\377\377r\377\377\377x\377\377\377\200\377\377\377\212\377\377\377\223" - "\377\377\377\236\377\377\377\250\377\377\377\263\377\377\377\274\377\377" - "\377\304\377\377\377\312\377\377\377\316\377\377\377\320\377\377\377\316" - "\377\377\377\312\377\377\377\304\377\377\377\274\377\377\377\263\377\377" - "\377\251\377\377\377\237\377\377\377\224\377\377\377\213\377\377\377\202" - "\377\377\377{\377\377\377w\377\377\377w\377\377\377|\377\377\377\211\377" - "\377\377\235\377\377\377\272\377\377\377\336\277\277\277\377\0\0\0\377\0" - "\0\0\377\177\177\177\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\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\364\377\377\377\344\377\377\377\321\377\377\377\277\377\377\377\260" - "\377\377\377\243\377\377\377\234\377\377\377\232\377\377\377\234\377\377" - "\377\242\377\377\377\253\377\377\377\265\377\377\377\277\377\377\377\311" - "\377\377\377\322\377\377\377\331\377\377\377\337\377\377\377\344\377\377" - "\377\347\377\377\377\351\377\377\377\351\377\377\377\350\377\377\377\346" - "\377\377\377\342\377\377\377\335\377\377\377\326\377\377\377\316\377\377" - "\377\304\377\377\377\272\377\377\377\257\377\377\377\244\377\377\377\230" - "\377\377\377\216\377\377\377\203\377\377\377{\377\377\377s\377\377\377n\377" - "\377\377j\377\377\377h\377\377\377h\377\377\377l\377\377\377s\377\377\377" - "~\377\377\377\215\377\377\377\237\377\377\377\262\377\377\377\304\377\377" - "\377\323\377\377\377\337\377\377\377\347\377\377\377\354\377\377\377\356" - "\377\377\377\357\377\377\377\360\377\377\377\360\377\377\377\357\377\377" - "\377\357\377\377\377\357\377\377\377\357\377\377\377\357\377\377\377\357" - "\377\377\377\356\377\377\377\356\377\377\377\356\377\377\377\356\377\377" - "\377\356\377\377\377\356\377\377\377\356\377\377\377\356\377\377\377\356" - "\377\377\377\355\377\377\377\355\377\377\377\354\377\377\377\353\377\377" - "\377\350\377\377\377\342\377\377\377\332\377\377\377\315\377\377\377\276" - "\377\377\377\254\377\377\377\232\377\377\377\211\377\377\377|\377\377\377" - "r\377\377\377l\377\377\377i\377\377\377j\377\377\377m\377\377\377r\377\377" - "\377z\377\377\377\203\377\377\377\216\377\377\377\231\377\377\377\245\377" - "\377\377\261\377\377\377\274\377\377\377\306\377\377\377\317\377\377\377" - "\327\377\377\377\335\377\377\377\343\377\377\377\350\377\377\377\354\377" - "\377\377\357\377\377\377\361\377\377\377\362\377\377\377\361\377\377\377" - "\357\377\377\377\354\377\377\377\346\377\377\377\337\377\377\377\326\377" - "\377\377\313\377\377\377\300\377\377\377\263\377\377\377\246\377\377\377" - "\231\377\377\377\214\377\377\377\201\377\377\377x\377\377\377q\377\377\377" - "k\377\377\377i\377\377\377i\377\377\377l\377\377\377s\377\377\377~\377\377" - "\377\215\377\377\377\237\377\377\377\262\377\377\377\303\377\377\377\320" - "\377\377\377\330\377\377\377\332\377\377\377\325\377\377\377\313\377\377" - "\377\274\377\377\377\253\377\377\377\231\377\377\377\212\377\377\377}\377" - "\377\377t\377\377\377n\377\377\377j\377\377\377h\377\377\377h\377\377\377" - "i\377\377\377k\377\377\377n\377\377\377s\377\377\377|\377\377\377\207\377" - "\377\377\225\377\377\377\246\377\377\377\270\377\377\377\310\377\377\377" - "\327\377\377\377\342\377\377\377\351\377\377\377\354\377\377\377\352\377" - "\377\377\344\377\377\377\331\377\377\377\312\377\377\377\270\377\377\377" - "\245\377\377\377\224\377\377\377\206\377\377\377|\377\377\377y\377\377\377" - "{\377\377\377\203\377\377\377\220\377\377\377\241\377\377\377\264\377\377" - "\377\306\377\377\377\326\377\377\377\342\377\377\377\353\377\377\377\361" - "\377\377\377\364\377\377\377\365\377\377\377\365\377\377\377\365\377\377" - "\377\365\377\377\377\365\377\377\377\364\377\377\377\364\377\377\377\364" - "\377\377\377\364\377\377\377\364\377\377\377\364\377\377\377\364\377\377" - "\377\364\377\377\377\364\377\377\377\364\377\377\377\364\377\377\377\364" - "\377\377\377\364\377\377\377\364\377\377\377\363\377\377\377\363\377\377" - "\377\361\377\377\377\356\377\377\377\350\377\377\377\340\377\377\377\323" - "\377\377\377\304\377\377\377\262\377\377\377\237\377\377\377\216\377\377" - "\377\200\377\377\377v\377\377\377o\377\377\377k\377\377\377h\377\377\377" - "g\377\377\377g\377\377\377g\377\377\377h\377\377\377j\377\377\377n\377\377" - "\377t\377\377\377~\377\377\377\213\377\377\377\234\377\377\377\257\377\377" - "\377\301\377\377\377\321\377\377\377\335\377\377\377\343\377\377\377\344" - "\377\377\377\337\377\377\377\324\377\377\377\305\377\377\377\263\377\377" - "\377\241\377\377\377\217\377\377\377\201\377\377\377v\377\377\377o\377\377" - "\377j\377\377\377g\377\377\377d\377\377\377`\377\377\377Z\377\377\377R\377" - "\377\377G\377\377\377:\377\377\377,\377\377\377\37\377\377\377\24\377\377" - "\377\14\377\377\377\6\377\377\377\3\377\377\377\4\377\377\377\10\377\377" - "\377\17\377\377\377\31\377\377\377&\377\377\3775\377\377\377F\377\377\377" - "U\377\377\377b\377\377\377l\377\377\377s\377\377\377x\377\377\377z\377\377" - "\377}\377\377\377\177\377\377\377\201\377\377\377\204\377\377\377\207\377" - "\377\377\213\377\377\377\220\377\377\377\224\377\377\377\231\377\377\377" - "\236\377\377\377\243\377\377\377\251\377\377\377\257\377\377\377\266\377" - "\377\377\275\377\377\377\304\377\377\377\313\377\377\377\322\377\377\377" - "\330\377\377\377\334\377\377\377\337\377\377\377\340\377\377\377\337\377" - "\377\377\334\377\377\377\330\377\377\377\322\377\377\377\314\377\377\377" - "\305\377\377\377\276\377\377\377\267\377\377\377\261\377\377\377\254\377" - "\377\377\251\377\377\377\247\377\377\377\250\377\377\377\256\377\377\377" - "\271\377\377\377\313\377\377\377\344\377\377\377\377\277\277\277\377\0\0" - "\0\377\0\0\0\377\177\177\177\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\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\374\377\377\377\361\377\377\377\343\377\377\377\326\377\377" - "\377\311\377\377\377\277\377\377\377\267\377\377\377\264\377\377\377\264" - "\377\377\377\267\377\377\377\274\377\377\377\302\377\377\377\311\377\377" - "\377\320\377\377\377\327\377\377\377\334\377\377\377\341\377\377\377\345" - "\377\377\377\347\377\377\377\351\377\377\377\351\377\377\377\350\377\377" - "\377\346\377\377\377\343\377\377\377\337\377\377\377\332\377\377\377\324" - "\377\377\377\316\377\377\377\306\377\377\377\277\377\377\377\267\377\377" - "\377\260\377\377\377\251\377\377\377\243\377\377\377\236\377\377\377\232" - "\377\377\377\227\377\377\377\225\377\377\377\225\377\377\377\226\377\377" - "\377\230\377\377\377\234\377\377\377\243\377\377\377\255\377\377\377\270" - "\377\377\377\304\377\377\377\320\377\377\377\332\377\377\377\341\377\377" - "\377\347\377\377\377\352\377\377\377\354\377\377\377\355\377\377\377\356" - "\377\377\377\356\377\377\377\356\377\377\377\356\377\377\377\356\377\377" - "\377\356\377\377\377\356\377\377\377\356\377\377\377\356\377\377\377\356" - "\377\377\377\355\377\377\377\355\377\377\377\355\377\377\377\355\377\377" - "\377\355\377\377\377\355\377\377\377\354\377\377\377\354\377\377\377\354" - "\377\377\377\353\377\377\377\352\377\377\377\350\377\377\377\345\377\377" - "\377\337\377\377\377\330\377\377\377\316\377\377\377\303\377\377\377\267" - "\377\377\377\254\377\377\377\243\377\377\377\235\377\377\377\230\377\377" - "\377\226\377\377\377\226\377\377\377\227\377\377\377\232\377\377\377\236" - "\377\377\377\244\377\377\377\252\377\377\377\261\377\377\377\271\377\377" - "\377\301\377\377\377\310\377\377\377\317\377\377\377\325\377\377\377\333" - "\377\377\377\340\377\377\377\344\377\377\377\350\377\377\377\353\377\377" - "\377\356\377\377\377\360\377\377\377\360\377\377\377\360\377\377\377\356" - "\377\377\377\353\377\377\377\347\377\377\377\341\377\377\377\333\377\377" - "\377\323\377\377\377\313\377\377\377\302\377\377\377\271\377\377\377\261" - "\377\377\377\251\377\377\377\243\377\377\377\235\377\377\377\231\377\377" - "\377\226\377\377\377\225\377\377\377\225\377\377\377\227\377\377\377\234" - "\377\377\377\243\377\377\377\255\377\377\377\271\377\377\377\305\377\377" - "\377\320\377\377\377\330\377\377\377\336\377\377\377\337\377\377\377\334" - "\377\377\377\326\377\377\377\316\377\377\377\304\377\377\377\272\377\377" - "\377\260\377\377\377\251\377\377\377\244\377\377\377\240\377\377\377\236" - "\377\377\377\235\377\377\377\235\377\377\377\235\377\377\377\236\377\377" - "\377\240\377\377\377\243\377\377\377\250\377\377\377\257\377\377\377\270" - "\377\377\377\303\377\377\377\316\377\377\377\332\377\377\377\343\377\377" - "\377\353\377\377\377\360\377\377\377\362\377\377\377\361\377\377\377\355" - "\377\377\377\346\377\377\377\335\377\377\377\321\377\377\377\305\377\377" - "\377\271\377\377\377\260\377\377\377\252\377\377\377\250\377\377\377\251" - "\377\377\377\257\377\377\377\267\377\377\377\302\377\377\377\316\377\377" - "\377\332\377\377\377\344\377\377\377\354\377\377\377\362\377\377\377\365" - "\377\377\377\367\377\377\377\370\377\377\377\371\377\377\377\371\377\377" - "\377\371\377\377\377\371\377\377\377\370\377\377\377\370\377\377\377\370" - "\377\377\377\370\377\377\377\370\377\377\377\370\377\377\377\370\377\377" - "\377\370\377\377\377\370\377\377\377\370\377\377\377\370\377\377\377\370" - "\377\377\377\370\377\377\377\370\377\377\377\370\377\377\377\367\377\377" - "\377\366\377\377\377\364\377\377\377\361\377\377\377\353\377\377\377\343" - "\377\377\377\331\377\377\377\315\377\377\377\301\377\377\377\266\377\377" - "\377\255\377\377\377\246\377\377\377\242\377\377\377\237\377\377\377\235" - "\377\377\377\235\377\377\377\235\377\377\377\235\377\377\377\235\377\377" - "\377\237\377\377\377\241\377\377\377\245\377\377\377\253\377\377\377\264" - "\377\377\377\277\377\377\377\313\377\377\377\327\377\377\377\341\377\377" - "\377\351\377\377\377\355\377\377\377\355\377\377\377\352\377\377\377\343" - "\377\377\377\331\377\377\377\316\377\377\377\302\377\377\377\266\377\377" - "\377\255\377\377\377\246\377\377\377\241\377\377\377\236\377\377\377\233" - "\377\377\377\230\377\377\377\222\377\377\377\211\377\377\377}\377\377\377" - "l\377\377\377X\377\377\377D\377\377\3770\377\377\377\37\377\377\377\23\377" - "\377\377\12\377\377\377\5\377\377\377\5\377\377\377\12\377\377\377\23\377" - "\377\377\40\377\377\3771\377\377\377E\377\377\377Z\377\377\377n\377\377\377" - "\177\377\377\377\214\377\377\377\225\377\377\377\233\377\377\377\237\377" - "\377\377\242\377\377\377\245\377\377\377\251\377\377\377\256\377\377\377" - "\263\377\377\377\272\377\377\377\301\377\377\377\307\377\377\377\316\377" - "\377\377\324\377\377\377\332\377\377\377\337\377\377\377\344\377\377\377" - "\351\377\377\377\356\377\377\377\362\377\377\377\367\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\377\377\377\377\373\377\377\377\367\377" - "\377\377\363\377\377\377\357\377\377\377\353\377\377\377\350\377\377\377" - "\345\377\377\377\344\377\377\377\343\377\377\377\345\377\377\377\352\377" - "\377\377\363\377\377\377\377\377\377\377\377\377\377\377\377\277\277\277" - "\377\0\0\0\377\0\0\0\377\177\177\177\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\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\377\377\377\377\377\377\377\377\375\377\377\377\364" - "\377\377\377\353\377\377\377\344\377\377\377\336\377\377\377\332\377\377" - "\377\331\377\377\377\332\377\377\377\335\377\377\377\340\377\377\377\344" - "\377\377\377\351\377\377\377\355\377\377\377\361\377\377\377\364\377\377" - "\377\367\377\377\377\371\377\377\377\372\377\377\377\372\377\377\377\371" - "\377\377\377\370\377\377\377\366\377\377\377\363\377\377\377\360\377\377" - "\377\354\377\377\377\350\377\377\377\344\377\377\377\337\377\377\377\333" - "\377\377\377\326\377\377\377\322\377\377\377\317\377\377\377\314\377\377" - "\377\312\377\377\377\311\377\377\377\311\377\377\377\311\377\377\377\312" - "\377\377\377\313\377\377\377\315\377\377\377\321\377\377\377\326\377\377" - "\377\335\377\377\377\343\377\377\377\352\377\377\377\360\377\377\377\365" - "\377\377\377\370\377\377\377\373\377\377\377\374\377\377\377\375\377\377" - "\377\376\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" - "\377\377\377\377\377\376\377\377\377\376\377\377\377\376\377\377\377\375" - "\377\377\377\375\377\377\377\375\377\377\377\375\377\377\377\375\377\377" - "\377\374\377\377\377\373\377\377\377\373\377\377\377\371\377\377\377\370" - "\377\377\377\365\377\377\377\361\377\377\377\353\377\377\377\345\377\377" - "\377\337\377\377\377\330\377\377\377\323\377\377\377\317\377\377\377\314" - "\377\377\377\313\377\377\377\312\377\377\377\312\377\377\377\314\377\377" - "\377\316\377\377\377\320\377\377\377\324\377\377\377\330\377\377\377\335" - "\377\377\377\341\377\377\377\346\377\377\377\352\377\377\377\356\377\377" - "\377\361\377\377\377\364\377\377\377\367\377\377\377\372\377\377\377\374" - "\377\377\377\376\377\377\377\377\377\377\377\377\377\377\377\377\377\377" - "\377\376\377\377\377\374\377\377\377\372\377\377\377\366\377\377\377\361" - "\377\377\377\354\377\377\377\347\377\377\377\341\377\377\377\334\377\377" - "\377\327\377\377\377\323\377\377\377\317\377\377\377\314\377\377\377\312" - "\377\377\377\311\377\377\377\310\377\377\377\310\377\377\377\311\377\377" - "\377\314\377\377\377\320\377\377\377\326\377\377\377\335\377\377\377\344" - "\377\377\377\352\377\377\377\360\377\377\377\363\377\377\377\364\377\377" - "\377\363\377\377\377\361\377\377\377\355\377\377\377\351\377\377\377\346" - "\377\377\377\342\377\377\377\337\377\377\377\335\377\377\377\334\377\377" - "\377\333\377\377\377\333\377\377\377\333\377\377\377\333\377\377\377\333" - "\377\377\377\334\377\377\377\336\377\377\377\341\377\377\377\345\377\377" - "\377\352\377\377\377\360\377\377\377\367\377\377\377\376\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\377\372\377\377\377\362" - "\377\377\377\354\377\377\377\346\377\377\377\343\377\377\377\341\377\377" - "\377\342\377\377\377\345\377\377\377\352\377\377\377\361\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\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\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\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\377\377\377\370\377\377\377\360\377\377\377\352" - "\377\377\377\344\377\377\377\340\377\377\377\336\377\377\377\334\377\377" - "\377\333\377\377\377\333\377\377\377\333\377\377\377\333\377\377\377\333" - "\377\377\377\334\377\377\377\335\377\377\377\340\377\377\377\343\377\377" - "\377\351\377\377\377\357\377\377\377\366\377\377\377\375\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\370\377\377\377\361\377\377\377\352" - "\377\377\377\344\377\377\377\340\377\377\377\335\377\377\377\333\377\377" - "\377\330\377\377\377\323\377\377\377\314\377\377\377\300\377\377\377\256" - "\377\377\377\227\377\377\377{\377\377\377^\377\377\377C\377\377\377,\377" - "\377\377\32\377\377\377\16\377\377\377\7\377\377\377\6\377\377\377\14\377" - "\377\377\26\377\377\377%\377\377\3779\377\377\377P\0\0\0\377\0\0\0\377\0" - "\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0" - "\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0" - "\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377" - "\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0" - "\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0" - "\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0" - "\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377" - "\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0" - "\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0" - "\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0" - "\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377" - "\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0" - "\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0" - "\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0" - "\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377" - "\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0" - "\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0" - "\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0" - "\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377" - "\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0" - "\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0" - "\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0" - "\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377" - "\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0" - "\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0" - "\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0" - "\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377" - "\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0" - "\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0" - "\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0" - "\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377" - "\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0" - "\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0" - "\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0" - "\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377" - "\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0" - "\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0" - "\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0" - "\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377" - "\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0" - "\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0" - "\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0" - "\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377" - "\0\0\0\377\0\0\0\377\377\377\377z\377\377\377W\377\377\3779\377\377\377\"" - "\377\377\377\22\377\377\377\11\377\377\377\6\377\377\377\15\377\377\377\27" - "\377\377\377'\377\377\377<\377\377\377U\0\0\0\377\0\0\0\377\0\0\0\377\0\0" - "\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0" - "\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377" - "\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0" - "\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0" - "\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0" - "\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377" - "\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0" - "\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0" - "\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0" - "\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377" - "\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0" - "\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0" - "\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0" - "\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377" - "\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0" - "\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0" - "\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0" - "\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377" - "\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0" - "\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0" - "\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0" - "\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377" - "\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0" - "\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0" - "\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0" - "\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377" - "\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0" - "\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0" - "\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0" - "\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377" - "\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0" - "\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0" - "\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0" - "\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377" - "\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0" - "\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0" - "\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0" - "\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377" - "\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0" - "\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0" - "\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0" - "\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377" - "\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0" - "\0\0\377\377\377\377\222\377\377\377g\377\377\377D\377\377\377(\377\377\377" - "\26\377\377\377\13\377\377\377\6\377\377\377\14\377\377\377\26\377\377\377" - "%\377\377\3779\377\377\377P\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0" - "\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377" - "\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0" - "\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0" - "\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0" - "\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377" - "\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0" - "\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0" - "\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0" - "\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377" - "\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0" - "\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0" - "\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0" - "\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377" - "\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0" - "\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0" - "\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0" - "\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377" - "\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0" - "\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0" - "\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0" - "\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377" - "\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0" - "\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0" - "\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0" - "\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377" - "\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0" - "\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0" - "\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0" - "\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377" - "\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0" - "\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0" - "\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0" - "\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377" - "\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0" - "\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0" - "\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0" - "\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377" - "\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0" - "\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0" - "\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0" - "\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377" - "\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0" - "\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\377" - "\377\377\242\377\377\377s\377\377\377K\377\377\377-\377\377\377\30\377\377" - "\377\14\377\377\377\5\377\377\377\12\377\377\377\23\377\377\377\40\377\377" - "\3771\377\377\377E\377\377\377Z\377\377\377n\377\377\377\177\377\377\377" - "\214\377\377\377\226\377\377\377\234\377\377\377\242\377\377\377\247\377" - "\377\377\257\377\377\377\271\330\347\370\316u\252\346\355\17k\323\376\0b" - "\320\377\0b\320\377\0b\320\377\0b\320\377\0b\320\377\0b\320\377\0b\320\377" - "\0b\320\377\0b\320\377\0b\320\377\0b\320\377\0b\320\377\0b\320\377\0b\320" - "\377\0b\320\377\0b\320\377\0b\320\377\0b\320\377\0b\320\377\0b\320\377\0" - "b\320\377\0b\320\377\0b\320\377\0b\320\377\0b\320\377\0b\320\377\0b\320\377" - "\0b\320\377\0b\320\377\0b\320\377\0b\320\377\0b\320\377\0b\320\377\0b\320" - "\377\0J\234\377\0\0\0\377\0\0\0\377\0""1h\377\0b\320\377\177\260\350\377" - "\377\377\377\377\277\330\364\377\0b\320\377\0b\320\377\177\260\350\377\377" - "\377\377\377\177\260\350\377\0b\320\377\0b\320\377\277\330\364\377\377\377" - "\377\377@\211\334\377\0b\320\377\0b\320\377\377\377\377\377\377\377\377\377" - "\0b\320\377\0b\320\377\0b\320\377\377\377\377\377\277\330\364\377\0b\320" - "\377\0b\320\377@\211\334\377\377\377\377\377\277\330\364\377\0b\320\377\0" - "b\320\377\177\260\350\377\377\377\377\377\177\260\350\377\0b\320\377\0b\320" - "\377\177\260\350\377\377\377\377\377@\211\334\377\0b\320\377\0b\320\377\377" - "\377\377\377\377\377\377\377\0b\320\377\0b\320\377\0b\320\377\377\377\377" - "\377\277\330\364\377\0b\320\377\0b\320\377@\211\334\377\377\377\377\377\277" - "\330\364\377\0b\320\377\0b\320\377@\211\334\377\377\377\377\377@\211\334" - "\377\0b\320\377\0b\320\377\277\330\364\377\377\377\377\377@\211\334\377\0" - "b\320\377\0b\320\377\377\377\377\377\377\377\377\377\0b\320\377\0b\320\377" - "\0b\320\377\377\377\377\377\277\330\364\377\0b\320\377\0b\320\377\0b\320" - "\377\377\377\377\377\177\260\350\377\0b\320\377\0b\320\377@\211\334\377\377" - "\377\377\377\177\260\350\377\0b\320\377\0b\320\377\177\260\350\377\377\377" - "\377\377@\211\334\377\0b\320\377\0b\320\377\277\330\364\377\377\377\377\377" - "@\211\334\377\0b\320\377\0b\320\377\377\377\377\377\277\330\364\377\0b\320" - "\377\0b\320\377\0b\320\377\377\377\377\377\177\260\350\377\0b\320\377\0b" - "\320\377@\211\334\377\377\377\377\377\177\260\350\377\0b\320\377\0b\320\377" - "\177\260\350\377\377\377\377\377@\211\334\377\0b\320\377\0b\320\377\177\260" - "\350\377\377\377\377\377@\211\334\377\0b\320\377\0b\320\377\377\377\377\377" - "\277\330\364\377\0b\320\377\0b\320\377@\211\334\377\377\377\377\377\177\260" - "\350\377\0b\320\377\0b\320\377@\211\334\377\377\377\377\377\177\260\350\377" - "\0b\320\377\0b\320\377\177\260\350\377\377\377\377\377@\211\334\377\0b\320" - "\377\0b\320\377\177\260\350\377\377\377\377\377@\211\334\377\0b\320\377\0" - "b\320\377\277\330\364\377\377\377\377\377\0b\320\377\0b\320\377\0b\320\377" - "\377\377\377\377\277\330\364\377\0b\320\377\0b\320\377@\211\334\377\377\377" - "\377\377\177\260\350\377\0b\320\377\0b\320\377\0b\320\377\0b\320\377\0b\320" - "\377\0b\320\377\0b\320\377\0b\320\377\0b\320\377\0b\320\377\0b\320\377\0" - "b\320\377\0b\320\377\0b\320\377\0b\320\377\0b\320\377\0b\320\377\0b\320\377" - "\0b\320\377\0b\320\377\0b\320\377\0b\320\377\0b\320\377\0b\320\377\0b\320" - "\377\0b\320\377\0b\320\377\0b\320\377\0b\320\377\0b\320\377\0b\320\377\0" - "b\320\377\0b\320\377\0b\320\377\0b\320\377\0b\320\377\0b\320\377\0b\320\377" - "\0b\320\377\0b\320\377\0b\320\377\0b\320\377\0b\320\377\0b\320\377\0b\320" - "\377\0b\320\377\0b\320\377\0b\320\377\0b\320\377\0b\320\377\0b\320\377\0" - "b\320\377\0b\320\377\0b\320\377\0b\320\377\0b\320\377\0b\320\377\0b\320\377" - "\0b\320\377\0b\320\377\0b\320\377\0b\320\377\0b\320\377\0b\320\377\0b\320" - "\377\0b\320\377\0b\320\377\0b\320\377\0b\320\377\0b\320\377\0b\320\377\0" - "b\320\377\0b\320\377\0b\320\377\0b\320\377\0b\320\377\0b\320\377\0b\320\377" - "\0b\320\377\0b\320\377\0b\320\377\0b\320\377\0b\320\377\0b\320\377\0b\320" - "\377\0b\320\377\0b\320\377\0b\320\377\0b\320\377\0b\320\377\0b\320\377\0" - "b\320\377\0b\320\377\0b\320\377\0b\320\377\0b\320\377\0b\320\377\0b\320\377" - "\0b\320\377\0b\320\377\0b\320\377\0b\320\377\0b\320\377\0b\320\377\0b\320" - "\377\0b\320\377\0b\320\377\0b\320\377\0b\320\377\0b\320\377\0b\320\377\0" - "b\320\377\377\377\377\250\377\377\377w\377\377\377N\377\377\377/\377\377" - "\377\31\377\377\377\14\377\377\377\4\377\377\377\10\377\377\377\17\377\377" - "\377\31\377\377\377&\377\377\3775\377\377\377F\377\377\377U\377\377\377b" - "\377\377\377m\377\377\377t\377\377\377y\377\377\377~\377\377\377\203\377" - "\377\377\212\377\377\377\225\377\377\377\243\377\377\377\266\354\363\374" - "\320x\254\347\363\20l\323\377\0b\320\377\0b\320\377\0b\320\377\0b\320\377" - "\0b\320\377\0b\320\377\0b\320\377\0b\320\377\0b\320\377\0b\320\377\0b\320" - "\377\0b\320\377\0b\320\377\0b\320\377\0b\320\377\0b\320\377\0b\320\377\0" - "b\320\377\0b\320\377\0b\320\377\0b\320\377\0b\320\377\0b\320\377\0b\320\377" - "\0b\320\377\0b\320\377\0b\320\377\0b\320\377\0b\320\377\0b\320\377\0b\320" - "\377\0b\320\377\0J\234\377\0\0\0\377\0\0\0\377\0""1h\377\0b\320\377\177\260" - "\350\377\377\377\377\377\277\330\364\377\0b\320\377\0b\320\377\177\260\350" - "\377\377\377\377\377\177\260\350\377\0b\320\377\0b\320\377\277\330\364\377" - "\377\377\377\377@\211\334\377\0b\320\377\0b\320\377\377\377\377\377\377\377" - "\377\377\0b\320\377\0b\320\377\0b\320\377\377\377\377\377\277\330\364\377" - "\0b\320\377\0b\320\377@\211\334\377\377\377\377\377\277\330\364\377\0b\320" - "\377\0b\320\377\177\260\350\377\377\377\377\377\177\260\350\377\0b\320\377" - "\0b\320\377\177\260\350\377\377\377\377\377@\211\334\377\0b\320\377\0b\320" - "\377\377\377\377\377\377\377\377\377\0b\320\377\0b\320\377\0b\320\377\377" - "\377\377\377\277\330\364\377\0b\320\377\0b\320\377@\211\334\377\377\377\377" - "\377\277\330\364\377\0b\320\377\0b\320\377@\211\334\377\377\377\377\377@" - "\211\334\377\0b\320\377\0b\320\377\277\330\364\377\377\377\377\377@\211\334" - "\377\0b\320\377\0b\320\377\377\377\377\377\377\377\377\377\0b\320\377\0b" - "\320\377\0b\320\377\377\377\377\377\277\330\364\377\0b\320\377\0b\320\377" - "\0b\320\377\377\377\377\377\177\260\350\377\0b\320\377\0b\320\377@\211\334" - "\377\377\377\377\377\177\260\350\377\0b\320\377\0b\320\377\177\260\350\377" - "\377\377\377\377@\211\334\377\0b\320\377\0b\320\377\277\330\364\377\377\377" - "\377\377@\211\334\377\0b\320\377\0b\320\377\377\377\377\377\277\330\364\377" - "\0b\320\377\0b\320\377\0b\320\377\377\377\377\377\177\260\350\377\0b\320" - "\377\0b\320\377@\211\334\377\377\377\377\377\177\260\350\377\0b\320\377\0" - "b\320\377\177\260\350\377\377\377\377\377@\211\334\377\0b\320\377\0b\320" - "\377\177\260\350\377\377\377\377\377@\211\334\377\0b\320\377\0b\320\377\377" - "\377\377\377\277\330\364\377\0b\320\377\0b\320\377@\211\334\377\377\377\377" - "\377\177\260\350\377\0b\320\377\0b\320\377@\211\334\377\377\377\377\377\177" - "\260\350\377\0b\320\377\0b\320\377\177\260\350\377\377\377\377\377@\211\334" - "\377\0b\320\377\0b\320\377\177\260\350\377\377\377\377\377@\211\334\377\0" - "b\320\377\0b\320\377\277\330\364\377\377\377\377\377\0b\320\377\0b\320\377" - "\0b\320\377\377\377\377\377\277\330\364\377\0b\320\377\0b\320\377@\211\334" - "\377\377\377\377\377\177\260\350\377\0b\320\377\0b\320\377\0b\320\377\0b" - "\320\377\0b\320\377\0b\320\377\0b\320\377\0b\320\377\0b\320\377\0b\320\377" - "\0b\320\377\0b\320\377\0b\320\377\0b\320\377\0b\320\377\0b\320\377\0b\320" - "\377\0b\320\377\0b\320\377\0b\320\377\0b\320\377\0b\320\377\0b\320\377\0" - "b\320\377\0b\320\377\0b\320\377\0b\320\377\0b\320\377\0b\320\377\0b\320\377" - "\0b\320\377\0b\320\377\0b\320\377\0b\320\377\0b\320\377\0b\320\377\0b\320" - "\377\0b\320\377\0b\320\377\0b\320\377\0b\320\377\0b\320\377\0b\320\377\0" - "b\320\377\0b\320\377\0b\320\377\0b\320\377\0b\320\377\0b\320\377\0b\320\377" - "\0b\320\377\0b\320\377\0b\320\377\0b\320\377\0b\320\377\0b\320\377\0b\320" - "\377\0b\320\377\0b\320\377\0b\320\377\0b\320\377\0b\320\377\0b\320\377\0" - "b\320\377\0b\320\377\0b\320\377\0b\320\377\0b\320\377\0b\320\377\0b\320\377" - "\0b\320\377\0b\320\377\0b\320\377\0b\320\377\0b\320\377\0b\320\377\0b\320" - "\377\0b\320\377\0b\320\377\0b\320\377\0b\320\377\0b\320\377\0b\320\377\0" - "b\320\377\0b\320\377\0b\320\377\0b\320\377\0b\320\377\0b\320\377\0b\320\377" - "\0b\320\377\0b\320\377\0b\320\377\0b\320\377\0b\320\377\0b\320\377\0b\320" - "\377\0b\320\377\0b\320\377\0b\320\377\0b\320\377\0b\320\377\0b\320\377\0" - "b\320\377\0b\320\377\0b\320\377\0b\320\377\0b\320\377\0b\320\377\0b\320\377" - "\0b\320\377\0b\320\377\377\377\377\242\377\377\377s\377\377\377K\377\377" - "\377-\377\377\377\30\377\377\377\14\377\377\377\2\377\377\377\5\377\377\377" - "\12\377\377\377\21\377\377\377\32\377\377\377%\377\377\3770\377\377\377;" - "\377\377\377E\377\377\377L\377\377\377Q\377\377\377U\377\377\377Y\377\377" - "\377]\377\377\377c\377\377\377m\377\377\377z\377\377\377\214\377\377\377" - "\241\377\377\377\273\355\364\374\333}\257\347\374\0b\320\377\0b\320\377\0" - "b\320\377\0b\320\377\0b\320\377\0b\320\377\0b\320\377\0b\320\377\0b\320\377" - "\0b\320\377\0b\320\377\0b\320\377\0b\320\377\0b\320\377\0b\320\377\0b\320" - "\377\0b\320\377\0b\320\377\0b\320\377\0b\320\377\0b\320\377\0b\320\377\0" - "b\320\377\0b\320\377\0b\320\377\0b\320\377\0b\320\377\0b\320\377\0b\320\377" - "\0b\320\377\0b\320\377\0J\234\377\0\0\0\377\0\0\0\377\0""1h\377\0b\320\377" - "\177\260\350\377\377\377\377\377\277\330\364\377\0b\320\377\0b\320\377\177" - "\260\350\377\377\377\377\377\177\260\350\377\0b\320\377\0b\320\377\277\330" - "\364\377\377\377\377\377@\211\334\377\0b\320\377\0b\320\377\377\377\377\377" - "\377\377\377\377\0b\320\377\0b\320\377\0b\320\377\377\377\377\377\277\330" - "\364\377\0b\320\377\0b\320\377@\211\334\377\377\377\377\377\277\330\364\377" - "\0b\320\377\0b\320\377\177\260\350\377\377\377\377\377\177\260\350\377\0" - "b\320\377\0b\320\377\177\260\350\377\377\377\377\377@\211\334\377\0b\320" - "\377\0b\320\377\377\377\377\377\377\377\377\377\0b\320\377\0b\320\377\0b" - "\320\377\377\377\377\377\277\330\364\377\0b\320\377\0b\320\377@\211\334\377" - "\377\377\377\377\277\330\364\377\0b\320\377\0b\320\377@\211\334\377\377\377" - "\377\377@\211\334\377\0b\320\377\0b\320\377\277\330\364\377\377\377\377\377" - "@\211\334\377\0b\320\377\0b\320\377\377\377\377\377\377\377\377\377\0b\320" - "\377\0b\320\377\0b\320\377\377\377\377\377\277\330\364\377\0b\320\377\0b" - "\320\377\0b\320\377\377\377\377\377\177\260\350\377\0b\320\377\0b\320\377" - "@\211\334\377\377\377\377\377\177\260\350\377\0b\320\377\0b\320\377\177\260" - "\350\377\377\377\377\377@\211\334\377\0b\320\377\0b\320\377\277\330\364\377" - "\377\377\377\377@\211\334\377\0b\320\377\0b\320\377\377\377\377\377\277\330" - "\364\377\0b\320\377\0b\320\377\0b\320\377\377\377\377\377\177\260\350\377" - "\0b\320\377\0b\320\377@\211\334\377\377\377\377\377\177\260\350\377\0b\320" - "\377\0b\320\377\177\260\350\377\377\377\377\377@\211\334\377\0b\320\377\0" - "b\320\377\177\260\350\377\377\377\377\377@\211\334\377\0b\320\377\0b\320" - "\377\377\377\377\377\277\330\364\377\0b\320\377\0b\320\377@\211\334\377\377" - "\377\377\377\177\260\350\377\0b\320\377\0b\320\377@\211\334\377\377\377\377" - "\377\177\260\350\377\0b\320\377\0b\320\377\177\260\350\377\377\377\377\377" - "@\211\334\377\0b\320\377\0b\320\377\177\260\350\377\377\377\377\377@\211" - "\334\377\0b\320\377\0b\320\377\277\330\364\377\377\377\377\375\0b\320\377" - "\0b\320\377\0b\320\377\377\377\377\366\275\327\363\370\0b\320\377\0b\320" - "\377?\211\334\377\377\377\377\377\177\260\350\377\0b\320\377\0b\320\377\0" - "b\320\377\0b\320\377\0b\320\377\0b\320\377\0b\320\377\0b\320\377\0b\320\377" - "\0b\320\377\0b\320\377\0b\320\377\0b\320\377\0b\320\377\0b\320\377\0b\320" - "\377\0b\320\377\0b\320\377\0b\320\377\0b\320\377\0b\320\377\0b\320\377\0" - "b\320\377\0b\320\377\0b\320\377\0b\320\377\0b\320\377\0b\320\377\0b\320\377" - "\0b\320\377\0b\320\377\0b\320\377\0b\320\377\0b\320\377\0b\320\377\0b\320" - "\377\0b\320\377\0b\320\377\0b\320\377\0b\320\377\0b\320\377\0b\320\377\0" - "b\320\377\0b\320\377\0b\320\377\0b\320\377\0b\320\377\0b\320\377\0b\320\377" - "\0b\320\377\0b\320\377\0b\320\377\0b\320\377\0b\320\377\0b\320\377\0b\320" - "\377\0b\320\377\0b\320\377\0b\320\377\0b\320\377\0b\320\377\0b\320\377\0" - "b\320\377\0b\320\377\0b\320\377\0b\320\377\0b\320\377\0b\320\377\0b\320\377" - "\0b\320\377\0b\320\377\0b\320\377\0b\320\377\0b\320\377\0b\320\377\0b\320" - "\377\0b\320\377\0b\320\377\0b\320\377\0b\320\377\0b\320\377\0b\320\377\0" - "b\320\377\0b\320\377\0b\320\377\0b\320\377\0b\320\377\0b\320\377\0b\320\377" - "\0b\320\377\0b\320\377\0b\320\377\0b\320\377\0b\320\377\0b\320\377\0b\320" - "\377\0b\320\377\0b\320\377\0b\320\377\0b\320\377\0b\320\377\0b\320\377\0" - "b\320\377\0b\320\377\0b\320\377\0b\320\377\0b\320\377\0b\320\377\0b\320\377" - "\0b\320\377\0b\320\377\0b\320\377\377\377\377\222\377\377\377g\377\377\377" - "D\377\377\377(\377\377\377\26\377\377\377\13\377\377\377\1\377\377\377\3" - "\377\377\377\6\377\377\377\13\377\377\377\20\377\377\377\27\377\377\377\36" - "\377\377\377%\377\377\377+\377\377\3770\377\377\3773\377\377\3776\377\377" - "\3778\377\377\377<\377\377\377A\377\377\377H\377\377\377S\377\377\377b\377" - "\377\377u\377\377\377\215\377\377\377\250\377\377\377\307\335\352\371\353" - "@\211\334\377\0b\320\377\0b\320\377\0b\320\377\0b\320\377\0b\320\377\0b\320" - "\377\0b\320\377\0b\320\377\0b\320\377\0b\320\377\0b\320\377\0b\320\377\0" - "b\320\377\0b\320\377\0b\320\377\0b\320\377\0b\320\377\0b\320\377\0b\320\377" - "\0b\320\377\0b\320\377\0b\320\377\0b\320\377\0b\320\377\0b\320\377\0b\320" - "\377\0b\320\377\0b\320\377\0b\320\377\0J\234\377\0\0\0\377\0\0\0\377\0""1" - "h\377\0b\320\377\177\260\350\377\377\377\377\377\277\330\364\377\0b\320\377" - "\0b\320\377\177\260\350\377\377\377\377\377\177\260\350\377\0b\320\377\0" - "b\320\377\277\330\364\377\377\377\377\377@\211\334\377\0b\320\377\0b\320" - "\377\377\377\377\377\377\377\377\377\0b\320\377\0b\320\377\0b\320\377\377" - "\377\377\377\277\330\364\377\0b\320\377\0b\320\377@\211\334\377\377\377\377" - "\377\277\330\364\377\0b\320\377\0b\320\377\177\260\350\377\377\377\377\377" - "\177\260\350\377\0b\320\377\0b\320\377\177\260\350\377\377\377\377\377@\211" - "\334\377\0b\320\377\0b\320\377\377\377\377\377\377\377\377\377\0b\320\377" - "\0b\320\377\0b\320\377\377\377\377\377\277\330\364\377\0b\320\377\0b\320" - "\377@\211\334\377\377\377\377\377\277\330\364\377\0b\320\377\0b\320\377@" - "\211\334\377\377\377\377\377@\211\334\377\0b\320\377\0b\320\377\277\330\364" - "\377\377\377\377\377@\211\334\377\0b\320\377\0b\320\377\377\377\377\377\377" - "\377\377\377\0b\320\377\0b\320\377\0b\320\377\377\377\377\377\277\330\364" - "\377\0b\320\377\0b\320\377\0b\320\377\377\377\377\377\177\260\350\377\0b" - "\320\377\0b\320\377@\211\334\377\377\377\377\377\177\260\350\377\0b\320\377" - "\0b\320\377\177\260\350\377\377\377\377\377@\211\334\377\0b\320\377\0b\320" - "\377\277\330\364\377\377\377\377\377@\211\334\377\0b\320\377\0b\320\377\377" - "\377\377\377\277\330\364\377\0b\320\377\0b\320\377\0b\320\377\377\377\377" - "\377\177\260\350\377\0b\320\377\0b\320\377@\211\334\377\377\377\377\377\177" - "\260\350\377\0b\320\377\0b\320\377\177\260\350\377\377\377\377\377@\211\334" - "\377\0b\320\377\0b\320\377\177\260\350\377\377\377\377\377@\211\334\377\0" - "b\320\377\0b\320\377\377\377\377\377\277\330\364\377\0b\320\377\0b\320\377" - "@\211\334\377\377\377\377\377\177\260\350\377\0b\320\377\0b\320\377@\211" - "\334\377\377\377\377\376~\260\350\375\0b\320\377\0b\320\377{\256\347\370" - "\377\377\377\356<\207\333\373\0b\320\377\0b\320\377w\254\346\361\377\377" - "\377\3379\205\333\367\0b\320\377\0b\320\377\265\322\362\336\377\377\377\320" - "\0b\320\377\0b\320\377\0b\320\377\377\377\377\310\263\320\361\325\0b\320" - "\377\0b\320\3776\203\332\363\377\377\377\325v\253\346\357\0b\320\377\0b\320" - "\377\0b\320\377\0b\320\377\0b\320\377\0b\320\377\0b\320\377\0b\320\377\0" - "b\320\377\0b\320\377\0b\320\377\0b\320\377\0b\320\377\0b\320\377\0b\320\377" - "\0b\320\377\0b\320\377\0b\320\377\0b\320\377\0b\320\377\0b\320\377\0b\320" - "\377\0b\320\377\0b\320\377\0b\320\377\0b\320\377\0b\320\377\0b\320\377\0" - "b\320\377\0b\320\377\0b\320\377\0b\320\377\0b\320\377\0b\320\377\0b\320\377" - "\0b\320\377\0b\320\377\0b\320\377\0b\320\377\0b\320\377\0b\320\377\0b\320" - "\377\0b\320\377\0b\320\377\0b\320\377\0b\320\377\0b\320\377\0b\320\377\0" - "b\320\377\0b\320\377\0b\320\377\0b\320\377\0b\320\377\0b\320\377\0b\320\377" - "\0b\320\377\0b\320\377\0b\320\377\0b\320\377\0b\320\377\0b\320\377\0b\320" - "\377\0b\320\377\0b\320\377\0b\320\377\0b\320\377\0b\320\377\0b\320\377\0" - "b\320\377\0b\320\377\0b\320\377\0b\320\377\0b\320\377\0b\320\377\0b\320\377" - "\0b\320\377\0b\320\377\0b\320\377\0b\320\377\0b\320\377\0b\320\377\0b\320" - "\377\0b\320\377\0b\320\377\0b\320\377\0b\320\377\0b\320\377\0b\320\377\0" - "b\320\377\0b\320\377\0b\320\377\0b\320\377\0b\320\377\0b\320\377\0b\320\377" - "\0b\320\377\0b\320\377\0b\320\377\0b\320\377\0b\320\377\0b\320\377\0b\320" - "\377\0b\320\377\0b\320\377\0b\320\377\0b\320\377\0b\320\377\0b\320\377\0" - "b\320\377\0b\320\377\0b\320\377\0b\320\377\377\377\377z\377\377\377W\377" - "\377\3779\377\377\377\"\377\377\377\22\377\377\377\11\377\377\377\1\377\377" - "\377\2\377\377\377\3\377\377\377\6\377\377\377\11\377\377\377\15\377\377" - "\377\21\377\377\377\25\377\377\377\30\377\377\377\33\377\377\377\35\377\377" - "\377\36\377\377\377\40\377\377\377#\377\377\377&\377\377\377,\377\377\377" - "4\377\377\377@\377\377\377O\377\377\377b\377\377\377z\377\377\377\225\377" - "\377\377\264\377\377\377\327\256\315\361\375\20l\323\377\0b\320\377\0b\320" - "\377\0b\320\377\0b\320\377\0b\320\377\0b\320\377\0b\320\377\0b\320\377\0" - "b\320\377\0b\320\377\0b\320\377\0b\320\377\0b\320\377\0b\320\377\0b\320\377" - "\0b\320\377\0b\320\377\0b\320\377\0b\320\377\0b\320\377\0b\320\377\0b\320" - "\377\0b\320\377\0b\320\377\0b\320\377\0b\320\377\0b\320\377\0J\234\377\0" - "\0\0\377\0\0\0\377\0""1h\377\0b\320\377\177\260\350\377\377\377\377\377\277" - "\330\364\377\0b\320\377\0b\320\377\177\260\350\377\377\377\377\377\177\260" - "\350\377\0b\320\377\0b\320\377\277\330\364\377\377\377\377\377@\211\334\377" - "\0b\320\377\0b\320\377\377\377\377\377\377\377\377\377\0b\320\377\0b\320" - "\377\0b\320\377\377\377\377\377\277\330\364\377\0b\320\377\0b\320\377@\211" - "\334\377\377\377\377\377\277\330\364\377\0b\320\377\0b\320\377\177\260\350" - "\377\377\377\377\377\177\260\350\377\0b\320\377\0b\320\377\177\260\350\377" - "\377\377\377\377@\211\334\377\0b\320\377\0b\320\377\377\377\377\377\377\377" - "\377\377\0b\320\377\0b\320\377\0b\320\377\377\377\377\377\277\330\364\377" - "\0b\320\377\0b\320\377@\211\334\377\377\377\377\377\277\330\364\377\0b\320" - "\377\0b\320\377@\211\334\377\377\377\377\377@\211\334\377\0b\320\377\0b\320" - "\377\277\330\364\377\377\377\377\377@\211\334\377\0b\320\377\0b\320\377\377" - "\377\377\377\377\377\377\377\0b\320\377\0b\320\377\0b\320\377\377\377\377" - "\377\277\330\364\377\0b\320\377\0b\320\377\0b\320\377\377\377\377\377\177" - "\260\350\377\0b\320\377\0b\320\377@\211\334\377\377\377\377\377\177\260\350" - "\377\0b\320\377\0b\320\377\177\260\350\377\377\377\377\377@\211\334\377\0" - "b\320\377\0b\320\377\277\330\364\377\377\377\377\377@\211\334\377\0b\320" - "\377\0b\320\377\377\377\377\377\277\330\364\377\0b\320\377\0b\320\377\0b" - "\320\377\377\377\377\377\177\260\350\377\0b\320\377\0b\320\377@\211\334\377" - "\377\377\377\377\177\260\350\377\0b\320\377\0b\320\377\177\260\350\377\377" - "\377\377\377@\211\334\377\0b\320\377\0b\320\377\177\260\350\377\377\377\377" - "\377?\211\334\377\0b\320\377\0b\320\377\377\377\377\357\273\326\363\361\0" - "b\320\377\0b\320\377:\206\333\371\377\377\377\341v\253\346\357\0b\320\377" - "\0b\320\3778\204\333\365\377\377\377\322q\250\345\347\0b\320\377\0b\320\377" - "n\246\345\342\377\377\377\300]\234\342\3422\201\332\356M\221\337\344\255" - "\315\360\306\377\377\377\257\207\265\351\314e\240\343\324d\240\343\323\320" - "\343\367\256\377\377\377\237\377\377\377\235\377\377\377\232\377\377\377" - "\230\377\377\377\227\377\377\377\227\377\377\377\227\377\377\377\231\377" - "\377\377\234\377\377\377\242\377\377\377\251\377\377\377\263\377\377\377" - "\275\377\377\377\306\377\377\377\316\377\377\377\323\377\377\377\327\377" - "\377\377\331\377\377\377\332\377\377\377\332\377\377\377\332\377\377\377" - "\332\377\377\377\332\377\377\377\332\377\377\377\332\377\377\377\332\377" - "\377\377\332\377\377\377\332\377\377\377\332\377\377\377\332\377\377\377" - "\332\377\377\377\332\377\377\377\332\377\377\377\332\377\377\377\332\377" - "\377\377\332\377\377\377\332\377\377\377\332\377\377\377\332\377\377\377" - "\332\377\377\377\332\377\377\377\332\377\377\377\332\377\377\377\332\377" - "\377\377\332\377\377\377\332\377\377\377\332\377\377\377\332\377\377\377" - "\332\377\377\377\332\377\377\377\332\377\377\377\332\377\377\377\332\377" - "\377\377\332\377\377\377\332\377\377\377\332\377\377\377\332\377\377\377" - "\332\377\377\377\332\377\377\377\332\377\377\377\332\377\377\377\332\377" - "\377\377\332\377\377\377\332\377\377\377\332\377\377\377\332\377\377\377" - "\332\377\377\377\332\377\377\377\332\377\377\377\332\377\377\377\332\377" - "\377\377\332\377\377\377\332\377\377\377\332\377\377\377\332\377\377\377" - "\332\377\377\377\332\377\377\377\332\377\377\377\332\377\377\377\332\377" - "\377\377\332\377\377\377\332\377\377\377\332\377\377\377\332\377\377\377" - "\332\377\377\377\332\377\377\377\332\377\377\377\332\377\377\377\332\377" - "\377\377\332\377\377\377\332\377\377\377\332\377\377\377\332\377\377\377" - "\332\377\377\377\332\377\377\377\332\377\377\377\332\377\377\377\332\377" - "\377\377\332\377\377\377\332\377\377\377\332\377\377\377\332\377\377\377" - "\332\377\377\377\332\377\377\377\332\377\377\377\332\377\377\377\332\377" - "\377\377\332\377\377\377\332\377\377\377\332\377\377\377\332\377\377\377" - "\332\377\377\377\332\377\377\377\332\377\377\377\332\377\377\377\331\377" - "\377\377\327\377\377\377\323\377\377\377\314\377\377\377\300\377\377\377" - "\256\377\377\377\227\377\377\377{\377\377\377^\377\377\377C\377\377\377," - "\377\377\377\32\377\377\377\16\377\377\377\7\377\377\377\0\377\377\377\1" - "\377\377\377\1\377\377\377\3\377\377\377\4\377\377\377\6\377\377\377\10\377" - "\377\377\12\377\377\377\14\377\377\377\16\377\377\377\17\377\377\377\17\377" - "\377\377\21\377\377\377\22\377\377\377\24\377\377\377\30\377\377\377\36\377" - "\377\377&\377\377\3771\377\377\377@\377\377\377R\377\377\377i\377\377\377" - "\204\377\377\377\243\377\377\377\306\335\352\371\356@\211\334\377\0b\320" - "\377\0b\320\377\0b\320\377\0b\320\377\0b\320\377\0b\320\377\0b\320\377\0" - "b\320\377\0b\320\377\0b\320\377\0b\320\377\0b\320\377\0b\320\377\0b\320\377" - "\0b\320\377\0b\320\377\0b\320\377\0b\320\377\0b\320\377\0b\320\377\0b\320" - "\377\0b\320\377\0b\320\377\0b\320\377\0b\320\377\0b\320\377\0J\234\377\0" - "\0\0\377\0\0\0\377\0""1h\377\0b\320\377\177\260\350\377\377\377\377\377\277" - "\330\364\377\0b\320\377\0b\320\377\177\260\350\377\377\377\377\377\177\260" - "\350\377\0b\320\377\0b\320\377\277\330\364\377\377\377\377\377@\211\334\377" - "\0b\320\377\0b\320\377\377\377\377\377\377\377\377\377\0b\320\377\0b\320" - "\377\0b\320\377\377\377\377\377\277\330\364\377\0b\320\377\0b\320\377@\211" - "\334\377\377\377\377\377\277\330\364\377\0b\320\377\0b\320\377\177\260\350" - "\377\377\377\377\377\177\260\350\377\0b\320\377\0b\320\377\177\260\350\377" - "\377\377\377\377@\211\334\377\0b\320\377\0b\320\377\377\377\377\377\377\377" - "\377\377\0b\320\377\0b\320\377\0b\320\377\377\377\377\377\277\330\364\377" - "\0b\320\377\0b\320\377@\211\334\377\377\377\377\377\277\330\364\377\0b\320" - "\377\0b\320\377@\211\334\377\377\377\377\377@\211\334\377\0b\320\377\0b\320" - "\377\277\330\364\377\377\377\377\377@\211\334\377\0b\320\377\0b\320\377\377" - "\377\377\377\377\377\377\377\0b\320\377\0b\320\377\0b\320\377\377\377\377" - "\377\277\330\364\377\0b\320\377\0b\320\377\0b\320\377\377\377\377\377\177" - "\260\350\377\0b\320\377\0b\320\377@\211\334\377\377\377\377\377\177\260\350" - "\377\0b\320\377\0b\320\377\177\260\350\377\377\377\377\377@\211\334\377\0" - "b\320\377\0b\320\377\277\330\364\377\377\377\377\377@\211\334\377\0b\320" - "\377\0b\320\377\377\377\377\377\277\330\364\377\0b\320\377\0b\320\377\0b" - "\320\377\377\377\377\377\177\260\350\377\0b\320\377\0b\320\377@\211\334\377" - "\377\377\377\377\177\260\350\377\0b\320\377\0b\320\377}\257\347\374\377\377" - "\377\364=\210\334\374\0b\320\377\0b\320\377w\253\346\360\377\377\377\333" - "7\204\333\365\0b\320\377\0b\320\377\377\377\377\305\261\317\361\321\0b\320" - "\377\0b\320\3771\200\331\355\377\377\377\264\254\314\360\304g\241\343\327" - "e\241\343\325\205\264\351\310\377\377\377\243\320\342\367\254\245\310\357" - "\265\244\307\357\262\315\340\366\242\377\377\377\221\377\377\377\216\377" - "\377\377\213\377\377\377\207\377\377\377\204\377\377\377\201\377\377\377" - "~\377\377\377{\377\377\377x\377\377\377u\377\377\377r\377\377\377o\377\377" - "\377m\377\377\377k\377\377\377j\377\377\377j\377\377\377j\377\377\377k\377" - "\377\377n\377\377\377r\377\377\377w\377\377\377~\377\377\377\206\377\377" - "\377\215\377\377\377\223\377\377\377\227\377\377\377\232\377\377\377\233" - "\377\377\377\234\377\377\377\234\377\377\377\234\377\377\377\234\377\377" - "\377\234\377\377\377\234\377\377\377\234\377\377\377\234\377\377\377\234" - "\377\377\377\234\377\377\377\234\377\377\377\234\377\377\377\234\377\377" - "\377\234\377\377\377\234\377\377\377\234\377\377\377\234\377\377\377\234" - "\377\377\377\234\377\377\377\234\377\377\377\234\377\377\377\234\377\377" - "\377\234\377\377\377\234\377\377\377\234\377\377\377\234\377\377\377\234" - "\377\377\377\234\377\377\377\234\377\377\377\234\377\377\377\234\377\377" - "\377\234\377\377\377\234\377\377\377\234\377\377\377\234\377\377\377\234" - "\377\377\377\234\377\377\377\234\377\377\377\234\377\377\377\234\377\377" - "\377\234\377\377\377\234\377\377\377\234\377\377\377\234\377\377\377\234" - "\377\377\377\234\377\377\377\234\377\377\377\234\377\377\377\234\377\377" - "\377\234\377\377\377\234\377\377\377\234\377\377\377\234\377\377\377\234" - "\377\377\377\234\377\377\377\234\377\377\377\234\377\377\377\234\377\377" - "\377\234\377\377\377\234\377\377\377\234\377\377\377\234\377\377\377\234" - "\377\377\377\234\377\377\377\234\377\377\377\234\377\377\377\234\377\377" - "\377\234\377\377\377\234\377\377\377\234\377\377\377\234\377\377\377\234" - "\377\377\377\234\377\377\377\234\377\377\377\234\377\377\377\234\377\377" - "\377\234\377\377\377\234\377\377\377\234\377\377\377\234\377\377\377\234" - "\377\377\377\234\377\377\377\234\377\377\377\234\377\377\377\234\377\377" - "\377\234\377\377\377\234\377\377\377\234\377\377\377\234\377\377\377\234" - "\377\377\377\234\377\377\377\234\377\377\377\234\377\377\377\234\377\377" - "\377\234\377\377\377\234\377\377\377\234\377\377\377\233\377\377\377\232" - "\377\377\377\227\377\377\377\222\377\377\377\211\377\377\377}\377\377\377" - "l\377\377\377X\377\377\377D\377\377\3770\377\377\377\37\377\377\377\23\377" - "\377\377\12\377\377\377\5\377\377\377\0\377\377\377\0\377\377\377\0\377\377" - "\377\1\377\377\377\2\377\377\377\3\377\377\377\4\377\377\377\5\377\377\377" - "\5\377\377\377\6\377\377\377\6\377\377\377\7\377\377\377\10\377\377\377\10" - "\377\377\377\12\377\377\377\14\377\377\377\20\377\377\377\25\377\377\377" - "\34\377\377\377&\377\377\3774\377\377\377E\377\377\377[\377\377\377u\377" - "\377\377\224\377\377\377\270\377\377\377\336p\247\345\377\0b\320\377\0b\320" - "\377\0b\320\377\0b\320\377\0b\320\377\0b\320\377\0b\320\377\0b\320\377\0" - "b\320\377\0b\320\377\0b\320\377\0b\320\377\0b\320\377\0b\320\377\0b\320\377" - "\0b\320\377\0b\320\377\0b\320\377\0b\320\377\0b\320\377\0b\320\377\0b\320" - "\377\0b\320\377\0b\320\377\0b\320\377\0J\234\377\0\0\0\377\0\0\0\377\0""1" - "h\377\0b\320\377\177\260\350\377\377\377\377\377\277\330\364\377\0b\320\377" - "\0b\320\377\177\260\350\377\377\377\377\377\177\260\350\377\0b\320\377\0" - "b\320\377\277\330\364\377\377\377\377\377@\211\334\377\0b\320\377\0b\320" - "\377\377\377\377\377\377\377\377\377\0b\320\377\0b\320\377\0b\320\377\377" - "\377\377\377\277\330\364\377\0b\320\377\0b\320\377@\211\334\377\377\377\377" - "\377\277\330\364\377\0b\320\377\0b\320\377\177\260\350\377\377\377\377\377" - "\177\260\350\377\0b\320\377\0b\320\377\177\260\350\377\377\377\377\377@\211" - "\334\377\0b\320\377\0b\320\377\377\377\377\377\377\377\377\377\0b\320\377" - "\0b\320\377\0b\320\377\377\377\377\377\277\330\364\377\0b\320\377\0b\320" - "\377@\211\334\377\377\377\377\377\277\330\364\377\0b\320\377\0b\320\377@" - "\211\334\377\377\377\377\377@\211\334\377\0b\320\377\0b\320\377\277\330\364" - "\377\377\377\377\377@\211\334\377\0b\320\377\0b\320\377\377\377\377\377\377" - "\377\377\377\0b\320\377\0b\320\377\0b\320\377\377\377\377\377\277\330\364" - "\377\0b\320\377\0b\320\377\0b\320\377\377\377\377\377\177\260\350\377\0b" - "\320\377\0b\320\377@\211\334\377\377\377\377\377\177\260\350\377\0b\320\377" - "\0b\320\377\177\260\350\377\377\377\377\377@\211\334\377\0b\320\377\0b\320" - "\377\277\330\364\377\377\377\377\377@\211\334\377\0b\320\377\0b\320\377\377" - "\377\377\377\277\330\364\377\0b\320\377\0b\320\377\0b\320\377\377\377\377" - "\377\177\260\350\377\0b\320\377\0b\320\377<\207\334\373\377\377\377\346v" - "\253\346\360\0b\320\377\0b\320\377r\250\345\350\377\377\377\3134\202\332" - "\361\0b\320\377\0b\320\377i\243\344\333\377\377\377\257\205\264\351\311c" - "\237\343\321a\236\342\317\377\377\377\231\377\377\377\224\377\377\377\221" - "\377\377\377\215\377\377\377\212\377\377\377\206\377\377\377\203\377\377" - "\377\200\377\377\377}\377\377\377z\377\377\377w\377\377\377s\377\377\377" - "p\377\377\377m\377\377\377j\377\377\377f\377\377\377c\377\377\377`\377\377" - "\377]\377\377\377[\377\377\377X\377\377\377V\377\377\377S\377\377\377Q\377" - "\377\377N\377\377\377K\377\377\377I\377\377\377G\377\377\377F\377\377\377" - "E\377\377\377D\377\377\377D\377\377\377E\377\377\377G\377\377\377J\377\377" - "\377N\377\377\377R\377\377\377X\377\377\377\\\377\377\377`\377\377\377c\377" - "\377\377e\377\377\377f\377\377\377f\377\377\377g\377\377\377g\377\377\377" - "g\377\377\377g\377\377\377g\377\377\377g\377\377\377g\377\377\377g\377\377" - "\377g\377\377\377g\377\377\377g\377\377\377g\377\377\377g\377\377\377g\377" - "\377\377g\377\377\377g\377\377\377g\377\377\377g\377\377\377g\377\377\377" - "g\377\377\377g\377\377\377g\377\377\377g\377\377\377g\377\377\377g\377\377" - "\377g\377\377\377g\377\377\377g\377\377\377g\377\377\377g\377\377\377g\377" - "\377\377g\377\377\377g\377\377\377g\377\377\377g\377\377\377g\377\377\377" - "g\377\377\377g\377\377\377g\377\377\377g\377\377\377g\377\377\377g\377\377" - "\377g\377\377\377g\377\377\377g\377\377\377g\377\377\377g\377\377\377g\377" - "\377\377g\377\377\377g\377\377\377g\377\377\377g\377\377\377g\377\377\377" - "g\377\377\377g\377\377\377g\377\377\377g\377\377\377g\377\377\377g\377\377" - "\377g\377\377\377g\377\377\377g\377\377\377g\377\377\377g\377\377\377g\377" - "\377\377g\377\377\377g\377\377\377g\377\377\377g\377\377\377g\377\377\377" - "g\377\377\377g\377\377\377g\377\377\377g\377\377\377g\377\377\377g\377\377" - "\377g\377\377\377g\377\377\377g\377\377\377g\377\377\377g\377\377\377g\377" - "\377\377g\377\377\377g\377\377\377g\377\377\377g\377\377\377g\377\377\377" - "g\377\377\377g\377\377\377g\377\377\377g\377\377\377g\377\377\377g\377\377" - "\377g\377\377\377g\377\377\377f\377\377\377f\377\377\377e\377\377\377c\377" - "\377\377`\377\377\377Z\377\377\377R\377\377\377G\377\377\377:\377\377\377" - ",\377\377\377\37\377\377\377\24\377\377\377\14\377\377\377\6\377\377\377" - "\3\377\377\377\0\377\377\377\0\377\377\377\0\377\377\377\0\377\377\377\0" - "\377\377\377\1\377\377\377\1\377\377\377\2\377\377\377\2\377\377\377\2\377" - "\377\377\2\377\377\377\3\377\377\377\3\377\377\377\3\377\377\377\4\377\377" - "\377\5\377\377\377\7\377\377\377\12\377\377\377\17\377\377\377\25\377\377" - "\377\36\377\377\377+\377\377\377;\377\377\377O\377\377\377i\377\377\377\210" - "\377\377\377\254\377\377\377\323\237\304\356\377\20l\323\377\0b\320\377\0" - "b\320\377\0b\320\377\0b\320\377\0b\320\377\0b\320\377\0b\320\377\0b\320\377" - "\0b\320\377\0b\320\377\0b\320\377\0b\320\377\0b\320\377\0b\320\377\0b\320" - "\377\0b\320\377\0b\320\377\0b\320\377\0b\320\377\0b\320\377\0b\320\377\0" - "b\320\377\0b\320\377\0J\234\377\0\0\0\377\0\0\0\377\0""1h\377\0b\320\377" - "\177\260\350\377\377\377\377\377\277\330\364\377\0b\320\377\0b\320\377\177" - "\260\350\377\377\377\377\377\177\260\350\377\0b\320\377\0b\320\377\277\330" - "\364\377\377\377\377\377@\211\334\377\0b\320\377\0b\320\377\377\377\377\377" - "\377\377\377\377\0b\320\377\0b\320\377\0b\320\377\377\377\377\377\277\330" - "\364\377\0b\320\377\0b\320\377@\211\334\377\377\377\377\377\277\330\364\377" - "\0b\320\377\0b\320\377\177\260\350\377\377\377\377\377\177\260\350\377\0" - "b\320\377\0b\320\377\177\260\350\377\377\377\377\377@\211\334\377\0b\320" - "\377\0b\320\377\377\377\377\377\377\377\377\377\0b\320\377\0b\320\377\0b" - "\320\377\377\377\377\377\277\330\364\377\0b\320\377\0b\320\377@\211\334\377" - "\377\377\377\377\277\330\364\377\0b\320\377\0b\320\377@\211\334\377\377\377" - "\377\377@\211\334\377\0b\320\377\0b\320\377\277\330\364\377\377\377\377\377" - "@\211\334\377\0b\320\377\0b\320\377\377\377\377\377\377\377\377\377\0b\320" - "\377\0b\320\377\0b\320\377\377\377\377\377\277\330\364\377\0b\320\377\0b" - "\320\377\0b\320\377\377\377\377\377\177\260\350\377\0b\320\377\0b\320\377" - "@\211\334\377\377\377\377\377\177\260\350\377\0b\320\377\0b\320\377\177\260" - "\350\377\377\377\377\377@\211\334\377\0b\320\377\0b\320\377\277\330\364\377" - "\377\377\377\375?\211\334\376\0b\320\377\0b\320\377\377\377\377\363\274\326" - "\363\365\0b\320\377\0b\320\377\0b\320\377\377\377\377\341u\252\346\355\0" - "b\320\377\0b\320\3774\202\332\360\377\377\377\274\212\267\352\321/\177\331" - "\353.\177\331\352\225\276\354\301\377\377\377\237\271\324\362\255\377\377" - "\377\225\377\377\377\217\377\377\377\212\377\377\377\204\377\377\377~\377" - "\377\377x\377\377\377s\377\377\377o\377\377\377k\377\377\377g\377\377\377" - "d\377\377\377a\377\377\377^\377\377\377[\377\377\377X\377\377\377V\377\377" - "\377S\377\377\377P\377\377\377N\377\377\377K\377\377\377H\377\377\377F\377" - "\377\377C\377\377\377@\377\377\377>\377\377\377<\377\377\3779\377\377\377" - "8\377\377\3776\377\377\3774\377\377\3772\377\377\3770\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\377\3771\377\377\377" - "4\377\377\3777\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\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\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>\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\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\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>\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\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\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=\377\377\377=\377\377\377<\377\377\3779\377\377\3776\377\377" - "\3771\377\377\377*\377\377\377#\377\377\377\32\377\377\377\23\377\377\377" - "\14\377\377\377\7\377\377\377\4\377\377\377\2\377\377\377\0\377\377\377\0" - "\377\377\377\0\377\377\377\0\377\377\377\0\377\377\377\0\377\377\377\0\377" - "\377\377\0\377\377\377\0\377\377\377\1\377\377\377\1\377\377\377\1\377\377" - "\377\1\377\377\377\1\377\377\377\1\377\377\377\2\377\377\377\3\377\377\377" - "\5\377\377\377\7\377\377\377\13\377\377\377\21\377\377\377\31\377\377\377" - "$\377\377\3773\377\377\377G\377\377\377`\377\377\377~\377\377\377\242\377" - "\377\377\313\316\341\366\371\20l\323\377\0b\320\377\0b\320\377\0b\320\377" - "\0b\320\377\0b\320\377\0b\320\377\0b\320\377\0b\320\377\0b\320\377\0b\320" - "\377\0b\320\377\0b\320\377\0b\320\377\0b\320\377\0b\320\377\0b\320\377\0" - "b\320\377\0b\320\377\0b\320\377\0b\320\377\0b\320\377\0b\320\377\0J\234\377" - "\0\0\0\377\0\0\0\377\0""1h\377\0b\320\377\177\260\350\377\377\377\377\377" - "\277\330\364\377\0b\320\377\0b\320\377\177\260\350\377\377\377\377\377\177" - "\260\350\377\0b\320\377\0b\320\377\277\330\364\377\377\377\377\377@\211\334" - "\377\0b\320\377\0b\320\377\377\377\377\377\377\377\377\377\0b\320\377\0b" - "\320\377\0b\320\377\377\377\377\377\277\330\364\377\0b\320\377\0b\320\377" - "@\211\334\377\377\377\377\377\277\330\364\377\0b\320\377\0b\320\377\177\260" - "\350\377\377\377\377\377\177\260\350\377\0b\320\377\0b\320\377\177\260\350" - "\377\377\377\377\377@\211\334\377\0b\320\377\0b\320\377\377\377\377\377\377" - "\377\377\377\0b\320\377\0b\320\377\0b\320\377\377\377\377\377\277\330\364" - "\377\0b\320\377\0b\320\377@\211\334\377\377\377\377\377\277\330\364\377\0" - "b\320\377\0b\320\377@\211\334\377\377\377\377\377@\211\334\377\0b\320\377" - "\0b\320\377\277\330\364\377\377\377\377\377@\211\334\377\0b\320\377\0b\320" - "\377\377\377\377\377\377\377\377\377\0b\320\377\0b\320\377\0b\320\377\377" - "\377\377\377\277\330\364\377\0b\320\377\0b\320\377\0b\320\377\377\377\377" - "\377\177\260\350\377\0b\320\377\0b\320\377@\211\334\377\377\377\377\377\177" - "\260\350\377\0b\320\377\0b\320\377\177\260\350\377\377\377\377\377?\211\334" - "\377\0b\320\377\0b\320\377\272\325\363\354\377\377\377\3368\205\333\366\0" - "b\320\377\0b\320\377\377\377\377\316\263\321\361\330\0b\320\377\0b\320\377" - "\0b\320\377\377\377\377\266\323\344\367\270\251\312\357\275\246\310\357\267" - "\270\323\362\253\377\377\377\220\377\377\377\212\377\377\377\204\377\377" - "\377\177\377\377\377z\377\377\377u\377\377\377p\377\377\377k\377\377\377" - "f\377\377\377a\377\377\377\\\377\377\377W\377\377\377R\377\377\377N\377\377" - "\377J\377\377\377G\377\377\377D\377\377\377A\377\377\377?\377\377\377<\377" - "\377\377:\377\377\3778\377\377\3776\377\377\3774\377\377\3772\377\377\377" - "0\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\40\377\377\377\37\377\377\377" - "\36\377\377\377\34\377\377\377\33\377\377\377\32\377\377\377\30\377\377\377" - "\27\377\377\377\27\377\377\377\26\377\377\377\26\377\377\377\26\377\377\377" - "\26\377\377\377\27\377\377\377\30\377\377\377\31\377\377\377\33\377\377\377" - "\34\377\377\377\36\377\377\377\37\377\377\377\40\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\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\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\"\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\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\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\"\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\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\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" - "\40\377\377\377\37\377\377\377\35\377\377\377\33\377\377\377\27\377\377\377" - "\23\377\377\377\16\377\377\377\12\377\377\377\6\377\377\377\4\377\377\377" - "\2\377\377\377\1\377\377\377\0\377\377\377\0\377\377\377\0\377\377\377\0" - "\377\377\377\0\377\377\377\0\377\377\377\0\377\377\377\0\377\377\377\0\377" - "\377\377\0\377\377\377\0\377\377\377\0\377\377\377\0\377\377\377\0\377\377" - "\377\0\377\377\377\0\377\377\377\1\377\377\377\2\377\377\377\3\377\377\377" - "\5\377\377\377\10\377\377\377\15\377\377\377\24\377\377\377\37\377\377\377" - "-\377\377\377@\377\377\377Y\377\377\377x\377\377\377\234\377\377\377\306" - "\315\341\366\365\20l\323\377\0b\320\377\0b\320\377\0b\320\377\0b\320\377" - "\0b\320\377\0b\320\377\0b\320\377\0b\320\377\0b\320\377\0b\320\377\0b\320" - "\377\0b\320\377\0b\320\377\0b\320\377\0b\320\377\0b\320\377\0b\320\377\0" - "b\320\377\0b\320\377\0b\320\377\0b\320\377\0J\234\377\0\0\0\377\0\0\0\377" - "\0""1h\377\0b\320\377\177\260\350\377\377\377\377\377\277\330\364\377\0b" - "\320\377\0b\320\377\177\260\350\377\377\377\377\377\177\260\350\377\0b\320" - "\377\0b\320\377\277\330\364\377\377\377\377\377@\211\334\377\0b\320\377\0" - "b\320\377\377\377\377\377\377\377\377\377\0b\320\377\0b\320\377\0b\320\377" - "\377\377\377\377\277\330\364\377\0b\320\377\0b\320\377@\211\334\377\377\377" - "\377\377\277\330\364\377\0b\320\377\0b\320\377\177\260\350\377\377\377\377" - "\377\177\260\350\377\0b\320\377\0b\320\377\177\260\350\377\377\377\377\377" - "@\211\334\377\0b\320\377\0b\320\377\377\377\377\377\377\377\377\377\0b\320" - "\377\0b\320\377\0b\320\377\377\377\377\377\277\330\364\377\0b\320\377\0b" - "\320\377@\211\334\377\377\377\377\377\277\330\364\377\0b\320\377\0b\320\377" - "@\211\334\377\377\377\377\377@\211\334\377\0b\320\377\0b\320\377\277\330" - "\364\377\377\377\377\377@\211\334\377\0b\320\377\0b\320\377\377\377\377\377" - "\377\377\377\377\0b\320\377\0b\320\377\0b\320\377\377\377\377\377\277\330" - "\364\377\0b\320\377\0b\320\377\0b\320\377\377\377\377\377\177\260\350\377" - "\0b\320\377\0b\320\377@\211\334\377\377\377\377\377\177\260\350\377\0b\320" - "\377\0b\320\377y\255\347\365\377\377\377\3428\205\333\366\0b\320\377\0b\320" - "\377\261\317\361\320\377\377\377\2710\200\331\354\0b\320\377\12i\322\372" - "\377\377\377\244\347\360\373\246\245\310\357\264\315\341\366\243\377\377" - "\377\220\377\377\377\211\377\377\377\202\377\377\377{\377\377\377t\377\377" - "\377m\377\377\377g\377\377\377b\377\377\377]\377\377\377X\377\377\377T\377" - "\377\377O\377\377\377K\377\377\377G\377\377\377C\377\377\377?\377\377\377" - ";\377\377\3778\377\377\3774\377\377\3771\377\377\377.\377\377\377,\377\377" - "\377)\377\377\377'\377\377\377%\377\377\377#\377\377\377\"\377\377\377\40" - "\377\377\377\37\377\377\377\36\377\377\377\34\377\377\377\33\377\377\377" - "\32\377\377\377\31\377\377\377\27\377\377\377\26\377\377\377\25\377\377\377" - "\24\377\377\377\23\377\377\377\22\377\377\377\21\377\377\377\20\377\377\377" - "\17\377\377\377\17\377\377\377\16\377\377\377\15\377\377\377\14\377\377\377" - "\14\377\377\377\13\377\377\377\13\377\377\377\13\377\377\377\13\377\377\377" - "\13\377\377\377\13\377\377\377\14\377\377\377\14\377\377\377\15\377\377\377" - "\16\377\377\377\17\377\377\377\17\377\377\377\20\377\377\377\20\377\377\377" - "\20\377\377\377\20\377\377\377\21\377\377\377\21\377\377\377\21\377\377\377" - "\21\377\377\377\21\377\377\377\21\377\377\377\21\377\377\377\21\377\377\377" - "\21\377\377\377\21\377\377\377\21\377\377\377\21\377\377\377\21\377\377\377" - "\21\377\377\377\21\377\377\377\21\377\377\377\21\377\377\377\21\377\377\377" - "\21\377\377\377\21\377\377\377\21\377\377\377\21\377\377\377\21\377\377\377" - "\21\377\377\377\21\377\377\377\21\377\377\377\21\377\377\377\21\377\377\377" - "\21\377\377\377\21\377\377\377\21\377\377\377\21\377\377\377\21\377\377\377" - "\21\377\377\377\21\377\377\377\21\377\377\377\21\377\377\377\21\377\377\377" - "\21\377\377\377\21\377\377\377\21\377\377\377\21\377\377\377\21\377\377\377" - "\21\377\377\377\21\377\377\377\21\377\377\377\21\377\377\377\21\377\377\377" - "\21\377\377\377\21\377\377\377\21\377\377\377\21\377\377\377\21\377\377\377" - "\21\377\377\377\21\377\377\377\21\377\377\377\21\377\377\377\21\377\377\377" - "\21\377\377\377\21\377\377\377\21\377\377\377\21\377\377\377\21\377\377\377" - "\21\377\377\377\21\377\377\377\21\377\377\377\21\377\377\377\21\377\377\377" - "\21\377\377\377\21\377\377\377\21\377\377\377\21\377\377\377\21\377\377\377" - "\21\377\377\377\21\377\377\377\21\377\377\377\21\377\377\377\21\377\377\377" - "\21\377\377\377\21\377\377\377\21\377\377\377\21\377\377\377\21\377\377\377" - "\21\377\377\377\21\377\377\377\21\377\377\377\21\377\377\377\21\377\377\377" - "\21\377\377\377\21\377\377\377\21\377\377\377\21\377\377\377\21\377\377\377" - "\21\377\377\377\21\377\377\377\21\377\377\377\20\377\377\377\20\377\377\377" - "\20\377\377\377\17\377\377\377\16\377\377\377\15\377\377\377\13\377\377\377" - "\11\377\377\377\7\377\377\377\5\377\377\377\3\377\377\377\2\377\377\377\1" - "\377\377\377\0\0\0\0\0\377\377\377\0\377\377\377\0\377\377\377\0\377\377" - "\377\0\377\377\377\0\377\377\377\0\377\377\377\0\377\377\377\0\377\377\377" - "\0\377\377\377\0\377\377\377\0\377\377\377\0\377\377\377\0\377\377\377\0" - "\377\377\377\0\377\377\377\0\377\377\377\0\377\377\377\1\377\377\377\2\377" - "\377\377\4\377\377\377\7\377\377\377\13\377\377\377\21\377\377\377\33\377" - "\377\377)\377\377\377;\377\377\377T\377\377\377s\377\377\377\230\377\377" - "\377\303\315\340\366\364\20l\323\377\0b\320\377\0b\320\377\0b\320\377\0b" - "\320\377\0b\320\377\0b\320\377\0b\320\377\0b\320\377\0b\320\377\0b\320\377" - "\0b\320\377\0b\320\377\0b\320\377\0b\320\377\0b\320\377\0b\320\377\0b\320" - "\377\0b\320\377\0b\320\377\0b\320\377\0J\234\377\0\0\0\377\0\0\0\377\0""1" - "h\377\0b\320\377\177\260\350\377\377\377\377\377\277\330\364\377\0b\320\377" - "\0b\320\377\177\260\350\377\377\377\377\377\177\260\350\377\0b\320\377\0" - "b\320\377\277\330\364\377\377\377\377\377@\211\334\377\0b\320\377\0b\320" - "\377\377\377\377\377\377\377\377\377\0b\320\377\0b\320\377\0b\320\377\377" - "\377\377\377\277\330\364\377\0b\320\377\0b\320\377@\211\334\377\377\377\377" - "\377\277\330\364\377\0b\320\377\0b\320\377\177\260\350\377\377\377\377\377" - "\177\260\350\377\0b\320\377\0b\320\377\177\260\350\377\377\377\377\377@\211" - "\334\377\0b\320\377\0b\320\377\377\377\377\377\377\377\377\377\0b\320\377" - "\0b\320\377\0b\320\377\377\377\377\377\277\330\364\377\0b\320\377\0b\320" - "\377@\211\334\377\377\377\377\377\277\330\364\377\0b\320\377\0b\320\377@" - "\211\334\377\377\377\377\377@\211\334\377\0b\320\377\0b\320\377\277\330\364" - "\377\377\377\377\377@\211\334\377\0b\320\377\0b\320\377\377\377\377\377\377" - "\377\377\377\0b\320\377\0b\320\377\0b\320\377\377\377\377\377\277\330\364" - "\377\0b\320\377\0b\320\377\0b\320\377\377\377\377\377\177\260\350\377\0b" - "\320\377\0b\320\377>\210\334\375\377\377\377\352w\253\346\360\0b\320\377" - "\0b\320\377n\246\345\342\377\377\377\274>\210\334\350.\177\331\352T\226\340" - "\326\316\341\366\246\377\377\377\221\377\377\377\213\377\377\377\205\377" - "\377\377\200\377\377\377{\377\377\377v\377\377\377q\377\377\377l\377\377" - "\377f\377\377\377`\377\377\377Z\377\377\377T\377\377\377N\377\377\377I\377" - "\377\377D\377\377\377@\377\377\377<\377\377\3779\377\377\3775\377\377\377" - "2\377\377\377/\377\377\377,\377\377\377)\377\377\377&\377\377\377#\377\377" - "\377\40\377\377\377\36\377\377\377\34\377\377\377\32\377\377\377\30\377\377" - "\377\27\377\377\377\25\377\377\377\24\377\377\377\23\377\377\377\22\377\377" - "\377\21\377\377\377\20\377\377\377\17\377\377\377\17\377\377\377\16\377\377" - "\377\15\377\377\377\14\377\377\377\14\377\377\377\13\377\377\377\12\377\377" - "\377\11\377\377\377\11\377\377\377\10\377\377\377\10\377\377\377\10\377\377" - "\377\7\377\377\377\7\377\377\377\6\377\377\377\6\377\377\377\5\377\377\377" - "\5\377\377\377\5\377\377\377\5\377\377\377\5\377\377\377\5\377\377\377\5" - "\377\377\377\5\377\377\377\5\377\377\377\5\377\377\377\6\377\377\377\6\377" - "\377\377\6\377\377\377\7\377\377\377\7\377\377\377\7\377\377\377\7\377\377" - "\377\7\377\377\377\7\377\377\377\7\377\377\377\7\377\377\377\7\377\377\377" - "\7\377\377\377\7\377\377\377\7\377\377\377\7\377\377\377\7\377\377\377\7" - "\377\377\377\7\377\377\377\7\377\377\377\7\377\377\377\7\377\377\377\7\377" - "\377\377\7\377\377\377\7\377\377\377\7\377\377\377\7\377\377\377\7\377\377" - "\377\7\377\377\377\7\377\377\377\7\377\377\377\7\377\377\377\7\377\377\377" - "\7\377\377\377\7\377\377\377\7\377\377\377\7\377\377\377\7\377\377\377\7" - "\377\377\377\7\377\377\377\7\377\377\377\7\377\377\377\7\377\377\377\7\377" - "\377\377\7\377\377\377\7\377\377\377\7\377\377\377\7\377\377\377\7\377\377" - "\377\7\377\377\377\7\377\377\377\7\377\377\377\7\377\377\377\7\377\377\377" - "\7\377\377\377\7\377\377\377\7\377\377\377\7\377\377\377\7\377\377\377\7" - "\377\377\377\7\377\377\377\7\377\377\377\7\377\377\377\7\377\377\377\7\377" - "\377\377\7\377\377\377\7\377\377\377\7\377\377\377\7\377\377\377\7\377\377" - "\377\7\377\377\377\7\377\377\377\7\377\377\377\7\377\377\377\7\377\377\377" - "\7\377\377\377\7\377\377\377\7\377\377\377\7\377\377\377\7\377\377\377\7" - "\377\377\377\7\377\377\377\7\377\377\377\7\377\377\377\7\377\377\377\7\377" - "\377\377\7\377\377\377\7\377\377\377\7\377\377\377\7\377\377\377\7\377\377" - "\377\7\377\377\377\7\377\377\377\7\377\377\377\7\377\377\377\7\377\377\377" - "\7\377\377\377\7\377\377\377\7\377\377\377\7\377\377\377\7\377\377\377\7" - "\377\377\377\7\377\377\377\7\377\377\377\7\377\377\377\7\377\377\377\7\377" - "\377\377\7\377\377\377\6\377\377\377\6\377\377\377\5\377\377\377\4\377\377" - "\377\3\377\377\377\2\377\377\377\1\377\377\377\0\377\377\377\0\377\377\377" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\377\377\377\0\377\377\377\0\377\377\377\0\377" - "\377\377\0\377\377\377\0\377\377\377\0\377\377\377\0\377\377\377\0\377\377" - "\377\0\377\377\377\0\377\377\377\0\377\377\377\0\377\377\377\0\377\377\377" - "\0\377\377\377\0\377\377\377\0\377\377\377\1\377\377\377\1\377\377\377\3" - "\377\377\377\5\377\377\377\11\377\377\377\17\377\377\377\31\377\377\377&" - "\377\377\3778\377\377\377Q\377\377\377q\377\377\377\227\377\377\377\302\315" - "\340\366\364\20l\323\377\0b\320\377\0b\320\377\0b\320\377\0b\320\377\0b\320" - "\377\0b\320\377\0b\320\377\0b\320\377\0b\320\377\0b\320\377\0b\320\377\0" - "b\320\377\0b\320\377\0b\320\377\0b\320\377\0b\320\377\0b\320\377\0b\320\377" - "\0b\320\377\0J\234\377\0\0\0\377\0\0\0\377\0""1h\377\0b\320\377\177\260\350" - "\377\377\377\377\377\277\330\364\377\0b\320\377\0b\320\377\177\260\350\377" - "\377\377\377\377\177\260\350\377\0b\320\377\0b\320\377\277\330\364\377\377" - "\377\377\377@\211\334\377\0b\320\377\0b\320\377\377\377\377\377\377\377\377" - "\377\0b\320\377\0b\320\377\0b\320\377\377\377\377\377\277\330\364\377\0b" - "\320\377\0b\320\377@\211\334\377\377\377\377\377\277\330\364\377\0b\320\377" - "\0b\320\377\177\260\350\377\377\377\377\377\177\260\350\377\0b\320\377\0" - "b\320\377\177\260\350\377\377\377\377\377@\211\334\377\0b\320\377\0b\320" - "\377\377\377\377\377\377\377\377\377\0b\320\377\0b\320\377\0b\320\377\377" - "\377\377\377\277\330\364\377\0b\320\377\0b\320\377@\211\334\377\377\377\377" - "\377\277\330\364\377\0b\320\377\0b\320\377@\211\334\377\377\377\377\377@" - "\211\334\377\0b\320\377\0b\320\377\277\330\364\377\377\377\377\377@\211\334" - "\377\0b\320\377\0b\320\377\377\377\377\377\377\377\377\377\0b\320\377\0b" - "\320\377\0b\320\377\377\377\377\377\277\330\364\377\0b\320\377\0b\320\377" - "\0b\320\377\377\377\377\370{\256\347\367\0b\320\377\0b\320\3776\204\332\363" - "\377\377\377\303z\256\347\330/\177\331\353V\227\340\330\245\310\357\265\377" - "\377\377\223\377\377\377\212\377\377\377\201\377\377\377y\377\377\377q\377" - "\377\377j\377\377\377d\377\377\377_\377\377\377Z\377\377\377U\377\377\377" - "Q\377\377\377M\377\377\377H\377\377\377C\377\377\377>\377\377\377:\377\377" - "\3775\377\377\3771\377\377\377-\377\377\377*\377\377\377&\377\377\377$\377" - "\377\377!\377\377\377\37\377\377\377\34\377\377\377\32\377\377\377\30\377" - "\377\377\26\377\377\377\25\377\377\377\23\377\377\377\21\377\377\377\20\377" - "\377\377\17\377\377\377\15\377\377\377\14\377\377\377\13\377\377\377\13\377" - "\377\377\12\377\377\377\11\377\377\377\11\377\377\377\10\377\377\377\10\377" - "\377\377\7\377\377\377\7\377\377\377\6\377\377\377\6\377\377\377\6\377\377" - "\377\5\377\377\377\5\377\377\377\4\377\377\377\4\377\377\377\4\377\377\377" - "\3\377\377\377\3\377\377\377\3\377\377\377\3\377\377\377\3\377\377\377\2" - "\377\377\377\2\377\377\377\2\377\377\377\2\377\377\377\2\377\377\377\2\377" - "\377\377\2\377\377\377\2\377\377\377\2\377\377\377\2\377\377\377\2\377\377" - "\377\2\377\377\377\2\377\377\377\2\377\377\377\2\377\377\377\2\377\377\377" - "\3\377\377\377\3\377\377\377\3\377\377\377\3\377\377\377\3\377\377\377\3" - "\377\377\377\3\377\377\377\3\377\377\377\3\377\377\377\3\377\377\377\3\377" - "\377\377\3\377\377\377\3\377\377\377\3\377\377\377\3\377\377\377\3\377\377" - "\377\3\377\377\377\3\377\377\377\3\377\377\377\3\377\377\377\3\377\377\377" - "\3\377\377\377\3\377\377\377\3\377\377\377\3\377\377\377\3\377\377\377\3" - "\377\377\377\3\377\377\377\3\377\377\377\3\377\377\377\3\377\377\377\3\377" - "\377\377\3\377\377\377\3\377\377\377\3\377\377\377\3\377\377\377\3\377\377" - "\377\3\377\377\377\3\377\377\377\3\377\377\377\3\377\377\377\3\377\377\377" - "\3\377\377\377\3\377\377\377\3\377\377\377\3\377\377\377\3\377\377\377\3" - "\377\377\377\3\377\377\377\3\377\377\377\3\377\377\377\3\377\377\377\3\377" - "\377\377\3\377\377\377\3\377\377\377\3\377\377\377\3\377\377\377\3\377\377" - "\377\3\377\377\377\3\377\377\377\3\377\377\377\3\377\377\377\3\377\377\377" - "\3\377\377\377\3\377\377\377\3\377\377\377\3\377\377\377\3\377\377\377\3" - "\377\377\377\3\377\377\377\3\377\377\377\3\377\377\377\3\377\377\377\3\377" - "\377\377\3\377\377\377\3\377\377\377\3\377\377\377\3\377\377\377\3\377\377" - "\377\3\377\377\377\3\377\377\377\3\377\377\377\3\377\377\377\3\377\377\377" - "\3\377\377\377\3\377\377\377\3\377\377\377\3\377\377\377\3\377\377\377\3" - "\377\377\377\3\377\377\377\3\377\377\377\3\377\377\377\3\377\377\377\3\377" - "\377\377\3\377\377\377\3\377\377\377\3\377\377\377\3\377\377\377\3\377\377" - "\377\3\377\377\377\3\377\377\377\3\377\377\377\2\377\377\377\2\377\377\377" - "\2\377\377\377\2\377\377\377\1\377\377\377\1\377\377\377\0\377\377\377\0" - "\377\377\377\0\377\377\377\0\377\377\377\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\377\377\377\0\377\377\377\0\377\377\377\0\377\377\377\0\377\377\377\0" - "\377\377\377\0\377\377\377\0\377\377\377\0\377\377\377\1\377\377\377\2\377" - "\377\377\5\377\377\377\10\377\377\377\16\377\377\377\27\377\377\377$\377" - "\377\3777\377\377\377P\377\377\377p\377\377\377\227\377\377\377\304\316\341" - "\366\367\20l\323\377\0b\320\377\0b\320\377\0b\320\377\0b\320\377\0b\320\377" - "\0b\320\377\0b\320\377\0b\320\377\0b\320\377\0b\320\377\0b\320\377\0b\320" - "\377\0b\320\377\0b\320\377\0b\320\377\0b\320\377\0b\320\377\0b\320\377\0" - "J\234\377\0\0\0\377\0\0\0\377\0""1h\377\0b\320\377\177\260\350\377\377\377" - "\377\377\277\330\364\377\0b\320\377\0b\320\377\177\260\350\377\377\377\377" - "\377\177\260\350\377\0b\320\377\0b\320\377\277\330\364\377\377\377\377\377" - "@\211\334\377\0b\320\377\0b\320\377\377\377\377\377\377\377\377\377\0b\320" - "\377\0b\320\377\0b\320\377\377\377\377\377\277\330\364\377\0b\320\377\0b" - "\320\377@\211\334\377\377\377\377\377\277\330\364\377\0b\320\377\0b\320\377" - "\177\260\350\377\377\377\377\377\177\260\350\377\0b\320\377\0b\320\377\177" - "\260\350\377\377\377\377\377@\211\334\377\0b\320\377\0b\320\377\377\377\377" - "\377\377\377\377\377\0b\320\377\0b\320\377\0b\320\377\377\377\377\377\277" - "\330\364\377\0b\320\377\0b\320\377@\211\334\377\377\377\377\377\277\330\364" - "\377\0b\320\377\0b\320\377@\211\334\377\377\377\377\377@\211\334\377\0b\320" - "\377\0b\320\377\277\330\364\377\377\377\377\377@\211\334\377\0b\320\377\0" - "b\320\377\377\377\377\377\377\377\377\377\0b\320\377\0b\320\377\0b\320\377" - "\377\377\377\362\274\326\363\362\0b\320\377\0b\320\377\0b\320\377\377\377" - "\377\320o\246\345\343%y\327\363=\210\334\347\204\263\351\307\377\377\377" - "\231\377\377\377\217\377\377\377\205\377\377\377|\377\377\377s\377\377\377" - "k\377\377\377c\377\377\377\\\377\377\377T\377\377\377N\377\377\377H\377\377" - "\377C\377\377\377>\377\377\377:\377\377\3777\377\377\3773\377\377\3770\377" - "\377\377,\377\377\377)\377\377\377%\377\377\377\"\377\377\377\37\377\377" - "\377\34\377\377\377\31\377\377\377\27\377\377\377\25\377\377\377\23\377\377" - "\377\22\377\377\377\20\377\377\377\17\377\377\377\15\377\377\377\14\377\377" - "\377\13\377\377\377\12\377\377\377\11\377\377\377\10\377\377\377\7\377\377" - "\377\7\377\377\377\6\377\377\377\6\377\377\377\5\377\377\377\5\377\377\377" - "\4\377\377\377\4\377\377\377\4\377\377\377\3\377\377\377\3\377\377\377\3" - "\377\377\377\3\377\377\377\2\377\377\377\2\377\377\377\2\377\377\377\2\377" - "\377\377\2\377\377\377\2\377\377\377\1\377\377\377\1\377\377\377\1\377\377" - "\377\1\377\377\377\1\377\377\377\1\377\377\377\1\377\377\377\1\377\377\377" - "\1\377\377\377\0\377\377\377\0\377\377\377\0\377\377\377\0\377\377\377\0" - "\377\377\377\0\377\377\377\0\377\377\377\0\377\377\377\0\377\377\377\0\377" - "\377\377\0\377\377\377\0\377\377\377\1\377\377\377\1\377\377\377\1\377\377" - "\377\1\377\377\377\1\377\377\377\1\377\377\377\1\377\377\377\1\377\377\377" - "\1\377\377\377\1\377\377\377\1\377\377\377\1\377\377\377\1\377\377\377\1" - "\377\377\377\1\377\377\377\1\377\377\377\1\377\377\377\1\377\377\377\1\377" - "\377\377\1\377\377\377\1\377\377\377\1\377\377\377\1\377\377\377\1\377\377" - "\377\1\377\377\377\1\377\377\377\1\377\377\377\1\377\377\377\1\377\377\377" - "\1\377\377\377\1\377\377\377\1\377\377\377\1\377\377\377\1\377\377\377\1" - "\377\377\377\1\377\377\377\1\377\377\377\1\377\377\377\1\377\377\377\1\377" - "\377\377\1\377\377\377\1\377\377\377\1\377\377\377\1\377\377\377\1\377\377" - "\377\1\377\377\377\1\377\377\377\1\377\377\377\1\377\377\377\1\377\377\377" - "\1\377\377\377\1\377\377\377\1\377\377\377\1\377\377\377\1\377\377\377\1" - "\377\377\377\1\377\377\377\1\377\377\377\1\377\377\377\1\377\377\377\1\377" - "\377\377\1\377\377\377\1\377\377\377\1\377\377\377\1\377\377\377\1\377\377" - "\377\1\377\377\377\1\377\377\377\1\377\377\377\1\377\377\377\1\377\377\377" - "\1\377\377\377\1\377\377\377\1\377\377\377\1\377\377\377\1\377\377\377\1" - "\377\377\377\1\377\377\377\1\377\377\377\1\377\377\377\1\377\377\377\1\377" - "\377\377\1\377\377\377\1\377\377\377\1\377\377\377\1\377\377\377\1\377\377" - "\377\1\377\377\377\1\377\377\377\1\377\377\377\1\377\377\377\1\377\377\377" - "\1\377\377\377\1\377\377\377\1\377\377\377\1\377\377\377\1\377\377\377\1" - "\377\377\377\1\377\377\377\1\377\377\377\1\377\377\377\1\377\377\377\1\377" - "\377\377\1\377\377\377\1\377\377\377\1\377\377\377\1\377\377\377\0\377\377" - "\377\0\377\377\377\0\377\377\377\0\377\377\377\0\377\377\377\0\377\377\377" - "\0\377\377\377\0\377\377\377\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\377\377\377\0\377\377\377\0\377\377\377\0\377\377\377\0\377\377\377" - "\0\377\377\377\0\377\377\377\0\377\377\377\1\377\377\377\2\377\377\377\4" - "\377\377\377\10\377\377\377\15\377\377\377\26\377\377\377$\377\377\3777\377" - "\377\377Q\377\377\377r\377\377\377\232\377\377\377\311\256\315\360\374\0" - "b\320\377\0b\320\377\0b\320\377\0b\320\377\0b\320\377\0b\320\377\0b\320\377" - "\0b\320\377\0b\320\377\0b\320\377\0b\320\377\0b\320\377\0b\320\377\0b\320" - "\377\0b\320\377\0b\320\377\0b\320\377\0b\320\377\0J\234\377\0\0\0\377\0\0" - "\0\377\0""1h\377\0b\320\377\177\260\350\377\377\377\377\377\277\330\364\377" - "\0b\320\377\0b\320\377\177\260\350\377\377\377\377\377\177\260\350\377\0" - "b\320\377\0b\320\377\277\330\364\377\377\377\377\377@\211\334\377\0b\320" - "\377\0b\320\377\377\377\377\377\377\377\377\377\0b\320\377\0b\320\377\0b" - "\320\377\377\377\377\377\277\330\364\377\0b\320\377\0b\320\377@\211\334\377" - "\377\377\377\377\277\330\364\377\0b\320\377\0b\320\377\177\260\350\377\377" - "\377\377\377\177\260\350\377\0b\320\377\0b\320\377\177\260\350\377\377\377" - "\377\377@\211\334\377\0b\320\377\0b\320\377\377\377\377\377\377\377\377\377" - "\0b\320\377\0b\320\377\0b\320\377\377\377\377\377\277\330\364\377\0b\320" - "\377\0b\320\377@\211\334\377\377\377\377\377\277\330\364\377\0b\320\377\0" - "b\320\377@\211\334\377\377\377\377\377@\211\334\377\0b\320\377\0b\320\377" - "\277\330\364\377\377\377\377\377@\211\334\377\0b\320\377\0b\320\377\377\377" - "\377\352\377\377\377\344\0b\320\377\0b\320\377\0b\320\377\377\377\377\315" - "\262\320\361\324\0b\320\377$x\327\362J\220\336\341\377\377\377\244\377\377" - "\377\232\377\377\377\220\377\377\377\205\377\377\377z\377\377\377p\377\377" - "\377g\377\377\377^\377\377\377V\377\377\377O\377\377\377H\377\377\377B\377" - "\377\377<\377\377\3776\377\377\3771\377\377\377-\377\377\377)\377\377\377" - "&\377\377\377#\377\377\377\40\377\377\377\35\377\377\377\33\377\377\377\31" - "\377\377\377\26\377\377\377\24\377\377\377\22\377\377\377\20\377\377\377" - "\16\377\377\377\15\377\377\377\14\377\377\377\12\377\377\377\11\377\377\377" - "\10\377\377\377\10\377\377\377\7\377\377\377\6\377\377\377\5\377\377\377" - "\5\377\377\377\4\377\377\377\4\377\377\377\3\377\377\377\3\377\377\377\3" - "\377\377\377\2\377\377\377\2\377\377\377\2\377\377\377\2\377\377\377\1\377" - "\377\377\1\377\377\377\1\377\377\377\1\377\377\377\1\377\377\377\1\377\377" - "\377\1\377\377\377\1\377\377\377\1\377\377\377\0\377\377\377\0\377\377\377" - "\0\377\377\377\0\377\377\377\0\377\377\377\0\377\377\377\0\377\377\377\0" - "\377\377\377\0\377\377\377\0\377\377\377\0\377\377\377\0\377\377\377\0\377" - "\377\377\0\377\377\377\0\377\377\377\0\377\377\377\0\377\377\377\0\377\377" - "\377\0\377\377\377\0\377\377\377\0\377\377\377\0\377\377\377\0\377\377\377" - "\0\377\377\377\0\377\377\377\0\377\377\377\0\377\377\377\0\377\377\377\0" - "\377\377\377\0\377\377\377\0\377\377\377\0\377\377\377\0\377\377\377\0\377" - "\377\377\0\377\377\377\0\377\377\377\0\377\377\377\0\377\377\377\0\377\377" - "\377\0\377\377\377\0\377\377\377\0\377\377\377\0\377\377\377\0\377\377\377" - "\0\377\377\377\0\377\377\377\0\377\377\377\0\377\377\377\0\377\377\377\0" - "\377\377\377\0\377\377\377\0\377\377\377\0\377\377\377\0\377\377\377\0\377" - "\377\377\0\377\377\377\0\377\377\377\0\377\377\377\0\377\377\377\0\377\377" - "\377\0\377\377\377\0\377\377\377\0\377\377\377\0\377\377\377\0\377\377\377" - "\0\377\377\377\0\377\377\377\0\377\377\377\0\377\377\377\0\377\377\377\0" - "\377\377\377\0\377\377\377\0\377\377\377\0\377\377\377\0\377\377\377\0\377" - "\377\377\0\377\377\377\0\377\377\377\0\377\377\377\0\377\377\377\0\377\377" - "\377\0\377\377\377\0\377\377\377\0\377\377\377\0\377\377\377\0\377\377\377" - "\0\377\377\377\0\377\377\377\0\377\377\377\0\377\377\377\0\377\377\377\0" - "\377\377\377\0\377\377\377\0\377\377\377\0\377\377\377\0\377\377\377\0\377" - "\377\377\0\377\377\377\0\377\377\377\0\377\377\377\0\377\377\377\0\377\377" - "\377\0\377\377\377\0\377\377\377\0\377\377\377\0\377\377\377\0\377\377\377" - "\0\377\377\377\0\377\377\377\0\377\377\377\0\377\377\377\0\377\377\377\0" - "\377\377\377\0\377\377\377\0\377\377\377\0\377\377\377\0\377\377\377\0\377" - "\377\377\0\377\377\377\0\377\377\377\0\377\377\377\0\377\377\377\0\377\377" - "\377\0\377\377\377\0\377\377\377\0\377\377\377\0\377\377\377\0\377\377\377" - "\0\377\377\377\0\377\377\377\0\377\377\377\0\377\377\377\0\377\377\377\0" - "\377\377\377\0\377\377\377\0\377\377\377\0\377\377\377\0\377\377\377\0\377" - "\377\377\0\377\377\377\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\377\377\377\0\377\377\377\0\377\377\377\0\377\377\377\0\377\377" - "\377\0\377\377\377\0\377\377\377\0\377\377\377\1\377\377\377\2\377\377\377" - "\4\377\377\377\7\377\377\377\15\377\377\377\26\377\377\377$\377\377\3778" - "\377\377\377S\377\377\377u\377\377\377\237\377\377\377\317\217\272\353\377" - "\0b\320\377\0b\320\377\0b\320\377\0b\320\377\0b\320\377\0b\320\377\0b\320" - "\377\0b\320\377\0b\320\377\0b\320\377\0b\320\377\0b\320\377\0b\320\377\0" - "b\320\377\0b\320\377\0b\320\377\0b\320\377\0J\234\377\0\0\0\377\0\0\0\377" - "\0""1h\377\0b\320\377\177\260\350\377\377\377\377\377\277\330\364\377\0b" - "\320\377\0b\320\377\177\260\350\377\377\377\377\377\177\260\350\377\0b\320" - "\377\0b\320\377\277\330\364\377\377\377\377\377@\211\334\377\0b\320\377\0" - "b\320\377\377\377\377\377\377\377\377\377\0b\320\377\0b\320\377\0b\320\377" - "\377\377\377\377\277\330\364\377\0b\320\377\0b\320\377@\211\334\377\377\377" - "\377\377\277\330\364\377\0b\320\377\0b\320\377\177\260\350\377\377\377\377" - "\377\177\260\350\377\0b\320\377\0b\320\377\177\260\350\377\377\377\377\377" - "@\211\334\377\0b\320\377\0b\320\377\377\377\377\377\377\377\377\377\0b\320" - "\377\0b\320\377\0b\320\377\377\377\377\377\277\330\364\377\0b\320\377\0b" - "\320\377@\211\334\377\377\377\377\377\277\330\364\377\0b\320\377\0b\320\377" - "@\211\334\377\377\377\377\377@\211\334\377\0b\320\377\0b\320\377\277\330" - "\364\377\377\377\377\362;\207\333\371\0b\320\377\0b\320\377\377\377\377\312" - "\377\377\377\302\0b\320\377\0b\320\377\26p\324\365\377\377\377\244\377\377" - "\377\234\377\377\377\223\377\377\377\213\377\377\377\202\377\377\377y\377" - "\377\377p\377\377\377g\377\377\377]\377\377\377U\377\377\377L\377\377\377" - "E\377\377\377>\377\377\3778\377\377\3772\377\377\377-\377\377\377(\377\377" - "\377$\377\377\377\40\377\377\377\35\377\377\377\32\377\377\377\27\377\377" - "\377\25\377\377\377\23\377\377\377\21\377\377\377\17\377\377\377\16\377\377" - "\377\14\377\377\377\13\377\377\377\12\377\377\377\11\377\377\377\10\377\377" - "\377\7\377\377\377\6\377\377\377\5\377\377\377\5\377\377\377\4\377\377\377" - "\4\377\377\377\3\377\377\377\3\377\377\377\2\377\377\377\2\377\377\377\2" - "\377\377\377\1\377\377\377\1\377\377\377\1\377\377\377\1\377\377\377\1\377" - "\377\377\1\377\377\377\0\377\377\377\0\377\377\377\0\377\377\377\0\377\377" - "\377\0\377\377\377\0\377\377\377\0\377\377\377\0\377\377\377\0\377\377\377" - "\0\377\377\377\0\377\377\377\0\377\377\377\0\377\377\377\0\377\377\377\0" - "\377\377\377\0\377\377\377\0\377\377\377\0\377\377\377\0\377\377\377\0\377" - "\377\377\0\377\377\377\0\377\377\377\0\377\377\377\0\377\377\377\0\377\377" - "\377\0\377\377\377\0\377\377\377\0\377\377\377\0\377\377\377\0\377\377\377" - "\0\377\377\377\0\377\377\377\0\377\377\377\0\377\377\377\0\377\377\377\0" - "\377\377\377\0\377\377\377\0\377\377\377\0\377\377\377\0\377\377\377\0\377" - "\377\377\0\377\377\377\0\377\377\377\0\377\377\377\0\377\377\377\0\377\377" - "\377\0\377\377\377\0\377\377\377\0\377\377\377\0\377\377\377\0\377\377\377" - "\0\377\377\377\0\377\377\377\0\377\377\377\0\377\377\377\0\377\377\377\0" - "\377\377\377\0\377\377\377\0\377\377\377\0\377\377\377\0\377\377\377\0\377" - "\377\377\0\377\377\377\0\377\377\377\0\377\377\377\0\377\377\377\0\377\377" - "\377\0\377\377\377\0\377\377\377\0\377\377\377\0\377\377\377\0\377\377\377" - "\0\377\377\377\0\377\377\377\0\377\377\377\0\377\377\377\0\377\377\377\0" - "\377\377\377\0\377\377\377\0\377\377\377\0\377\377\377\0\377\377\377\0\377" - "\377\377\0\377\377\377\0\377\377\377\0\377\377\377\0\377\377\377\0\377\377" - "\377\0\377\377\377\0\377\377\377\0\377\377\377\0\377\377\377\0\377\377\377" - "\0\377\377\377\0\377\377\377\0\377\377\377\0\377\377\377\0\377\377\377\0" - "\377\377\377\0\377\377\377\0\377\377\377\0\377\377\377\0\377\377\377\0\377" - "\377\377\0\377\377\377\0\377\377\377\0\377\377\377\0\377\377\377\0\377\377" - "\377\0\377\377\377\0\377\377\377\0\377\377\377\0\377\377\377\0\377\377\377" - "\0\377\377\377\0\377\377\377\0\377\377\377\0\377\377\377\0\377\377\377\0" - "\377\377\377\0\377\377\377\0\377\377\377\0\377\377\377\0\377\377\377\0\377" - "\377\377\0\377\377\377\0\377\377\377\0\377\377\377\0\377\377\377\0\377\377" - "\377\0\377\377\377\0\377\377\377\0\377\377\377\0\377\377\377\0\377\377\377" - "\0\377\377\377\0\377\377\377\0\377\377\377\0\377\377\377\0\377\377\377\0" - "\377\377\377\0\377\377\377\0\377\377\377\0\377\377\377\0\377\377\377\0\377" - "\377\377\0\377\377\377\0\377\377\377\0\377\377\377\0\377\377\377\0\377\377" - "\377\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\377\377\377\0\377\377\377\0\377\377\377\0\377\377\377\0\377" - "\377\377\0\377\377\377\0\377\377\377\1\377\377\377\2\377\377\377\4\377\377" - "\377\7\377\377\377\15\377\377\377\27\377\377\377%\377\377\377:\377\377\377" - "V\377\377\377{\377\377\377\247\377\377\377\331`\235\342\377\0b\320\377\0" - "b\320\377\0b\320\377\0b\320\377\0b\320\377\0b\320\377\0b\320\377\0b\320\377" - "\0b\320\377\0b\320\377\0b\320\377\0b\320\377\0b\320\377\0b\320\377\0b\320" - "\377\0b\320\377\0J\234\377\0\0\0\377\0\0\0\377\0""1h\377\0b\320\377\177\260" - "\350\377\377\377\377\377\277\330\364\377\0b\320\377\0b\320\377\177\260\350" - "\377\377\377\377\377\177\260\350\377\0b\320\377\0b\320\377\277\330\364\377" - "\377\377\377\377@\211\334\377\0b\320\377\0b\320\377\377\377\377\377\377\377" - "\377\377\0b\320\377\0b\320\377\0b\320\377\377\377\377\377\277\330\364\377" - "\0b\320\377\0b\320\377@\211\334\377\377\377\377\377\277\330\364\377\0b\320" - "\377\0b\320\377\177\260\350\377\377\377\377\377\177\260\350\377\0b\320\377" - "\0b\320\377\177\260\350\377\377\377\377\377@\211\334\377\0b\320\377\0b\320" - "\377\377\377\377\377\377\377\377\377\0b\320\377\0b\320\377\0b\320\377\377" - "\377\377\377\277\330\364\377\0b\320\377\0b\320\377@\211\334\377\377\377\377" - "\377\277\330\364\377\0b\320\377\0b\320\377@\211\334\377\377\377\377\377@" - "\211\334\377\0b\320\377\0b\320\377\271\324\362\350\377\377\377\3234\202\332" - "\361\0b\320\377\0b\320\377\377\377\377\245\377\377\377\234\241\306\356\256" - "\343\356\372\222\377\377\377\203\377\377\377{\377\377\377r\377\377\377j\377" - "\377\377b\377\377\377[\377\377\377S\377\377\377K\377\377\377D\377\377\377" - "=\377\377\3776\377\377\3770\377\377\377*\377\377\377%\377\377\377!\377\377" - "\377\35\377\377\377\32\377\377\377\26\377\377\377\24\377\377\377\21\377\377" - "\377\17\377\377\377\15\377\377\377\14\377\377\377\12\377\377\377\11\377\377" - "\377\10\377\377\377\7\377\377\377\6\377\377\377\6\377\377\377\5\377\377\377" - "\4\377\377\377\4\377\377\377\3\377\377\377\3\377\377\377\2\377\377\377\2" - "\377\377\377\2\377\377\377\1\377\377\377\1\377\377\377\1\377\377\377\1\377" - "\377\377\1\377\377\377\0\377\377\377\0\377\377\377\0\377\377\377\0\377\377" - "\377\0\377\377\377\0\377\377\377\0\377\377\377\0\377\377\377\0\377\377\377" - "\0\377\377\377\0\377\377\377\0\377\377\377\0\377\377\377\0\377\377\377\0" - "\377\377\377\0\377\377\377\0\377\377\377\0\377\377\377\0\377\377\377\0\377" - "\377\377\0\377\377\377\0\377\377\377\0\377\377\377\0\377\377\377\0\377\377" - "\377\0\377\377\377\0\377\377\377\0\377\377\377\0\377\377\377\0\377\377\377" - "\0\377\377\377\0\377\377\377\0\377\377\377\0\377\377\377\0\377\377\377\0" - "\377\377\377\0\377\377\377\0\377\377\377\0\377\377\377\0\377\377\377\0\377" - "\377\377\0\377\377\377\0\377\377\377\0\377\377\377\0\377\377\377\0\377\377" - "\377\0\377\377\377\0\377\377\377\0\377\377\377\0\377\377\377\0\377\377\377" - "\0\377\377\377\0\377\377\377\0\377\377\377\0\377\377\377\0\377\377\377\0" - "\377\377\377\0\377\377\377\0\377\377\377\0\377\377\377\0\377\377\377\0\377" - "\377\377\0\377\377\377\0\377\377\377\0\377\377\377\0\377\377\377\0\377\377" - "\377\0\377\377\377\0\377\377\377\0\377\377\377\0\377\377\377\0\377\377\377" - "\0\377\377\377\0\377\377\377\0\377\377\377\0\377\377\377\0\377\377\377\0" - "\377\377\377\0\377\377\377\0\377\377\377\0\377\377\377\0\377\377\377\0\377" - "\377\377\0\377\377\377\0\377\377\377\0\377\377\377\0\377\377\377\0\377\377" - "\377\0\377\377\377\0\377\377\377\0\377\377\377\0\377\377\377\0\377\377\377" - "\0\377\377\377\0\377\377\377\0\377\377\377\0\377\377\377\0\377\377\377\0" - "\377\377\377\0\377\377\377\0\377\377\377\0\377\377\377\0\377\377\377\0\377" - "\377\377\0\377\377\377\0\377\377\377\0\377\377\377\0\377\377\377\0\377\377" - "\377\0\377\377\377\0\377\377\377\0\377\377\377\0\377\377\377\0\377\377\377" - "\0\377\377\377\0\377\377\377\0\377\377\377\0\377\377\377\0\377\377\377\0" - "\377\377\377\0\377\377\377\0\377\377\377\0\377\377\377\0\377\377\377\0\377" - "\377\377\0\377\377\377\0\377\377\377\0\377\377\377\0\377\377\377\0\377\377" - "\377\0\377\377\377\0\377\377\377\0\377\377\377\0\377\377\377\0\377\377\377" - "\0\377\377\377\0\377\377\377\0\377\377\377\0\377\377\377\0\377\377\377\0" - "\377\377\377\0\377\377\377\0\377\377\377\0\377\377\377\0\377\377\377\0\377" - "\377\377\0\377\377\377\0\377\377\377\0\377\377\377\0\377\377\377\0\377\377" - "\377\0\377\377\377\0\377\377\377\0\377\377\377\0\377\377\377\0\377\377\377" - "\0\377\377\377\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\377\377\377\0\377\377\377" - "\0\377\377\377\0\377\377\377\0\377\377\377\0\377\377\377\0\377\377\377\1" - "\377\377\377\2\377\377\377\4\377\377\377\7\377\377\377\16\377\377\377\30" - "\377\377\377'\377\377\377>\377\377\377\\\377\377\377\203\377\377\377\261" - "\356\365\374\347\40v\326\377\0b\320\377\0b\320\377\0b\320\377\0b\320\377" - "\0b\320\377\0b\320\377\0b\320\377\0b\320\377\0b\320\377\0b\320\377\0b\320" - "\377\0b\320\377\0b\320\377\0b\320\377\0b\320\377\0J\234\377\0\0\0\377\0\0" - "\0\377\0""1h\377\0b\320\377\177\260\350\377\377\377\377\377\277\330\364\377" - "\0b\320\377\0b\320\377\177\260\350\377\377\377\377\377\177\260\350\377\0" - "b\320\377\0b\320\377\277\330\364\377\377\377\377\377@\211\334\377\0b\320" - "\377\0b\320\377\377\377\377\377\377\377\377\377\0b\320\377\0b\320\377\0b" - "\320\377\377\377\377\377\277\330\364\377\0b\320\377\0b\320\377@\211\334\377" - "\377\377\377\377\277\330\364\377\0b\320\377\0b\320\377\177\260\350\377\377" - "\377\377\377\177\260\350\377\0b\320\377\0b\320\377\177\260\350\377\377\377" - "\377\377@\211\334\377\0b\320\377\0b\320\377\377\377\377\377\377\377\377\377" - "\0b\320\377\0b\320\377\0b\320\377\377\377\377\377\277\330\364\377\0b\320" - "\377\0b\320\377@\211\334\377\377\377\377\377\277\330\364\377\0b\320\377\0" - "b\320\377?\211\334\376\377\377\377\361;\206\333\371\0b\320\377\0b\320\377" - "\260\316\361\316\377\377\377\257b\237\342\320m\245\344\304\262\320\361\240" - "\377\377\377\177\377\377\377u\377\377\377m\377\377\377e\377\377\377]\377" - "\377\377U\377\377\377N\377\377\377G\377\377\377A\377\377\377:\377\377\377" - "4\377\377\377/\377\377\377)\377\377\377$\377\377\377\40\377\377\377\33\377" - "\377\377\30\377\377\377\24\377\377\377\22\377\377\377\17\377\377\377\15\377" - "\377\377\13\377\377\377\12\377\377\377\10\377\377\377\7\377\377\377\6\377" - "\377\377\5\377\377\377\4\377\377\377\4\377\377\377\3\377\377\377\3\377\377" - "\377\2\377\377\377\2\377\377\377\2\377\377\377\1\377\377\377\1\377\377\377" - "\1\377\377\377\1\377\377\377\1\377\377\377\0\377\377\377\0\377\377\377\0" - "\377\377\377\0\377\377\377\0\377\377\377\0\377\377\377\0\377\377\377\0\377" - "\377\377\0\377\377\377\0\377\377\377\0\377\377\377\0\377\377\377\0\377\377" - "\377\0\377\377\377\0\377\377\377\0\377\377\377\0\377\377\377\0\377\377\377" - "\0\377\377\377\0\377\377\377\0\377\377\377\0\377\377\377\0\377\377\377\0" - "\377\377\377\0\377\377\377\0\377\377\377\0\377\377\377\0\377\377\377\0\377" - "\377\377\0\377\377\377\0\377\377\377\0\377\377\377\0\377\377\377\0\377\377" - "\377\0\377\377\377\0\377\377\377\0\377\377\377\0\377\377\377\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\377\377\377\0\377\377\377\0\377\377\377\0" - "\377\377\377\0\377\377\377\0\377\377\377\0\377\377\377\1\377\377\377\2\377" - "\377\377\4\377\377\377\10\377\377\377\17\377\377\377\32\377\377\377+\377" - "\377\377C\377\377\377d\377\377\377\215\377\377\377\276\315\341\366\366\0" - "b\320\377\0b\320\377\0b\320\377\0b\320\377\0b\320\377\0b\320\377\0b\320\377" - "\0b\320\377\0b\320\377\0b\320\377\0b\320\377\0b\320\377\0b\320\377\0b\320" - "\377\0b\320\377\0J\234\377\0\0\0\377\0\0\0\377\0""1h\377\0b\320\377\177\260" - "\350\377\377\377\377\377\277\330\364\377\0b\320\377\0b\320\377\177\260\350" - "\377\377\377\377\377\177\260\350\377\0b\320\377\0b\320\377\277\330\364\377" - "\377\377\377\377@\211\334\377\0b\320\377\0b\320\377\377\377\377\377\377\377" - "\377\377\0b\320\377\0b\320\377\0b\320\377\377\377\377\377\277\330\364\377" - "\0b\320\377\0b\320\377@\211\334\377\377\377\377\377\277\330\364\377\0b\320" - "\377\0b\320\377\177\260\350\377\377\377\377\377\177\260\350\377\0b\320\377" - "\0b\320\377\177\260\350\377\377\377\377\377@\211\334\377\0b\320\377\0b\320" - "\377\377\377\377\377\377\377\377\377\0b\320\377\0b\320\377\0b\320\377\377" - "\377\377\377\277\330\364\377\0b\320\377\0b\320\377@\211\334\377\377\377\377" - "\366\274\326\363\362\0b\320\377\0b\320\3778\204\333\365\377\377\377\3143" - "\202\332\360\27p\325\366:\206\333\343\315\341\366\243\377\377\377\210\377" - "\377\377{\377\377\377o\377\377\377e\377\377\377[\377\377\377R\377\377\377" - "J\377\377\377C\377\377\377=\377\377\3777\377\377\3771\377\377\377,\377\377" - "\377'\377\377\377\"\377\377\377\36\377\377\377\32\377\377\377\27\377\377" - "\377\24\377\377\377\21\377\377\377\16\377\377\377\14\377\377\377\12\377\377" - "\377\11\377\377\377\7\377\377\377\6\377\377\377\5\377\377\377\4\377\377\377" - "\3\377\377\377\3\377\377\377\2\377\377\377\2\377\377\377\2\377\377\377\1" - "\377\377\377\1\377\377\377\1\377\377\377\1\377\377\377\1\377\377\377\0\377" - "\377\377\0\377\377\377\0\377\377\377\0\377\377\377\0\377\377\377\0\377\377" - "\377\0\377\377\377\0\377\377\377\0\377\377\377\0\377\377\377\0\377\377\377" - "\0\377\377\377\0\377\377\377\0\377\377\377\0\377\377\377\0\377\377\377\0" - "\377\377\377\0\377\377\377\0\377\377\377\0\377\377\377\0\377\377\377\0\377" - "\377\377\0\377\377\377\0\377\377\377\0\377\377\377\0\377\377\377\0\377\377" - "\377\0\377\377\377\0\377\377\377\0\377\377\377\0\377\377\377\0\377\377\377" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\377\377\377\0\377\377\377\0\377\377\377\0\377\377\377\0\377\377\377\0" - "\377\377\377\0\377\377\377\1\377\377\377\2\377\377\377\4\377\377\377\11\377" - "\377\377\20\377\377\377\35\377\377\377/\377\377\377J\377\377\377n\377\377" - "\377\232\377\377\377\315\177\260\350\377\0b\320\377\0b\320\377\0b\320\377" - "\0b\320\377\0b\320\377\0b\320\377\0b\320\377\0b\320\377\0b\320\377\0b\320" - "\377\0b\320\377\0b\320\377\0b\320\377\0b\320\377\0J\234\377\0\0\0\377\0\0" - "\0\377\0""1h\377\0b\320\377\177\260\350\377\377\377\377\377\277\330\364\377" - "\0b\320\377\0b\320\377\177\260\350\377\377\377\377\377\177\260\350\377\0" - "b\320\377\0b\320\377\277\330\364\377\377\377\377\377@\211\334\377\0b\320" - "\377\0b\320\377\377\377\377\377\377\377\377\377\0b\320\377\0b\320\377\0b" - "\320\377\377\377\377\377\277\330\364\377\0b\320\377\0b\320\377@\211\334\377" - "\377\377\377\377\277\330\364\377\0b\320\377\0b\320\377\177\260\350\377\377" - "\377\377\377\177\260\350\377\0b\320\377\0b\320\377\177\260\350\377\377\377" - "\377\377@\211\334\377\0b\320\377\0b\320\377\377\377\377\377\377\377\377\377" - "\0b\320\377\0b\320\377\0b\320\377\377\377\377\377\277\330\364\377\0b\320" - "\377\0b\320\377:\206\333\370\377\377\377\326\264\321\362\330\0b\320\377\0" - "b\320\377X\231\341\333\377\377\377\243\377\377\377\227\377\377\377\212\377" - "\377\377}\377\377\377o\377\377\377c\377\377\377X\377\377\377N\377\377\377" - "E\377\377\377=\377\377\3775\377\377\377/\377\377\377*\377\377\377%\377\377" - "\377\40\377\377\377\34\377\377\377\31\377\377\377\25\377\377\377\23\377\377" - "\377\20\377\377\377\16\377\377\377\14\377\377\377\12\377\377\377\10\377\377" - "\377\7\377\377\377\5\377\377\377\4\377\377\377\4\377\377\377\3\377\377\377" - "\2\377\377\377\2\377\377\377\1\377\377\377\1\377\377\377\1\377\377\377\1" - "\377\377\377\0\377\377\377\0\377\377\377\0\377\377\377\0\377\377\377\0\377" - "\377\377\0\377\377\377\0\377\377\377\0\377\377\377\0\377\377\377\0\377\377" - "\377\0\377\377\377\0\377\377\377\0\377\377\377\0\377\377\377\0\377\377\377" - "\0\377\377\377\0\377\377\377\0\377\377\377\0\377\377\377\0\377\377\377\0" - "\377\377\377\0\377\377\377\0\377\377\377\0\377\377\377\0\377\377\377\0\377" - "\377\377\0\377\377\377\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\377\377" - "\377\0\377\377\377\0\377\377\377\0\377\377\377\0\377\377\377\0\377\377\377" - "\1\377\377\377\2\377\377\377\5\377\377\377\12\377\377\377\23\377\377\377" - "!\377\377\3776\377\377\377S\377\377\377z\377\377\377\252\377\377\377\337" - "0\200\331\377\0b\320\377\0b\320\377\0b\320\377\0b\320\377\0b\320\377\0b\320" - "\377\0b\320\377\0b\320\377\0b\320\377\0b\320\377\0b\320\377\0b\320\377\0" - "b\320\377\0J\234\377\0\0\0\377\0\0\0\377\0""1h\377\0b\320\377\177\260\350" - "\377\377\377\377\377\277\330\364\377\0b\320\377\0b\320\377\177\260\350\377" - "\377\377\377\377\177\260\350\377\0b\320\377\0b\320\377\277\330\364\377\377" - "\377\377\377@\211\334\377\0b\320\377\0b\320\377\377\377\377\377\377\377\377" - "\377\0b\320\377\0b\320\377\0b\320\377\377\377\377\377\277\330\364\377\0b" - "\320\377\0b\320\377@\211\334\377\377\377\377\377\277\330\364\377\0b\320\377" - "\0b\320\377\177\260\350\377\377\377\377\377\177\260\350\377\0b\320\377\0" - "b\320\377\177\260\350\377\377\377\377\377@\211\334\377\0b\320\377\0b\320" - "\377\377\377\377\377\377\377\377\377\0b\320\377\0b\320\377\0b\320\377\377" - "\377\377\364\272\325\363\356\0b\320\377\0b\320\3773\201\332\357\377\377\377" - "\261\321\343\367\260\177\260\350\300\344\357\372\226\377\377\377\204\377" - "\377\377z\377\377\377n\377\377\377c\377\377\377X\377\377\377M\377\377\377" - "C\377\377\377:\377\377\3772\377\377\377+\377\377\377%\377\377\377\40\377" - "\377\377\34\377\377\377\30\377\377\377\24\377\377\377\21\377\377\377\17\377" - "\377\377\15\377\377\377\13\377\377\377\11\377\377\377\10\377\377\377\6\377" - "\377\377\5\377\377\377\4\377\377\377\3\377\377\377\3\377\377\377\2\377\377" - "\377\2\377\377\377\1\377\377\377\1\377\377\377\1\377\377\377\0\377\377\377" - "\0\377\377\377\0\377\377\377\0\377\377\377\0\377\377\377\0\377\377\377\0" - "\377\377\377\0\377\377\377\0\377\377\377\0\377\377\377\0\377\377\377\0\377" - "\377\377\0\377\377\377\0\377\377\377\0\377\377\377\0\377\377\377\0\377\377" - "\377\0\377\377\377\0\377\377\377\0\377\377\377\0\377\377\377\0\377\377\377" - "\0\377\377\377\0\377\377\377\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\377\377\377" - "\0\377\377\377\0\377\377\377\0\377\377\377\0\377\377\377\0\377\377\377\0" - "\377\377\377\1\377\377\377\3\377\377\377\6\377\377\377\14\377\377\377\26" - "\377\377\377&\377\377\377>\377\377\377_\377\377\377\211\377\377\377\274\275" - "\327\363\367\0b\320\377\0b\320\377\0b\320\377\0b\320\377\0b\320\377\0b\320" - "\377\0b\320\377\0b\320\377\0b\320\377\0b\320\377\0b\320\377\0b\320\377\0" - "b\320\377\0J\234\377\0\0\0\377\0\0\0\377\0""1h\377\0b\320\377\177\260\350" - "\377\377\377\377\377\277\330\364\377\0b\320\377\0b\320\377\177\260\350\377" - "\377\377\377\377\177\260\350\377\0b\320\377\0b\320\377\277\330\364\377\377" - "\377\377\377@\211\334\377\0b\320\377\0b\320\377\377\377\377\377\377\377\377" - "\377\0b\320\377\0b\320\377\0b\320\377\377\377\377\377\277\330\364\377\0b" - "\320\377\0b\320\377@\211\334\377\377\377\377\377\277\330\364\377\0b\320\377" - "\0b\320\377\177\260\350\377\377\377\377\377\177\260\350\377\0b\320\377\0" - "b\320\377\177\260\350\377\377\377\377\377@\211\334\377\0b\320\377\0b\320" - "\377\377\377\377\377\377\377\377\371\0b\320\377\0b\320\377\0b\320\377\377" - "\377\377\322\262\320\361\323\0b\320\377:\206\333\344\221\273\353\271\377" - "\377\377\212\377\377\377~\377\377\377r\377\377\377h\377\377\377^\377\377" - "\377U\377\377\377K\377\377\377B\377\377\3779\377\377\3771\377\377\377*\377" - "\377\377#\377\377\377\36\377\377\377\31\377\377\377\25\377\377\377\22\377" - "\377\377\17\377\377\377\14\377\377\377\12\377\377\377\10\377\377\377\7\377" - "\377\377\6\377\377\377\5\377\377\377\4\377\377\377\3\377\377\377\2\377\377" - "\377\2\377\377\377\1\377\377\377\1\377\377\377\1\377\377\377\1\377\377\377" - "\0\377\377\377\0\377\377\377\0\377\377\377\0\377\377\377\0\377\377\377\0" - "\377\377\377\0\377\377\377\0\377\377\377\0\377\377\377\0\377\377\377\0\377" - "\377\377\0\377\377\377\0\377\377\377\0\377\377\377\0\377\377\377\0\377\377" - "\377\0\377\377\377\0\377\377\377\0\377\377\377\0\377\377\377\0\377\377\377" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\377\377\377\0\377\377\377\0\377\377\377\0\377" - "\377\377\0\377\377\377\0\377\377\377\0\377\377\377\1\377\377\377\3\377\377" - "\377\7\377\377\377\16\377\377\377\32\377\377\377-\377\377\377H\377\377\377" - "m\377\377\377\233\377\377\377\321`\235\342\377\0b\320\377\0b\320\377\0b\320" - "\377\0b\320\377\0b\320\377\0b\320\377\0b\320\377\0b\320\377\0b\320\377\0" - "b\320\377\0b\320\377\0b\320\377\0J\234\377\0\0\0\377\0\0\0\377\0""1h\377" - "\0b\320\377\177\260\350\377\377\377\377\377\277\330\364\377\0b\320\377\0" - "b\320\377\177\260\350\377\377\377\377\377\177\260\350\377\0b\320\377\0b\320" - "\377\277\330\364\377\377\377\377\377@\211\334\377\0b\320\377\0b\320\377\377" - "\377\377\377\377\377\377\377\0b\320\377\0b\320\377\0b\320\377\377\377\377" - "\377\277\330\364\377\0b\320\377\0b\320\377@\211\334\377\377\377\377\377\277" - "\330\364\377\0b\320\377\0b\320\377\177\260\350\377\377\377\377\377\177\260" - "\350\377\0b\320\377\0b\320\377\177\260\350\377\377\377\377\377@\211\334\377" - "\0b\320\377\0b\320\377\377\377\377\346\377\377\377\333\0b\320\377\0b\320" - "\377\0b\320\377\377\377\377\255\347\360\373\244\344\357\372\226\377\377\377" - "\200\377\377\377r\377\377\377e\377\377\377Z\377\377\377O\377\377\377F\377" - "\377\377>\377\377\3777\377\377\377/\377\377\377)\377\377\377#\377\377\377" - "\35\377\377\377\30\377\377\377\24\377\377\377\20\377\377\377\15\377\377\377" - "\13\377\377\377\11\377\377\377\7\377\377\377\6\377\377\377\5\377\377\377" - "\4\377\377\377\3\377\377\377\2\377\377\377\2\377\377\377\1\377\377\377\1" - "\377\377\377\1\377\377\377\0\377\377\377\0\377\377\377\0\377\377\377\0\377" - "\377\377\0\377\377\377\0\377\377\377\0\377\377\377\0\377\377\377\0\377\377" - "\377\0\377\377\377\0\377\377\377\0\377\377\377\0\377\377\377\0\377\377\377" - "\0\377\377\377\0\377\377\377\0\377\377\377\0\377\377\377\0\377\377\377\0" - "\377\377\377\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\377\377\377\0\377\377\377\0\377\377\377\0\377\377" - "\377\0\377\377\377\0\377\377\377\0\377\377\377\2\377\377\377\4\377\377\377" - "\11\377\377\377\22\377\377\377\40\377\377\3776\377\377\377U\377\377\377~" - "\377\377\377\260\356\365\374\351\20l\323\377\0b\320\377\0b\320\377\0b\320" - "\377\0b\320\377\0b\320\377\0b\320\377\0b\320\377\0b\320\377\0b\320\377\0" - "b\320\377\0b\320\377\0J\234\377\0\0\0\377\0\0\0\377\0""1h\377\0b\320\377" - "\177\260\350\377\377\377\377\377\277\330\364\377\0b\320\377\0b\320\377\177" - "\260\350\377\377\377\377\377\177\260\350\377\0b\320\377\0b\320\377\277\330" - "\364\377\377\377\377\377@\211\334\377\0b\320\377\0b\320\377\377\377\377\377" - "\377\377\377\377\0b\320\377\0b\320\377\0b\320\377\377\377\377\377\277\330" - "\364\377\0b\320\377\0b\320\377@\211\334\377\377\377\377\377\277\330\364\377" - "\0b\320\377\0b\320\377\177\260\350\377\377\377\377\377\177\260\350\377\0" - "b\320\377\0b\320\377\177\260\350\377\377\377\377\374=\210\334\374\0b\320" - "\377\0b\320\377\377\377\377\305\377\377\377\270\13i\322\372F\215\335\333" - "}\257\347\274\377\377\377\206\377\377\377w\377\377\377j\377\377\377\\\377" - "\377\377P\377\377\377E\377\377\377;\377\377\3773\377\377\377,\377\377\377" - "&\377\377\377\40\377\377\377\33\377\377\377\27\377\377\377\23\377\377\377" - "\17\377\377\377\14\377\377\377\12\377\377\377\10\377\377\377\6\377\377\377" - "\5\377\377\377\4\377\377\377\3\377\377\377\2\377\377\377\2\377\377\377\1" - "\377\377\377\1\377\377\377\1\377\377\377\0\377\377\377\0\377\377\377\0\377" - "\377\377\0\377\377\377\0\377\377\377\0\377\377\377\0\377\377\377\0\377\377" - "\377\0\377\377\377\0\377\377\377\0\377\377\377\0\377\377\377\0\377\377\377" - "\0\377\377\377\0\377\377\377\0\377\377\377\0\377\377\377\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\377\377\377\0" - "\377\377\377\0\377\377\377\0\377\377\377\0\377\377\377\0\377\377\377\1\377" - "\377\377\2\377\377\377\6\377\377\377\14\377\377\377\26\377\377\377'\377\377" - "\377A\377\377\377d\377\377\377\222\377\377\377\307\177\260\350\377\0b\320" - "\377\0b\320\377\0b\320\377\0b\320\377\0b\320\377\0b\320\377\0b\320\377\0" - "b\320\377\0b\320\377\0b\320\377\0b\320\377\0J\234\377\0\0\0\377\0\0\0\377" - "\0""1h\377\0b\320\377\177\260\350\377\377\377\377\377\277\330\364\377\0b" - "\320\377\0b\320\377\177\260\350\377\377\377\377\377\177\260\350\377\0b\320" - "\377\0b\320\377\277\330\364\377\377\377\377\377@\211\334\377\0b\320\377\0" - "b\320\377\377\377\377\377\377\377\377\377\0b\320\377\0b\320\377\0b\320\377" - "\377\377\377\377\277\330\364\377\0b\320\377\0b\320\377@\211\334\377\377\377" - "\377\377\277\330\364\377\0b\320\377\0b\320\377\177\260\350\377\377\377\377" - "\377\177\260\350\377\0b\320\377\0b\320\377z\255\347\366\377\377\377\3376" - "\204\332\364\0b\320\377\0b\320\377\377\377\377\241\377\377\377\223\377\377" - "\377\206\377\377\377y\377\377\377m\377\377\377a\377\377\377T\377\377\377" - "I\377\377\377>\377\377\3774\377\377\377,\377\377\377$\377\377\377\36\377" - "\377\377\31\377\377\377\25\377\377\377\22\377\377\377\16\377\377\377\14\377" - "\377\377\11\377\377\377\7\377\377\377\6\377\377\377\4\377\377\377\3\377\377" - "\377\3\377\377\377\2\377\377\377\1\377\377\377\1\377\377\377\1\377\377\377" - "\0\377\377\377\0\377\377\377\0\377\377\377\0\377\377\377\0\377\377\377\0" - "\377\377\377\0\377\377\377\0\377\377\377\0\377\377\377\0\377\377\377\0\377" - "\377\377\0\377\377\377\0\377\377\377\0\377\377\377\0\377\377\377\0\377\377" - "\377\0\377\377\377\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\377\377\377" - "\0\377\377\377\0\377\377\377\0\377\377\377\0\377\377\377\0\377\377\377\1" - "\377\377\377\3\377\377\377\7\377\377\377\17\377\377\377\34\377\377\3771\377" - "\377\377N\377\377\377w\377\377\377\250\377\377\377\341\40v\326\377\0b\320" - "\377\0b\320\377\0b\320\377\0b\320\377\0b\320\377\0b\320\377\0b\320\377\0" - "b\320\377\0b\320\377\0b\320\377\0J\234\377\0\0\0\377\0\0\0\377\0""1h\377" - "\0b\320\377\177\260\350\377\377\377\377\377\277\330\364\377\0b\320\377\0" - "b\320\377\177\260\350\377\377\377\377\377\177\260\350\377\0b\320\377\0b\320" - "\377\277\330\364\377\377\377\377\377@\211\334\377\0b\320\377\0b\320\377\377" - "\377\377\377\377\377\377\377\0b\320\377\0b\320\377\0b\320\377\377\377\377" - "\377\277\330\364\377\0b\320\377\0b\320\377@\211\334\377\377\377\377\377\277" - "\330\364\377\0b\320\377\0b\320\377\177\260\350\377\377\377\377\371{\256\347" - "\370\0b\320\377\0b\320\377q\250\345\346\377\377\377\274X\230\341\333\200" - "\261\350\301\343\356\372\222\377\377\377{\377\377\377m\377\377\377a\377\377" - "\377V\377\377\377K\377\377\377A\377\377\3777\377\377\377.\377\377\377&\377" - "\377\377\37\377\377\377\31\377\377\377\25\377\377\377\21\377\377\377\15\377" - "\377\377\13\377\377\377\11\377\377\377\7\377\377\377\5\377\377\377\4\377" - "\377\377\3\377\377\377\2\377\377\377\2\377\377\377\1\377\377\377\1\377\377" - "\377\0\377\377\377\0\377\377\377\0\377\377\377\0\377\377\377\0\377\377\377" - "\0\377\377\377\0\377\377\377\0\377\377\377\0\377\377\377\0\377\377\377\0" - "\377\377\377\0\377\377\377\0\377\377\377\0\377\377\377\0\377\377\377\0\377" - "\377\377\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\377\377\377\0\377\377\377\0\377\377\377\0\377" - "\377\377\0\377\377\377\0\377\377\377\2\377\377\377\5\377\377\377\12\377\377" - "\377\24\377\377\377$\377\377\377<\377\377\377_\377\377\377\214\377\377\377" - "\302\236\304\356\376\0b\320\377\0b\320\377\0b\320\377\0b\320\377\0b\320\377" - "\0b\320\377\0b\320\377\0b\320\377\0b\320\377\0b\320\377\0J\234\377\0\0\0" - "\377\0\0\0\377\0""1h\377\0b\320\377\177\260\350\377\377\377\377\377\277\330" - "\364\377\0b\320\377\0b\320\377\177\260\350\377\377\377\377\377\177\260\350" - "\377\0b\320\377\0b\320\377\277\330\364\377\377\377\377\377@\211\334\377\0" - "b\320\377\0b\320\377\377\377\377\377\377\377\377\377\0b\320\377\0b\320\377" - "\0b\320\377\377\377\377\377\277\330\364\377\0b\320\377\0b\320\377@\211\334" - "\377\377\377\377\377\277\330\364\377\0b\320\377\0b\320\377z\255\347\365\377" - "\377\377\337r\251\346\351\0b\320\377\0b\320\377d\240\343\323\377\377\377" - "\226\377\377\377\206\377\377\377u\377\377\377f\377\377\377Y\377\377\377L" - "\377\377\377B\377\377\3779\377\377\3770\377\377\377)\377\377\377\"\377\377" - "\377\33\377\377\377\26\377\377\377\21\377\377\377\16\377\377\377\13\377\377" - "\377\10\377\377\377\6\377\377\377\5\377\377\377\4\377\377\377\3\377\377\377" - "\2\377\377\377\1\377\377\377\1\377\377\377\1\377\377\377\0\377\377\377\0" - "\377\377\377\0\377\377\377\0\377\377\377\0\377\377\377\0\377\377\377\0\377" - "\377\377\0\377\377\377\0\377\377\377\0\377\377\377\0\377\377\377\0\377\377" - "\377\0\377\377\377\0\377\377\377\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\377\377\377\0\377\377\377\0\377\377\377\0\377\377\377" - "\0\377\377\377\0\377\377\377\1\377\377\377\3\377\377\377\6\377\377\377\16" - "\377\377\377\32\377\377\377.\377\377\377K\377\377\377s\377\377\377\245\377" - "\377\377\336\40v\326\377\0b\320\377\0b\320\377\0b\320\377\0b\320\377\0b\320" - "\377\0b\320\377\0b\320\377\0b\320\377\0b\320\377\0J\234\377\0\0\0\377\0\0" - "\0\377\0""1h\377\0b\320\377\177\260\350\377\377\377\377\377\277\330\364\377" - "\0b\320\377\0b\320\377\177\260\350\377\377\377\377\377\177\260\350\377\0" - "b\320\377\0b\320\377\277\330\364\377\377\377\377\377@\211\334\377\0b\320" - "\377\0b\320\377\377\377\377\377\377\377\377\377\0b\320\377\0b\320\377\0b" - "\320\377\377\377\377\377\277\330\364\377\0b\320\377\0b\320\377@\211\334\377" - "\377\377\377\377\276\327\363\373\0b\320\377\0b\320\377q\250\345\347\377\377" - "\377\276w\253\346\322F\215\335\334\265\322\362\245\377\377\377\201\377\377" - "\377q\377\377\377b\377\377\377T\377\377\377G\377\377\377;\377\377\3772\377" - "\377\377)\377\377\377#\377\377\377\35\377\377\377\27\377\377\377\23\377\377" - "\377\17\377\377\377\13\377\377\377\11\377\377\377\6\377\377\377\5\377\377" - "\377\4\377\377\377\3\377\377\377\2\377\377\377\1\377\377\377\1\377\377\377" - "\1\377\377\377\0\377\377\377\0\377\377\377\0\377\377\377\0\377\377\377\0" - "\377\377\377\0\377\377\377\0\377\377\377\0\377\377\377\0\377\377\377\0\377" - "\377\377\0\377\377\377\0\377\377\377\0\377\377\377\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\377\377\377\0\377\377\377\0\377\377\377\0\377\377\377\0\377\377\377" - "\0\377\377\377\2\377\377\377\4\377\377\377\11\377\377\377\23\377\377\377" - "\"\377\377\377;\377\377\377]\377\377\377\213\377\377\377\301\237\304\356" - "\376\0b\320\377\0b\320\377\0b\320\377\0b\320\377\0b\320\377\0b\320\377\0" - "b\320\377\0b\320\377\0b\320\377\0J\234\377\0\0\0\377\0\0\0\377\0""1h\377" - "\0b\320\377\177\260\350\377\377\377\377\377\277\330\364\377\0b\320\377\0" - "b\320\377\177\260\350\377\377\377\377\377\177\260\350\377\0b\320\377\0b\320" - "\377\277\330\364\377\377\377\377\377@\211\334\377\0b\320\377\0b\320\377\377" - "\377\377\377\377\377\377\377\0b\320\377\0b\320\377\0b\320\377\377\377\377" - "\377\277\330\364\377\0b\320\377\0b\320\377@\211\334\377\377\377\377\360\271" - "\324\362\347\0b\320\377\0b\320\377f\241\343\326\377\377\377\233\377\377\377" - "\213\377\377\377{\377\377\377l\377\377\377^\377\377\377P\377\377\377C\377" - "\377\3777\377\377\377-\377\377\377%\377\377\377\36\377\377\377\30\377\377" - "\377\23\377\377\377\17\377\377\377\14\377\377\377\11\377\377\377\7\377\377" - "\377\5\377\377\377\4\377\377\377\3\377\377\377\2\377\377\377\1\377\377\377" - "\1\377\377\377\0\377\377\377\0\377\377\377\0\377\377\377\0\377\377\377\0" - "\377\377\377\0\377\377\377\0\377\377\377\0\377\377\377\0\377\377\377\0\377" - "\377\377\0\377\377\377\0\377\377\377\0\377\377\377\0\377\377\377\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\377\377\377\0\377\377" - "\377\0\377\377\377\0\377\377\377\0\377\377\377\1\377\377\377\2\377\377\377" - "\6\377\377\377\15\377\377\377\31\377\377\377-\377\377\377K\377\377\377t\377" - "\377\377\246\377\377\377\341\20l\323\377\0b\320\377\0b\320\377\0b\320\377" - "\0b\320\377\0b\320\377\0b\320\377\0b\320\377\0b\320\377\0J\234\377\0\0\0" - "\377\0\0\0\377\0""1h\377\0b\320\377\177\260\350\377\377\377\377\377\277\330" - "\364\377\0b\320\377\0b\320\377\177\260\350\377\377\377\377\377\177\260\350" - "\377\0b\320\377\0b\320\377\277\330\364\377\377\377\377\377@\211\334\377\0" - "b\320\377\0b\320\377\377\377\377\377\377\377\377\377\0b\320\377\0b\320\377" - "\0b\320\377\377\377\377\377\277\330\364\377\0b\320\377\0b\320\377;\207\333" - "\371\377\377\377\324\261\317\361\320\0b\320\377D\214\335\332\311\336\366" - "\230\377\377\377x\377\377\377h\377\377\377Y\377\377\377L\377\377\377@\377" - "\377\3775\377\377\377+\377\377\377\"\377\377\377\33\377\377\377\25\377\377" - "\377\20\377\377\377\15\377\377\377\12\377\377\377\10\377\377\377\6\377\377" - "\377\4\377\377\377\3\377\377\377\2\377\377\377\1\377\377\377\1\377\377\377" - "\0\377\377\377\0\377\377\377\0\377\377\377\0\377\377\377\0\377\377\377\0" - "\377\377\377\0\377\377\377\0\377\377\377\0\377\377\377\0\377\377\377\0\377" - "\377\377\0\377\377\377\0\377\377\377\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\377\377\377\0\377" - "\377\377\0\377\377\377\0\377\377\377\0\377\377\377\0\377\377\377\1\377\377" - "\377\4\377\377\377\11\377\377\377\22\377\377\377\"\377\377\377;\377\377\377" - "_\377\377\377\216\377\377\377\306\177\260\350\377\0b\320\377\0b\320\377\0" - "b\320\377\0b\320\377\0b\320\377\0b\320\377\0b\320\377\0b\320\377\0J\234\377" - "\0\0\0\377\0\0\0\377\0""1h\377\0b\320\377\177\260\350\377\377\377\377\377" - "\277\330\364\377\0b\320\377\0b\320\377\177\260\350\377\377\377\377\377\177" - "\260\350\377\0b\320\377\0b\320\377\277\330\364\377\377\377\377\377@\211\334" - "\377\0b\320\377\0b\320\377\377\377\377\377\377\377\377\377\0b\320\377\0b" - "\320\377\0b\320\377\377\377\377\377\277\330\364\377\0b\320\377\0b\320\377" - "5\203\332\362\377\377\377\264\317\342\367\253\312\337\366\231\377\377\377" - "x\377\377\377g\377\377\377W\377\377\377I\377\377\377<\377\377\3772\377\377" - "\377(\377\377\377\40\377\377\377\31\377\377\377\23\377\377\377\17\377\377" - "\377\13\377\377\377\10\377\377\377\6\377\377\377\4\377\377\377\3\377\377" - "\377\2\377\377\377\2\377\377\377\1\377\377\377\1\377\377\377\0\377\377\377" - "\0\377\377\377\0\377\377\377\0\377\377\377\0\377\377\377\0\377\377\377\0" - "\377\377\377\0\377\377\377\0\377\377\377\0\377\377\377\0\377\377\377\0\377" - "\377\377\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\377\377\377\0" - "\377\377\377\0\377\377\377\0\377\377\377\0\377\377\377\1\377\377\377\2\377" - "\377\377\6\377\377\377\15\377\377\377\32\377\377\377/\377\377\377M\377\377" - "\377x\377\377\377\254\356\365\374\351\0b\320\377\0b\320\377\0b\320\377\0" - "b\320\377\0b\320\377\0b\320\377\0b\320\377\0b\320\377\0J\234\377\0\0\0\377" - "\0\0\0\377\0""1h\377\0b\320\377\177\260\350\377\377\377\377\377\277\330\364" - "\377\0b\320\377\0b\320\377\177\260\350\377\377\377\377\377\177\260\350\377" - "\0b\320\377\0b\320\377\277\330\364\377\377\377\377\377@\211\334\377\0b\320" - "\377\0b\320\377\377\377\377\377\377\377\377\377\0b\320\377\0b\320\377\0b" - "\320\377\377\377\377\366\272\325\363\353\0b\320\377\0b\320\377V\227\340\330" - "\377\377\377\221\377\377\377|\377\377\377i\377\377\377X\377\377\377H\377" - "\377\377;\377\377\3770\377\377\377&\377\377\377\36\377\377\377\27\377\377" - "\377\22\377\377\377\16\377\377\377\12\377\377\377\7\377\377\377\5\377\377" - "\377\4\377\377\377\2\377\377\377\2\377\377\377\1\377\377\377\1\377\377\377" - "\0\377\377\377\0\377\377\377\0\377\377\377\0\377\377\377\0\377\377\377\0" - "\377\377\377\0\377\377\377\0\377\377\377\0\377\377\377\0\377\377\377\0\377" - "\377\377\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\377\377\377\0\377\377\377\0\377\377\377\0\377\377\377" - "\0\377\377\377\0\377\377\377\1\377\377\377\4\377\377\377\11\377\377\377\23" - "\377\377\377$\377\377\377?\377\377\377d\377\377\377\224\377\377\377\316`" - "\235\342\377\0b\320\377\0b\320\377\0b\320\377\0b\320\377\0b\320\377\0b\320" - "\377\0b\320\377\0J\234\377\0\0\0\377\0\0\0\377\0""1h\377\0b\320\377\177\260" - "\350\377\377\377\377\377\277\330\364\377\0b\320\377\0b\320\377\177\260\350" - "\377\377\377\377\377\177\260\350\377\0b\320\377\0b\320\377\277\330\364\377" - "\377\377\377\377@\211\334\377\0b\320\377\0b\320\377\377\377\377\377\377\377" - "\377\377\0b\320\377\0b\320\377\0b\320\377\377\377\377\330\262\320\361\323" - "\13i\322\372\221\273\353\271\377\377\377\203\377\377\377o\377\377\377\\\377" - "\377\377K\377\377\377<\377\377\3770\377\377\377&\377\377\377\35\377\377\377" - "\26\377\377\377\21\377\377\377\15\377\377\377\11\377\377\377\7\377\377\377" - "\5\377\377\377\3\377\377\377\2\377\377\377\1\377\377\377\1\377\377\377\0" - "\377\377\377\0\377\377\377\0\377\377\377\0\377\377\377\0\377\377\377\0\377" - "\377\377\0\377\377\377\0\377\377\377\0\377\377\377\0\377\377\377\0\377\377" - "\377\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\377\377\377\0\377\377\377" - "\0\377\377\377\0\377\377\377\0\377\377\377\1\377\377\377\3\377\377\377\7" - "\377\377\377\16\377\377\377\34\377\377\3772\377\377\377S\377\377\377\177" - "\377\377\377\265\275\326\363\366\0b\320\377\0b\320\377\0b\320\377\0b\320" - "\377\0b\320\377\0b\320\377\0b\320\377\0J\234\377\0\0\0\377\0\0\0\377\0""1" - "h\377\0b\320\377\177\260\350\377\377\377\377\377\277\330\364\377\0b\320\377" - "\0b\320\377\177\260\350\377\377\377\377\377\177\260\350\377\0b\320\377\0" - "b\320\377\277\330\364\377\377\377\377\377@\211\334\377\0b\320\377\0b\320" - "\377\377\377\377\377\377\377\377\366\0b\320\377\0b\320\377\0b\320\377\377" - "\377\377\266\347\360\373\247\343\356\372\222\377\377\377v\377\377\377b\377" - "\377\377P\377\377\377@\377\377\3772\377\377\377'\377\377\377\35\377\377\377" - "\26\377\377\377\20\377\377\377\14\377\377\377\11\377\377\377\6\377\377\377" - "\4\377\377\377\3\377\377\377\2\377\377\377\1\377\377\377\1\377\377\377\0" - "\377\377\377\0\377\377\377\0\377\377\377\0\377\377\377\0\377\377\377\0\377" - "\377\377\0\377\377\377\0\377\377\377\0\377\377\377\0\377\377\377\0\377\377" - "\377\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\377\377\377" - "\0\377\377\377\0\377\377\377\0\377\377\377\0\377\377\377\0\377\377\377\2" - "\377\377\377\5\377\377\377\12\377\377\377\25\377\377\377(\377\377\377D\377" - "\377\377l\377\377\377\236\377\377\377\331\40v\326\377\0b\320\377\0b\320\377" - "\0b\320\377\0b\320\377\0b\320\377\0b\320\377\0J\234\377\0\0\0\377\0\0\0\377" - "\0""1h\377\0b\320\377\177\260\350\377\377\377\377\377\277\330\364\377\0b" - "\320\377\0b\320\377\177\260\350\377\377\377\377\377\177\260\350\377\0b\320" - "\377\0b\320\377\277\330\364\377\377\377\377\377@\211\334\377\0b\320\377\0" - "b\320\377\377\377\377\353\377\377\377\334\0b\320\377\0b\320\377-~\331\351" - "\377\377\377\222\377\377\377}\377\377\377i\377\377\377V\377\377\377E\377" - "\377\3776\377\377\377)\377\377\377\37\377\377\377\27\377\377\377\21\377\377" - "\377\14\377\377\377\11\377\377\377\6\377\377\377\4\377\377\377\3\377\377" - "\377\2\377\377\377\1\377\377\377\0\377\377\377\0\377\377\377\0\377\377\377" - "\0\377\377\377\0\377\377\377\0\377\377\377\0\377\377\377\0\377\377\377\0" - "\377\377\377\0\377\377\377\0\377\377\377\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\377\377\377\0" - "\377\377\377\0\377\377\377\0\377\377\377\0\377\377\377\1\377\377\377\3\377" - "\377\377\10\377\377\377\20\377\377\377\37\377\377\3777\377\377\377[\377\377" - "\377\211\377\377\377\302\217\272\353\377\0b\320\377\0b\320\377\0b\320\377" - "\0b\320\377\0b\320\377\0b\320\377\0J\234\377\0\0\0\377\0\0\0\377\0""1h\377" - "\0b\320\377\177\260\350\377\377\377\377\377\277\330\364\377\0b\320\377\0" - "b\320\377\177\260\350\377\377\377\377\377\177\260\350\377\0b\320\377\0b\320" - "\377\277\330\364\377\377\377\377\377@\211\334\377\0b\320\377\0b\320\377\377" - "\377\377\321\377\377\377\276\12i\322\372~\260\350\276\377\377\377\203\377" - "\377\377o\377\377\377\\\377\377\377J\377\377\377;\377\377\377-\377\377\377" - "\"\377\377\377\31\377\377\377\22\377\377\377\15\377\377\377\11\377\377\377" - "\6\377\377\377\4\377\377\377\3\377\377\377\2\377\377\377\1\377\377\377\0" - "\377\377\377\0\377\377\377\0\377\377\377\0\377\377\377\0\377\377\377\0\377" - "\377\377\0\377\377\377\0\377\377\377\0\377\377\377\0\377\377\377\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\377\377\377\0\377\377\377\0\377\377\377" - "\0\377\377\377\0\377\377\377\0\377\377\377\2\377\377\377\5\377\377\377\14" - "\377\377\377\30\377\377\377-\377\377\377L\377\377\377v\377\377\377\254\335" - "\352\371\353\0b\320\377\0b\320\377\0b\320\377\0b\320\377\0b\320\377\0b\320" - "\377\0J\234\377\0\0\0\377\0\0\0\377\0""1h\377\0b\320\377\177\260\350\377" - "\377\377\377\377\277\330\364\377\0b\320\377\0b\320\377\177\260\350\377\377" - "\377\377\377\177\260\350\377\0b\320\377\0b\320\377\277\330\364\377\377\377" - "\377\374<\207\333\373\0b\320\377\0b\320\377\377\377\377\263\377\377\377\235" - "\377\377\377\210\377\377\377t\377\377\377a\377\377\377P\377\377\377@\377" - "\377\3772\377\377\377&\377\377\377\34\377\377\377\24\377\377\377\16\377\377" - "\377\12\377\377\377\6\377\377\377\4\377\377\377\3\377\377\377\2\377\377\377" - "\1\377\377\377\0\377\377\377\0\377\377\377\0\377\377\377\0\377\377\377\0" - "\377\377\377\0\377\377\377\0\377\377\377\0\377\377\377\0\377\377\377\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\377" - "\377\377\0\377\377\377\0\377\377\377\0\377\377\377\0\377\377\377\1\377\377" - "\377\4\377\377\377\11\377\377\377\23\377\377\377$\377\377\377?\377\377\377" - "e\377\377\377\227\377\377\377\322P\223\337\377\0b\320\377\0b\320\377\0b\320" - "\377\0b\320\377\0b\320\377\0J\234\377\0\0\0\377\0\0\0\377\0""1h\377\0b\320" - "\377\177\260\350\377\377\377\377\377\277\330\364\377\0b\320\377\0b\320\377" - "\177\260\350\377\377\377\377\377\177\260\350\377\0b\320\377\0b\320\377\276" - "\327\363\372\377\377\377\3507\204\333\365\0b\320\377\12i\322\372\377\377" - "\377\223\377\377\377}\377\377\377h\377\377\377U\377\377\377E\377\377\377" - "6\377\377\377)\377\377\377\37\377\377\377\26\377\377\377\20\377\377\377\13" - "\377\377\377\7\377\377\377\5\377\377\377\3\377\377\377\2\377\377\377\1\377" - "\377\377\0\377\377\377\0\377\377\377\0\377\377\377\0\377\377\377\0\377\377" - "\377\0\377\377\377\0\377\377\377\0\377\377\377\0\377\377\377\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\377\377\377\0\377\377\377\0\377\377\377\0\377\377\377\0\377\377\377" - "\1\377\377\377\3\377\377\377\7\377\377\377\16\377\377\377\35\377\377\377" - "4\377\377\377V\377\377\377\204\377\377\377\274\236\303\356\374\0b\320\377" - "\0b\320\377\0b\320\377\0b\320\377\0b\320\377\0J\234\377\0\0\0\377\0\0\0\377" - "\0""1h\377\0b\320\377\177\260\350\377\377\377\377\377\277\330\364\377\0b" - "\320\377\0b\320\377\177\260\350\377\377\377\377\377\177\260\350\377\0b\320" - "\377\0b\320\377\272\324\363\353\377\377\377\3171\201\332\356\40v\326\356" - "\263\320\361\240\377\377\377s\377\377\377^\377\377\377K\377\377\377;\377" - "\377\377-\377\377\377\"\377\377\377\31\377\377\377\22\377\377\377\14\377" - "\377\377\10\377\377\377\5\377\377\377\3\377\377\377\2\377\377\377\1\377\377" - "\377\0\377\377\377\0\377\377\377\0\377\377\377\0\377\377\377\0\377\377\377" - "\0\377\377\377\0\377\377\377\0\377\377\377\0\377\377\377\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\377\377\377\0\377\377\377\0\377\377\377\0\377\377\377" - "\0\377\377\377\0\377\377\377\2\377\377\377\5\377\377\377\13\377\377\377\27" - "\377\377\377*\377\377\377H\377\377\377r\377\377\377\250\356\365\374\346\0" - "b\320\377\0b\320\377\0b\320\377\0b\320\377\0b\320\377\0J\234\377\0\0\0\377" - "\0\0\0\377\0""1h\377\0b\320\377\177\260\350\377\377\377\377\377\277\330\364" - "\377\0b\320\377\0b\320\377\177\260\350\377\377\377\377\377\177\260\350\377" - "\0b\320\377\0b\320\377\264\321\362\330\377\377\377\263\200\261\350\301\377" - "\377\377\202\377\377\377k\377\377\377V\377\377\377C\377\377\3774\377\377" - "\377'\377\377\377\34\377\377\377\24\377\377\377\16\377\377\377\12\377\377" - "\377\6\377\377\377\4\377\377\377\2\377\377\377\1\377\377\377\1\377\377\377" - "\0\377\377\377\0\377\377\377\0\377\377\377\0\377\377\377\0\377\377\377\0" - "\377\377\377\0\377\377\377\0\377\377\377\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\377\377\377\0\377\377\377\0\377\377\377\0\377" - "\377\377\0\377\377\377\1\377\377\377\3\377\377\377\10\377\377\377\22\377" - "\377\377\"\377\377\377=\377\377\377c\377\377\377\225\377\377\377\320P\223" - "\337\377\0b\320\377\0b\320\377\0b\320\377\0b\320\377\0J\234\377\0\0\0\377" - "\0\0\0\377\0""1h\377\0b\320\377\177\260\350\377\377\377\377\377\277\330\364" - "\377\0b\320\377\0b\320\377\177\260\350\377\377\377\377\377{\256\347\370\0" - "b\320\377\0b\320\377\254\314\360\304\377\377\377\226\377\377\377}\377\377" - "\377e\377\377\377P\377\377\377=\377\377\377.\377\377\377!\377\377\377\30" - "\377\377\377\20\377\377\377\13\377\377\377\7\377\377\377\5\377\377\377\3" - "\377\377\377\2\377\377\377\1\377\377\377\0\377\377\377\0\377\377\377\0\377" - "\377\377\0\377\377\377\0\377\377\377\0\377\377\377\0\377\377\377\0\377\377" - "\377\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\377\377\377\0\377\377\377\0\377\377\377\0\377\377\377\0\377\377\377" - "\1\377\377\377\2\377\377\377\6\377\377\377\16\377\377\377\34\377\377\377" - "3\377\377\377U\377\377\377\203\377\377\377\274\236\304\356\375\0b\320\377" - "\0b\320\377\0b\320\377\0b\320\377\0J\234\377\0\0\0\377\0\0\0\377\0""1h\377" - "\0b\320\377\177\260\350\377\377\377\377\377\277\330\364\377\0b\320\377\0" - "b\320\377\177\260\350\377\377\377\377\360v\253\346\356\0b\320\377\0b\320" - "\377\266\322\362\250\377\377\377y\377\377\377a\377\377\377K\377\377\3778" - "\377\377\377)\377\377\377\36\377\377\377\24\377\377\377\16\377\377\377\11" - "\377\377\377\6\377\377\377\3\377\377\377\2\377\377\377\1\377\377\377\0\377" - "\377\377\0\377\377\377\0\377\377\377\0\377\377\377\0\377\377\377\0\377\377" - "\377\0\377\377\377\0\377\377\377\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\377\377\377\0" - "\377\377\377\0\377\377\377\0\377\377\377\0\377\377\377\2\377\377\377\5\377" - "\377\377\13\377\377\377\27\377\377\377*\377\377\377I\377\377\377t\377\377" - "\377\251\334\352\371\352\0b\320\377\0b\320\377\0b\320\377\0b\320\377\0J\234" - "\377\0\0\0\377\0\0\0\377\0""1h\377\0b\320\377\177\260\350\377\377\377\377" - "\377\277\330\364\377\0b\320\377\0b\320\377{\256\347\370\377\377\377\333n" - "\246\345\342\12i\322\372{\256\347\272\377\377\377w\377\377\377^\377\377\377" - "H\377\377\3775\377\377\377&\377\377\377\33\377\377\377\22\377\377\377\14" - "\377\377\377\7\377\377\377\4\377\377\377\3\377\377\377\1\377\377\377\1\377" - "\377\377\0\377\377\377\0\377\377\377\0\377\377\377\0\377\377\377\0\377\377" - "\377\0\377\377\377\0\377\377\377\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\377\377\377\0\377\377\377\0\377\377\377\0\377\377\377\0\377\377\377\1" - "\377\377\377\3\377\377\377\10\377\377\377\22\377\377\377#\377\377\377>\377" - "\377\377e\377\377\377\230\377\377\377\3240\200\331\377\0b\320\377\0b\320" - "\377\0b\320\377\0J\234\377\0\0\0\377\0\0\0\377\0""1h\377\0b\320\377\177\260" - "\350\377\377\377\377\377\277\330\364\377\0b\320\377\0b\320\377v\253\346\357" - "\377\377\377\304u\252\346\317\264\321\362\244\377\377\377t\377\377\377\\" - "\377\377\377F\377\377\3773\377\377\377$\377\377\377\30\377\377\377\20\377" - "\377\377\12\377\377\377\6\377\377\377\4\377\377\377\2\377\377\377\1\377\377" - "\377\0\377\377\377\0\377\377\377\0\377\377\377\0\377\377\377\0\377\377\377" - "\0\377\377\377\0\377\377\377\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\377\377\377\0\377\377\377\0\377\377\377\0\377\377\377\0\377" - "\377\377\1\377\377\377\2\377\377\377\6\377\377\377\16\377\377\377\35\377" - "\377\3775\377\377\377X\377\377\377\210\377\377\377\301\177\260\350\377\0" - "b\320\377\0b\320\377\0b\320\377\0J\234\377\0\0\0\377\0\0\0\377\0""1h\377" - "\0b\320\377\177\260\350\377\377\377\377\377\277\330\364\377\0b\320\377\0" - "b\320\377o\247\345\344\377\377\377\254\377\377\377\217\377\377\377s\377\377" - "\377Z\377\377\377D\377\377\3771\377\377\377#\377\377\377\27\377\377\377\17" - "\377\377\377\11\377\377\377\5\377\377\377\3\377\377\377\2\377\377\377\1\377" - "\377\377\0\377\377\377\0\377\377\377\0\377\377\377\0\377\377\377\0\377\377" - "\377\0\377\377\377\0\377\377\377\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\377\377\377\0\377\377\377\0\377\377\377" - "\0\377\377\377\0\377\377\377\2\377\377\377\5\377\377\377\14\377\377\377\30" - "\377\377\377-\377\377\377L\377\377\377y\377\377\377\260\314\340\366\361\0" - "b\320\377\0b\320\377\0b\320\377\0J\234\377\0\0\0\377\0\0\0\377\0""1h\377" - "\0b\320\377\177\260\350\377\377\377\377\377\277\330\364\377\0b\320\377\0" - "b\320\377h\242\344\330\377\377\377\223\377\377\377u\377\377\377[\377\377" - "\377C\377\377\3770\377\377\377\"\377\377\377\26\377\377\377\16\377\377\377" - "\11\377\377\377\5\377\377\377\3\377\377\377\1\377\377\377\0\377\377\377\0" - "\377\377\377\0\377\377\377\0\377\377\377\0\377\377\377\0\377\377\377\0\377" - "\377\377\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\377\377\377\0\377\377\377\0\377\377\377\0\377" - "\377\377\0\377\377\377\1\377\377\377\4\377\377\377\11\377\377\377\23\377" - "\377\377&\377\377\377B\377\377\377k\377\377\377\237\377\377\377\334\20l\323" - "\377\0b\320\377\0b\320\377\0J\234\377\0\0\0\377\0\0\0\377\0""1h\377\0b\320" - "\377\177\260\350\377\377\377\377\377\275\327\363\370\0b\320\377\0b\320\377" - "n\246\345\305\377\377\377z\377\377\377^\377\377\377E\377\377\3771\377\377" - "\377!\377\377\377\26\377\377\377\16\377\377\377\10\377\377\377\5\377\377" - "\377\2\377\377\377\1\377\377\377\0\377\377\377\0\377\377\377\0\377\377\377" - "\0\377\377\377\0\377\377\377\0\377\377\377\0\377\377\377\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\377\377\377\0\377\377\377\0\377\377\377\0\377\377\377\0\377\377" - "\377\1\377\377\377\3\377\377\377\7\377\377\377\20\377\377\377\40\377\377" - "\3779\377\377\377^\377\377\377\217\377\377\377\312P\223\337\377\0b\320\377" - "\0b\320\377\0J\234\377\0\0\0\377\0\0\0\377\0""1h\377\0b\320\377\177\260\350" - "\377\377\377\377\377\271\324\363\351\0b\320\3778\204\333\341\377\377\377" - "~\377\377\377b\377\377\377I\377\377\3773\377\377\377\"\377\377\377\26\377" - "\377\377\16\377\377\377\10\377\377\377\4\377\377\377\2\377\377\377\1\377" - "\377\377\0\377\377\377\0\377\377\377\0\377\377\377\0\377\377\377\0\377\377" - "\377\0\377\377\377\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\377\377\377" - "\0\377\377\377\0\377\377\377\0\377\377\377\0\377\377\377\0\377\377\377\2" - "\377\377\377\6\377\377\377\15\377\377\377\32\377\377\3771\377\377\377S\377" - "\377\377\201\377\377\377\272\235\303\355\373\0b\320\377\0b\320\377\0J\234" - "\377\0\0\0\377\0\0\0\377\0""1h\377\0b\320\377\177\260\350\377\377\377\377" - "\371\264\321\362\331!w\326\357\342\355\372\214\377\377\377f\377\377\377L" - "\377\377\3776\377\377\377%\377\377\377\27\377\377\377\16\377\377\377\10\377" - "\377\377\4\377\377\377\2\377\377\377\1\377\377\377\0\377\377\377\0\377\377" - "\377\0\377\377\377\0\377\377\377\0\377\377\377\0\377\377\377\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\377\377\377\0\377\377\377" - "\0\377\377\377\0\377\377\377\0\377\377\377\1\377\377\377\4\377\377\377\12" - "\377\377\377\26\377\377\377*\377\377\377H\377\377\377s\377\377\377\252\334" - "\352\371\352\0b\320\377\0b\320\377\0J\234\377\0\0\0\377\0\0\0\377\0""1h\377" - "\0b\320\377\177\260\350\377\377\377\377\347\301\331\364\305\264\321\362\243" - "\377\377\377l\377\377\377P\377\377\3779\377\377\377'\377\377\377\31\377\377" - "\377\17\377\377\377\11\377\377\377\5\377\377\377\2\377\377\377\1\377\377" - "\377\0\377\377\377\0\377\377\377\0\377\377\377\0\377\377\377\0\377\377\377" - "\0\377\377\377\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\377\377\377\0\377\377\377\0\377\377\377\0\377\377\377\0\377\377" - "\377\1\377\377\377\3\377\377\377\10\377\377\377\22\377\377\377$\377\377\377" - "?\377\377\377g\377\377\377\233\377\377\377\326\40v\326\377\0b\320\377\0J" - "\234\377\0\0\0\377\0\0\0\377\0""1h\377\0b\320\377\177\260\350\377\377\377" - "\377\324\377\377\377\242\377\377\377x\377\377\377W\377\377\377=\377\377\377" - ")\377\377\377\33\377\377\377\21\377\377\377\11\377\377\377\5\377\377\377" - "\2\377\377\377\1\377\377\377\0\377\377\377\0\377\377\377\0\377\377\377\0" - "\377\377\377\0\377\377\377\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\377\377\377\0\377\377\377\0\377\377" - "\377\0\377\377\377\0\377\377\377\1\377\377\377\3\377\377\377\7\377\377\377" - "\17\377\377\377\36\377\377\3777\377\377\377\\\377\377\377\214\377\377\377" - "\306`\235\342\377\0b\320\377\0J\234\377\0\0\0\377\0\0\0\377\0""1h\377\0b" - "\320\377~\260\350\375\377\377\377\302\377\377\377\220\377\377\377e\377\377" - "\377E\377\377\377.\377\377\377\35\377\377\377\22\377\377\377\12\377\377\377" - "\6\377\377\377\3\377\377\377\1\377\377\377\0\377\377\377\0\377\377\377\0" - "\377\377\377\0\377\377\377\0\377\377\377\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\377\377" - "\377\0\377\377\377\0\377\377\377\0\377\377\377\0\377\377\377\2\377\377\377" - "\5\377\377\377\14\377\377\377\32\377\377\3770\377\377\377Q\377\377\377\177" - "\377\377\377\266\234\302\355\367\0b\320\377\0J\234\377\0\0\0\377\0\0\0\377" - "\0""1h\377\0b\320\377y\255\347\364\377\377\377\261\377\377\377~\377\377\377" - "U\377\377\3777\377\377\377\"\377\377\377\24\377\377\377\14\377\377\377\6" - "\377\377\377\3\377\377\377\1\377\377\377\0\377\377\377\0\377\377\377\0\377" - "\377\377\0\377\377\377\0\377\377\377\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\377" - "\377\377\0\377\377\377\0\377\377\377\0\377\377\377\0\377\377\377\1\377\377" - "\377\4\377\377\377\12\377\377\377\26\377\377\377*\377\377\377H\377\377\377" - "s\377\377\377\247\312\337\366\346\0b\320\377\0J\234\377\0\0\0\377\0\0\0\377" - "\0""1h\377\0b\320\377\225\276\354\346\377\377\377\240\377\377\377o\377\377" - "\377H\377\377\377,\377\377\377\31\377\377\377\16\377\377\377\7\377\377\377" - "\4\377\377\377\2\377\377\377\0\377\377\377\0\377\377\377\0\377\377\377\0" - "\377\377\377\0\377\377\377\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\377" - "\377\377\0\377\377\377\0\377\377\377\0\377\377\377\0\377\377\377\1\377\377" - "\377\3\377\377\377\10\377\377\377\22\377\377\377$\377\377\377@\377\377\377" - "g\377\377\377\230\377\377\377\317\20l\323\377\0J\234\377\0\0\0\377\0\0\0" - "\377\0""1h\377\37u\326\377\377\377\377\304\377\377\377\217\377\377\377a\377" - "\377\377=\377\377\377#\377\377\377\23\377\377\377\12\377\377\377\5\377\377" - "\377\2\377\377\377\1\377\377\377\0\377\377\377\0\377\377\377\0\377\377\377" - "\0\377\377\377\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\377\377" - "\377\0\377\377\377\0\377\377\377\0\377\377\377\0\377\377\377\1\377\377\377" - "\3\377\377\377\7\377\377\377\20\377\377\377\37\377\377\3778\377\377\377\\" - "\377\377\377\212\377\377\377\277=\210\334\374\0J\234\377\0\0\0\377\0\0\0" - "\377\0""1h\377\230\300\355\357\377\377\377\262\377\377\377\177\377\377\377" - "T\377\377\3773\377\377\377\35\377\377\377\17\377\377\377\7\377\377\377\3" - "\377\377\377\1\377\377\377\0\377\377\377\0\377\377\377\0\377\377\377\0\377" - "\377\377\0\377\377\377\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\377\377\377\0\377\377\377\0\377\377\377\0\377\377\377\0\377\377" - "\377\2\377\377\377\6\377\377\377\15\377\377\377\33\377\377\3771\377\377\377" - "R\377\377\377}\377\377\377\256v\253\346\357\0J\234\377\0\0\0\377\0\0\0\377" - "\37Dm\377\377\377\377\321\377\377\377\240\377\377\377q\377\377\377I\377\377" - "\377+\377\377\377\27\377\377\377\14\377\377\377\5\377\377\377\2\377\377\377" - "\0\377\377\377\0\377\377\377\0\377\377\377\0\377\377\377\0\377\377\377\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\377\377" - "\377\0\377\377\377\0\377\377\377\0\377\377\377\0\377\377\377\2\377\377\377" - "\5\377\377\377\13\377\377\377\27\377\377\377+\377\377\377H\377\377\377p\377" - "\377\377\236\264\321\362\331\0J\234\377\0\0\0\377\0\0\0\377yyy\363\377\377" - "\377\277\377\377\377\220\377\377\377d\377\377\377?\377\377\377%\377\377\377" - "\23\377\377\377\11\377\377\377\4\377\377\377\1\377\377\377\0\377\377\377" - "\0\377\377\377\0\377\377\377\0\377\377\377\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\377\377\377\0\377\377\377\0" - "\377\377\377\0\377\377\377\0\377\377\377\1\377\377\377\4\377\377\377\11\377" - "\377\377\23\377\377\377%\377\377\377@\377\377\377e\377\377\377\220\352\362" - "\374\300\0J\234\377\0\0\0\377\0\0\0\377ttt\353\377\377\377\260\377\377\377" - "\204\377\377\377Z\377\377\3778\377\377\377\40\377\377\377\20\377\377\377" - "\7\377\377\377\3\377\377\377\1\377\377\377\0\377\377\377\0\377\377\377\0" - "\377\377\377\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\377\377\377\0\377\377\377\0\377\377\377\0\377\377" - "\377\0\377\377\377\1\377\377\377\3\377\377\377\10\377\377\377\21\377\377" - "\377\40\377\377\3779\377\377\377[\377\377\377\203\377\377\377\254(a\242\366" - "\0\0\0\377\0\0\0\377ooo\343\377\377\377\243\377\377\377y\377\377\377R\377" - "\377\3772\377\377\377\34\377\377\377\16\377\377\377\6\377\377\377\2\377\377" - "\377\1\377\377\377\0\377\377\377\0\377\377\377\0\377\377\377\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\377\377\377\0\377\377\377\0\377\377\377\0\377\377\377\1\377\377\377" - "\2\377\377\377\6\377\377\377\16\377\377\377\35\377\377\3773\377\377\377R" - "\377\377\377x\377\377\377\240Ox\246\350\0\0\0\377\0\0\0\377lll\336\377\377" - "\377\232\377\377\377r\377\377\377M\377\377\377/\377\377\377\32\377\377\377" - "\15\377\377\377\6\377\377\377\2\377\377\377\0\377\377\377\0\377\377\377\0" - "\377\377\377\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\377\377\377\0\377\377\377\0\377\377" - "\377\0\377\377\377\0\377\377\377\2\377\377\377\5\377\377\377\15\377\377\377" - "\31\377\377\377.\377\377\377K\377\377\377o\377\377\377\225y\217\250\326\0" - "\0\0\377\0\0\0\377iii\332\377\377\377\223\377\377\377m\377\377\377I\377\377" - "\377,\377\377\377\30\377\377\377\14\377\377\377\5\377\377\377\2\377\377\377" - "\0\377\377\377\0\377\377\377\0\377\377\377\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\377" - "\377\377\0\377\377\377\0\377\377\377\0\377\377\377\0\377\377\377\2\377\377" - "\377\5\377\377\377\13\377\377\377\27\377\377\377*\377\377\377F\377\377\377" - "h\377\377\377\215\253\253\253\301\0\0\0\377\0\0\0\377ggg\327\377\377\377" - "\216\377\377\377j\377\377\377G\377\377\377+\377\377\377\27\377\377\377\13" - "\377\377\377\5\377\377\377\2\377\377\377\0\377\377\377\0\377\377\377\0\377" - "\377\377\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\377\377\377\0\377\377\377\0\377\377\377" - "\0\377\377\377\0\377\377\377\1\377\377\377\4\377\377\377\12\377\377\377\25" - "\377\377\377(\377\377\377B\377\377\377c\377\377\377\207\250\250\250\275\0" - "\0\0\377\0\0\0\377eee\324\377\377\377\213\377\377\377g\377\377\377F\377\377" - "\377*\377\377\377\27\377\377\377\13\377\377\377\5\377\377\377\2\377\377\377" - "\0\377\377\377\0\377\377\377\0\377\377\377\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\377" - "\377\377\0\377\377\377\0\377\377\377\0\377\377\377\0\377\377\377\1\377\377" - "\377\4\377\377\377\12\377\377\377\24\377\377\377&\377\377\377?\377\377\377" - "`\377\377\377\203\247\247\247\271\0\0\0\377\0\0\0\377ddd\323\377\377\377" - "\211\377\377\377f\377\377\377E\377\377\377*\377\377\377\27\377\377\377\13" - "\377\377\377\5\377\377\377\2\377\377\377\0\377\377\377\0\377\377\377\0\377" - "\377\377\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\377\377\377\0\377\377\377\0\377\377\377" - "\0\377\377\377\0\377\377\377\1\377\377\377\4\377\377\377\11\377\377\377\24" - "\377\377\377%\377\377\377>\377\377\377^\377\377\377\200\246\246\246\267\0" - "\0\0\377\0\0\0\377ccc\322\377\377\377\210\377\377\377e\377\377\377D\377\377" - "\377)\377\377\377\27\377\377\377\13\377\377\377\5\377\377\377\2\377\377\377" - "\0\377\377\377\0\377\377\377\0\377\377\377\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\377" - "\377\377\0\377\377\377\0\377\377\377\0\377\377\377\0\377\377\377\1\377\377" - "\377\4\377\377\377\11\377\377\377\23\377\377\377$\377\377\377=\377\377\377" - "\\\377\377\377\177\245\245\245\266\0\0\0\377\0\0\0\377ccc\322\377\377\377" - "\207\377\377\377e\377\377\377D\377\377\377)\377\377\377\27\377\377\377\13" - "\377\377\377\5\377\377\377\2\377\377\377\0\377\377\377\0\377\377\377\0\377" - "\377\377\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\377\377\377\0\377\377\377\0\377\377\377" - "\0\377\377\377\0\377\377\377\1\377\377\377\4\377\377\377\11\377\377\377\23" - "\377\377\377$\377\377\377<\377\377\377\\\377\377\377~\245\245\245\265\0\0" - "\0\377\0\0\0\377ccc\321\377\377\377\207\377\377\377e\377\377\377D\377\377" - "\377)\377\377\377\26\377\377\377\13\377\377\377\5\377\377\377\2\377\377\377" - "\0\377\377\377\0\377\377\377\0\377\377\377\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\377" - "\377\377\0\377\377\377\0\377\377\377\0\377\377\377\0\377\377\377\1\377\377" - "\377\4\377\377\377\11\377\377\377\23\377\377\377#\377\377\377<\377\377\377" - "[\377\377\377}\245\245\245\265\0\0\0\377\0\0\0\377bbb\321\377\377\377\206" - "\377\377\377d\377\377\377D\377\377\377)\377\377\377\26\377\377\377\13\377" - "\377\377\5\377\377\377\2\377\377\377\0\377\377\377\0\377\377\377\0\377\377" - "\377\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\377\377\377\0\377\377\377\0\377\377\377\0" - "\377\377\377\0\377\377\377\1\377\377\377\4\377\377\377\11\377\377\377\23" - "\377\377\377#\377\377\377;\377\377\377Z\377\377\377|\244\244\244\264\0\0" - "\0\377\0\0\0\377bbb\321\377\377\377\205\377\377\377d\377\377\377C\377\377" - "\377)\377\377\377\26\377\377\377\13\377\377\377\5\377\377\377\2\377\377\377" - "\0\377\377\377\0\377\377\377\0\377\377\377\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\377" - "\377\377\0\377\377\377\0\377\377\377\0\377\377\377\0\377\377\377\1\377\377" - "\377\3\377\377\377\11\377\377\377\22\377\377\377#\377\377\377;\377\377\377" - "Y\377\377\377{\244\244\244\263\0\0\0\377\0\0\0\377aaa\320\377\377\377\204" - "\377\377\377c\377\377\377B\377\377\377(\377\377\377\26\377\377\377\13\377" - "\377\377\5\377\377\377\2\377\377\377\0\377\377\377\0\377\377\377\0\377\377" - "\377\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\377\377\377\0\377\377\377\0\377\377\377\0" - "\377\377\377\0\377\377\377\1\377\377\377\3\377\377\377\10\377\377\377\22" - "\377\377\377\"\377\377\3779\377\377\377W\377\377\377x\242\242\242\260\0\0" - "\0\377\0\0\0\377```\316\377\377\377\201\377\377\377`\377\377\377A\377\377" - "\377'\377\377\377\26\377\377\377\12\377\377\377\4\377\377\377\1\377\377\377" - "\0\377\377\377\0\377\377\377\0\377\377\377\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\377" - "\377\377\0\377\377\377\0\377\377\377\0\377\377\377\0\377\377\377\1\377\377" - "\377\3\377\377\377\10\377\377\377\21\377\377\377\40\377\377\3777\377\377" - "\377T\377\377\377s\240\240\240\253\0\0\0\377\0\0\0\377^^^\313\377\377\377" - "|\377\377\377\\\377\377\377>\377\377\377&\377\377\377\25\377\377\377\12\377" - "\377\377\4\377\377\377\1\377\377\377\0\377\377\377\0\377\377\377\0\377\377" - "\377\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\377\377\377\0\377\377\377\0\377\377\377\0" - "\377\377\377\0\377\377\377\1\377\377\377\3\377\377\377\7\377\377\377\20\377" - "\377\377\36\377\377\3773\377\377\377N\377\377\377l\234\234\234\244\0\0\0" - "\377\0\0\0\377YYY\306\377\377\377s\377\377\377V\377\377\377:\377\377\377" - "#\377\377\377\23\377\377\377\11\377\377\377\4\377\377\377\1\377\377\377\0" - "\377\377\377\0\377\377\377\0\377\377\377\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\377\377" - "\377\0\377\377\377\0\377\377\377\0\377\377\377\0\377\377\377\1\377\377\377" - "\3\377\377\377\7\377\377\377\16\377\377\377\33\377\377\377.\377\377\377F" - "\377\377\377a\225\225\225\232\0\0\0\377\0\0\0\377SSS\277\377\377\377h\377" - "\377\377M\377\377\3774\377\377\377\40\377\377\377\21\377\377\377\10\377\377" - "\377\3\377\377\377\1\377\377\377\0\377\377\377\0\377\377\377\0\377\377\377" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\377\377\377\0\377\377\377\0\377\377\377\0\377" - "\377\377\0\377\377\377\1\377\377\377\2\377\377\377\6\377\377\377\14\377\377" - "\377\27\377\377\377'\377\377\377<\377\377\377S\213\213\213\215\0\0\0\377" - "\0\0\0\377KKK\266\377\377\377Y\377\377\377B\377\377\377-\377\377\377\33\377" - "\377\377\17\377\377\377\7\377\377\377\3\377\377\377\1\377\377\377\0\377\377" - "\377\0\377\377\377\0\377\377\377\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\377\377\377\0" - "\377\377\377\0\377\377\377\0\377\377\377\0\377\377\377\0\377\377\377\2\377" - "\377\377\4\377\377\377\12\377\377\377\23\377\377\377\40\377\377\3770\377" - "\377\377C\225\225\225s\33\33\33\327\34\34\34\327\\\\\\\226\377\377\377G\377" - "\377\3775\377\377\377$\377\377\377\26\377\377\377\14\377\377\377\6\377\377" - "\377\2\377\377\377\1\377\377\377\0\377\377\377\0\377\377\377\0\377\377\377" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\377\377\377\0\377\377\377\0\377\377\377" - "\0\377\377\377\0\377\377\377\1\377\377\377\3\377\377\377\7\377\377\377\16" - "\377\377\377\30\377\377\377$\377\377\3772\377\377\377>\377\377\377F\377\377" - "\377G\377\377\377A\377\377\3776\377\377\377(\377\377\377\33\377\377\377\20" - "\377\377\377\11\377\377\377\4\377\377\377\2\377\377\377\0\377\377\377\0\377" - "\377\377\0\377\377\377\0\377\377\377\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\377" - "\377\377\0\377\377\377\0\377\377\377\0\377\377\377\0\377\377\377\1\377\377" - "\377\2\377\377\377\5\377\377\377\12\377\377\377\20\377\377\377\31\377\377" - "\377#\377\377\377,\377\377\3771\377\377\3772\377\377\377-\377\377\377&\377" - "\377\377\34\377\377\377\23\377\377\377\13\377\377\377\6\377\377\377\3\377" - "\377\377\1\377\377\377\0\377\377\377\0\377\377\377\0\377\377\377\0\377\377" - "\377\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\377\377\377\0\377\377\377\0\377\377" - "\377\0\377\377\377\0\377\377\377\0\377\377\377\1\377\377\377\3\377\377\377" - "\6\377\377\377\12\377\377\377\20\377\377\377\26\377\377\377\34\377\377\377" - "\37\377\377\377\40\377\377\377\35\377\377\377\30\377\377\377\22\377\377\377" - "\14\377\377\377\7\377\377\377\4\377\377\377\2\377\377\377\0\377\377\377\0" - "\377\377\377\0\377\377\377\0\377\377\377\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\377\377\377\0\377\377\377\0\377\377\377\0\377\377\377\0\377\377" - "\377\0\377\377\377\1\377\377\377\2\377\377\377\3\377\377\377\6\377\377\377" - "\11\377\377\377\15\377\377\377\20\377\377\377\22\377\377\377\23\377\377\377" - "\21\377\377\377\16\377\377\377\12\377\377\377\7\377\377\377\4\377\377\377" - "\2\377\377\377\1\377\377\377\0\377\377\377\0\377\377\377\0\377\377\377\0" - "\377\377\377\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\377\377\377" - "\0\377\377\377\0\377\377\377\0\377\377\377\0\377\377\377\0\377\377\377\1" - "\377\377\377\2\377\377\377\3\377\377\377\5\377\377\377\7\377\377\377\11\377" - "\377\377\12\377\377\377\12\377\377\377\11\377\377\377\7\377\377\377\5\377" - "\377\377\3\377\377\377\2\377\377\377\1\377\377\377\0\377\377\377\0\377\377" - "\377\0\377\377\377\0\377\377\377\0\377\377\377\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\377\377\377\0\377\377\377\0\377\377\377\0\377\377" - "\377\0\377\377\377\0\377\377\377\0\377\377\377\1\377\377\377\1\377\377\377" - "\2\377\377\377\3\377\377\377\4\377\377\377\5\377\377\377\5\377\377\377\4" - "\377\377\377\3\377\377\377\2\377\377\377\1\377\377\377\1\377\377\377\0\377" - "\377\377\0\377\377\377\0\377\377\377\0\377\377\377\0\377\377\377\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" - "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0", -}; - From e01c020c5030512c7e1ac629a206c40dcb601729 Mon Sep 17 00:00:00 2001 From: Martin Pulec Date: Tue, 15 Apr 2014 11:14:29 +0200 Subject: [PATCH 02/27] Audio codec: possibility to specify bitrate --- src/audio/audio.c | 8 ++- src/audio/audio.h | 4 +- src/audio/codec.c | 113 +++++++++++++++++++++++++++++++---- src/audio/codec.h | 10 +++- src/audio/codec/dummy_pcm.c | 7 ++- src/audio/codec/libavcodec.c | 11 +++- src/audio/utils.c | 29 --------- src/audio/utils.h | 5 -- src/main.cpp | 15 ++--- 9 files changed, 136 insertions(+), 66 deletions(-) diff --git a/src/audio/audio.c b/src/audio/audio.c index 299531ba8..7501d2e9f 100644 --- a/src/audio/audio.c +++ b/src/audio/audio.c @@ -196,13 +196,15 @@ struct state_audio * audio_cfg_init(struct module *parent, const char *addrs, in const char *send_cfg, const char *recv_cfg, char *jack_cfg, const char *fec_cfg, const char *encryption, char *audio_channel_map, const char *audio_scale, - bool echo_cancellation, bool use_ipv6, const char *mcast_if, audio_codec_t audio_codec, - int resample_to, bool isStd, long packet_rate) + bool echo_cancellation, bool use_ipv6, const char *mcast_if, + const char *audio_codec_cfg, + bool isStd, long packet_rate) { struct state_audio *s = NULL; char *tmp, *unused = NULL; UNUSED(unused); char *addr; + int resample_to = get_audio_codec_sample_rate(audio_codec_cfg); audio_capture_init_devices(); audio_playback_init_devices(); @@ -256,7 +258,7 @@ struct state_audio * audio_cfg_init(struct module *parent, const char *addrs, in s->audio_sender_thread_started = s->audio_receiver_thread_started = false; s->resample_to = resample_to; - s->audio_coder = audio_codec_init(audio_codec, AUDIO_CODER); + s->audio_coder = audio_codec_init_cfg(audio_codec_cfg, AUDIO_CODER); if(!s->audio_coder) { goto error; } diff --git a/src/audio/audio.h b/src/audio/audio.h index 3a6a3afc5..6f81f8bfc 100644 --- a/src/audio/audio.h +++ b/src/audio/audio.h @@ -126,8 +126,8 @@ struct state_audio * audio_cfg_init(struct module *parent, const char *addrs, in const char *send_cfg, const char *recv_cfg, char *jack_cfg, const char *fec_cfg, const char *encryption, char *audio_channel_map, const char *audio_scale, - bool echo_cancellation, bool use_ipv6, const char *mcast_iface, audio_codec_t audio_codec, - int resample_to, bool isStd, long packet_rate); + bool echo_cancellation, bool use_ipv6, const char *mcast_iface, const char *audio_codec_cfg, + bool isStd, long packet_rate); void audio_finish(void); void audio_done(struct state_audio *s); void audio_join(struct state_audio *s); diff --git a/src/audio/codec.c b/src/audio/codec.c index 4e6ae0fd9..4ef835763 100644 --- a/src/audio/codec.c +++ b/src/audio/codec.c @@ -87,7 +87,7 @@ static struct audio_codec *audio_codecs[MAX_AUDIO_CODECS] = { &dummy_pcm_audio_codec, NULL_IF_BUILD_LIBRARIES(LIBAVCODEC_AUDIO_CODEC_HANDLE), }; -static struct audio_codec_state *audio_codec_init_real(audio_codec_t audio_codec, +static struct audio_codec_state *audio_codec_init_real(const char *audio_codec_cfg, audio_codec_direction_t direction, bool try_init); static void register_audio_codec_real(struct audio_codec *); @@ -111,17 +111,20 @@ struct audio_codec_state { audio_codec_t codec; audio_codec_direction_t direction; audio_frame2 *out; + int bitrate; }; void list_audio_codecs(void) { printf("Syntax:\n"); - printf("\t--audio-codec [:]\n"); + printf("\t--audio-codec [:sample_rate=][:bitrate=]\n"); printf("\n"); printf("Supported audio codecs:\n"); for(int i = 0; i < audio_codec_info_len; ++i) { if(i != AC_NONE) { printf("\t%s", audio_codec_info[i].name); - struct audio_codec_state *st = audio_codec_init_real(i, AUDIO_CODER, true); + struct audio_codec_state *st = (struct audio_codec_state *) + audio_codec_init_real(get_name_to_audio_codec((audio_codec_t) i), + AUDIO_CODER, true); if(!st) { printf(" - unavailable"); } else { @@ -145,11 +148,19 @@ static void load_libraries(void) struct audio_codec_state *audio_codec_init(audio_codec_t audio_codec, audio_codec_direction_t direction) { - return audio_codec_init_real(audio_codec, direction, true); + return audio_codec_init_real(get_name_to_audio_codec(audio_codec), direction, true); } -static struct audio_codec_state *audio_codec_init_real(audio_codec_t audio_codec, +struct audio_codec_state *audio_codec_init_cfg(const char *audio_codec_cfg, + audio_codec_direction_t direction) { + return audio_codec_init_real(audio_codec_cfg, direction, true); +} + + +static struct audio_codec_state *audio_codec_init_real(const char *audio_codec_cfg, audio_codec_direction_t direction, bool try_init) { + audio_codec_t audio_codec = get_audio_codec(audio_codec_cfg); + int bitrate = get_audio_codec_bitrate(audio_codec_cfg); void *state = NULL; int index; #ifdef BUILD_LIBRARIES @@ -160,7 +171,7 @@ static struct audio_codec_state *audio_codec_init_real(audio_codec_t audio_codec continue; for(unsigned int j = 0; audio_codecs[i]->supported_codecs[j] != AC_NONE; ++j) { if(audio_codecs[i]->supported_codecs[j] == audio_codec) { - state = audio_codecs[i]->init(audio_codec, direction, try_init); + state = audio_codecs[i]->init(audio_codec, direction, try_init, bitrate); index = i; if(state) { break; @@ -185,12 +196,13 @@ static struct audio_codec_state *audio_codec_init_real(audio_codec_t audio_codec struct audio_codec_state *s = (struct audio_codec_state *) malloc(sizeof(struct audio_codec_state)); - s->state = calloc(1, sizeof(void**)); + s->state = (void **) calloc(1, sizeof(void**)); s->state[0] = state; s->state_count = 1; s->index = index; s->codec = audio_codec; s->direction = direction; + s->bitrate = bitrate; s->out = audio_frame2_init(); s->out->ch_count = 1; @@ -220,9 +232,9 @@ struct audio_codec_state *audio_codec_reconfigure(struct audio_codec_state *old, audio_frame2 *audio_codec_compress(struct audio_codec_state *s, audio_frame2 *frame) { if(frame && s->state_count < frame->ch_count) { - s->state = realloc(s->state, sizeof(void **) * frame->ch_count); + s->state = (void **) realloc(s->state, sizeof(void **) * frame->ch_count); for(int i = s->state_count; i < frame->ch_count; ++i) { - s->state[i] = audio_codecs[s->index]->init(s->codec, s->direction, false); + s->state[i] = audio_codecs[s->index]->init(s->codec, s->direction, false, s->bitrate); if(s->state[i] == NULL) { fprintf(stderr, "Error: initialization of audio codec failed!\n"); return NULL; @@ -259,9 +271,9 @@ audio_frame2 *audio_codec_compress(struct audio_codec_state *s, audio_frame2 *fr audio_frame2 *audio_codec_decompress(struct audio_codec_state *s, audio_frame2 *frame) { if(s->state_count < frame->ch_count) { - s->state = realloc(s->state, sizeof(void **) * frame->ch_count); + s->state = (void **) realloc(s->state, sizeof(void **) * frame->ch_count); for(int i = s->state_count; i < frame->ch_count; ++i) { - s->state[i] = audio_codecs[s->index]->init(s->codec, s->direction, false); + s->state[i] = audio_codecs[s->index]->init(s->codec, s->direction, false, 0); if(s->state[i] == NULL) { fprintf(stderr, "Error: initialization of audio codec failed!\n"); return NULL; @@ -317,3 +329,82 @@ const int *audio_codec_get_supported_bps(struct audio_codec_state *s) return audio_codecs[s->index]->supported_bytes_per_second; } +audio_codec_t get_audio_codec(const char *codec_str) { + char *codec = strdup(codec_str); + if (strchr(codec, ':')) { + *strchr(codec, ':') = '\0'; + } + for(int i = 0; i < audio_codec_info_len; ++i) { + if(strcasecmp(audio_codec_info[i].name, codec) == 0) { + free(codec); + return (audio_codec_t) i; + } + } + free(codec); + return AC_NONE; +} + +/** + * Caller must free() the returned buffer + */ +static char *get_val_from_cfg(const char *audio_codec_cfg, const char *key) +{ + char *cfg = strdup(audio_codec_cfg); + char *tmp = cfg; + char *item, *save_ptr; + + while ((item = strtok_r(cfg, ":", &save_ptr)) != NULL) { + if (strncasecmp(key, item, strlen(key)) == 0) { + free(tmp); + return strdup(item + strlen(key)); + } + cfg = NULL; + } + free(tmp); + return NULL; +} + +int get_audio_codec_sample_rate(const char *audio_codec_cfg) +{ + char *val = get_val_from_cfg(audio_codec_cfg, "sample_rate="); + if (val) { + int ret = atoi(val); + free(val); + return ret; + } else { + return 48000; + } +} + +int get_audio_codec_bitrate(const char *audio_codec_cfg) +{ + char *val = get_val_from_cfg(audio_codec_cfg, "bitrate="); + if (val) { + int ret = atoi(val); + free(val); + return ret; + } else { + return 0; + } +} + +const char *get_name_to_audio_codec(audio_codec_t codec) +{ + return audio_codec_info[codec].name; +} + +uint32_t get_audio_tag(audio_codec_t codec) +{ + return audio_codec_info[codec].tag; +} + +audio_codec_t get_audio_codec_to_tag(uint32_t tag) +{ + for(int i = 0; i < audio_codec_info_len; ++i) { + if(audio_codec_info[i].tag == tag) { + return (audio_codec_t) i; + } + } + return AC_NONE; +} + diff --git a/src/audio/codec.h b/src/audio/codec.h index ea9e106c1..a54705aea 100644 --- a/src/audio/codec.h +++ b/src/audio/codec.h @@ -63,7 +63,7 @@ typedef enum { struct audio_codec { const audio_codec_t *supported_codecs; const int *supported_bytes_per_second; - void *(*init)(audio_codec_t, audio_codec_direction_t, bool); + void *(*init)(audio_codec_t, audio_codec_direction_t, bool, int bitrate); audio_channel *(*compress)(void *, audio_channel *); audio_channel *(*decompress)(void *, audio_channel *); void (*done)(void *); @@ -85,6 +85,7 @@ extern int audio_codec_info_len; struct audio_codec_state; struct audio_codec_state *audio_codec_init(audio_codec_t audio_codec, audio_codec_direction_t); +struct audio_codec_state *audio_codec_init_cfg(const char *audio_codec_cfg, audio_codec_direction_t); struct audio_codec_state *audio_codec_reconfigure(struct audio_codec_state *old, audio_codec_t audio_codec, audio_codec_direction_t); audio_frame2 *audio_codec_compress(struct audio_codec_state *, audio_frame2 *); @@ -94,6 +95,13 @@ void audio_codec_done(struct audio_codec_state *); void list_audio_codecs(void); +audio_codec_t get_audio_codec(const char *audio_codec_cfg); +int get_audio_codec_sample_rate(const char *audio_codec_cfg); +int get_audio_codec_bitrate(const char *audio_codec_cfg); +const char *get_name_to_audio_codec(audio_codec_t codec); +uint32_t get_audio_tag(audio_codec_t codec); +audio_codec_t get_audio_codec_to_tag(uint32_t audio_tag); + #ifdef __cplusplus } #endif diff --git a/src/audio/codec/dummy_pcm.c b/src/audio/codec/dummy_pcm.c index cc0734899..45abce13b 100644 --- a/src/audio/codec/dummy_pcm.c +++ b/src/audio/codec/dummy_pcm.c @@ -60,7 +60,8 @@ #define MAGIC 0x552bca11 -static void *dummy_pcm_init(audio_codec_t audio_codec, audio_codec_direction_t direction, bool try_init); +static void *dummy_pcm_init(audio_codec_t audio_codec, audio_codec_direction_t direction, bool try_init, + int bitrate); static audio_channel *dummy_pcm_compress(void *, audio_channel *); static audio_channel *dummy_pcm_decompress(void *, audio_channel *); static void dummy_pcm_done(void *); @@ -69,10 +70,12 @@ struct dummy_pcm_codec_state { uint32_t magic; }; -static void *dummy_pcm_init(audio_codec_t audio_codec, audio_codec_direction_t direction, bool try_init) +static void *dummy_pcm_init(audio_codec_t audio_codec, audio_codec_direction_t direction, bool try_init, + int bitrate) { UNUSED(direction); UNUSED(try_init); + UNUSED(bitrate); assert(audio_codec == AC_PCM); struct dummy_pcm_codec_state *s = malloc(sizeof(struct dummy_pcm_codec_state)); s->magic = MAGIC; diff --git a/src/audio/codec/libavcodec.c b/src/audio/codec/libavcodec.c index 9fceee2f2..23951b3e1 100644 --- a/src/audio/codec/libavcodec.c +++ b/src/audio/codec/libavcodec.c @@ -79,7 +79,7 @@ #endif static void *libavcodec_init(audio_codec_t audio_codec, audio_codec_direction_t direction, - bool try_init); + bool try_init, int bitrate); static audio_channel *libavcodec_compress(void *, audio_channel *); static audio_channel *libavcodec_decompress(void *, audio_channel *); static void libavcodec_done(void *); @@ -124,6 +124,8 @@ struct libavcodec_codec_state { void *samples; int change_bps_to; + + int bitrate; }; /** @@ -135,7 +137,8 @@ struct libavcodec_codec_state { * @retval NULL if initialization failed * @retval !=NULL codec state */ -static void *libavcodec_init(audio_codec_t audio_codec, audio_codec_direction_t direction, bool try_init) +static void *libavcodec_init(audio_codec_t audio_codec, audio_codec_direction_t direction, bool try_init, + int bitrate) { int codec_id = 0; @@ -176,6 +179,8 @@ static void *libavcodec_init(audio_codec_t audio_codec, audio_codec_direction_t return NULL; } + s->bitrate = bitrate; + s->samples = NULL; av_init_packet(&s->pkt); @@ -219,7 +224,7 @@ static bool reinitialize_coder(struct libavcodec_codec_state *s, struct audio_de pthread_mutex_unlock(s->libav_global_lock); /* put sample parameters */ - s->codec_ctx->bit_rate = 64000; + s->codec_ctx->bit_rate = s->bitrate; s->codec_ctx->sample_rate = desc.sample_rate; s->change_bps_to = 0; switch(desc.bps) { diff --git a/src/audio/utils.c b/src/audio/utils.c index c5c403ac2..1f77a6c54 100644 --- a/src/audio/utils.c +++ b/src/audio/utils.c @@ -480,32 +480,3 @@ void audio_channel_mux(audio_frame2 *frame, int index, audio_channel *channel) frame->sample_rate = channel->sample_rate; } -audio_codec_t get_audio_codec_to_name(const char *codec) { - for(int i = 0; i < audio_codec_info_len; ++i) { - if(strcasecmp(audio_codec_info[i].name, codec) == 0) { - return i; - } - } - return AC_NONE; -} - -const char *get_name_to_audio_codec(audio_codec_t codec) -{ - return audio_codec_info[codec].name; -} - -uint32_t get_audio_tag(audio_codec_t codec) -{ - return audio_codec_info[codec].tag; -} - -audio_codec_t get_audio_codec_to_tag(uint32_t tag) -{ - for(int i = 0; i < audio_codec_info_len; ++i) { - if(audio_codec_info[i].tag == tag) { - return i; - } - } - return AC_NONE; -} - diff --git a/src/audio/utils.h b/src/audio/utils.h index c1836029a..eb10d8cb2 100644 --- a/src/audio/utils.h +++ b/src/audio/utils.h @@ -72,11 +72,6 @@ struct audio_desc audio_desc_from_audio_channel(audio_channel *); void audio_channel_demux(audio_frame2 *, int, audio_channel*); void audio_channel_mux(audio_frame2 *, int, audio_channel*); -audio_codec_t get_audio_codec_to_name(const char *name); -const char *get_name_to_audio_codec(audio_codec_t codec); -uint32_t get_audio_tag(audio_codec_t codec); -audio_codec_t get_audio_codec_to_tag(uint32_t audio_tag); - /** * Changes bps for everey sample. * diff --git a/src/main.cpp b/src/main.cpp index ed1581f55..29098dc06 100644 --- a/src/main.cpp +++ b/src/main.cpp @@ -456,14 +456,13 @@ int main(int argc, char *argv[]) struct state_uv *uv; int ch; - audio_codec_t audio_codec = AC_PCM; + const char *audio_codec = "PCM"; pthread_t receiver_thread_id, capture_thread_id; bool receiver_thread_started = false, capture_thread_started = false; unsigned display_flags = 0; - int compressed_audio_sample_rate = 48000; int ret; struct vidcap_params *audio_cap_dev; long packet_rate; @@ -740,12 +739,8 @@ int main(int argc, char *argv[]) list_audio_codecs(); return EXIT_SUCCESS; } - if(strchr(optarg, ':')) { - compressed_audio_sample_rate = atoi(strchr(optarg, ':')+1); - *strchr(optarg, ':') = '\0'; - } - audio_codec = get_audio_codec_to_name(optarg); - if(audio_codec == AC_NONE) { + audio_codec = optarg; + if(get_audio_codec(optarg) == AC_NONE) { fprintf(stderr, "Unknown audio codec entered: \"%s\"\n", optarg); return EXIT_FAIL_USAGE; @@ -796,7 +791,7 @@ int main(int argc, char *argv[]) printf("Audio playback : %s\n", audio_recv); printf("MTU : %d B\n", requested_mtu); printf("Video compression: %s\n", requested_compression); - printf("Audio codec : %s\n", get_name_to_audio_codec(audio_codec)); + printf("Audio codec : %s\n", get_name_to_audio_codec(get_audio_codec(audio_codec))); printf("Network protocol : %s\n", video_rxtx::get_name(video_protocol)); printf("Audio FEC : %s\n", requested_audio_fec); printf("Video FEC : %s\n", requested_video_fec); @@ -865,7 +860,7 @@ int main(int argc, char *argv[]) jack_cfg, requested_audio_fec, requested_encryption, audio_channel_map, audio_scale, echo_cancellation, ipv6, requested_mcast_if, - audio_codec, compressed_audio_sample_rate, isStd, packet_rate); + audio_codec, isStd, packet_rate); if(!uv->audio) goto cleanup; From 44aaf73066d5c7104cdd39b667cc35f810b3625d Mon Sep 17 00:00:00 2001 From: Martin Pulec Date: Tue, 15 Apr 2014 16:30:23 +0200 Subject: [PATCH 03/27] Fixed initial OpenGL window fullscreen --- src/video_display/gl.c | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/src/video_display/gl.c b/src/video_display/gl.c index b11f95b1b..00da3fa78 100644 --- a/src/video_display/gl.c +++ b/src/video_display/gl.c @@ -489,13 +489,15 @@ int display_gl_reconfigure(void *state, struct video_desc desc) static void glut_resize_window(struct state_gl *s) { - if (!s->fs) { + if (s->fs) { + glutReshapeWindow(glutGet(GLUT_SCREEN_WIDTH), + glutGet(GLUT_SCREEN_HEIGHT)); + glutFullScreen(); + } else { glutReshapeWindow(s->window_size_factor * s->tile->height * s->aspect, s->window_size_factor * s->tile->height); - } else { - glutFullScreen(); } } From d4e4ba0645e035c562cd7f4e3fa8e3d95e527ad0 Mon Sep 17 00:00:00 2001 From: Martin Pulec Date: Thu, 17 Apr 2014 08:55:47 +0200 Subject: [PATCH 04/27] Decklink display: 1 channel mix --- src/video_display/decklink.cpp | 1 + 1 file changed, 1 insertion(+) diff --git a/src/video_display/decklink.cpp b/src/video_display/decklink.cpp index 4b885b99e..9b6f0e393 100644 --- a/src/video_display/decklink.cpp +++ b/src/video_display/decklink.cpp @@ -1159,6 +1159,7 @@ void display_decklink_put_audio_frame(void *state, struct audio_frame *frame) tmp_frame.max_size = sampleFrameCount * s->output_audio_channel_count * frame->bps; tmp_frame.data = (char *) malloc(tmp_frame.max_size); + memcpy(tmp_frame.data, frame->data, frame->data_len); audio_frame_multiply_channel(&tmp_frame, s->output_audio_channel_count); From bf95c3289afe26cdc3eb327209c672c5dfb96f94 Mon Sep 17 00:00:00 2001 From: Martin Pulec Date: Thu, 17 Apr 2014 09:51:56 +0200 Subject: [PATCH 05/27] Audio: some fixes --- src/audio/utils.c | 15 ++++++++------- src/rtp/audio_decoders.c | 1 + 2 files changed, 9 insertions(+), 7 deletions(-) diff --git a/src/audio/utils.c b/src/audio/utils.c index 1f77a6c54..5a95abfc7 100644 --- a/src/audio/utils.c +++ b/src/audio/utils.c @@ -80,15 +80,11 @@ void audio_frame2_allocate(audio_frame2 *frame, int nr_channels, int max_size) { assert(nr_channels <= MAX_AUDIO_CHANNELS); + audio_frame2_reset(frame); + frame->max_size = max_size; frame->ch_count = nr_channels; - for(int i = 0; i < MAX_AUDIO_CHANNELS; ++i) { - free(frame->data[i]); - frame->data[i] = NULL; - frame->data_len[i] = 0; - } - for(int i = 0; i < nr_channels; ++i) { frame->data[i] = malloc(max_size); } @@ -96,6 +92,7 @@ void audio_frame2_allocate(audio_frame2 *frame, int nr_channels, int max_size) void audio_frame2_append(audio_frame2 *dest, audio_frame2 *src) { + assert(src->ch_count == dest->ch_count || dest->ch_count == 0); dest->bps = src->bps; int new_max_size = dest->max_size; for (int i = 0; i < src->ch_count; ++i) { @@ -126,9 +123,13 @@ int audio_frame2_get_sample_count(audio_frame2 *frame) void audio_frame2_reset(audio_frame2 *frame) { - for (int i = 0; i < frame->ch_count; ++i) { + for(int i = 0; i < MAX_AUDIO_CHANNELS; ++i) { frame->data_len[i] = 0; + free(frame->data[i]); + frame->data[i] = NULL; } + frame->max_size = 0; + frame->ch_count = 0; } static double get_normalized(char *in, int bps) { diff --git a/src/rtp/audio_decoders.c b/src/rtp/audio_decoders.c index 07a93bd68..d897ab1ef 100644 --- a/src/rtp/audio_decoders.c +++ b/src/rtp/audio_decoders.c @@ -434,6 +434,7 @@ int decode_audio_frame(struct coded_data *cdata, void *data) sample_rate, input_channels, input_channels == 1 ? "": "s", bps * 8, get_name_to_audio_codec(get_audio_codec_to_tag(audio_tag))); + audio_frame2_reset(decoder->decoded); s->buffer.bps = device_bps; s->buffer.ch_count = output_channels; From 47670793bf2631a0925f8301a12992d08ce33525 Mon Sep 17 00:00:00 2001 From: Martin Pulec Date: Thu, 24 Apr 2014 13:16:17 +0200 Subject: [PATCH 06/27] Logo capture filter compile fix --- src/capture_filter/logo.cpp | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/capture_filter/logo.cpp b/src/capture_filter/logo.cpp index 9aecf8061..2cb250ef0 100644 --- a/src/capture_filter/logo.cpp +++ b/src/capture_filter/logo.cpp @@ -228,9 +228,9 @@ static struct video_frame *filter(void *state, struct video_frame *in) } struct capture_filter_info capture_filter_logo = { - .name = "logo", - .init = init, - .done = done, - .filter = filter, + "logo", + init, + done, + filter, }; From ac2baf3276d91eac54a91263e6a079bed6f44ec4 Mon Sep 17 00:00:00 2001 From: Martin Pulec Date: Fri, 25 Apr 2014 18:25:59 +0200 Subject: [PATCH 07/27] format_to_out_bps: fixed overflows --- src/audio/utils.c | 18 +++++++----------- 1 file changed, 7 insertions(+), 11 deletions(-) diff --git a/src/audio/utils.c b/src/audio/utils.c index 5a95abfc7..aab3aa9bb 100644 --- a/src/audio/utils.c +++ b/src/audio/utils.c @@ -252,19 +252,15 @@ static inline int32_t format_from_in_bps(const char * in, int bps) { } static inline void format_to_out_bps(char *out, int bps, int32_t out_value) { - uint32_t mask; - if(bps == sizeof(uint32_t)) { - mask = 0xffffffffu - 1; - } else { - mask = ((1 << (bps * 8)) - 1); + uint32_t mask = ((1ll << (bps * 8)) - 1); + + // clamp + if(out_value > (1ll << (bps * 8 - 1)) -1) { + out_value = (1ll << (bps * 8 - 1)) -1; } - if(out_value > (1 << (bps * 8 - 1)) -1) { - out_value = (1 << (bps * 8 - 1)) -1; - } - - if(out_value < -(1 << (bps * 8 - 1))) { - out_value = -(1 << (bps * 8 - 1)); + if(out_value < -(1ll << (bps * 8 - 1))) { + out_value = -(1ll << (bps * 8 - 1)); } uint32_t out_value_formatted = (1 * (0x1 & (out_value >> 31))) << (bps * 8 - 1) | (out_value & mask); From c9ea8db9e805812a691684fefe5044d87cb3c28e Mon Sep 17 00:00:00 2001 From: Martin Pulec Date: Sat, 26 Apr 2014 20:48:56 +0200 Subject: [PATCH 08/27] JACK: fixes --- src/audio/capture/jack.c | 4 ++-- src/audio/playback/jack.c | 11 +++++++---- 2 files changed, 9 insertions(+), 6 deletions(-) diff --git a/src/audio/capture/jack.c b/src/audio/capture/jack.c index aff31df7a..b7b39b2b9 100644 --- a/src/audio/capture/jack.c +++ b/src/audio/capture/jack.c @@ -203,8 +203,6 @@ void * audio_cap_jack_init(char *cfg) s->data = ring_buffer_init(s->frame.max_size); - free(ports); - if(jack_set_sample_rate_callback(s->client, jack_samplerate_changed_callback, (void *) s)) { fprintf(stderr, "[JACK capture] Registring callback problem.\n"); goto release_client; @@ -234,6 +232,8 @@ void * audio_cap_jack_init(char *cfg) } } + free(ports); + return s; release_client: diff --git a/src/audio/playback/jack.c b/src/audio/playback/jack.c index 90554f98b..3c522fa05 100644 --- a/src/audio/playback/jack.c +++ b/src/audio/playback/jack.c @@ -69,7 +69,7 @@ #define MAX_PORTS 64 struct state_jack_playback { - const char *jack_ports_pattern; + char *jack_ports_pattern; int jack_sample_rate; jack_client_t *client; jack_port_t *output_port[MAX_PORTS]; @@ -78,6 +78,7 @@ struct state_jack_playback { float *converted; #ifdef HAVE_SPEEX float *converted_resampled; + size_t converted_resampled_size; SpeexResamplerState *resampler; #endif @@ -190,7 +191,7 @@ void * audio_play_jack_init(char *cfg) s = calloc(1, sizeof(struct state_jack_playback)); - s->jack_ports_pattern = cfg; + s->jack_ports_pattern = strdup(cfg); if(!s) { fprintf(stderr, "[JACK playback] Unable to allocate memory.\n"); @@ -287,7 +288,8 @@ int audio_play_jack_reconfigure(void *state, int quant_samples, int channels, if(s->resampler) { speex_resampler_destroy(s->resampler); } - s->converted_resampled = (float *) malloc(sizeof(float) * s->jack_sample_rate); + s->converted_resampled_size = sizeof(float) * s->jack_sample_rate; + s->converted_resampled = (float *) malloc(s->converted_resampled_size); { int err; @@ -337,7 +339,7 @@ void audio_play_jack_put_frame(void *state, struct audio_frame *frame) int2float((char *) s->converted, (char *) s->converted, converted_size); #ifdef HAVE_SPEEX spx_uint32_t in_len = channel_size / frame->bps; - spx_uint32_t out_len; + spx_uint32_t out_len = s->converted_resampled_size; speex_resampler_process_float(s->resampler, i, s->converted, @@ -364,6 +366,7 @@ void audio_play_jack_done(void *state) #endif free(s->channel); free(s->converted); + free(s->jack_ports_pattern); for(i = 0; i < MAX_PORTS; ++i) { ring_buffer_destroy(s->data[i]); } From e4a8eb877560d4583a4baa13edacd78b457d40b3 Mon Sep 17 00:00:00 2001 From: Martin Pulec Date: Tue, 29 Apr 2014 14:30:36 +0200 Subject: [PATCH 09/27] Screen capture OS X: remove unused OGL includes --- src/video_capture/screen_osx.c | 2 -- 1 file changed, 2 deletions(-) diff --git a/src/video_capture/screen_osx.c b/src/video_capture/screen_osx.c index 2a9167f5f..d9d3e7e74 100644 --- a/src/video_capture/screen_osx.c +++ b/src/video_capture/screen_osx.c @@ -57,8 +57,6 @@ #include -#include -#include #include /* prototypes of functions defined in this module */ From 8fc99802efacf8365d02edab53c329ce1fcfa024 Mon Sep 17 00:00:00 2001 From: Martin Pulec Date: Tue, 29 Apr 2014 17:21:53 +0200 Subject: [PATCH 10/27] Control: fixes --- src/control_socket.cpp | 4 ++-- src/video_rxtx.cpp | 2 ++ 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/src/control_socket.cpp b/src/control_socket.cpp index 83c9e0df5..e3c36cfd9 100644 --- a/src/control_socket.cpp +++ b/src/control_socket.cpp @@ -349,7 +349,7 @@ static int process_msg(struct control_state *s, fd_t client_fd, char *message) char *compress = suffix(message, "compress "); if(prefix_matches(compress, "param ")) { - compress = suffix(compress, " param"); + compress = suffix(compress, "param "); msg->what = CHANGE_PARAMS; } else { msg->what = CHANGE_COMPRESS; @@ -357,7 +357,7 @@ static int process_msg(struct control_state *s, fd_t client_fd, char *message) strncpy(msg->config_string, compress, sizeof(msg->config_string) - 1); if(!resp) { - enum module_class path_compress[] = { MODULE_CLASS_COMPRESS, MODULE_CLASS_NONE }; + enum module_class path_compress[] = { MODULE_CLASS_SENDER, MODULE_CLASS_COMPRESS, MODULE_CLASS_NONE }; append_message_path(path, sizeof(path), path_compress); resp = send_message(s->root_module, path, (struct message *) msg); } diff --git a/src/video_rxtx.cpp b/src/video_rxtx.cpp index 9ed865e74..017102a18 100644 --- a/src/video_rxtx.cpp +++ b/src/video_rxtx.cpp @@ -183,6 +183,8 @@ void *video_rxtx::sender_loop() { if (!m_paused) { send_frame(tx_frame); + } else { + VIDEO_FRAME_DISPOSE(tx_frame); } if (dynamic_cast(this)) { From 36ef63eac8c16ad6510467717c10351fbab8eb98 Mon Sep 17 00:00:00 2001 From: Martin Pulec Date: Tue, 29 Apr 2014 18:27:47 +0200 Subject: [PATCH 11/27] Control: pass sender messages also to audio --- src/audio/audio.c | 11 +++++++++++ src/control_socket.cpp | 12 ++++++++++++ 2 files changed, 23 insertions(+) diff --git a/src/audio/audio.c b/src/audio/audio.c index 7501d2e9f..6077ee1bc 100644 --- a/src/audio/audio.c +++ b/src/audio/audio.c @@ -144,6 +144,8 @@ struct state_audio { int resample_to; char *requested_encryption; + + volatile bool paused; }; /** @@ -689,9 +691,15 @@ static void audio_sender_process_message(struct state_audio *s, struct msg_sende &s->audio_network_parameters); break; case SENDER_MSG_PAUSE: + s->paused = true; + break; case SENDER_MSG_PLAY: + s->paused = false; + break; + case SENDER_MSG_CHANGE_FEC: fprintf(stderr, "Not implemented!\n"); abort(); + } } @@ -726,6 +734,9 @@ static void *audio_sender_thread(void *arg) continue; #endif } + if (s->paused) { + continue; + } if(s->sender == NET_NATIVE) { // RESAMPLE resample(&resample_state, buffer); diff --git a/src/control_socket.cpp b/src/control_socket.cpp index e3c36cfd9..93d9a91c4 100644 --- a/src/control_socket.cpp +++ b/src/control_socket.cpp @@ -300,10 +300,22 @@ static int process_msg(struct control_state *s, fd_t client_fd, char *message) abort(); } + struct msg_sender *msg_audio = (struct msg_sender *) malloc(sizeof(struct msg_sender)); + memcpy(msg_audio, msg, sizeof(struct msg_sender)); + if (msg_audio->type == SENDER_MSG_CHANGE_PORT) { + msg->port = atoi(suffix(message, "sender-port ")); + } + enum module_class path_sender[] = { MODULE_CLASS_SENDER, MODULE_CLASS_NONE }; + enum module_class path_sender_audio[] = { MODULE_CLASS_AUDIO, MODULE_CLASS_SENDER, MODULE_CLASS_NONE }; + char path_audio[1024]; + memcpy(path_audio, path, sizeof(path_audio)); append_message_path(path, sizeof(path), path_sender); + append_message_path(path_audio, sizeof(path_audio), path_sender_audio); + resp = send_message(s->root_module, path, (struct message *) msg); + send_message(s->root_module, path_audio, (struct message *) msg_audio); } else if (prefix_matches(message, "receiver-port ")) { struct msg_receiver *msg = (struct msg_receiver *) From 9208ca01a4dd3809bd13e1f2bce6ef9721948bcc Mon Sep 17 00:00:00 2001 From: Martin Pulec Date: Tue, 29 Apr 2014 19:46:23 +0200 Subject: [PATCH 12/27] Vidcap: pass parent to capture module --- src/video_capture.c | 20 +++++++++++++++----- src/video_capture.h | 5 ++++- 2 files changed, 19 insertions(+), 6 deletions(-) diff --git a/src/video_capture.c b/src/video_capture.c index 54dbf74de..452e43449 100644 --- a/src/video_capture.c +++ b/src/video_capture.c @@ -103,6 +103,7 @@ struct vidcap_params { char *name; ///< input name (capture alias in config file or complete config if not alias) struct vidcap_params *next; /**< Pointer to next vidcap params. Used by aggregate capture drivers. * Last device in list has @ref driver set to NULL. */ + struct module *parent; }; /// @brief This struct represents video capture state. @@ -457,7 +458,7 @@ vidcap_id_t vidcap_get_null_device_id(void) * @retval <0 if initialization failed * @retval >0 if initialization was successful but no state was returned (eg. only having shown help). */ -int vidcap_init(struct module *parent, vidcap_id_t id, const struct vidcap_params *param, +int vidcap_init(struct module *parent, vidcap_id_t id, struct vidcap_params *param, struct vidcap **state) { unsigned int i; @@ -467,24 +468,28 @@ int vidcap_init(struct module *parent, vidcap_id_t id, const struct vidcap_param struct vidcap *d = (struct vidcap *)malloc(sizeof(struct vidcap)); d->magic = VIDCAP_MAGIC; + + module_init_default(&d->mod); + d->mod.cls = MODULE_CLASS_CAPTURE; + module_register(&d->mod, parent); + + param->parent = &d->mod; d->state = vidcap_device_table[i].func_init(param); d->index = i; if (d->state == NULL) { debug_msg ("Unable to start video capture device 0x%08lx\n", id); + module_done(&d->mod); free(d); return -1; } if(d->state == &vidcap_init_noerr) { + module_done(&d->mod); free(d); return 1; } - module_init_default(&d->mod); - d->mod.cls = MODULE_CLASS_CAPTURE; - module_register(&d->mod, parent); - int ret = capture_filter_init(&d->mod, param->requested_capture_filter, &d->capture_filter); if(ret < 0) { @@ -682,6 +687,11 @@ const char *vidcap_params_get_name(const struct vidcap_params *params) return params->name; } +struct module *vidcap_params_get_parent(const struct vidcap_params *params) +{ + return params->parent; +} + /** * Creates deep copy of @ref vidcap_params structure. */ diff --git a/src/video_capture.h b/src/video_capture.h index a1dc5400d..991355ad2 100644 --- a/src/video_capture.h +++ b/src/video_capture.h @@ -110,6 +110,8 @@ struct vidcap_type { //video_colour_mode_t colour_mode; }; +struct module; + /** * @name Vidcap Parameters Handling Functions * @{ */ @@ -125,6 +127,7 @@ const char *vidcap_params_get_driver(const struct vidcap_params *param unsigned int vidcap_params_get_flags(const struct vidcap_params *params); const char *vidcap_params_get_fmt(const struct vidcap_params *params); const char *vidcap_params_get_name(const struct vidcap_params *params); +struct module *vidcap_params_get_parent(const struct vidcap_params *params); void vidcap_params_set_device(struct vidcap_params *params, const char *config); void vidcap_params_set_capture_filter(struct vidcap_params *params, const char *req_capture_filter); @@ -141,7 +144,7 @@ struct module; struct vidcap; int vidcap_init(struct module *parent, vidcap_id_t id, - const struct vidcap_params *param, struct vidcap **); + struct vidcap_params *param, struct vidcap **); void vidcap_done(struct vidcap *state); struct video_frame *vidcap_grab(struct vidcap *state, struct audio_frame **audio); From e69b72d1958fe523e0e35a4edd40a755ac0ebe10 Mon Sep 17 00:00:00 2001 From: Martin Pulec Date: Tue, 29 Apr 2014 20:00:25 +0200 Subject: [PATCH 13/27] Added capture switcher --- Makefile.in | 1 + src/video_capture.c | 10 ++ src/video_capture/switcher.c | 190 +++++++++++++++++++++++++++++++++++ src/video_capture/switcher.h | 42 ++++++++ 4 files changed, 243 insertions(+) create mode 100644 src/video_capture/switcher.c create mode 100644 src/video_capture/switcher.h diff --git a/Makefile.in b/Makefile.in index 704aa7bdc..bcda27497 100644 --- a/Makefile.in +++ b/Makefile.in @@ -125,6 +125,7 @@ OBJS = @OBJS@ \ src/video_capture/aggregate.o \ src/video_capture/import.o \ src/video_capture/null.o \ + src/video_capture/switcher.o \ src/video_compress.o \ src/video_compress/none.o \ src/video_decompress.o \ diff --git a/src/video_capture.c b/src/video_capture.c index 452e43449..46ab6bd7e 100644 --- a/src/video_capture.c +++ b/src/video_capture.c @@ -77,6 +77,7 @@ #include "video_capture/screen_osx.h" #include "video_capture/screen_x11.h" #include "video_capture/swmix.h" +#include "video_capture/switcher.h" #include "video_capture/testcard.h" #include "video_capture/testcard2.h" #include "video_capture/v4l2.h" @@ -166,6 +167,15 @@ struct vidcap_device_api vidcap_device_table[] = { MK_STATIC(vidcap_import_grab), NULL }, + { + 0, + NULL, + MK_STATIC(vidcap_switcher_probe), + MK_STATIC(vidcap_switcher_init), + MK_STATIC(vidcap_switcher_done), + MK_STATIC(vidcap_switcher_grab), + NULL + }, #if defined HAVE_RTSP { 0, diff --git a/src/video_capture/switcher.c b/src/video_capture/switcher.c new file mode 100644 index 000000000..e556bb5ea --- /dev/null +++ b/src/video_capture/switcher.c @@ -0,0 +1,190 @@ +/** + * @file video_capture/switcher.c + * @author Martin Pulec + */ +/* + * Copyright (c) 2014 CESNET z.s.p.o. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, is permitted provided that the following conditions + * are met: + * + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * + * 3. Neither the name of CESNET nor the names of its contributors may be + * used to endorse or promote products derived from this software without + * specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE AUTHORS AND CONTRIBUTORS + * "AS IS" AND ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, + * BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY + * AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO + * EVENT SHALL THE AUTHORS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, + * INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR + * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, + * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ +#include "host.h" +#include "config.h" +#include "config_unix.h" +#include "config_win32.h" + +#include "debug.h" +#include "video.h" +#include "video_capture.h" + +#include "tv.h" + +#include "video_capture/switcher.h" +#include "audio/audio.h" +#include "module.h" + +#include +#include + +/* prototypes of functions defined in this module */ +static void show_help(void); + +static void show_help() +{ + printf("switcher capture\n"); + printf("Usage\n"); + printf("\t-t switcher -t -t ....]\n"); + printf("\t\twhere devn_config is a configuration of device to be switched\n"); + +} + +struct vidcap_switcher_state { + struct module mod; + struct vidcap **devices; + int devices_cnt; + + int selected_device; +}; + + +struct vidcap_type * +vidcap_switcher_probe(void) +{ + struct vidcap_type* vt; + + vt = (struct vidcap_type *) malloc(sizeof(struct vidcap_type)); + if (vt != NULL) { + vt->id = 0x1D3E1956; + vt->name = "switcher"; + vt->description = "Video switcher pseudodevice"; + } + return vt; +} + +void * +vidcap_switcher_init(const struct vidcap_params *params) +{ + struct vidcap_switcher_state *s; + int i; + + printf("vidcap_switcher_init\n"); + + s = (struct vidcap_switcher_state *) calloc(1, sizeof(struct vidcap_switcher_state)); + if(s == NULL) { + printf("Unable to allocate switcher capture state\n"); + return NULL; + } + + if(vidcap_params_get_fmt(params) && strcmp(vidcap_params_get_fmt(params), "") != 0) { + show_help(); + return &vidcap_init_noerr; + } + + s->devices_cnt = 0; + const struct vidcap_params *tmp = params; + while((tmp = vidcap_params_get_next(tmp))) { + if (vidcap_params_get_driver(tmp) != NULL) + s->devices_cnt++; + else + break; + } + + s->devices = calloc(s->devices_cnt, sizeof(struct vidcap *)); + i = 0; + tmp = params; + for (int i = 0; i < s->devices_cnt; ++i) { + tmp = vidcap_params_get_next(tmp); + + int ret = initialize_video_capture(NULL, tmp, &s->devices[i]); + if(ret != 0) { + fprintf(stderr, "[switcher] Unable to initialize device %d (%s:%s).\n", + i, vidcap_params_get_driver(tmp), + vidcap_params_get_fmt(tmp)); + goto error; + } + } + + module_init_default(&s->mod); + s->mod.cls = MODULE_CLASS_DATA; + module_register(&s->mod, vidcap_params_get_parent(params)); + + return s; + +error: + if(s->devices) { + int i; + for (i = 0u; i < s->devices_cnt; ++i) { + if(s->devices[i]) { + vidcap_done(s->devices[i]); + } + } + } + free(s); + return NULL; +} + +void +vidcap_switcher_done(void *state) +{ + struct vidcap_switcher_state *s = (struct vidcap_switcher_state *) state; + + assert(s != NULL); + + if (s != NULL) { + int i; + for (i = 0; i < s->devices_cnt; ++i) { + vidcap_done(s->devices[i]); + } + } + module_done(&s->mod); + free(s); +} + +struct video_frame * +vidcap_switcher_grab(void *state, struct audio_frame **audio) +{ + struct vidcap_switcher_state *s = (struct vidcap_switcher_state *) state; + struct audio_frame *audio_frame = NULL; + struct video_frame *frame = NULL; + + struct message *msg; + while ((msg = check_message(&s->mod))) { + struct msg_universal *msg_univ = (struct msg_universal *) msg; + int new_selected_device = atoi(msg_univ->text); + if (new_selected_device >= 0 && new_selected_device < s->devices_cnt) + s->selected_device = new_selected_device; + free_message(msg); + } + + frame = vidcap_grab(s->devices[s->selected_device], &audio_frame); + *audio = audio_frame;; + + return frame; +} + diff --git a/src/video_capture/switcher.h b/src/video_capture/switcher.h new file mode 100644 index 000000000..3c0514b61 --- /dev/null +++ b/src/video_capture/switcher.h @@ -0,0 +1,42 @@ +/** + * @file video_capture/switcher.h + * @author Martin Pulec + */ +/* + * Copyright (c) 2014 CESNET z.s.p.o. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, is permitted provided that the following conditions + * are met: + * + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * + * 3. Neither the name of CESNET nor the names of its contributors may be + * used to endorse or promote products derived from this software without + * specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE AUTHORS AND CONTRIBUTORS + * "AS IS" AND ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, + * BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY + * AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO + * EVENT SHALL THE AUTHORS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, + * INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR + * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, + * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +struct vidcap_type *vidcap_switcher_probe(void); +void *vidcap_switcher_init(const struct vidcap_params *params); +void vidcap_switcher_done(void *state); +struct video_frame *vidcap_switcher_grab(void *state, struct audio_frame **audio); + From 45c89b5f70e9080c9a410aa2a7bc315f47d2ef1d Mon Sep 17 00:00:00 2001 From: Martin Pulec Date: Tue, 29 Apr 2014 20:49:52 +0200 Subject: [PATCH 14/27] Added switcher keyboard control --- Makefile.in | 8 +- configure.ac | 3 +- src/switcher_control_keyboard.c | 156 ++++++++++++++++++++++++++++++++ 3 files changed, 163 insertions(+), 4 deletions(-) create mode 100644 src/switcher_control_keyboard.c diff --git a/Makefile.in b/Makefile.in index bcda27497..e198b71ef 100644 --- a/Makefile.in +++ b/Makefile.in @@ -158,9 +158,10 @@ REFLECTOR_OBJS = src/hd-rum-translator/hd-rum-decompress.o \ src/hd-rum-translator/hd-rum-translator.o IMPORT_CONTROL_KEYBOARD_OBJS = src/import_control_keyboard.o +SWITCHER_CONTROL_KEYBOARD_OBJS = src/switcher_control_keyboard.o # ------------------------------------------------------------------------------------------------- -all: $(TARGET) $(GUI_TARGET) bin/import_control_keyboard $(REFLECTOR_TARGET) modules ag-plugins configure-messages +all: $(TARGET) $(GUI_TARGET) bin/import_control_keyboard bin/switcher_control_keyboard $(REFLECTOR_TARGET) modules ag-plugins configure-messages modules: @LIB_TARGETS@ @@ -172,7 +173,10 @@ $(TARGET): bindir $(OBJS) $(ULTRAGRID_OBJS) $(GENERATED_HEADERS) if [ -n "@DLL_LIBS@" ]; then $(INSTALL) -m 644 @DLL_LIBS@ bin; fi bin/import_control_keyboard: bindir $(IMPORT_CONTROL_KEYBOARD_OBJS) - $(LINKER) $(LDFLAGS) $(IMPORT_CONTROL_KEYBOARD_OBJS) @IMPORT_CONTROL_KEYBOARD_LIBS@ -o $@ + $(LINKER) $(LDFLAGS) $(IMPORT_CONTROL_KEYBOARD_OBJS) @NCURSES_LIBS@ -o $@ + +bin/switcher_control_keyboard: bindir $(SWITCHER_CONTROL_KEYBOARD_OBJS) + $(LINKER) $(LDFLAGS) $(SWITCHER_CONTROL_KEYBOARD_OBJS) @NCURSES_LIBS@ -o $@ -pthread $(REFLECTOR_TARGET): bindir $(OBJS) $(GENERATED_HEADERS) $(REFLECTOR_OBJS) $(LINKER) $(LDFLAGS) $(OBJS) $(REFLECTOR_OBJS) $(LIBS) -o $@ diff --git a/configure.ac b/configure.ac index 077c32003..2c8657bae 100644 --- a/configure.ac +++ b/configure.ac @@ -2578,11 +2578,10 @@ if test $system = Linux -o $system = MacOSX; then if test $FOUND_NCURSES = yes; then AC_DEFINE([HAVE_NCURSES], [1], [Build with ncurses support]) - IMPORT_CONTROL_KEYBOARD_LIBS="$NCURSES_LIBS" fi fi -AC_SUBST(IMPORT_CONTROL_KEYBOARD_LIBS) +AC_SUBST(NCURSES_LIBS) # ------------------------------------------------------------------------------------------------- # OpenSSL-libcrypto diff --git a/src/switcher_control_keyboard.c b/src/switcher_control_keyboard.c new file mode 100644 index 000000000..7e9c9b096 --- /dev/null +++ b/src/switcher_control_keyboard.c @@ -0,0 +1,156 @@ +#ifdef HAVE_CONFIG_H +#include "config.h" +#include "config_unix.h" +#include "config_win32.h" +#endif // HAVE_CONFIG_H + + +#ifdef HAVE_NCURSES + +#include + +#include +#include +#include "debug.h" + +void usage(const char *progname); +int main(int argc, char *argv[]); +void sig_handler(int signal); + +void usage(const char *progname) { + printf("Usage: %s \n", progname); +} + +int fd = -1;// = socket(AF_INET6, SOCK_STREAM, 0); + +void sig_handler(int signal) { + UNUSED(signal); + close(fd); + endwin(); + exit(EXIT_SUCCESS); +} + +static void *reading_thread(void *arg) { + UNUSED(arg); + ssize_t bytes; + char buf[1024]; + while ((bytes = recv(fd, buf, sizeof(buf), 0)) > 0) { + write(1, buf, bytes); + } + return NULL; +} + +int main(int argc, char *argv[]) +{ + pthread_t reading_thread_id; + + if(argc != 3) { + usage(argv[0]); + return EXIT_FAILURE; + } + + signal(SIGINT, sig_handler); + signal(SIGPIPE, sig_handler); + + const char *hostname = argv[1]; + uint16_t port = atoi(argv[2]); + + struct addrinfo hints, *res, *res0; + int err; + + memset(&hints, 0, sizeof(hints)); + hints.ai_family = AF_UNSPEC; + hints.ai_socktype = SOCK_STREAM; + const char *port_str = argv[2]; + err = getaddrinfo(hostname, port_str, &hints, &res0); + + if(err) { + fprintf(stderr, "getaddrinfo: %s\n", gai_strerror(err)); + return EXIT_FAILURE; + } + + char what[1024]; + + for (res = res0; res; res = res->ai_next) { + fd = socket(res->ai_family, res->ai_socktype, res->ai_protocol); + if (fd < 0) { + snprintf(what, 1024, "socket failed: %s", strerror(errno)); + continue; + } + + if(connect(fd, res->ai_addr, res->ai_addrlen) == -1) { + fd = -1; + + snprintf(what, 1024, "connect failed: %s:%d :%s", hostname, port, strerror(errno)); + continue; + } + + break; /* okay we got one */ + } + + freeaddrinfo(res0); + + if(fd < 0 ) { + fprintf(stderr, "%s\n", what); + return EXIT_FAILURE; + } + + initscr(); + keypad(stdscr, TRUE); + scrollok(stdscr, TRUE); + + pthread_create(&reading_thread_id, NULL, reading_thread, NULL); + + while (1) { + char message[1024] = { '\0' }; + int key = getch(); + switch(key) { + case '0': + case '1': + case '2': + case '3': + case '4': + case '5': + case '6': + case '7': + case '8': + case '9': + snprintf(message, 1024, "capture.data %d", + key - '0'); + break; + case 'q': + goto finish; + default: + printw("Unknown key: %d\n", key); + } + + if(strlen(message) > 0) { + printw("Sent message: \"%s\"\n", message); + ssize_t total_written = 0; + do { + ssize_t ret = write(fd, message, strlen(message)+1 - total_written); + if(ret <= 0) { + perror("Error sending command"); + goto finish; + } + total_written += ret; + } while(total_written < (int) strlen(message) + 1); + } + } + +finish: + pthread_cancel(reading_thread_id); + pthread_join(reading_thread_id, NULL); + + close(fd); + endwin(); + + return EXIT_SUCCESS; +} + +#else // ! HAVE_NCURSES +#include +int main () { fprintf(stderr, "Recompile with ncurses support!\n"); return 1; } + +#endif // HAVE_NCURSES + From 98c4af45ac910cadd551176944bb987cc0cd9f39 Mon Sep 17 00:00:00 2001 From: Martin Pulec Date: Wed, 30 Apr 2014 23:30:33 +0200 Subject: [PATCH 15/27] V4L2: move to dispose capture API --- src/video_capture/v4l2.c | 120 ++++++++++++++++++++++----------------- 1 file changed, 68 insertions(+), 52 deletions(-) diff --git a/src/video_capture/v4l2.c b/src/video_capture/v4l2.c index 189524c59..c5052b1c8 100644 --- a/src/video_capture/v4l2.c +++ b/src/video_capture/v4l2.c @@ -81,15 +81,13 @@ void print_fps(int fd, struct v4l2_frmivalenum *param); #define BUF_COUNT 2 struct vidcap_v4l2_state { - struct video_frame *frame; - struct tile *tile; + struct video_desc desc; int fd; struct { void *start; size_t length; } buffers[BUF_COUNT]; - struct v4l2_buffer v4l2_dequeued_buffer; bool conversion_needed; struct v4lconvert_data *convert; @@ -316,7 +314,6 @@ void * vidcap_v4l2_init(const struct vidcap_params *params) } } - s->frame = NULL; s->fd = open(dev_name, O_RDWR); if(s->fd == -1) { @@ -410,49 +407,48 @@ void * vidcap_v4l2_init(const struct vidcap_params *params) goto error_fd; } - s->frame = vf_alloc(1); - s->tile = vf_get_tile(s->frame, 0); + s->desc.tile_count = 1; s->conversion_needed = false; switch(fmt.fmt.pix.pixelformat) { case V4L2_PIX_FMT_YUYV: - s->frame->color_spec = YUYV; + s->desc.color_spec = YUYV; break; case V4L2_PIX_FMT_UYVY: - s->frame->color_spec = UYVY; + s->desc.color_spec = UYVY; break; case V4L2_PIX_FMT_RGB24: - s->frame->color_spec = RGB; + s->desc.color_spec = RGB; break; case V4L2_PIX_FMT_RGB32: - s->frame->color_spec = RGBA; + s->desc.color_spec = RGBA; break; case V4L2_PIX_FMT_MJPEG: - s->frame->color_spec = MJPG; + s->desc.color_spec = MJPG; break; case V4L2_PIX_FMT_H264: - s->frame->color_spec = H264; + s->desc.color_spec = H264; break; default: s->conversion_needed = true; s->dst_fmt.fmt.pix.pixelformat = V4L2_PIX_FMT_RGB24; - s->frame->color_spec = RGB; + s->desc.color_spec = RGB; break; } switch(fmt.fmt.pix.field) { case V4L2_FIELD_NONE: - s->frame->interlacing = PROGRESSIVE; + s->desc.interlacing = PROGRESSIVE; break; case V4L2_FIELD_TOP: - s->frame->interlacing = UPPER_FIELD_FIRST; + s->desc.interlacing = UPPER_FIELD_FIRST; break; case V4L2_FIELD_BOTTOM: - s->frame->interlacing = LOWER_FIELD_FIRST; + s->desc.interlacing = LOWER_FIELD_FIRST; break; case V4L2_FIELD_INTERLACED: - s->frame->interlacing = INTERLACED_MERGED; + s->desc.interlacing = INTERLACED_MERGED; break; case V4L2_FIELD_SEQ_TB: case V4L2_FIELD_SEQ_BT: @@ -461,18 +457,14 @@ void * vidcap_v4l2_init(const struct vidcap_params *params) case V4L2_FIELD_INTERLACED_BT: default: fprintf(stderr, "[V4L2] Unsupported interlacing format reported from driver.\n"); - goto free_frame; + goto error_fd; } - s->frame->fps = (double) stream_params.parm.capture.timeperframe.denominator / + s->desc.fps = (double) stream_params.parm.capture.timeperframe.denominator / stream_params.parm.capture.timeperframe.numerator; - s->tile->width = fmt.fmt.pix.width; - s->tile->height = fmt.fmt.pix.height; + s->desc.width = fmt.fmt.pix.width; + s->desc.height = fmt.fmt.pix.height; if(s->conversion_needed) { - s->tile->data_len = vc_get_linesize(s->tile->width, s->frame->color_spec) * - s->tile->height; - s->tile->data = malloc(s->tile->data_len); - s->frame->data_deleter = vf_data_deleter; s->convert = v4lconvert_create(s->fd); } else { s->convert = NULL; @@ -490,14 +482,14 @@ void * vidcap_v4l2_init(const struct vidcap_params *params) printf("Video capturing or mmap-streaming is not supported\n"); else perror("VIDIOC_REQBUFS"); - goto free_frame; + goto error_fd; } if (reqbuf.count < 2) { /* You may need to free the buffers here. */ printf("Not enough buffer memory\n"); - goto free_frame; + goto error_fd; } for (unsigned int i = 0; i < reqbuf.count; i++) { @@ -509,7 +501,7 @@ void * vidcap_v4l2_init(const struct vidcap_params *params) if (-1 == ioctl (s->fd, VIDIOC_QUERYBUF, &buf)) { perror("VIDIOC_QUERYBUF"); - goto free_frame; + goto error_fd; } s->buffers[i].length = buf.length; /* remember for munmap() */ @@ -523,24 +515,20 @@ void * vidcap_v4l2_init(const struct vidcap_params *params) /* If you do not exit here you should unmap() and free() the buffers mapped so far. */ perror("mmap"); - goto free_frame; + goto error_fd; } buf.flags = 0; - if (i < reqbuf.count - 1) { - if(ioctl(s->fd, VIDIOC_QBUF, &buf) != 0) { - perror("Unable to enqueue buffer"); - goto free_frame; - } - } else { - memcpy(&s->v4l2_dequeued_buffer, &buf, sizeof(buf)); + if(ioctl(s->fd, VIDIOC_QBUF, &buf) != 0) { + perror("Unable to enqueue buffer"); + goto error_fd; } } if(ioctl(s->fd, VIDIOC_STREAMON, &reqbuf.type) != 0) { perror("Unable to start stream"); - goto free_frame; + goto error_fd; }; gettimeofday(&s->t0, NULL); @@ -550,8 +538,6 @@ void * vidcap_v4l2_init(const struct vidcap_params *params) return s; -free_frame: - vf_free(s->frame); error_fd: close(s->fd); free(s); @@ -569,8 +555,6 @@ void vidcap_v4l2_done(void *state) close(s->fd); - vf_free(s->frame); - if(s->conversion_needed) { v4lconvert_destroy(s->convert); } @@ -578,16 +562,33 @@ void vidcap_v4l2_done(void *state) free(s); } +struct v4l2_dispose_deq_buffer_data { + int fd; + struct v4l2_buffer buf; +}; + +static void vidcap_v4l2_dispose_video_frame(struct video_frame *frame) { + struct v4l2_dispose_deq_buffer_data *data = + (struct v4l2_dispose_deq_buffer_data *) frame->dispose_udata; + if (data) { + if (ioctl(data->fd, VIDIOC_QBUF, &data->buf) != 0) { + perror("Unable to enqueue buffer"); + }; + free(data); + } else { + free(frame->tiles[0].data); + } + + vf_free(frame); +} + struct video_frame * vidcap_v4l2_grab(void *state, struct audio_frame **audio) { struct vidcap_v4l2_state *s = (struct vidcap_v4l2_state *) state; + struct video_frame *out; *audio = NULL; - if (ioctl(s->fd, VIDIOC_QBUF, &s->v4l2_dequeued_buffer) != 0) { - perror("Unable to enqueue buffer"); - }; - struct v4l2_buffer buf; memset(&buf, 0, sizeof(buf)); buf.type = V4L2_BUF_TYPE_VIDEO_CAPTURE; @@ -595,27 +596,42 @@ struct video_frame * vidcap_v4l2_grab(void *state, struct audio_frame **audio) if(ioctl(s->fd, VIDIOC_DQBUF, &buf) != 0) { perror("Unable to dequeue buffer"); + return NULL; }; - memcpy(&s->v4l2_dequeued_buffer, &buf, sizeof(buf)); + out = vf_alloc_desc(s->desc); + out->dispose = vidcap_v4l2_dispose_video_frame; if(!s->conversion_needed) { - s->tile->data = s->buffers[buf.index].start; - s->tile->data_len = buf.bytesused; + struct v4l2_dispose_deq_buffer_data *frame_data = + malloc(sizeof(struct v4l2_dispose_deq_buffer_data)); + frame_data->fd = s->fd; + memcpy(&frame_data->buf, &buf, sizeof(buf)); + out->tiles[0].data = s->buffers[frame_data->buf.index].start; + out->tiles[0].data_len = frame_data->buf.bytesused; + out->dispose_udata = frame_data; } else { + out->dispose_udata = NULL; + out->tiles[0].data = (char *) malloc(out->tiles[0].data_len); int ret = v4lconvert_convert(s->convert, &s->src_fmt, /* in */ &s->dst_fmt, /* in */ s->buffers[buf.index].start, buf.bytesused, - (unsigned char *) s->tile->data, - s->tile->data_len); + (unsigned char *) out->tiles[0].data, + out->tiles[0].data_len); + + // we do not need the driver buffer any more + if (ioctl(s->fd, VIDIOC_QBUF, &buf) != 0) { + perror("Unable to enqueue buffer"); + }; + if(ret == -1) { fprintf(stderr, "Error converting video.\n"); return NULL; } - s->tile->data_len = ret; + out->tiles[0].data_len = ret; } s->frames++; @@ -631,6 +647,6 @@ struct video_frame * vidcap_v4l2_grab(void *state, struct audio_frame **audio) } - return s->frame; + return out; } From 5131ccfbd348b83b49e81d64773ca5a1d05f6a53 Mon Sep 17 00:00:00 2001 From: Martin Pulec Date: Wed, 30 Apr 2014 23:56:33 +0200 Subject: [PATCH 16/27] V4L2: allow to specify number of buffers --- src/video_capture/v4l2.c | 103 ++++++++++++++++++++------------------- 1 file changed, 54 insertions(+), 49 deletions(-) diff --git a/src/video_capture/v4l2.c b/src/video_capture/v4l2.c index c5052b1c8..a3d8f5337 100644 --- a/src/video_capture/v4l2.c +++ b/src/video_capture/v4l2.c @@ -78,7 +78,8 @@ void print_fps(int fd, struct v4l2_frmivalenum *param); #define DEFAULT_DEVICE "/dev/video0" -#define BUF_COUNT 2 +#define DEFAULT_BUF_COUNT 2 +#define MAX_BUF_COUNT 30 struct vidcap_v4l2_state { struct video_desc desc; @@ -87,7 +88,7 @@ struct vidcap_v4l2_state { struct { void *start; size_t length; - } buffers[BUF_COUNT]; + } buffers[MAX_BUF_COUNT]; bool conversion_needed; struct v4lconvert_data *convert; @@ -133,9 +134,10 @@ static void show_help() { printf("V4L2 capture\n"); printf("Usage\n"); - printf("\t-t v4l2[:[::[:[:]]]]\n"); + printf("\t-t v4l2[:dev=][:fmt=][:size=x][:tpf=][:buffers=]\n"); printf("\t\tuse device for grab (default: %s)\n", DEFAULT_DEVICE); printf("\t\t - time per frame in format /\n"); + printf("\t\t - number of capture buffers to be used (default: %d)\n", DEFAULT_BUF_COUNT); for (int i = 0; i < 64; ++i) { char name[32]; @@ -252,6 +254,7 @@ void * vidcap_v4l2_init(const struct vidcap_params *params) height = 0; uint32_t numerator = 0, denominator = 0; + int buffer_count = DEFAULT_BUF_COUNT; printf("vidcap_v4l2_init\n"); @@ -274,43 +277,44 @@ void * vidcap_v4l2_init(const struct vidcap_params *params) char *init_fmt = tmp; char *save_ptr = NULL; char *item; - int i = 0; while((item = strtok_r(init_fmt, ":", &save_ptr))) { - int len; - switch (i) { - case 0: - dev_name = item; - break; - case 1: - { + if (strncmp(item, "dev=", + strlen("dev=")) == 0) { + dev_name = item + strlen("dev="); + } else if (strncmp(item, "fmt=", + strlen("fmt=")) == 0) { + char *fmt = item + strlen("fmt="); union { uint32_t fourcc; char str[4]; } str_to_uint; - len = 4; - if(strlen(item) < 4) len = strlen(item); + int len = 4; + if(strlen(fmt) < 4) len = strlen(fmt); memset(str_to_uint.str, 0, 4); - memcpy(str_to_uint.str, item, len); + memcpy(str_to_uint.str, fmt, len); pixelformat = str_to_uint.fourcc; - } - break; - case 2: - width = atoi(item); - break; - case 3: - height = atoi(item); - break; - case 4: + } else if (strncmp(item, "size=", + strlen("size=")) == 0) { + if(strchr(item, 'x')) { + width = atoi(item + strlen("size=")); + height = atoi(strchr(item, 'x') + 1); + } + } else if (strncmp(item, "tpf=", + strlen("tpf=")) == 0) { if(strchr(item, '/')) { - numerator = atoi(item); + numerator = atoi(item + strlen("tpf=")); denominator = atoi(strchr(item, '/') + 1); } - - break; - + } else if (strncmp(item, "buffers=", + strlen("buffers=")) == 0) { + buffer_count = atoi(item + strlen("buffers=")); + assert (buffer_count <= MAX_BUF_COUNT); + } else { + fprintf(stderr, "[V4L2] Invalid configuration argument: %s\n", + item); + return NULL; } init_fmt = NULL; - ++i; } } @@ -365,31 +369,32 @@ void * vidcap_v4l2_init(const struct vidcap_params *params) goto error_fd; } - if(pixelformat) { + if (pixelformat) { fmt.fmt.pix.pixelformat = pixelformat; + } - if(width != 0 && height != 0) { - fmt.fmt.pix.width = width; - fmt.fmt.pix.height = height; - } - fmt.fmt.pix.field = V4L2_FIELD_ANY; - fmt.fmt.pix.bytesperline = 0; + if(width != 0 && height != 0) { + fmt.fmt.pix.width = width; + fmt.fmt.pix.height = height; + } + + fmt.fmt.pix.field = V4L2_FIELD_ANY; + fmt.fmt.pix.bytesperline = 0; + + if(ioctl(s->fd, VIDIOC_S_FMT, &fmt) != 0) { + perror("[V4L2] Unable to set video formant"); + goto error_fd; + } + + if(numerator != 0 && denominator != 0) { + stream_params.parm.capture.timeperframe.numerator = numerator; + stream_params.parm.capture.timeperframe.denominator = denominator; + + if(ioctl(s->fd, VIDIOC_S_PARM, &stream_params) != 0) { + perror("[V4L2] Unable to set stream params"); - if(ioctl(s->fd, VIDIOC_S_FMT, &fmt) != 0) { - perror("[V4L2] Unable to set video formant"); goto error_fd; } - - if(numerator != 0 && denominator != 0) { - stream_params.parm.capture.timeperframe.numerator = numerator; - stream_params.parm.capture.timeperframe.denominator = denominator; - - if(ioctl(s->fd, VIDIOC_S_PARM, &stream_params) != 0) { - perror("[V4L2] Unable to set stream params"); - - goto error_fd; - } - } } memcpy(&s->src_fmt, &fmt, sizeof(fmt)); @@ -475,7 +480,7 @@ void * vidcap_v4l2_init(const struct vidcap_params *params) memset(&reqbuf, 0, sizeof(reqbuf)); reqbuf.type = V4L2_BUF_TYPE_VIDEO_CAPTURE; reqbuf.memory = V4L2_MEMORY_MMAP; - reqbuf.count = BUF_COUNT; + reqbuf.count = buffer_count; if (ioctl (s->fd, VIDIOC_REQBUFS, &reqbuf) != 0) { if (errno == EINVAL) From 57932e3825fbc22f6b3d9247158be70a901b9183 Mon Sep 17 00:00:00 2001 From: Martin Pulec Date: Mon, 12 May 2014 11:17:09 +0200 Subject: [PATCH 17/27] Libavcodec: fixed support for v54 --- configure.ac | 1 - src/audio/codec/libavcodec.c | 12 ++++++------ src/libavcodec_common.h | 2 +- src/video_compress/libavcodec.c | 14 +++++++------- 4 files changed, 14 insertions(+), 15 deletions(-) diff --git a/configure.ac b/configure.ac index 2c8657bae..b9dd1ee90 100644 --- a/configure.ac +++ b/configure.ac @@ -2498,7 +2498,6 @@ then SAVED_LIBS=$LIBS LIBAVCODEC_LIBS="$LIBAVCODEC_LIBS $LIBAVUTIL_LIBS" # append libavutil LIBS="$LIBS $LIBAVCODEC_LIBS" - AC_CHECK_FUNCS(avcodec_encode_video2) LIBS=$SAVED_LIBS else LIBAVCODEC_LIBS= diff --git a/src/audio/codec/libavcodec.c b/src/audio/codec/libavcodec.c index 23951b3e1..ba0cf6370 100644 --- a/src/audio/codec/libavcodec.c +++ b/src/audio/codec/libavcodec.c @@ -55,7 +55,7 @@ #include "audio/codec/libavcodec.h" #include -#if LIBAVCODEC_VERSION_MAJOR >= 55 +#if LIBAVCODEC_VERSION_MAJOR >= 54 #include #endif #include @@ -68,7 +68,7 @@ #define MAGIC 0xb135ca11 -#ifndef HAVE_AVCODEC_ENCODE_VIDEO2 +#if LIBAVCODEC_VERSION_MAJOR < 54 #define AV_CODEC_ID_PCM_ALAW CODEC_ID_PCM_ALAW #define AV_CODEC_ID_PCM_MULAW CODEC_ID_PCM_MULAW #define AV_CODEC_ID_ADPCM_IMA_WAV CODEC_ID_ADPCM_IMA_WAV @@ -101,7 +101,7 @@ static const audio_codec_t_to_codec_id_mapping_t mapping[] = [AC_MULAW] = { .codec_id = AV_CODEC_ID_PCM_MULAW }, [AC_ADPCM_IMA_WAV] = { .codec_id = AV_CODEC_ID_ADPCM_IMA_WAV }, [AC_SPEEX] = { .codec_id = AV_CODEC_ID_SPEEX }, -#if LIBAVCODEC_VERSION_MAJOR >= 55 +#if LIBAVCODEC_VERSION_MAJOR >= 54 [AC_OPUS] = { .codec_id = AV_CODEC_ID_OPUS }, #endif [AC_G722] = { .codec_id = AV_CODEC_ID_ADPCM_G722 }, @@ -247,7 +247,7 @@ static bool reinitialize_coder(struct libavcodec_codec_state *s, struct audio_de } s->codec_ctx->channels = 1; -#if LIBAVCODEC_VERSION_MAJOR >= 55 +#if LIBAVCODEC_VERSION_MAJOR >= 54 s->codec_ctx->channel_layout = AV_CH_LAYOUT_MONO; #endif @@ -266,7 +266,7 @@ static bool reinitialize_coder(struct libavcodec_codec_state *s, struct audio_de s->av_frame->nb_samples = s->codec_ctx->frame_size; s->av_frame->format = s->codec_ctx->sample_fmt; -#if LIBAVCODEC_VERSION_MAJOR >= 55 +#if LIBAVCODEC_VERSION_MAJOR >= 54 s->av_frame->channel_layout = AV_CH_LAYOUT_MONO; #endif @@ -460,7 +460,7 @@ static void libavcodec_done(void *state) free(s->tmp.data); av_free_packet(&s->pkt); av_freep(&s->samples); -#if LIBAVCODEC_VERSION_MAJOR >= 55 +#if LIBAVCODEC_VERSION_MAJOR >= 54 avcodec_free_frame(&s->av_frame); #else av_free(s->av_frame); diff --git a/src/libavcodec_common.h b/src/libavcodec_common.h index c2f906770..f716d46a6 100644 --- a/src/libavcodec_common.h +++ b/src/libavcodec_common.h @@ -13,7 +13,7 @@ #include #include -#if !defined(HAVE_AVCODEC_ENCODE_VIDEO2) || (LIBAVCODEC_VERSION_MAJOR < 55) +#if LIBAVCODEC_VERSION_MAJOR < 54 #define AV_PIX_FMT_NONE PIX_FMT_NONE #define AV_PIX_FMT_YUV420P PIX_FMT_YUV420P #define AV_PIX_FMT_YUV422P PIX_FMT_YUV422P diff --git a/src/video_compress/libavcodec.c b/src/video_compress/libavcodec.c index a1a6963ce..945e4f943 100644 --- a/src/video_compress/libavcodec.c +++ b/src/video_compress/libavcodec.c @@ -149,13 +149,13 @@ static int parse_fmt(struct state_video_compress_libav *s, char *fmt); static void cleanup(struct state_video_compress_libav *s); static void libavcodec_vid_enc_frame_dispose(struct video_frame *frame) { -#ifdef HAVE_AVCODEC_ENCODE_VIDEO2 +#if LIBAVCODEC_VERSION_MAJOR >= 54 AVPacket *pkt = (AVPacket *) frame->dispose_udata; av_free_packet(pkt); free(pkt); #else free(frame->tiles[0].data); -#endif // HAVE_AVCODEC_ENCODE_VIDEO2 +#endif // LIBAVCODEC_VERSION_MAJOR >= 54 vf_free(frame); } @@ -583,7 +583,7 @@ struct video_frame *libavcodec_compress_tile(struct module *mod, struct video_fr struct state_video_compress_libav *s = (struct state_video_compress_libav *) mod->priv_data; static int frame_seq = 0; int ret; -#ifdef HAVE_AVCODEC_ENCODE_VIDEO2 +#if LIBAVCODEC_VERSION_MAJOR >= 54 int got_output; #endif unsigned char *decoded; @@ -601,7 +601,7 @@ struct video_frame *libavcodec_compress_tile(struct module *mod, struct video_fr struct video_frame *out = vf_alloc_desc(s->compressed_desc); out->dispose = libavcodec_vid_enc_frame_dispose; -#ifdef HAVE_AVCODEC_ENCODE_VIDEO2 +#if LIBAVCODEC_VERSION_MAJOR >= 54 AVPacket *pkt = (AVPacket *) malloc(sizeof(AVPacket)); av_init_packet(pkt); pkt->data = NULL; @@ -610,7 +610,7 @@ struct video_frame *libavcodec_compress_tile(struct module *mod, struct video_fr #else out->tiles[0].data = malloc(s->compressed_desc.width * s->compressed_desc.height * 4); -#endif // HAVE_AVCODEC_ENCODE_VIDEO2 +#endif // LIBAVCODEC_VERSION_MAJOR >= 54 s->in_frame->pts = frame_seq++; @@ -657,7 +657,7 @@ struct video_frame *libavcodec_compress_tile(struct module *mod, struct video_fr } } -#ifdef HAVE_AVCODEC_ENCODE_VIDEO2 +#if LIBAVCODEC_VERSION_MAJOR >= 54 /* encode the image */ ret = avcodec_encode_video2(s->codec_ctx, pkt, s->in_frame, &got_output); @@ -689,7 +689,7 @@ struct video_frame *libavcodec_compress_tile(struct module *mod, struct video_fr } else { goto error; } -#endif // HAVE_AVCODEC_ENCODE_VIDEO2 +#endif // LIBAVCODEC_VERSION_MAJOR >= 54 platform_spin_unlock(&s->spin); From 346e65368cc49f8d05c8a9df1240ec5482232a75 Mon Sep 17 00:00:00 2001 From: Martin Pulec Date: Mon, 12 May 2014 11:31:08 +0200 Subject: [PATCH 18/27] Fixed splash macro handling --- src/video_display/gl.c | 3 ++- src/video_display/sdl.c | 3 ++- src/video_display/splashscreen.h | 6 +++--- 3 files changed, 7 insertions(+), 5 deletions(-) diff --git a/src/video_display/gl.c b/src/video_display/gl.c index 00da3fa78..62599e11a 100644 --- a/src/video_display/gl.c +++ b/src/video_display/gl.c @@ -264,6 +264,7 @@ static void gl_load_splashscreen(struct state_gl *s) gl_reconfigure_screen(s); for (int i = 0; i < 2; ++i) { + const char *data = splash_data; memset(s->buffers[i], 0, s->tile->data_len); for (unsigned int y = 0; y < splash_height; ++y) { char *line = s->buffers[i]; @@ -274,7 +275,7 @@ static void gl_load_splashscreen(struct state_gl *s) (s->tile->width - splash_width)/2, s->frame->color_spec); for (unsigned int x = 0; x < splash_width; ++x) { - HEADER_PIXEL(splash_data,line); + HEADER_PIXEL(data,line); line += 4; } } diff --git a/src/video_display/sdl.c b/src/video_display/sdl.c index c97a1caac..091f73623 100644 --- a/src/video_display/sdl.c +++ b/src/video_display/sdl.c @@ -168,10 +168,11 @@ static void loadSplashscreen(struct state_sdl *s) { #endif // load splash data + const char *data = splash_data; for (y_coord = 0; y_coord < splash_height; y_coord++) { for (x_coord = 0; x_coord < splash_width; x_coord++) { - HEADER_PIXEL(splash_data,pixel); + HEADER_PIXEL(data,pixel); Uint32 color = SDL_MapRGB(image->format, pixel[0], pixel[1], pixel[2]); switch(image->format->BytesPerPixel) { diff --git a/src/video_display/splashscreen.h b/src/video_display/splashscreen.h index 980e6c097..a5c405794 100644 --- a/src/video_display/splashscreen.h +++ b/src/video_display/splashscreen.h @@ -1,7 +1,7 @@ /* GIMP header image file format (RGB) */ -static unsigned int splash_width = 339; -static unsigned int splash_height = 195; +static const unsigned int splash_width = 339; +static const unsigned int splash_height = 195; /* Call this macro repeatedly. After each use, the pixel data can be extracted */ @@ -11,7 +11,7 @@ pixel[1] = ((((data[1] - 33) & 0xF) << 4) | ((data[2] - 33) >> 2)); \ pixel[2] = ((((data[2] - 33) & 0x3) << 6) | ((data[3] - 33))); \ data += 4; \ } -static char *splash_data = +static const char * const splash_data = "!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!" "!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!" "!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!" From 5039a596b26ec871a1bdc2e76876ae12bf8e7c09 Mon Sep 17 00:00:00 2001 From: Martin Pulec Date: Mon, 12 May 2014 15:43:49 +0200 Subject: [PATCH 19/27] Post merge fixes --- Makefile.in | 2 +- src/main.cpp | 58 +++++++------- src/rtp/pbuf.c | 165 ++++++++++++++++++++------------------- src/video_capture/rtsp.c | 4 +- 4 files changed, 114 insertions(+), 115 deletions(-) diff --git a/Makefile.in b/Makefile.in index 251a14cbc..e198b71ef 100644 --- a/Makefile.in +++ b/Makefile.in @@ -8,7 +8,7 @@ LINKER = @LINKER@ COMMON_FLAGS = -g @DEFS@ -DPATH_PREFIX=@prefix@ -DLIB_DIR=@libdir@ -Wall -Wextra -Wpointer-arith -msse2 CFLAGS = @CFLAGS@ @X_CFLAGS@ $(COMMON_FLAGS) -D_GNU_SOURCE CPPFLAGS = @CPPFLAGS@ -D_GNU_SOURCE -CXXFLAGS = @CXXFLAGS@ $(COMMON_FLAGS) -D_GNU_SOURCE +CXXFLAGS = @CXXFLAGS@ $(COMMON_FLAGS) -D_GNU_SOURCE NVCCFLAGS = @NVCCFLAGS@ LDFLAGS = @LDFLAGS@ LIBS += @LIBS@ @JACK_TRANS_LIB@ @MATHLIBS@ @COREAUDIO_LIB@ \ diff --git a/src/main.cpp b/src/main.cpp index c181d028c..66cba39bc 100644 --- a/src/main.cpp +++ b/src/main.cpp @@ -433,7 +433,6 @@ int main(int argc, char *argv[]) const char *requested_audio_fec = DEFAULT_AUDIO_FEC; char *audio_channel_map = NULL; const char *audio_scale = "mixauto"; - rtsp_serv_t* rtsp_server = NULL; bool isStd = FALSE; int recv_port_number = PORT_BASE; int send_port_number = PORT_BASE; @@ -461,8 +460,8 @@ int main(int argc, char *argv[]) pthread_t receiver_thread_id, capture_thread_id; - bool receiver_thread_started = false, - capture_thread_started = false; + bool receiver_thread_started = false, + capture_thread_started = false; unsigned display_flags = 0; int ret; struct vidcap_params *audio_cap_dev; @@ -552,11 +551,11 @@ int main(int argc, char *argv[]) return 0; } requested_display = optarg; - if(strchr(optarg, ':')) { - char *delim = strchr(optarg, ':'); - *delim = '\0'; - display_cfg = delim + 1; - } + if(strchr(optarg, ':')) { + char *delim = strchr(optarg, ':'); + *delim = '\0'; + display_cfg = delim + 1; + } break; case 't': if (!strcmp(optarg, "help")) { @@ -634,9 +633,9 @@ int main(int argc, char *argv[]) requested_video_fec = optarg; } break; - case 'h': - usage(); - return 0; + case 'h': + usage(); + return 0; case 'P': if(strchr(optarg, ':')) { char *save_ptr = NULL; @@ -826,17 +825,17 @@ int main(int argc, char *argv[]) } #ifdef WIN32 - WSADATA wsaData; - int err = WSAStartup(MAKEWORD(2, 2), &wsaData); - if(err != 0) { - fprintf(stderr, "WSAStartup failed with error %d.", err); - return EXIT_FAILURE; - } - if(LOBYTE(wsaData.wVersion) != 2 || HIBYTE(wsaData.wVersion) != 2) { - fprintf(stderr, "Counld not found usable version of Winsock.\n"); - WSACleanup(); - return EXIT_FAILURE; - } + WSADATA wsaData; + int err = WSAStartup(MAKEWORD(2, 2), &wsaData); + if(err != 0) { + fprintf(stderr, "WSAStartup failed with error %d.", err); + return EXIT_FAILURE; + } + if(LOBYTE(wsaData.wVersion) != 2 || HIBYTE(wsaData.wVersion) != 2) { + fprintf(stderr, "Counld not found usable version of Winsock.\n"); + WSACleanup(); + return EXIT_FAILURE; + } #endif if(control_init(control_port, &control, &root_mod) != 0) { @@ -952,11 +951,14 @@ int main(int argc, char *argv[]) display_device, requested_mtu, argc, argv); }else if (video_protocol == H264_STD) { - rtps_types_t avType; - if(strcmp("none", vidcap_params_get_driver(vidcap_params_head)) != 0 && (strcmp("none",audio_send) != 0)) avType = avStdDyn; //AVStream - else if((strcmp("none",audio_send) != 0)) avType = audioPCMUdyn; //AStream + rtps_types_t avType; + if(strcmp("none", vidcap_params_get_driver(vidcap_params_head)) != 0 && (strcmp("none",audio_send) != 0)) avType = avStdDyn; //AVStream + else if((strcmp("none",audio_send) != 0)) avType = audioPCMUdyn; //AStream else if(strcmp("none", vidcap_params_get_driver(vidcap_params_head))) avType = videoH264; //VStream - else printf("[RTSP SERVER CHECK] no stream type... check capture devices input...\n"); + else { + printf("[RTSP SERVER CHECK] no stream type... check capture devices input...\n"); + return EXIT_FAIL_USAGE; + } uv->state_video_rxtx = new h264_rtp_video_rxtx(&root_mod, video_exporter, requested_compression, requested_encryption, @@ -1058,10 +1060,6 @@ cleanup: vidcap_params_head = next; } -#ifdef HAVE_RTSP_SERVER - if(rtsp_server) c_stop_server(rtsp_server); -#endif - module_done(&root_mod); free(uv); diff --git a/src/rtp/pbuf.c b/src/rtp/pbuf.c index 46878b016..6120ca06e 100644 --- a/src/rtp/pbuf.c +++ b/src/rtp/pbuf.c @@ -174,60 +174,60 @@ struct pbuf *pbuf_init(void) static void add_coded_unit(struct pbuf_node *node, rtp_packet * pkt) { - /* Add "pkt" to the frame represented by "node". The "node" has */ - /* previously been created, and has some coded data already... */ + /* Add "pkt" to the frame represented by "node". The "node" has */ + /* previously been created, and has some coded data already... */ - /* New arrivals are added at the head of the list, which is stored */ - /* in descending order of packets as they arrive (NOT necessarily */ - /* descending sequence number order, as the network might reorder) */ + /* New arrivals are added at the head of the list, which is stored */ + /* in descending order of packets as they arrive (NOT necessarily */ + /* descending sequence number order, as the network might reorder) */ - struct coded_data *tmp, *curr, *prv; + struct coded_data *tmp, *curr, *prv; - assert(node->rtp_timestamp == pkt->ts); - assert(node->cdata != NULL); + assert(node->rtp_timestamp == pkt->ts); + assert(node->cdata != NULL); - tmp = malloc(sizeof(struct coded_data)); - if (tmp == NULL) { - /* this is bad, out of memory, drop the packet... */ - free(pkt); - return; - } - - tmp->seqno = pkt->seq; - tmp->data = pkt; - node->mbit |= pkt->m; - if((int16_t)(tmp->seqno - node->cdata->seqno) > 0){ - tmp->prv = NULL; - tmp->nxt = node->cdata; - node->cdata->prv = tmp; - node->cdata = tmp; - } else { - curr = node->cdata; - if (curr == NULL){ - /* this is bad, out of memory, drop the packet... */ - free(pkt); - free_cdata(tmp); - } else { - while (curr != NULL && ((int16_t)(tmp->seqno - curr->seqno) < 0)){ - prv = curr; - curr = curr->nxt; - } - if (curr == NULL) { - tmp->nxt = NULL; - tmp->prv = prv; - prv->nxt = tmp; - }else if ((int16_t)(tmp->seqno - curr->seqno) > 0){ - tmp->nxt = curr; - tmp->prv = curr->prv; - tmp->prv->nxt = tmp; - curr->prv = tmp; - } else { - /* this is bad, something went terribly wrong... */ + tmp = malloc(sizeof(struct coded_data)); + if (tmp == NULL) { + /* this is bad, out of memory, drop the packet... */ free(pkt); - free_cdata(tmp); - } + return; + } + + tmp->seqno = pkt->seq; + tmp->data = pkt; + node->mbit |= pkt->m; + if((int16_t)(tmp->seqno - node->cdata->seqno) > 0){ + tmp->prv = NULL; + tmp->nxt = node->cdata; + node->cdata->prv = tmp; + node->cdata = tmp; + } else { + curr = node->cdata; + if (curr == NULL){ + /* this is bad, out of memory, drop the packet... */ + free(pkt); + free_cdata(tmp); + } else { + while (curr != NULL && ((int16_t)(tmp->seqno - curr->seqno) < 0)){ + prv = curr; + curr = curr->nxt; + } + if (curr == NULL) { + tmp->nxt = NULL; + tmp->prv = prv; + prv->nxt = tmp; + }else if ((int16_t)(tmp->seqno - curr->seqno) > 0){ + tmp->nxt = curr; + tmp->prv = curr->prv; + tmp->prv->nxt = tmp; + curr->prv = tmp; + } else { + /* this is bad, something went terribly wrong... */ + free(pkt); + free_cdata(tmp); + } + } } - } } static struct pbuf_node *create_new_pnode(rtp_packet * pkt, double playout_delay) @@ -316,42 +316,43 @@ void pbuf_insert(struct pbuf *playout_buf, rtp_packet * pkt) } if (playout_buf->last->rtp_timestamp < pkt->ts) { - /* Packet belongs to a new frame... */ - tmp = create_new_pnode(pkt, playout_buf->playout_delay); - playout_buf->last->nxt = tmp; - tmp->prv = playout_buf->last; - playout_buf->last = tmp; + /* Packet belongs to a new frame... */ + tmp = create_new_pnode(pkt, playout_buf->playout_delay); + playout_buf->last->nxt = tmp; + playout_buf->last->completed = true; + tmp->prv = playout_buf->last; + playout_buf->last = tmp; } else { - /* Packet belongs to a previous frame... */ - curr = playout_buf->last; - while(curr != playout_buf->frst && curr->rtp_timestamp > pkt->ts){ - curr = curr->prv; - } - - if (curr->rtp_timestamp == pkt->ts) { - /* Packet belongs to a previous existing frame... */ - add_coded_unit(curr, pkt); - } else if (curr->rtp_timestamp < pkt->ts){ - /* Packet belongs to a new previous frame */ - tmp = create_new_pnode(pkt, playout_buf->playout_delay); - tmp->nxt = curr->nxt; - tmp->prv = curr; - curr->nxt->prv = tmp; - curr->nxt = tmp; - } else if (curr == playout_buf->frst) { - tmp = create_new_pnode(pkt, playout_buf->playout_delay); - tmp->nxt = playout_buf->frst; - curr->prv = tmp; - playout_buf->frst = tmp; - - } else { - - if (pkt->m) { - debug_msg - ("Oops... dropped packet with M bit set\n"); + /* Packet belongs to a previous frame... */ + curr = playout_buf->last; + while(curr != playout_buf->frst && curr->rtp_timestamp > pkt->ts){ + curr = curr->prv; + } + + if (curr->rtp_timestamp == pkt->ts) { + /* Packet belongs to a previous existing frame... */ + add_coded_unit(curr, pkt); + } else if (curr->rtp_timestamp < pkt->ts){ + /* Packet belongs to a new previous frame */ + tmp = create_new_pnode(pkt, playout_buf->playout_delay); + tmp->nxt = curr->nxt; + tmp->prv = curr; + curr->nxt->prv = tmp; + curr->nxt = tmp; + } else if (curr == playout_buf->frst) { + tmp = create_new_pnode(pkt, playout_buf->playout_delay); + tmp->nxt = playout_buf->frst; + curr->prv = tmp; + playout_buf->frst = tmp; + + } else { + + if (pkt->m) { + debug_msg + ("Oops... dropped packet with M bit set\n"); + } + free(pkt); } - free(pkt); - } } pbuf_validate(playout_buf); } diff --git a/src/video_capture/rtsp.c b/src/video_capture/rtsp.c index 3ce9693bb..50e4d5bcf 100644 --- a/src/video_capture/rtsp.c +++ b/src/video_capture/rtsp.c @@ -797,7 +797,7 @@ void setup_codecs_and_controls_from_sdp(const char *sdp_filename, void *state) { if(fp == 0){ printf("unable to open asset %s", sdp_filename); fclose(fp); - return -1; + return; } fseek(fp, 0, SEEK_END); unsigned long fileSize = ftell(fp); @@ -808,7 +808,7 @@ void setup_codecs_and_controls_from_sdp(const char *sdp_filename, void *state) { if(readResult != fileSize){ printf("something bad happens, read result != file size"); - return -1; + return; } buffer[fileSize] = '\0'; From 9949e4cf9703a31399ccb7b9f786f27d4517b78b Mon Sep 17 00:00:00 2001 From: Martin Pulec Date: Mon, 12 May 2014 15:45:45 +0200 Subject: [PATCH 20/27] Pbuf: some modifications in pbuf_insert() --- src/rtp/pbuf.c | 68 ++++++++++++++++++++++++++------------------------ 1 file changed, 35 insertions(+), 33 deletions(-) diff --git a/src/rtp/pbuf.c b/src/rtp/pbuf.c index 6120ca06e..ebc41423f 100644 --- a/src/rtp/pbuf.c +++ b/src/rtp/pbuf.c @@ -269,7 +269,6 @@ static struct pbuf_node *create_new_pnode(rtp_packet * pkt, double playout_delay void pbuf_insert(struct pbuf *playout_buf, rtp_packet * pkt) { struct pbuf_node *tmp; - struct pbuf_node *curr; pbuf_validate(playout_buf); @@ -315,43 +314,46 @@ void pbuf_insert(struct pbuf *playout_buf, rtp_packet * pkt) return; } - if (playout_buf->last->rtp_timestamp < pkt->ts) { - /* Packet belongs to a new frame... */ - tmp = create_new_pnode(pkt, playout_buf->playout_delay); - playout_buf->last->nxt = tmp; - playout_buf->last->completed = true; - tmp->prv = playout_buf->last; - playout_buf->last = tmp; + if (playout_buf->last->rtp_timestamp == pkt->ts) { + /* Packet belongs to last frame in playout_buf this is the */ + /* most likely scenario - although... */ + add_coded_unit(playout_buf->last, pkt); } else { - /* Packet belongs to a previous frame... */ - curr = playout_buf->last; - while(curr != playout_buf->frst && curr->rtp_timestamp > pkt->ts){ - curr = curr->prv; - } - - if (curr->rtp_timestamp == pkt->ts) { - /* Packet belongs to a previous existing frame... */ - add_coded_unit(curr, pkt); - } else if (curr->rtp_timestamp < pkt->ts){ - /* Packet belongs to a new previous frame */ + if (playout_buf->last->rtp_timestamp < pkt->ts) { + /* Packet belongs to a new frame... */ tmp = create_new_pnode(pkt, playout_buf->playout_delay); - tmp->nxt = curr->nxt; - tmp->prv = curr; - curr->nxt->prv = tmp; - curr->nxt = tmp; - } else if (curr == playout_buf->frst) { - tmp = create_new_pnode(pkt, playout_buf->playout_delay); - tmp->nxt = playout_buf->frst; - curr->prv = tmp; - playout_buf->frst = tmp; - + playout_buf->last->nxt = tmp; + playout_buf->last->completed = true; + tmp->prv = playout_buf->last; + playout_buf->last = tmp; } else { - - if (pkt->m) { + bool discard_pkt = false; + /* Packet belongs to a previous frame... */ + if (playout_buf->frst->rtp_timestamp > pkt->ts) { + debug_msg("A very old packet - discarded\n"); + discard_pkt = true; + } else { debug_msg - ("Oops... dropped packet with M bit set\n"); + ("A packet for a previous frame, but might still be useful\n"); + struct pbuf_node *curr = playout_buf->last; + while(curr != playout_buf->frst && curr->rtp_timestamp > pkt->ts){ + curr = curr->prv; + } + if (curr->rtp_timestamp == pkt->ts) { + /* Packet belongs to a previous existing frame... */ + add_coded_unit(curr, pkt); + } else { + /* Packet belongs to a frame that is not present */ + discard_pkt = true; + } + } + if (pkt->m && discard_pkt) { + debug_msg + ("Oops... dropped packet with M bit set\n"); + } + if (discard_pkt) { + free(pkt); } - free(pkt); } } pbuf_validate(playout_buf); From 29966a6209afa2100db855b0246aa08e10f6a75c Mon Sep 17 00:00:00 2001 From: Martin Pulec Date: Thu, 15 May 2014 11:03:43 +0200 Subject: [PATCH 21/27] ALSA: fixed period size setting --- src/audio/playback/alsa.c | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) diff --git a/src/audio/playback/alsa.c b/src/audio/playback/alsa.c index ad50ddca9..b21180fc3 100644 --- a/src/audio/playback/alsa.c +++ b/src/audio/playback/alsa.c @@ -161,7 +161,7 @@ int audio_play_alsa_reconfigure(void *state, int quant_samples, int channels, rc = snd_pcm_hw_params_set_rate_resample(s->handle, params, val); if(rc < 0) { - fprintf(stderr, "[ALSA play.] Warnings: Unable to set resampling: %s\n", + fprintf(stderr, "[ALSA play.] Warning: Unable to set resampling: %s\n", snd_strerror(rc)); } @@ -177,18 +177,19 @@ int audio_play_alsa_reconfigure(void *state, int quant_samples, int channels, return FALSE; } - /* Set period size to 1 frame. */ + /* Set period to its minimal size. + * Do not use snd_pcm_hw_params_set_period_size_near, + * since it allows to set also unsupported value without notifying. + * See also http://www.alsa-project.org/main/index.php/FramesPeriods */ frames = 1; dir = 1; - rc = snd_pcm_hw_params_set_period_size_near(s->handle, + rc = snd_pcm_hw_params_set_period_time_min(s->handle, params, &frames, &dir); if (rc < 0) { - fprintf(stderr, "cannot set period time: %s\n", + fprintf(stderr, "[ALSA play.] Warning: cannot set period time: %s\n", snd_strerror(rc)); - return FALSE; } - val = BUFFER_MIN * 1000; dir = 1; rc = snd_pcm_hw_params_set_buffer_time_min(s->handle, params, From cea95a5ed06479d452df26864dc96831cecf9d50 Mon Sep 17 00:00:00 2001 From: Martin Pulec Date: Thu, 15 May 2014 14:55:24 +0200 Subject: [PATCH 22/27] net_udp.c: reallow SO_REUSEADDR/SO_REUSEPORT --- src/rtp/net_udp.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/src/rtp/net_udp.c b/src/rtp/net_udp.c index e6af79514..f08a930dc 100644 --- a/src/rtp/net_udp.c +++ b/src/rtp/net_udp.c @@ -349,7 +349,9 @@ static socket_udp *udp_init4(const char *addr, const char *iface, sizeof(udpbufsize)) != 0) { debug_msg("WARNING: Unable to increase UDP recvbuffer\n"); } -#if 0 +// please note that we currently need these 2 options on MSW if we want +// to re-bind socket on runtime, otherwise bind() would return an error if +// binding to same port that was previously bound and closed #ifdef SO_REUSEPORT if (SETSOCKOPT (s->fd, SOL_SOCKET, SO_REUSEPORT, (int *)&reuse, @@ -364,7 +366,6 @@ static socket_udp *udp_init4(const char *addr, const char *iface, socket_error("setsockopt SO_REUSEADDR"); return NULL; } -#endif s_in.sin_family = AF_INET; s_in.sin_addr.s_addr = INADDR_ANY; s_in.sin_port = htons(rx_port); From 4b40c82de37d1cfe993363244d85cf6591c7e049 Mon Sep 17 00:00:00 2001 From: Martin Pulec Date: Thu, 15 May 2014 15:00:50 +0200 Subject: [PATCH 23/27] Added option to specify window title --- src/host.c | 2 ++ src/host.h | 2 ++ src/main.cpp | 5 +++++ src/video_display/gl.c | 6 +++--- src/video_display/sdl.c | 6 +++++- 5 files changed, 17 insertions(+), 4 deletions(-) diff --git a/src/host.c b/src/host.c index 70ee27750..4be59a4b7 100644 --- a/src/host.c +++ b/src/host.c @@ -41,6 +41,8 @@ bool verbose = false; bool ldgm_device_gpu = false; +const char *window_title = NULL; + int rxtx_mode; // MODE_SENDER, MODE_RECEIVER or both int initialize_video_capture(struct module *parent, diff --git a/src/host.h b/src/host.h index d4c0758c2..67261ea70 100644 --- a/src/host.h +++ b/src/host.h @@ -96,6 +96,8 @@ extern bool verbose; extern bool ldgm_device_gpu; +extern const char *window_title; + #define MODE_SENDER 1 #define MODE_RECEIVER 2 extern int rxtx_mode; diff --git a/src/main.cpp b/src/main.cpp index 66cba39bc..9acfe75ef 100644 --- a/src/main.cpp +++ b/src/main.cpp @@ -127,6 +127,7 @@ #define OPT_CONTROL_PORT (('C' << 8) | 'P') #define OPT_VERBOSE (('V' << 8) | 'E') #define OPT_LDGM_DEVICE (('L' << 8) | 'D') +#define OPT_WINDOW_TITLE (('W' << 8) | 'T') #define MAX_CAPTURE_COUNT 17 @@ -522,6 +523,7 @@ int main(int argc, char *argv[]) {"encryption", required_argument, 0, OPT_ENCRYPTION}, {"verbose", no_argument, 0, OPT_VERBOSE}, {"ldgm-device", required_argument, 0, OPT_LDGM_DEVICE}, + {"window-title", required_argument, 0, OPT_WINDOW_TITLE}, {0, 0, 0, 0} }; int option_index = 0; @@ -765,6 +767,9 @@ int main(int argc, char *argv[]) ldgm_device_gpu = false; } break; + case OPT_WINDOW_TITLE: + window_title = optarg; + break; case '?': default: usage(); diff --git a/src/video_display/gl.c b/src/video_display/gl.c index 62599e11a..d9d95351b 100644 --- a/src/video_display/gl.c +++ b/src/video_display/gl.c @@ -91,8 +91,8 @@ #include "video_display/splashscreen.h" #include "tv.h" -#define MAGIC_GL DISPLAY_GL_ID -#define WIN_NAME "Ultragrid - OpenGL Display" +#define MAGIC_GL DISPLAY_GL_ID +#define DEFAULT_WIN_NAME "Ultragrid - OpenGL Display" #define STRINGIFY(A) #A @@ -384,7 +384,7 @@ void * display_gl_init(char *fmt, unsigned int flags) { glutSetOption(GLUT_ACTION_ON_WINDOW_CLOSE, GLUT_ACTION_CONTINUE_EXECUTION); #endif glutIdleFunc(glut_idle_callback); - s->window = glutCreateWindow(WIN_NAME); + s->window = glutCreateWindow(window_title != NULL ? window_title : DEFAULT_WIN_NAME); glutSetCursor(s->show_cursor ? GLUT_CURSOR_CROSSHAIR : GLUT_CURSOR_NONE); //glutHideWindow(); glutKeyboardFunc(glut_key_callback); diff --git a/src/video_display/sdl.c b/src/video_display/sdl.c index 091f73623..89d5c1096 100644 --- a/src/video_display/sdl.c +++ b/src/video_display/sdl.c @@ -473,7 +473,11 @@ int display_sdl_reconfigure(void *state, struct video_desc desc) x_res_y); return FALSE; } - SDL_WM_SetCaption("Ultragrid - SDL Display", "Ultragrid"); + if (window_title) { + SDL_WM_SetCaption(window_title, window_title); + } else { + SDL_WM_SetCaption("Ultragrid - SDL Display", "Ultragrid"); + } SDL_ShowCursor(SDL_DISABLE); From 568d899b94857c2786c6928af18a72ceb1041618 Mon Sep 17 00:00:00 2001 From: Martin Pulec Date: Mon, 19 May 2014 12:04:05 +0200 Subject: [PATCH 24/27] Audio PBUF: use playout time also for audio This solves problem when audio is send multiplied (default) and multiple packet copies do not coalesce in PBUF because are early played. As a side effedct, this will result in better synchronization of A/V (both use playout time now) --- src/audio/audio.c | 10 ++++++++-- src/rtp/audio_decoders.c | 24 +++++++++++++----------- src/rtp/pbuf.c | 31 ------------------------------- src/rtp/pbuf.h | 2 -- 4 files changed, 21 insertions(+), 46 deletions(-) diff --git a/src/audio/audio.c b/src/audio/audio.c index 946c48959..3e9ef6dcc 100644 --- a/src/audio/audio.c +++ b/src/audio/audio.c @@ -518,6 +518,8 @@ static void *audio_receiver_thread(void *arg) while (!should_exit_audio) { bool decoded = false; + pbuf_data.buffer.data_len = 0; + if(s->receiver == NET_NATIVE) { gettimeofday(&curr_time, NULL); ts = tv_diff(curr_time, s->start_time) * 90000; @@ -531,7 +533,10 @@ static void *audio_receiver_thread(void *arg) cp = pdb_iter_init(s->audio_participants, &it); while (cp != NULL) { - if (audio_pbuf_decode(cp->playout_buffer, curr_time, decode_audio_frame, &pbuf_data)) { + // We iterate in loop since there can be more than one frmae present in + // the playout buffer and it would be discarded by following pbuf_remove() + // call. + while (pbuf_decode(cp->playout_buffer, curr_time, decode_audio_frame, &pbuf_data)) { decoded = true; } @@ -556,7 +561,8 @@ static void *audio_receiver_thread(void *arg) cp = pdb_iter_init(s->audio_participants, &it); while (cp != NULL) { - if (audio_pbuf_decode(cp->playout_buffer, curr_time, decode_audio_frame_mulaw, &pbuf_data)) { + // should be perhaps run iteratively? similarly to NET_NATIVE + if (pbuf_decode(cp->playout_buffer, curr_time, decode_audio_frame_mulaw, &pbuf_data)) { bool failed = false; if(s->echo_state) { #ifdef HAVE_SPEEX diff --git a/src/rtp/audio_decoders.c b/src/rtp/audio_decoders.c index 8b418cf4f..3c7eccee9 100644 --- a/src/rtp/audio_decoders.c +++ b/src/rtp/audio_decoders.c @@ -107,17 +107,17 @@ struct state_audio_decoder { unsigned int channel_remapping:1; struct channel_map channel_map; - struct scale_data *scale; + struct scale_data *scale; ///< contains scaling metadata if we want to perform audio scaling bool fixed_scale; - audio_frame2 *received_frame; + audio_frame2 *received_frame; ///< auxiliary buffer that holds undecoded audio frame data from network struct audio_codec_state *audio_decompress; struct resampler *resampler; struct audio_desc saved_desc; uint32_t saved_audio_tag; - audio_frame2 *decoded; // for statistics + audio_frame2 *decoded; ///< buffer that keeps audio samples from last 5 seconds (for statistics) struct openssl_decrypt *decrypt; }; @@ -504,21 +504,21 @@ int decode_audio_frame(struct coded_data *cdata, void *data) audio_frame2 *resampled = resampler_resample(decoder->resampler, decompressed); - s->buffer.data_len = resampled->data_len[0] * output_channels; - if((int) s->buffer.max_size < s->buffer.data_len) { - free(s->buffer.data); - s->buffer.max_size = s->buffer.data_len; - s->buffer.data = (char *) malloc(s->buffer.max_size); + size_t new_data_len = s->buffer.data_len + resampled->data_len[0] * output_channels; + if((int) s->buffer.max_size < new_data_len) { + s->buffer.max_size = new_data_len; + s->buffer.data = (char *) realloc(s->buffer.data, new_data_len); } - memset(s->buffer.data, 0, s->buffer.data_len); + memset(s->buffer.data + s->buffer.data_len, 0, new_data_len - s->buffer.data_len); // there is a mapping for channel for(int channel = 0; channel < resampled->ch_count; ++channel) { if(decoder->channel_remapping) { if(channel < decoder->channel_map.size) { for(int i = 0; i < decoder->channel_map.sizes[channel]; ++i) { - mux_and_mix_channel(s->buffer.data, resampled->data[channel], + mux_and_mix_channel(s->buffer.data + s->buffer.data_len, + resampled->data[channel], resampled->bps, resampled->data_len[channel], output_channels, decoder->channel_map.map[channel][i], decoder->scale[decoder->fixed_scale ? 0 : @@ -526,11 +526,13 @@ int decode_audio_frame(struct coded_data *cdata, void *data) } } } else { - mux_and_mix_channel(s->buffer.data, resampled->data[channel], resampled->bps, + mux_and_mix_channel(s->buffer.data + s->buffer.data_len, resampled->data[channel], + resampled->bps, resampled->data_len[channel], output_channels, channel, decoder->scale[decoder->fixed_scale ? 0 : input_channels].scale); } } + s->buffer.data_len = new_data_len; audio_frame2_append(decoder->decoded, resampled); diff --git a/src/rtp/pbuf.c b/src/rtp/pbuf.c index ebc41423f..80f55f9eb 100644 --- a/src/rtp/pbuf.c +++ b/src/rtp/pbuf.c @@ -465,37 +465,6 @@ pbuf_decode(struct pbuf *playout_buf, struct timeval curr_time, return 0; } -int -audio_pbuf_decode(struct pbuf *playout_buf, struct timeval curr_time, - decode_frame_t decode_func, void *data) -{ - /* Find the first complete frame that has reached it's playout */ - /* time, and decode it into the framebuffer. Mark the frame as */ - /* decoded, but otherwise leave it in the playout buffer. */ - struct pbuf_node *curr; - - pbuf_validate(playout_buf); - - curr = playout_buf->frst; - while (curr != NULL) { - /* WARNING: this one differs from video - we need to push audio immediately, because we do - * _not_ know the granularity of audio (typically 256 B for ALSA) which is only small fractal - * of frame time. The current RTP library isn't currently able to keep concurrently more frames. - */ - UNUSED(curr_time); - if (!curr->decoded // && tv_gt(curr_time, curr->playout_time) - ) { - if (curr->mbit == 1) { - int ret = decode_func(curr->cdata, data); - curr->decoded = 1; - return ret; - } - } - curr = curr->nxt; - } - return 0; -} - void pbuf_set_playout_delay(struct pbuf *playout_buf, double playout_delay) { playout_buf->playout_delay = playout_delay; diff --git a/src/rtp/pbuf.h b/src/rtp/pbuf.h index e831aef54..b4d414ed2 100644 --- a/src/rtp/pbuf.h +++ b/src/rtp/pbuf.h @@ -110,8 +110,6 @@ typedef int decode_frame_t(struct coded_data *cdata, void *decode_data); */ struct pbuf *pbuf_init(void); void pbuf_insert(struct pbuf *playout_buf, rtp_packet *r); -int audio_pbuf_decode(struct pbuf *playout_buf, struct timeval curr_time, - decode_frame_t decode_func, void *data); int pbuf_is_empty(struct pbuf *playout_buf); int pbuf_decode(struct pbuf *playout_buf, struct timeval curr_time, decode_frame_t decode_func, void *data); From 2f3924554ff564edc7b9306b8a692158fa9eaa74 Mon Sep 17 00:00:00 2001 From: Martin Pulec Date: Mon, 19 May 2014 15:50:52 +0200 Subject: [PATCH 25/27] Decklink: option to set audio consumer levels --- src/video_capture/decklink.cpp | 24 +++++++++++++++++++++++- src/video_display/decklink.cpp | 27 ++++++++++++++++++++++----- 2 files changed, 45 insertions(+), 6 deletions(-) diff --git a/src/video_capture/decklink.cpp b/src/video_capture/decklink.cpp index 9e6b8ec45..2d9d36369 100644 --- a/src/video_capture/decklink.cpp +++ b/src/video_capture/decklink.cpp @@ -135,6 +135,7 @@ struct vidcap_decklink_state { unsigned int autodetect_mode:1; BMDVideoConnection connection; + int audio_consumer_levels; ///< 0 false, 1 true, -1 default struct timeval t0; }; @@ -393,7 +394,7 @@ decklink_help() HRESULT result; printf("\nDecklink options:\n"); - printf("\t-t decklink[:[::[:3D][:timecode][:connection=]]\n"); + printf("\t-t decklink[:[::[:3D][:timecode][:connection=]][:audioConsumerLevels={true|false}]\\n"); printf("\t\t(You can omit device index, mode and color space provided that your cards supports format autodetection.)\n"); // Create an IDeckLinkIterator object to enumerate all DeckLink cards in the system @@ -502,6 +503,11 @@ decklink_help() printf("timecode\n"); printf("\tTry to synchronize inputs based on timecode (for multiple inputs, eg. tiled 4K)\n"); + printf("audioConsumerLevels\n"); + printf("\tIf set true the analog audio levels are set to maximum gain on audio input.\n"); + printf("\tIf set false the selected analog input gain levels are used.\n"); + + printf("\n"); return 1; } @@ -600,6 +606,14 @@ settings_init(void *state, char *fmt) fprintf(stderr, "[DeckLink] Unrecognized connection %s.\n", connection); return 0; } + } else if(strncasecmp(tmp, "audioConsumerLevels=", + strlen("audioConsumerLevels=")) == 0) { + char *levels = tmp + strlen("audioConsumerLevels="); + if (strcasecmp(levels, "false") == 0) { + s->audio_consumer_levels = 0; + } else { + s->audio_consumer_levels = 1; + } } else { fprintf(stderr, "[DeckLink] Warning, unrecognized trailing options in init string: %s", tmp); } @@ -791,6 +805,7 @@ vidcap_decklink_init(const struct vidcap_params *params) s->autodetect_mode = FALSE; s->connection = (BMDVideoConnection) 0; s->flags = 0; + s->audio_consumer_levels = -1; // SET UP device and mode char *tmp_fmt = strdup(vidcap_params_get_fmt(params)); @@ -1039,6 +1054,13 @@ vidcap_decklink_init(const struct vidcap_params *params) "Only 1, 2, 8 or 16 are poosible.", audio_capture_channels); goto error; } + if (s->audio_consumer_levels != -1) { + result = deckLinkConfiguration->SetFlag(bmdDeckLinkConfigAnalogAudioConsumerLevels, + s->audio_consumer_levels == 1 ? true : false); + if(result != S_OK) { + fprintf(stderr, "[DeckLink capture] Unable set input audio consumer levels.\n"); + } + } deckLinkInput->EnableAudioInput( bmdAudioSampleRate48kHz, bmdAudioSampleType16bitInteger, diff --git a/src/video_display/decklink.cpp b/src/video_display/decklink.cpp index 9b6f0e393..907420da8 100644 --- a/src/video_display/decklink.cpp +++ b/src/video_display/decklink.cpp @@ -280,8 +280,8 @@ static void show_help(void) HRESULT result; printf("Decklink (output) options:\n"); - printf("\t-d decklink:[:timecode][:3G|:dual-link][:3D[:HDMI3DPacking=]][:fast]\n"); - printf("\t\tcoma-separated numbers of output devices\n"); + printf("\t-d decklink:[:timecode][:3G|:dual-link][:3D[:HDMI3DPacking=]][:fast][:audioConsumerLevels={true|false}]\n"); + printf("\t\t is coma-separated indices of output devices\n"); // Create an IDeckLinkIterator object to enumerate all DeckLink cards in the system #ifdef WIN32 result = CoCreateInstance(CLSID_CDeckLinkIterator, NULL, CLSCTX_ALL, @@ -352,6 +352,8 @@ static void show_help(void) printf("Fast mode has lower latency at the expense of incorrect displaying (frame rewriting).\n"); printf("\n"); + printf("audioConsumerLevels if set to true sets audio analog level to maximum attenuation on audio output.\n"); + printf("\n"); } @@ -734,6 +736,7 @@ void *display_decklink_init(char *fmt, unsigned int flags) // for Decklink Studio which has switchable XLR - analog 3 and 4 or AES/EBU 3,4 and 5,6 BMDAudioOutputAnalogAESSwitch audioConnection = (BMDAudioOutputAnalogAESSwitch) 0; BMDVideo3DPackingFormat HDMI3DPacking = (BMDVideo3DPackingFormat) 0; + int audio_consumer_levels = -1; #ifdef WIN32 @@ -835,6 +838,12 @@ void *display_decklink_init(char *fmt, unsigned int flags) } } else if(strcasecmp(ptr, "fast") == 0) { s->fast = true; + } else if(strncasecmp(ptr, "audioConsumerLevels=", strlen("audioConsumerLevels=")) == 0) { + if (strcasecmp(ptr + strlen("audioConsumerLevels="), "false") == 0) { + audio_consumer_levels = 0; + } else { + audio_consumer_levels = 1; + } } else { fprintf(stderr, "[DeckLink] Warning: unknown options in config string.\n"); } @@ -986,17 +995,25 @@ void *display_decklink_init(char *fmt, unsigned int flags) * .... one exception is a card that has switchable cables between AES/EBU and analog. (But this applies only for channels 3 and above.) */ if (audioConnection != 0) { // not embedded - HRESULT res = deckLinkConfiguration->SetInt(bmdDeckLinkConfigAudioOutputAESAnalogSwitch, + result = deckLinkConfiguration->SetInt(bmdDeckLinkConfigAudioOutputAESAnalogSwitch, audioConnection); - if(res == S_OK) { // has switchable channels + if(result == S_OK) { // has switchable channels printf("[Decklink playback] Card with switchable audio channels detected. Switched to correct format.\n"); - } else if(res == E_NOTIMPL) { + } else if(result == E_NOTIMPL) { // normal case - without switchable channels } else { fprintf(stderr, "[Decklink playback] Unable to switch audio output for channels 3 or above although \n" "card shall support it. Check if it is ok. Continuing anyway.\n"); } } + + if (audio_consumer_levels != -1) { + result = deckLinkConfiguration->SetFlag(bmdDeckLinkConfigAnalogAudioConsumerLevels, + audio_consumer_levels == 1 ? true : false); + if(result != S_OK) { + fprintf(stderr, "[DeckLink display] Unable set output audio consumer levels.\n"); + } + } } s->state[i].delegate = new PlaybackDelegate(); From 0cdb8062afff6bd50c028bb46bfe91c2bf56b52c Mon Sep 17 00:00:00 2001 From: Martin Pulec Date: Tue, 20 May 2014 10:52:00 +0200 Subject: [PATCH 26/27] Decklink audio playback: fixed channel multiplication --- src/audio/playback/decklink.cpp | 30 ++++++++++++++++++------------ 1 file changed, 18 insertions(+), 12 deletions(-) diff --git a/src/audio/playback/decklink.cpp b/src/audio/playback/decklink.cpp index 0b24ecf6e..cc0479270 100644 --- a/src/audio/playback/decklink.cpp +++ b/src/audio/playback/decklink.cpp @@ -423,28 +423,34 @@ void decklink_put_frame(void *state, struct audio_frame *frame) #else unsigned int sampleFramesWritten; #endif + char *data = frame->data; + // tmp_frame is used if we need to perform 1->2 channel multiplication + struct audio_frame tmp_frame; + tmp_frame.data = NULL; - /* we got probably count that cannot be played directly (probably 1) */ + /* we got probably channel count that cannot be played directly (probably 1) */ if(s->output_audio_channel_count != s->audio_desc.ch_count) { - assert(s->audio_desc.ch_count == 1); /* only reasonable value so far */ - if (sampleFrameCount * s->output_audio_channel_count - * frame->bps > frame->max_size) { - fprintf(stderr, "[decklink] audio buffer overflow!\n"); - sampleFrameCount = frame->max_size / - (s->output_audio_channel_count * frame->bps); - frame->data_len = sampleFrameCount * - (frame->ch_count * frame->bps); - } + assert(s->audio_desc.ch_count == 1); /* only supported value so far */ + memcpy(&tmp_frame, frame, sizeof(tmp_frame)); + // allocate enough space to hold resulting data + tmp_frame.max_size = sampleFrameCount * s->output_audio_channel_count + * frame->bps; + tmp_frame.data = (char *) malloc(tmp_frame.max_size); + memcpy(tmp_frame.data, frame->data, frame->data_len); - audio_frame_multiply_channel(frame, + audio_frame_multiply_channel(&tmp_frame, s->output_audio_channel_count); + + data = tmp_frame.data; } - s->deckLinkOutput->ScheduleAudioSamples (frame->data, sampleFrameCount, 0, + s->deckLinkOutput->ScheduleAudioSamples (data, sampleFrameCount, 0, 0, &sampleFramesWritten); if(sampleFramesWritten != sampleFrameCount) fprintf(stderr, "[decklink] audio buffer underflow!\n"); + free(tmp_frame.data); + } int decklink_reconfigure(void *state, int quant_samples, int channels, From 3981ad370bbfac22c97c2c0eff066d4eb5ac9a1d Mon Sep 17 00:00:00 2001 From: Martin Pulec Date: Tue, 20 May 2014 12:02:53 +0200 Subject: [PATCH 27/27] OpenGL: small change --- src/video_display/gl.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/video_display/gl.c b/src/video_display/gl.c index d9d95351b..23a5d9afc 100644 --- a/src/video_display/gl.c +++ b/src/video_display/gl.c @@ -880,7 +880,7 @@ static void gl_resize(int width,int height) // redraw last frame gl_render(gl); gl_draw(gl->aspect); - glutPostRedisplay(); + glutSwapBuffers(); } static void gl_bind_texture(void *arg)