brcm2708: update to latest patches from RPi Foundation
[openwrt/openwrt.git] / target / linux / brcm2708 / patches-4.19 / 950-0041-bcm2708-framebuffer-driver.patch
diff --git a/target/linux/brcm2708/patches-4.19/950-0041-bcm2708-framebuffer-driver.patch b/target/linux/brcm2708/patches-4.19/950-0041-bcm2708-framebuffer-driver.patch
deleted file mode 100644 (file)
index f77b3fd..0000000
+++ /dev/null
@@ -1,3481 +0,0 @@
-From 7be9aaefa159fe6e59064e2a90195a63cc88352a Mon Sep 17 00:00:00 2001
-From: popcornmix <popcornmix@gmail.com>
-Date: Wed, 17 Jun 2015 17:06:34 +0100
-Subject: [PATCH] bcm2708 framebuffer driver
-MIME-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-
-Signed-off-by: popcornmix <popcornmix@gmail.com>
-
-bcm2708_fb : Implement blanking support using the mailbox property interface
-
-bcm2708_fb: Add pan and vsync controls
-
-bcm2708_fb: DMA acceleration for fb_copyarea
-
-Based on http://www.raspberrypi.org/phpBB3/viewtopic.php?p=62425#p62425
-Also used Simon's dmaer_master module as a reference for tweaking DMA
-settings for better performance.
-
-For now busylooping only. IRQ support might be added later.
-With non-overclocked Raspberry Pi, the performance is ~360 MB/s
-for simple copy or ~260 MB/s for two-pass copy (used when dragging
-windows to the right).
-
-In the case of using DMA channel 0, the performance improves
-to ~440 MB/s.
-
-For comparison, VFP optimized CPU copy can only do ~114 MB/s in
-the same conditions (hindered by reading uncached source buffer).
-
-Signed-off-by: Siarhei Siamashka <siarhei.siamashka@gmail.com>
-
-bcm2708_fb: report number of dma copies
-
-Add a counter (exported via debugfs) reporting the
-number of dma copies that the framebuffer driver
-has done, in order to help evaluate different
-optimization strategies.
-
-Signed-off-by: Luke Diamand <luked@broadcom.com>
-
-bcm2708_fb: use IRQ for DMA copies
-
-The copyarea ioctl() uses DMA to speed things along. This
-was busy-waiting for completion. This change supports using
-an interrupt instead for larger transfers. For small
-transfers, busy-waiting is still likely to be faster.
-
-Signed-off-by: Luke Diamand <luke@diamand.org>
-
-bcm2708: Make ioctl logging quieter
-
-video: fbdev: bcm2708_fb: Don't panic on error
-
-No need to panic the kernel if the video driver fails.
-Just print a message and return an error.
-
-Signed-off-by: Noralf Trønnes <noralf@tronnes.org>
-
-fbdev: bcm2708_fb: Add ARCH_BCM2835 support
-
-Add Device Tree support.
-Pass the device to dma_alloc_coherent() in order to get the
-correct bus address on ARCH_BCM2835.
-Use the new DMA legacy API header file.
-Including <mach/platform.h> is not necessary.
-
-Signed-off-by: Noralf Trønnes <noralf@tronnes.org>
-
-BCM270x_DT: Add bcm2708-fb device
-
-Add bcm2708-fb to Device Tree and don't add the
-platform device when booting in DT mode.
-
-Signed-off-by: Noralf Trønnes <noralf@tronnes.org>
-
-Cleanup of bcm2708_fb file to kernel coding standards
-
-Some minor change to function - remove a use of
-in_atomic, plus replacing various debug messages
-that manually specify the function name with
-("%s",.__func__)
-
-Signed-off-by: James Hughes <james.hughes@raspberrypi.org>
----
- drivers/video/fbdev/Kconfig               |   14 +
- drivers/video/fbdev/Makefile              |    1 +
- drivers/video/fbdev/bcm2708_fb.c          |  864 +++++++
- drivers/video/logo/logo_linux_clut224.ppm | 2483 ++++++++-------------
- 4 files changed, 1760 insertions(+), 1602 deletions(-)
- create mode 100644 drivers/video/fbdev/bcm2708_fb.c
-
---- a/drivers/video/fbdev/Kconfig
-+++ b/drivers/video/fbdev/Kconfig
-@@ -242,6 +242,20 @@ config FB_TILEBLITTING
- comment "Frame buffer hardware drivers"
-       depends on FB
-+config FB_BCM2708
-+      tristate "BCM2708 framebuffer support"
-+      depends on FB && RASPBERRYPI_FIRMWARE
-+      select FB_CFB_FILLRECT
-+      select FB_CFB_COPYAREA
-+      select FB_CFB_IMAGEBLIT
-+      help
-+        This framebuffer device driver is for the BCM2708 framebuffer.
-+
-+        If you want to compile this as a module (=code which can be
-+        inserted into and removed from the running kernel), say M
-+        here and read <file:Documentation/kbuild/modules.txt>.  The module
-+        will be called bcm2708_fb.
-+
- config FB_GRVGA
-       tristate "Aeroflex Gaisler framebuffer support"
-       depends on FB && SPARC
---- a/drivers/video/fbdev/Makefile
-+++ b/drivers/video/fbdev/Makefile
-@@ -11,6 +11,7 @@ obj-$(CONFIG_FB_MACMODES)      += macmod
- obj-$(CONFIG_FB_WMT_GE_ROPS)   += wmt_ge_rops.o
- # Hardware specific drivers go first
-+obj-$(CONFIG_FB_BCM2708)        += bcm2708_fb.o
- obj-$(CONFIG_FB_AMIGA)            += amifb.o c2p_planar.o
- obj-$(CONFIG_FB_ARC)              += arcfb.o
- obj-$(CONFIG_FB_CLPS711X)       += clps711x-fb.o
---- /dev/null
-+++ b/drivers/video/fbdev/bcm2708_fb.c
-@@ -0,0 +1,864 @@
-+/*
-+ *  linux/drivers/video/bcm2708_fb.c
-+ *
-+ * Copyright (C) 2010 Broadcom
-+ *
-+ * This file is subject to the terms and conditions of the GNU General Public
-+ * License.  See the file COPYING in the main directory of this archive
-+ * for more details.
-+ *
-+ * Broadcom simple framebuffer driver
-+ *
-+ * This file is derived from cirrusfb.c
-+ * Copyright 1999-2001 Jeff Garzik <jgarzik@pobox.com>
-+ *
-+ */
-+#include <linux/module.h>
-+#include <linux/kernel.h>
-+#include <linux/errno.h>
-+#include <linux/string.h>
-+#include <linux/slab.h>
-+#include <linux/mm.h>
-+#include <linux/fb.h>
-+#include <linux/init.h>
-+#include <linux/interrupt.h>
-+#include <linux/ioport.h>
-+#include <linux/list.h>
-+#include <linux/platform_data/dma-bcm2708.h>
-+#include <linux/platform_device.h>
-+#include <linux/clk.h>
-+#include <linux/printk.h>
-+#include <linux/console.h>
-+#include <linux/debugfs.h>
-+#include <asm/sizes.h>
-+#include <linux/io.h>
-+#include <linux/dma-mapping.h>
-+#include <soc/bcm2835/raspberrypi-firmware.h>
-+
-+//#define BCM2708_FB_DEBUG
-+#define MODULE_NAME "bcm2708_fb"
-+
-+#ifdef BCM2708_FB_DEBUG
-+#define print_debug(fmt, ...) pr_debug("%s:%s:%d: "fmt, \
-+                      MODULE_NAME, __func__, __LINE__, ##__VA_ARGS__)
-+#else
-+#define print_debug(fmt, ...)
-+#endif
-+
-+/* This is limited to 16 characters when displayed by X startup */
-+static const char *bcm2708_name = "BCM2708 FB";
-+
-+#define DRIVER_NAME "bcm2708_fb"
-+
-+static int fbwidth = 800;     /* module parameter */
-+static int fbheight = 480;    /* module parameter */
-+static int fbdepth = 32;      /* module parameter */
-+static int fbswap;            /* module parameter */
-+
-+static u32 dma_busy_wait_threshold = 1<<15;
-+module_param(dma_busy_wait_threshold, int, 0644);
-+MODULE_PARM_DESC(dma_busy_wait_threshold, "Busy-wait for DMA completion below this area");
-+
-+struct fb_alloc_tags {
-+      struct rpi_firmware_property_tag_header tag1;
-+      u32 xres, yres;
-+      struct rpi_firmware_property_tag_header tag2;
-+      u32 xres_virtual, yres_virtual;
-+      struct rpi_firmware_property_tag_header tag3;
-+      u32 bpp;
-+      struct rpi_firmware_property_tag_header tag4;
-+      u32 xoffset, yoffset;
-+      struct rpi_firmware_property_tag_header tag5;
-+      u32 base, screen_size;
-+      struct rpi_firmware_property_tag_header tag6;
-+      u32 pitch;
-+};
-+
-+struct bcm2708_fb_stats {
-+      struct debugfs_regset32 regset;
-+      u32 dma_copies;
-+      u32 dma_irqs;
-+};
-+
-+struct bcm2708_fb {
-+      struct fb_info fb;
-+      struct platform_device *dev;
-+      struct rpi_firmware *fw;
-+      u32 cmap[16];
-+      u32 gpu_cmap[256];
-+      int dma_chan;
-+      int dma_irq;
-+      void __iomem *dma_chan_base;
-+      void *cb_base;          /* DMA control blocks */
-+      dma_addr_t cb_handle;
-+      struct dentry *debugfs_dir;
-+      wait_queue_head_t dma_waitq;
-+      struct bcm2708_fb_stats stats;
-+      unsigned long fb_bus_address;
-+};
-+
-+#define to_bcm2708(info)      container_of(info, struct bcm2708_fb, fb)
-+
-+static void bcm2708_fb_debugfs_deinit(struct bcm2708_fb *fb)
-+{
-+      debugfs_remove_recursive(fb->debugfs_dir);
-+      fb->debugfs_dir = NULL;
-+}
-+
-+static int bcm2708_fb_debugfs_init(struct bcm2708_fb *fb)
-+{
-+      static struct debugfs_reg32 stats_registers[] = {
-+              {
-+                      "dma_copies",
-+                      offsetof(struct bcm2708_fb_stats, dma_copies)
-+              },
-+              {
-+                      "dma_irqs",
-+                      offsetof(struct bcm2708_fb_stats, dma_irqs)
-+              },
-+      };
-+
-+      fb->debugfs_dir = debugfs_create_dir(DRIVER_NAME, NULL);
-+      if (!fb->debugfs_dir) {
-+              pr_warn("%s: could not create debugfs entry\n",
-+                      __func__);
-+              return -EFAULT;
-+      }
-+
-+      fb->stats.regset.regs = stats_registers;
-+      fb->stats.regset.nregs = ARRAY_SIZE(stats_registers);
-+      fb->stats.regset.base = &fb->stats;
-+
-+      if (!debugfs_create_regset32(
-+              "stats", 0444, fb->debugfs_dir, &fb->stats.regset)) {
-+              pr_warn("%s: could not create statistics registers\n",
-+                      __func__);
-+              goto fail;
-+      }
-+      return 0;
-+
-+fail:
-+      bcm2708_fb_debugfs_deinit(fb);
-+      return -EFAULT;
-+}
-+
-+static int bcm2708_fb_set_bitfields(struct fb_var_screeninfo *var)
-+{
-+      int ret = 0;
-+
-+      memset(&var->transp, 0, sizeof(var->transp));
-+
-+      var->red.msb_right = 0;
-+      var->green.msb_right = 0;
-+      var->blue.msb_right = 0;
-+
-+      switch (var->bits_per_pixel) {
-+      case 1:
-+      case 2:
-+      case 4:
-+      case 8:
-+              var->red.length = var->bits_per_pixel;
-+              var->red.offset = 0;
-+              var->green.length = var->bits_per_pixel;
-+              var->green.offset = 0;
-+              var->blue.length = var->bits_per_pixel;
-+              var->blue.offset = 0;
-+              break;
-+      case 16:
-+              var->red.length = 5;
-+              var->blue.length = 5;
-+              /*
-+               * Green length can be 5 or 6 depending whether
-+               * we're operating in RGB555 or RGB565 mode.
-+               */
-+              if (var->green.length != 5 && var->green.length != 6)
-+                      var->green.length = 6;
-+              break;
-+      case 24:
-+              var->red.length = 8;
-+              var->blue.length = 8;
-+              var->green.length = 8;
-+              break;
-+      case 32:
-+              var->red.length = 8;
-+              var->green.length = 8;
-+              var->blue.length = 8;
-+              var->transp.length = 8;
-+              break;
-+      default:
-+              ret = -EINVAL;
-+              break;
-+      }
-+
-+      /*
-+       * >= 16bpp displays have separate colour component bitfields
-+       * encoded in the pixel data.  Calculate their position from
-+       * the bitfield length defined above.
-+       */
-+      if (ret == 0 && var->bits_per_pixel >= 24 && fbswap) {
-+              var->blue.offset = 0;
-+              var->green.offset = var->blue.offset + var->blue.length;
-+              var->red.offset = var->green.offset + var->green.length;
-+              var->transp.offset = var->red.offset + var->red.length;
-+      } else if (ret == 0 && var->bits_per_pixel >= 24) {
-+              var->red.offset = 0;
-+              var->green.offset = var->red.offset + var->red.length;
-+              var->blue.offset = var->green.offset + var->green.length;
-+              var->transp.offset = var->blue.offset + var->blue.length;
-+      } else if (ret == 0 && var->bits_per_pixel >= 16) {
-+              var->blue.offset = 0;
-+              var->green.offset = var->blue.offset + var->blue.length;
-+              var->red.offset = var->green.offset + var->green.length;
-+              var->transp.offset = var->red.offset + var->red.length;
-+      }
-+
-+      return ret;
-+}
-+
-+static int bcm2708_fb_check_var(struct fb_var_screeninfo *var,
-+                              struct fb_info *info)
-+{
-+      /* info input, var output */
-+      print_debug("%s(%p) %dx%d (%dx%d), %d, %d\n",
-+              __func__,
-+              info,
-+              info->var.xres, info->var.yres, info->var.xres_virtual,
-+              info->var.yres_virtual, (int)info->screen_size,
-+              info->var.bits_per_pixel);
-+      print_debug("%s(%p) %dx%d (%dx%d), %d\n", __func__, var,
-+              var->xres, var->yres, var->xres_virtual, var->yres_virtual,
-+              var->bits_per_pixel);
-+
-+      if (!var->bits_per_pixel)
-+              var->bits_per_pixel = 16;
-+
-+      if (bcm2708_fb_set_bitfields(var) != 0) {
-+              pr_err("%s: invalid bits_per_pixel %d\n", __func__,
-+                   var->bits_per_pixel);
-+              return -EINVAL;
-+      }
-+
-+
-+      if (var->xres_virtual < var->xres)
-+              var->xres_virtual = var->xres;
-+      /* use highest possible virtual resolution */
-+      if (var->yres_virtual == -1) {
-+              var->yres_virtual = 480;
-+
-+              pr_err("%s: virtual resolution set to maximum of %dx%d\n",
-+                   __func__, var->xres_virtual, var->yres_virtual);
-+      }
-+      if (var->yres_virtual < var->yres)
-+              var->yres_virtual = var->yres;
-+
-+      if (var->xoffset < 0)
-+              var->xoffset = 0;
-+      if (var->yoffset < 0)
-+              var->yoffset = 0;
-+
-+      /* truncate xoffset and yoffset to maximum if too high */
-+      if (var->xoffset > var->xres_virtual - var->xres)
-+              var->xoffset = var->xres_virtual - var->xres - 1;
-+      if (var->yoffset > var->yres_virtual - var->yres)
-+              var->yoffset = var->yres_virtual - var->yres - 1;
-+
-+      return 0;
-+}
-+
-+static int bcm2708_fb_set_par(struct fb_info *info)
-+{
-+      struct bcm2708_fb *fb = to_bcm2708(info);
-+      struct fb_alloc_tags fbinfo = {
-+              .tag1 = { RPI_FIRMWARE_FRAMEBUFFER_SET_PHYSICAL_WIDTH_HEIGHT,
-+                        8, 0, },
-+                      .xres = info->var.xres,
-+                      .yres = info->var.yres,
-+              .tag2 = { RPI_FIRMWARE_FRAMEBUFFER_SET_VIRTUAL_WIDTH_HEIGHT,
-+                        8, 0, },
-+                      .xres_virtual = info->var.xres_virtual,
-+                      .yres_virtual = info->var.yres_virtual,
-+              .tag3 = { RPI_FIRMWARE_FRAMEBUFFER_SET_DEPTH, 4, 0 },
-+                      .bpp = info->var.bits_per_pixel,
-+              .tag4 = { RPI_FIRMWARE_FRAMEBUFFER_SET_VIRTUAL_OFFSET, 8, 0 },
-+                      .xoffset = info->var.xoffset,
-+                      .yoffset = info->var.yoffset,
-+              .tag5 = { RPI_FIRMWARE_FRAMEBUFFER_ALLOCATE, 8, 0 },
-+                      .base = 0,
-+                      .screen_size = 0,
-+              .tag6 = { RPI_FIRMWARE_FRAMEBUFFER_GET_PITCH, 4, 0 },
-+                      .pitch = 0,
-+      };
-+      int ret;
-+
-+      print_debug("%s(%p) %dx%d (%dx%d), %d, %d\n", __func__, info,
-+              info->var.xres, info->var.yres, info->var.xres_virtual,
-+              info->var.yres_virtual, (int)info->screen_size,
-+              info->var.bits_per_pixel);
-+
-+      ret = rpi_firmware_property_list(fb->fw, &fbinfo, sizeof(fbinfo));
-+      if (ret) {
-+              dev_err(info->device,
-+                      "Failed to allocate GPU framebuffer (%d)\n", ret);
-+              return ret;
-+      }
-+
-+      if (info->var.bits_per_pixel <= 8)
-+              fb->fb.fix.visual = FB_VISUAL_PSEUDOCOLOR;
-+      else
-+              fb->fb.fix.visual = FB_VISUAL_TRUECOLOR;
-+
-+      fb->fb.fix.line_length = fbinfo.pitch;
-+      fbinfo.base |= 0x40000000;
-+      fb->fb_bus_address = fbinfo.base;
-+      fbinfo.base &= ~0xc0000000;
-+      fb->fb.fix.smem_start = fbinfo.base;
-+      fb->fb.fix.smem_len = fbinfo.pitch * fbinfo.yres_virtual;
-+      fb->fb.screen_size = fbinfo.screen_size;
-+      if (fb->fb.screen_base)
-+              iounmap(fb->fb.screen_base);
-+      fb->fb.screen_base = ioremap_wc(fbinfo.base, fb->fb.screen_size);
-+      if (!fb->fb.screen_base) {
-+              /* the console may currently be locked */
-+              console_trylock();
-+              console_unlock();
-+              dev_err(info->device, "Failed to set screen_base\n");
-+              return -ENOMEM;
-+      }
-+
-+      print_debug(
-+        "%s: start = %p,%p width=%d, height=%d, bpp=%d, pitch=%d size=%d\n",
-+        __func__,
-+        (void *)fb->fb.screen_base, (void *)fb->fb_bus_address,
-+        fbinfo.xres, fbinfo.yres, fbinfo.bpp,
-+        fbinfo.pitch, (int)fb->fb.screen_size);
-+
-+      return 0;
-+}
-+
-+static inline u32 convert_bitfield(int val, struct fb_bitfield *bf)
-+{
-+      unsigned int mask = (1 << bf->length) - 1;
-+
-+      return (val >> (16 - bf->length) & mask) << bf->offset;
-+}
-+
-+
-+static int bcm2708_fb_setcolreg(unsigned int regno, unsigned int red,
-+                              unsigned int green, unsigned int blue,
-+                              unsigned int transp, struct fb_info *info)
-+{
-+      struct bcm2708_fb *fb = to_bcm2708(info);
-+
-+      if (fb->fb.var.bits_per_pixel <= 8) {
-+              if (regno < 256) {
-+                      /* blue [23:16], green [15:8], red [7:0] */
-+                      fb->gpu_cmap[regno] = ((red   >> 8) & 0xff) << 0 |
-+                                            ((green >> 8) & 0xff) << 8 |
-+                                            ((blue  >> 8) & 0xff) << 16;
-+              }
-+              /* Hack: we need to tell GPU the palette has changed, but
-+               * currently bcm2708_fb_set_par takes noticeable time when
-+               * called for every (256) colour
-+               * So just call it for what looks like the last colour in a
-+               * list for now.
-+               */
-+              if (regno == 15 || regno == 255) {
-+                      struct packet {
-+                              u32 offset;
-+                              u32 length;
-+                              u32 cmap[256];
-+                      } *packet;
-+                      int ret;
-+
-+                      packet = kmalloc(sizeof(*packet), GFP_KERNEL);
-+                      if (!packet)
-+                              return -ENOMEM;
-+                      packet->offset = 0;
-+                      packet->length = regno + 1;
-+                      memcpy(packet->cmap, fb->gpu_cmap,
-+                              sizeof(packet->cmap));
-+                      ret = rpi_firmware_property(fb->fw,
-+                                      RPI_FIRMWARE_FRAMEBUFFER_SET_PALETTE,
-+                                      packet,
-+                                      (2 + packet->length) * sizeof(u32));
-+                      if (ret || packet->offset)
-+                              dev_err(info->device,
-+                                      "Failed to set palette (%d,%u)\n",
-+                                      ret, packet->offset);
-+                      kfree(packet);
-+              }
-+      } else if (regno < 16) {
-+              fb->cmap[regno] = convert_bitfield(transp, &fb->fb.var.transp) |
-+              convert_bitfield(blue, &fb->fb.var.blue) |
-+              convert_bitfield(green, &fb->fb.var.green) |
-+              convert_bitfield(red, &fb->fb.var.red);
-+      }
-+      return regno > 255;
-+}
-+
-+static int bcm2708_fb_blank(int blank_mode, struct fb_info *info)
-+{
-+      struct bcm2708_fb *fb = to_bcm2708(info);
-+      u32 value;
-+      int ret;
-+
-+      switch (blank_mode) {
-+      case FB_BLANK_UNBLANK:
-+              value = 0;
-+              break;
-+      case FB_BLANK_NORMAL:
-+      case FB_BLANK_VSYNC_SUSPEND:
-+      case FB_BLANK_HSYNC_SUSPEND:
-+      case FB_BLANK_POWERDOWN:
-+              value = 1;
-+              break;
-+      default:
-+              return -EINVAL;
-+      }
-+
-+      ret = rpi_firmware_property(fb->fw, RPI_FIRMWARE_FRAMEBUFFER_BLANK,
-+                                  &value, sizeof(value));
-+      if (ret)
-+              dev_err(info->device, "%s(%d) failed: %d\n", __func__,
-+                      blank_mode, ret);
-+
-+      return ret;
-+}
-+
-+static int bcm2708_fb_pan_display(struct fb_var_screeninfo *var,
-+                                struct fb_info *info)
-+{
-+      s32 result;
-+
-+      info->var.xoffset = var->xoffset;
-+      info->var.yoffset = var->yoffset;
-+      result = bcm2708_fb_set_par(info);
-+      if (result != 0)
-+              pr_err("%s(%d,%d) returns=%d\n", __func__,
-+                      var->xoffset, var->yoffset, result);
-+      return result;
-+}
-+
-+static int bcm2708_ioctl(struct fb_info *info, unsigned int cmd, unsigned long arg)
-+{
-+      struct bcm2708_fb *fb = to_bcm2708(info);
-+      u32 dummy = 0;
-+      int ret;
-+
-+      switch (cmd) {
-+      case FBIO_WAITFORVSYNC:
-+              ret = rpi_firmware_property(fb->fw,
-+                                          RPI_FIRMWARE_FRAMEBUFFER_SET_VSYNC,
-+                                          &dummy, sizeof(dummy));
-+              break;
-+      default:
-+              dev_dbg(info->device, "Unknown ioctl 0x%x\n", cmd);
-+              return -ENOTTY;
-+      }
-+
-+      if (ret)
-+              dev_err(info->device, "ioctl 0x%x failed (%d)\n", cmd, ret);
-+
-+      return ret;
-+}
-+static void bcm2708_fb_fillrect(struct fb_info *info,
-+                              const struct fb_fillrect *rect)
-+{
-+      /* (is called) print_debug("bcm2708_fb_fillrect\n"); */
-+      cfb_fillrect(info, rect);
-+}
-+
-+/* A helper function for configuring dma control block */
-+static void set_dma_cb(struct bcm2708_dma_cb *cb,
-+                     int        burst_size,
-+                     dma_addr_t dst,
-+                     int        dst_stride,
-+                     dma_addr_t src,
-+                     int        src_stride,
-+                     int        w,
-+                     int        h)
-+{
-+      cb->info = BCM2708_DMA_BURST(burst_size) | BCM2708_DMA_S_WIDTH |
-+                 BCM2708_DMA_S_INC | BCM2708_DMA_D_WIDTH |
-+                 BCM2708_DMA_D_INC | BCM2708_DMA_TDMODE;
-+      cb->dst = dst;
-+      cb->src = src;
-+      /*
-+       * This is not really obvious from the DMA documentation,
-+       * but the top 16 bits must be programmmed to "height -1"
-+       * and not "height" in 2D mode.
-+       */
-+      cb->length = ((h - 1) << 16) | w;
-+      cb->stride = ((dst_stride - w) << 16) | (u16)(src_stride - w);
-+      cb->pad[0] = 0;
-+      cb->pad[1] = 0;
-+}
-+
-+static void bcm2708_fb_copyarea(struct fb_info *info,
-+                              const struct fb_copyarea *region)
-+{
-+      struct bcm2708_fb *fb = to_bcm2708(info);
-+      struct bcm2708_dma_cb *cb = fb->cb_base;
-+      int bytes_per_pixel = (info->var.bits_per_pixel + 7) >> 3;
-+
-+      /* Channel 0 supports larger bursts and is a bit faster */
-+      int burst_size = (fb->dma_chan == 0) ? 8 : 2;
-+      int pixels = region->width * region->height;
-+
-+      /* Fallback to cfb_copyarea() if we don't like something */
-+      if (bytes_per_pixel > 4 ||
-+          info->var.xres * info->var.yres > 1920 * 1200 ||
-+          region->width <= 0 || region->width > info->var.xres ||
-+          region->height <= 0 || region->height > info->var.yres ||
-+          region->sx < 0 || region->sx >= info->var.xres ||
-+          region->sy < 0 || region->sy >= info->var.yres ||
-+          region->dx < 0 || region->dx >= info->var.xres ||
-+          region->dy < 0 || region->dy >= info->var.yres ||
-+          region->sx + region->width > info->var.xres ||
-+          region->dx + region->width > info->var.xres ||
-+          region->sy + region->height > info->var.yres ||
-+          region->dy + region->height > info->var.yres) {
-+              cfb_copyarea(info, region);
-+              return;
-+      }
-+
-+      if (region->dy == region->sy && region->dx > region->sx) {
-+              /*
-+               * A difficult case of overlapped copy. Because DMA can't
-+               * copy individual scanlines in backwards direction, we need
-+               * two-pass processing. We do it by programming a chain of dma
-+               * control blocks in the first 16K part of the buffer and use
-+               * the remaining 48K as the intermediate temporary scratch
-+               * buffer. The buffer size is sufficient to handle up to
-+               * 1920x1200 resolution at 32bpp pixel depth.
-+               */
-+              int y;
-+              dma_addr_t control_block_pa = fb->cb_handle;
-+              dma_addr_t scratchbuf = fb->cb_handle + 16 * 1024;
-+              int scanline_size = bytes_per_pixel * region->width;
-+              int scanlines_per_cb = (64 * 1024 - 16 * 1024) / scanline_size;
-+
-+              for (y = 0; y < region->height; y += scanlines_per_cb) {
-+                      dma_addr_t src =
-+                              fb->fb_bus_address +
-+                              bytes_per_pixel * region->sx +
-+                              (region->sy + y) * fb->fb.fix.line_length;
-+                      dma_addr_t dst =
-+                              fb->fb_bus_address +
-+                              bytes_per_pixel * region->dx +
-+                              (region->dy + y) * fb->fb.fix.line_length;
-+
-+                      if (region->height - y < scanlines_per_cb)
-+                              scanlines_per_cb = region->height - y;
-+
-+                      set_dma_cb(cb, burst_size, scratchbuf, scanline_size,
-+                                 src, fb->fb.fix.line_length,
-+                                 scanline_size, scanlines_per_cb);
-+                      control_block_pa += sizeof(struct bcm2708_dma_cb);
-+                      cb->next = control_block_pa;
-+                      cb++;
-+
-+                      set_dma_cb(cb, burst_size, dst, fb->fb.fix.line_length,
-+                                 scratchbuf, scanline_size,
-+                                 scanline_size, scanlines_per_cb);
-+                      control_block_pa += sizeof(struct bcm2708_dma_cb);
-+                      cb->next = control_block_pa;
-+                      cb++;
-+              }
-+              /* move the pointer back to the last dma control block */
-+              cb--;
-+      } else {
-+              /* A single dma control block is enough. */
-+              int sy, dy, stride;
-+
-+              if (region->dy <= region->sy) {
-+                      /* processing from top to bottom */
-+                      dy = region->dy;
-+                      sy = region->sy;
-+                      stride = fb->fb.fix.line_length;
-+              } else {
-+                      /* processing from bottom to top */
-+                      dy = region->dy + region->height - 1;
-+                      sy = region->sy + region->height - 1;
-+                      stride = -fb->fb.fix.line_length;
-+              }
-+              set_dma_cb(cb, burst_size,
-+                         fb->fb_bus_address + dy * fb->fb.fix.line_length +
-+                                                 bytes_per_pixel * region->dx,
-+                         stride,
-+                         fb->fb_bus_address + sy * fb->fb.fix.line_length +
-+                                                 bytes_per_pixel * region->sx,
-+                         stride,
-+                         region->width * bytes_per_pixel,
-+                         region->height);
-+      }
-+
-+      /* end of dma control blocks chain */
-+      cb->next = 0;
-+
-+
-+      if (pixels < dma_busy_wait_threshold) {
-+              bcm_dma_start(fb->dma_chan_base, fb->cb_handle);
-+              bcm_dma_wait_idle(fb->dma_chan_base);
-+      } else {
-+              void __iomem *dma_chan = fb->dma_chan_base;
-+
-+              cb->info |= BCM2708_DMA_INT_EN;
-+              bcm_dma_start(fb->dma_chan_base, fb->cb_handle);
-+              while (bcm_dma_is_busy(dma_chan)) {
-+                      wait_event_interruptible(
-+                              fb->dma_waitq,
-+                              !bcm_dma_is_busy(dma_chan));
-+              }
-+              fb->stats.dma_irqs++;
-+      }
-+      fb->stats.dma_copies++;
-+}
-+
-+static void bcm2708_fb_imageblit(struct fb_info *info,
-+                               const struct fb_image *image)
-+{
-+      /* (is called) print_debug("bcm2708_fb_imageblit\n"); */
-+      cfb_imageblit(info, image);
-+}
-+
-+static irqreturn_t bcm2708_fb_dma_irq(int irq, void *cxt)
-+{
-+      struct bcm2708_fb *fb = cxt;
-+
-+      /* FIXME: should read status register to check if this is
-+       * actually interrupting us or not, in case this interrupt
-+       * ever becomes shared amongst several DMA channels
-+       *
-+       * readl(dma_chan_base + BCM2708_DMA_CS) & BCM2708_DMA_IRQ;
-+       */
-+
-+      /* acknowledge the interrupt */
-+      writel(BCM2708_DMA_INT, fb->dma_chan_base + BCM2708_DMA_CS);
-+
-+      wake_up(&fb->dma_waitq);
-+      return IRQ_HANDLED;
-+}
-+
-+static struct fb_ops bcm2708_fb_ops = {
-+      .owner = THIS_MODULE,
-+      .fb_check_var = bcm2708_fb_check_var,
-+      .fb_set_par = bcm2708_fb_set_par,
-+      .fb_setcolreg = bcm2708_fb_setcolreg,
-+      .fb_blank = bcm2708_fb_blank,
-+      .fb_fillrect = bcm2708_fb_fillrect,
-+      .fb_copyarea = bcm2708_fb_copyarea,
-+      .fb_imageblit = bcm2708_fb_imageblit,
-+      .fb_pan_display = bcm2708_fb_pan_display,
-+      .fb_ioctl = bcm2708_ioctl,
-+};
-+
-+static int bcm2708_fb_register(struct bcm2708_fb *fb)
-+{
-+      int ret;
-+
-+      fb->fb.fbops = &bcm2708_fb_ops;
-+      fb->fb.flags = FBINFO_FLAG_DEFAULT | FBINFO_HWACCEL_COPYAREA;
-+      fb->fb.pseudo_palette = fb->cmap;
-+
-+      strncpy(fb->fb.fix.id, bcm2708_name, sizeof(fb->fb.fix.id));
-+      fb->fb.fix.type = FB_TYPE_PACKED_PIXELS;
-+      fb->fb.fix.type_aux = 0;
-+      fb->fb.fix.xpanstep = 1;
-+      fb->fb.fix.ypanstep = 1;
-+      fb->fb.fix.ywrapstep = 0;
-+      fb->fb.fix.accel = FB_ACCEL_NONE;
-+
-+      fb->fb.var.xres = fbwidth;
-+      fb->fb.var.yres = fbheight;
-+      fb->fb.var.xres_virtual = fbwidth;
-+      fb->fb.var.yres_virtual = fbheight;
-+      fb->fb.var.bits_per_pixel = fbdepth;
-+      fb->fb.var.vmode = FB_VMODE_NONINTERLACED;
-+      fb->fb.var.activate = FB_ACTIVATE_NOW;
-+      fb->fb.var.nonstd = 0;
-+      fb->fb.var.height = -1;         /* height of picture in mm    */
-+      fb->fb.var.width = -1;          /* width of picture in mm    */
-+      fb->fb.var.accel_flags = 0;
-+
-+      fb->fb.monspecs.hfmin = 0;
-+      fb->fb.monspecs.hfmax = 100000;
-+      fb->fb.monspecs.vfmin = 0;
-+      fb->fb.monspecs.vfmax = 400;
-+      fb->fb.monspecs.dclkmin = 1000000;
-+      fb->fb.monspecs.dclkmax = 100000000;
-+
-+      bcm2708_fb_set_bitfields(&fb->fb.var);
-+      init_waitqueue_head(&fb->dma_waitq);
-+
-+      /*
-+       * Allocate colourmap.
-+       */
-+
-+      fb_set_var(&fb->fb, &fb->fb.var);
-+      ret = bcm2708_fb_set_par(&fb->fb);
-+      if (ret)
-+              return ret;
-+
-+      print_debug("BCM2708FB: registering framebuffer (%dx%d@%d) (%d)\n",
-+              fbwidth, fbheight, fbdepth, fbswap);
-+
-+      ret = register_framebuffer(&fb->fb);
-+      print_debug("BCM2708FB: register framebuffer (%d)\n", ret);
-+      if (ret == 0)
-+              goto out;
-+
-+      print_debug("BCM2708FB: cannot register framebuffer (%d)\n", ret);
-+out:
-+      return ret;
-+}
-+
-+static int bcm2708_fb_probe(struct platform_device *dev)
-+{
-+      struct device_node *fw_np;
-+      struct rpi_firmware *fw;
-+      struct bcm2708_fb *fb;
-+      int ret;
-+
-+      fw_np = of_parse_phandle(dev->dev.of_node, "firmware", 0);
-+/* Remove comment when booting without Device Tree is no longer supported
-+ *    if (!fw_np) {
-+ *            dev_err(&dev->dev, "Missing firmware node\n");
-+ *            return -ENOENT;
-+ *    }
-+ */
-+      fw = rpi_firmware_get(fw_np);
-+      if (!fw)
-+              return -EPROBE_DEFER;
-+
-+      fb = kzalloc(sizeof(struct bcm2708_fb), GFP_KERNEL);
-+      if (!fb) {
-+              ret = -ENOMEM;
-+              goto free_region;
-+      }
-+
-+      fb->fw = fw;
-+      bcm2708_fb_debugfs_init(fb);
-+
-+      fb->cb_base = dma_alloc_writecombine(&dev->dev, SZ_64K,
-+                                           &fb->cb_handle, GFP_KERNEL);
-+      if (!fb->cb_base) {
-+              dev_err(&dev->dev, "cannot allocate DMA CBs\n");
-+              ret = -ENOMEM;
-+              goto free_fb;
-+      }
-+
-+      pr_info("BCM2708FB: allocated DMA memory %08x\n",
-+             fb->cb_handle);
-+
-+      ret = bcm_dma_chan_alloc(BCM_DMA_FEATURE_BULK,
-+                               &fb->dma_chan_base, &fb->dma_irq);
-+      if (ret < 0) {
-+              dev_err(&dev->dev, "couldn't allocate a DMA channel\n");
-+              goto free_cb;
-+      }
-+      fb->dma_chan = ret;
-+
-+      ret = request_irq(fb->dma_irq, bcm2708_fb_dma_irq,
-+                        0, "bcm2708_fb dma", fb);
-+      if (ret) {
-+              pr_err("%s: failed to request DMA irq\n", __func__);
-+              goto free_dma_chan;
-+      }
-+
-+
-+      pr_info("BCM2708FB: allocated DMA channel %d @ %p\n",
-+             fb->dma_chan, fb->dma_chan_base);
-+
-+      fb->dev = dev;
-+      fb->fb.device = &dev->dev;
-+
-+      /* failure here isn't fatal, but we'll fail in vc_mem_copy if
-+       * fb->gpu is not valid
-+       */
-+      rpi_firmware_property(fb->fw,
-+                                  RPI_FIRMWARE_GET_VC_MEMORY,
-+                                  &fb->gpu, sizeof(fb->gpu));
-+
-+      ret = bcm2708_fb_register(fb);
-+      if (ret == 0) {
-+              platform_set_drvdata(dev, fb);
-+              goto out;
-+      }
-+
-+free_dma_chan:
-+      bcm_dma_chan_free(fb->dma_chan);
-+free_cb:
-+      dma_free_writecombine(&dev->dev, SZ_64K, fb->cb_base, fb->cb_handle);
-+free_fb:
-+      kfree(fb);
-+free_region:
-+      dev_err(&dev->dev, "probe failed, err %d\n", ret);
-+out:
-+      return ret;
-+}
-+
-+static int bcm2708_fb_remove(struct platform_device *dev)
-+{
-+      struct bcm2708_fb *fb = platform_get_drvdata(dev);
-+
-+      platform_set_drvdata(dev, NULL);
-+
-+      if (fb->fb.screen_base)
-+              iounmap(fb->fb.screen_base);
-+      unregister_framebuffer(&fb->fb);
-+
-+      dma_free_writecombine(&dev->dev, SZ_64K, fb->cb_base, fb->cb_handle);
-+      bcm_dma_chan_free(fb->dma_chan);
-+
-+      bcm2708_fb_debugfs_deinit(fb);
-+
-+      free_irq(fb->dma_irq, fb);
-+
-+      kfree(fb);
-+
-+      return 0;
-+}
-+
-+static const struct of_device_id bcm2708_fb_of_match_table[] = {
-+      { .compatible = "brcm,bcm2708-fb", },
-+      {},
-+};
-+MODULE_DEVICE_TABLE(of, bcm2708_fb_of_match_table);
-+
-+static struct platform_driver bcm2708_fb_driver = {
-+      .probe = bcm2708_fb_probe,
-+      .remove = bcm2708_fb_remove,
-+      .driver = {
-+                 .name = DRIVER_NAME,
-+                 .owner = THIS_MODULE,
-+                 .of_match_table = bcm2708_fb_of_match_table,
-+                 },
-+};
-+
-+static int __init bcm2708_fb_init(void)
-+{
-+      return platform_driver_register(&bcm2708_fb_driver);
-+}
-+
-+module_init(bcm2708_fb_init);
-+
-+static void __exit bcm2708_fb_exit(void)
-+{
-+      platform_driver_unregister(&bcm2708_fb_driver);
-+}
-+
-+module_exit(bcm2708_fb_exit);
-+
-+module_param(fbwidth, int, 0644);
-+module_param(fbheight, int, 0644);
-+module_param(fbdepth, int, 0644);
-+module_param(fbswap, int, 0644);
-+
-+MODULE_DESCRIPTION("BCM2708 framebuffer driver");
-+MODULE_LICENSE("GPL");
-+
-+MODULE_PARM_DESC(fbwidth, "Width of ARM Framebuffer");
-+MODULE_PARM_DESC(fbheight, "Height of ARM Framebuffer");
-+MODULE_PARM_DESC(fbdepth, "Bit depth of ARM Framebuffer");
-+MODULE_PARM_DESC(fbswap, "Swap order of red and blue in 24 and 32 bit modes");
---- a/drivers/video/logo/logo_linux_clut224.ppm
-+++ b/drivers/video/logo/logo_linux_clut224.ppm
-@@ -1,1604 +1,883 @@
- P3
--# Standard 224-color Linux logo
--80 80
-+63 80
- 255
--  0   0   0   0   0   0   0   0   0   0   0   0
--  0   0   0   0   0   0   0   0   0   0   0   0
--  0   0   0   0   0   0   0   0   0   0   0   0
--  0   0   0   0   0   0   0   0   0   0   0   0
--  0   0   0   0   0   0   0   0   0   0   0   0
--  0   0   0   0   0   0   0   0   0   0   0   0
--  0   0   0   0   0   0   0   0   0   0   0   0
--  0   0   0   0   0   0   0   0   0   0   0   0
--  0   0   0   0   0   0   0   0   0   0   0   0
--  6   6   6   6   6   6  10  10  10  10  10  10
-- 10  10  10   6   6   6   6   6   6   6   6   6
--  0   0   0   0   0   0   0   0   0   0   0   0
--  0   0   0   0   0   0   0   0   0   0   0   0
--  0   0   0   0   0   0   0   0   0   0   0   0
--  0   0   0   0   0   0   0   0   0   0   0   0
--  0   0   0   0   0   0   0   0   0   0   0   0
--  0   0   0   0   0   0   0   0   0   0   0   0
--  0   0   0   0   0   0   0   0   0   0   0   0
--  0   0   0   0   0   0   0   0   0   0   0   0
--  0   0   0   0   0   0   0   0   0   0   0   0
--  0   0   0   0   0   0   0   0   0   0   0   0
--  0   0   0   0   0   0   0   0   0   0   0   0
--  0   0   0   0   0   0   0   0   0   0   0   0
--  0   0   0   0   0   0   0   0   0   0   0   0
--  0   0   0   0   0   0   0   0   0   0   0   0
--  0   0   0   0   0   0   0   0   0   0   0   0
--  0   0   0   0   0   0   0   0   0   0   0   0
--  0   0   0   0   0   0   0   0   0   0   0   0
--  0   0   0   6   6   6  10  10  10  14  14  14
-- 22  22  22  26  26  26  30  30  30  34  34  34
-- 30  30  30  30  30  30  26  26  26  18  18  18
-- 14  14  14  10  10  10   6   6   6   0   0   0
--  0   0   0   0   0   0   0   0   0   0   0   0
--  0   0   0   0   0   0   0   0   0   0   0   0
--  0   0   0   0   0   0   0   0   0   0   0   0
--  0   0   0   0   0   0   0   0   0   0   0   0
--  0   0   0   0   0   0   0   0   0   0   0   0
--  0   0   0   0   0   0   0   0   0   0   0   0
--  0   0   0   0   0   0   0   0   0   0   0   0
--  0   0   0   0   0   0   0   0   0   0   0   0
--  0   0   0   0   0   0   0   0   0   0   0   0
--  0   0   0   0   0   1   0   0   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   0   0   0   0   0   0   0
--  0   0   0   0   0   0   0   0   0   0   0   0
--  6   6   6  14  14  14  26  26  26  42  42  42
-- 54  54  54  66  66  66  78  78  78  78  78  78
-- 78  78  78  74  74  74  66  66  66  54  54  54
-- 42  42  42  26  26  26  18  18  18  10  10  10
--  6   6   6   0   0   0   0   0   0   0   0   0
--  0   0   0   0   0   0   0   0   0   0   0   0
--  0   0   0   0   0   0   0   0   0   0   0   0
--  0   0   0   0   0   0   0   0   0   0   0   0
--  0   0   0   0   0   0   0   0   0   0   0   0
--  0   0   0   0   0   0   0   0   0   0   0   0
--  0   0   0   0   0   0   0   0   0   0   0   0
--  0   0   0   0   0   0   0   0   0   0   0   0
--  0   0   0   0   0   0   0   0   0   0   0   0
--  0   0   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   0
--  0   0   0   0   0   0   0   0   0   0   0   0
--  0   0   0   0   0   0   0   0   0  10  10  10
-- 22  22  22  42  42  42  66  66  66  86  86  86
-- 66  66  66  38  38  38  38  38  38  22  22  22
-- 26  26  26  34  34  34  54  54  54  66  66  66
-- 86  86  86  70  70  70  46  46  46  26  26  26
-- 14  14  14   6   6   6   0   0   0   0   0   0
--  0   0   0   0   0   0   0   0   0   0   0   0
--  0   0   0   0   0   0   0   0   0   0   0   0
--  0   0   0   0   0   0   0   0   0   0   0   0
--  0   0   0   0   0   0   0   0   0   0   0   0
--  0   0   0   0   0   0   0   0   0   0   0   0
--  0   0   0   0   0   0   0   0   0   0   0   0
--  0   0   0   0   0   0   0   0   0   0   0   0
--  0   0   0   0   0   0   0   0   0   0   0   0
--  0   0   1   0   0   1   0   0   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   0   0   0   0   0   0   0
--  0   0   0   0   0   0  10  10  10  26  26  26
-- 50  50  50  82  82  82  58  58  58   6   6   6
--  2   2   6   2   2   6   2   2   6   2   2   6
--  2   2   6   2   2   6   2   2   6   2   2   6
--  6   6   6  54  54  54  86  86  86  66  66  66
-- 38  38  38  18  18  18   6   6   6   0   0   0
--  0   0   0   0   0   0   0   0   0   0   0   0
--  0   0   0   0   0   0   0   0   0   0   0   0
--  0   0   0   0   0   0   0   0   0   0   0   0
--  0   0   0   0   0   0   0   0   0   0   0   0
--  0   0   0   0   0   0   0   0   0   0   0   0
--  0   0   0   0   0   0   0   0   0   0   0   0
--  0   0   0   0   0   0   0   0   0   0   0   0
--  0   0   0   0   0   0   0   0   0   0   0   0
--  0   0   0   0   0   0   0   0   0   0   0   0
--  0   0   0   0   0   0   0   0   0   0   0   0
--  0   0   0   0   0   0   0   0   0   0   0   0
--  0   0   0   0   0   0   0   0   0   0   0   0
--  0   0   0   0   0   0   0   0   0   0   0   0
--  0   0   0   0   0   0   0   0   0   0   0   0
--  0   0   0   6   6   6  22  22  22  50  50  50
-- 78  78  78  34  34  34   2   2   6   2   2   6
--  2   2   6   2   2   6   2   2   6   2   2   6
--  2   2   6   2   2   6   2   2   6   2   2   6
--  2   2   6   2   2   6   6   6   6  70  70  70
-- 78  78  78  46  46  46  22  22  22   6   6   6
--  0   0   0   0   0   0   0   0   0   0   0   0
--  0   0   0   0   0   0   0   0   0   0   0   0
--  0   0   0   0   0   0   0   0   0   0   0   0
--  0   0   0   0   0   0   0   0   0   0   0   0
--  0   0   0   0   0   0   0   0   0   0   0   0
--  0   0   0   0   0   0   0   0   0   0   0   0
--  0   0   0   0   0   0   0   0   0   0   0   0
--  0   0   0   0   0   0   0   0   0   0   0   0
--  0   0   1   0   0   1   0   0   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   0   0   0   0   0   0   0
--  6   6   6  18  18  18  42  42  42  82  82  82
-- 26  26  26   2   2   6   2   2   6   2   2   6
--  2   2   6   2   2   6   2   2   6   2   2   6
--  2   2   6   2   2   6   2   2   6  14  14  14
-- 46  46  46  34  34  34   6   6   6   2   2   6
-- 42  42  42  78  78  78  42  42  42  18  18  18
--  6   6   6   0   0   0   0   0   0   0   0   0
--  0   0   0   0   0   0   0   0   0   0   0   0
--  0   0   0   0   0   0   0   0   0   0   0   0
--  0   0   0   0   0   0   0   0   0   0   0   0
--  0   0   0   0   0   0   0   0   0   0   0   0
--  0   0   0   0   0   0   0   0   0   0   0   0
--  0   0   0   0   0   0   0   0   0   0   0   0
--  0   0   0   0   0   0   0   0   0   0   0   0
--  0   0   1   0   0   0   0   0   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   0   0   0   0   0   0   0
-- 10  10  10  30  30  30  66  66  66  58  58  58
--  2   2   6   2   2   6   2   2   6   2   2   6
--  2   2   6   2   2   6   2   2   6   2   2   6
--  2   2   6   2   2   6   2   2   6  26  26  26
-- 86  86  86 101 101 101  46  46  46  10  10  10
--  2   2   6  58  58  58  70  70  70  34  34  34
-- 10  10  10   0   0   0   0   0   0   0   0   0
--  0   0   0   0   0   0   0   0   0   0   0   0
--  0   0   0   0   0   0   0   0   0   0   0   0
--  0   0   0   0   0   0   0   0   0   0   0   0
--  0   0   0   0   0   0   0   0   0   0   0   0
--  0   0   0   0   0   0   0   0   0   0   0   0
--  0   0   0   0   0   0   0   0   0   0   0   0
--  0   0   0   0   0   0   0   0   0   0   0   0
--  0   0   1   0   0   1   0   0   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   0   0   0   0   0   0   0
-- 14  14  14  42  42  42  86  86  86  10  10  10
--  2   2   6   2   2   6   2   2   6   2   2   6
--  2   2   6   2   2   6   2   2   6   2   2   6
--  2   2   6   2   2   6   2   2   6  30  30  30
-- 94  94  94  94  94  94  58  58  58  26  26  26
--  2   2   6   6   6   6  78  78  78  54  54  54
-- 22  22  22   6   6   6   0   0   0   0   0   0
--  0   0   0   0   0   0   0   0   0   0   0   0
--  0   0   0   0   0   0   0   0   0   0   0   0
--  0   0   0   0   0   0   0   0   0   0   0   0
--  0   0   0   0   0   0   0   0   0   0   0   0
--  0   0   0   0   0   0   0   0   0   0   0   0
--  0   0   0   0   0   0   0   0   0   0   0   0
--  0   0   0   0   0   0   0   0   0   0   0   0
--  0   0   0   0   0   0   0   0   0   0   0   0
--  0   0   0   0   0   0   0   0   0   0   0   0
--  0   0   0   0   0   0   0   0   0   0   0   0
--  0   0   0   0   0   0   0   0   0   0   0   0
--  0   0   0   0   0   0   0   0   0   0   0   0
--  0   0   0   0   0   0   0   0   0   6   6   6
-- 22  22  22  62  62  62  62  62  62   2   2   6
--  2   2   6   2   2   6   2   2   6   2   2   6
--  2   2   6   2   2   6   2   2   6   2   2   6
--  2   2   6   2   2   6   2   2   6  26  26  26
-- 54  54  54  38  38  38  18  18  18  10  10  10
--  2   2   6   2   2   6  34  34  34  82  82  82
-- 38  38  38  14  14  14   0   0   0   0   0   0
--  0   0   0   0   0   0   0   0   0   0   0   0
--  0   0   0   0   0   0   0   0   0   0   0   0
--  0   0   0   0   0   0   0   0   0   0   0   0
--  0   0   0   0   0   0   0   0   0   0   0   0
--  0   0   0   0   0   0   0   0   0   0   0   0
--  0   0   0   0   0   0   0   0   0   0   0   0
--  0   0   0   0   0   0   0   0   0   0   0   0
--  0   0   0   0   0   1   0   0   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   0   0   0   0   6   6   6
-- 30  30  30  78  78  78  30  30  30   2   2   6
--  2   2   6   2   2   6   2   2   6   2   2   6
--  2   2   6   2   2   6   2   2   6   2   2   6
--  2   2   6   2   2   6   2   2   6  10  10  10
-- 10  10  10   2   2   6   2   2   6   2   2   6
--  2   2   6   2   2   6   2   2   6  78  78  78
-- 50  50  50  18  18  18   6   6   6   0   0   0
--  0   0   0   0   0   0   0   0   0   0   0   0
--  0   0   0   0   0   0   0   0   0   0   0   0
--  0   0   0   0   0   0   0   0   0   0   0   0
--  0   0   0   0   0   0   0   0   0   0   0   0
--  0   0   0   0   0   0   0   0   0   0   0   0
--  0   0   0   0   0   0   0   0   0   0   0   0
--  0   0   0   0   0   0   0   0   0   0   0   0
--  0   0   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   0
--  0   0   0   0   0   0   0   0   0  10  10  10
-- 38  38  38  86  86  86  14  14  14   2   2   6
--  2   2   6   2   2   6   2   2   6   2   2   6
--  2   2   6   2   2   6   2   2   6   2   2   6
--  2   2   6   2   2   6   2   2   6   2   2   6
--  2   2   6   2   2   6   2   2   6   2   2   6
--  2   2   6   2   2   6   2   2   6  54  54  54
-- 66  66  66  26  26  26   6   6   6   0   0   0
--  0   0   0   0   0   0   0   0   0   0   0   0
--  0   0   0   0   0   0   0   0   0   0   0   0
--  0   0   0   0   0   0   0   0   0   0   0   0
--  0   0   0   0   0   0   0   0   0   0   0   0
--  0   0   0   0   0   0   0   0   0   0   0   0
--  0   0   0   0   0   0   0   0   0   0   0   0
--  0   0   0   0   0   0   0   0   0   0   0   0
--  0   0   0   0   0   1   0   0   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   0   0   0   0  14  14  14
-- 42  42  42  82  82  82   2   2   6   2   2   6
--  2   2   6   6   6   6  10  10  10   2   2   6
--  2   2   6   2   2   6   2   2   6   2   2   6
--  2   2   6   2   2   6   2   2   6   6   6   6
-- 14  14  14  10  10  10   2   2   6   2   2   6
--  2   2   6   2   2   6   2   2   6  18  18  18
-- 82  82  82  34  34  34  10  10  10   0   0   0
--  0   0   0   0   0   0   0   0   0   0   0   0
--  0   0   0   0   0   0   0   0   0   0   0   0
--  0   0   0   0   0   0   0   0   0   0   0   0
--  0   0   0   0   0   0   0   0   0   0   0   0
--  0   0   0   0   0   0   0   0   0   0   0   0
--  0   0   0   0   0   0   0   0   0   0   0   0
--  0   0   0   0   0   0   0   0   0   0   0   0
--  0   0   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   0
--  0   0   0   0   0   0   0   0   0  14  14  14
-- 46  46  46  86  86  86   2   2   6   2   2   6
--  6   6   6   6   6   6  22  22  22  34  34  34
--  6   6   6   2   2   6   2   2   6   2   2   6
--  2   2   6   2   2   6  18  18  18  34  34  34
-- 10  10  10  50  50  50  22  22  22   2   2   6
--  2   2   6   2   2   6   2   2   6  10  10  10
-- 86  86  86  42  42  42  14  14  14   0   0   0
--  0   0   0   0   0   0   0   0   0   0   0   0
--  0   0   0   0   0   0   0   0   0   0   0   0
--  0   0   0   0   0   0   0   0   0   0   0   0
--  0   0   0   0   0   0   0   0   0   0   0   0
--  0   0   0   0   0   0   0   0   0   0   0   0
--  0   0   0   0   0   0   0   0   0   0   0   0
--  0   0   0   0   0   0   0   0   0   0   0   0
--  0   0   1   0   0   1   0   0   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   0   0   0   0  14  14  14
-- 46  46  46  86  86  86   2   2   6   2   2   6
-- 38  38  38 116 116 116  94  94  94  22  22  22
-- 22  22  22   2   2   6   2   2   6   2   2   6
-- 14  14  14  86  86  86 138 138 138 162 162 162
--154 154 154  38  38  38  26  26  26   6   6   6
--  2   2   6   2   2   6   2   2   6   2   2   6
-- 86  86  86  46  46  46  14  14  14   0   0   0
--  0   0   0   0   0   0   0   0   0   0   0   0
--  0   0   0   0   0   0   0   0   0   0   0   0
--  0   0   0   0   0   0   0   0   0   0   0   0
--  0   0   0   0   0   0   0   0   0   0   0   0
--  0   0   0   0   0   0   0   0   0   0   0   0
--  0   0   0   0   0   0   0   0   0   0   0   0
--  0   0   0   0   0   0   0   0   0   0   0   0
--  0   0   0   0   0   0   0   0   0   0   0   0
--  0   0   0   0   0   0   0   0   0   0   0   0
--  0   0   0   0   0   0   0   0   0   0   0   0
--  0   0   0   0   0   0   0   0   0   0   0   0
--  0   0   0   0   0   0   0   0   0   0   0   0
--  0   0   0   0   0   0   0   0   0  14  14  14
-- 46  46  46  86  86  86   2   2   6  14  14  14
--134 134 134 198 198 198 195 195 195 116 116 116
-- 10  10  10   2   2   6   2   2   6   6   6   6
--101  98  89 187 187 187 210 210 210 218 218 218
--214 214 214 134 134 134  14  14  14   6   6   6
--  2   2   6   2   2   6   2   2   6   2   2   6
-- 86  86  86  50  50  50  18  18  18   6   6   6
--  0   0   0   0   0   0   0   0   0   0   0   0
--  0   0   0   0   0   0   0   0   0   0   0   0
--  0   0   0   0   0   0   0   0   0   0   0   0
--  0   0   0   0   0   0   0   0   0   0   0   0
--  0   0   0   0   0   0   0   0   0   0   0   0
--  0   0   0   0   0   0   0   0   0   0   0   0
--  0   0   0   0   0   0   0   0   1   0   0   0
--  0   0   1   0   0   1   0   0   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   0   0   0   0  14  14  14
-- 46  46  46  86  86  86   2   2   6  54  54  54
--218 218 218 195 195 195 226 226 226 246 246 246
-- 58  58  58   2   2   6   2   2   6  30  30  30
--210 210 210 253 253 253 174 174 174 123 123 123
--221 221 221 234 234 234  74  74  74   2   2   6
--  2   2   6   2   2   6   2   2   6   2   2   6
-- 70  70  70  58  58  58  22  22  22   6   6   6
--  0   0   0   0   0   0   0   0   0   0   0   0
--  0   0   0   0   0   0   0   0   0   0   0   0
--  0   0   0   0   0   0   0   0   0   0   0   0
--  0   0   0   0   0   0   0   0   0   0   0   0
--  0   0   0   0   0   0   0   0   0   0   0   0
--  0   0   0   0   0   0   0   0   0   0   0   0
--  0   0   0   0   0   0   0   0   0   0   0   0
--  0   0   0   0   0   0   0   0   0   0   0   0
--  0   0   0   0   0   0   0   0   0   0   0   0
--  0   0   0   0   0   0   0   0   0   0   0   0
--  0   0   0   0   0   0   0   0   0   0   0   0
--  0   0   0   0   0   0   0   0   0   0   0   0
--  0   0   0   0   0   0   0   0   0  14  14  14
-- 46  46  46  82  82  82   2   2   6 106 106 106
--170 170 170  26  26  26  86  86  86 226 226 226
--123 123 123  10  10  10  14  14  14  46  46  46
--231 231 231 190 190 190   6   6   6  70  70  70
-- 90  90  90 238 238 238 158 158 158   2   2   6
--  2   2   6   2   2   6   2   2   6   2   2   6
-- 70  70  70  58  58  58  22  22  22   6   6   6
--  0   0   0   0   0   0   0   0   0   0   0   0
--  0   0   0   0   0   0   0   0   0   0   0   0
--  0   0   0   0   0   0   0   0   0   0   0   0
--  0   0   0   0   0   0   0   0   0   0   0   0
--  0   0   0   0   0   0   0   0   0   0   0   0
--  0   0   0   0   0   0   0   0   0   0   0   0
--  0   0   0   0   0   0   0   0   1   0   0   0
--  0   0   1   0   0   1   0   0   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   0   0   0   0  14  14  14
-- 42  42  42  86  86  86   6   6   6 116 116 116
--106 106 106   6   6   6  70  70  70 149 149 149
--128 128 128  18  18  18  38  38  38  54  54  54
--221 221 221 106 106 106   2   2   6  14  14  14
-- 46  46  46 190 190 190 198 198 198   2   2   6
--  2   2   6   2   2   6   2   2   6   2   2   6
-- 74  74  74  62  62  62  22  22  22   6   6   6
--  0   0   0   0   0   0   0   0   0   0   0   0
--  0   0   0   0   0   0   0   0   0   0   0   0
--  0   0   0   0   0   0   0   0   0   0   0   0
--  0   0   0   0   0   0   0   0   0   0   0   0
--  0   0   0   0   0   0   0   0   0   0   0   0
--  0   0   0   0   0   0   0   0   0   0   0   0
--  0   0   0   0   0   0   0   0   1   0   0   0
--  0   0   1   0   0   0   0   0   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   0   0   0   0  14  14  14
-- 42  42  42  94  94  94  14  14  14 101 101 101
--128 128 128   2   2   6  18  18  18 116 116 116
--118  98  46 121  92   8 121  92   8  98  78  10
--162 162 162 106 106 106   2   2   6   2   2   6
--  2   2   6 195 195 195 195 195 195   6   6   6
--  2   2   6   2   2   6   2   2   6   2   2   6
-- 74  74  74  62  62  62  22  22  22   6   6   6
--  0   0   0   0   0   0   0   0   0   0   0   0
--  0   0   0   0   0   0   0   0   0   0   0   0
--  0   0   0   0   0   0   0   0   0   0   0   0
--  0   0   0   0   0   0   0   0   0   0   0   0
--  0   0   0   0   0   0   0   0   0   0   0   0
--  0   0   0   0   0   0   0   0   0   0   0   0
--  0   0   0   0   0   0   0   0   1   0   0   1
--  0   0   1   0   0   0   0   0   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   0   0   0   0  10  10  10
-- 38  38  38  90  90  90  14  14  14  58  58  58
--210 210 210  26  26  26  54  38   6 154 114  10
--226 170  11 236 186  11 225 175  15 184 144  12
--215 174  15 175 146  61  37  26   9   2   2   6
-- 70  70  70 246 246 246 138 138 138   2   2   6
--  2   2   6   2   2   6   2   2   6   2   2   6
-- 70  70  70  66  66  66  26  26  26   6   6   6
--  0   0   0   0   0   0   0   0   0   0   0   0
--  0   0   0   0   0   0   0   0   0   0   0   0
--  0   0   0   0   0   0   0   0   0   0   0   0
--  0   0   0   0   0   0   0   0   0   0   0   0
--  0   0   0   0   0   0   0   0   0   0   0   0
--  0   0   0   0   0   0   0   0   0   0   0   0
--  0   0   0   0   0   0   0   0   0   0   0   0
--  0   0   0   0   0   0   0   0   0   0   0   0
--  0   0   0   0   0   0   0   0   0   0   0   0
--  0   0   0   0   0   0   0   0   0   0   0   0
--  0   0   0   0   0   0   0   0   0   0   0   0
--  0   0   0   0   0   0   0   0   0   0   0   0
--  0   0   0   0   0   0   0   0   0  10  10  10
-- 38  38  38  86  86  86  14  14  14  10  10  10
--195 195 195 188 164 115 192 133   9 225 175  15
--239 182  13 234 190  10 232 195  16 232 200  30
--245 207  45 241 208  19 232 195  16 184 144  12
--218 194 134 211 206 186  42  42  42   2   2   6
--  2   2   6   2   2   6   2   2   6   2   2   6
-- 50  50  50  74  74  74  30  30  30   6   6   6
--  0   0   0   0   0   0   0   0   0   0   0   0
--  0   0   0   0   0   0   0   0   0   0   0   0
--  0   0   0   0   0   0   0   0   0   0   0   0
--  0   0   0   0   0   0   0   0   0   0   0   0
--  0   0   0   0   0   0   0   0   0   0   0   0
--  0   0   0   0   0   0   0   0   0   0   0   0
--  0   0   0   0   0   0   0   0   0   0   0   0
--  0   0   0   0   0   0   0   0   0   0   0   0
--  0   0   0   0   0   0   0   0   0   0   0   0
--  0   0   0   0   0   0   0   0   0   0   0   0
--  0   0   0   0   0   0   0   0   0   0   0   0
--  0   0   0   0   0   0   0   0   0   0   0   0
--  0   0   0   0   0   0   0   0   0  10  10  10
-- 34  34  34  86  86  86  14  14  14   2   2   6
--121  87  25 192 133   9 219 162  10 239 182  13
--236 186  11 232 195  16 241 208  19 244 214  54
--246 218  60 246 218  38 246 215  20 241 208  19
--241 208  19 226 184  13 121  87  25   2   2   6
--  2   2   6   2   2   6   2   2   6   2   2   6
-- 50  50  50  82  82  82  34  34  34  10  10  10
--  0   0   0   0   0   0   0   0   0   0   0   0
--  0   0   0   0   0   0   0   0   0   0   0   0
--  0   0   0   0   0   0   0   0   0   0   0   0
--  0   0   0   0   0   0   0   0   0   0   0   0
--  0   0   0   0   0   0   0   0   0   0   0   0
--  0   0   0   0   0   0   0   0   0   0   0   0
--  0   0   0   0   0   0   0   0   0   0   0   0
--  0   0   0   0   0   0   0   0   0   0   0   0
--  0   0   0   0   0   0   0   0   0   0   0   0
--  0   0   0   0   0   0   0   0   0   0   0   0
--  0   0   0   0   0   0   0   0   0   0   0   0
--  0   0   0   0   0   0   0   0   0   0   0   0
--  0   0   0   0   0   0   0   0   0  10  10  10
-- 34  34  34  82  82  82  30  30  30  61  42   6
--180 123   7 206 145  10 230 174  11 239 182  13
--234 190  10 238 202  15 241 208  19 246 218  74
--246 218  38 246 215  20 246 215  20 246 215  20
--226 184  13 215 174  15 184 144  12   6   6   6
--  2   2   6   2   2   6   2   2   6   2   2   6
-- 26  26  26  94  94  94  42  42  42  14  14  14
--  0   0   0   0   0   0   0   0   0   0   0   0
--  0   0   0   0   0   0   0   0   0   0   0   0
--  0   0   0   0   0   0   0   0   0   0   0   0
--  0   0   0   0   0   0   0   0   0   0   0   0
--  0   0   0   0   0   0   0   0   0   0   0   0
--  0   0   0   0   0   0   0   0   0   0   0   0
--  0   0   0   0   0   0   0   0   0   0   0   0
--  0   0   0   0   0   0   0   0   0   0   0   0
--  0   0   0   0   0   0   0   0   0   0   0   0
--  0   0   0   0   0   0   0   0   0   0   0   0
--  0   0   0   0   0   0   0   0   0   0   0   0
--  0   0   0   0   0   0   0   0   0   0   0   0
--  0   0   0   0   0   0   0   0   0  10  10  10
-- 30  30  30  78  78  78  50  50  50 104  69   6
--192 133   9 216 158  10 236 178  12 236 186  11
--232 195  16 241 208  19 244 214  54 245 215  43
--246 215  20 246 215  20 241 208  19 198 155  10
--200 144  11 216 158  10 156 118  10   2   2   6
--  2   2   6   2   2   6   2   2   6   2   2   6
--  6   6   6  90  90  90  54  54  54  18  18  18
--  6   6   6   0   0   0   0   0   0   0   0   0
--  0   0   0   0   0   0   0   0   0   0   0   0
--  0   0   0   0   0   0   0   0   0   0   0   0
--  0   0   0   0   0   0   0   0   0   0   0   0
--  0   0   0   0   0   0   0   0   0   0   0   0
--  0   0   0   0   0   0   0   0   0   0   0   0
--  0   0   0   0   0   0   0   0   0   0   0   0
--  0   0   0   0   0   0   0   0   0   0   0   0
--  0   0   0   0   0   0   0   0   0   0   0   0
--  0   0   0   0   0   0   0   0   0   0   0   0
--  0   0   0   0   0   0   0   0   0   0   0   0
--  0   0   0   0   0   0   0   0   0   0   0   0
--  0   0   0   0   0   0   0   0   0  10  10  10
-- 30  30  30  78  78  78  46  46  46  22  22  22
--137  92   6 210 162  10 239 182  13 238 190  10
--238 202  15 241 208  19 246 215  20 246 215  20
--241 208  19 203 166  17 185 133  11 210 150  10
--216 158  10 210 150  10 102  78  10   2   2   6
--  6   6   6  54  54  54  14  14  14   2   2   6
--  2   2   6  62  62  62  74  74  74  30  30  30
-- 10  10  10   0   0   0   0   0   0   0   0   0
--  0   0   0   0   0   0   0   0   0   0   0   0
--  0   0   0   0   0   0   0   0   0   0   0   0
--  0   0   0   0   0   0   0   0   0   0   0   0
--  0   0   0   0   0   0   0   0   0   0   0   0
--  0   0   0   0   0   0   0   0   0   0   0   0
--  0   0   0   0   0   0   0   0   0   0   0   0
--  0   0   0   0   0   0   0   0   0   0   0   0
--  0   0   0   0   0   0   0   0   0   0   0   0
--  0   0   0   0   0   0   0   0   0   0   0   0
--  0   0   0   0   0   0   0   0   0   0   0   0
--  0   0   0   0   0   0   0   0   0   0   0   0
--  0   0   0   0   0   0   0   0   0  10  10  10
-- 34  34  34  78  78  78  50  50  50   6   6   6
-- 94  70  30 139 102  15 190 146  13 226 184  13
--232 200  30 232 195  16 215 174  15 190 146  13
--168 122  10 192 133   9 210 150  10 213 154  11
--202 150  34 182 157 106 101  98  89   2   2   6
--  2   2   6  78  78  78 116 116 116  58  58  58
--  2   2   6  22  22  22  90  90  90  46  46  46
-- 18  18  18   6   6   6   0   0   0   0   0   0
--  0   0   0   0   0   0   0   0   0   0   0   0
--  0   0   0   0   0   0   0   0   0   0   0   0
--  0   0   0   0   0   0   0   0   0   0   0   0
--  0   0   0   0   0   0   0   0   0   0   0   0
--  0   0   0   0   0   0   0   0   0   0   0   0
--  0   0   0   0   0   0   0   0   0   0   0   0
--  0   0   0   0   0   0   0   0   0   0   0   0
--  0   0   0   0   0   0   0   0   0   0   0   0
--  0   0   0   0   0   0   0   0   0   0   0   0
--  0   0   0   0   0   0   0   0   0   0   0   0
--  0   0   0   0   0   0   0   0   0   0   0   0
--  0   0   0   0   0   0   0   0   0  10  10  10
-- 38  38  38  86  86  86  50  50  50   6   6   6
--128 128 128 174 154 114 156 107  11 168 122  10
--198 155  10 184 144  12 197 138  11 200 144  11
--206 145  10 206 145  10 197 138  11 188 164 115
--195 195 195 198 198 198 174 174 174  14  14  14
--  2   2   6  22  22  22 116 116 116 116 116 116
-- 22  22  22   2   2   6  74  74  74  70  70  70
-- 30  30  30  10  10  10   0   0   0   0   0   0
--  0   0   0   0   0   0   0   0   0   0   0   0
--  0   0   0   0   0   0   0   0   0   0   0   0
--  0   0   0   0   0   0   0   0   0   0   0   0
--  0   0   0   0   0   0   0   0   0   0   0   0
--  0   0   0   0   0   0   0   0   0   0   0   0
--  0   0   0   0   0   0   0   0   0   0   0   0
--  0   0   0   0   0   0   0   0   0   0   0   0
--  0   0   0   0   0   0   0   0   0   0   0   0
--  0   0   0   0   0   0   0   0   0   0   0   0
--  0   0   0   0   0   0   0   0   0   0   0   0
--  0   0   0   0   0   0   0   0   0   0   0   0
--  0   0   0   0   0   0   6   6   6  18  18  18
-- 50  50  50 101 101 101  26  26  26  10  10  10
--138 138 138 190 190 190 174 154 114 156 107  11
--197 138  11 200 144  11 197 138  11 192 133   9
--180 123   7 190 142  34 190 178 144 187 187 187
--202 202 202 221 221 221 214 214 214  66  66  66
--  2   2   6   2   2   6  50  50  50  62  62  62
--  6   6   6   2   2   6  10  10  10  90  90  90
-- 50  50  50  18  18  18   6   6   6   0   0   0
--  0   0   0   0   0   0   0   0   0   0   0   0
--  0   0   0   0   0   0   0   0   0   0   0   0
--  0   0   0   0   0   0   0   0   0   0   0   0
--  0   0   0   0   0   0   0   0   0   0   0   0
--  0   0   0   0   0   0   0   0   0   0   0   0
--  0   0   0   0   0   0   0   0   0   0   0   0
--  0   0   0   0   0   0   0   0   0   0   0   0
--  0   0   0   0   0   0   0   0   0   0   0   0
--  0   0   0   0   0   0   0   0   0   0   0   0
--  0   0   0   0   0   0   0   0   0   0   0   0
--  0   0   0   0   0   0   0   0   0   0   0   0
--  0   0   0   0   0   0  10  10  10  34  34  34
-- 74  74  74  74  74  74   2   2   6   6   6   6
--144 144 144 198 198 198 190 190 190 178 166 146
--154 121  60 156 107  11 156 107  11 168 124  44
--174 154 114 187 187 187 190 190 190 210 210 210
--246 246 246 253 253 253 253 253 253 182 182 182
--  6   6   6   2   2   6   2   2   6   2   2   6
--  2   2   6   2   2   6   2   2   6  62  62  62
-- 74  74  74  34  34  34  14  14  14   0   0   0
--  0   0   0   0   0   0   0   0   0   0   0   0
--  0   0   0   0   0   0   0   0   0   0   0   0
--  0   0   0   0   0   0   0   0   0   0   0   0
--  0   0   0   0   0   0   0   0   0   0   0   0
--  0   0   0   0   0   0   0   0   0   0   0   0
--  0   0   0   0   0   0   0   0   0   0   0   0
--  0   0   0   0   0   0   0   0   0   0   0   0
--  0   0   0   0   0   0   0   0   0   0   0   0
--  0   0   0   0   0   0   0   0   0   0   0   0
--  0   0   0   0   0   0   0   0   0   0   0   0
--  0   0   0   0   0   0   0   0   0   0   0   0
--  0   0   0  10  10  10  22  22  22  54  54  54
-- 94  94  94  18  18  18   2   2   6  46  46  46
--234 234 234 221 221 221 190 190 190 190 190 190
--190 190 190 187 187 187 187 187 187 190 190 190
--190 190 190 195 195 195 214 214 214 242 242 242
--253 253 253 253 253 253 253 253 253 253 253 253
-- 82  82  82   2   2   6   2   2   6   2   2   6
--  2   2   6   2   2   6   2   2   6  14  14  14
-- 86  86  86  54  54  54  22  22  22   6   6   6
--  0   0   0   0   0   0   0   0   0   0   0   0
--  0   0   0   0   0   0   0   0   0   0   0   0
--  0   0   0   0   0   0   0   0   0   0   0   0
--  0   0   0   0   0   0   0   0   0   0   0   0
--  0   0   0   0   0   0   0   0   0   0   0   0
--  0   0   0   0   0   0   0   0   0   0   0   0
--  0   0   0   0   0   0   0   0   0   0   0   0
--  0   0   0   0   0   0   0   0   0   0   0   0
--  0   0   0   0   0   0   0   0   0   0   0   0
--  0   0   0   0   0   0   0   0   0   0   0   0
--  0   0   0   0   0   0   0   0   0   0   0   0
--  6   6   6  18  18  18  46  46  46  90  90  90
-- 46  46  46  18  18  18   6   6   6 182 182 182
--253 253 253 246 246 246 206 206 206 190 190 190
--190 190 190 190 190 190 190 190 190 190 190 190
--206 206 206 231 231 231 250 250 250 253 253 253
--253 253 253 253 253 253 253 253 253 253 253 253
--202 202 202  14  14  14   2   2   6   2   2   6
--  2   2   6   2   2   6   2   2   6   2   2   6
-- 42  42  42  86  86  86  42  42  42  18  18  18
--  6   6   6   0   0   0   0   0   0   0   0   0
--  0   0   0   0   0   0   0   0   0   0   0   0
--  0   0   0   0   0   0   0   0   0   0   0   0
--  0   0   0   0   0   0   0   0   0   0   0   0
--  0   0   0   0   0   0   0   0   0   0   0   0
--  0   0   0   0   0   0   0   0   0   0   0   0
--  0   0   0   0   0   0   0   0   0   0   0   0
--  0   0   0   0   0   0   0   0   0   0   0   0
--  0   0   0   0   0   0   0   0   0   0   0   0
--  0   0   0   0   0   0   0   0   0   0   0   0
--  0   0   0   0   0   0   0   0   0   6   6   6
-- 14  14  14  38  38  38  74  74  74  66  66  66
--  2   2   6   6   6   6  90  90  90 250 250 250
--253 253 253 253 253 253 238 238 238 198 198 198
--190 190 190 190 190 190 195 195 195 221 221 221
--246 246 246 253 253 253 253 253 253 253 253 253
--253 253 253 253 253 253 253 253 253 253 253 253
--253 253 253  82  82  82   2   2   6   2   2   6
--  2   2   6   2   2   6   2   2   6   2   2   6
--  2   2   6  78  78  78  70  70  70  34  34  34
-- 14  14  14   6   6   6   0   0   0   0   0   0
--  0   0   0   0   0   0   0   0   0   0   0   0
--  0   0   0   0   0   0   0   0   0   0   0   0
--  0   0   0   0   0   0   0   0   0   0   0   0
--  0   0   0   0   0   0   0   0   0   0   0   0
--  0   0   0   0   0   0   0   0   0   0   0   0
--  0   0   0   0   0   0   0   0   0   0   0   0
--  0   0   0   0   0   0   0   0   0   0   0   0
--  0   0   0   0   0   0   0   0   0   0   0   0
--  0   0   0   0   0   0   0   0   0   0   0   0
--  0   0   0   0   0   0   0   0   0  14  14  14
-- 34  34  34  66  66  66  78  78  78   6   6   6
--  2   2   6  18  18  18 218 218 218 253 253 253
--253 253 253 253 253 253 253 253 253 246 246 246
--226 226 226 231 231 231 246 246 246 253 253 253
--253 253 253 253 253 253 253 253 253 253 253 253
--253 253 253 253 253 253 253 253 253 253 253 253
--253 253 253 178 178 178   2   2   6   2   2   6
--  2   2   6   2   2   6   2   2   6   2   2   6
--  2   2   6  18  18  18  90  90  90  62  62  62
-- 30  30  30  10  10  10   0   0   0   0   0   0
--  0   0   0   0   0   0   0   0   0   0   0   0
--  0   0   0   0   0   0   0   0   0   0   0   0
--  0   0   0   0   0   0   0   0   0   0   0   0
--  0   0   0   0   0   0   0   0   0   0   0   0
--  0   0   0   0   0   0   0   0   0   0   0   0
--  0   0   0   0   0   0   0   0   0   0   0   0
--  0   0   0   0   0   0   0   0   0   0   0   0
--  0   0   0   0   0   0   0   0   0   0   0   0
--  0   0   0   0   0   0   0   0   0   0   0   0
--  0   0   0   0   0   0  10  10  10  26  26  26
-- 58  58  58  90  90  90  18  18  18   2   2   6
--  2   2   6 110 110 110 253 253 253 253 253 253
--253 253 253 253 253 253 253 253 253 253 253 253
--250 250 250 253 253 253 253 253 253 253 253 253
--253 253 253 253 253 253 253 253 253 253 253 253
--253 253 253 253 253 253 253 253 253 253 253 253
--253 253 253 231 231 231  18  18  18   2   2   6
--  2   2   6   2   2   6   2   2   6   2   2   6
--  2   2   6   2   2   6  18  18  18  94  94  94
-- 54  54  54  26  26  26  10  10  10   0   0   0
--  0   0   0   0   0   0   0   0   0   0   0   0
--  0   0   0   0   0   0   0   0   0   0   0   0
--  0   0   0   0   0   0   0   0   0   0   0   0
--  0   0   0   0   0   0   0   0   0   0   0   0
--  0   0   0   0   0   0   0   0   0   0   0   0
--  0   0   0   0   0   0   0   0   0   0   0   0
--  0   0   0   0   0   0   0   0   0   0   0   0
--  0   0   0   0   0   0   0   0   0   0   0   0
--  0   0   0   0   0   0   0   0   0   0   0   0
--  0   0   0   6   6   6  22  22  22  50  50  50
-- 90  90  90  26  26  26   2   2   6   2   2   6
-- 14  14  14 195 195 195 250 250 250 253 253 253
--253 253 253 253 253 253 253 253 253 253 253 253
--253 253 253 253 253 253 253 253 253 253 253 253
--253 253 253 253 253 253 253 253 253 253 253 253
--253 253 253 253 253 253 253 253 253 253 253 253
--250 250 250 242 242 242  54  54  54   2   2   6
--  2   2   6   2   2   6   2   2   6   2   2   6
--  2   2   6   2   2   6   2   2   6  38  38  38
-- 86  86  86  50  50  50  22  22  22   6   6   6
--  0   0   0   0   0   0   0   0   0   0   0   0
--  0   0   0   0   0   0   0   0   0   0   0   0
--  0   0   0   0   0   0   0   0   0   0   0   0
--  0   0   0   0   0   0   0   0   0   0   0   0
--  0   0   0   0   0   0   0   0   0   0   0   0
--  0   0   0   0   0   0   0   0   0   0   0   0
--  0   0   0   0   0   0   0   0   0   0   0   0
--  0   0   0   0   0   0   0   0   0   0   0   0
--  0   0   0   0   0   0   0   0   0   0   0   0
--  6   6   6  14  14  14  38  38  38  82  82  82
-- 34  34  34   2   2   6   2   2   6   2   2   6
-- 42  42  42 195 195 195 246 246 246 253 253 253
--253 253 253 253 253 253 253 253 253 250 250 250
--242 242 242 242 242 242 250 250 250 253 253 253
--253 253 253 253 253 253 253 253 253 253 253 253
--253 253 253 250 250 250 246 246 246 238 238 238
--226 226 226 231 231 231 101 101 101   6   6   6
--  2   2   6   2   2   6   2   2   6   2   2   6
--  2   2   6   2   2   6   2   2   6   2   2   6
-- 38  38  38  82  82  82  42  42  42  14  14  14
--  6   6   6   0   0   0   0   0   0   0   0   0
--  0   0   0   0   0   0   0   0   0   0   0   0
--  0   0   0   0   0   0   0   0   0   0   0   0
--  0   0   0   0   0   0   0   0   0   0   0   0
--  0   0   0   0   0   0   0   0   0   0   0   0
--  0   0   0   0   0   0   0   0   0   0   0   0
--  0   0   0   0   0   0   0   0   0   0   0   0
--  0   0   0   0   0   0   0   0   0   0   0   0
--  0   0   0   0   0   0   0   0   0   0   0   0
-- 10  10  10  26  26  26  62  62  62  66  66  66
--  2   2   6   2   2   6   2   2   6   6   6   6
-- 70  70  70 170 170 170 206 206 206 234 234 234
--246 246 246 250 250 250 250 250 250 238 238 238
--226 226 226 231 231 231 238 238 238 250 250 250
--250 250 250 250 250 250 246 246 246 231 231 231
--214 214 214 206 206 206 202 202 202 202 202 202
--198 198 198 202 202 202 182 182 182  18  18  18
--  2   2   6   2   2   6   2   2   6   2   2   6
--  2   2   6   2   2   6   2   2   6   2   2   6
--  2   2   6  62  62  62  66  66  66  30  30  30
-- 10  10  10   0   0   0   0   0   0   0   0   0
--  0   0   0   0   0   0   0   0   0   0   0   0
--  0   0   0   0   0   0   0   0   0   0   0   0
--  0   0   0   0   0   0   0   0   0   0   0   0
--  0   0   0   0   0   0   0   0   0   0   0   0
--  0   0   0   0   0   0   0   0   0   0   0   0
--  0   0   0   0   0   0   0   0   0   0   0   0
--  0   0   0   0   0   0   0   0   0   0   0   0
--  0   0   0   0   0   0   0   0   0   0   0   0
-- 14  14  14  42  42  42  82  82  82  18  18  18
--  2   2   6   2   2   6   2   2   6  10  10  10
-- 94  94  94 182 182 182 218 218 218 242 242 242
--250 250 250 253 253 253 253 253 253 250 250 250
--234 234 234 253 253 253 253 253 253 253 253 253
--253 253 253 253 253 253 253 253 253 246 246 246
--238 238 238 226 226 226 210 210 210 202 202 202
--195 195 195 195 195 195 210 210 210 158 158 158
--  6   6   6  14  14  14  50  50  50  14  14  14
--  2   2   6   2   2   6   2   2   6   2   2   6
--  2   2   6   6   6   6  86  86  86  46  46  46
-- 18  18  18   6   6   6   0   0   0   0   0   0
--  0   0   0   0   0   0   0   0   0   0   0   0
--  0   0   0   0   0   0   0   0   0   0   0   0
--  0   0   0   0   0   0   0   0   0   0   0   0
--  0   0   0   0   0   0   0   0   0   0   0   0
--  0   0   0   0   0   0   0   0   0   0   0   0
--  0   0   0   0   0   0   0   0   0   0   0   0
--  0   0   0   0   0   0   0   0   0   0   0   0
--  0   0   0   0   0   0   0   0   0   6   6   6
-- 22  22  22  54  54  54  70  70  70   2   2   6
--  2   2   6  10  10  10   2   2   6  22  22  22
--166 166 166 231 231 231 250 250 250 253 253 253
--253 253 253 253 253 253 253 253 253 250 250 250
--242 242 242 253 253 253 253 253 253 253 253 253
--253 253 253 253 253 253 253 253 253 253 253 253
--253 253 253 253 253 253 253 253 253 246 246 246
--231 231 231 206 206 206 198 198 198 226 226 226
-- 94  94  94   2   2   6   6   6   6  38  38  38
-- 30  30  30   2   2   6   2   2   6   2   2   6
--  2   2   6   2   2   6  62  62  62  66  66  66
-- 26  26  26  10  10  10   0   0   0   0   0   0
--  0   0   0   0   0   0   0   0   0   0   0   0
--  0   0   0   0   0   0   0   0   0   0   0   0
--  0   0   0   0   0   0   0   0   0   0   0   0
--  0   0   0   0   0   0   0   0   0   0   0   0
--  0   0   0   0   0   0   0   0   0   0   0   0
--  0   0   0   0   0   0   0   0   0   0   0   0
--  0   0   0   0   0   0   0   0   0   0   0   0
--  0   0   0   0   0   0   0   0   0  10  10  10
-- 30  30  30  74  74  74  50  50  50   2   2   6
-- 26  26  26  26  26  26   2   2   6 106 106 106
--238 238 238 253 253 253 253 253 253 253 253 253
--253 253 253 253 253 253 253 253 253 253 253 253
--253 253 253 253 253 253 253 253 253 253 253 253
--253 253 253 253 253 253 253 253 253 253 253 253
--253 253 253 253 253 253 253 253 253 253 253 253
--253 253 253 246 246 246 218 218 218 202 202 202
--210 210 210  14  14  14   2   2   6   2   2   6
-- 30  30  30  22  22  22   2   2   6   2   2   6
--  2   2   6   2   2   6  18  18  18  86  86  86
-- 42  42  42  14  14  14   0   0   0   0   0   0
--  0   0   0   0   0   0   0   0   0   0   0   0
--  0   0   0   0   0   0   0   0   0   0   0   0
--  0   0   0   0   0   0   0   0   0   0   0   0
--  0   0   0   0   0   0   0   0   0   0   0   0
--  0   0   0   0   0   0   0   0   0   0   0   0
--  0   0   0   0   0   0   0   0   0   0   0   0
--  0   0   0   0   0   0   0   0   0   0   0   0
--  0   0   0   0   0   0   0   0   0  14  14  14
-- 42  42  42  90  90  90  22  22  22   2   2   6
-- 42  42  42   2   2   6  18  18  18 218 218 218
--253 253 253 253 253 253 253 253 253 253 253 253
--253 253 253 253 253 253 253 253 253 253 253 253
--253 253 253 253 253 253 253 253 253 253 253 253
--253 253 253 253 253 253 253 253 253 253 253 253
--253 253 253 253 253 253 253 253 253 253 253 253
--253 253 253 253 253 253 250 250 250 221 221 221
--218 218 218 101 101 101   2   2   6  14  14  14
-- 18  18  18  38  38  38  10  10  10   2   2   6
--  2   2   6   2   2   6   2   2   6  78  78  78
-- 58  58  58  22  22  22   6   6   6   0   0   0
--  0   0   0   0   0   0   0   0   0   0   0   0
--  0   0   0   0   0   0   0   0   0   0   0   0
--  0   0   0   0   0   0   0   0   0   0   0   0
--  0   0   0   0   0   0   0   0   0   0   0   0
--  0   0   0   0   0   0   0   0   0   0   0   0
--  0   0   0   0   0   0   0   0   0   0   0   0
--  0   0   0   0   0   0   0   0   0   0   0   0
--  0   0   0   0   0   0   6   6   6  18  18  18
-- 54  54  54  82  82  82   2   2   6  26  26  26
-- 22  22  22   2   2   6 123 123 123 253 253 253
--253 253 253 253 253 253 253 253 253 253 253 253
--253 253 253 253 253 253 253 253 253 253 253 253
--253 253 253 253 253 253 253 253 253 253 253 253
--253 253 253 253 253 253 253 253 253 253 253 253
--253 253 253 253 253 253 253 253 253 253 253 253
--253 253 253 253 253 253 253 253 253 250 250 250
--238 238 238 198 198 198   6   6   6  38  38  38
-- 58  58  58  26  26  26  38  38  38   2   2   6
--  2   2   6   2   2   6   2   2   6  46  46  46
-- 78  78  78  30  30  30  10  10  10   0   0   0
--  0   0   0   0   0   0   0   0   0   0   0   0
--  0   0   0   0   0   0   0   0   0   0   0   0
--  0   0   0   0   0   0   0   0   0   0   0   0
--  0   0   0   0   0   0   0   0   0   0   0   0
--  0   0   0   0   0   0   0   0   0   0   0   0
--  0   0   0   0   0   0   0   0   0   0   0   0
--  0   0   0   0   0   0   0   0   0   0   0   0
--  0   0   0   0   0   0  10  10  10  30  30  30
-- 74  74  74  58  58  58   2   2   6  42  42  42
--  2   2   6  22  22  22 231 231 231 253 253 253
--253 253 253 253 253 253 253 253 253 253 253 253
--253 253 253 253 253 253 253 253 253 250 250 250
--253 253 253 253 253 253 253 253 253 253 253 253
--253 253 253 253 253 253 253 253 253 253 253 253
--253 253 253 253 253 253 253 253 253 253 253 253
--253 253 253 253 253 253 253 253 253 253 253 253
--253 253 253 246 246 246  46  46  46  38  38  38
-- 42  42  42  14  14  14  38  38  38  14  14  14
--  2   2   6   2   2   6   2   2   6   6   6   6
-- 86  86  86  46  46  46  14  14  14   0   0   0
--  0   0   0   0   0   0   0   0   0   0   0   0
--  0   0   0   0   0   0   0   0   0   0   0   0
--  0   0   0   0   0   0   0   0   0   0   0   0
--  0   0   0   0   0   0   0   0   0   0   0   0
--  0   0   0   0   0   0   0   0   0   0   0   0
--  0   0   0   0   0   0   0   0   0   0   0   0
--  0   0   0   0   0   0   0   0   0   0   0   0
--  0   0   0   6   6   6  14  14  14  42  42  42
-- 90  90  90  18  18  18  18  18  18  26  26  26
--  2   2   6 116 116 116 253 253 253 253 253 253
--253 253 253 253 253 253 253 253 253 253 253 253
--253 253 253 253 253 253 250 250 250 238 238 238
--253 253 253 253 253 253 253 253 253 253 253 253
--253 253 253 253 253 253 253 253 253 253 253 253
--253 253 253 253 253 253 253 253 253 253 253 253
--253 253 253 253 253 253 253 253 253 253 253 253
--253 253 253 253 253 253  94  94  94   6   6   6
--  2   2   6   2   2   6  10  10  10  34  34  34
--  2   2   6   2   2   6   2   2   6   2   2   6
-- 74  74  74  58  58  58  22  22  22   6   6   6
--  0   0   0   0   0   0   0   0   0   0   0   0
--  0   0   0   0   0   0   0   0   0   0   0   0
--  0   0   0   0   0   0   0   0   0   0   0   0
--  0   0   0   0   0   0   0   0   0   0   0   0
--  0   0   0   0   0   0   0   0   0   0   0   0
--  0   0   0   0   0   0   0   0   0   0   0   0
--  0   0   0   0   0   0   0   0   0   0   0   0
--  0   0   0  10  10  10  26  26  26  66  66  66
-- 82  82  82   2   2   6  38  38  38   6   6   6
-- 14  14  14 210 210 210 253 253 253 253 253 253
--253 253 253 253 253 253 253 253 253 253 253 253
--253 253 253 253 253 253 246 246 246 242 242 242
--253 253 253 253 253 253 253 253 253 253 253 253
--253 253 253 253 253 253 253 253 253 253 253 253
--253 253 253 253 253 253 253 253 253 253 253 253
--253 253 253 253 253 253 253 253 253 253 253 253
--253 253 253 253 253 253 144 144 144   2   2   6
--  2   2   6   2   2   6   2   2   6  46  46  46
--  2   2   6   2   2   6   2   2   6   2   2   6
-- 42  42  42  74  74  74  30  30  30  10  10  10
--  0   0   0   0   0   0   0   0   0   0   0   0
--  0   0   0   0   0   0   0   0   0   0   0   0
--  0   0   0   0   0   0   0   0   0   0   0   0
--  0   0   0   0   0   0   0   0   0   0   0   0
--  0   0   0   0   0   0   0   0   0   0   0   0
--  0   0   0   0   0   0   0   0   0   0   0   0
--  0   0   0   0   0   0   0   0   0   0   0   0
--  6   6   6  14  14  14  42  42  42  90  90  90
-- 26  26  26   6   6   6  42  42  42   2   2   6
-- 74  74  74 250 250 250 253 253 253 253 253 253
--253 253 253 253 253 253 253 253 253 253 253 253
--253 253 253 253 253 253 242 242 242 242 242 242
--253 253 253 253 253 253 253 253 253 253 253 253
--253 253 253 253 253 253 253 253 253 253 253 253
--253 253 253 253 253 253 253 253 253 253 253 253
--253 253 253 253 253 253 253 253 253 253 253 253
--253 253 253 253 253 253 182 182 182   2   2   6
--  2   2   6   2   2   6   2   2   6  46  46  46
--  2   2   6   2   2   6   2   2   6   2   2   6
-- 10  10  10  86  86  86  38  38  38  10  10  10
--  0   0   0   0   0   0   0   0   0   0   0   0
--  0   0   0   0   0   0   0   0   0   0   0   0
--  0   0   0   0   0   0   0   0   0   0   0   0
--  0   0   0   0   0   0   0   0   0   0   0   0
--  0   0   0   0   0   0   0   0   0   0   0   0
--  0   0   0   0   0   0   0   0   0   0   0   0
--  0   0   0   0   0   0   0   0   0   0   0   0
-- 10  10  10  26  26  26  66  66  66  82  82  82
--  2   2   6  22  22  22  18  18  18   2   2   6
--149 149 149 253 253 253 253 253 253 253 253 253
--253 253 253 253 253 253 253 253 253 253 253 253
--253 253 253 253 253 253 234 234 234 242 242 242
--253 253 253 253 253 253 253 253 253 253 253 253
--253 253 253 253 253 253 253 253 253 253 253 253
--253 253 253 253 253 253 253 253 253 253 253 253
--253 253 253 253 253 253 253 253 253 253 253 253
--253 253 253 253 253 253 206 206 206   2   2   6
--  2   2   6   2   2   6   2   2   6  38  38  38
--  2   2   6   2   2   6   2   2   6   2   2   6
--  6   6   6  86  86  86  46  46  46  14  14  14
--  0   0   0   0   0   0   0   0   0   0   0   0
--  0   0   0   0   0   0   0   0   0   0   0   0
--  0   0   0   0   0   0   0   0   0   0   0   0
--  0   0   0   0   0   0   0   0   0   0   0   0
--  0   0   0   0   0   0   0   0   0   0   0   0
--  0   0   0   0   0   0   0   0   0   0   0   0
--  0   0   0   0   0   0   0   0   0   6   6   6
-- 18  18  18  46  46  46  86  86  86  18  18  18
--  2   2   6  34  34  34  10  10  10   6   6   6
--210 210 210 253 253 253 253 253 253 253 253 253
--253 253 253 253 253 253 253 253 253 253 253 253
--253 253 253 253 253 253 234 234 234 242 242 242
--253 253 253 253 253 253 253 253 253 253 253 253
--253 253 253 253 253 253 253 253 253 253 253 253
--253 253 253 253 253 253 253 253 253 253 253 253
--253 253 253 253 253 253 253 253 253 253 253 253
--253 253 253 253 253 253 221 221 221   6   6   6
--  2   2   6   2   2   6   6   6   6  30  30  30
--  2   2   6   2   2   6   2   2   6   2   2   6
--  2   2   6  82  82  82  54  54  54  18  18  18
--  6   6   6   0   0   0   0   0   0   0   0   0
--  0   0   0   0   0   0   0   0   0   0   0   0
--  0   0   0   0   0   0   0   0   0   0   0   0
--  0   0   0   0   0   0   0   0   0   0   0   0
--  0   0   0   0   0   0   0   0   0   0   0   0
--  0   0   0   0   0   0   0   0   0   0   0   0
--  0   0   0   0   0   0   0   0   0  10  10  10
-- 26  26  26  66  66  66  62  62  62   2   2   6
--  2   2   6  38  38  38  10  10  10  26  26  26
--238 238 238 253 253 253 253 253 253 253 253 253
--253 253 253 253 253 253 253 253 253 253 253 253
--253 253 253 253 253 253 231 231 231 238 238 238
--253 253 253 253 253 253 253 253 253 253 253 253
--253 253 253 253 253 253 253 253 253 253 253 253
--253 253 253 253 253 253 253 253 253 253 253 253
--253 253 253 253 253 253 253 253 253 253 253 253
--253 253 253 253 253 253 231 231 231   6   6   6
--  2   2   6   2   2   6  10  10  10  30  30  30
--  2   2   6   2   2   6   2   2   6   2   2   6
--  2   2   6  66  66  66  58  58  58  22  22  22
--  6   6   6   0   0   0   0   0   0   0   0   0
--  0   0   0   0   0   0   0   0   0   0   0   0
--  0   0   0   0   0   0   0   0   0   0   0   0
--  0   0   0   0   0   0   0   0   0   0   0   0
--  0   0   0   0   0   0   0   0   0   0   0   0
--  0   0   0   0   0   0   0   0   0   0   0   0
--  0   0   0   0   0   0   0   0   0  10  10  10
-- 38  38  38  78  78  78   6   6   6   2   2   6
--  2   2   6  46  46  46  14  14  14  42  42  42
--246 246 246 253 253 253 253 253 253 253 253 253
--253 253 253 253 253 253 253 253 253 253 253 253
--253 253 253 253 253 253 231 231 231 242 242 242
--253 253 253 253 253 253 253 253 253 253 253 253
--253 253 253 253 253 253 253 253 253 253 253 253
--253 253 253 253 253 253 253 253 253 253 253 253
--253 253 253 253 253 253 253 253 253 253 253 253
--253 253 253 253 253 253 234 234 234  10  10  10
--  2   2   6   2   2   6  22  22  22  14  14  14
--  2   2   6   2   2   6   2   2   6   2   2   6
--  2   2   6  66  66  66  62  62  62  22  22  22
--  6   6   6   0   0   0   0   0   0   0   0   0
--  0   0   0   0   0   0   0   0   0   0   0   0
--  0   0   0   0   0   0   0   0   0   0   0   0
--  0   0   0   0   0   0   0   0   0   0   0   0
--  0   0   0   0   0   0   0   0   0   0   0   0
--  0   0   0   0   0   0   0   0   0   0   0   0
--  0   0   0   0   0   0   6   6   6  18  18  18
-- 50  50  50  74  74  74   2   2   6   2   2   6
-- 14  14  14  70  70  70  34  34  34  62  62  62
--250 250 250 253 253 253 253 253 253 253 253 253
--253 253 253 253 253 253 253 253 253 253 253 253
--253 253 253 253 253 253 231 231 231 246 246 246
--253 253 253 253 253 253 253 253 253 253 253 253
--253 253 253 253 253 253 253 253 253 253 253 253
--253 253 253 253 253 253 253 253 253 253 253 253
--253 253 253 253 253 253 253 253 253 253 253 253
--253 253 253 253 253 253 234 234 234  14  14  14
--  2   2   6   2   2   6  30  30  30   2   2   6
--  2   2   6   2   2   6   2   2   6   2   2   6
--  2   2   6  66  66  66  62  62  62  22  22  22
--  6   6   6   0   0   0   0   0   0   0   0   0
--  0   0   0   0   0   0   0   0   0   0   0   0
--  0   0   0   0   0   0   0   0   0   0   0   0
--  0   0   0   0   0   0   0   0   0   0   0   0
--  0   0   0   0   0   0   0   0   0   0   0   0
--  0   0   0   0   0   0   0   0   0   0   0   0
--  0   0   0   0   0   0   6   6   6  18  18  18
-- 54  54  54  62  62  62   2   2   6   2   2   6
--  2   2   6  30  30  30  46  46  46  70  70  70
--250 250 250 253 253 253 253 253 253 253 253 253
--253 253 253 253 253 253 253 253 253 253 253 253
--253 253 253 253 253 253 231 231 231 246 246 246
--253 253 253 253 253 253 253 253 253 253 253 253
--253 253 253 253 253 253 253 253 253 253 253 253
--253 253 253 253 253 253 253 253 253 253 253 253
--253 253 253 253 253 253 253 253 253 253 253 253
--253 253 253 253 253 253 226 226 226  10  10  10
--  2   2   6   6   6   6  30  30  30   2   2   6
--  2   2   6   2   2   6   2   2   6   2   2   6
--  2   2   6  66  66  66  58  58  58  22  22  22
--  6   6   6   0   0   0   0   0   0   0   0   0
--  0   0   0   0   0   0   0   0   0   0   0   0
--  0   0   0   0   0   0   0   0   0   0   0   0
--  0   0   0   0   0   0   0   0   0   0   0   0
--  0   0   0   0   0   0   0   0   0   0   0   0
--  0   0   0   0   0   0   0   0   0   0   0   0
--  0   0   0   0   0   0   6   6   6  22  22  22
-- 58  58  58  62  62  62   2   2   6   2   2   6
--  2   2   6   2   2   6  30  30  30  78  78  78
--250 250 250 253 253 253 253 253 253 253 253 253
--253 253 253 253 253 253 253 253 253 253 253 253
--253 253 253 253 253 253 231 231 231 246 246 246
--253 253 253 253 253 253 253 253 253 253 253 253
--253 253 253 253 253 253 253 253 253 253 253 253
--253 253 253 253 253 253 253 253 253 253 253 253
--253 253 253 253 253 253 253 253 253 253 253 253
--253 253 253 253 253 253 206 206 206   2   2   6
-- 22  22  22  34  34  34  18  14   6  22  22  22
-- 26  26  26  18  18  18   6   6   6   2   2   6
--  2   2   6  82  82  82  54  54  54  18  18  18
--  6   6   6   0   0   0   0   0   0   0   0   0
--  0   0   0   0   0   0   0   0   0   0   0   0
--  0   0   0   0   0   0   0   0   0   0   0   0
--  0   0   0   0   0   0   0   0   0   0   0   0
--  0   0   0   0   0   0   0   0   0   0   0   0
--  0   0   0   0   0   0   0   0   0   0   0   0
--  0   0   0   0   0   0   6   6   6  26  26  26
-- 62  62  62 106 106 106  74  54  14 185 133  11
--210 162  10 121  92   8   6   6   6  62  62  62
--238 238 238 253 253 253 253 253 253 253 253 253
--253 253 253 253 253 253 253 253 253 253 253 253
--253 253 253 253 253 253 231 231 231 246 246 246
--253 253 253 253 253 253 253 253 253 253 253 253
--253 253 253 253 253 253 253 253 253 253 253 253
--253 253 253 253 253 253 253 253 253 253 253 253
--253 253 253 253 253 253 253 253 253 253 253 253
--253 253 253 253 253 253 158 158 158  18  18  18
-- 14  14  14   2   2   6   2   2   6   2   2   6
--  6   6   6  18  18  18  66  66  66  38  38  38
--  6   6   6  94  94  94  50  50  50  18  18  18
--  6   6   6   0   0   0   0   0   0   0   0   0
--  0   0   0   0   0   0   0   0   0   0   0   0
--  0   0   0   0   0   0   0   0   0   0   0   0
--  0   0   0   0   0   0   0   0   0   0   0   0
--  0   0   0   0   0   0   0   0   0   0   0   0
--  0   0   0   0   0   0   0   0   0   6   6   6
-- 10  10  10  10  10  10  18  18  18  38  38  38
-- 78  78  78 142 134 106 216 158  10 242 186  14
--246 190  14 246 190  14 156 118  10  10  10  10
-- 90  90  90 238 238 238 253 253 253 253 253 253
--253 253 253 253 253 253 253 253 253 253 253 253
--253 253 253 253 253 253 231 231 231 250 250 250
--253 253 253 253 253 253 253 253 253 253 253 253
--253 253 253 253 253 253 253 253 253 253 253 253
--253 253 253 253 253 253 253 253 253 253 253 253
--253 253 253 253 253 253 253 253 253 246 230 190
--238 204  91 238 204  91 181 142  44  37  26   9
--  2   2   6   2   2   6   2   2   6   2   2   6
--  2   2   6   2   2   6  38  38  38  46  46  46
-- 26  26  26 106 106 106  54  54  54  18  18  18
--  6   6   6   0   0   0   0   0   0   0   0   0
--  0   0   0   0   0   0   0   0   0   0   0   0
--  0   0   0   0   0   0   0   0   0   0   0   0
--  0   0   0   0   0   0   0   0   0   0   0   0
--  0   0   0   0   0   0   0   0   0   0   0   0
--  0   0   0   6   6   6  14  14  14  22  22  22
-- 30  30  30  38  38  38  50  50  50  70  70  70
--106 106 106 190 142  34 226 170  11 242 186  14
--246 190  14 246 190  14 246 190  14 154 114  10
--  6   6   6  74  74  74 226 226 226 253 253 253
--253 253 253 253 253 253 253 253 253 253 253 253
--253 253 253 253 253 253 231 231 231 250 250 250
--253 253 253 253 253 253 253 253 253 253 253 253
--253 253 253 253 253 253 253 253 253 253 253 253
--253 253 253 253 253 253 253 253 253 253 253 253
--253 253 253 253 253 253 253 253 253 228 184  62
--241 196  14 241 208  19 232 195  16  38  30  10
--  2   2   6   2   2   6   2   2   6   2   2   6
--  2   2   6   6   6   6  30  30  30  26  26  26
--203 166  17 154 142  90  66  66  66  26  26  26
--  6   6   6   0   0   0   0   0   0   0   0   0
--  0   0   0   0   0   0   0   0   0   0   0   0
--  0   0   0   0   0   0   0   0   0   0   0   0
--  0   0   0   0   0   0   0   0   0   0   0   0
--  0   0   0   0   0   0   0   0   0   0   0   0
--  6   6   6  18  18  18  38  38  38  58  58  58
-- 78  78  78  86  86  86 101 101 101 123 123 123
--175 146  61 210 150  10 234 174  13 246 186  14
--246 190  14 246 190  14 246 190  14 238 190  10
--102  78  10   2   2   6  46  46  46 198 198 198
--253 253 253 253 253 253 253 253 253 253 253 253
--253 253 253 253 253 253 234 234 234 242 242 242
--253 253 253 253 253 253 253 253 253 253 253 253
--253 253 253 253 253 253 253 253 253 253 253 253
--253 253 253 253 253 253 253 253 253 253 253 253
--253 253 253 253 253 253 253 253 253 224 178  62
--242 186  14 241 196  14 210 166  10  22  18   6
--  2   2   6   2   2   6   2   2   6   2   2   6
--  2   2   6   2   2   6   6   6   6 121  92   8
--238 202  15 232 195  16  82  82  82  34  34  34
-- 10  10  10   0   0   0   0   0   0   0   0   0
--  0   0   0   0   0   0   0   0   0   0   0   0
--  0   0   0   0   0   0   0   0   0   0   0   0
--  0   0   0   0   0   0   0   0   0   0   0   0
--  0   0   0   0   0   0   0   0   0   0   0   0
-- 14  14  14  38  38  38  70  70  70 154 122  46
--190 142  34 200 144  11 197 138  11 197 138  11
--213 154  11 226 170  11 242 186  14 246 190  14
--246 190  14 246 190  14 246 190  14 246 190  14
--225 175  15  46  32   6   2   2   6  22  22  22
--158 158 158 250 250 250 253 253 253 253 253 253
--253 253 253 253 253 253 253 253 253 253 253 253
--253 253 253 253 253 253 253 253 253 253 253 253
--253 253 253 253 253 253 253 253 253 253 253 253
--253 253 253 253 253 253 253 253 253 253 253 253
--253 253 253 250 250 250 242 242 242 224 178  62
--239 182  13 236 186  11 213 154  11  46  32   6
--  2   2   6   2   2   6   2   2   6   2   2   6
--  2   2   6   2   2   6  61  42   6 225 175  15
--238 190  10 236 186  11 112 100  78  42  42  42
-- 14  14  14   0   0   0   0   0   0   0   0   0
--  0   0   0   0   0   0   0   0   0   0   0   0
--  0   0   0   0   0   0   0   0   0   0   0   0
--  0   0   0   0   0   0   0   0   0   0   0   0
--  0   0   0   0   0   0   0   0   0   6   6   6
-- 22  22  22  54  54  54 154 122  46 213 154  11
--226 170  11 230 174  11 226 170  11 226 170  11
--236 178  12 242 186  14 246 190  14 246 190  14
--246 190  14 246 190  14 246 190  14 246 190  14
--241 196  14 184 144  12  10  10  10   2   2   6
--  6   6   6 116 116 116 242 242 242 253 253 253
--253 253 253 253 253 253 253 253 253 253 253 253
--253 253 253 253 253 253 253 253 253 253 253 253
--253 253 253 253 253 253 253 253 253 253 253 253
--253 253 253 253 253 253 253 253 253 253 253 253
--253 253 253 231 231 231 198 198 198 214 170  54
--236 178  12 236 178  12 210 150  10 137  92   6
-- 18  14   6   2   2   6   2   2   6   2   2   6
--  6   6   6  70  47   6 200 144  11 236 178  12
--239 182  13 239 182  13 124 112  88  58  58  58
-- 22  22  22   6   6   6   0   0   0   0   0   0
--  0   0   0   0   0   0   0   0   0   0   0   0
--  0   0   0   0   0   0   0   0   0   0   0   0
--  0   0   0   0   0   0   0   0   0   0   0   0
--  0   0   0   0   0   0   0   0   0  10  10  10
-- 30  30  30  70  70  70 180 133  36 226 170  11
--239 182  13 242 186  14 242 186  14 246 186  14
--246 190  14 246 190  14 246 190  14 246 190  14
--246 190  14 246 190  14 246 190  14 246 190  14
--246 190  14 232 195  16  98  70   6   2   2   6
--  2   2   6   2   2   6  66  66  66 221 221 221
--253 253 253 253 253 253 253 253 253 253 253 253
--253 253 253 253 253 253 253 253 253 253 253 253
--253 253 253 253 253 253 253 253 253 253 253 253
--253 253 253 253 253 253 253 253 253 253 253 253
--253 253 253 206 206 206 198 198 198 214 166  58
--230 174  11 230 174  11 216 158  10 192 133   9
--163 110   8 116  81   8 102  78  10 116  81   8
--167 114   7 197 138  11 226 170  11 239 182  13
--242 186  14 242 186  14 162 146  94  78  78  78
-- 34  34  34  14  14  14   6   6   6   0   0   0
--  0   0   0   0   0   0   0   0   0   0   0   0
--  0   0   0   0   0   0   0   0   0   0   0   0
--  0   0   0   0   0   0   0   0   0   0   0   0
--  0   0   0   0   0   0   0   0   0   6   6   6
-- 30  30  30  78  78  78 190 142  34 226 170  11
--239 182  13 246 190  14 246 190  14 246 190  14
--246 190  14 246 190  14 246 190  14 246 190  14
--246 190  14 246 190  14 246 190  14 246 190  14
--246 190  14 241 196  14 203 166  17  22  18   6
--  2   2   6   2   2   6   2   2   6  38  38  38
--218 218 218 253 253 253 253 253 253 253 253 253
--253 253 253 253 253 253 253 253 253 253 253 253
--253 253 253 253 253 253 253 253 253 253 253 253
--253 253 253 253 253 253 253 253 253 253 253 253
--250 250 250 206 206 206 198 198 198 202 162  69
--226 170  11 236 178  12 224 166  10 210 150  10
--200 144  11 197 138  11 192 133   9 197 138  11
--210 150  10 226 170  11 242 186  14 246 190  14
--246 190  14 246 186  14 225 175  15 124 112  88
-- 62  62  62  30  30  30  14  14  14   6   6   6
--  0   0   0   0   0   0   0   0   0   0   0   0
--  0   0   0   0   0   0   0   0   0   0   0   0
--  0   0   0   0   0   0   0   0   0   0   0   0
--  0   0   0   0   0   0   0   0   0  10  10  10
-- 30  30  30  78  78  78 174 135  50 224 166  10
--239 182  13 246 190  14 246 190  14 246 190  14
--246 190  14 246 190  14 246 190  14 246 190  14
--246 190  14 246 190  14 246 190  14 246 190  14
--246 190  14 246 190  14 241 196  14 139 102  15
--  2   2   6   2   2   6   2   2   6   2   2   6
-- 78  78  78 250 250 250 253 253 253 253 253 253
--253 253 253 253 253 253 253 253 253 253 253 253
--253 253 253 253 253 253 253 253 253 253 253 253
--253 253 253 253 253 253 253 253 253 253 253 253
--250 250 250 214 214 214 198 198 198 190 150  46
--219 162  10 236 178  12 234 174  13 224 166  10
--216 158  10 213 154  11 213 154  11 216 158  10
--226 170  11 239 182  13 246 190  14 246 190  14
--246 190  14 246 190  14 242 186  14 206 162  42
--101 101 101  58  58  58  30  30  30  14  14  14
--  6   6   6   0   0   0   0   0   0   0   0   0
--  0   0   0   0   0   0   0   0   0   0   0   0
--  0   0   0   0   0   0   0   0   0   0   0   0
--  0   0   0   0   0   0   0   0   0  10  10  10
-- 30  30  30  74  74  74 174 135  50 216 158  10
--236 178  12 246 190  14 246 190  14 246 190  14
--246 190  14 246 190  14 246 190  14 246 190  14
--246 190  14 246 190  14 246 190  14 246 190  14
--246 190  14 246 190  14 241 196  14 226 184  13
-- 61  42   6   2   2   6   2   2   6   2   2   6
-- 22  22  22 238 238 238 253 253 253 253 253 253
--253 253 253 253 253 253 253 253 253 253 253 253
--253 253 253 253 253 253 253 253 253 253 253 253
--253 253 253 253 253 253 253 253 253 253 253 253
--253 253 253 226 226 226 187 187 187 180 133  36
--216 158  10 236 178  12 239 182  13 236 178  12
--230 174  11 226 170  11 226 170  11 230 174  11
--236 178  12 242 186  14 246 190  14 246 190  14
--246 190  14 246 190  14 246 186  14 239 182  13
--206 162  42 106 106 106  66  66  66  34  34  34
-- 14  14  14   6   6   6   0   0   0   0   0   0
--  0   0   0   0   0   0   0   0   0   0   0   0
--  0   0   0   0   0   0   0   0   0   0   0   0
--  0   0   0   0   0   0   0   0   0   6   6   6
-- 26  26  26  70  70  70 163 133  67 213 154  11
--236 178  12 246 190  14 246 190  14 246 190  14
--246 190  14 246 190  14 246 190  14 246 190  14
--246 190  14 246 190  14 246 190  14 246 190  14
--246 190  14 246 190  14 246 190  14 241 196  14
--190 146  13  18  14   6   2   2   6   2   2   6
-- 46  46  46 246 246 246 253 253 253 253 253 253
--253 253 253 253 253 253 253 253 253 253 253 253
--253 253 253 253 253 253 253 253 253 253 253 253
--253 253 253 253 253 253 253 253 253 253 253 253
--253 253 253 221 221 221  86  86  86 156 107  11
--216 158  10 236 178  12 242 186  14 246 186  14
--242 186  14 239 182  13 239 182  13 242 186  14
--242 186  14 246 186  14 246 190  14 246 190  14
--246 190  14 246 190  14 246 190  14 246 190  14
--242 186  14 225 175  15 142 122  72  66  66  66
-- 30  30  30  10  10  10   0   0   0   0   0   0
--  0   0   0   0   0   0   0   0   0   0   0   0
--  0   0   0   0   0   0   0   0   0   0   0   0
--  0   0   0   0   0   0   0   0   0   6   6   6
-- 26  26  26  70  70  70 163 133  67 210 150  10
--236 178  12 246 190  14 246 190  14 246 190  14
--246 190  14 246 190  14 246 190  14 246 190  14
--246 190  14 246 190  14 246 190  14 246 190  14
--246 190  14 246 190  14 246 190  14 246 190  14
--232 195  16 121  92   8  34  34  34 106 106 106
--221 221 221 253 253 253 253 253 253 253 253 253
--253 253 253 253 253 253 253 253 253 253 253 253
--253 253 253 253 253 253 253 253 253 253 253 253
--253 253 253 253 253 253 253 253 253 253 253 253
--242 242 242  82  82  82  18  14   6 163 110   8
--216 158  10 236 178  12 242 186  14 246 190  14
--246 190  14 246 190  14 246 190  14 246 190  14
--246 190  14 246 190  14 246 190  14 246 190  14
--246 190  14 246 190  14 246 190  14 246 190  14
--246 190  14 246 190  14 242 186  14 163 133  67
-- 46  46  46  18  18  18   6   6   6   0   0   0
--  0   0   0   0   0   0   0   0   0   0   0   0
--  0   0   0   0   0   0   0   0   0   0   0   0
--  0   0   0   0   0   0   0   0   0  10  10  10
-- 30  30  30  78  78  78 163 133  67 210 150  10
--236 178  12 246 186  14 246 190  14 246 190  14
--246 190  14 246 190  14 246 190  14 246 190  14
--246 190  14 246 190  14 246 190  14 246 190  14
--246 190  14 246 190  14 246 190  14 246 190  14
--241 196  14 215 174  15 190 178 144 253 253 253
--253 253 253 253 253 253 253 253 253 253 253 253
--253 253 253 253 253 253 253 253 253 253 253 253
--253 253 253 253 253 253 253 253 253 253 253 253
--253 253 253 253 253 253 253 253 253 218 218 218
-- 58  58  58   2   2   6  22  18   6 167 114   7
--216 158  10 236 178  12 246 186  14 246 190  14
--246 190  14 246 190  14 246 190  14 246 190  14
--246 190  14 246 190  14 246 190  14 246 190  14
--246 190  14 246 190  14 246 190  14 246 190  14
--246 190  14 246 186  14 242 186  14 190 150  46
-- 54  54  54  22  22  22   6   6   6   0   0   0
--  0   0   0   0   0   0   0   0   0   0   0   0
--  0   0   0   0   0   0   0   0   0   0   0   0
--  0   0   0   0   0   0   0   0   0  14  14  14
-- 38  38  38  86  86  86 180 133  36 213 154  11
--236 178  12 246 186  14 246 190  14 246 190  14
--246 190  14 246 190  14 246 190  14 246 190  14
--246 190  14 246 190  14 246 190  14 246 190  14
--246 190  14 246 190  14 246 190  14 246 190  14
--246 190  14 232 195  16 190 146  13 214 214 214
--253 253 253 253 253 253 253 253 253 253 253 253
--253 253 253 253 253 253 253 253 253 253 253 253
--253 253 253 253 253 253 253 253 253 253 253 253
--253 253 253 250 250 250 170 170 170  26  26  26
--  2   2   6   2   2   6  37  26   9 163 110   8
--219 162  10 239 182  13 246 186  14 246 190  14
--246 190  14 246 190  14 246 190  14 246 190  14
--246 190  14 246 190  14 246 190  14 246 190  14
--246 190  14 246 190  14 246 190  14 246 190  14
--246 186  14 236 178  12 224 166  10 142 122  72
-- 46  46  46  18  18  18   6   6   6   0   0   0
--  0   0   0   0   0   0   0   0   0   0   0   0
--  0   0   0   0   0   0   0   0   0   0   0   0
--  0   0   0   0   0   0   6   6   6  18  18  18
-- 50  50  50 109 106  95 192 133   9 224 166  10
--242 186  14 246 190  14 246 190  14 246 190  14
--246 190  14 246 190  14 246 190  14 246 190  14
--246 190  14 246 190  14 246 190  14 246 190  14
--246 190  14 246 190  14 246 190  14 246 190  14
--242 186  14 226 184  13 210 162  10 142 110  46
--226 226 226 253 253 253 253 253 253 253 253 253
--253 253 253 253 253 253 253 253 253 253 253 253
--253 253 253 253 253 253 253 253 253 253 253 253
--198 198 198  66  66  66   2   2   6   2   2   6
--  2   2   6   2   2   6  50  34   6 156 107  11
--219 162  10 239 182  13 246 186  14 246 190  14
--246 190  14 246 190  14 246 190  14 246 190  14
--246 190  14 246 190  14 246 190  14 246 190  14
--246 190  14 246 190  14 246 190  14 242 186  14
--234 174  13 213 154  11 154 122  46  66  66  66
-- 30  30  30  10  10  10   0   0   0   0   0   0
--  0   0   0   0   0   0   0   0   0   0   0   0
--  0   0   0   0   0   0   0   0   0   0   0   0
--  0   0   0   0   0   0   6   6   6  22  22  22
-- 58  58  58 154 121  60 206 145  10 234 174  13
--242 186  14 246 186  14 246 190  14 246 190  14
--246 190  14 246 190  14 246 190  14 246 190  14
--246 190  14 246 190  14 246 190  14 246 190  14
--246 190  14 246 190  14 246 190  14 246 190  14
--246 186  14 236 178  12 210 162  10 163 110   8
-- 61  42   6 138 138 138 218 218 218 250 250 250
--253 253 253 253 253 253 253 253 253 250 250 250
--242 242 242 210 210 210 144 144 144  66  66  66
--  6   6   6   2   2   6   2   2   6   2   2   6
--  2   2   6   2   2   6  61  42   6 163 110   8
--216 158  10 236 178  12 246 190  14 246 190  14
--246 190  14 246 190  14 246 190  14 246 190  14
--246 190  14 246 190  14 246 190  14 246 190  14
--246 190  14 239 182  13 230 174  11 216 158  10
--190 142  34 124 112  88  70  70  70  38  38  38
-- 18  18  18   6   6   6   0   0   0   0   0   0
--  0   0   0   0   0   0   0   0   0   0   0   0
--  0   0   0   0   0   0   0   0   0   0   0   0
--  0   0   0   0   0   0   6   6   6  22  22  22
-- 62  62  62 168 124  44 206 145  10 224 166  10
--236 178  12 239 182  13 242 186  14 242 186  14
--246 186  14 246 190  14 246 190  14 246 190  14
--246 190  14 246 190  14 246 190  14 246 190  14
--246 190  14 246 190  14 246 190  14 246 190  14
--246 190  14 236 178  12 216 158  10 175 118   6
-- 80  54   7   2   2   6   6   6   6  30  30  30
-- 54  54  54  62  62  62  50  50  50  38  38  38
-- 14  14  14   2   2   6   2   2   6   2   2   6
--  2   2   6   2   2   6   2   2   6   2   2   6
--  2   2   6   6   6   6  80  54   7 167 114   7
--213 154  11 236 178  12 246 190  14 246 190  14
--246 190  14 246 190  14 246 190  14 246 190  14
--246 190  14 242 186  14 239 182  13 239 182  13
--230 174  11 210 150  10 174 135  50 124 112  88
-- 82  82  82  54  54  54  34  34  34  18  18  18
--  6   6   6   0   0   0   0   0   0   0   0   0
--  0   0   0   0   0   0   0   0   0   0   0   0
--  0   0   0   0   0   0   0   0   0   0   0   0
--  0   0   0   0   0   0   6   6   6  18  18  18
-- 50  50  50 158 118  36 192 133   9 200 144  11
--216 158  10 219 162  10 224 166  10 226 170  11
--230 174  11 236 178  12 239 182  13 239 182  13
--242 186  14 246 186  14 246 190  14 246 190  14
--246 190  14 246 190  14 246 190  14 246 190  14
--246 186  14 230 174  11 210 150  10 163 110   8
--104  69   6  10  10  10   2   2   6   2   2   6
--  2   2   6   2   2   6   2   2   6   2   2   6
--  2   2   6   2   2   6   2   2   6   2   2   6
--  2   2   6   2   2   6   2   2   6   2   2   6
--  2   2   6   6   6   6  91  60   6 167 114   7
--206 145  10 230 174  11 242 186  14 246 190  14
--246 190  14 246 190  14 246 186  14 242 186  14
--239 182  13 230 174  11 224 166  10 213 154  11
--180 133  36 124 112  88  86  86  86  58  58  58
-- 38  38  38  22  22  22  10  10  10   6   6   6
--  0   0   0   0   0   0   0   0   0   0   0   0
--  0   0   0   0   0   0   0   0   0   0   0   0
--  0   0   0   0   0   0   0   0   0   0   0   0
--  0   0   0   0   0   0   0   0   0  14  14  14
-- 34  34  34  70  70  70 138 110  50 158 118  36
--167 114   7 180 123   7 192 133   9 197 138  11
--200 144  11 206 145  10 213 154  11 219 162  10
--224 166  10 230 174  11 239 182  13 242 186  14
--246 186  14 246 186  14 246 186  14 246 186  14
--239 182  13 216 158  10 185 133  11 152  99   6
--104  69   6  18  14   6   2   2   6   2   2   6
--  2   2   6   2   2   6   2   2   6   2   2   6
--  2   2   6   2   2   6   2   2   6   2   2   6
--  2   2   6   2   2   6   2   2   6   2   2   6
--  2   2   6   6   6   6  80  54   7 152  99   6
--192 133   9 219 162  10 236 178  12 239 182  13
--246 186  14 242 186  14 239 182  13 236 178  12
--224 166  10 206 145  10 192 133   9 154 121  60
-- 94  94  94  62  62  62  42  42  42  22  22  22
-- 14  14  14   6   6   6   0   0   0   0   0   0
--  0   0   0   0   0   0   0   0   0   0   0   0
--  0   0   0   0   0   0   0   0   0   0   0   0
--  0   0   0   0   0   0   0   0   0   0   0   0
--  0   0   0   0   0   0   0   0   0   6   6   6
-- 18  18  18  34  34  34  58  58  58  78  78  78
--101  98  89 124 112  88 142 110  46 156 107  11
--163 110   8 167 114   7 175 118   6 180 123   7
--185 133  11 197 138  11 210 150  10 219 162  10
--226 170  11 236 178  12 236 178  12 234 174  13
--219 162  10 197 138  11 163 110   8 130  83   6
-- 91  60   6  10  10  10   2   2   6   2   2   6
-- 18  18  18  38  38  38  38  38  38  38  38  38
-- 38  38  38  38  38  38  38  38  38  38  38  38
-- 38  38  38  38  38  38  26  26  26   2   2   6
--  2   2   6   6   6   6  70  47   6 137  92   6
--175 118   6 200 144  11 219 162  10 230 174  11
--234 174  13 230 174  11 219 162  10 210 150  10
--192 133   9 163 110   8 124 112  88  82  82  82
-- 50  50  50  30  30  30  14  14  14   6   6   6
--  0   0   0   0   0   0   0   0   0   0   0   0
--  0   0   0   0   0   0   0   0   0   0   0   0
--  0   0   0   0   0   0   0   0   0   0   0   0
--  0   0   0   0   0   0   0   0   0   0   0   0
--  0   0   0   0   0   0   0   0   0   0   0   0
--  6   6   6  14  14  14  22  22  22  34  34  34
-- 42  42  42  58  58  58  74  74  74  86  86  86
--101  98  89 122 102  70 130  98  46 121  87  25
--137  92   6 152  99   6 163 110   8 180 123   7
--185 133  11 197 138  11 206 145  10 200 144  11
--180 123   7 156 107  11 130  83   6 104  69   6
-- 50  34   6  54  54  54 110 110 110 101  98  89
-- 86  86  86  82  82  82  78  78  78  78  78  78
-- 78  78  78  78  78  78  78  78  78  78  78  78
-- 78  78  78  82  82  82  86  86  86  94  94  94
--106 106 106 101 101 101  86  66  34 124  80   6
--156 107  11 180 123   7 192 133   9 200 144  11
--206 145  10 200 144  11 192 133   9 175 118   6
--139 102  15 109 106  95  70  70  70  42  42  42
-- 22  22  22  10  10  10   0   0   0   0   0   0
--  0   0   0   0   0   0   0   0   0   0   0   0
--  0   0   0   0   0   0   0   0   0   0   0   0
--  0   0   0   0   0   0   0   0   0   0   0   0
--  0   0   0   0   0   0   0   0   0   0   0   0
--  0   0   0   0   0   0   0   0   0   0   0   0
--  0   0   0   0   0   0   6   6   6  10  10  10
-- 14  14  14  22  22  22  30  30  30  38  38  38
-- 50  50  50  62  62  62  74  74  74  90  90  90
--101  98  89 112 100  78 121  87  25 124  80   6
--137  92   6 152  99   6 152  99   6 152  99   6
--138  86   6 124  80   6  98  70   6  86  66  30
--101  98  89  82  82  82  58  58  58  46  46  46
-- 38  38  38  34  34  34  34  34  34  34  34  34
-- 34  34  34  34  34  34  34  34  34  34  34  34
-- 34  34  34  34  34  34  38  38  38  42  42  42
-- 54  54  54  82  82  82  94  86  76  91  60   6
--134  86   6 156 107  11 167 114   7 175 118   6
--175 118   6 167 114   7 152  99   6 121  87  25
--101  98  89  62  62  62  34  34  34  18  18  18
--  6   6   6   0   0   0   0   0   0   0   0   0
--  0   0   0   0   0   0   0   0   0   0   0   0
--  0   0   0   0   0   0   0   0   0   0   0   0
--  0   0   0   0   0   0   0   0   0   0   0   0
--  0   0   0   0   0   0   0   0   0   0   0   0
--  0   0   0   0   0   0   0   0   0   0   0   0
--  0   0   0   0   0   0   0   0   0   0   0   0
--  0   0   0   6   6   6   6   6   6  10  10  10
-- 18  18  18  22  22  22  30  30  30  42  42  42
-- 50  50  50  66  66  66  86  86  86 101  98  89
--106  86  58  98  70   6 104  69   6 104  69   6
--104  69   6  91  60   6  82  62  34  90  90  90
-- 62  62  62  38  38  38  22  22  22  14  14  14
-- 10  10  10  10  10  10  10  10  10  10  10  10
-- 10  10  10  10  10  10   6   6   6  10  10  10
-- 10  10  10  10  10  10  10  10  10  14  14  14
-- 22  22  22  42  42  42  70  70  70  89  81  66
-- 80  54   7 104  69   6 124  80   6 137  92   6
--134  86   6 116  81   8 100  82  52  86  86  86
-- 58  58  58  30  30  30  14  14  14   6   6   6
--  0   0   0   0   0   0   0   0   0   0   0   0
--  0   0   0   0   0   0   0   0   0   0   0   0
--  0   0   0   0   0   0   0   0   0   0   0   0
--  0   0   0   0   0   0   0   0   0   0   0   0
--  0   0   0   0   0   0   0   0   0   0   0   0
--  0   0   0   0   0   0   0   0   0   0   0   0
--  0   0   0   0   0   0   0   0   0   0   0   0
--  0   0   0   0   0   0   0   0   0   0   0   0
--  0   0   0   6   6   6  10  10  10  14  14  14
-- 18  18  18  26  26  26  38  38  38  54  54  54
-- 70  70  70  86  86  86  94  86  76  89  81  66
-- 89  81  66  86  86  86  74  74  74  50  50  50
-- 30  30  30  14  14  14   6   6   6   0   0   0
--  0   0   0   0   0   0   0   0   0   0   0   0
--  0   0   0   0   0   0   0   0   0   0   0   0
--  0   0   0   0   0   0   0   0   0   0   0   0
--  6   6   6  18  18  18  34  34  34  58  58  58
-- 82  82  82  89  81  66  89  81  66  89  81  66
-- 94  86  66  94  86  76  74  74  74  50  50  50
-- 26  26  26  14  14  14   6   6   6   0   0   0
--  0   0   0   0   0   0   0   0   0   0   0   0
--  0   0   0   0   0   0   0   0   0   0   0   0
--  0   0   0   0   0   0   0   0   0   0   0   0
--  0   0   0   0   0   0   0   0   0   0   0   0
--  0   0   0   0   0   0   0   0   0   0   0   0
--  0   0   0   0   0   0   0   0   0   0   0   0
--  0   0   0   0   0   0   0   0   0   0   0   0
--  0   0   0   0   0   0   0   0   0   0   0   0
--  0   0   0   0   0   0   0   0   0   0   0   0
--  6   6   6   6   6   6  14  14  14  18  18  18
-- 30  30  30  38  38  38  46  46  46  54  54  54
-- 50  50  50  42  42  42  30  30  30  18  18  18
-- 10  10  10   0   0   0   0   0   0   0   0   0
--  0   0   0   0   0   0   0   0   0   0   0   0
--  0   0   0   0   0   0   0   0   0   0   0   0
--  0   0   0   0   0   0   0   0   0   0   0   0
--  0   0   0   6   6   6  14  14  14  26  26  26
-- 38  38  38  50  50  50  58  58  58  58  58  58
-- 54  54  54  42  42  42  30  30  30  18  18  18
-- 10  10  10   0   0   0   0   0   0   0   0   0
--  0   0   0   0   0   0   0   0   0   0   0   0
--  0   0   0   0   0   0   0   0   0   0   0   0
--  0   0   0   0   0   0   0   0   0   0   0   0
--  0   0   0   0   0   0   0   0   0   0   0   0
--  0   0   0   0   0   0   0   0   0   0   0   0
--  0   0   0   0   0   0   0   0   0   0   0   0
--  0   0   0   0   0   0   0   0   0   0   0   0
--  0   0   0   0   0   0   0   0   0   0   0   0
--  0   0   0   0   0   0   0   0   0   0   0   0
--  0   0   0   0   0   0   0   0   0   6   6   6
--  6   6   6  10  10  10  14  14  14  18  18  18
-- 18  18  18  14  14  14  10  10  10   6   6   6
--  0   0   0   0   0   0   0   0   0   0   0   0
--  0   0   0   0   0   0   0   0   0   0   0   0
--  0   0   0   0   0   0   0   0   0   0   0   0
--  0   0   0   0   0   0   0   0   0   0   0   0
--  0   0   0   0   0   0   0   0   0   6   6   6
-- 14  14  14  18  18  18  22  22  22  22  22  22
-- 18  18  18  14  14  14  10  10  10   6   6   6
--  0   0   0   0   0   0   0   0   0   0   0   0
--  0   0   0   0   0   0   0   0   0   0   0   0
--  0   0   0   0   0   0   0   0   0   0   0   0
--  0   0   0   0   0   0   0   0   0   0   0   0
--  0   0   0   0   0   0   0   0   0   0   0   0
-+0 0 0  0 0 0  0 0 0  0 0 0  0 0 0  0 0 0
-+0 0 0  0 0 0  0 0 0  0 0 0  0 0 0  0 0 0
-+0 0 0  0 0 0  0 0 0  0 0 0  0 0 0  0 0 0
-+0 0 0  0 0 0  0 0 0  0 0 0  0 0 0  0 0 0
-+0 0 0  0 0 0  0 0 0  0 0 0  0 0 0  0 0 0
-+0 0 0  0 0 0  0 0 0  0 0 0  0 0 0  0 0 0
-+0 0 0  0 0 0  0 0 0  0 0 0  0 0 0  0 0 0
-+0 0 0  0 0 0  0 0 0  0 0 0  0 0 0  0 0 0
-+0 0 0  0 0 0  0 0 0  0 0 0  0 0 0  0 0 0
-+0 0 0  0 0 0  0 0 0  0 0 0  0 0 0  0 0 0
-+0 0 0  0 0 0  0 0 0
-+0 0 0  0 0 0  0 0 0  0 0 0  0 0 0  0 0 0
-+0 0 0  0 0 0  0 0 0  0 0 0  0 0 0  0 0 0
-+0 0 0  0 0 0  0 1 0  0 0 0  0 0 0  1 1 0
-+0 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 0 0  0 0 0  0 0 0  0 0 0  0 0 0
-+0 0 0  0 0 0  0 0 0  1 1 0  0 0 0  0 0 0
-+0 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 0 0  0 0 0
-+0 0 0  0 0 0  0 0 0  0 0 0  0 0 0  1 1 0
-+10 15 3  2 3 1  12 18 4  42 61 14  19 27 6  11 16 4
-+38 55 13  10 15 3  3 4 1  10 15 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  0 0 0  0 0 0  0 0 0  2 3 1
-+12 18 4  1 1 0  23 34 8  31 45 11  10 15 3  32 47 11
-+34 49 12  3 4 1  3 4 1  3 4 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 0  10 15 3  29 42 10  26 37 9  12 18 4
-+55 80 19  81 118 28  55 80 19  92 132 31  106 153 36  69 100 23
-+100 144 34  80 116 27  42 61 14  81 118 28  23 34 8  27 40 9
-+15 21 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  1 1 0  29 42 10  15 21 5  50 72 17
-+74 107 25  45 64 15  102 148 35  80 116 27  84 121 28  111 160 38
-+69 100 23  65 94 22  81 118 28  29 42 10  17 25 6  29 42 10
-+23 34 8  2 3 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  3 4 1
-+15 21 5  15 21 5  34 49 12  101 146 34  111 161 38  97 141 33
-+97 141 33  119 172 41  117 170 40  116 167 40  118 170 40  118 171 40
-+117 169 40  118 170 40  111 160 38  118 170 40  96 138 32  89 128 30
-+81 118 28  11 16 4  10 15 3  1 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
-+3 4 1  3 4 1  34 49 12  101 146 34  79 115 27  111 160 38
-+114 165 39  113 163 39  118 170 40  117 169 40  118 171 40  117 169 40
-+116 167 40  119 172 41  113 163 39  92 132 31  105 151 36  113 163 39
-+75 109 26  19 27 6  16 23 5  11 16 4  0 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  10 15 3
-+80 116 27  106 153 36  105 151 36  114 165 39  118 170 40  118 171 40
-+118 171 40  117 169 40  117 169 40  117 169 40  117 169 40  117 169 40
-+117 169 40  117 169 40  117 170 40  117 169 40  118 170 40  118 170 40
-+117 170 40  75 109 26  75 109 26  34 49 12  0 0 0  0 0 0
-+0 0 0  0 0 0  0 0 0  0 0 0  0 0 0  3 4 1
-+64 92 22  65 94 22  100 144 34  118 171 40  118 170 40  117 169 40
-+117 169 40  117 169 40  117 169 40  117 169 40  117 169 40  117 169 40
-+117 169 40  117 169 40  117 169 40  118 171 41  118 170 40  117 169 40
-+109 158 37  105 151 36  104 150 35  47 69 16  0 0 0  0 0 0
-+0 0 0  0 0 0  0 0 0
-+0 0 0  0 0 0  0 0 0  0 0 0  0 0 0  0 0 0
-+42 61 14  115 167 39  118 170 40  117 169 40  117 169 40  117 169 40
-+117 170 40  117 170 40  117 169 40  117 169 40  117 169 40  117 169 40
-+117 169 40  117 169 40  117 169 40  117 169 40  117 169 40  117 169 40
-+117 169 40  117 169 40  118 170 40  96 138 32  17 25 6  0 0 0
-+0 0 0  0 0 0  0 0 0  0 0 0  0 0 0  47 69 16
-+114 165 39  117 168 40  117 170 40  117 169 40  117 169 40  117 169 40
-+117 169 40  117 169 40  117 169 40  117 169 40  117 169 40  117 169 40
-+117 169 40  117 169 40  118 170 40  117 169 40  117 169 40  117 169 40
-+117 170 40  119 172 41  96 138 32  12 18 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  10 15 3
-+32 47 11  105 151 36  118 170 40  117 169 40  117 169 40  116 168 40
-+109 157 37  111 160 38  117 169 40  118 171 40  117 169 40  117 169 40
-+117 169 40  117 169 40  117 169 40  117 169 40  117 169 40  117 169 40
-+117 169 40  117 169 40  117 169 40  118 171 40  69 100 23  2 3 1
-+0 0 0  0 0 0  0 0 0  0 0 0  19 27 6  101 146 34
-+118 171 40  117 169 40  117 169 40  117 169 40  117 169 40  117 169 40
-+117 169 40  117 169 40  117 169 40  117 169 40  117 169 40  117 170 40
-+118 171 40  115 166 39  107 154 36  111 161 38  117 169 40  117 169 40
-+117 169 40  118 171 40  75 109 26  19 27 6  2 3 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  16 23 5
-+89 128 30  117 169 40  117 169 40  117 169 40  117 169 40  117 169 40
-+111 160 38  92 132 31  79 115 27  96 138 32  115 166 39  119 171 41
-+117 169 40  117 169 40  117 169 40  117 169 40  117 169 40  117 169 40
-+117 169 40  117 169 40  117 169 40  118 170 40  109 157 37  26 37 9
-+0 0 0  0 0 0  0 0 0  0 0 0  64 92 22  118 171 40
-+117 169 40  117 169 40  117 169 40  117 169 40  117 169 40  117 169 40
-+117 169 40  117 169 40  117 169 40  118 170 40  118 171 40  109 157 37
-+89 128 30  81 118 28  100 144 34  115 166 39  117 169 40  117 169 40
-+117 169 40  117 170 40  113 163 39  60 86 20  1 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
-+27 40 9  96 138 32  118 170 40  117 169 40  117 169 40  117 169 40
-+117 170 40  117 169 40  101 146 34  67 96 23  55 80 19  84 121 28
-+113 163 39  119 171 41  117 169 40  117 169 40  117 169 40  117 169 40
-+117 169 40  117 169 40  117 169 40  117 169 40  119 171 41  65 94 22
-+0 0 0  0 0 0  0 0 0  15 21 5  101 146 34  118 171 40
-+117 169 40  117 169 40  117 169 40  117 169 40  117 169 40  117 169 40
-+117 169 40  118 170 40  118 171 40  104 150 35  69 100 23  53 76 18
-+81 118 28  111 160 38  118 170 40  117 169 40  117 169 40  117 169 40
-+117 169 40  114 165 39  69 100 23  10 15 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  1 1 0
-+31 45 11  77 111 26  117 169 40  117 169 40  117 169 40  117 169 40
-+117 169 40  117 169 40  118 170 40  116 168 40  92 132 31  47 69 16
-+38 55 13  81 118 28  113 163 39  119 171 41  117 169 40  117 169 40
-+117 169 40  117 169 40  117 169 40  117 169 40  118 171 41  92 132 31
-+10 15 3  0 0 0  0 0 0  36 52 12  115 166 39  117 169 40
-+117 169 40  117 169 40  117 169 40  117 169 40  117 169 40  118 170 40
-+118 171 40  102 148 35  64 92 22  34 49 12  65 94 22  106 153 36
-+118 171 40  117 170 40  117 169 40  117 169 40  117 169 40  117 169 40
-+118 170 40  107 154 36  55 80 19  15 21 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
-+29 42 10  101 146 34  118 171 40  117 169 40  117 169 40  117 169 40
-+117 169 40  117 169 40  117 169 40  117 169 40  118 171 40  113 163 39
-+75 109 26  27 40 9  36 52 12  89 128 30  116 167 40  118 171 40
-+117 169 40  117 169 40  117 169 40  117 169 40  118 170 40  104 150 35
-+16 23 5  0 0 0  0 0 0  53 76 18  118 171 40  117 169 40
-+117 169 40  117 169 40  117 169 40  117 169 40  119 171 41  109 157 37
-+67 96 23  23 34 8  42 61 14  96 138 32  118 170 40  118 170 40
-+117 169 40  117 169 40  117 169 40  117 169 40  117 169 40  117 169 40
-+117 169 40  117 169 40  74 107 25  10 15 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  31 45 11  101 146 34  118 170 40  117 169 40  117 169 40
-+117 169 40  117 169 40  117 169 40  117 169 40  117 169 40  117 169 40
-+119 171 41  102 148 35  47 69 16  14 20 5  50 72 17  102 148 35
-+118 171 40  117 169 40  117 169 40  117 169 40  118 170 40  102 148 35
-+15 21 5  0 0 0  0 0 0  50 72 17  118 170 40  117 169 40
-+117 169 40  117 169 40  118 170 40  116 167 40  84 121 28  27 40 9
-+19 27 6  74 107 25  114 165 39  118 171 40  117 169 40  117 169 40
-+117 169 40  117 169 40  117 169 40  117 169 40  117 169 40  117 169 40
-+117 169 40  75 109 26  10 15 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  38 55 13  102 148 35  118 171 40  117 169 40  117 169 40
-+117 169 40  117 169 40  117 169 40  117 169 40  117 169 40  117 169 40
-+117 169 40  118 170 40  115 167 39  77 111 26  17 25 6  19 27 6
-+77 111 26  115 166 39  118 170 40  117 169 40  119 172 41  81 118 28
-+3 4 1  0 0 0  0 0 0  27 40 9  111 160 38  118 170 40
-+117 169 40  118 171 40  105 151 36  50 72 17  10 15 3  38 55 13
-+100 144 34  118 171 40  117 169 40  117 169 40  117 169 40  117 169 40
-+117 169 40  117 169 40  117 169 40  117 169 40  117 169 40  117 169 40
-+117 169 40  79 115 27  15 21 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  10 15 3  64 92 22  111 160 38  117 169 40  117 169 40
-+117 169 40  117 169 40  117 169 40  117 169 40  117 169 40  117 169 40
-+117 169 40  117 169 40  117 169 40  118 171 40  96 138 32  32 47 11
-+3 4 1  50 72 17  107 154 36  120 173 41  105 151 36  31 45 11
-+0 0 0  0 0 0  0 0 0  3 4 1  65 94 22  117 169 40
-+118 170 40  89 128 30  26 37 9  3 4 1  60 86 20  111 161 38
-+118 171 40  117 169 40  117 169 40  117 169 40  117 169 40  117 169 40
-+117 169 40  117 169 40  117 169 40  117 169 40  117 169 40  117 169 40
-+97 141 33  36 52 12  1 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  14 20 5  75 109 26  117 168 40  117 169 40
-+117 169 40  117 169 40  117 169 40  117 169 40  117 169 40  117 169 40
-+117 169 40  117 169 40  117 169 40  117 169 40  118 171 40  107 154 36
-+45 64 15  2 3 1  31 45 11  75 109 26  32 47 11  0 1 0
-+0 0 0  0 0 0  0 0 0  0 0 0  10 15 3  55 80 19
-+65 94 22  11 16 4  11 16 4  75 109 26  116 168 40  118 170 40
-+117 169 40  117 169 40  117 169 40  117 169 40  117 169 40  117 169 40
-+117 169 40  117 169 40  117 169 40  117 169 40  118 170 40  107 154 36
-+47 69 16  3 4 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  12 18 4  69 100 23  111 161 38  118 171 40
-+117 169 40  117 169 40  117 169 40  117 169 40  117 169 40  117 169 40
-+117 169 40  117 169 40  117 169 40  117 169 40  117 169 40  118 170 40
-+111 160 38  50 72 17  2 3 1  2 3 1  0 0 0  0 0 0
-+0 0 0  0 0 0  0 0 0  0 0 0  0 0 0  1 1 0
-+1 1 0  12 18 4  81 118 28  118 170 40  117 169 40  117 169 40
-+117 169 40  117 169 40  117 169 40  117 169 40  117 169 40  117 169 40
-+117 169 40  117 169 40  117 169 40  117 170 40  118 171 40  101 146 34
-+42 61 14  2 3 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  3 4 1  36 52 12  89 128 30
-+117 169 40  117 169 40  117 169 40  117 169 40  117 169 40  117 169 40
-+117 169 40  117 169 40  117 169 40  117 169 40  117 169 40  117 169 40
-+118 171 41  101 146 34  14 20 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  47 69 16  118 170 40  117 169 40  117 169 40  117 169 40
-+117 169 40  117 169 40  117 169 40  117 169 40  117 169 40  117 169 40
-+117 169 40  117 169 40  117 170 40  111 160 38  69 100 23  19 27 6
-+0 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  11 16 4  69 100 23
-+115 167 39  119 172 41  117 169 40  117 169 40  117 169 40  117 169 40
-+117 169 40  117 169 40  117 169 40  117 169 40  117 169 40  117 169 40
-+119 172 41  75 109 26  3 4 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  23 34 8  106 153 36  118 170 40  117 169 40  117 169 40
-+117 169 40  117 169 40  117 169 40  117 169 40  117 169 40  117 169 40
-+117 169 40  118 170 40  119 172 41  105 151 36  42 61 14  2 3 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 0  1 1 0  15 21 5
-+45 64 15  80 116 27  114 165 39  118 170 40  117 169 40  117 169 40
-+117 169 40  117 169 40  117 169 40  117 169 40  117 169 40  119 172 41
-+97 141 33  20 30 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  1 1 0  53 76 18  114 165 39  118 171 40  117 169 40
-+117 169 40  117 169 40  117 169 40  117 169 40  117 169 40  117 169 40
-+118 171 40  104 150 35  64 92 22  31 45 11  10 15 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
-+0 0 0  0 0 0  0 0 0  0 0 0  0 0 0  0 0 0
-+0 0 0  36 52 12  97 141 33  109 158 37  113 163 39  116 168 40
-+117 169 40  117 170 40  118 170 40  119 172 41  115 167 39  84 121 28
-+23 34 8  0 0 0  0 0 0  0 0 0  0 0 0  0 0 0
-+0 0 0  0 0 0  0 0 0  0 0 0  0 0 0  0 0 0
-+0 0 0  0 0 0  3 4 1  50 72 17  102 148 35  118 171 40
-+119 171 41  118 170 40  117 169 40  117 169 40  115 166 39  111 161 38
-+109 157 37  79 115 27  12 18 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  3 4 1  15 21 5  23 34 8  45 64 15  106 153 36
-+116 167 40  111 160 38  101 146 34  79 115 27  42 61 14  10 15 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  1 1 0  20 30 7  60 86 20
-+89 128 30  106 153 36  113 163 39  117 169 40  84 121 28  29 42 10
-+19 27 6  10 15 3  2 3 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 0  0 0 0  0 0 0  0 0 0  0 0 0  0 0 0
-+0 0 0  0 0 0  0 0 0  0 0 0  16 23 5  38 55 13
-+36 52 12  26 37 9  12 18 4  2 3 1  0 0 0  0 0 0
-+0 0 0  0 0 0  0 0 0  1 0 0  19 2 7  52 5 18
-+78 7 27  88 8 31  81 7 29  56 5 19  25 2 9  3 0 1
-+0 0 0  0 0 0  0 0 0  0 0 0  0 0 0  0 0 0
-+3 4 1  19 27 6  31 45 11  38 55 13  32 47 11  3 4 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 0  0 0 0  0 0 0
-+0 0 0  0 0 0  0 0 0  0 0 0  0 0 0  0 0 0
-+0 0 0  0 0 0  0 0 0  0 0 0  0 0 0  3 0 1
-+9 0 3  12 1 4  9 0 3  4 0 1  0 0 0  0 0 0
-+0 0 0  0 0 0  28 3 10  99 9 35  156 14 55  182 16 64
-+189 17 66  190 17 67  189 17 66  184 17 65  166 15 58  118 13 41
-+45 4 16  3 0 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 0  0 0 0  0 0 0  0 0 0
-+0 0 0  0 0 0  0 0 0
-+0 0 0  0 0 0  0 0 0  0 0 0  0 0 0  0 0 0
-+0 0 0  0 0 0  0 0 0  0 0 0  0 0 0  0 0 0
-+0 0 0  0 0 0  11 1 4  52 5 18  101 9 35  134 12 47
-+151 14 53  154 14 54  151 14 53  113 10 40  11 1 4  0 0 0
-+3 0 1  67 6 24  159 14 56  190 17 67  190 17 67  188 17 66
-+188 17 66  188 17 66  188 17 66  188 17 66  190 17 67  191 17 67
-+174 16 61  101 9 35  14 1 5  0 0 0  35 3 12  108 10 38
-+122 11 43  122 11 43  112 10 39  87 8 30  50 5 17  13 1 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 0
-+0 0 0  0 0 0  0 0 0  0 0 0  0 0 0  0 0 0
-+0 0 0  0 0 0  0 0 0  0 0 0  0 0 0  0 0 0
-+3 0 1  56 5 19  141 13 49  182 16 64  191 17 67  191 17 67
-+190 17 67  190 17 67  191 17 67  113 10 40  3 0 1  1 0 0
-+79 7 28  180 16 63  190 17 67  188 17 66  188 17 66  188 17 66
-+188 17 66  188 17 66  188 17 66  188 17 66  188 17 66  188 17 66
-+189 17 66  188 17 66  122 11 43  11 1 4  41 4 14  176 16 62
-+191 17 67  191 17 67  191 17 67  190 17 67  181 16 63  146 13 51
-+75 7 26  10 1 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  7 1 2
-+90 8 32  178 16 62  191 17 67  188 17 66  188 17 66  188 17 66
-+188 17 66  190 17 67  141 13 49  22 2 8  0 0 0  41 4 14
-+173 16 61  190 17 67  188 17 66  188 17 66  188 17 66  188 17 66
-+188 17 66  188 17 66  188 17 66  188 17 66  188 17 66  188 17 66
-+188 17 66  188 17 66  188 17 66  88 8 31  1 0 0  89 8 31
-+185 17 65  189 17 66  188 17 66  188 17 66  189 17 66  191 17 67
-+186 17 65  124 11 43  25 2 9  0 0 0  0 0 0  0 0 0
-+0 0 0  0 0 0  0 0 0  0 0 0  0 0 0  0 0 0
-+0 0 0  0 0 0  0 0 0
-+0 0 0  0 0 0  0 0 0  0 0 0  0 0 0  0 0 0
-+0 0 0  0 0 0  0 0 0  0 0 0  2 0 1  89 8 31
-+184 17 65  189 17 66  188 17 66  188 17 66  188 17 66  188 17 66
-+190 17 67  151 14 53  34 3 12  0 0 0  0 0 0  79 7 28
-+190 17 67  188 17 66  188 17 66  188 17 66  188 17 66  188 17 66
-+188 17 66  188 17 66  188 17 66  188 17 66  188 17 66  188 17 66
-+188 17 66  188 17 66  191 17 67  146 13 51  9 1 3  7 1 2
-+108 10 38  187 17 66  189 17 66  188 17 66  188 17 66  188 17 66
-+188 17 66  190 17 67  141 13 49  22 2 8  0 0 0  0 0 0
-+0 0 0  0 0 0  0 0 0  0 0 0  0 0 0  0 0 0
-+0 0 0  0 0 0  0 0 0
-+0 0 0  0 0 0  0 0 0  0 0 0  0 0 0  0 0 0
-+0 0 0  0 0 0  0 0 0  0 0 0  52 5 18  176 16 62
-+189 17 66  188 17 66  188 17 66  188 17 66  188 17 66  190 17 67
-+151 14 53  38 3 13  0 0 0  0 0 0  0 0 0  50 5 17
-+180 16 63  189 17 66  188 17 66  188 17 66  188 17 66  188 17 66
-+188 17 66  188 17 66  188 17 66  188 17 66  188 17 66  188 17 66
-+188 17 66  188 17 66  191 17 67  141 13 49  7 1 3  0 0 0
-+11 1 4  112 10 39  187 17 66  189 17 66  188 17 66  188 17 66
-+188 17 66  188 17 66  190 17 67  113 10 40  5 0 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 0 0  0 0 0  7 1 3  132 12 46  191 17 67
-+188 17 66  188 17 66  188 17 66  188 17 66  190 17 67  146 13 51
-+35 3 12  0 0 0  0 0 0  0 0 0  0 0 0  5 0 2
-+101 9 35  185 17 65  190 17 67  188 17 66  188 17 66  188 17 66
-+188 17 66  188 17 66  188 17 66  188 17 66  188 17 66  188 17 66
-+188 17 66  190 17 67  180 16 63  67 6 24  0 0 0  0 0 0
-+0 0 0  11 1 4  108 10 38  186 17 65  189 17 66  188 17 66
-+188 17 66  188 17 66  189 17 66  180 16 63  56 5 19  0 0 0
-+0 0 0  0 0 0  0 0 0  0 0 0  0 0 0  0 0 0
-+0 0 0  0 0 0  0 0 0
-+0 0 0  0 0 0  0 0 0  0 0 0  0 0 0  0 0 0
-+0 0 0  0 0 0  0 0 0  44 4 15  177 16 62  189 17 66
-+188 17 66  188 17 66  189 17 66  189 17 66  134 12 47  28 3 10
-+0 0 0  0 0 0  0 0 0  0 0 0  0 0 0  0 0 0
-+8 1 3  79 7 28  159 14 56  188 17 66  191 17 67  190 17 67
-+189 17 66  189 17 66  189 17 66  189 17 66  190 17 67  191 17 67
-+188 17 66  158 14 55  72 7 25  4 0 1  0 0 0  0 0 0
-+0 0 0  0 0 0  8 1 3  95 9 33  182 16 64  189 17 67
-+188 17 66  188 17 66  188 17 66  191 17 67  122 11 43  3 0 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  88 8 31  190 17 67  188 17 66
-+188 17 66  189 17 66  185 17 65  113 10 40  18 2 6  0 0 0
-+0 0 0  0 0 0  0 0 0  0 0 0  0 0 0  0 0 0
-+0 0 0  1 0 0  24 2 8  77 7 27  124 11 43  154 14 54
-+168 15 59  173 16 61  173 16 61  168 15 59  154 14 54  124 11 43
-+77 7 27  22 2 8  0 0 0  0 0 0  0 0 0  0 0 0
-+0 0 0  0 0 0  0 0 0  5 0 2  77 7 27  173 16 61
-+190 17 67  188 17 66  188 17 66  190 17 67  164 15 57  23 2 8
-+0 0 0  0 0 0  0 0 0  0 0 0  0 0 0  0 0 0
-+0 0 0  0 0 0  0 0 0
-+0 0 0  0 0 0  0 0 0  0 0 0  0 0 0  0 0 0
-+0 0 0  0 0 0  1 0 0  118 13 41  191 17 67  188 17 66
-+190 17 67  174 16 61  87 8 30  8 1 3  0 0 0  0 0 0
-+0 0 0  0 0 0  10 1 4  29 3 10  40 4 14  36 3 13
-+18 2 6  2 0 1  0 0 0  0 0 0  3 0 1  14 1 5
-+26 2 9  33 3 11  32 3 11  25 2 9  13 1 5  3 0 1
-+0 0 0  14 1 5  56 5 19  95 9 33  109 10 38  101 9 35
-+77 7 27  35 3 12  5 0 2  0 0 0  1 0 0  56 5 19
-+156 14 55  190 17 67  188 17 66  188 17 66  182 16 64  50 5 17
-+0 0 0  0 0 0  0 0 0  0 0 0  0 0 0  0 0 0
-+0 0 0  0 0 0  0 0 0
-+0 0 0  0 0 0  0 0 0  0 0 0  0 0 0  0 0 0
-+0 0 0  0 0 0  5 0 2  134 12 47  191 17 67  189 17 66
-+151 14 53  52 5 18  2 0 1  0 0 0  0 0 0  1 0 0
-+28 3 10  90 8 32  146 13 51  170 15 60  178 16 62  174 16 61
-+158 14 55  112 10 39  40 4 14  1 0 0  0 0 0  0 0 0
-+0 0 0  0 0 0  0 0 0  0 0 0  0 0 0  3 0 1
-+56 5 19  146 13 51  183 17 64  191 17 67  191 17 67  191 17 67
-+188 17 66  173 16 61  122 11 43  41 4 14  1 0 0  0 0 0
-+30 3 10  124 11 43  185 17 65  190 17 67  187 17 66  67 6 24
-+0 0 0  0 0 0  0 0 0  0 0 0  0 0 0  0 0 0
-+0 0 0  0 0 0  0 0 0
-+0 0 0  0 0 0  0 0 0  0 0 0  0 0 0  0 0 0
-+0 0 0  0 0 0  6 1 2  134 12 47  168 15 59  99 9 35
-+21 2 7  0 0 0  0 0 0  0 0 0  6 1 2  77 7 27
-+162 15 57  190 17 67  191 17 67  189 17 66  189 17 66  189 17 66
-+190 17 67  191 17 67  169 15 59  75 7 26  3 0 1  0 0 0
-+0 0 0  0 0 0  0 0 0  0 0 0  2 0 1  79 7 28
-+178 16 62  191 17 67  188 17 66  188 17 66  188 17 66  188 17 66
-+188 17 66  189 17 66  191 17 67  170 15 60  79 7 28  5 0 2
-+0 0 0  10 1 3  78 7 27  159 14 56  188 17 66  75 7 26
-+0 0 0  0 0 0  0 0 0  0 0 0  0 0 0  0 0 0
-+0 0 0  0 0 0  0 0 0
-+0 0 0  0 0 0  0 0 0  0 0 0  0 0 0  0 0 0
-+0 0 0  0 0 0  1 0 0  35 3 12  29 3 10  2 0 1
-+0 0 0  0 0 0  0 0 0  9 1 3  101 9 35  183 17 64
-+190 17 67  188 17 66  188 17 66  188 17 66  188 17 66  188 17 66
-+188 17 66  188 17 66  190 17 67  178 16 63  67 6 23  0 0 0
-+0 0 0  0 0 0  0 0 0  0 0 0  52 5 18  174 16 61
-+190 17 67  188 17 66  188 17 66  188 17 66  188 17 66  188 17 66
-+188 17 66  188 17 66  188 17 66  190 17 67  182 16 64  89 8 31
-+4 0 1  0 0 0  0 0 0  25 2 9  73 7 26  31 3 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 0 0  0 0 0
-+0 0 0  0 0 0  0 0 0  0 0 0  0 0 0  0 0 0
-+0 0 0  0 0 0  4 0 1  98 9 34  187 17 66  189 17 66
-+188 17 66  188 17 66  188 17 66  188 17 66  188 17 66  188 17 66
-+188 17 66  188 17 66  188 17 66  190 17 67  158 14 55  25 2 9
-+0 0 0  0 0 0  0 0 0  8 1 3  134 12 47  191 17 67
-+188 17 66  188 17 66  188 17 66  188 17 66  188 17 66  188 17 66
-+188 17 66  188 17 66  188 17 66  188 17 66  189 17 66  180 16 63
-+68 6 24  0 0 0  0 0 0  0 0 0  0 0 0  0 0 0
-+0 0 0  0 0 0  0 0 0  0 0 0  0 0 0  0 0 0
-+0 0 0  0 0 0  0 0 0
-+0 0 0  0 0 0  0 0 0  0 0 0  0 0 0  0 0 0
-+0 0 0  6 1 2  19 2 7  3 0 1  0 0 0  0 0 0
-+0 0 0  0 0 0  65 6 23  180 16 63  189 17 66  188 17 66
-+188 17 66  188 17 66  188 17 66  188 17 66  188 17 66  188 17 66
-+188 17 66  188 17 66  188 17 66  188 17 66  189 17 66  83 8 29
-+0 0 0  0 0 0  0 0 0  41 4 14  177 16 62  189 17 66
-+188 17 66  188 17 66  188 17 66  188 17 66  188 17 66  188 17 66
-+188 17 66  188 17 66  188 17 66  188 17 66  188 17 66  190 17 67
-+159 14 56  28 3 10  0 0 0  0 0 0  0 0 0  23 2 8
-+41 4 14  5 0 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
-+23 2 8  113 10 40  159 14 56  65 6 23  0 0 0  0 0 0
-+0 0 0  16 1 6  146 13 51  191 17 67  188 17 66  188 17 66
-+188 17 66  188 17 66  188 17 66  188 17 66  188 17 66  188 17 66
-+188 17 66  188 17 66  188 17 66  188 17 66  191 17 67  132 12 46
-+5 0 2  0 0 0  0 0 0  77 7 27  189 17 66  188 17 66
-+188 17 66  188 17 66  188 17 66  188 17 66  188 17 66  188 17 66
-+188 17 66  188 17 66  188 17 66  188 17 66  188 17 66  188 17 66
-+190 17 67  98 9 34  0 0 0  0 0 0  12 1 4  134 12 47
-+178 16 63  108 10 38  16 1 6  0 0 0  0 0 0  0 0 0
-+0 0 0  0 0 0  0 0 0
-+0 0 0  0 0 0  0 0 0  0 0 0  0 0 0  30 3 10
-+141 13 49  190 17 67  191 17 67  134 12 47  6 1 2  0 0 0
-+0 0 0  68 6 24  186 17 65  188 17 66  188 17 66  188 17 66
-+188 17 66  188 17 66  188 17 66  188 17 66  188 17 66  188 17 66
-+188 17 66  188 17 66  188 17 66  188 17 66  190 17 67  156 14 55
-+14 1 5  0 0 0  0 0 0  98 9 34  191 17 67  188 17 66
-+188 17 66  188 17 66  188 17 66  188 17 66  188 17 66  188 17 66
-+188 17 66  188 17 66  188 17 66  188 17 66  188 17 66  188 17 66
-+190 17 67  156 14 55  19 2 7  0 0 0  47 4 16  181 16 63
-+190 17 67  189 17 66  126 14 44  17 2 6  0 0 0  0 0 0
-+0 0 0  0 0 0  0 0 0
-+0 0 0  0 0 0  0 0 0  0 0 0  16 1 6  134 12 47
-+191 17 67  188 17 66  190 17 67  162 15 57  19 2 7  0 0 0
-+3 0 1  123 11 43  191 17 67  188 17 66  188 17 66  188 17 66
-+188 17 66  188 17 66  188 17 66  188 17 66  188 17 66  188 17 66
-+188 17 66  188 17 66  188 17 66  188 17 66  190 17 67  163 15 57
-+20 2 7  0 0 0  0 0 0  101 9 35  191 17 67  188 17 66
-+188 17 66  188 17 66  188 17 66  188 17 66  188 17 66  188 17 66
-+188 17 66  188 17 66  188 17 66  188 17 66  188 17 66  188 17 66
-+188 17 66  182 16 64  52 5 18  0 0 0  73 7 26  188 17 66
-+188 17 66  188 17 66  189 17 66  109 10 38  5 0 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  95 9 33  189 17 66
-+188 17 66  188 17 66  189 17 66  171 15 60  29 3 10  0 0 0
-+16 1 6  156 14 55  190 17 67  188 17 66  188 17 66  188 17 66
-+188 17 66  188 17 66  188 17 66  188 17 66  188 17 66  188 17 66
-+188 17 66  188 17 66  188 17 66  188 17 66  190 17 67  158 14 55
-+17 2 6  0 0 0  0 0 0  85 8 30  190 17 67  188 17 66
-+188 17 66  188 17 66  188 17 66  188 17 66  188 17 66  188 17 66
-+188 17 66  188 17 66  188 17 66  188 17 66  188 17 66  188 17 66
-+188 17 66  189 17 66  81 7 29  0 0 0  85 8 30  190 17 67
-+188 17 66  188 17 66  189 17 66  180 16 63  56 5 19  0 0 0
-+0 0 0  0 0 0  0 0 0
-+0 0 0  0 0 0  0 0 0  25 2 9  162 15 57  190 17 67
-+188 17 66  188 17 66  189 17 66  173 16 61  31 3 11  0 0 0
-+30 3 10  171 15 60  189 17 66  188 17 66  188 17 66  188 17 66
-+188 17 66  188 17 66  188 17 66  188 17 66  188 17 66  188 17 66
-+188 17 66  188 17 66  188 17 66  188 17 66  191 17 67  141 13 49
-+7 1 2  0 0 0  0 0 0  56 5 19  183 17 64  188 17 66
-+188 17 66  188 17 66  188 17 66  188 17 66  188 17 66  188 17 66
-+188 17 66  188 17 66  188 17 66  188 17 66  188 17 66  188 17 66
-+188 17 66  191 17 67  98 9 34  0 0 0  88 8 31  190 17 67
-+188 17 66  188 17 66  188 17 66  191 17 67  124 11 43  5 0 2
-+0 0 0  0 0 0  0 0 0
-+0 0 0  0 0 0  0 0 0  68 6 24  187 17 66  188 17 66
-+188 17 66  188 17 66  189 17 66  170 15 60  28 3 10  0 0 0
-+34 3 12  174 16 61  189 17 66  188 17 66  188 17 66  188 17 66
-+188 17 66  188 17 66  188 17 66  188 17 66  188 17 66  188 17 66
-+188 17 66  188 17 66  188 17 66  188 17 66  191 17 67  101 9 35
-+0 0 0  0 0 0  0 0 0  21 2 7  159 14 56  190 17 67
-+188 17 66  188 17 66  188 17 66  188 17 66  188 17 66  188 17 66
-+188 17 66  188 17 66  188 17 66  188 17 66  188 17 66  188 17 66
-+188 17 66  191 17 67  98 9 34  0 0 0  81 7 29  189 17 66
-+188 17 66  188 17 66  188 17 66  189 17 66  168 15 59  28 3 10
-+0 0 0  0 0 0  0 0 0
-+0 0 0  0 0 0  0 0 0  109 10 38  191 17 67  188 17 66
-+188 17 66  188 17 66  190 17 67  163 15 57  21 2 7  0 0 0
-+26 2 9  168 15 59  189 17 66  188 17 66  188 17 66  188 17 66
-+188 17 66  188 17 66  188 17 66  188 17 66  188 17 66  188 17 66
-+188 17 66  188 17 66  188 17 66  189 17 66  180 16 63  47 4 16
-+0 0 0  0 0 0  0 0 0  0 0 0  108 10 38  190 17 67
-+188 17 66  188 17 66  188 17 66  188 17 66  188 17 66  188 17 66
-+188 17 66  188 17 66  188 17 66  188 17 66  188 17 66  188 17 66
-+188 17 66  189 17 66  78 7 27  0 0 0  68 6 24  187 17 66
-+188 17 66  188 17 66  188 17 66  188 17 66  183 17 64  56 5 19
-+0 0 0  0 0 0  0 0 0
-+0 0 0  0 0 0  3 0 1  131 12 46  191 17 67  188 17 66
-+188 17 66  188 17 66  190 17 67  151 14 53  12 1 4  0 0 0
-+11 1 4  146 13 51  190 17 67  188 17 66  188 17 66  188 17 66
-+188 17 66  188 17 66  188 17 66  188 17 66  188 17 66  188 17 66
-+188 17 66  188 17 66  188 17 66  191 17 67  126 14 44  7 1 2
-+0 0 0  0 0 0  0 0 0  0 0 0  32 3 11  164 15 58
-+190 17 67  188 17 66  188 17 66  188 17 66  188 17 66  188 17 66
-+188 17 66  188 17 66  188 17 66  188 17 66  188 17 66  188 17 66
-+189 17 66  178 16 62  44 4 15  0 0 0  50 5 17  182 16 64
-+188 17 66  188 17 66  188 17 66  188 17 66  188 17 66  72 7 25
-+0 0 0  0 0 0  0 0 0
-+0 0 0  0 0 0  5 0 2  134 12 47  191 17 67  188 17 66
-+188 17 66  188 17 66  191 17 67  131 12 46  3 0 1  0 0 0
-+0 0 0  101 9 35  190 17 67  188 17 66  188 17 66  188 17 66
-+188 17 66  188 17 66  188 17 66  188 17 66  188 17 66  188 17 66
-+188 17 66  188 17 66  190 17 67  170 15 60  44 4 15  0 0 0
-+0 0 0  0 0 0  0 0 0  0 0 0  0 0 0  77 7 27
-+183 17 64  189 17 66  188 17 66  188 17 66  188 17 66  188 17 66
-+188 17 66  188 17 66  188 17 66  188 17 66  188 17 66  188 17 66
-+191 17 67  134 12 47  9 1 3  0 0 0  31 3 11  171 15 60
-+189 17 66  188 17 66  188 17 66  188 17 66  188 17 66  72 7 25
-+0 0 0  0 0 0  0 0 0
-+0 0 0  0 0 0  2 0 1  124 11 43  191 17 67  188 17 66
-+188 17 66  188 17 66  191 17 67  101 9 35  0 0 0  0 0 0
-+0 0 0  35 3 12  168 15 59  190 17 67  188 17 66  188 17 66
-+188 17 66  188 17 66  188 17 66  188 17 66  188 17 66  188 17 66
-+188 17 66  189 17 66  182 16 64  77 7 27  0 0 0  0 0 0
-+0 0 0  0 0 0  0 0 0  0 0 0  0 0 0  6 1 2
-+99 9 35  185 17 65  189 17 66  188 17 66  188 17 66  188 17 66
-+188 17 66  188 17 66  188 17 66  188 17 66  188 17 66  189 17 66
-+177 16 62  56 5 19  0 0 0  0 0 0  13 1 5  151 14 53
-+190 17 67  188 17 66  188 17 66  188 17 66  185 17 65  56 5 19
-+0 0 0  0 0 0  0 0 0
-+0 0 0  0 0 0  0 0 0  99 9 35  191 17 67  188 17 66
-+188 17 66  188 17 66  186 17 65  65 6 23  0 0 0  0 0 0
-+0 0 0  0 0 0  79 7 28  182 16 64  190 17 67  188 17 66
-+188 17 66  188 17 66  188 17 66  188 17 66  188 17 66  188 17 66
-+191 17 67  177 16 62  83 8 29  4 0 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
-+8 1 3  89 8 31  175 16 62  191 17 67  189 17 66  188 17 66
-+188 17 66  188 17 66  188 17 66  188 17 66  190 17 67  181 16 63
-+85 8 30  3 0 1  0 0 0  0 0 0  1 0 0  118 13 41
-+191 17 67  188 17 66  188 17 66  189 17 66  173 16 61  34 3 12
-+0 0 0  0 0 0  0 0 0
-+0 0 0  0 0 0  0 0 0  56 5 19  183 17 64  188 17 66
-+188 17 66  189 17 66  169 15 59  30 3 10  0 0 0  0 0 0
-+0 0 0  0 0 0  5 0 2  83 8 29  173 16 61  191 17 67
-+190 17 67  189 17 66  189 17 66  190 17 67  191 17 67  187 17 66
-+151 14 53  56 5 19  3 0 1  0 0 0  16 1 6  50 5 17
-+79 7 28  95 9 33  95 9 33  75 7 26  41 4 14  10 1 4
-+0 0 0  2 0 1  50 5 17  132 12 46  178 16 62  190 17 67
-+191 17 67  191 17 67  191 17 67  186 17 65  154 14 54  68 6 24
-+4 0 1  0 0 0  0 0 0  0 0 0  0 0 0  72 7 25
-+187 17 66  188 17 66  188 17 66  191 17 67  141 13 49  9 1 3
-+0 0 0  0 0 0  0 0 0
-+0 0 0  0 0 0  0 0 0  14 1 5  151 14 53  190 17 67
-+188 17 66  191 17 67  131 12 46  5 0 2  0 0 0  0 0 0
-+0 0 0  0 0 0  0 0 0  2 0 1  44 4 15  113 10 40
-+156 14 55  173 16 61  174 16 61  164 15 58  134 12 47  77 7 27
-+18 2 6  0 0 0  16 1 6  85 8 30  151 14 53  182 16 64
-+189 17 66  191 17 67  190 17 67  188 17 66  177 16 62  141 13 49
-+68 6 24  8 1 3  0 0 0  8 1 3  44 4 15  88 8 31
-+113 10 40  122 11 43  108 10 38  67 6 24  20 2 7  0 0 0
-+0 0 0  0 0 0  0 0 0  0 0 0  0 0 0  28 3 10
-+166 15 58  190 17 67  188 17 66  187 17 66  79 7 28  0 0 0
-+0 0 0  0 0 0  0 0 0
-+0 0 0  0 0 0  0 0 0  0 0 0  73 7 26  185 17 65
-+189 17 66  184 17 65  65 6 23  0 0 0  0 0 0  0 0 0
-+0 0 0  0 0 0  0 0 0  0 0 0  0 0 0  2 0 1
-+17 2 6  32 3 11  34 3 12  22 2 8  6 1 2  0 0 0
-+0 0 0  38 3 13  141 13 49  188 17 66  190 17 67  188 17 66
-+188 17 66  188 17 66  188 17 66  188 17 66  189 17 66  191 17 67
-+184 17 65  122 11 43  21 2 7  0 0 0  0 0 0  0 0 0
-+0 0 0  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  1 0 0
-+108 10 38  191 17 67  191 17 67  141 13 49  16 1 6  0 0 0
-+0 0 0  0 0 0  0 0 0
-+0 0 0  0 0 0  0 0 0  0 0 0  8 1 3  112 10 39
-+186 17 65  124 11 43  10 1 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
-+36 3 13  156 14 55  191 17 67  188 17 66  188 17 66  188 17 66
-+188 17 66  188 17 66  188 17 66  188 17 66  188 17 66  188 17 66
-+189 17 66  190 17 67  134 12 47  18 2 6  0 0 0  0 0 0
-+0 0 0  0 0 0  0 0 0  0 0 0  0 0 0  0 0 0
-+0 0 0  7 1 2  41 4 14  75 7 26  66 5 23  19 2 7
-+26 2 9  144 13 50  154 14 54  40 4 14  0 0 0  0 0 0
-+0 0 0  0 0 0  0 0 0
-+0 0 0  0 0 0  0 0 0  0 0 0  0 0 0  13 1 5
-+56 5 19  19 2 7  0 0 0  7 1 2  29 3 10  35 3 12
-+19 2 7  2 0 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  13 1 5
-+134 12 47  191 17 67  188 17 66  188 17 66  188 17 66  188 17 66
-+188 17 66  188 17 66  188 17 66  188 17 66  188 17 66  188 17 66
-+188 17 66  188 17 66  189 17 67  108 10 38  3 0 1  0 0 0
-+0 0 0  0 0 0  0 0 0  0 0 0  0 0 0  1 0 0
-+40 4 14  124 11 43  177 16 62  188 17 66  187 17 66  144 13 50
-+24 2 8  17 2 6  22 2 8  0 0 0  0 0 0  0 0 0
-+0 0 0  0 0 0  0 0 0
-+0 0 0  0 0 0  0 0 0  0 0 0  0 0 0  0 0 0
-+0 0 0  0 0 0  19 2 7  122 11 43  171 15 60  175 16 62
-+159 14 56  112 10 39  40 4 14  2 0 1  0 0 0  0 0 0
-+0 0 0  0 0 0  0 0 0  0 0 0  0 0 0  72 7 25
-+186 17 65  188 17 66  188 17 66  188 17 66  188 17 66  188 17 66
-+188 17 66  188 17 66  188 17 66  188 17 66  188 17 66  188 17 66
-+188 17 66  188 17 66  189 17 66  174 16 61  41 4 14  0 0 0
-+0 0 0  0 0 0  0 0 0  0 0 0  3 0 1  72 7 25
-+168 15 59  191 17 67  189 17 66  188 17 66  188 17 66  190 17 67
-+95 9 33  0 0 0  0 0 0  0 0 0  0 0 0  0 0 0
-+0 0 0  0 0 0  0 0 0
-+0 0 0  0 0 0  0 0 0  0 0 0  0 0 0  0 0 0
-+0 0 0  0 0 0  95 9 33  191 17 67  189 17 66  189 17 66
-+190 17 67  191 17 67  171 15 60  90 8 32  12 1 4  0 0 0
-+0 0 0  0 0 0  0 0 0  0 0 0  5 0 2  132 12 46
-+191 17 67  188 17 66  188 17 66  188 17 66  188 17 66  188 17 66
-+188 17 66  188 17 66  188 17 66  188 17 66  188 17 66  188 17 66
-+188 17 66  188 17 66  188 17 66  190 17 67  98 9 34  0 0 0
-+0 0 0  0 0 0  0 0 0  5 0 2  88 8 31  180 16 63
-+190 17 67  188 17 66  188 17 66  188 17 66  188 17 66  191 17 67
-+146 13 51  11 1 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  9 1 3  144 13 50  191 17 67  188 17 66  188 17 66
-+188 17 66  188 17 66  189 17 66  187 17 66  123 11 43  20 2 7
-+0 0 0  0 0 0  0 0 0  0 0 0  21 2 7  163 15 57
-+190 17 67  188 17 66  188 17 66  188 17 66  188 17 66  188 17 66
-+188 17 66  188 17 66  188 17 66  188 17 66  188 17 66  188 17 66
-+188 17 66  188 17 66  188 17 66  191 17 67  134 12 47  5 0 2
-+0 0 0  0 0 0  3 0 1  88 8 31  182 16 64  189 17 66
-+188 17 66  188 17 66  188 17 66  188 17 66  188 17 66  189 17 66
-+171 15 60  31 3 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 0 0  20 2 7  162 15 57  190 17 67  188 17 66  188 17 66
-+188 17 66  188 17 66  188 17 66  188 17 66  190 17 67  132 12 46
-+20 2 7  0 0 0  0 0 0  0 0 0  32 3 11  173 16 61
-+189 17 66  188 17 66  188 17 66  188 17 66  188 17 66  188 17 66
-+188 17 66  188 17 66  188 17 66  188 17 66  188 17 66  188 17 66
-+188 17 66  188 17 66  188 17 66  190 17 67  151 14 53  12 1 4
-+0 0 0  0 0 0  72 7 25  180 16 63  189 17 66  188 17 66
-+188 17 66  188 17 66  188 17 66  188 17 66  188 17 66  188 17 66
-+181 16 63  47 4 16  0 0 0  0 0 0  0 0 0  0 0 0
-+0 0 0  0 0 0  0 0 0
-+0 0 0  0 0 0  0 0 0  0 0 0  0 0 0  0 0 0
-+0 0 0  21 2 7  163 15 57  190 17 67  188 17 66  188 17 66
-+188 17 66  188 17 66  188 17 66  188 17 66  188 17 66  190 17 67
-+122 11 43  9 1 3  0 0 0  0 0 0  30 3 10  171 15 60
-+189 17 66  188 17 66  188 17 66  188 17 66  188 17 66  188 17 66
-+188 17 66  188 17 66  188 17 66  188 17 66  188 17 66  188 17 66
-+188 17 66  188 17 66  188 17 66  190 17 67  146 13 51  10 1 4
-+0 0 0  38 3 13  166 15 58  190 17 67  188 17 66  188 17 66
-+188 17 66  188 17 66  188 17 66  188 17 66  188 17 66  188 17 66
-+183 17 64  52 5 18  0 0 0  0 0 0  0 0 0  0 0 0
-+0 0 0  0 0 0  0 0 0
-+0 0 0  0 0 0  0 0 0  0 0 0  0 0 0  0 0 0
-+0 0 0  13 1 5  154 14 54  190 17 67  188 17 66  188 17 66
-+188 17 66  188 17 66  188 17 66  188 17 66  188 17 66  188 17 66
-+186 17 65  79 7 28  0 0 0  0 0 0  14 1 5  156 14 54
-+190 17 67  188 17 66  188 17 66  188 17 66  188 17 66  188 17 66
-+188 17 66  188 17 66  188 17 66  188 17 66  188 17 66  188 17 66
-+188 17 66  188 17 66  188 17 66  191 17 67  124 11 43  2 0 1
-+5 0 2  122 11 43  191 17 67  188 17 66  188 17 66  188 17 66
-+188 17 66  188 17 66  188 17 66  188 17 66  188 17 66  188 17 66
-+182 16 64  47 4 16  0 0 0  0 0 0  0 0 0  0 0 0
-+0 0 0  0 0 0  0 0 0
-+0 0 0  0 0 0  0 0 0  0 0 0  0 0 0  0 0 0
-+0 0 0  3 0 1  126 14 44  191 17 67  188 17 66  188 17 66
-+188 17 66  188 17 66  188 17 66  188 17 66  188 17 66  188 17 66
-+190 17 67  158 14 55  23 2 8  0 0 0  1 0 0  113 10 40
-+191 17 67  188 17 66  188 17 66  188 17 66  188 17 66  188 17 66
-+188 17 66  188 17 66  188 17 66  188 17 66  188 17 66  188 17 66
-+188 17 66  188 17 66  188 17 66  188 17 66  78 7 27  0 0 0
-+47 4 16  177 16 62  189 17 66  188 17 66  188 17 66  188 17 66
-+188 17 66  188 17 66  188 17 66  188 17 66  188 17 66  189 17 66
-+173 16 61  34 3 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  0 0 0
-+0 0 0  0 0 0  85 8 30  189 17 66  188 17 66  188 17 66
-+188 17 66  188 17 66  188 17 66  188 17 66  188 17 66  188 17 66
-+188 17 66  188 17 66  79 7 28  0 0 0  0 0 0  47 4 16
-+175 16 62  189 17 66  188 17 66  188 17 66  188 17 66  188 17 66
-+188 17 66  188 17 66  188 17 66  188 17 66  188 17 66  188 17 66
-+188 17 66  188 17 66  190 17 67  156 14 55  22 2 8  0 0 0
-+109 10 38  191 17 67  188 17 66  188 17 66  188 17 66  188 17 66
-+188 17 66  188 17 66  188 17 66  188 17 66  188 17 66  190 17 67
-+151 14 53  13 1 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 0  35 3 12  173 16 61  189 17 66  188 17 66
-+188 17 66  188 17 66  188 17 66  188 17 66  188 17 66  188 17 66
-+188 17 66  191 17 67  134 12 47  7 1 2  0 0 0  3 0 1
-+99 9 35  188 17 66  189 17 66  188 17 66  188 17 66  188 17 66
-+188 17 66  188 17 66  188 17 66  188 17 66  188 17 66  188 17 66
-+188 17 66  189 17 66  181 16 63  68 6 24  0 0 0  18 2 6
-+156 14 55  190 17 67  188 17 66  188 17 66  188 17 66  188 17 66
-+188 17 66  188 17 66  188 17 66  188 17 66  188 17 66  190 17 67
-+101 9 35  0 0 0  0 0 0  0 0 0  0 0 0  0 0 0
-+0 0 0  0 0 0  0 0 0
-+0 0 0  0 0 0  0 0 0  0 0 0  0 0 0  0 0 0
-+0 0 0  0 0 0  3 0 1  118 13 41  191 17 67  188 17 66
-+188 17 66  188 17 66  188 17 66  188 17 66  188 17 66  188 17 66
-+188 17 66  189 17 66  168 15 59  28 3 10  0 0 0  0 0 0
-+12 1 4  113 10 40  187 17 66  189 17 67  188 17 66  188 17 66
-+188 17 66  188 17 66  188 17 66  188 17 66  188 17 66  188 17 66
-+190 17 67  180 16 63  88 8 31  4 0 1  0 0 0  47 4 16
-+180 16 63  189 17 66  188 17 66  188 17 66  188 17 66  188 17 66
-+188 17 66  188 17 66  188 17 66  188 17 66  190 17 67  168 15 59
-+36 3 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  0 0 0  0 0 0
-+0 0 0  0 0 0  0 0 0  38 3 13  164 15 58  190 17 67
-+188 17 66  188 17 66  188 17 66  188 17 66  188 17 66  188 17 66
-+188 17 66  188 17 66  182 16 64  50 5 17  0 0 0  0 0 0
-+0 0 0  11 1 4  90 8 32  169 15 59  190 17 67  190 17 67
-+189 17 66  189 17 66  189 17 66  189 17 66  191 17 67  189 17 66
-+158 14 55  68 6 24  4 0 1  0 0 0  0 0 0  73 7 26
-+188 17 66  188 17 66  188 17 66  188 17 66  188 17 66  188 17 66
-+188 17 66  188 17 66  188 17 66  189 17 66  185 17 65  83 8 29
-+0 0 0  0 0 0  0 0 0  0 0 0  0 0 0  0 0 0
-+0 0 0  0 0 0  0 0 0
-+0 0 0  0 0 0  0 0 0  0 0 0  0 0 0  0 0 0
-+0 0 0  0 0 0  0 0 0  0 0 0  65 6 23  174 16 61
-+190 17 67  188 17 66  188 17 66  188 17 66  188 17 66  188 17 66
-+188 17 66  188 17 66  185 17 65  56 5 19  0 0 0  0 0 0
-+0 0 0  0 0 0  2 0 1  35 3 12  99 9 35  146 13 51
-+170 15 60  177 16 62  177 16 62  166 15 58  141 13 49  85 8 30
-+24 2 8  0 0 0  0 0 0  0 0 0  0 0 0  85 8 30
-+190 17 67  188 17 66  188 17 66  188 17 66  188 17 66  188 17 66
-+188 17 66  188 17 66  188 17 66  189 17 66  112 10 39  8 1 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  0 0 0  0 0 0  0 0 0  1 0 0  68 6 24
-+170 15 60  191 17 67  188 17 66  188 17 66  188 17 66  188 17 66
-+188 17 66  188 17 66  182 16 64  50 5 17  0 0 0  0 0 0
-+0 0 0  0 0 0  0 0 0  0 0 0  1 0 0  11 1 4
-+28 3 10  40 4 14  38 3 13  25 2 9  8 1 3  0 0 0
-+0 0 0  0 0 0  0 0 0  0 0 0  0 0 0  78 7 27
-+189 17 66  188 17 66  188 17 66  188 17 66  188 17 66  188 17 66
-+188 17 66  189 17 66  187 17 66  113 10 40  14 1 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 0  0 0 0
-+0 0 0  0 0 0  0 0 0  0 0 0  0 0 0  1 0 0
-+47 4 16  141 13 49  186 17 65  191 17 67  190 17 67  189 17 66
-+189 17 66  191 17 67  156 14 55  20 2 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 0 0
-+0 0 0  0 0 0  0 0 0  0 0 0  0 0 0  44 4 15
-+178 16 62  190 17 67  188 17 66  188 17 66  188 17 66  190 17 67
-+191 17 67  173 16 61  90 8 32  10 1 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  14 1 5  68 6 24  131 12 46  162 15 57  174 16 61
-+171 15 60  146 13 51  56 5 19  0 0 0  0 0 0  0 0 0
-+0 0 0  0 0 0  0 0 0  3 0 1  14 1 5  29 3 10
-+41 4 14  47 4 16  50 5 17  45 4 16  34 3 12  18 2 6
-+5 0 2  0 0 0  0 0 0  0 0 0  0 0 0  5 0 2
-+90 8 32  169 15 59  185 17 65  187 17 66  182 16 64  163 15 57
-+113 10 40  41 4 14  2 0 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 0  0 0 0  0 0 0  0 0 0  0 0 0  0 0 0
-+0 0 0  0 0 0  0 0 0  5 0 2  21 2 7  34 3 12
-+29 3 10  11 1 4  0 0 0  0 0 0  0 0 0  0 0 0
-+3 0 1  32 3 11  79 7 28  124 11 43  154 14 54  171 15 60
-+180 16 63  182 16 64  182 16 64  180 16 63  174 16 61  159 14 56
-+132 12 46  88 8 31  34 3 12  3 0 1  0 0 0  0 0 0
-+3 0 1  29 3 10  56 5 19  65 6 23  50 5 17  23 2 8
-+3 0 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 0  0 0 0
-+0 0 0  0 0 0  0 0 0  0 0 0  0 0 0  0 0 0
-+0 0 0  0 0 0  0 0 0  0 0 0  0 0 0  0 0 0
-+0 0 0  0 0 0  0 0 0  0 0 0  0 0 0  25 2 9
-+109 10 38  169 15 59  189 17 66  191 17 67  190 17 67  189 17 66
-+189 17 66  188 17 66  188 17 66  188 17 66  189 17 66  190 17 67
-+191 17 67  190 17 67  171 15 60  98 9 34  10 1 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  0 0 0  0 0 0  0 0 0
-+0 0 0  0 0 0  0 0 0
-+0 0 0  0 0 0  0 0 0  0 0 0  0 0 0  0 0 0
-+0 0 0  0 0 0  0 0 0  0 0 0  0 0 0  0 0 0
-+0 0 0  0 0 0  0 0 0  0 0 0  0 0 0  0 0 0
-+0 0 0  0 0 0  0 0 0  0 0 0  14 1 5  141 13 49
-+191 17 67  189 17 66  188 17 66  188 17 66  188 17 66  188 17 66
-+188 17 66  188 17 66  188 17 66  188 17 66  188 17 66  188 17 66
-+188 17 66  188 17 66  189 17 67  186 17 65  65 6 23  0 0 0
-+0 0 0  0 0 0  0 0 0  0 0 0  0 0 0  0 0 0
-+0 0 0  0 0 0  0 0 0  0 0 0  0 0 0  0 0 0
-+0 0 0  0 0 0  0 0 0  0 0 0  0 0 0  0 0 0
-+0 0 0  0 0 0  0 0 0
-+0 0 0  0 0 0  0 0 0  0 0 0  0 0 0  0 0 0
-+0 0 0  0 0 0  0 0 0  0 0 0  0 0 0  0 0 0
-+0 0 0  0 0 0  0 0 0  0 0 0  0 0 0  0 0 0
-+0 0 0  0 0 0  0 0 0  0 0 0  23 2 8  166 15 58
-+190 17 67  188 17 66  188 17 66  188 17 66  188 17 66  188 17 66
-+188 17 66  188 17 66  188 17 66  188 17 66  188 17 66  188 17 66
-+188 17 66  188 17 66  189 17 66  176 16 62  45 4 16  0 0 0
-+0 0 0  0 0 0  0 0 0  0 0 0  0 0 0  0 0 0
-+0 0 0  0 0 0  0 0 0  0 0 0  0 0 0  0 0 0
-+0 0 0  0 0 0  0 0 0  0 0 0  0 0 0  0 0 0
-+0 0 0  0 0 0  0 0 0
-+0 0 0  0 0 0  0 0 0  0 0 0  0 0 0  0 0 0
-+0 0 0  0 0 0  0 0 0  0 0 0  0 0 0  0 0 0
-+0 0 0  0 0 0  0 0 0  0 0 0  0 0 0  0 0 0
-+0 0 0  0 0 0  0 0 0  0 0 0  1 0 0  83 8 29
-+183 17 64  189 17 66  188 17 66  188 17 66  188 17 66  188 17 66
-+188 17 66  188 17 66  188 17 66  188 17 66  188 17 66  188 17 66
-+188 17 66  189 17 66  185 17 65  95 9 33  3 0 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 0
-+0 0 0  0 0 0  0 0 0
-+0 0 0  0 0 0  0 0 0  0 0 0  0 0 0  0 0 0
-+0 0 0  0 0 0  0 0 0  0 0 0  0 0 0  0 0 0
-+0 0 0  0 0 0  0 0 0  0 0 0  0 0 0  0 0 0
-+0 0 0  0 0 0  0 0 0  0 0 0  0 0 0  5 0 2
-+85 8 30  176 16 62  191 17 67  188 17 66  188 17 66  188 17 66
-+188 17 66  188 17 66  188 17 66  188 17 66  188 17 66  188 17 66
-+191 17 67  180 16 63  95 9 33  7 1 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  0 0 0  0 0 0  0 0 0  0 0 0
-+0 0 0  0 0 0  0 0 0
-+0 0 0  0 0 0  0 0 0  0 0 0  0 0 0  0 0 0
-+0 0 0  0 0 0  0 0 0  0 0 0  0 0 0  0 0 0
-+0 0 0  0 0 0  0 0 0  0 0 0  0 0 0  0 0 0
-+0 0 0  0 0 0  0 0 0  0 0 0  0 0 0  0 0 0
-+2 0 1  52 5 18  141 13 49  185 17 65  191 17 67  189 17 67
-+189 17 66  188 17 66  188 17 66  189 17 66  191 17 67  187 17 66
-+146 13 51  56 5 19  4 0 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 0  0 0 0  0 0 0
-+0 0 0  0 0 0  0 0 0
-+0 0 0  0 0 0  0 0 0  0 0 0  0 0 0  0 0 0
-+0 0 0  0 0 0  0 0 0  0 0 0  0 0 0  0 0 0
-+0 0 0  0 0 0  0 0 0  0 0 0  0 0 0  0 0 0
-+0 0 0  0 0 0  0 0 0  0 0 0  0 0 0  0 0 0
-+0 0 0  0 0 0  14 1 5  68 6 24  131 12 46  166 15 58
-+180 16 63  183 17 64  180 16 63  168 15 59  134 12 47  75 7 26
-+17 2 6  0 0 0  0 0 0  0 0 0  0 0 0  0 0 0
-+0 0 0  0 0 0  0 0 0  0 0 0  0 0 0  0 0 0
-+0 0 0  0 0 0  0 0 0  0 0 0  0 0 0  0 0 0
-+0 0 0  0 0 0  0 0 0  0 0 0  0 0 0  0 0 0
-+0 0 0  0 0 0  0 0 0
-+0 0 0  0 0 0  0 0 0  0 0 0  0 0 0  0 0 0
-+0 0 0  0 0 0  0 0 0  0 0 0  0 0 0  0 0 0
-+0 0 0  0 0 0  0 0 0  0 0 0  0 0 0  0 0 0
-+0 0 0  0 0 0  0 0 0  0 0 0  0 0 0  0 0 0
-+0 0 0  0 0 0  0 0 0  0 0 0  5 0 2  24 2 8
-+44 4 15  52 5 18  45 4 16  26 2 9  6 1 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 0 0  0 0 0
-+0 0 0  0 0 0  0 0 0  0 0 0  0 0 0  0 0 0
-+0 0 0  0 0 0  0 0 0
-+0 0 0  0 0 0  0 0 0  0 0 0  0 0 0  0 0 0
-+0 0 0  0 0 0  0 0 0  0 0 0  0 0 0  0 0 0
-+0 0 0  0 0 0  0 0 0  0 0 0  0 0 0  0 0 0
-+0 0 0  0 0 0  0 0 0  0 0 0  0 0 0  0 0 0
-+0 0 0  0 0 0  0 0 0  0 0 0  0 0 0  0 0 0
-+0 0 0  0 0 0  0 0 0  0 0 0  0 0 0  0 0 0
-+0 0 0  0 0 0  0 0 0  0 0 0  0 0 0  0 0 0
-+0 0 0  0 0 0  0 0 0  0 0 0  0 0 0  0 0 0
-+0 0 0  0 0 0  0 0 0  0 0 0  0 0 0  0 0 0
-+0 0 0  0 0 0  0 0 0  0 0 0  0 0 0  0 0 0
-+0 0 0  0 0 0  0 0 0
-+0 0 0  0 0 0  0 0 0  0 0 0  0 0 0  0 0 0
-+0 0 0  0 0 0  0 0 0  0 0 0  0 0 0  0 0 0
-+0 0 0  0 0 0  0 0 0  0 0 0  0 0 0  0 0 0
-+0 0 0  0 0 0  0 0 0  0 0 0  0 0 0  0 0 0
-+0 0 0  0 0 0  0 0 0  0 0 0  0 0 0  0 0 0
-+0 0 0  0 0 0  0 0 0  0 0 0  0 0 0  0 0 0
-+0 0 0  0 0 0  0 0 0  0 0 0  0 0 0  0 0 0
-+0 0 0  0 0 0  0 0 0  0 0 0  0 0 0  0 0 0
-+0 0 0  0 0 0  0 0 0  0 0 0  0 0 0  0 0 0
-+0 0 0  0 0 0  0 0 0  0 0 0  0 0 0  0 0 0
-+0 0 0  0 0 0  0 0 0