Include libcharset into both the Timber and Halibut checkouts.
authorsimon <simon@cda61777-01e9-0310-a592-d414129be87e>
Sat, 17 Apr 2004 08:04:45 +0000 (08:04 +0000)
committersimon <simon@cda61777-01e9-0310-a592-d414129be87e>
Sat, 17 Apr 2004 08:04:45 +0000 (08:04 +0000)
Unfortunately this means people will have to do `cvs co' again to
get this update, but that appears to be the price I pay for being
able to conveniently share a single source base in this way.

git-svn-id: svn://svn.tartarus.org/sgt/charset@4086 cda61777-01e9-0310-a592-d414129be87e

33 files changed:
.cvsignore [new file with mode: 0644]
Makefile [new file with mode: 0644]
README [new file with mode: 0644]
big5enc.c [new file with mode: 0644]
big5set.c [new file with mode: 0644]
charset.h [new file with mode: 0644]
cp949.c [new file with mode: 0644]
enum.c [new file with mode: 0644]
euc.c [new file with mode: 0644]
fromucs.c [new file with mode: 0644]
gb2312.c [new file with mode: 0644]
hz.c [new file with mode: 0644]
internal.h [new file with mode: 0644]
iso2022s.c [new file with mode: 0644]
istate.c [new file with mode: 0644]
jisx0208.c [new file with mode: 0644]
jisx0212.c [new file with mode: 0644]
ksx1001.c [new file with mode: 0644]
localenc.c [new file with mode: 0644]
macenc.c [new file with mode: 0644]
mimeenc.c [new file with mode: 0644]
sbcs.c [new file with mode: 0644]
sbcs.dat [new file with mode: 0644]
sbcsgen.pl [new file with mode: 0644]
shiftjis.c [new file with mode: 0644]
slookup.c [new file with mode: 0644]
superset.c [new file with mode: 0644]
test.c [new file with mode: 0644]
toucs.c [new file with mode: 0644]
utf16.c [new file with mode: 0644]
utf7.c [new file with mode: 0644]
utf8.c [new file with mode: 0644]
xenc.c [new file with mode: 0644]

diff --git a/.cvsignore b/.cvsignore
new file mode 100644 (file)
index 0000000..49a3741
--- /dev/null
@@ -0,0 +1 @@
+sbcsdat.c test
diff --git a/Makefile b/Makefile
new file mode 100644 (file)
index 0000000..0099d56
--- /dev/null
+++ b/Makefile
@@ -0,0 +1,188 @@
+# -*- make -*-
+#
+# Makefile for libcharset.
+
+# This Makefile should be sufficient to build libcharset and its
+# demo application all on its own. However, it's also a valid
+# Makefile _fragment_ which can be linked in to another program
+# Makefile to allow libcharset to be built directly into its
+# binary.
+
+# To include this as part of another Makefile, you need to:
+#
+#  - Define $(LIBCHARSET_SRCDIR) to be a directory prefix (i.e.
+#    probably ending in a slash) which allows access to the
+#    libcharset source files.
+#
+#  - Define $(LIBCHARSET_OBJDIR) to be a directory prefix (i.e.
+#    probably ending in a slash) which allows access to the
+#    directory where the libcharset object files need to be put.
+#
+#  - Define $(LIBCHARSET_OBJPFX) to be a filename prefix to be
+#    applied to the libcharset object files (in case, for example,
+#    the file names clash with those of the main application, and
+#    you need to call them cs-*.o to resolve the clash).
+#
+#  - Define $(LIBCHARSET_GENPFX) to be a prefix to be added to
+#    targets such as `all' and `clean'. (Mostly the point of this
+#    is to get those targets out of the way for the Makefile
+#    fragment including us.)
+#
+# This Makefile fragment will then define rules for building each
+# object file, and will in turn define $(LIBCHARSET_OBJS) to be
+# what you need to add to your link line.
+
+$(LIBCHARSET_GENPFX)all: \
+       $(LIBCHARSET_OBJDIR)libcharset.a \
+       $(LIBCHARSET_OBJDIR)convcs
+
+$(LIBCHARSET_OBJDIR)convcs: $(LIBCHARSET_OBJDIR)libcharset.a
+       $(CC) $(CFLAGS) -o $(LIBCHARSET_OBJDIR)convcs \
+               $(LIBCHARSET_SRCDIR)test.c \
+               $(LIBCHARSET_OBJDIR)libcharset.a
+
+LIBCHARSET_OBJS = \
+       $(LIBCHARSET_OBJDIR)$(LIBCHARSET_OBJPFX)big5enc.o \
+       $(LIBCHARSET_OBJDIR)$(LIBCHARSET_OBJPFX)big5set.o \
+       $(LIBCHARSET_OBJDIR)$(LIBCHARSET_OBJPFX)cp949.o \
+       $(LIBCHARSET_OBJDIR)$(LIBCHARSET_OBJPFX)euc.o \
+       $(LIBCHARSET_OBJDIR)$(LIBCHARSET_OBJPFX)fromucs.o \
+       $(LIBCHARSET_OBJDIR)$(LIBCHARSET_OBJPFX)gb2312.o \
+       $(LIBCHARSET_OBJDIR)$(LIBCHARSET_OBJPFX)hz.o \
+       $(LIBCHARSET_OBJDIR)$(LIBCHARSET_OBJPFX)iso2022s.o \
+       $(LIBCHARSET_OBJDIR)$(LIBCHARSET_OBJPFX)istate.o \
+       $(LIBCHARSET_OBJDIR)$(LIBCHARSET_OBJPFX)jisx0208.o \
+       $(LIBCHARSET_OBJDIR)$(LIBCHARSET_OBJPFX)jisx0212.o \
+       $(LIBCHARSET_OBJDIR)$(LIBCHARSET_OBJPFX)ksx1001.o \
+       $(LIBCHARSET_OBJDIR)$(LIBCHARSET_OBJPFX)localenc.o \
+       $(LIBCHARSET_OBJDIR)$(LIBCHARSET_OBJPFX)macenc.o \
+       $(LIBCHARSET_OBJDIR)$(LIBCHARSET_OBJPFX)mimeenc.o \
+       $(LIBCHARSET_OBJDIR)$(LIBCHARSET_OBJPFX)sbcs.o \
+       $(LIBCHARSET_OBJDIR)$(LIBCHARSET_OBJPFX)sbcsdat.o \
+       $(LIBCHARSET_OBJDIR)$(LIBCHARSET_OBJPFX)shiftjis.o \
+       $(LIBCHARSET_OBJDIR)$(LIBCHARSET_OBJPFX)slookup.o \
+       $(LIBCHARSET_OBJDIR)$(LIBCHARSET_OBJPFX)superset.o \
+       $(LIBCHARSET_OBJDIR)$(LIBCHARSET_OBJPFX)toucs.o \
+       $(LIBCHARSET_OBJDIR)$(LIBCHARSET_OBJPFX)utf16.o \
+       $(LIBCHARSET_OBJDIR)$(LIBCHARSET_OBJPFX)utf7.o \
+       $(LIBCHARSET_OBJDIR)$(LIBCHARSET_OBJPFX)utf8.o \
+       $(LIBCHARSET_OBJDIR)$(LIBCHARSET_OBJPFX)xenc.o \
+       # end of list
+
+$(LIBCHARSET_OBJDIR)libcharset.a: $(LIBCHARSET_OBJS)
+       ar rcs $@ $(LIBCHARSET_OBJS)
+
+$(LIBCHARSET_OBJDIR)$(LIBCHARSET_OBJPFX)big5enc.o: \
+       $(LIBCHARSET_SRCDIR)big5enc.c
+       $(CC) $(CFLAGS) -c -o $@ $<
+
+$(LIBCHARSET_OBJDIR)$(LIBCHARSET_OBJPFX)big5set.o: \
+       $(LIBCHARSET_SRCDIR)big5set.c
+       $(CC) $(CFLAGS) -c -o $@ $<
+
+$(LIBCHARSET_OBJDIR)$(LIBCHARSET_OBJPFX)cp949.o: \
+       $(LIBCHARSET_SRCDIR)cp949.c
+       $(CC) $(CFLAGS) -c -o $@ $<
+
+$(LIBCHARSET_OBJDIR)$(LIBCHARSET_OBJPFX)euc.o: \
+       $(LIBCHARSET_SRCDIR)euc.c
+       $(CC) $(CFLAGS) -c -o $@ $<
+
+$(LIBCHARSET_OBJDIR)$(LIBCHARSET_OBJPFX)fromucs.o: \
+       $(LIBCHARSET_SRCDIR)fromucs.c
+       $(CC) $(CFLAGS) -c -o $@ $<
+
+$(LIBCHARSET_OBJDIR)$(LIBCHARSET_OBJPFX)gb2312.o: \
+       $(LIBCHARSET_SRCDIR)gb2312.c
+       $(CC) $(CFLAGS) -c -o $@ $<
+
+$(LIBCHARSET_OBJDIR)$(LIBCHARSET_OBJPFX)hz.o: \
+       $(LIBCHARSET_SRCDIR)hz.c
+       $(CC) $(CFLAGS) -c -o $@ $<
+
+$(LIBCHARSET_OBJDIR)$(LIBCHARSET_OBJPFX)iso2022s.o: \
+       $(LIBCHARSET_SRCDIR)iso2022s.c
+       $(CC) $(CFLAGS) -c -o $@ $<
+
+$(LIBCHARSET_OBJDIR)$(LIBCHARSET_OBJPFX)istate.o: \
+       $(LIBCHARSET_SRCDIR)istate.c
+       $(CC) $(CFLAGS) -c -o $@ $<
+
+$(LIBCHARSET_OBJDIR)$(LIBCHARSET_OBJPFX)jisx0208.o: \
+       $(LIBCHARSET_SRCDIR)jisx0208.c
+       $(CC) $(CFLAGS) -c -o $@ $<
+
+$(LIBCHARSET_OBJDIR)$(LIBCHARSET_OBJPFX)jisx0212.o: \
+       $(LIBCHARSET_SRCDIR)jisx0212.c
+       $(CC) $(CFLAGS) -c -o $@ $<
+
+$(LIBCHARSET_OBJDIR)$(LIBCHARSET_OBJPFX)ksx1001.o: \
+       $(LIBCHARSET_SRCDIR)ksx1001.c
+       $(CC) $(CFLAGS) -c -o $@ $<
+
+$(LIBCHARSET_OBJDIR)$(LIBCHARSET_OBJPFX)localenc.o: \
+       $(LIBCHARSET_SRCDIR)localenc.c
+       $(CC) $(CFLAGS) -c -o $@ $<
+
+$(LIBCHARSET_OBJDIR)$(LIBCHARSET_OBJPFX)macenc.o: \
+       $(LIBCHARSET_SRCDIR)macenc.c
+       $(CC) $(CFLAGS) -c -o $@ $<
+
+$(LIBCHARSET_OBJDIR)$(LIBCHARSET_OBJPFX)mimeenc.o: \
+       $(LIBCHARSET_SRCDIR)mimeenc.c
+       $(CC) $(CFLAGS) -c -o $@ $<
+
+$(LIBCHARSET_OBJDIR)$(LIBCHARSET_OBJPFX)sbcs.o: \
+       $(LIBCHARSET_SRCDIR)sbcs.c
+       $(CC) $(CFLAGS) -c -o $@ $<
+
+$(LIBCHARSET_OBJDIR)$(LIBCHARSET_OBJPFX)shiftjis.o: \
+       $(LIBCHARSET_SRCDIR)shiftjis.c
+       $(CC) $(CFLAGS) -c -o $@ $<
+
+$(LIBCHARSET_OBJDIR)$(LIBCHARSET_OBJPFX)slookup.o: \
+       $(LIBCHARSET_SRCDIR)slookup.c
+       $(CC) $(CFLAGS) -c -o $@ $<
+
+$(LIBCHARSET_OBJDIR)$(LIBCHARSET_OBJPFX)superset.o: \
+       $(LIBCHARSET_SRCDIR)superset.c
+       $(CC) $(CFLAGS) -c -o $@ $<
+
+$(LIBCHARSET_OBJDIR)$(LIBCHARSET_OBJPFX)toucs.o: \
+       $(LIBCHARSET_SRCDIR)toucs.c
+       $(CC) $(CFLAGS) -c -o $@ $<
+
+$(LIBCHARSET_OBJDIR)$(LIBCHARSET_OBJPFX)utf16.o: \
+       $(LIBCHARSET_SRCDIR)utf16.c
+       $(CC) $(CFLAGS) -c -o $@ $<
+
+$(LIBCHARSET_OBJDIR)$(LIBCHARSET_OBJPFX)utf7.o: \
+       $(LIBCHARSET_SRCDIR)utf7.c
+       $(CC) $(CFLAGS) -c -o $@ $<
+
+$(LIBCHARSET_OBJDIR)$(LIBCHARSET_OBJPFX)utf8.o: \
+       $(LIBCHARSET_SRCDIR)utf8.c
+       $(CC) $(CFLAGS) -c -o $@ $<
+
+$(LIBCHARSET_OBJDIR)$(LIBCHARSET_OBJPFX)xenc.o: \
+       $(LIBCHARSET_SRCDIR)xenc.c
+       $(CC) $(CFLAGS) -c -o $@ $<
+
+# This object file is special, because its source file is itself
+# generated - and therefore goes in the object directory.
+
+$(LIBCHARSET_OBJDIR)$(LIBCHARSET_OBJPFX)sbcsdat.o: \
+       $(LIBCHARSET_OBJDIR)sbcsdat.c
+       $(CC) $(CFLAGS) -c -o $@ $<
+
+$(LIBCHARSET_OBJDIR)sbcsdat.c: \
+       $(LIBCHARSET_SRCDIR)sbcs.dat \
+       $(LIBCHARSET_SRCDIR)sbcsgen.pl
+       perl $(LIBCHARSET_SRCDIR)sbcsgen.pl \
+               $(LIBCHARSET_SRCDIR)sbcs.dat $@
+
+$(LIBCHARSET_GENPFX)clean:
+       rm -f $(LIBCHARSET_OBJDIR)$(LIBCHARSET_OBJPFX)*.o \
+               $(LIBCHARSET_OBJDIR)libcharset.a \
+               $(LIBCHARSET_OBJDIR)sbcsdat.c \
+               $(LIBCHARSET_OBJDIR)convcs
diff --git a/README b/README
new file mode 100644 (file)
index 0000000..bcfb27f
--- /dev/null
+++ b/README
@@ -0,0 +1,38 @@
+This subdirectory contains a general character-set conversion
+library, used in Timber, and available for use in other software if
+it should happen to be useful.
+
+I intend to use this same library in other programs at some future
+date. (A cut-down version of it is already in use in some ports of
+PuTTY.) It is therefore a _strong_ design goal that this library
+should remain perfectly general, and not tied to particulars of
+Timber. It must not reference any code outside its own subdirectory;
+it should not have Timber-specific helper routines added to it
+unless they can be documented in a general manner which might make
+them useful in other circumstances as well.
+
+There are some multibyte character encodings which this library does
+not currently support. Those that I know of are:
+
+ - Johab. There is no reason why we _shouldn't_ support this, but it
+   wasn't immediately necessary at the time I did the initial
+   coding. If anyone needs it, it shouldn't be too hard. The Unicode
+   mapping table for the encoding is available at
+   http://www.unicode.org/Public/MAPPINGS/OBSOLETE/EASTASIA/KSC/JOHAB.TXT
+
+ - ISO-2022-JP-1 (RFC 2237), and ISO-2022-JP-2 (RFC 1554). These
+   should be even easier if required - we already have the ISO 2022
+   machinery in place, and support all the underlying character
+   sets.
+
+ - ISO-2022-CN and ISO-2022-CN-EXT (RFC 1922), and EUC-TW. These
+   encodings depend on the CNS 11643-1992 character set. Mapping
+   table data for this set is available from unicode.org, but only
+   in the Unihan database
+   ftp://ftp.unicode.org/Public/UNIDATA/Unihan.zip
+
+ - The Hong Kong (HKSCS) extension to Big5. Again, mapping tables
+   are available in the Unihan database.
+
+ - Other Big Five extensions, which I don't have mapping tables for
+   at all.
diff --git a/big5enc.c b/big5enc.c
new file mode 100644 (file)
index 0000000..d3e48ff
--- /dev/null
+++ b/big5enc.c
@@ -0,0 +1,93 @@
+/*
+ * big5enc.c - multibyte encoding of Big5
+ */
+
+#ifndef ENUM_CHARSETS
+
+#include "charset.h"
+#include "internal.h"
+
+/*
+ * Big5 has no associated data, so `charset' may be ignored.
+ */
+
+static void read_big5(charset_spec const *charset, long int input_chr,
+                     charset_state *state,
+                     void (*emit)(void *ctx, long int output), void *emitctx)
+{
+    UNUSEDARG(charset);
+
+    /*
+     * For reading Big5, state->s0 simply contains the single
+     * stored lead byte when we are half way through a double-byte
+     * character, or 0 if we aren't.
+     */
+
+    if (state->s0 == 0) {
+       if (input_chr >= 0xA1 && input_chr <= 0xFE) {
+           /*
+            * Lead byte. Just store it.
+            */
+           state->s0 = input_chr;
+       } else {
+           /*
+            * Anything else we pass straight through unchanged.
+            */
+           emit(emitctx, input_chr);
+       }
+    } else {
+       /*
+        * We have a stored lead byte. We expect a valid followup
+        * byte.
+        */
+       if ((input_chr >= 0x40 && input_chr <= 0x7E) ||
+           (input_chr >= 0xA1 && input_chr <= 0xFE)) {
+           emit(emitctx, big5_to_unicode(state->s0 - 0xA1, input_chr - 0x40));
+       } else {
+           emit(emitctx, ERROR);
+       }
+       state->s0 = 0;
+    }
+}
+
+/*
+ * Big5 is a stateless multi-byte encoding (in the sense that just
+ * after any character has been completed, the state is always the
+ * same); hence when writing it, there is no need to use the
+ * charset_state.
+ */
+
+static int write_big5(charset_spec const *charset, long int input_chr,
+                     charset_state *state,
+                     void (*emit)(void *ctx, long int output), void *emitctx)
+{
+    UNUSEDARG(charset);
+    UNUSEDARG(state);
+
+    if (input_chr == -1)
+       return TRUE;                   /* stateless; no cleanup required */
+
+    if (input_chr < 0x80) {
+       emit(emitctx, input_chr);
+       return TRUE;
+    } else {
+       int r, c;
+       if (unicode_to_big5(input_chr, &r, &c)) {
+           emit(emitctx, r + 0xA1);
+           emit(emitctx, c + 0x40);
+           return TRUE;
+       } else {
+           return FALSE;
+       }
+    }
+}
+
+const charset_spec charset_CS_BIG5 = {
+    CS_BIG5, read_big5, write_big5, NULL
+};
+
+#else /* ENUM_CHARSETS */
+
+ENUM_CHARSET(CS_BIG5)
+
+#endif /* ENUM_CHARSETS */
diff --git a/big5set.c b/big5set.c
new file mode 100644 (file)
index 0000000..f654330
--- /dev/null
+++ b/big5set.c
@@ -0,0 +1,4045 @@
+/*
+ * Big5 implementation for libcharset. (This is the character set
+ * itself, not any particular multibyte encoding of it. Multibyte
+ * encodings of this character set are handled separately.)
+ */
+
+#include <assert.h>
+
+#include "charset.h"
+#include "internal.h"
+
+/*
+ * These tables are generated from the Big5 <-> Unicode character
+ * mapping found at
+ * 
+ * http://www.unicode.org/Public/MAPPINGS/OBSOLETE/EASTASIA/OTHER/BIG5.TXT
+ * 
+ * In the few cases where Big5 contains two characters whose
+ * Unicode equivalents are the same, we map both to those
+ * characters.
+ */
+
+/*
+ * Mapping from Big5 to Unicode. For these purposes Big5 is
+ * considered to be a 94x191 square array, with coordinates running
+ * from (0,0) to (93,190). (In the multibyte encoding those
+ * coordinates are offset by 0xA1 and 0x40 respectively, so they
+ * run from (A1,40) to (FE,FE).)
+ * 
+ * Generated by running the following sh+Perl over BIG5.TXT:
+
+cat BIG5.TXT | \
+sed -e $'s/^\\(0xA15A\t\\)0xFFFD/\\10xFF3F/' \
+    -e $'s/^\\(0xA1FE\t\\)0xFFFD/\\10x2571/' \
+    -e $'s/^\\(0xA240\t\\)0xFFFD/\\10x2572/' \
+    -e $'s/^\\(0xA2CC\t\\)0xFFFD/\\10x5341/' \
+    -e $'s/^\\(0xA2CE\t\\)0xFFFD/\\10x5345/' \
+    -e '/^0xA1C3/d' -e '/^0xA1C5/d' | \
+perl -ne '$a{hex$1,hex$2}=$3 if /^0x(\S\S)(\S\S)\s+(0x\S+)\s/;' \
+      -e 'END {for $r (0..93) { $o="    {"; for $c (0..190) {' \
+      -e '$k=$a{$r+161,$c+64}; $k=" ERROR" unless defined $k;' \
+      -e '$o .= ", " if $c > 0; (print "$o\n"), $o="    " if length $o > 70;' \
+      -e '$o .= $k; } print "$o},\n"; }}'
+
+ */
+
+static const unsigned short big5_forward[94][191] = {
+    {0x3000, 0xFF0C, 0x3001, 0x3002, 0xFF0E, 0x2022, 0xFF1B, 0xFF1A, 0xFF1F, 
+    0xFF01, 0xFE30, 0x2026, 0x2025, 0xFE50, 0xFF64, 0xFE52, 0x00B7, 0xFE54, 
+    0xFE55, 0xFE56, 0xFE57, 0xFF5C, 0x2013, 0xFE31, 0x2014, 0xFE33, 0xFF3F, 
+    0xFE34, 0xFE4F, 0xFF08, 0xFF09, 0xFE35, 0xFE36, 0xFF5B, 0xFF5D, 0xFE37, 
+    0xFE38, 0x3014, 0x3015, 0xFE39, 0xFE3A, 0x3010, 0x3011, 0xFE3B, 0xFE3C, 
+    0x300A, 0x300B, 0xFE3D, 0xFE3E, 0x3008, 0x3009, 0xFE3F, 0xFE40, 0x300C, 
+    0x300D, 0xFE41, 0xFE42, 0x300E, 0x300F, 0xFE43, 0xFE44, 0xFE59, 0xFE5A, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 0xFE5B, 0xFE5C, 
+    0xFE5D, 0xFE5E, 0x2018, 0x2019, 0x201C, 0x201D, 0x301D, 0x301E, 0x2035, 
+    0x2032, 0xFF03, 0xFF06, 0xFF0A, 0x203B, 0x00A7, 0x3003, 0x25CB, 0x25CF, 
+    0x25B3, 0x25B2, 0x25CE, 0x2606, 0x2605, 0x25C7, 0x25C6, 0x25A1, 0x25A0, 
+    0x25BD, 0x25BC, 0x32A3, 0x2105, 0x203E,  ERROR, 0xFF3F,  ERROR, 0xFE49, 
+    0xFE4A, 0xFE4D, 0xFE4E, 0xFE4B, 0xFE4C, 0xFE5F, 0xFE60, 0xFE61, 0xFF0B, 
+    0xFF0D, 0x00D7, 0x00F7, 0x00B1, 0x221A, 0xFF1C, 0xFF1E, 0xFF1D, 0x2266, 
+    0x2267, 0x2260, 0x221E, 0x2252, 0x2261, 0xFE62, 0xFE63, 0xFE64, 0xFE65, 
+    0xFE66, 0x223C, 0x2229, 0x222A, 0x22A5, 0x2220, 0x221F, 0x22BF, 0x33D2, 
+    0x33D1, 0x222B, 0x222E, 0x2235, 0x2234, 0x2640, 0x2642, 0x2641, 0x2609, 
+    0x2191, 0x2193, 0x2190, 0x2192, 0x2196, 0x2197, 0x2199, 0x2198, 0x2225, 
+    0x2223, 0x2571},
+    {0x2572, 0xFF0F, 0xFF3C, 0xFF04, 0x00A5, 0x3012, 0x00A2, 0x00A3, 0xFF05, 
+    0xFF20, 0x2103, 0x2109, 0xFE69, 0xFE6A, 0xFE6B, 0x33D5, 0x339C, 0x339D, 
+    0x339E, 0x33CE, 0x33A1, 0x338E, 0x338F, 0x33C4, 0x00B0, 0x5159, 0x515B, 
+    0x515E, 0x515D, 0x5161, 0x5163, 0x55E7, 0x74E9, 0x7CCE, 0x2581, 0x2582, 
+    0x2583, 0x2584, 0x2585, 0x2586, 0x2587, 0x2588, 0x258F, 0x258E, 0x258D, 
+    0x258C, 0x258B, 0x258A, 0x2589, 0x253C, 0x2534, 0x252C, 0x2524, 0x251C, 
+    0x2594, 0x2500, 0x2502, 0x2595, 0x250C, 0x2510, 0x2514, 0x2518, 0x256D, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 0x256E, 0x2570, 
+    0x256F, 0x2550, 0x255E, 0x256A, 0x2561, 0x25E2, 0x25E3, 0x25E5, 0x25E4, 
+    0x2571, 0x2572, 0x2573, 0xFF10, 0xFF11, 0xFF12, 0xFF13, 0xFF14, 0xFF15, 
+    0xFF16, 0xFF17, 0xFF18, 0xFF19, 0x2160, 0x2161, 0x2162, 0x2163, 0x2164, 
+    0x2165, 0x2166, 0x2167, 0x2168, 0x2169, 0x3021, 0x3022, 0x3023, 0x3024, 
+    0x3025, 0x3026, 0x3027, 0x3028, 0x3029, 0x5341, 0x5344, 0x5345, 0xFF21, 
+    0xFF22, 0xFF23, 0xFF24, 0xFF25, 0xFF26, 0xFF27, 0xFF28, 0xFF29, 0xFF2A, 
+    0xFF2B, 0xFF2C, 0xFF2D, 0xFF2E, 0xFF2F, 0xFF30, 0xFF31, 0xFF32, 0xFF33, 
+    0xFF34, 0xFF35, 0xFF36, 0xFF37, 0xFF38, 0xFF39, 0xFF3A, 0xFF41, 0xFF42, 
+    0xFF43, 0xFF44, 0xFF45, 0xFF46, 0xFF47, 0xFF48, 0xFF49, 0xFF4A, 0xFF4B, 
+    0xFF4C, 0xFF4D, 0xFF4E, 0xFF4F, 0xFF50, 0xFF51, 0xFF52, 0xFF53, 0xFF54, 
+    0xFF55, 0xFF56},
+    {0xFF57, 0xFF58, 0xFF59, 0xFF5A, 0x0391, 0x0392, 0x0393, 0x0394, 0x0395, 
+    0x0396, 0x0397, 0x0398, 0x0399, 0x039A, 0x039B, 0x039C, 0x039D, 0x039E, 
+    0x039F, 0x03A0, 0x03A1, 0x03A3, 0x03A4, 0x03A5, 0x03A6, 0x03A7, 0x03A8, 
+    0x03A9, 0x03B1, 0x03B2, 0x03B3, 0x03B4, 0x03B5, 0x03B6, 0x03B7, 0x03B8, 
+    0x03B9, 0x03BA, 0x03BB, 0x03BC, 0x03BD, 0x03BE, 0x03BF, 0x03C0, 0x03C1, 
+    0x03C3, 0x03C4, 0x03C5, 0x03C6, 0x03C7, 0x03C8, 0x03C9, 0x3105, 0x3106, 
+    0x3107, 0x3108, 0x3109, 0x310A, 0x310B, 0x310C, 0x310D, 0x310E, 0x310F, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 0x3110, 0x3111, 
+    0x3112, 0x3113, 0x3114, 0x3115, 0x3116, 0x3117, 0x3118, 0x3119, 0x311A, 
+    0x311B, 0x311C, 0x311D, 0x311E, 0x311F, 0x3120, 0x3121, 0x3122, 0x3123, 
+    0x3124, 0x3125, 0x3126, 0x3127, 0x3128, 0x3129, 0x02D9, 0x02C9, 0x02CA, 
+    0x02C7, 0x02CB,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR},
+    {0x4E00, 0x4E59, 0x4E01, 0x4E03, 0x4E43, 0x4E5D, 0x4E86, 0x4E8C, 0x4EBA, 
+    0x513F, 0x5165, 0x516B, 0x51E0, 0x5200, 0x5201, 0x529B, 0x5315, 0x5341, 
+    0x535C, 0x53C8, 0x4E09, 0x4E0B, 0x4E08, 0x4E0A, 0x4E2B, 0x4E38, 0x51E1, 
+    0x4E45, 0x4E48, 0x4E5F, 0x4E5E, 0x4E8E, 0x4EA1, 0x5140, 0x5203, 0x52FA, 
+    0x5343, 0x53C9, 0x53E3, 0x571F, 0x58EB, 0x5915, 0x5927, 0x5973, 0x5B50, 
+    0x5B51, 0x5B53, 0x5BF8, 0x5C0F, 0x5C22, 0x5C38, 0x5C71, 0x5DDD, 0x5DE5, 
+    0x5DF1, 0x5DF2, 0x5DF3, 0x5DFE, 0x5E72, 0x5EFE, 0x5F0B, 0x5F13, 0x624D, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 0x4E11, 0x4E10, 
+    0x4E0D, 0x4E2D, 0x4E30, 0x4E39, 0x4E4B, 0x5C39, 0x4E88, 0x4E91, 0x4E95, 
+    0x4E92, 0x4E94, 0x4EA2, 0x4EC1, 0x4EC0, 0x4EC3, 0x4EC6, 0x4EC7, 0x4ECD, 
+    0x4ECA, 0x4ECB, 0x4EC4, 0x5143, 0x5141, 0x5167, 0x516D, 0x516E, 0x516C, 
+    0x5197, 0x51F6, 0x5206, 0x5207, 0x5208, 0x52FB, 0x52FE, 0x52FF, 0x5316, 
+    0x5339, 0x5348, 0x5347, 0x5345, 0x535E, 0x5384, 0x53CB, 0x53CA, 0x53CD, 
+    0x58EC, 0x5929, 0x592B, 0x592A, 0x592D, 0x5B54, 0x5C11, 0x5C24, 0x5C3A, 
+    0x5C6F, 0x5DF4, 0x5E7B, 0x5EFF, 0x5F14, 0x5F15, 0x5FC3, 0x6208, 0x6236, 
+    0x624B, 0x624E, 0x652F, 0x6587, 0x6597, 0x65A4, 0x65B9, 0x65E5, 0x66F0, 
+    0x6708, 0x6728, 0x6B20, 0x6B62, 0x6B79, 0x6BCB, 0x6BD4, 0x6BDB, 0x6C0F, 
+    0x6C34, 0x706B, 0x722A, 0x7236, 0x723B, 0x7247, 0x7259, 0x725B, 0x72AC, 
+    0x738B, 0x4E19},
+    {0x4E16, 0x4E15, 0x4E14, 0x4E18, 0x4E3B, 0x4E4D, 0x4E4F, 0x4E4E, 0x4EE5, 
+    0x4ED8, 0x4ED4, 0x4ED5, 0x4ED6, 0x4ED7, 0x4EE3, 0x4EE4, 0x4ED9, 0x4EDE, 
+    0x5145, 0x5144, 0x5189, 0x518A, 0x51AC, 0x51F9, 0x51FA, 0x51F8, 0x520A, 
+    0x52A0, 0x529F, 0x5305, 0x5306, 0x5317, 0x531D, 0x4EDF, 0x534A, 0x5349, 
+    0x5361, 0x5360, 0x536F, 0x536E, 0x53BB, 0x53EF, 0x53E4, 0x53F3, 0x53EC, 
+    0x53EE, 0x53E9, 0x53E8, 0x53FC, 0x53F8, 0x53F5, 0x53EB, 0x53E6, 0x53EA, 
+    0x53F2, 0x53F1, 0x53F0, 0x53E5, 0x53ED, 0x53FB, 0x56DB, 0x56DA, 0x5916, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 0x592E, 0x5931, 
+    0x5974, 0x5976, 0x5B55, 0x5B83, 0x5C3C, 0x5DE8, 0x5DE7, 0x5DE6, 0x5E02, 
+    0x5E03, 0x5E73, 0x5E7C, 0x5F01, 0x5F18, 0x5F17, 0x5FC5, 0x620A, 0x6253, 
+    0x6254, 0x6252, 0x6251, 0x65A5, 0x65E6, 0x672E, 0x672C, 0x672A, 0x672B, 
+    0x672D, 0x6B63, 0x6BCD, 0x6C11, 0x6C10, 0x6C38, 0x6C41, 0x6C40, 0x6C3E, 
+    0x72AF, 0x7384, 0x7389, 0x74DC, 0x74E6, 0x7518, 0x751F, 0x7528, 0x7529, 
+    0x7530, 0x7531, 0x7532, 0x7533, 0x758B, 0x767D, 0x76AE, 0x76BF, 0x76EE, 
+    0x77DB, 0x77E2, 0x77F3, 0x793A, 0x79BE, 0x7A74, 0x7ACB, 0x4E1E, 0x4E1F, 
+    0x4E52, 0x4E53, 0x4E69, 0x4E99, 0x4EA4, 0x4EA6, 0x4EA5, 0x4EFF, 0x4F09, 
+    0x4F19, 0x4F0A, 0x4F15, 0x4F0D, 0x4F10, 0x4F11, 0x4F0F, 0x4EF2, 0x4EF6, 
+    0x4EFB, 0x4EF0, 0x4EF3, 0x4EFD, 0x4F01, 0x4F0B, 0x5149, 0x5147, 0x5146, 
+    0x5148, 0x5168},
+    {0x5171, 0x518D, 0x51B0, 0x5217, 0x5211, 0x5212, 0x520E, 0x5216, 0x52A3, 
+    0x5308, 0x5321, 0x5320, 0x5370, 0x5371, 0x5409, 0x540F, 0x540C, 0x540A, 
+    0x5410, 0x5401, 0x540B, 0x5404, 0x5411, 0x540D, 0x5408, 0x5403, 0x540E, 
+    0x5406, 0x5412, 0x56E0, 0x56DE, 0x56DD, 0x5733, 0x5730, 0x5728, 0x572D, 
+    0x572C, 0x572F, 0x5729, 0x5919, 0x591A, 0x5937, 0x5938, 0x5984, 0x5978, 
+    0x5983, 0x597D, 0x5979, 0x5982, 0x5981, 0x5B57, 0x5B58, 0x5B87, 0x5B88, 
+    0x5B85, 0x5B89, 0x5BFA, 0x5C16, 0x5C79, 0x5DDE, 0x5E06, 0x5E76, 0x5E74, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 0x5F0F, 0x5F1B, 
+    0x5FD9, 0x5FD6, 0x620E, 0x620C, 0x620D, 0x6210, 0x6263, 0x625B, 0x6258, 
+    0x6536, 0x65E9, 0x65E8, 0x65EC, 0x65ED, 0x66F2, 0x66F3, 0x6709, 0x673D, 
+    0x6734, 0x6731, 0x6735, 0x6B21, 0x6B64, 0x6B7B, 0x6C16, 0x6C5D, 0x6C57, 
+    0x6C59, 0x6C5F, 0x6C60, 0x6C50, 0x6C55, 0x6C61, 0x6C5B, 0x6C4D, 0x6C4E, 
+    0x7070, 0x725F, 0x725D, 0x767E, 0x7AF9, 0x7C73, 0x7CF8, 0x7F36, 0x7F8A, 
+    0x7FBD, 0x8001, 0x8003, 0x800C, 0x8012, 0x8033, 0x807F, 0x8089, 0x808B, 
+    0x808C, 0x81E3, 0x81EA, 0x81F3, 0x81FC, 0x820C, 0x821B, 0x821F, 0x826E, 
+    0x8272, 0x827E, 0x866B, 0x8840, 0x884C, 0x8863, 0x897F, 0x9621, 0x4E32, 
+    0x4EA8, 0x4F4D, 0x4F4F, 0x4F47, 0x4F57, 0x4F5E, 0x4F34, 0x4F5B, 0x4F55, 
+    0x4F30, 0x4F50, 0x4F51, 0x4F3D, 0x4F3A, 0x4F38, 0x4F43, 0x4F54, 0x4F3C, 
+    0x4F46, 0x4F63},
+    {0x4F5C, 0x4F60, 0x4F2F, 0x4F4E, 0x4F36, 0x4F59, 0x4F5D, 0x4F48, 0x4F5A, 
+    0x514C, 0x514B, 0x514D, 0x5175, 0x51B6, 0x51B7, 0x5225, 0x5224, 0x5229, 
+    0x522A, 0x5228, 0x52AB, 0x52A9, 0x52AA, 0x52AC, 0x5323, 0x5373, 0x5375, 
+    0x541D, 0x542D, 0x541E, 0x543E, 0x5426, 0x544E, 0x5427, 0x5446, 0x5443, 
+    0x5433, 0x5448, 0x5442, 0x541B, 0x5429, 0x544A, 0x5439, 0x543B, 0x5438, 
+    0x542E, 0x5435, 0x5436, 0x5420, 0x543C, 0x5440, 0x5431, 0x542B, 0x541F, 
+    0x542C, 0x56EA, 0x56F0, 0x56E4, 0x56EB, 0x574A, 0x5751, 0x5740, 0x574D, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 0x5747, 0x574E, 
+    0x573E, 0x5750, 0x574F, 0x573B, 0x58EF, 0x593E, 0x599D, 0x5992, 0x59A8, 
+    0x599E, 0x59A3, 0x5999, 0x5996, 0x598D, 0x59A4, 0x5993, 0x598A, 0x59A5, 
+    0x5B5D, 0x5B5C, 0x5B5A, 0x5B5B, 0x5B8C, 0x5B8B, 0x5B8F, 0x5C2C, 0x5C40, 
+    0x5C41, 0x5C3F, 0x5C3E, 0x5C90, 0x5C91, 0x5C94, 0x5C8C, 0x5DEB, 0x5E0C, 
+    0x5E8F, 0x5E87, 0x5E8A, 0x5EF7, 0x5F04, 0x5F1F, 0x5F64, 0x5F62, 0x5F77, 
+    0x5F79, 0x5FD8, 0x5FCC, 0x5FD7, 0x5FCD, 0x5FF1, 0x5FEB, 0x5FF8, 0x5FEA, 
+    0x6212, 0x6211, 0x6284, 0x6297, 0x6296, 0x6280, 0x6276, 0x6289, 0x626D, 
+    0x628A, 0x627C, 0x627E, 0x6279, 0x6273, 0x6292, 0x626F, 0x6298, 0x626E, 
+    0x6295, 0x6293, 0x6291, 0x6286, 0x6539, 0x653B, 0x6538, 0x65F1, 0x66F4, 
+    0x675F, 0x674E, 0x674F, 0x6750, 0x6751, 0x675C, 0x6756, 0x675E, 0x6749, 
+    0x6746, 0x6760},
+    {0x6753, 0x6757, 0x6B65, 0x6BCF, 0x6C42, 0x6C5E, 0x6C99, 0x6C81, 0x6C88, 
+    0x6C89, 0x6C85, 0x6C9B, 0x6C6A, 0x6C7A, 0x6C90, 0x6C70, 0x6C8C, 0x6C68, 
+    0x6C96, 0x6C92, 0x6C7D, 0x6C83, 0x6C72, 0x6C7E, 0x6C74, 0x6C86, 0x6C76, 
+    0x6C8D, 0x6C94, 0x6C98, 0x6C82, 0x7076, 0x707C, 0x707D, 0x7078, 0x7262, 
+    0x7261, 0x7260, 0x72C4, 0x72C2, 0x7396, 0x752C, 0x752B, 0x7537, 0x7538, 
+    0x7682, 0x76EF, 0x77E3, 0x79C1, 0x79C0, 0x79BF, 0x7A76, 0x7CFB, 0x7F55, 
+    0x8096, 0x8093, 0x809D, 0x8098, 0x809B, 0x809A, 0x80B2, 0x826F, 0x8292, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 0x828B, 0x828D, 
+    0x898B, 0x89D2, 0x8A00, 0x8C37, 0x8C46, 0x8C55, 0x8C9D, 0x8D64, 0x8D70, 
+    0x8DB3, 0x8EAB, 0x8ECA, 0x8F9B, 0x8FB0, 0x8FC2, 0x8FC6, 0x8FC5, 0x8FC4, 
+    0x5DE1, 0x9091, 0x90A2, 0x90AA, 0x90A6, 0x90A3, 0x9149, 0x91C6, 0x91CC, 
+    0x9632, 0x962E, 0x9631, 0x962A, 0x962C, 0x4E26, 0x4E56, 0x4E73, 0x4E8B, 
+    0x4E9B, 0x4E9E, 0x4EAB, 0x4EAC, 0x4F6F, 0x4F9D, 0x4F8D, 0x4F73, 0x4F7F, 
+    0x4F6C, 0x4F9B, 0x4F8B, 0x4F86, 0x4F83, 0x4F70, 0x4F75, 0x4F88, 0x4F69, 
+    0x4F7B, 0x4F96, 0x4F7E, 0x4F8F, 0x4F91, 0x4F7A, 0x5154, 0x5152, 0x5155, 
+    0x5169, 0x5177, 0x5176, 0x5178, 0x51BD, 0x51FD, 0x523B, 0x5238, 0x5237, 
+    0x523A, 0x5230, 0x522E, 0x5236, 0x5241, 0x52BE, 0x52BB, 0x5352, 0x5354, 
+    0x5353, 0x5351, 0x5366, 0x5377, 0x5378, 0x5379, 0x53D6, 0x53D4, 0x53D7, 
+    0x5473, 0x5475},
+    {0x5496, 0x5478, 0x5495, 0x5480, 0x547B, 0x5477, 0x5484, 0x5492, 0x5486, 
+    0x547C, 0x5490, 0x5471, 0x5476, 0x548C, 0x549A, 0x5462, 0x5468, 0x548B, 
+    0x547D, 0x548E, 0x56FA, 0x5783, 0x5777, 0x576A, 0x5769, 0x5761, 0x5766, 
+    0x5764, 0x577C, 0x591C, 0x5949, 0x5947, 0x5948, 0x5944, 0x5954, 0x59BE, 
+    0x59BB, 0x59D4, 0x59B9, 0x59AE, 0x59D1, 0x59C6, 0x59D0, 0x59CD, 0x59CB, 
+    0x59D3, 0x59CA, 0x59AF, 0x59B3, 0x59D2, 0x59C5, 0x5B5F, 0x5B64, 0x5B63, 
+    0x5B97, 0x5B9A, 0x5B98, 0x5B9C, 0x5B99, 0x5B9B, 0x5C1A, 0x5C48, 0x5C45, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 0x5C46, 0x5CB7, 
+    0x5CA1, 0x5CB8, 0x5CA9, 0x5CAB, 0x5CB1, 0x5CB3, 0x5E18, 0x5E1A, 0x5E16, 
+    0x5E15, 0x5E1B, 0x5E11, 0x5E78, 0x5E9A, 0x5E97, 0x5E9C, 0x5E95, 0x5E96, 
+    0x5EF6, 0x5F26, 0x5F27, 0x5F29, 0x5F80, 0x5F81, 0x5F7F, 0x5F7C, 0x5FDD, 
+    0x5FE0, 0x5FFD, 0x5FF5, 0x5FFF, 0x600F, 0x6014, 0x602F, 0x6035, 0x6016, 
+    0x602A, 0x6015, 0x6021, 0x6027, 0x6029, 0x602B, 0x601B, 0x6216, 0x6215, 
+    0x623F, 0x623E, 0x6240, 0x627F, 0x62C9, 0x62CC, 0x62C4, 0x62BF, 0x62C2, 
+    0x62B9, 0x62D2, 0x62DB, 0x62AB, 0x62D3, 0x62D4, 0x62CB, 0x62C8, 0x62A8, 
+    0x62BD, 0x62BC, 0x62D0, 0x62D9, 0x62C7, 0x62CD, 0x62B5, 0x62DA, 0x62B1, 
+    0x62D8, 0x62D6, 0x62D7, 0x62C6, 0x62AC, 0x62CE, 0x653E, 0x65A7, 0x65BC, 
+    0x65FA, 0x6614, 0x6613, 0x660C, 0x6606, 0x6602, 0x660E, 0x6600, 0x660F, 
+    0x6615, 0x660A},
+    {0x6607, 0x670D, 0x670B, 0x676D, 0x678B, 0x6795, 0x6771, 0x679C, 0x6773, 
+    0x6777, 0x6787, 0x679D, 0x6797, 0x676F, 0x6770, 0x677F, 0x6789, 0x677E, 
+    0x6790, 0x6775, 0x679A, 0x6793, 0x677C, 0x676A, 0x6772, 0x6B23, 0x6B66, 
+    0x6B67, 0x6B7F, 0x6C13, 0x6C1B, 0x6CE3, 0x6CE8, 0x6CF3, 0x6CB1, 0x6CCC, 
+    0x6CE5, 0x6CB3, 0x6CBD, 0x6CBE, 0x6CBC, 0x6CE2, 0x6CAB, 0x6CD5, 0x6CD3, 
+    0x6CB8, 0x6CC4, 0x6CB9, 0x6CC1, 0x6CAE, 0x6CD7, 0x6CC5, 0x6CF1, 0x6CBF, 
+    0x6CBB, 0x6CE1, 0x6CDB, 0x6CCA, 0x6CAC, 0x6CEF, 0x6CDC, 0x6CD6, 0x6CE0, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 0x7095, 0x708E, 
+    0x7092, 0x708A, 0x7099, 0x722C, 0x722D, 0x7238, 0x7248, 0x7267, 0x7269, 
+    0x72C0, 0x72CE, 0x72D9, 0x72D7, 0x72D0, 0x73A9, 0x73A8, 0x739F, 0x73AB, 
+    0x73A5, 0x753D, 0x759D, 0x7599, 0x759A, 0x7684, 0x76C2, 0x76F2, 0x76F4, 
+    0x77E5, 0x77FD, 0x793E, 0x7940, 0x7941, 0x79C9, 0x79C8, 0x7A7A, 0x7A79, 
+    0x7AFA, 0x7CFE, 0x7F54, 0x7F8C, 0x7F8B, 0x8005, 0x80BA, 0x80A5, 0x80A2, 
+    0x80B1, 0x80A1, 0x80AB, 0x80A9, 0x80B4, 0x80AA, 0x80AF, 0x81E5, 0x81FE, 
+    0x820D, 0x82B3, 0x829D, 0x8299, 0x82AD, 0x82BD, 0x829F, 0x82B9, 0x82B1, 
+    0x82AC, 0x82A5, 0x82AF, 0x82B8, 0x82A3, 0x82B0, 0x82BE, 0x82B7, 0x864E, 
+    0x8671, 0x521D, 0x8868, 0x8ECB, 0x8FCE, 0x8FD4, 0x8FD1, 0x90B5, 0x90B8, 
+    0x90B1, 0x90B6, 0x91C7, 0x91D1, 0x9577, 0x9580, 0x961C, 0x9640, 0x963F, 
+    0x963B, 0x9644},
+    {0x9642, 0x96B9, 0x96E8, 0x9752, 0x975E, 0x4E9F, 0x4EAD, 0x4EAE, 0x4FE1, 
+    0x4FB5, 0x4FAF, 0x4FBF, 0x4FE0, 0x4FD1, 0x4FCF, 0x4FDD, 0x4FC3, 0x4FB6, 
+    0x4FD8, 0x4FDF, 0x4FCA, 0x4FD7, 0x4FAE, 0x4FD0, 0x4FC4, 0x4FC2, 0x4FDA, 
+    0x4FCE, 0x4FDE, 0x4FB7, 0x5157, 0x5192, 0x5191, 0x51A0, 0x524E, 0x5243, 
+    0x524A, 0x524D, 0x524C, 0x524B, 0x5247, 0x52C7, 0x52C9, 0x52C3, 0x52C1, 
+    0x530D, 0x5357, 0x537B, 0x539A, 0x53DB, 0x54AC, 0x54C0, 0x54A8, 0x54CE, 
+    0x54C9, 0x54B8, 0x54A6, 0x54B3, 0x54C7, 0x54C2, 0x54BD, 0x54AA, 0x54C1, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 0x54C4, 0x54C8, 
+    0x54AF, 0x54AB, 0x54B1, 0x54BB, 0x54A9, 0x54A7, 0x54BF, 0x56FF, 0x5782, 
+    0x578B, 0x57A0, 0x57A3, 0x57A2, 0x57CE, 0x57AE, 0x5793, 0x5955, 0x5951, 
+    0x594F, 0x594E, 0x5950, 0x59DC, 0x59D8, 0x59FF, 0x59E3, 0x59E8, 0x5A03, 
+    0x59E5, 0x59EA, 0x59DA, 0x59E6, 0x5A01, 0x59FB, 0x5B69, 0x5BA3, 0x5BA6, 
+    0x5BA4, 0x5BA2, 0x5BA5, 0x5C01, 0x5C4E, 0x5C4F, 0x5C4D, 0x5C4B, 0x5CD9, 
+    0x5CD2, 0x5DF7, 0x5E1D, 0x5E25, 0x5E1F, 0x5E7D, 0x5EA0, 0x5EA6, 0x5EFA, 
+    0x5F08, 0x5F2D, 0x5F65, 0x5F88, 0x5F85, 0x5F8A, 0x5F8B, 0x5F87, 0x5F8C, 
+    0x5F89, 0x6012, 0x601D, 0x6020, 0x6025, 0x600E, 0x6028, 0x604D, 0x6070, 
+    0x6068, 0x6062, 0x6046, 0x6043, 0x606C, 0x606B, 0x606A, 0x6064, 0x6241, 
+    0x62DC, 0x6316, 0x6309, 0x62FC, 0x62ED, 0x6301, 0x62EE, 0x62FD, 0x6307, 
+    0x62F1, 0x62F7},
+    {0x62EF, 0x62EC, 0x62FE, 0x62F4, 0x6311, 0x6302, 0x653F, 0x6545, 0x65AB, 
+    0x65BD, 0x65E2, 0x6625, 0x662D, 0x6620, 0x6627, 0x662F, 0x661F, 0x6628, 
+    0x6631, 0x6624, 0x66F7, 0x67FF, 0x67D3, 0x67F1, 0x67D4, 0x67D0, 0x67EC, 
+    0x67B6, 0x67AF, 0x67F5, 0x67E9, 0x67EF, 0x67C4, 0x67D1, 0x67B4, 0x67DA, 
+    0x67E5, 0x67B8, 0x67CF, 0x67DE, 0x67F3, 0x67B0, 0x67D9, 0x67E2, 0x67DD, 
+    0x67D2, 0x6B6A, 0x6B83, 0x6B86, 0x6BB5, 0x6BD2, 0x6BD7, 0x6C1F, 0x6CC9, 
+    0x6D0B, 0x6D32, 0x6D2A, 0x6D41, 0x6D25, 0x6D0C, 0x6D31, 0x6D1E, 0x6D17, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 0x6D3B, 0x6D3D, 
+    0x6D3E, 0x6D36, 0x6D1B, 0x6CF5, 0x6D39, 0x6D27, 0x6D38, 0x6D29, 0x6D2E, 
+    0x6D35, 0x6D0E, 0x6D2B, 0x70AB, 0x70BA, 0x70B3, 0x70AC, 0x70AF, 0x70AD, 
+    0x70B8, 0x70AE, 0x70A4, 0x7230, 0x7272, 0x726F, 0x7274, 0x72E9, 0x72E0, 
+    0x72E1, 0x73B7, 0x73CA, 0x73BB, 0x73B2, 0x73CD, 0x73C0, 0x73B3, 0x751A, 
+    0x752D, 0x754F, 0x754C, 0x754E, 0x754B, 0x75AB, 0x75A4, 0x75A5, 0x75A2, 
+    0x75A3, 0x7678, 0x7686, 0x7687, 0x7688, 0x76C8, 0x76C6, 0x76C3, 0x76C5, 
+    0x7701, 0x76F9, 0x76F8, 0x7709, 0x770B, 0x76FE, 0x76FC, 0x7707, 0x77DC, 
+    0x7802, 0x7814, 0x780C, 0x780D, 0x7946, 0x7949, 0x7948, 0x7947, 0x79B9, 
+    0x79BA, 0x79D1, 0x79D2, 0x79CB, 0x7A7F, 0x7A81, 0x7AFF, 0x7AFD, 0x7C7D, 
+    0x7D02, 0x7D05, 0x7D00, 0x7D09, 0x7D07, 0x7D04, 0x7D06, 0x7F38, 0x7F8E, 
+    0x7FBF, 0x8004},
+    {0x8010, 0x800D, 0x8011, 0x8036, 0x80D6, 0x80E5, 0x80DA, 0x80C3, 0x80C4, 
+    0x80CC, 0x80E1, 0x80DB, 0x80CE, 0x80DE, 0x80E4, 0x80DD, 0x81F4, 0x8222, 
+    0x82E7, 0x8303, 0x8305, 0x82E3, 0x82DB, 0x82E6, 0x8304, 0x82E5, 0x8302, 
+    0x8309, 0x82D2, 0x82D7, 0x82F1, 0x8301, 0x82DC, 0x82D4, 0x82D1, 0x82DE, 
+    0x82D3, 0x82DF, 0x82EF, 0x8306, 0x8650, 0x8679, 0x867B, 0x867A, 0x884D, 
+    0x886B, 0x8981, 0x89D4, 0x8A08, 0x8A02, 0x8A03, 0x8C9E, 0x8CA0, 0x8D74, 
+    0x8D73, 0x8DB4, 0x8ECD, 0x8ECC, 0x8FF0, 0x8FE6, 0x8FE2, 0x8FEA, 0x8FE5, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 0x8FED, 0x8FEB, 
+    0x8FE4, 0x8FE8, 0x90CA, 0x90CE, 0x90C1, 0x90C3, 0x914B, 0x914A, 0x91CD, 
+    0x9582, 0x9650, 0x964B, 0x964C, 0x964D, 0x9762, 0x9769, 0x97CB, 0x97ED, 
+    0x97F3, 0x9801, 0x98A8, 0x98DB, 0x98DF, 0x9996, 0x9999, 0x4E58, 0x4EB3, 
+    0x500C, 0x500D, 0x5023, 0x4FEF, 0x5026, 0x5025, 0x4FF8, 0x5029, 0x5016, 
+    0x5006, 0x503C, 0x501F, 0x501A, 0x5012, 0x5011, 0x4FFA, 0x5000, 0x5014, 
+    0x5028, 0x4FF1, 0x5021, 0x500B, 0x5019, 0x5018, 0x4FF3, 0x4FEE, 0x502D, 
+    0x502A, 0x4FFE, 0x502B, 0x5009, 0x517C, 0x51A4, 0x51A5, 0x51A2, 0x51CD, 
+    0x51CC, 0x51C6, 0x51CB, 0x5256, 0x525C, 0x5254, 0x525B, 0x525D, 0x532A, 
+    0x537F, 0x539F, 0x539D, 0x53DF, 0x54E8, 0x5510, 0x5501, 0x5537, 0x54FC, 
+    0x54E5, 0x54F2, 0x5506, 0x54FA, 0x5514, 0x54E9, 0x54ED, 0x54E1, 0x5509, 
+    0x54EE, 0x54EA},
+    {0x54E6, 0x5527, 0x5507, 0x54FD, 0x550F, 0x5703, 0x5704, 0x57C2, 0x57D4, 
+    0x57CB, 0x57C3, 0x5809, 0x590F, 0x5957, 0x5958, 0x595A, 0x5A11, 0x5A18, 
+    0x5A1C, 0x5A1F, 0x5A1B, 0x5A13, 0x59EC, 0x5A20, 0x5A23, 0x5A29, 0x5A25, 
+    0x5A0C, 0x5A09, 0x5B6B, 0x5C58, 0x5BB0, 0x5BB3, 0x5BB6, 0x5BB4, 0x5BAE, 
+    0x5BB5, 0x5BB9, 0x5BB8, 0x5C04, 0x5C51, 0x5C55, 0x5C50, 0x5CED, 0x5CFD, 
+    0x5CFB, 0x5CEA, 0x5CE8, 0x5CF0, 0x5CF6, 0x5D01, 0x5CF4, 0x5DEE, 0x5E2D, 
+    0x5E2B, 0x5EAB, 0x5EAD, 0x5EA7, 0x5F31, 0x5F92, 0x5F91, 0x5F90, 0x6059, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 0x6063, 0x6065, 
+    0x6050, 0x6055, 0x606D, 0x6069, 0x606F, 0x6084, 0x609F, 0x609A, 0x608D, 
+    0x6094, 0x608C, 0x6085, 0x6096, 0x6247, 0x62F3, 0x6308, 0x62FF, 0x634E, 
+    0x633E, 0x632F, 0x6355, 0x6342, 0x6346, 0x634F, 0x6349, 0x633A, 0x6350, 
+    0x633D, 0x632A, 0x632B, 0x6328, 0x634D, 0x634C, 0x6548, 0x6549, 0x6599, 
+    0x65C1, 0x65C5, 0x6642, 0x6649, 0x664F, 0x6643, 0x6652, 0x664C, 0x6645, 
+    0x6641, 0x66F8, 0x6714, 0x6715, 0x6717, 0x6821, 0x6838, 0x6848, 0x6846, 
+    0x6853, 0x6839, 0x6842, 0x6854, 0x6829, 0x68B3, 0x6817, 0x684C, 0x6851, 
+    0x683D, 0x67F4, 0x6850, 0x6840, 0x683C, 0x6843, 0x682A, 0x6845, 0x6813, 
+    0x6818, 0x6841, 0x6B8A, 0x6B89, 0x6BB7, 0x6C23, 0x6C27, 0x6C28, 0x6C26, 
+    0x6C24, 0x6CF0, 0x6D6A, 0x6D95, 0x6D88, 0x6D87, 0x6D66, 0x6D78, 0x6D77, 
+    0x6D59, 0x6D93},
+    {0x6D6C, 0x6D89, 0x6D6E, 0x6D5A, 0x6D74, 0x6D69, 0x6D8C, 0x6D8A, 0x6D79, 
+    0x6D85, 0x6D65, 0x6D94, 0x70CA, 0x70D8, 0x70E4, 0x70D9, 0x70C8, 0x70CF, 
+    0x7239, 0x7279, 0x72FC, 0x72F9, 0x72FD, 0x72F8, 0x72F7, 0x7386, 0x73ED, 
+    0x7409, 0x73EE, 0x73E0, 0x73EA, 0x73DE, 0x7554, 0x755D, 0x755C, 0x755A, 
+    0x7559, 0x75BE, 0x75C5, 0x75C7, 0x75B2, 0x75B3, 0x75BD, 0x75BC, 0x75B9, 
+    0x75C2, 0x75B8, 0x768B, 0x76B0, 0x76CA, 0x76CD, 0x76CE, 0x7729, 0x771F, 
+    0x7720, 0x7728, 0x77E9, 0x7830, 0x7827, 0x7838, 0x781D, 0x7834, 0x7837, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 0x7825, 0x782D, 
+    0x7820, 0x781F, 0x7832, 0x7955, 0x7950, 0x7960, 0x795F, 0x7956, 0x795E, 
+    0x795D, 0x7957, 0x795A, 0x79E4, 0x79E3, 0x79E7, 0x79DF, 0x79E6, 0x79E9, 
+    0x79D8, 0x7A84, 0x7A88, 0x7AD9, 0x7B06, 0x7B11, 0x7C89, 0x7D21, 0x7D17, 
+    0x7D0B, 0x7D0A, 0x7D20, 0x7D22, 0x7D14, 0x7D10, 0x7D15, 0x7D1A, 0x7D1C, 
+    0x7D0D, 0x7D19, 0x7D1B, 0x7F3A, 0x7F5F, 0x7F94, 0x7FC5, 0x7FC1, 0x8006, 
+    0x8018, 0x8015, 0x8019, 0x8017, 0x803D, 0x803F, 0x80F1, 0x8102, 0x80F0, 
+    0x8105, 0x80ED, 0x80F4, 0x8106, 0x80F8, 0x80F3, 0x8108, 0x80FD, 0x810A, 
+    0x80FC, 0x80EF, 0x81ED, 0x81EC, 0x8200, 0x8210, 0x822A, 0x822B, 0x8228, 
+    0x822C, 0x82BB, 0x832B, 0x8352, 0x8354, 0x834A, 0x8338, 0x8350, 0x8349, 
+    0x8335, 0x8334, 0x834F, 0x8332, 0x8339, 0x8336, 0x8317, 0x8340, 0x8331, 
+    0x8328, 0x8343},
+    {0x8654, 0x868A, 0x86AA, 0x8693, 0x86A4, 0x86A9, 0x868C, 0x86A3, 0x869C, 
+    0x8870, 0x8877, 0x8881, 0x8882, 0x887D, 0x8879, 0x8A18, 0x8A10, 0x8A0E, 
+    0x8A0C, 0x8A15, 0x8A0A, 0x8A17, 0x8A13, 0x8A16, 0x8A0F, 0x8A11, 0x8C48, 
+    0x8C7A, 0x8C79, 0x8CA1, 0x8CA2, 0x8D77, 0x8EAC, 0x8ED2, 0x8ED4, 0x8ECF, 
+    0x8FB1, 0x9001, 0x9006, 0x8FF7, 0x9000, 0x8FFA, 0x8FF4, 0x9003, 0x8FFD, 
+    0x9005, 0x8FF8, 0x9095, 0x90E1, 0x90DD, 0x90E2, 0x9152, 0x914D, 0x914C, 
+    0x91D8, 0x91DD, 0x91D7, 0x91DC, 0x91D9, 0x9583, 0x9662, 0x9663, 0x9661, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 0x965B, 0x965D, 
+    0x9664, 0x9658, 0x965E, 0x96BB, 0x98E2, 0x99AC, 0x9AA8, 0x9AD8, 0x9B25, 
+    0x9B32, 0x9B3C, 0x4E7E, 0x507A, 0x507D, 0x505C, 0x5047, 0x5043, 0x504C, 
+    0x505A, 0x5049, 0x5065, 0x5076, 0x504E, 0x5055, 0x5075, 0x5074, 0x5077, 
+    0x504F, 0x500F, 0x506F, 0x506D, 0x515C, 0x5195, 0x51F0, 0x526A, 0x526F, 
+    0x52D2, 0x52D9, 0x52D8, 0x52D5, 0x5310, 0x530F, 0x5319, 0x533F, 0x5340, 
+    0x533E, 0x53C3, 0x66FC, 0x5546, 0x556A, 0x5566, 0x5544, 0x555E, 0x5561, 
+    0x5543, 0x554A, 0x5531, 0x5556, 0x554F, 0x5555, 0x552F, 0x5564, 0x5538, 
+    0x552E, 0x555C, 0x552C, 0x5563, 0x5533, 0x5541, 0x5557, 0x5708, 0x570B, 
+    0x5709, 0x57DF, 0x5805, 0x580A, 0x5806, 0x57E0, 0x57E4, 0x57FA, 0x5802, 
+    0x5835, 0x57F7, 0x57F9, 0x5920, 0x5962, 0x5A36, 0x5A41, 0x5A49, 0x5A66, 
+    0x5A6A, 0x5A40},
+    {0x5A3C, 0x5A62, 0x5A5A, 0x5A46, 0x5A4A, 0x5B70, 0x5BC7, 0x5BC5, 0x5BC4, 
+    0x5BC2, 0x5BBF, 0x5BC6, 0x5C09, 0x5C08, 0x5C07, 0x5C60, 0x5C5C, 0x5C5D, 
+    0x5D07, 0x5D06, 0x5D0E, 0x5D1B, 0x5D16, 0x5D22, 0x5D11, 0x5D29, 0x5D14, 
+    0x5D19, 0x5D24, 0x5D27, 0x5D17, 0x5DE2, 0x5E38, 0x5E36, 0x5E33, 0x5E37, 
+    0x5EB7, 0x5EB8, 0x5EB6, 0x5EB5, 0x5EBE, 0x5F35, 0x5F37, 0x5F57, 0x5F6C, 
+    0x5F69, 0x5F6B, 0x5F97, 0x5F99, 0x5F9E, 0x5F98, 0x5FA1, 0x5FA0, 0x5F9C, 
+    0x607F, 0x60A3, 0x6089, 0x60A0, 0x60A8, 0x60CB, 0x60B4, 0x60E6, 0x60BD, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 0x60C5, 0x60BB, 
+    0x60B5, 0x60DC, 0x60BC, 0x60D8, 0x60D5, 0x60C6, 0x60DF, 0x60B8, 0x60DA, 
+    0x60C7, 0x621A, 0x621B, 0x6248, 0x63A0, 0x63A7, 0x6372, 0x6396, 0x63A2, 
+    0x63A5, 0x6377, 0x6367, 0x6398, 0x63AA, 0x6371, 0x63A9, 0x6389, 0x6383, 
+    0x639B, 0x636B, 0x63A8, 0x6384, 0x6388, 0x6399, 0x63A1, 0x63AC, 0x6392, 
+    0x638F, 0x6380, 0x637B, 0x6369, 0x6368, 0x637A, 0x655D, 0x6556, 0x6551, 
+    0x6559, 0x6557, 0x555F, 0x654F, 0x6558, 0x6555, 0x6554, 0x659C, 0x659B, 
+    0x65AC, 0x65CF, 0x65CB, 0x65CC, 0x65CE, 0x665D, 0x665A, 0x6664, 0x6668, 
+    0x6666, 0x665E, 0x66F9, 0x52D7, 0x671B, 0x6881, 0x68AF, 0x68A2, 0x6893, 
+    0x68B5, 0x687F, 0x6876, 0x68B1, 0x68A7, 0x6897, 0x68B0, 0x6883, 0x68C4, 
+    0x68AD, 0x6886, 0x6885, 0x6894, 0x689D, 0x68A8, 0x689F, 0x68A1, 0x6882, 
+    0x6B32, 0x6BBA},
+    {0x6BEB, 0x6BEC, 0x6C2B, 0x6D8E, 0x6DBC, 0x6DF3, 0x6DD9, 0x6DB2, 0x6DE1, 
+    0x6DCC, 0x6DE4, 0x6DFB, 0x6DFA, 0x6E05, 0x6DC7, 0x6DCB, 0x6DAF, 0x6DD1, 
+    0x6DAE, 0x6DDE, 0x6DF9, 0x6DB8, 0x6DF7, 0x6DF5, 0x6DC5, 0x6DD2, 0x6E1A, 
+    0x6DB5, 0x6DDA, 0x6DEB, 0x6DD8, 0x6DEA, 0x6DF1, 0x6DEE, 0x6DE8, 0x6DC6, 
+    0x6DC4, 0x6DAA, 0x6DEC, 0x6DBF, 0x6DE6, 0x70F9, 0x7109, 0x710A, 0x70FD, 
+    0x70EF, 0x723D, 0x727D, 0x7281, 0x731C, 0x731B, 0x7316, 0x7313, 0x7319, 
+    0x7387, 0x7405, 0x740A, 0x7403, 0x7406, 0x73FE, 0x740D, 0x74E0, 0x74F6, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 0x74F7, 0x751C, 
+    0x7522, 0x7565, 0x7566, 0x7562, 0x7570, 0x758F, 0x75D4, 0x75D5, 0x75B5, 
+    0x75CA, 0x75CD, 0x768E, 0x76D4, 0x76D2, 0x76DB, 0x7737, 0x773E, 0x773C, 
+    0x7736, 0x7738, 0x773A, 0x786B, 0x7843, 0x784E, 0x7965, 0x7968, 0x796D, 
+    0x79FB, 0x7A92, 0x7A95, 0x7B20, 0x7B28, 0x7B1B, 0x7B2C, 0x7B26, 0x7B19, 
+    0x7B1E, 0x7B2E, 0x7C92, 0x7C97, 0x7C95, 0x7D46, 0x7D43, 0x7D71, 0x7D2E, 
+    0x7D39, 0x7D3C, 0x7D40, 0x7D30, 0x7D33, 0x7D44, 0x7D2F, 0x7D42, 0x7D32, 
+    0x7D31, 0x7F3D, 0x7F9E, 0x7F9A, 0x7FCC, 0x7FCE, 0x7FD2, 0x801C, 0x804A, 
+    0x8046, 0x812F, 0x8116, 0x8123, 0x812B, 0x8129, 0x8130, 0x8124, 0x8202, 
+    0x8235, 0x8237, 0x8236, 0x8239, 0x838E, 0x839E, 0x8398, 0x8378, 0x83A2, 
+    0x8396, 0x83BD, 0x83AB, 0x8392, 0x838A, 0x8393, 0x8389, 0x83A0, 0x8377, 
+    0x837B, 0x837C},
+    {0x8386, 0x83A7, 0x8655, 0x5F6A, 0x86C7, 0x86C0, 0x86B6, 0x86C4, 0x86B5, 
+    0x86C6, 0x86CB, 0x86B1, 0x86AF, 0x86C9, 0x8853, 0x889E, 0x8888, 0x88AB, 
+    0x8892, 0x8896, 0x888D, 0x888B, 0x8993, 0x898F, 0x8A2A, 0x8A1D, 0x8A23, 
+    0x8A25, 0x8A31, 0x8A2D, 0x8A1F, 0x8A1B, 0x8A22, 0x8C49, 0x8C5A, 0x8CA9, 
+    0x8CAC, 0x8CAB, 0x8CA8, 0x8CAA, 0x8CA7, 0x8D67, 0x8D66, 0x8DBE, 0x8DBA, 
+    0x8EDB, 0x8EDF, 0x9019, 0x900D, 0x901A, 0x9017, 0x9023, 0x901F, 0x901D, 
+    0x9010, 0x9015, 0x901E, 0x9020, 0x900F, 0x9022, 0x9016, 0x901B, 0x9014, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 0x90E8, 0x90ED, 
+    0x90FD, 0x9157, 0x91CE, 0x91F5, 0x91E6, 0x91E3, 0x91E7, 0x91ED, 0x91E9, 
+    0x9589, 0x966A, 0x9675, 0x9673, 0x9678, 0x9670, 0x9674, 0x9676, 0x9677, 
+    0x966C, 0x96C0, 0x96EA, 0x96E9, 0x7AE0, 0x7ADF, 0x9802, 0x9803, 0x9B5A, 
+    0x9CE5, 0x9E75, 0x9E7F, 0x9EA5, 0x9EBB, 0x50A2, 0x508D, 0x5085, 0x5099, 
+    0x5091, 0x5080, 0x5096, 0x5098, 0x509A, 0x6700, 0x51F1, 0x5272, 0x5274, 
+    0x5275, 0x5269, 0x52DE, 0x52DD, 0x52DB, 0x535A, 0x53A5, 0x557B, 0x5580, 
+    0x55A7, 0x557C, 0x558A, 0x559D, 0x5598, 0x5582, 0x559C, 0x55AA, 0x5594, 
+    0x5587, 0x558B, 0x5583, 0x55B3, 0x55AE, 0x559F, 0x553E, 0x55B2, 0x559A, 
+    0x55BB, 0x55AC, 0x55B1, 0x557E, 0x5589, 0x55AB, 0x5599, 0x570D, 0x582F, 
+    0x582A, 0x5834, 0x5824, 0x5830, 0x5831, 0x5821, 0x581D, 0x5820, 0x58F9, 
+    0x58FA, 0x5960},
+    {0x5A77, 0x5A9A, 0x5A7F, 0x5A92, 0x5A9B, 0x5AA7, 0x5B73, 0x5B71, 0x5BD2, 
+    0x5BCC, 0x5BD3, 0x5BD0, 0x5C0A, 0x5C0B, 0x5C31, 0x5D4C, 0x5D50, 0x5D34, 
+    0x5D47, 0x5DFD, 0x5E45, 0x5E3D, 0x5E40, 0x5E43, 0x5E7E, 0x5ECA, 0x5EC1, 
+    0x5EC2, 0x5EC4, 0x5F3C, 0x5F6D, 0x5FA9, 0x5FAA, 0x5FA8, 0x60D1, 0x60E1, 
+    0x60B2, 0x60B6, 0x60E0, 0x611C, 0x6123, 0x60FA, 0x6115, 0x60F0, 0x60FB, 
+    0x60F4, 0x6168, 0x60F1, 0x610E, 0x60F6, 0x6109, 0x6100, 0x6112, 0x621F, 
+    0x6249, 0x63A3, 0x638C, 0x63CF, 0x63C0, 0x63E9, 0x63C9, 0x63C6, 0x63CD, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 0x63D2, 0x63E3, 
+    0x63D0, 0x63E1, 0x63D6, 0x63ED, 0x63EE, 0x6376, 0x63F4, 0x63EA, 0x63DB, 
+    0x6452, 0x63DA, 0x63F9, 0x655E, 0x6566, 0x6562, 0x6563, 0x6591, 0x6590, 
+    0x65AF, 0x666E, 0x6670, 0x6674, 0x6676, 0x666F, 0x6691, 0x667A, 0x667E, 
+    0x6677, 0x66FE, 0x66FF, 0x671F, 0x671D, 0x68FA, 0x68D5, 0x68E0, 0x68D8, 
+    0x68D7, 0x6905, 0x68DF, 0x68F5, 0x68EE, 0x68E7, 0x68F9, 0x68D2, 0x68F2, 
+    0x68E3, 0x68CB, 0x68CD, 0x690D, 0x6912, 0x690E, 0x68C9, 0x68DA, 0x696E, 
+    0x68FB, 0x6B3E, 0x6B3A, 0x6B3D, 0x6B98, 0x6B96, 0x6BBC, 0x6BEF, 0x6C2E, 
+    0x6C2F, 0x6C2C, 0x6E2F, 0x6E38, 0x6E54, 0x6E21, 0x6E32, 0x6E67, 0x6E4A, 
+    0x6E20, 0x6E25, 0x6E23, 0x6E1B, 0x6E5B, 0x6E58, 0x6E24, 0x6E56, 0x6E6E, 
+    0x6E2D, 0x6E26, 0x6E6F, 0x6E34, 0x6E4D, 0x6E3A, 0x6E2C, 0x6E43, 0x6E1D, 
+    0x6E3E, 0x6ECB},
+    {0x6E89, 0x6E19, 0x6E4E, 0x6E63, 0x6E44, 0x6E72, 0x6E69, 0x6E5F, 0x7119, 
+    0x711A, 0x7126, 0x7130, 0x7121, 0x7136, 0x716E, 0x711C, 0x724C, 0x7284, 
+    0x7280, 0x7336, 0x7325, 0x7334, 0x7329, 0x743A, 0x742A, 0x7433, 0x7422, 
+    0x7425, 0x7435, 0x7436, 0x7434, 0x742F, 0x741B, 0x7426, 0x7428, 0x7525, 
+    0x7526, 0x756B, 0x756A, 0x75E2, 0x75DB, 0x75E3, 0x75D9, 0x75D8, 0x75DE, 
+    0x75E0, 0x767B, 0x767C, 0x7696, 0x7693, 0x76B4, 0x76DC, 0x774F, 0x77ED, 
+    0x785D, 0x786C, 0x786F, 0x7A0D, 0x7A08, 0x7A0B, 0x7A05, 0x7A00, 0x7A98, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 0x7A97, 0x7A96, 
+    0x7AE5, 0x7AE3, 0x7B49, 0x7B56, 0x7B46, 0x7B50, 0x7B52, 0x7B54, 0x7B4D, 
+    0x7B4B, 0x7B4F, 0x7B51, 0x7C9F, 0x7CA5, 0x7D5E, 0x7D50, 0x7D68, 0x7D55, 
+    0x7D2B, 0x7D6E, 0x7D72, 0x7D61, 0x7D66, 0x7D62, 0x7D70, 0x7D73, 0x5584, 
+    0x7FD4, 0x7FD5, 0x800B, 0x8052, 0x8085, 0x8155, 0x8154, 0x814B, 0x8151, 
+    0x814E, 0x8139, 0x8146, 0x813E, 0x814C, 0x8153, 0x8174, 0x8212, 0x821C, 
+    0x83E9, 0x8403, 0x83F8, 0x840D, 0x83E0, 0x83C5, 0x840B, 0x83C1, 0x83EF, 
+    0x83F1, 0x83F4, 0x8457, 0x840A, 0x83F0, 0x840C, 0x83CC, 0x83FD, 0x83F2, 
+    0x83CA, 0x8438, 0x840E, 0x8404, 0x83DC, 0x8407, 0x83D4, 0x83DF, 0x865B, 
+    0x86DF, 0x86D9, 0x86ED, 0x86D4, 0x86DB, 0x86E4, 0x86D0, 0x86DE, 0x8857, 
+    0x88C1, 0x88C2, 0x88B1, 0x8983, 0x8996, 0x8A3B, 0x8A60, 0x8A55, 0x8A5E, 
+    0x8A3C, 0x8A41},
+    {0x8A54, 0x8A5B, 0x8A50, 0x8A46, 0x8A34, 0x8A3A, 0x8A36, 0x8A56, 0x8C61, 
+    0x8C82, 0x8CAF, 0x8CBC, 0x8CB3, 0x8CBD, 0x8CC1, 0x8CBB, 0x8CC0, 0x8CB4, 
+    0x8CB7, 0x8CB6, 0x8CBF, 0x8CB8, 0x8D8A, 0x8D85, 0x8D81, 0x8DCE, 0x8DDD, 
+    0x8DCB, 0x8DDA, 0x8DD1, 0x8DCC, 0x8DDB, 0x8DC6, 0x8EFB, 0x8EF8, 0x8EFC, 
+    0x8F9C, 0x902E, 0x9035, 0x9031, 0x9038, 0x9032, 0x9036, 0x9102, 0x90F5, 
+    0x9109, 0x90FE, 0x9163, 0x9165, 0x91CF, 0x9214, 0x9215, 0x9223, 0x9209, 
+    0x921E, 0x920D, 0x9210, 0x9207, 0x9211, 0x9594, 0x958F, 0x958B, 0x9591, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 0x9593, 0x9592, 
+    0x958E, 0x968A, 0x968E, 0x968B, 0x967D, 0x9685, 0x9686, 0x968D, 0x9672, 
+    0x9684, 0x96C1, 0x96C5, 0x96C4, 0x96C6, 0x96C7, 0x96EF, 0x96F2, 0x97CC, 
+    0x9805, 0x9806, 0x9808, 0x98E7, 0x98EA, 0x98EF, 0x98E9, 0x98F2, 0x98ED, 
+    0x99AE, 0x99AD, 0x9EC3, 0x9ECD, 0x9ED1, 0x4E82, 0x50AD, 0x50B5, 0x50B2, 
+    0x50B3, 0x50C5, 0x50BE, 0x50AC, 0x50B7, 0x50BB, 0x50AF, 0x50C7, 0x527F, 
+    0x5277, 0x527D, 0x52DF, 0x52E6, 0x52E4, 0x52E2, 0x52E3, 0x532F, 0x55DF, 
+    0x55E8, 0x55D3, 0x55E6, 0x55CE, 0x55DC, 0x55C7, 0x55D1, 0x55E3, 0x55E4, 
+    0x55EF, 0x55DA, 0x55E1, 0x55C5, 0x55C6, 0x55E5, 0x55C9, 0x5712, 0x5713, 
+    0x585E, 0x5851, 0x5858, 0x5857, 0x585A, 0x5854, 0x586B, 0x584C, 0x586D, 
+    0x584A, 0x5862, 0x5852, 0x584B, 0x5967, 0x5AC1, 0x5AC9, 0x5ACC, 0x5ABE, 
+    0x5ABD, 0x5ABC},
+    {0x5AB3, 0x5AC2, 0x5AB2, 0x5D69, 0x5D6F, 0x5E4C, 0x5E79, 0x5EC9, 0x5EC8, 
+    0x5F12, 0x5F59, 0x5FAC, 0x5FAE, 0x611A, 0x610F, 0x6148, 0x611F, 0x60F3, 
+    0x611B, 0x60F9, 0x6101, 0x6108, 0x614E, 0x614C, 0x6144, 0x614D, 0x613E, 
+    0x6134, 0x6127, 0x610D, 0x6106, 0x6137, 0x6221, 0x6222, 0x6413, 0x643E, 
+    0x641E, 0x642A, 0x642D, 0x643D, 0x642C, 0x640F, 0x641C, 0x6414, 0x640D, 
+    0x6436, 0x6416, 0x6417, 0x6406, 0x656C, 0x659F, 0x65B0, 0x6697, 0x6689, 
+    0x6687, 0x6688, 0x6696, 0x6684, 0x6698, 0x668D, 0x6703, 0x6994, 0x696D, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 0x695A, 0x6977, 
+    0x6960, 0x6954, 0x6975, 0x6930, 0x6982, 0x694A, 0x6968, 0x696B, 0x695E, 
+    0x6953, 0x6979, 0x6986, 0x695D, 0x6963, 0x695B, 0x6B47, 0x6B72, 0x6BC0, 
+    0x6BBF, 0x6BD3, 0x6BFD, 0x6EA2, 0x6EAF, 0x6ED3, 0x6EB6, 0x6EC2, 0x6E90, 
+    0x6E9D, 0x6EC7, 0x6EC5, 0x6EA5, 0x6E98, 0x6EBC, 0x6EBA, 0x6EAB, 0x6ED1, 
+    0x6E96, 0x6E9C, 0x6EC4, 0x6ED4, 0x6EAA, 0x6EA7, 0x6EB4, 0x714E, 0x7159, 
+    0x7169, 0x7164, 0x7149, 0x7167, 0x715C, 0x716C, 0x7166, 0x714C, 0x7165, 
+    0x715E, 0x7146, 0x7168, 0x7156, 0x723A, 0x7252, 0x7337, 0x7345, 0x733F, 
+    0x733E, 0x746F, 0x745A, 0x7455, 0x745F, 0x745E, 0x7441, 0x743F, 0x7459, 
+    0x745B, 0x745C, 0x7576, 0x7578, 0x7600, 0x75F0, 0x7601, 0x75F2, 0x75F1, 
+    0x75FA, 0x75FF, 0x75F4, 0x75F3, 0x76DE, 0x76DF, 0x775B, 0x776B, 0x7766, 
+    0x775E, 0x7763},
+    {0x7779, 0x776A, 0x776C, 0x775C, 0x7765, 0x7768, 0x7762, 0x77EE, 0x788E, 
+    0x78B0, 0x7897, 0x7898, 0x788C, 0x7889, 0x787C, 0x7891, 0x7893, 0x787F, 
+    0x797A, 0x797F, 0x7981, 0x842C, 0x79BD, 0x7A1C, 0x7A1A, 0x7A20, 0x7A14, 
+    0x7A1F, 0x7A1E, 0x7A9F, 0x7AA0, 0x7B77, 0x7BC0, 0x7B60, 0x7B6E, 0x7B67, 
+    0x7CB1, 0x7CB3, 0x7CB5, 0x7D93, 0x7D79, 0x7D91, 0x7D81, 0x7D8F, 0x7D5B, 
+    0x7F6E, 0x7F69, 0x7F6A, 0x7F72, 0x7FA9, 0x7FA8, 0x7FA4, 0x8056, 0x8058, 
+    0x8086, 0x8084, 0x8171, 0x8170, 0x8178, 0x8165, 0x816E, 0x8173, 0x816B, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 0x8179, 0x817A, 
+    0x8166, 0x8205, 0x8247, 0x8482, 0x8477, 0x843D, 0x8431, 0x8475, 0x8466, 
+    0x846B, 0x8449, 0x846C, 0x845B, 0x843C, 0x8435, 0x8461, 0x8463, 0x8469, 
+    0x846D, 0x8446, 0x865E, 0x865C, 0x865F, 0x86F9, 0x8713, 0x8708, 0x8707, 
+    0x8700, 0x86FE, 0x86FB, 0x8702, 0x8703, 0x8706, 0x870A, 0x8859, 0x88DF, 
+    0x88D4, 0x88D9, 0x88DC, 0x88D8, 0x88DD, 0x88E1, 0x88CA, 0x88D5, 0x88D2, 
+    0x899C, 0x89E3, 0x8A6B, 0x8A72, 0x8A73, 0x8A66, 0x8A69, 0x8A70, 0x8A87, 
+    0x8A7C, 0x8A63, 0x8AA0, 0x8A71, 0x8A85, 0x8A6D, 0x8A62, 0x8A6E, 0x8A6C, 
+    0x8A79, 0x8A7B, 0x8A3E, 0x8A68, 0x8C62, 0x8C8A, 0x8C89, 0x8CCA, 0x8CC7, 
+    0x8CC8, 0x8CC4, 0x8CB2, 0x8CC3, 0x8CC2, 0x8CC5, 0x8DE1, 0x8DDF, 0x8DE8, 
+    0x8DEF, 0x8DF3, 0x8DFA, 0x8DEA, 0x8DE4, 0x8DE6, 0x8EB2, 0x8F03, 0x8F09, 
+    0x8EFE, 0x8F0A},
+    {0x8F9F, 0x8FB2, 0x904B, 0x904A, 0x9053, 0x9042, 0x9054, 0x903C, 0x9055, 
+    0x9050, 0x9047, 0x904F, 0x904E, 0x904D, 0x9051, 0x903E, 0x9041, 0x9112, 
+    0x9117, 0x916C, 0x916A, 0x9169, 0x91C9, 0x9237, 0x9257, 0x9238, 0x923D, 
+    0x9240, 0x923E, 0x925B, 0x924B, 0x9264, 0x9251, 0x9234, 0x9249, 0x924D, 
+    0x9245, 0x9239, 0x923F, 0x925A, 0x9598, 0x9698, 0x9694, 0x9695, 0x96CD, 
+    0x96CB, 0x96C9, 0x96CA, 0x96F7, 0x96FB, 0x96F9, 0x96F6, 0x9756, 0x9774, 
+    0x9776, 0x9810, 0x9811, 0x9813, 0x980A, 0x9812, 0x980C, 0x98FC, 0x98F4, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 0x98FD, 0x98FE, 
+    0x99B3, 0x99B1, 0x99B4, 0x9AE1, 0x9CE9, 0x9E82, 0x9F0E, 0x9F13, 0x9F20, 
+    0x50E7, 0x50EE, 0x50E5, 0x50D6, 0x50ED, 0x50DA, 0x50D5, 0x50CF, 0x50D1, 
+    0x50F1, 0x50CE, 0x50E9, 0x5162, 0x51F3, 0x5283, 0x5282, 0x5331, 0x53AD, 
+    0x55FE, 0x5600, 0x561B, 0x5617, 0x55FD, 0x5614, 0x5606, 0x5609, 0x560D, 
+    0x560E, 0x55F7, 0x5616, 0x561F, 0x5608, 0x5610, 0x55F6, 0x5718, 0x5716, 
+    0x5875, 0x587E, 0x5883, 0x5893, 0x588A, 0x5879, 0x5885, 0x587D, 0x58FD, 
+    0x5925, 0x5922, 0x5924, 0x596A, 0x5969, 0x5AE1, 0x5AE6, 0x5AE9, 0x5AD7, 
+    0x5AD6, 0x5AD8, 0x5AE3, 0x5B75, 0x5BDE, 0x5BE7, 0x5BE1, 0x5BE5, 0x5BE6, 
+    0x5BE8, 0x5BE2, 0x5BE4, 0x5BDF, 0x5C0D, 0x5C62, 0x5D84, 0x5D87, 0x5E5B, 
+    0x5E63, 0x5E55, 0x5E57, 0x5E54, 0x5ED3, 0x5ED6, 0x5F0A, 0x5F46, 0x5F70, 
+    0x5FB9, 0x6147},
+    {0x613F, 0x614B, 0x6177, 0x6162, 0x6163, 0x615F, 0x615A, 0x6158, 0x6175, 
+    0x622A, 0x6487, 0x6458, 0x6454, 0x64A4, 0x6478, 0x645F, 0x647A, 0x6451, 
+    0x6467, 0x6434, 0x646D, 0x647B, 0x6572, 0x65A1, 0x65D7, 0x65D6, 0x66A2, 
+    0x66A8, 0x669D, 0x699C, 0x69A8, 0x6995, 0x69C1, 0x69AE, 0x69D3, 0x69CB, 
+    0x699B, 0x69B7, 0x69BB, 0x69AB, 0x69B4, 0x69D0, 0x69CD, 0x69AD, 0x69CC, 
+    0x69A6, 0x69C3, 0x69A3, 0x6B49, 0x6B4C, 0x6C33, 0x6F33, 0x6F14, 0x6EFE, 
+    0x6F13, 0x6EF4, 0x6F29, 0x6F3E, 0x6F20, 0x6F2C, 0x6F0F, 0x6F02, 0x6F22, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 0x6EFF, 0x6EEF, 
+    0x6F06, 0x6F31, 0x6F38, 0x6F32, 0x6F23, 0x6F15, 0x6F2B, 0x6F2F, 0x6F88, 
+    0x6F2A, 0x6EEC, 0x6F01, 0x6EF2, 0x6ECC, 0x6EF7, 0x7194, 0x7199, 0x717D, 
+    0x718A, 0x7184, 0x7192, 0x723E, 0x7292, 0x7296, 0x7344, 0x7350, 0x7464, 
+    0x7463, 0x746A, 0x7470, 0x746D, 0x7504, 0x7591, 0x7627, 0x760D, 0x760B, 
+    0x7609, 0x7613, 0x76E1, 0x76E3, 0x7784, 0x777D, 0x777F, 0x7761, 0x78C1, 
+    0x789F, 0x78A7, 0x78B3, 0x78A9, 0x78A3, 0x798E, 0x798F, 0x798D, 0x7A2E, 
+    0x7A31, 0x7AAA, 0x7AA9, 0x7AED, 0x7AEF, 0x7BA1, 0x7B95, 0x7B8B, 0x7B75, 
+    0x7B97, 0x7B9D, 0x7B94, 0x7B8F, 0x7BB8, 0x7B87, 0x7B84, 0x7CB9, 0x7CBD, 
+    0x7CBE, 0x7DBB, 0x7DB0, 0x7D9C, 0x7DBD, 0x7DBE, 0x7DA0, 0x7DCA, 0x7DB4, 
+    0x7DB2, 0x7DB1, 0x7DBA, 0x7DA2, 0x7DBF, 0x7DB5, 0x7DB8, 0x7DAD, 0x7DD2, 
+    0x7DC7, 0x7DAC},
+    {0x7F70, 0x7FE0, 0x7FE1, 0x7FDF, 0x805E, 0x805A, 0x8087, 0x8150, 0x8180, 
+    0x818F, 0x8188, 0x818A, 0x817F, 0x8182, 0x81E7, 0x81FA, 0x8207, 0x8214, 
+    0x821E, 0x824B, 0x84C9, 0x84BF, 0x84C6, 0x84C4, 0x8499, 0x849E, 0x84B2, 
+    0x849C, 0x84CB, 0x84B8, 0x84C0, 0x84D3, 0x8490, 0x84BC, 0x84D1, 0x84CA, 
+    0x873F, 0x871C, 0x873B, 0x8722, 0x8725, 0x8734, 0x8718, 0x8755, 0x8737, 
+    0x8729, 0x88F3, 0x8902, 0x88F4, 0x88F9, 0x88F8, 0x88FD, 0x88E8, 0x891A, 
+    0x88EF, 0x8AA6, 0x8A8C, 0x8A9E, 0x8AA3, 0x8A8D, 0x8AA1, 0x8A93, 0x8AA4, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 0x8AAA, 0x8AA5, 
+    0x8AA8, 0x8A98, 0x8A91, 0x8A9A, 0x8AA7, 0x8C6A, 0x8C8D, 0x8C8C, 0x8CD3, 
+    0x8CD1, 0x8CD2, 0x8D6B, 0x8D99, 0x8D95, 0x8DFC, 0x8F14, 0x8F12, 0x8F15, 
+    0x8F13, 0x8FA3, 0x9060, 0x9058, 0x905C, 0x9063, 0x9059, 0x905E, 0x9062, 
+    0x905D, 0x905B, 0x9119, 0x9118, 0x911E, 0x9175, 0x9178, 0x9177, 0x9174, 
+    0x9278, 0x9280, 0x9285, 0x9298, 0x9296, 0x927B, 0x9293, 0x929C, 0x92A8, 
+    0x927C, 0x9291, 0x95A1, 0x95A8, 0x95A9, 0x95A3, 0x95A5, 0x95A4, 0x9699, 
+    0x969C, 0x969B, 0x96CC, 0x96D2, 0x9700, 0x977C, 0x9785, 0x97F6, 0x9817, 
+    0x9818, 0x98AF, 0x98B1, 0x9903, 0x9905, 0x990C, 0x9909, 0x99C1, 0x9AAF, 
+    0x9AB0, 0x9AE6, 0x9B41, 0x9B42, 0x9CF4, 0x9CF6, 0x9CF3, 0x9EBC, 0x9F3B, 
+    0x9F4A, 0x5104, 0x5100, 0x50FB, 0x50F5, 0x50F9, 0x5102, 0x5108, 0x5109, 
+    0x5105, 0x51DC},
+    {0x5287, 0x5288, 0x5289, 0x528D, 0x528A, 0x52F0, 0x53B2, 0x562E, 0x563B, 
+    0x5639, 0x5632, 0x563F, 0x5634, 0x5629, 0x5653, 0x564E, 0x5657, 0x5674, 
+    0x5636, 0x562F, 0x5630, 0x5880, 0x589F, 0x589E, 0x58B3, 0x589C, 0x58AE, 
+    0x58A9, 0x58A6, 0x596D, 0x5B09, 0x5AFB, 0x5B0B, 0x5AF5, 0x5B0C, 0x5B08, 
+    0x5BEE, 0x5BEC, 0x5BE9, 0x5BEB, 0x5C64, 0x5C65, 0x5D9D, 0x5D94, 0x5E62, 
+    0x5E5F, 0x5E61, 0x5EE2, 0x5EDA, 0x5EDF, 0x5EDD, 0x5EE3, 0x5EE0, 0x5F48, 
+    0x5F71, 0x5FB7, 0x5FB5, 0x6176, 0x6167, 0x616E, 0x615D, 0x6155, 0x6182, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 0x617C, 0x6170, 
+    0x616B, 0x617E, 0x61A7, 0x6190, 0x61AB, 0x618E, 0x61AC, 0x619A, 0x61A4, 
+    0x6194, 0x61AE, 0x622E, 0x6469, 0x646F, 0x6479, 0x649E, 0x64B2, 0x6488, 
+    0x6490, 0x64B0, 0x64A5, 0x6493, 0x6495, 0x64A9, 0x6492, 0x64AE, 0x64AD, 
+    0x64AB, 0x649A, 0x64AC, 0x6499, 0x64A2, 0x64B3, 0x6575, 0x6577, 0x6578, 
+    0x66AE, 0x66AB, 0x66B4, 0x66B1, 0x6A23, 0x6A1F, 0x69E8, 0x6A01, 0x6A1E, 
+    0x6A19, 0x69FD, 0x6A21, 0x6A13, 0x6A0A, 0x69F3, 0x6A02, 0x6A05, 0x69ED, 
+    0x6A11, 0x6B50, 0x6B4E, 0x6BA4, 0x6BC5, 0x6BC6, 0x6F3F, 0x6F7C, 0x6F84, 
+    0x6F51, 0x6F66, 0x6F54, 0x6F86, 0x6F6D, 0x6F5B, 0x6F78, 0x6F6E, 0x6F8E, 
+    0x6F7A, 0x6F70, 0x6F64, 0x6F97, 0x6F58, 0x6ED5, 0x6F6F, 0x6F60, 0x6F5F, 
+    0x719F, 0x71AC, 0x71B1, 0x71A8, 0x7256, 0x729B, 0x734E, 0x7357, 0x7469, 
+    0x748B, 0x7483},
+    {0x747E, 0x7480, 0x757F, 0x7620, 0x7629, 0x761F, 0x7624, 0x7626, 0x7621, 
+    0x7622, 0x769A, 0x76BA, 0x76E4, 0x778E, 0x7787, 0x778C, 0x7791, 0x778B, 
+    0x78CB, 0x78C5, 0x78BA, 0x78CA, 0x78BE, 0x78D5, 0x78BC, 0x78D0, 0x7A3F, 
+    0x7A3C, 0x7A40, 0x7A3D, 0x7A37, 0x7A3B, 0x7AAF, 0x7AAE, 0x7BAD, 0x7BB1, 
+    0x7BC4, 0x7BB4, 0x7BC6, 0x7BC7, 0x7BC1, 0x7BA0, 0x7BCC, 0x7CCA, 0x7DE0, 
+    0x7DF4, 0x7DEF, 0x7DFB, 0x7DD8, 0x7DEC, 0x7DDD, 0x7DE8, 0x7DE3, 0x7DDA, 
+    0x7DDE, 0x7DE9, 0x7D9E, 0x7DD9, 0x7DF2, 0x7DF9, 0x7F75, 0x7F77, 0x7FAF, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 0x7FE9, 0x8026, 
+    0x819B, 0x819C, 0x819D, 0x81A0, 0x819A, 0x8198, 0x8517, 0x853D, 0x851A, 
+    0x84EE, 0x852C, 0x852D, 0x8513, 0x8511, 0x8523, 0x8521, 0x8514, 0x84EC, 
+    0x8525, 0x84FF, 0x8506, 0x8782, 0x8774, 0x8776, 0x8760, 0x8766, 0x8778, 
+    0x8768, 0x8759, 0x8757, 0x874C, 0x8753, 0x885B, 0x885D, 0x8910, 0x8907, 
+    0x8912, 0x8913, 0x8915, 0x890A, 0x8ABC, 0x8AD2, 0x8AC7, 0x8AC4, 0x8A95, 
+    0x8ACB, 0x8AF8, 0x8AB2, 0x8AC9, 0x8AC2, 0x8ABF, 0x8AB0, 0x8AD6, 0x8ACD, 
+    0x8AB6, 0x8AB9, 0x8ADB, 0x8C4C, 0x8C4E, 0x8C6C, 0x8CE0, 0x8CDE, 0x8CE6, 
+    0x8CE4, 0x8CEC, 0x8CED, 0x8CE2, 0x8CE3, 0x8CDC, 0x8CEA, 0x8CE1, 0x8D6D, 
+    0x8D9F, 0x8DA3, 0x8E2B, 0x8E10, 0x8E1D, 0x8E22, 0x8E0F, 0x8E29, 0x8E1F, 
+    0x8E21, 0x8E1E, 0x8EBA, 0x8F1D, 0x8F1B, 0x8F1F, 0x8F29, 0x8F26, 0x8F2A, 
+    0x8F1C, 0x8F1E},
+    {0x8F25, 0x9069, 0x906E, 0x9068, 0x906D, 0x9077, 0x9130, 0x912D, 0x9127, 
+    0x9131, 0x9187, 0x9189, 0x918B, 0x9183, 0x92C5, 0x92BB, 0x92B7, 0x92EA, 
+    0x92AC, 0x92E4, 0x92C1, 0x92B3, 0x92BC, 0x92D2, 0x92C7, 0x92F0, 0x92B2, 
+    0x95AD, 0x95B1, 0x9704, 0x9706, 0x9707, 0x9709, 0x9760, 0x978D, 0x978B, 
+    0x978F, 0x9821, 0x982B, 0x981C, 0x98B3, 0x990A, 0x9913, 0x9912, 0x9918, 
+    0x99DD, 0x99D0, 0x99DF, 0x99DB, 0x99D1, 0x99D5, 0x99D2, 0x99D9, 0x9AB7, 
+    0x9AEE, 0x9AEF, 0x9B27, 0x9B45, 0x9B44, 0x9B77, 0x9B6F, 0x9D06, 0x9D09, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 0x9D03, 0x9EA9, 
+    0x9EBE, 0x9ECE, 0x58A8, 0x9F52, 0x5112, 0x5118, 0x5114, 0x5110, 0x5115, 
+    0x5180, 0x51AA, 0x51DD, 0x5291, 0x5293, 0x52F3, 0x5659, 0x566B, 0x5679, 
+    0x5669, 0x5664, 0x5678, 0x566A, 0x5668, 0x5665, 0x5671, 0x566F, 0x566C, 
+    0x5662, 0x5676, 0x58C1, 0x58BE, 0x58C7, 0x58C5, 0x596E, 0x5B1D, 0x5B34, 
+    0x5B78, 0x5BF0, 0x5C0E, 0x5F4A, 0x61B2, 0x6191, 0x61A9, 0x618A, 0x61CD, 
+    0x61B6, 0x61BE, 0x61CA, 0x61C8, 0x6230, 0x64C5, 0x64C1, 0x64CB, 0x64BB, 
+    0x64BC, 0x64DA, 0x64C4, 0x64C7, 0x64C2, 0x64CD, 0x64BF, 0x64D2, 0x64D4, 
+    0x64BE, 0x6574, 0x66C6, 0x66C9, 0x66B9, 0x66C4, 0x66C7, 0x66B8, 0x6A3D, 
+    0x6A38, 0x6A3A, 0x6A59, 0x6A6B, 0x6A58, 0x6A39, 0x6A44, 0x6A62, 0x6A61, 
+    0x6A4B, 0x6A47, 0x6A35, 0x6A5F, 0x6A48, 0x6B59, 0x6B77, 0x6C05, 0x6FC2, 
+    0x6FB1, 0x6FA1},
+    {0x6FC3, 0x6FA4, 0x6FC1, 0x6FA7, 0x6FB3, 0x6FC0, 0x6FB9, 0x6FB6, 0x6FA6, 
+    0x6FA0, 0x6FB4, 0x71BE, 0x71C9, 0x71D0, 0x71D2, 0x71C8, 0x71D5, 0x71B9, 
+    0x71CE, 0x71D9, 0x71DC, 0x71C3, 0x71C4, 0x7368, 0x749C, 0x74A3, 0x7498, 
+    0x749F, 0x749E, 0x74E2, 0x750C, 0x750D, 0x7634, 0x7638, 0x763A, 0x76E7, 
+    0x76E5, 0x77A0, 0x779E, 0x779F, 0x77A5, 0x78E8, 0x78DA, 0x78EC, 0x78E7, 
+    0x79A6, 0x7A4D, 0x7A4E, 0x7A46, 0x7A4C, 0x7A4B, 0x7ABA, 0x7BD9, 0x7C11, 
+    0x7BC9, 0x7BE4, 0x7BDB, 0x7BE1, 0x7BE9, 0x7BE6, 0x7CD5, 0x7CD6, 0x7E0A, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 0x7E11, 0x7E08, 
+    0x7E1B, 0x7E23, 0x7E1E, 0x7E1D, 0x7E09, 0x7E10, 0x7F79, 0x7FB2, 0x7FF0, 
+    0x7FF1, 0x7FEE, 0x8028, 0x81B3, 0x81A9, 0x81A8, 0x81FB, 0x8208, 0x8258, 
+    0x8259, 0x854A, 0x8559, 0x8548, 0x8568, 0x8569, 0x8543, 0x8549, 0x856D, 
+    0x856A, 0x855E, 0x8783, 0x879F, 0x879E, 0x87A2, 0x878D, 0x8861, 0x892A, 
+    0x8932, 0x8925, 0x892B, 0x8921, 0x89AA, 0x89A6, 0x8AE6, 0x8AFA, 0x8AEB, 
+    0x8AF1, 0x8B00, 0x8ADC, 0x8AE7, 0x8AEE, 0x8AFE, 0x8B01, 0x8B02, 0x8AF7, 
+    0x8AED, 0x8AF3, 0x8AF6, 0x8AFC, 0x8C6B, 0x8C6D, 0x8C93, 0x8CF4, 0x8E44, 
+    0x8E31, 0x8E34, 0x8E42, 0x8E39, 0x8E35, 0x8F3B, 0x8F2F, 0x8F38, 0x8F33, 
+    0x8FA8, 0x8FA6, 0x9075, 0x9074, 0x9078, 0x9072, 0x907C, 0x907A, 0x9134, 
+    0x9192, 0x9320, 0x9336, 0x92F8, 0x9333, 0x932F, 0x9322, 0x92FC, 0x932B, 
+    0x9304, 0x931A},
+    {0x9310, 0x9326, 0x9321, 0x9315, 0x932E, 0x9319, 0x95BB, 0x96A7, 0x96A8, 
+    0x96AA, 0x96D5, 0x970E, 0x9711, 0x9716, 0x970D, 0x9713, 0x970F, 0x975B, 
+    0x975C, 0x9766, 0x9798, 0x9830, 0x9838, 0x983B, 0x9837, 0x982D, 0x9839, 
+    0x9824, 0x9910, 0x9928, 0x991E, 0x991B, 0x9921, 0x991A, 0x99ED, 0x99E2, 
+    0x99F1, 0x9AB8, 0x9ABC, 0x9AFB, 0x9AED, 0x9B28, 0x9B91, 0x9D15, 0x9D23, 
+    0x9D26, 0x9D28, 0x9D12, 0x9D1B, 0x9ED8, 0x9ED4, 0x9F8D, 0x9F9C, 0x512A, 
+    0x511F, 0x5121, 0x5132, 0x52F5, 0x568E, 0x5680, 0x5690, 0x5685, 0x5687, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 0x568F, 0x58D5, 
+    0x58D3, 0x58D1, 0x58CE, 0x5B30, 0x5B2A, 0x5B24, 0x5B7A, 0x5C37, 0x5C68, 
+    0x5DBC, 0x5DBA, 0x5DBD, 0x5DB8, 0x5E6B, 0x5F4C, 0x5FBD, 0x61C9, 0x61C2, 
+    0x61C7, 0x61E6, 0x61CB, 0x6232, 0x6234, 0x64CE, 0x64CA, 0x64D8, 0x64E0, 
+    0x64F0, 0x64E6, 0x64EC, 0x64F1, 0x64E2, 0x64ED, 0x6582, 0x6583, 0x66D9, 
+    0x66D6, 0x6A80, 0x6A94, 0x6A84, 0x6AA2, 0x6A9C, 0x6ADB, 0x6AA3, 0x6A7E, 
+    0x6A97, 0x6A90, 0x6AA0, 0x6B5C, 0x6BAE, 0x6BDA, 0x6C08, 0x6FD8, 0x6FF1, 
+    0x6FDF, 0x6FE0, 0x6FDB, 0x6FE4, 0x6FEB, 0x6FEF, 0x6F80, 0x6FEC, 0x6FE1, 
+    0x6FE9, 0x6FD5, 0x6FEE, 0x6FF0, 0x71E7, 0x71DF, 0x71EE, 0x71E6, 0x71E5, 
+    0x71ED, 0x71EC, 0x71F4, 0x71E0, 0x7235, 0x7246, 0x7370, 0x7372, 0x74A9, 
+    0x74B0, 0x74A6, 0x74A8, 0x7646, 0x7642, 0x764C, 0x76EA, 0x77B3, 0x77AA, 
+    0x77B0, 0x77AC},
+    {0x77A7, 0x77AD, 0x77EF, 0x78F7, 0x78FA, 0x78F4, 0x78EF, 0x7901, 0x79A7, 
+    0x79AA, 0x7A57, 0x7ABF, 0x7C07, 0x7C0D, 0x7BFE, 0x7BF7, 0x7C0C, 0x7BE0, 
+    0x7CE0, 0x7CDC, 0x7CDE, 0x7CE2, 0x7CDF, 0x7CD9, 0x7CDD, 0x7E2E, 0x7E3E, 
+    0x7E46, 0x7E37, 0x7E32, 0x7E43, 0x7E2B, 0x7E3D, 0x7E31, 0x7E45, 0x7E41, 
+    0x7E34, 0x7E39, 0x7E48, 0x7E35, 0x7E3F, 0x7E2F, 0x7F44, 0x7FF3, 0x7FFC, 
+    0x8071, 0x8072, 0x8070, 0x806F, 0x8073, 0x81C6, 0x81C3, 0x81BA, 0x81C2, 
+    0x81C0, 0x81BF, 0x81BD, 0x81C9, 0x81BE, 0x81E8, 0x8209, 0x8271, 0x85AA, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 0x8584, 0x857E, 
+    0x859C, 0x8591, 0x8594, 0x85AF, 0x859B, 0x8587, 0x85A8, 0x858A, 0x8667, 
+    0x87C0, 0x87D1, 0x87B3, 0x87D2, 0x87C6, 0x87AB, 0x87BB, 0x87BA, 0x87C8, 
+    0x87CB, 0x893B, 0x8936, 0x8944, 0x8938, 0x893D, 0x89AC, 0x8B0E, 0x8B17, 
+    0x8B19, 0x8B1B, 0x8B0A, 0x8B20, 0x8B1D, 0x8B04, 0x8B10, 0x8C41, 0x8C3F, 
+    0x8C73, 0x8CFA, 0x8CFD, 0x8CFC, 0x8CF8, 0x8CFB, 0x8DA8, 0x8E49, 0x8E4B, 
+    0x8E48, 0x8E4A, 0x8F44, 0x8F3E, 0x8F42, 0x8F45, 0x8F3F, 0x907F, 0x907D, 
+    0x9084, 0x9081, 0x9082, 0x9080, 0x9139, 0x91A3, 0x919E, 0x919C, 0x934D, 
+    0x9382, 0x9328, 0x9375, 0x934A, 0x9365, 0x934B, 0x9318, 0x937E, 0x936C, 
+    0x935B, 0x9370, 0x935A, 0x9354, 0x95CA, 0x95CB, 0x95CC, 0x95C8, 0x95C6, 
+    0x96B1, 0x96B8, 0x96D6, 0x971C, 0x971E, 0x97A0, 0x97D3, 0x9846, 0x98B6, 
+    0x9935, 0x9A01},
+    {0x99FF, 0x9BAE, 0x9BAB, 0x9BAA, 0x9BAD, 0x9D3B, 0x9D3F, 0x9E8B, 0x9ECF, 
+    0x9EDE, 0x9EDC, 0x9EDD, 0x9EDB, 0x9F3E, 0x9F4B, 0x53E2, 0x5695, 0x56AE, 
+    0x58D9, 0x58D8, 0x5B38, 0x5F5D, 0x61E3, 0x6233, 0x64F4, 0x64F2, 0x64FE, 
+    0x6506, 0x64FA, 0x64FB, 0x64F7, 0x65B7, 0x66DC, 0x6726, 0x6AB3, 0x6AAC, 
+    0x6AC3, 0x6ABB, 0x6AB8, 0x6AC2, 0x6AAE, 0x6AAF, 0x6B5F, 0x6B78, 0x6BAF, 
+    0x7009, 0x700B, 0x6FFE, 0x7006, 0x6FFA, 0x7011, 0x700F, 0x71FB, 0x71FC, 
+    0x71FE, 0x71F8, 0x7377, 0x7375, 0x74A7, 0x74BF, 0x7515, 0x7656, 0x7658, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 0x7652, 0x77BD, 
+    0x77BF, 0x77BB, 0x77BC, 0x790E, 0x79AE, 0x7A61, 0x7A62, 0x7A60, 0x7AC4, 
+    0x7AC5, 0x7C2B, 0x7C27, 0x7C2A, 0x7C1E, 0x7C23, 0x7C21, 0x7CE7, 0x7E54, 
+    0x7E55, 0x7E5E, 0x7E5A, 0x7E61, 0x7E52, 0x7E59, 0x7F48, 0x7FF9, 0x7FFB, 
+    0x8077, 0x8076, 0x81CD, 0x81CF, 0x820A, 0x85CF, 0x85A9, 0x85CD, 0x85D0, 
+    0x85C9, 0x85B0, 0x85BA, 0x85B9, 0x85A6, 0x87EF, 0x87EC, 0x87F2, 0x87E0, 
+    0x8986, 0x89B2, 0x89F4, 0x8B28, 0x8B39, 0x8B2C, 0x8B2B, 0x8C50, 0x8D05, 
+    0x8E59, 0x8E63, 0x8E66, 0x8E64, 0x8E5F, 0x8E55, 0x8EC0, 0x8F49, 0x8F4D, 
+    0x9087, 0x9083, 0x9088, 0x91AB, 0x91AC, 0x91D0, 0x9394, 0x938A, 0x9396, 
+    0x93A2, 0x93B3, 0x93AE, 0x93AC, 0x93B0, 0x9398, 0x939A, 0x9397, 0x95D4, 
+    0x95D6, 0x95D0, 0x95D5, 0x96E2, 0x96DC, 0x96D9, 0x96DB, 0x96DE, 0x9724, 
+    0x97A3, 0x97A6},
+    {0x97AD, 0x97F9, 0x984D, 0x984F, 0x984C, 0x984E, 0x9853, 0x98BA, 0x993E, 
+    0x993F, 0x993D, 0x992E, 0x99A5, 0x9A0E, 0x9AC1, 0x9B03, 0x9B06, 0x9B4F, 
+    0x9B4E, 0x9B4D, 0x9BCA, 0x9BC9, 0x9BFD, 0x9BC8, 0x9BC0, 0x9D51, 0x9D5D, 
+    0x9D60, 0x9EE0, 0x9F15, 0x9F2C, 0x5133, 0x56A5, 0x58DE, 0x58DF, 0x58E2, 
+    0x5BF5, 0x9F90, 0x5EEC, 0x61F2, 0x61F7, 0x61F6, 0x61F5, 0x6500, 0x650F, 
+    0x66E0, 0x66DD, 0x6AE5, 0x6ADD, 0x6ADA, 0x6AD3, 0x701B, 0x701F, 0x7028, 
+    0x701A, 0x701D, 0x7015, 0x7018, 0x7206, 0x720D, 0x7258, 0x72A2, 0x7378, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 0x737A, 0x74BD, 
+    0x74CA, 0x74E3, 0x7587, 0x7586, 0x765F, 0x7661, 0x77C7, 0x7919, 0x79B1, 
+    0x7A6B, 0x7A69, 0x7C3E, 0x7C3F, 0x7C38, 0x7C3D, 0x7C37, 0x7C40, 0x7E6B, 
+    0x7E6D, 0x7E79, 0x7E69, 0x7E6A, 0x7F85, 0x7E73, 0x7FB6, 0x7FB9, 0x7FB8, 
+    0x81D8, 0x85E9, 0x85DD, 0x85EA, 0x85D5, 0x85E4, 0x85E5, 0x85F7, 0x87FB, 
+    0x8805, 0x880D, 0x87F9, 0x87FE, 0x8960, 0x895F, 0x8956, 0x895E, 0x8B41, 
+    0x8B5C, 0x8B58, 0x8B49, 0x8B5A, 0x8B4E, 0x8B4F, 0x8B46, 0x8B59, 0x8D08, 
+    0x8D0A, 0x8E7C, 0x8E72, 0x8E87, 0x8E76, 0x8E6C, 0x8E7A, 0x8E74, 0x8F54, 
+    0x8F4E, 0x8FAD, 0x908A, 0x908B, 0x91B1, 0x91AE, 0x93E1, 0x93D1, 0x93DF, 
+    0x93C3, 0x93C8, 0x93DC, 0x93DD, 0x93D6, 0x93E2, 0x93CD, 0x93D8, 0x93E4, 
+    0x93D7, 0x93E8, 0x95DC, 0x96B4, 0x96E3, 0x972A, 0x9727, 0x9761, 0x97DC, 
+    0x97FB, 0x985E},
+    {0x9858, 0x985B, 0x98BC, 0x9945, 0x9949, 0x9A16, 0x9A19, 0x9B0D, 0x9BE8, 
+    0x9BE7, 0x9BD6, 0x9BDB, 0x9D89, 0x9D61, 0x9D72, 0x9D6A, 0x9D6C, 0x9E92, 
+    0x9E97, 0x9E93, 0x9EB4, 0x52F8, 0x56A8, 0x56B7, 0x56B6, 0x56B4, 0x56BC, 
+    0x58E4, 0x5B40, 0x5B43, 0x5B7D, 0x5BF6, 0x5DC9, 0x61F8, 0x61FA, 0x6518, 
+    0x6514, 0x6519, 0x66E6, 0x6727, 0x6AEC, 0x703E, 0x7030, 0x7032, 0x7210, 
+    0x737B, 0x74CF, 0x7662, 0x7665, 0x7926, 0x792A, 0x792C, 0x792B, 0x7AC7, 
+    0x7AF6, 0x7C4C, 0x7C43, 0x7C4D, 0x7CEF, 0x7CF0, 0x8FAE, 0x7E7D, 0x7E7C, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 0x7E82, 0x7F4C, 
+    0x8000, 0x81DA, 0x8266, 0x85FB, 0x85F9, 0x8611, 0x85FA, 0x8606, 0x860B, 
+    0x8607, 0x860A, 0x8814, 0x8815, 0x8964, 0x89BA, 0x89F8, 0x8B70, 0x8B6C, 
+    0x8B66, 0x8B6F, 0x8B5F, 0x8B6B, 0x8D0F, 0x8D0D, 0x8E89, 0x8E81, 0x8E85, 
+    0x8E82, 0x91B4, 0x91CB, 0x9418, 0x9403, 0x93FD, 0x95E1, 0x9730, 0x98C4, 
+    0x9952, 0x9951, 0x99A8, 0x9A2B, 0x9A30, 0x9A37, 0x9A35, 0x9C13, 0x9C0D, 
+    0x9E79, 0x9EB5, 0x9EE8, 0x9F2F, 0x9F5F, 0x9F63, 0x9F61, 0x5137, 0x5138, 
+    0x56C1, 0x56C0, 0x56C2, 0x5914, 0x5C6C, 0x5DCD, 0x61FC, 0x61FE, 0x651D, 
+    0x651C, 0x6595, 0x66E9, 0x6AFB, 0x6B04, 0x6AFA, 0x6BB2, 0x704C, 0x721B, 
+    0x72A7, 0x74D6, 0x74D4, 0x7669, 0x77D3, 0x7C50, 0x7E8F, 0x7E8C, 0x7FBC, 
+    0x8617, 0x862D, 0x861A, 0x8823, 0x8822, 0x8821, 0x881F, 0x896A, 0x896C, 
+    0x89BD, 0x8B74},
+    {0x8B77, 0x8B7D, 0x8D13, 0x8E8A, 0x8E8D, 0x8E8B, 0x8F5F, 0x8FAF, 0x91BA, 
+    0x942E, 0x9433, 0x9435, 0x943A, 0x9438, 0x9432, 0x942B, 0x95E2, 0x9738, 
+    0x9739, 0x9732, 0x97FF, 0x9867, 0x9865, 0x9957, 0x9A45, 0x9A43, 0x9A40, 
+    0x9A3E, 0x9ACF, 0x9B54, 0x9B51, 0x9C2D, 0x9C25, 0x9DAF, 0x9DB4, 0x9DC2, 
+    0x9DB8, 0x9E9D, 0x9EEF, 0x9F19, 0x9F5C, 0x9F66, 0x9F67, 0x513C, 0x513B, 
+    0x56C8, 0x56CA, 0x56C9, 0x5B7F, 0x5DD4, 0x5DD2, 0x5F4E, 0x61FF, 0x6524, 
+    0x6B0A, 0x6B61, 0x7051, 0x7058, 0x7380, 0x74E4, 0x758A, 0x766E, 0x766C, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 0x79B3, 0x7C60, 
+    0x7C5F, 0x807E, 0x807D, 0x81DF, 0x8972, 0x896F, 0x89FC, 0x8B80, 0x8D16, 
+    0x8D17, 0x8E91, 0x8E93, 0x8F61, 0x9148, 0x9444, 0x9451, 0x9452, 0x973D, 
+    0x973E, 0x97C3, 0x97C1, 0x986B, 0x9955, 0x9A55, 0x9A4D, 0x9AD2, 0x9B1A, 
+    0x9C49, 0x9C31, 0x9C3E, 0x9C3B, 0x9DD3, 0x9DD7, 0x9F34, 0x9F6C, 0x9F6A, 
+    0x9F94, 0x56CC, 0x5DD6, 0x6200, 0x6523, 0x652B, 0x652A, 0x66EC, 0x6B10, 
+    0x74DA, 0x7ACA, 0x7C64, 0x7C63, 0x7C65, 0x7E93, 0x7E96, 0x7E94, 0x81E2, 
+    0x8638, 0x863F, 0x8831, 0x8B8A, 0x9090, 0x908F, 0x9463, 0x9460, 0x9464, 
+    0x9768, 0x986F, 0x995C, 0x9A5A, 0x9A5B, 0x9A57, 0x9AD3, 0x9AD4, 0x9AD1, 
+    0x9C54, 0x9C57, 0x9C56, 0x9DE5, 0x9E9F, 0x9EF4, 0x56D1, 0x58E9, 0x652C, 
+    0x705E, 0x7671, 0x7672, 0x77D7, 0x7F50, 0x7F88, 0x8836, 0x8839, 0x8862, 
+    0x8B93, 0x8B92},
+    {0x8B96, 0x8277, 0x8D1B, 0x91C0, 0x946A, 0x9742, 0x9748, 0x9744, 0x97C6, 
+    0x9870, 0x9A5F, 0x9B22, 0x9B58, 0x9C5F, 0x9DF9, 0x9DFA, 0x9E7C, 0x9E7D, 
+    0x9F07, 0x9F77, 0x9F72, 0x5EF3, 0x6B16, 0x7063, 0x7C6C, 0x7C6E, 0x883B, 
+    0x89C0, 0x8EA1, 0x91C1, 0x9472, 0x9470, 0x9871, 0x995E, 0x9AD6, 0x9B23, 
+    0x9ECC, 0x7064, 0x77DA, 0x8B9A, 0x9477, 0x97C9, 0x9A62, 0x9A65, 0x7E9C, 
+    0x8B9C, 0x8EAA, 0x91C5, 0x947D, 0x947E, 0x947C, 0x9C77, 0x9C78, 0x9EF7, 
+    0x8C54, 0x947F, 0x9E1A, 0x7228, 0x9A6A, 0x9B31, 0x9E1B, 0x9E1E, 0x7C72, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 0x30FE, 0x309D, 
+    0x309E, 0x3005, 0x3041, 0x3042, 0x3043, 0x3044, 0x3045, 0x3046, 0x3047, 
+    0x3048, 0x3049, 0x304A, 0x304B, 0x304C, 0x304D, 0x304E, 0x304F, 0x3050, 
+    0x3051, 0x3052, 0x3053, 0x3054, 0x3055, 0x3056, 0x3057, 0x3058, 0x3059, 
+    0x305A, 0x305B, 0x305C, 0x305D, 0x305E, 0x305F, 0x3060, 0x3061, 0x3062, 
+    0x3063, 0x3064, 0x3065, 0x3066, 0x3067, 0x3068, 0x3069, 0x306A, 0x306B, 
+    0x306C, 0x306D, 0x306E, 0x306F, 0x3070, 0x3071, 0x3072, 0x3073, 0x3074, 
+    0x3075, 0x3076, 0x3077, 0x3078, 0x3079, 0x307A, 0x307B, 0x307C, 0x307D, 
+    0x307E, 0x307F, 0x3080, 0x3081, 0x3082, 0x3083, 0x3084, 0x3085, 0x3086, 
+    0x3087, 0x3088, 0x3089, 0x308A, 0x308B, 0x308C, 0x308D, 0x308E, 0x308F, 
+    0x3090, 0x3091, 0x3092, 0x3093, 0x30A1, 0x30A2, 0x30A3, 0x30A4, 0x30A5, 
+    0x30A6, 0x30A7},
+    {0x30A8, 0x30A9, 0x30AA, 0x30AB, 0x30AC, 0x30AD, 0x30AE, 0x30AF, 0x30B0, 
+    0x30B1, 0x30B2, 0x30B3, 0x30B4, 0x30B5, 0x30B6, 0x30B7, 0x30B8, 0x30B9, 
+    0x30BA, 0x30BB, 0x30BC, 0x30BD, 0x30BE, 0x30BF, 0x30C0, 0x30C1, 0x30C2, 
+    0x30C3, 0x30C4, 0x30C5, 0x30C6, 0x30C7, 0x30C8, 0x30C9, 0x30CA, 0x30CB, 
+    0x30CC, 0x30CD, 0x30CE, 0x30CF, 0x30D0, 0x30D1, 0x30D2, 0x30D3, 0x30D4, 
+    0x30D5, 0x30D6, 0x30D7, 0x30D8, 0x30D9, 0x30DA, 0x30DB, 0x30DC, 0x30DD, 
+    0x30DE, 0x30DF, 0x30E0, 0x30E1, 0x30E2, 0x30E3, 0x30E4, 0x30E5, 0x30E6, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 0x30E7, 0x30E8, 
+    0x30E9, 0x30EA, 0x30EB, 0x30EC, 0x30ED, 0x30EE, 0x30EF, 0x30F0, 0x30F1, 
+    0x30F2, 0x30F3, 0x30F4, 0x30F5, 0x30F6, 0x0414, 0x0415, 0x0401, 0x0416, 
+    0x0417, 0x0418, 0x0419, 0x041A, 0x041B, 0x041C, 0x0423, 0x0424, 0x0425, 
+    0x0426, 0x0427, 0x0428, 0x0429, 0x042A, 0x042B, 0x042C, 0x042D, 0x042E, 
+    0x042F, 0x0430, 0x0431, 0x0432, 0x0433, 0x0434, 0x0435, 0x0451, 0x0436, 
+    0x0437, 0x0438, 0x0439, 0x043A, 0x043B, 0x043C, 0x043D, 0x043E, 0x043F, 
+    0x0440, 0x0441, 0x0442, 0x0443, 0x0444, 0x0445, 0x0446, 0x0447, 0x0448, 
+    0x0449, 0x044A, 0x044B, 0x044C, 0x044D, 0x044E, 0x044F, 0x2460, 0x2461, 
+    0x2462, 0x2463, 0x2464, 0x2465, 0x2466, 0x2467, 0x2468, 0x2469, 0x2474, 
+    0x2475, 0x2476, 0x2477, 0x2478, 0x2479, 0x247A, 0x247B, 0x247C, 0x247D, 
+     ERROR,  ERROR},
+    { ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR},
+    {0x4E42, 0x4E5C, 0x51F5, 0x531A, 0x5382, 0x4E07, 0x4E0C, 0x4E47, 0x4E8D, 
+    0x56D7, 0xFA0C, 0x5C6E, 0x5F73, 0x4E0F, 0x5187, 0x4E0E, 0x4E2E, 0x4E93, 
+    0x4EC2, 0x4EC9, 0x4EC8, 0x5198, 0x52FC, 0x536C, 0x53B9, 0x5720, 0x5903, 
+    0x592C, 0x5C10, 0x5DFF, 0x65E1, 0x6BB3, 0x6BCC, 0x6C14, 0x723F, 0x4E31, 
+    0x4E3C, 0x4EE8, 0x4EDC, 0x4EE9, 0x4EE1, 0x4EDD, 0x4EDA, 0x520C, 0x531C, 
+    0x534C, 0x5722, 0x5723, 0x5917, 0x592F, 0x5B81, 0x5B84, 0x5C12, 0x5C3B, 
+    0x5C74, 0x5C73, 0x5E04, 0x5E80, 0x5E82, 0x5FC9, 0x6209, 0x6250, 0x6C15, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 0x6C36, 0x6C43, 
+    0x6C3F, 0x6C3B, 0x72AE, 0x72B0, 0x738A, 0x79B8, 0x808A, 0x961E, 0x4F0E, 
+    0x4F18, 0x4F2C, 0x4EF5, 0x4F14, 0x4EF1, 0x4F00, 0x4EF7, 0x4F08, 0x4F1D, 
+    0x4F02, 0x4F05, 0x4F22, 0x4F13, 0x4F04, 0x4EF4, 0x4F12, 0x51B1, 0x5213, 
+    0x5209, 0x5210, 0x52A6, 0x5322, 0x531F, 0x534D, 0x538A, 0x5407, 0x56E1, 
+    0x56DF, 0x572E, 0x572A, 0x5734, 0x593C, 0x5980, 0x597C, 0x5985, 0x597B, 
+    0x597E, 0x5977, 0x597F, 0x5B56, 0x5C15, 0x5C25, 0x5C7C, 0x5C7A, 0x5C7B, 
+    0x5C7E, 0x5DDF, 0x5E75, 0x5E84, 0x5F02, 0x5F1A, 0x5F74, 0x5FD5, 0x5FD4, 
+    0x5FCF, 0x625C, 0x625E, 0x6264, 0x6261, 0x6266, 0x6262, 0x6259, 0x6260, 
+    0x625A, 0x6265, 0x65EF, 0x65EE, 0x673E, 0x6739, 0x6738, 0x673B, 0x673A, 
+    0x673F, 0x673C, 0x6733, 0x6C18, 0x6C46, 0x6C52, 0x6C5C, 0x6C4F, 0x6C4A, 
+    0x6C54, 0x6C4B},
+    {0x6C4C, 0x7071, 0x725E, 0x72B4, 0x72B5, 0x738E, 0x752A, 0x767F, 0x7A75, 
+    0x7F51, 0x8278, 0x827C, 0x8280, 0x827D, 0x827F, 0x864D, 0x897E, 0x9099, 
+    0x9097, 0x9098, 0x909B, 0x9094, 0x9622, 0x9624, 0x9620, 0x9623, 0x4F56, 
+    0x4F3B, 0x4F62, 0x4F49, 0x4F53, 0x4F64, 0x4F3E, 0x4F67, 0x4F52, 0x4F5F, 
+    0x4F41, 0x4F58, 0x4F2D, 0x4F33, 0x4F3F, 0x4F61, 0x518F, 0x51B9, 0x521C, 
+    0x521E, 0x5221, 0x52AD, 0x52AE, 0x5309, 0x5363, 0x5372, 0x538E, 0x538F, 
+    0x5430, 0x5437, 0x542A, 0x5454, 0x5445, 0x5419, 0x541C, 0x5425, 0x5418, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 0x543D, 0x544F, 
+    0x5441, 0x5428, 0x5424, 0x5447, 0x56EE, 0x56E7, 0x56E5, 0x5741, 0x5745, 
+    0x574C, 0x5749, 0x574B, 0x5752, 0x5906, 0x5940, 0x59A6, 0x5998, 0x59A0, 
+    0x5997, 0x598E, 0x59A2, 0x5990, 0x598F, 0x59A7, 0x59A1, 0x5B8E, 0x5B92, 
+    0x5C28, 0x5C2A, 0x5C8D, 0x5C8F, 0x5C88, 0x5C8B, 0x5C89, 0x5C92, 0x5C8A, 
+    0x5C86, 0x5C93, 0x5C95, 0x5DE0, 0x5E0A, 0x5E0E, 0x5E8B, 0x5E89, 0x5E8C, 
+    0x5E88, 0x5E8D, 0x5F05, 0x5F1D, 0x5F78, 0x5F76, 0x5FD2, 0x5FD1, 0x5FD0, 
+    0x5FED, 0x5FE8, 0x5FEE, 0x5FF3, 0x5FE1, 0x5FE4, 0x5FE3, 0x5FFA, 0x5FEF, 
+    0x5FF7, 0x5FFB, 0x6000, 0x5FF4, 0x623A, 0x6283, 0x628C, 0x628E, 0x628F, 
+    0x6294, 0x6287, 0x6271, 0x627B, 0x627A, 0x6270, 0x6281, 0x6288, 0x6277, 
+    0x627D, 0x6272, 0x6274, 0x6537, 0x65F0, 0x65F4, 0x65F3, 0x65F2, 0x65F5, 
+    0x6745, 0x6747},
+    {0x6759, 0x6755, 0x674C, 0x6748, 0x675D, 0x674D, 0x675A, 0x674B, 0x6BD0, 
+    0x6C19, 0x6C1A, 0x6C78, 0x6C67, 0x6C6B, 0x6C84, 0x6C8B, 0x6C8F, 0x6C71, 
+    0x6C6F, 0x6C69, 0x6C9A, 0x6C6D, 0x6C87, 0x6C95, 0x6C9C, 0x6C66, 0x6C73, 
+    0x6C65, 0x6C7B, 0x6C8E, 0x7074, 0x707A, 0x7263, 0x72BF, 0x72BD, 0x72C3, 
+    0x72C6, 0x72C1, 0x72BA, 0x72C5, 0x7395, 0x7397, 0x7393, 0x7394, 0x7392, 
+    0x753A, 0x7539, 0x7594, 0x7595, 0x7681, 0x793D, 0x8034, 0x8095, 0x8099, 
+    0x8090, 0x8092, 0x809C, 0x8290, 0x828F, 0x8285, 0x828E, 0x8291, 0x8293, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 0x828A, 0x8283, 
+    0x8284, 0x8C78, 0x8FC9, 0x8FBF, 0x909F, 0x90A1, 0x90A5, 0x909E, 0x90A7, 
+    0x90A0, 0x9630, 0x9628, 0x962F, 0x962D, 0x4E33, 0x4F98, 0x4F7C, 0x4F85, 
+    0x4F7D, 0x4F80, 0x4F87, 0x4F76, 0x4F74, 0x4F89, 0x4F84, 0x4F77, 0x4F4C, 
+    0x4F97, 0x4F6A, 0x4F9A, 0x4F79, 0x4F81, 0x4F78, 0x4F90, 0x4F9C, 0x4F94, 
+    0x4F9E, 0x4F92, 0x4F82, 0x4F95, 0x4F6B, 0x4F6E, 0x519E, 0x51BC, 0x51BE, 
+    0x5235, 0x5232, 0x5233, 0x5246, 0x5231, 0x52BC, 0x530A, 0x530B, 0x533C, 
+    0x5392, 0x5394, 0x5487, 0x547F, 0x5481, 0x5491, 0x5482, 0x5488, 0x546B, 
+    0x547A, 0x547E, 0x5465, 0x546C, 0x5474, 0x5466, 0x548D, 0x546F, 0x5461, 
+    0x5460, 0x5498, 0x5463, 0x5467, 0x5464, 0x56F7, 0x56F9, 0x576F, 0x5772, 
+    0x576D, 0x576B, 0x5771, 0x5770, 0x5776, 0x5780, 0x5775, 0x577B, 0x5773, 
+    0x5774, 0x5762},
+    {0x5768, 0x577D, 0x590C, 0x5945, 0x59B5, 0x59BA, 0x59CF, 0x59CE, 0x59B2, 
+    0x59CC, 0x59C1, 0x59B6, 0x59BC, 0x59C3, 0x59D6, 0x59B1, 0x59BD, 0x59C0, 
+    0x59C8, 0x59B4, 0x59C7, 0x5B62, 0x5B65, 0x5B93, 0x5B95, 0x5C44, 0x5C47, 
+    0x5CAE, 0x5CA4, 0x5CA0, 0x5CB5, 0x5CAF, 0x5CA8, 0x5CAC, 0x5C9F, 0x5CA3, 
+    0x5CAD, 0x5CA2, 0x5CAA, 0x5CA7, 0x5C9D, 0x5CA5, 0x5CB6, 0x5CB0, 0x5CA6, 
+    0x5E17, 0x5E14, 0x5E19, 0x5F28, 0x5F22, 0x5F23, 0x5F24, 0x5F54, 0x5F82, 
+    0x5F7E, 0x5F7D, 0x5FDE, 0x5FE5, 0x602D, 0x6026, 0x6019, 0x6032, 0x600B, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 0x6034, 0x600A, 
+    0x6017, 0x6033, 0x601A, 0x601E, 0x602C, 0x6022, 0x600D, 0x6010, 0x602E, 
+    0x6013, 0x6011, 0x600C, 0x6009, 0x601C, 0x6214, 0x623D, 0x62AD, 0x62B4, 
+    0x62D1, 0x62BE, 0x62AA, 0x62B6, 0x62CA, 0x62AE, 0x62B3, 0x62AF, 0x62BB, 
+    0x62A9, 0x62B0, 0x62B8, 0x653D, 0x65A8, 0x65BB, 0x6609, 0x65FC, 0x6604, 
+    0x6612, 0x6608, 0x65FB, 0x6603, 0x660B, 0x660D, 0x6605, 0x65FD, 0x6611, 
+    0x6610, 0x66F6, 0x670A, 0x6785, 0x676C, 0x678E, 0x6792, 0x6776, 0x677B, 
+    0x6798, 0x6786, 0x6784, 0x6774, 0x678D, 0x678C, 0x677A, 0x679F, 0x6791, 
+    0x6799, 0x6783, 0x677D, 0x6781, 0x6778, 0x6779, 0x6794, 0x6B25, 0x6B80, 
+    0x6B7E, 0x6BDE, 0x6C1D, 0x6C93, 0x6CEC, 0x6CEB, 0x6CEE, 0x6CD9, 0x6CB6, 
+    0x6CD4, 0x6CAD, 0x6CE7, 0x6CB7, 0x6CD0, 0x6CC2, 0x6CBA, 0x6CC3, 0x6CC6, 
+    0x6CED, 0x6CF2},
+    {0x6CD2, 0x6CDD, 0x6CB4, 0x6C8A, 0x6C9D, 0x6C80, 0x6CDE, 0x6CC0, 0x6D30, 
+    0x6CCD, 0x6CC7, 0x6CB0, 0x6CF9, 0x6CCF, 0x6CE9, 0x6CD1, 0x7094, 0x7098, 
+    0x7085, 0x7093, 0x7086, 0x7084, 0x7091, 0x7096, 0x7082, 0x709A, 0x7083, 
+    0x726A, 0x72D6, 0x72CB, 0x72D8, 0x72C9, 0x72DC, 0x72D2, 0x72D4, 0x72DA, 
+    0x72CC, 0x72D1, 0x73A4, 0x73A1, 0x73AD, 0x73A6, 0x73A2, 0x73A0, 0x73AC, 
+    0x739D, 0x74DD, 0x74E8, 0x753F, 0x7540, 0x753E, 0x758C, 0x7598, 0x76AF, 
+    0x76F3, 0x76F1, 0x76F0, 0x76F5, 0x77F8, 0x77FC, 0x77F9, 0x77FB, 0x77FA, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 0x77F7, 0x7942, 
+    0x793F, 0x79C5, 0x7A78, 0x7A7B, 0x7AFB, 0x7C75, 0x7CFD, 0x8035, 0x808F, 
+    0x80AE, 0x80A3, 0x80B8, 0x80B5, 0x80AD, 0x8220, 0x82A0, 0x82C0, 0x82AB, 
+    0x829A, 0x8298, 0x829B, 0x82B5, 0x82A7, 0x82AE, 0x82BC, 0x829E, 0x82BA, 
+    0x82B4, 0x82A8, 0x82A1, 0x82A9, 0x82C2, 0x82A4, 0x82C3, 0x82B6, 0x82A2, 
+    0x8670, 0x866F, 0x866D, 0x866E, 0x8C56, 0x8FD2, 0x8FCB, 0x8FD3, 0x8FCD, 
+    0x8FD6, 0x8FD5, 0x8FD7, 0x90B2, 0x90B4, 0x90AF, 0x90B3, 0x90B0, 0x9639, 
+    0x963D, 0x963C, 0x963A, 0x9643, 0x4FCD, 0x4FC5, 0x4FD3, 0x4FB2, 0x4FC9, 
+    0x4FCB, 0x4FC1, 0x4FD4, 0x4FDC, 0x4FD9, 0x4FBB, 0x4FB3, 0x4FDB, 0x4FC7, 
+    0x4FD6, 0x4FBA, 0x4FC0, 0x4FB9, 0x4FEC, 0x5244, 0x5249, 0x52C0, 0x52C2, 
+    0x533D, 0x537C, 0x5397, 0x5396, 0x5399, 0x5398, 0x54BA, 0x54A1, 0x54AD, 
+    0x54A5, 0x54CF},
+    {0x54C3, 0x830D, 0x54B7, 0x54AE, 0x54D6, 0x54B6, 0x54C5, 0x54C6, 0x54A0, 
+    0x5470, 0x54BC, 0x54A2, 0x54BE, 0x5472, 0x54DE, 0x54B0, 0x57B5, 0x579E, 
+    0x579F, 0x57A4, 0x578C, 0x5797, 0x579D, 0x579B, 0x5794, 0x5798, 0x578F, 
+    0x5799, 0x57A5, 0x579A, 0x5795, 0x58F4, 0x590D, 0x5953, 0x59E1, 0x59DE, 
+    0x59EE, 0x5A00, 0x59F1, 0x59DD, 0x59FA, 0x59FD, 0x59FC, 0x59F6, 0x59E4, 
+    0x59F2, 0x59F7, 0x59DB, 0x59E9, 0x59F3, 0x59F5, 0x59E0, 0x59FE, 0x59F4, 
+    0x59ED, 0x5BA8, 0x5C4C, 0x5CD0, 0x5CD8, 0x5CCC, 0x5CD7, 0x5CCB, 0x5CDB, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 0x5CDE, 0x5CDA, 
+    0x5CC9, 0x5CC7, 0x5CCA, 0x5CD6, 0x5CD3, 0x5CD4, 0x5CCF, 0x5CC8, 0x5CC6, 
+    0x5CCE, 0x5CDF, 0x5CF8, 0x5DF9, 0x5E21, 0x5E22, 0x5E23, 0x5E20, 0x5E24, 
+    0x5EB0, 0x5EA4, 0x5EA2, 0x5E9B, 0x5EA3, 0x5EA5, 0x5F07, 0x5F2E, 0x5F56, 
+    0x5F86, 0x6037, 0x6039, 0x6054, 0x6072, 0x605E, 0x6045, 0x6053, 0x6047, 
+    0x6049, 0x605B, 0x604C, 0x6040, 0x6042, 0x605F, 0x6024, 0x6044, 0x6058, 
+    0x6066, 0x606E, 0x6242, 0x6243, 0x62CF, 0x630D, 0x630B, 0x62F5, 0x630E, 
+    0x6303, 0x62EB, 0x62F9, 0x630F, 0x630C, 0x62F8, 0x62F6, 0x6300, 0x6313, 
+    0x6314, 0x62FA, 0x6315, 0x62FB, 0x62F0, 0x6541, 0x6543, 0x65AA, 0x65BF, 
+    0x6636, 0x6621, 0x6632, 0x6635, 0x661C, 0x6626, 0x6622, 0x6633, 0x662B, 
+    0x663A, 0x661D, 0x6634, 0x6639, 0x662E, 0x670F, 0x6710, 0x67C1, 0x67F2, 
+    0x67C8, 0x67BA},
+    {0x67DC, 0x67BB, 0x67F8, 0x67D8, 0x67C0, 0x67B7, 0x67C5, 0x67EB, 0x67E4, 
+    0x67DF, 0x67B5, 0x67CD, 0x67B3, 0x67F7, 0x67F6, 0x67EE, 0x67E3, 0x67C2, 
+    0x67B9, 0x67CE, 0x67E7, 0x67F0, 0x67B2, 0x67FC, 0x67C6, 0x67ED, 0x67CC, 
+    0x67AE, 0x67E6, 0x67DB, 0x67FA, 0x67C9, 0x67CA, 0x67C3, 0x67EA, 0x67CB, 
+    0x6B28, 0x6B82, 0x6B84, 0x6BB6, 0x6BD6, 0x6BD8, 0x6BE0, 0x6C20, 0x6C21, 
+    0x6D28, 0x6D34, 0x6D2D, 0x6D1F, 0x6D3C, 0x6D3F, 0x6D12, 0x6D0A, 0x6CDA, 
+    0x6D33, 0x6D04, 0x6D19, 0x6D3A, 0x6D1A, 0x6D11, 0x6D00, 0x6D1D, 0x6D42, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 0x6D01, 0x6D18, 
+    0x6D37, 0x6D03, 0x6D0F, 0x6D40, 0x6D07, 0x6D20, 0x6D2C, 0x6D08, 0x6D22, 
+    0x6D09, 0x6D10, 0x70B7, 0x709F, 0x70BE, 0x70B1, 0x70B0, 0x70A1, 0x70B4, 
+    0x70B5, 0x70A9, 0x7241, 0x7249, 0x724A, 0x726C, 0x7270, 0x7273, 0x726E, 
+    0x72CA, 0x72E4, 0x72E8, 0x72EB, 0x72DF, 0x72EA, 0x72E6, 0x72E3, 0x7385, 
+    0x73CC, 0x73C2, 0x73C8, 0x73C5, 0x73B9, 0x73B6, 0x73B5, 0x73B4, 0x73EB, 
+    0x73BF, 0x73C7, 0x73BE, 0x73C3, 0x73C6, 0x73B8, 0x73CB, 0x74EC, 0x74EE, 
+    0x752E, 0x7547, 0x7548, 0x75A7, 0x75AA, 0x7679, 0x76C4, 0x7708, 0x7703, 
+    0x7704, 0x7705, 0x770A, 0x76F7, 0x76FB, 0x76FA, 0x77E7, 0x77E8, 0x7806, 
+    0x7811, 0x7812, 0x7805, 0x7810, 0x780F, 0x780E, 0x7809, 0x7803, 0x7813, 
+    0x794A, 0x794C, 0x794B, 0x7945, 0x7944, 0x79D5, 0x79CD, 0x79CF, 0x79D6, 
+    0x79CE, 0x7A80},
+    {0x7A7E, 0x7AD1, 0x7B00, 0x7B01, 0x7C7A, 0x7C78, 0x7C79, 0x7C7F, 0x7C80, 
+    0x7C81, 0x7D03, 0x7D08, 0x7D01, 0x7F58, 0x7F91, 0x7F8D, 0x7FBE, 0x8007, 
+    0x800E, 0x800F, 0x8014, 0x8037, 0x80D8, 0x80C7, 0x80E0, 0x80D1, 0x80C8, 
+    0x80C2, 0x80D0, 0x80C5, 0x80E3, 0x80D9, 0x80DC, 0x80CA, 0x80D5, 0x80C9, 
+    0x80CF, 0x80D7, 0x80E6, 0x80CD, 0x81FF, 0x8221, 0x8294, 0x82D9, 0x82FE, 
+    0x82F9, 0x8307, 0x82E8, 0x8300, 0x82D5, 0x833A, 0x82EB, 0x82D6, 0x82F4, 
+    0x82EC, 0x82E1, 0x82F2, 0x82F5, 0x830C, 0x82FB, 0x82F6, 0x82F0, 0x82EA, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 0x82E4, 0x82E0, 
+    0x82FA, 0x82F3, 0x82ED, 0x8677, 0x8674, 0x867C, 0x8673, 0x8841, 0x884E, 
+    0x8867, 0x886A, 0x8869, 0x89D3, 0x8A04, 0x8A07, 0x8D72, 0x8FE3, 0x8FE1, 
+    0x8FEE, 0x8FE0, 0x90F1, 0x90BD, 0x90BF, 0x90D5, 0x90C5, 0x90BE, 0x90C7, 
+    0x90CB, 0x90C8, 0x91D4, 0x91D3, 0x9654, 0x964F, 0x9651, 0x9653, 0x964A, 
+    0x964E, 0x501E, 0x5005, 0x5007, 0x5013, 0x5022, 0x5030, 0x501B, 0x4FF5, 
+    0x4FF4, 0x5033, 0x5037, 0x502C, 0x4FF6, 0x4FF7, 0x5017, 0x501C, 0x5020, 
+    0x5027, 0x5035, 0x502F, 0x5031, 0x500E, 0x515A, 0x5194, 0x5193, 0x51CA, 
+    0x51C4, 0x51C5, 0x51C8, 0x51CE, 0x5261, 0x525A, 0x5252, 0x525E, 0x525F, 
+    0x5255, 0x5262, 0x52CD, 0x530E, 0x539E, 0x5526, 0x54E2, 0x5517, 0x5512, 
+    0x54E7, 0x54F3, 0x54E4, 0x551A, 0x54FF, 0x5504, 0x5508, 0x54EB, 0x5511, 
+    0x5505, 0x54F1},
+    {0x550A, 0x54FB, 0x54F7, 0x54F8, 0x54E0, 0x550E, 0x5503, 0x550B, 0x5701, 
+    0x5702, 0x57CC, 0x5832, 0x57D5, 0x57D2, 0x57BA, 0x57C6, 0x57BD, 0x57BC, 
+    0x57B8, 0x57B6, 0x57BF, 0x57C7, 0x57D0, 0x57B9, 0x57C1, 0x590E, 0x594A, 
+    0x5A19, 0x5A16, 0x5A2D, 0x5A2E, 0x5A15, 0x5A0F, 0x5A17, 0x5A0A, 0x5A1E, 
+    0x5A33, 0x5B6C, 0x5BA7, 0x5BAD, 0x5BAC, 0x5C03, 0x5C56, 0x5C54, 0x5CEC, 
+    0x5CFF, 0x5CEE, 0x5CF1, 0x5CF7, 0x5D00, 0x5CF9, 0x5E29, 0x5E28, 0x5EA8, 
+    0x5EAE, 0x5EAA, 0x5EAC, 0x5F33, 0x5F30, 0x5F67, 0x605D, 0x605A, 0x6067, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 0x6041, 0x60A2, 
+    0x6088, 0x6080, 0x6092, 0x6081, 0x609D, 0x6083, 0x6095, 0x609B, 0x6097, 
+    0x6087, 0x609C, 0x608E, 0x6219, 0x6246, 0x62F2, 0x6310, 0x6356, 0x632C, 
+    0x6344, 0x6345, 0x6336, 0x6343, 0x63E4, 0x6339, 0x634B, 0x634A, 0x633C, 
+    0x6329, 0x6341, 0x6334, 0x6358, 0x6354, 0x6359, 0x632D, 0x6347, 0x6333, 
+    0x635A, 0x6351, 0x6338, 0x6357, 0x6340, 0x6348, 0x654A, 0x6546, 0x65C6, 
+    0x65C3, 0x65C4, 0x65C2, 0x664A, 0x665F, 0x6647, 0x6651, 0x6712, 0x6713, 
+    0x681F, 0x681A, 0x6849, 0x6832, 0x6833, 0x683B, 0x684B, 0x684F, 0x6816, 
+    0x6831, 0x681C, 0x6835, 0x682B, 0x682D, 0x682F, 0x684E, 0x6844, 0x6834, 
+    0x681D, 0x6812, 0x6814, 0x6826, 0x6828, 0x682E, 0x684D, 0x683A, 0x6825, 
+    0x6820, 0x6B2C, 0x6B2F, 0x6B2D, 0x6B31, 0x6B34, 0x6B6D, 0x8082, 0x6B88, 
+    0x6BE6, 0x6BE4},
+    {0x6BE8, 0x6BE3, 0x6BE2, 0x6BE7, 0x6C25, 0x6D7A, 0x6D63, 0x6D64, 0x6D76, 
+    0x6D0D, 0x6D61, 0x6D92, 0x6D58, 0x6D62, 0x6D6D, 0x6D6F, 0x6D91, 0x6D8D, 
+    0x6DEF, 0x6D7F, 0x6D86, 0x6D5E, 0x6D67, 0x6D60, 0x6D97, 0x6D70, 0x6D7C, 
+    0x6D5F, 0x6D82, 0x6D98, 0x6D2F, 0x6D68, 0x6D8B, 0x6D7E, 0x6D80, 0x6D84, 
+    0x6D16, 0x6D83, 0x6D7B, 0x6D7D, 0x6D75, 0x6D90, 0x70DC, 0x70D3, 0x70D1, 
+    0x70DD, 0x70CB, 0x7F39, 0x70E2, 0x70D7, 0x70D2, 0x70DE, 0x70E0, 0x70D4, 
+    0x70CD, 0x70C5, 0x70C6, 0x70C7, 0x70DA, 0x70CE, 0x70E1, 0x7242, 0x7278, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 0x7277, 0x7276, 
+    0x7300, 0x72FA, 0x72F4, 0x72FE, 0x72F6, 0x72F3, 0x72FB, 0x7301, 0x73D3, 
+    0x73D9, 0x73E5, 0x73D6, 0x73BC, 0x73E7, 0x73E3, 0x73E9, 0x73DC, 0x73D2, 
+    0x73DB, 0x73D4, 0x73DD, 0x73DA, 0x73D7, 0x73D8, 0x73E8, 0x74DE, 0x74DF, 
+    0x74F4, 0x74F5, 0x7521, 0x755B, 0x755F, 0x75B0, 0x75C1, 0x75BB, 0x75C4, 
+    0x75C0, 0x75BF, 0x75B6, 0x75BA, 0x768A, 0x76C9, 0x771D, 0x771B, 0x7710, 
+    0x7713, 0x7712, 0x7723, 0x7711, 0x7715, 0x7719, 0x771A, 0x7722, 0x7727, 
+    0x7823, 0x782C, 0x7822, 0x7835, 0x782F, 0x7828, 0x782E, 0x782B, 0x7821, 
+    0x7829, 0x7833, 0x782A, 0x7831, 0x7954, 0x795B, 0x794F, 0x795C, 0x7953, 
+    0x7952, 0x7951, 0x79EB, 0x79EC, 0x79E0, 0x79EE, 0x79ED, 0x79EA, 0x79DC, 
+    0x79DE, 0x79DD, 0x7A86, 0x7A89, 0x7A85, 0x7A8B, 0x7A8C, 0x7A8A, 0x7A87, 
+    0x7AD8, 0x7B10},
+    {0x7B04, 0x7B13, 0x7B05, 0x7B0F, 0x7B08, 0x7B0A, 0x7B0E, 0x7B09, 0x7B12, 
+    0x7C84, 0x7C91, 0x7C8A, 0x7C8C, 0x7C88, 0x7C8D, 0x7C85, 0x7D1E, 0x7D1D, 
+    0x7D11, 0x7D0E, 0x7D18, 0x7D16, 0x7D13, 0x7D1F, 0x7D12, 0x7D0F, 0x7D0C, 
+    0x7F5C, 0x7F61, 0x7F5E, 0x7F60, 0x7F5D, 0x7F5B, 0x7F96, 0x7F92, 0x7FC3, 
+    0x7FC2, 0x7FC0, 0x8016, 0x803E, 0x8039, 0x80FA, 0x80F2, 0x80F9, 0x80F5, 
+    0x8101, 0x80FB, 0x8100, 0x8201, 0x822F, 0x8225, 0x8333, 0x832D, 0x8344, 
+    0x8319, 0x8351, 0x8325, 0x8356, 0x833F, 0x8341, 0x8326, 0x831C, 0x8322, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 0x8342, 0x834E, 
+    0x831B, 0x832A, 0x8308, 0x833C, 0x834D, 0x8316, 0x8324, 0x8320, 0x8337, 
+    0x832F, 0x8329, 0x8347, 0x8345, 0x834C, 0x8353, 0x831E, 0x832C, 0x834B, 
+    0x8327, 0x8348, 0x8653, 0x8652, 0x86A2, 0x86A8, 0x8696, 0x868D, 0x8691, 
+    0x869E, 0x8687, 0x8697, 0x8686, 0x868B, 0x869A, 0x8685, 0x86A5, 0x8699, 
+    0x86A1, 0x86A7, 0x8695, 0x8698, 0x868E, 0x869D, 0x8690, 0x8694, 0x8843, 
+    0x8844, 0x886D, 0x8875, 0x8876, 0x8872, 0x8880, 0x8871, 0x887F, 0x886F, 
+    0x8883, 0x887E, 0x8874, 0x887C, 0x8A12, 0x8C47, 0x8C57, 0x8C7B, 0x8CA4, 
+    0x8CA3, 0x8D76, 0x8D78, 0x8DB5, 0x8DB7, 0x8DB6, 0x8ED1, 0x8ED3, 0x8FFE, 
+    0x8FF5, 0x9002, 0x8FFF, 0x8FFB, 0x9004, 0x8FFC, 0x8FF6, 0x90D6, 0x90E0, 
+    0x90D9, 0x90DA, 0x90E3, 0x90DF, 0x90E5, 0x90D8, 0x90DB, 0x90D7, 0x90DC, 
+    0x90E4, 0x9150},
+    {0x914E, 0x914F, 0x91D5, 0x91E2, 0x91DA, 0x965C, 0x965F, 0x96BC, 0x98E3, 
+    0x9ADF, 0x9B2F, 0x4E7F, 0x5070, 0x506A, 0x5061, 0x505E, 0x5060, 0x5053, 
+    0x504B, 0x505D, 0x5072, 0x5048, 0x504D, 0x5041, 0x505B, 0x504A, 0x5062, 
+    0x5015, 0x5045, 0x505F, 0x5069, 0x506B, 0x5063, 0x5064, 0x5046, 0x5040, 
+    0x506E, 0x5073, 0x5057, 0x5051, 0x51D0, 0x526B, 0x526D, 0x526C, 0x526E, 
+    0x52D6, 0x52D3, 0x532D, 0x539C, 0x5575, 0x5576, 0x553C, 0x554D, 0x5550, 
+    0x5534, 0x552A, 0x5551, 0x5562, 0x5536, 0x5535, 0x5530, 0x5552, 0x5545, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 0x550C, 0x5532, 
+    0x5565, 0x554E, 0x5539, 0x5548, 0x552D, 0x553B, 0x5540, 0x554B, 0x570A, 
+    0x5707, 0x57FB, 0x5814, 0x57E2, 0x57F6, 0x57DC, 0x57F4, 0x5800, 0x57ED, 
+    0x57FD, 0x5808, 0x57F8, 0x580B, 0x57F3, 0x57CF, 0x5807, 0x57EE, 0x57E3, 
+    0x57F2, 0x57E5, 0x57EC, 0x57E1, 0x580E, 0x57FC, 0x5810, 0x57E7, 0x5801, 
+    0x580C, 0x57F1, 0x57E9, 0x57F0, 0x580D, 0x5804, 0x595C, 0x5A60, 0x5A58, 
+    0x5A55, 0x5A67, 0x5A5E, 0x5A38, 0x5A35, 0x5A6D, 0x5A50, 0x5A5F, 0x5A65, 
+    0x5A6C, 0x5A53, 0x5A64, 0x5A57, 0x5A43, 0x5A5D, 0x5A52, 0x5A44, 0x5A5B, 
+    0x5A48, 0x5A8E, 0x5A3E, 0x5A4D, 0x5A39, 0x5A4C, 0x5A70, 0x5A69, 0x5A47, 
+    0x5A51, 0x5A56, 0x5A42, 0x5A5C, 0x5B72, 0x5B6E, 0x5BC1, 0x5BC0, 0x5C59, 
+    0x5D1E, 0x5D0B, 0x5D1D, 0x5D1A, 0x5D20, 0x5D0C, 0x5D28, 0x5D0D, 0x5D26, 
+    0x5D25, 0x5D0F},
+    {0x5D30, 0x5D12, 0x5D23, 0x5D1F, 0x5D2E, 0x5E3E, 0x5E34, 0x5EB1, 0x5EB4, 
+    0x5EB9, 0x5EB2, 0x5EB3, 0x5F36, 0x5F38, 0x5F9B, 0x5F96, 0x5F9F, 0x608A, 
+    0x6090, 0x6086, 0x60BE, 0x60B0, 0x60BA, 0x60D3, 0x60D4, 0x60CF, 0x60E4, 
+    0x60D9, 0x60DD, 0x60C8, 0x60B1, 0x60DB, 0x60B7, 0x60CA, 0x60BF, 0x60C3, 
+    0x60CD, 0x60C0, 0x6332, 0x6365, 0x638A, 0x6382, 0x637D, 0x63BD, 0x639E, 
+    0x63AD, 0x639D, 0x6397, 0x63AB, 0x638E, 0x636F, 0x6387, 0x6390, 0x636E, 
+    0x63AF, 0x6375, 0x639C, 0x636D, 0x63AE, 0x637C, 0x63A4, 0x633B, 0x639F, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 0x6378, 0x6385, 
+    0x6381, 0x6391, 0x638D, 0x6370, 0x6553, 0x65CD, 0x6665, 0x6661, 0x665B, 
+    0x6659, 0x665C, 0x6662, 0x6718, 0x6879, 0x6887, 0x6890, 0x689C, 0x686D, 
+    0x686E, 0x68AE, 0x68AB, 0x6956, 0x686F, 0x68A3, 0x68AC, 0x68A9, 0x6875, 
+    0x6874, 0x68B2, 0x688F, 0x6877, 0x6892, 0x687C, 0x686B, 0x6872, 0x68AA, 
+    0x6880, 0x6871, 0x687E, 0x689B, 0x6896, 0x688B, 0x68A0, 0x6889, 0x68A4, 
+    0x6878, 0x687B, 0x6891, 0x688C, 0x688A, 0x687D, 0x6B36, 0x6B33, 0x6B37, 
+    0x6B38, 0x6B91, 0x6B8F, 0x6B8D, 0x6B8E, 0x6B8C, 0x6C2A, 0x6DC0, 0x6DAB, 
+    0x6DB4, 0x6DB3, 0x6E74, 0x6DAC, 0x6DE9, 0x6DE2, 0x6DB7, 0x6DF6, 0x6DD4, 
+    0x6E00, 0x6DC8, 0x6DE0, 0x6DDF, 0x6DD6, 0x6DBE, 0x6DE5, 0x6DDC, 0x6DDD, 
+    0x6DDB, 0x6DF4, 0x6DCA, 0x6DBD, 0x6DED, 0x6DF0, 0x6DBA, 0x6DD5, 0x6DC2, 
+    0x6DCF, 0x6DC9},
+    {0x6DD0, 0x6DF2, 0x6DD3, 0x6DFD, 0x6DD7, 0x6DCD, 0x6DE3, 0x6DBB, 0x70FA, 
+    0x710D, 0x70F7, 0x7117, 0x70F4, 0x710C, 0x70F0, 0x7104, 0x70F3, 0x7110, 
+    0x70FC, 0x70FF, 0x7106, 0x7113, 0x7100, 0x70F8, 0x70F6, 0x710B, 0x7102, 
+    0x710E, 0x727E, 0x727B, 0x727C, 0x727F, 0x731D, 0x7317, 0x7307, 0x7311, 
+    0x7318, 0x730A, 0x7308, 0x72FF, 0x730F, 0x731E, 0x7388, 0x73F6, 0x73F8, 
+    0x73F5, 0x7404, 0x7401, 0x73FD, 0x7407, 0x7400, 0x73FA, 0x73FC, 0x73FF, 
+    0x740C, 0x740B, 0x73F4, 0x7408, 0x7564, 0x7563, 0x75CE, 0x75D2, 0x75CF, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 0x75CB, 0x75CC, 
+    0x75D1, 0x75D0, 0x768F, 0x7689, 0x76D3, 0x7739, 0x772F, 0x772D, 0x7731, 
+    0x7732, 0x7734, 0x7733, 0x773D, 0x7725, 0x773B, 0x7735, 0x7848, 0x7852, 
+    0x7849, 0x784D, 0x784A, 0x784C, 0x7826, 0x7845, 0x7850, 0x7964, 0x7967, 
+    0x7969, 0x796A, 0x7963, 0x796B, 0x7961, 0x79BB, 0x79FA, 0x79F8, 0x79F6, 
+    0x79F7, 0x7A8F, 0x7A94, 0x7A90, 0x7B35, 0x7B47, 0x7B34, 0x7B25, 0x7B30, 
+    0x7B22, 0x7B24, 0x7B33, 0x7B18, 0x7B2A, 0x7B1D, 0x7B31, 0x7B2B, 0x7B2D, 
+    0x7B2F, 0x7B32, 0x7B38, 0x7B1A, 0x7B23, 0x7C94, 0x7C98, 0x7C96, 0x7CA3, 
+    0x7D35, 0x7D3D, 0x7D38, 0x7D36, 0x7D3A, 0x7D45, 0x7D2C, 0x7D29, 0x7D41, 
+    0x7D47, 0x7D3E, 0x7D3F, 0x7D4A, 0x7D3B, 0x7D28, 0x7F63, 0x7F95, 0x7F9C, 
+    0x7F9D, 0x7F9B, 0x7FCA, 0x7FCB, 0x7FCD, 0x7FD0, 0x7FD1, 0x7FC7, 0x7FCF, 
+    0x7FC9, 0x801F},
+    {0x801E, 0x801B, 0x8047, 0x8043, 0x8048, 0x8118, 0x8125, 0x8119, 0x811B, 
+    0x812D, 0x811F, 0x812C, 0x811E, 0x8121, 0x8115, 0x8127, 0x811D, 0x8122, 
+    0x8211, 0x8238, 0x8233, 0x823A, 0x8234, 0x8232, 0x8274, 0x8390, 0x83A3, 
+    0x83A8, 0x838D, 0x837A, 0x8373, 0x83A4, 0x8374, 0x838F, 0x8381, 0x8395, 
+    0x8399, 0x8375, 0x8394, 0x83A9, 0x837D, 0x8383, 0x838C, 0x839D, 0x839B, 
+    0x83AA, 0x838B, 0x837E, 0x83A5, 0x83AF, 0x8388, 0x8397, 0x83B0, 0x837F, 
+    0x83A6, 0x8387, 0x83AE, 0x8376, 0x839A, 0x8659, 0x8656, 0x86BF, 0x86B7, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 0x86C2, 0x86C1, 
+    0x86C5, 0x86BA, 0x86B0, 0x86C8, 0x86B9, 0x86B3, 0x86B8, 0x86CC, 0x86B4, 
+    0x86BB, 0x86BC, 0x86C3, 0x86BD, 0x86BE, 0x8852, 0x8889, 0x8895, 0x88A8, 
+    0x88A2, 0x88AA, 0x889A, 0x8891, 0x88A1, 0x889F, 0x8898, 0x88A7, 0x8899, 
+    0x889B, 0x8897, 0x88A4, 0x88AC, 0x888C, 0x8893, 0x888E, 0x8982, 0x89D6, 
+    0x89D9, 0x89D5, 0x8A30, 0x8A27, 0x8A2C, 0x8A1E, 0x8C39, 0x8C3B, 0x8C5C, 
+    0x8C5D, 0x8C7D, 0x8CA5, 0x8D7D, 0x8D7B, 0x8D79, 0x8DBC, 0x8DC2, 0x8DB9, 
+    0x8DBF, 0x8DC1, 0x8ED8, 0x8EDE, 0x8EDD, 0x8EDC, 0x8ED7, 0x8EE0, 0x8EE1, 
+    0x9024, 0x900B, 0x9011, 0x901C, 0x900C, 0x9021, 0x90EF, 0x90EA, 0x90F0, 
+    0x90F4, 0x90F2, 0x90F3, 0x90D4, 0x90EB, 0x90EC, 0x90E9, 0x9156, 0x9158, 
+    0x915A, 0x9153, 0x9155, 0x91EC, 0x91F4, 0x91F1, 0x91F3, 0x91F8, 0x91E4, 
+    0x91F9, 0x91EA},
+    {0x91EB, 0x91F7, 0x91E8, 0x91EE, 0x957A, 0x9586, 0x9588, 0x967C, 0x966D, 
+    0x966B, 0x9671, 0x966F, 0x96BF, 0x976A, 0x9804, 0x98E5, 0x9997, 0x509B, 
+    0x5095, 0x5094, 0x509E, 0x508B, 0x50A3, 0x5083, 0x508C, 0x508E, 0x509D, 
+    0x5068, 0x509C, 0x5092, 0x5082, 0x5087, 0x515F, 0x51D4, 0x5312, 0x5311, 
+    0x53A4, 0x53A7, 0x5591, 0x55A8, 0x55A5, 0x55AD, 0x5577, 0x5645, 0x55A2, 
+    0x5593, 0x5588, 0x558F, 0x55B5, 0x5581, 0x55A3, 0x5592, 0x55A4, 0x557D, 
+    0x558C, 0x55A6, 0x557F, 0x5595, 0x55A1, 0x558E, 0x570C, 0x5829, 0x5837, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 0x5819, 0x581E, 
+    0x5827, 0x5823, 0x5828, 0x57F5, 0x5848, 0x5825, 0x581C, 0x581B, 0x5833, 
+    0x583F, 0x5836, 0x582E, 0x5839, 0x5838, 0x582D, 0x582C, 0x583B, 0x5961, 
+    0x5AAF, 0x5A94, 0x5A9F, 0x5A7A, 0x5AA2, 0x5A9E, 0x5A78, 0x5AA6, 0x5A7C, 
+    0x5AA5, 0x5AAC, 0x5A95, 0x5AAE, 0x5A37, 0x5A84, 0x5A8A, 0x5A97, 0x5A83, 
+    0x5A8B, 0x5AA9, 0x5A7B, 0x5A7D, 0x5A8C, 0x5A9C, 0x5A8F, 0x5A93, 0x5A9D, 
+    0x5BEA, 0x5BCD, 0x5BCB, 0x5BD4, 0x5BD1, 0x5BCA, 0x5BCE, 0x5C0C, 0x5C30, 
+    0x5D37, 0x5D43, 0x5D6B, 0x5D41, 0x5D4B, 0x5D3F, 0x5D35, 0x5D51, 0x5D4E, 
+    0x5D55, 0x5D33, 0x5D3A, 0x5D52, 0x5D3D, 0x5D31, 0x5D59, 0x5D42, 0x5D39, 
+    0x5D49, 0x5D38, 0x5D3C, 0x5D32, 0x5D36, 0x5D40, 0x5D45, 0x5E44, 0x5E41, 
+    0x5F58, 0x5FA6, 0x5FA5, 0x5FAB, 0x60C9, 0x60B9, 0x60CC, 0x60E2, 0x60CE, 
+    0x60C4, 0x6114},
+    {0x60F2, 0x610A, 0x6116, 0x6105, 0x60F5, 0x6113, 0x60F8, 0x60FC, 0x60FE, 
+    0x60C1, 0x6103, 0x6118, 0x611D, 0x6110, 0x60FF, 0x6104, 0x610B, 0x624A, 
+    0x6394, 0x63B1, 0x63B0, 0x63CE, 0x63E5, 0x63E8, 0x63EF, 0x63C3, 0x649D, 
+    0x63F3, 0x63CA, 0x63E0, 0x63F6, 0x63D5, 0x63F2, 0x63F5, 0x6461, 0x63DF, 
+    0x63BE, 0x63DD, 0x63DC, 0x63C4, 0x63D8, 0x63D3, 0x63C2, 0x63C7, 0x63CC, 
+    0x63CB, 0x63C8, 0x63F0, 0x63D7, 0x63D9, 0x6532, 0x6567, 0x656A, 0x6564, 
+    0x655C, 0x6568, 0x6565, 0x658C, 0x659D, 0x659E, 0x65AE, 0x65D0, 0x65D2, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 0x667C, 0x666C, 
+    0x667B, 0x6680, 0x6671, 0x6679, 0x666A, 0x6672, 0x6701, 0x690C, 0x68D3, 
+    0x6904, 0x68DC, 0x692A, 0x68EC, 0x68EA, 0x68F1, 0x690F, 0x68D6, 0x68F7, 
+    0x68EB, 0x68E4, 0x68F6, 0x6913, 0x6910, 0x68F3, 0x68E1, 0x6907, 0x68CC, 
+    0x6908, 0x6970, 0x68B4, 0x6911, 0x68EF, 0x68C6, 0x6914, 0x68F8, 0x68D0, 
+    0x68FD, 0x68FC, 0x68E8, 0x690B, 0x690A, 0x6917, 0x68CE, 0x68C8, 0x68DD, 
+    0x68DE, 0x68E6, 0x68F4, 0x68D1, 0x6906, 0x68D4, 0x68E9, 0x6915, 0x6925, 
+    0x68C7, 0x6B39, 0x6B3B, 0x6B3F, 0x6B3C, 0x6B94, 0x6B97, 0x6B99, 0x6B95, 
+    0x6BBD, 0x6BF0, 0x6BF2, 0x6BF3, 0x6C30, 0x6DFC, 0x6E46, 0x6E47, 0x6E1F, 
+    0x6E49, 0x6E88, 0x6E3C, 0x6E3D, 0x6E45, 0x6E62, 0x6E2B, 0x6E3F, 0x6E41, 
+    0x6E5D, 0x6E73, 0x6E1C, 0x6E33, 0x6E4B, 0x6E40, 0x6E51, 0x6E3B, 0x6E03, 
+    0x6E2E, 0x6E5E},
+    {0x6E68, 0x6E5C, 0x6E61, 0x6E31, 0x6E28, 0x6E60, 0x6E71, 0x6E6B, 0x6E39, 
+    0x6E22, 0x6E30, 0x6E53, 0x6E65, 0x6E27, 0x6E78, 0x6E64, 0x6E77, 0x6E55, 
+    0x6E79, 0x6E52, 0x6E66, 0x6E35, 0x6E36, 0x6E5A, 0x7120, 0x711E, 0x712F, 
+    0x70FB, 0x712E, 0x7131, 0x7123, 0x7125, 0x7122, 0x7132, 0x711F, 0x7128, 
+    0x713A, 0x711B, 0x724B, 0x725A, 0x7288, 0x7289, 0x7286, 0x7285, 0x728B, 
+    0x7312, 0x730B, 0x7330, 0x7322, 0x7331, 0x7333, 0x7327, 0x7332, 0x732D, 
+    0x7326, 0x7323, 0x7335, 0x730C, 0x742E, 0x742C, 0x7430, 0x742B, 0x7416, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 0x741A, 0x7421, 
+    0x742D, 0x7431, 0x7424, 0x7423, 0x741D, 0x7429, 0x7420, 0x7432, 0x74FB, 
+    0x752F, 0x756F, 0x756C, 0x75E7, 0x75DA, 0x75E1, 0x75E6, 0x75DD, 0x75DF, 
+    0x75E4, 0x75D7, 0x7695, 0x7692, 0x76DA, 0x7746, 0x7747, 0x7744, 0x774D, 
+    0x7745, 0x774A, 0x774E, 0x774B, 0x774C, 0x77DE, 0x77EC, 0x7860, 0x7864, 
+    0x7865, 0x785C, 0x786D, 0x7871, 0x786A, 0x786E, 0x7870, 0x7869, 0x7868, 
+    0x785E, 0x7862, 0x7974, 0x7973, 0x7972, 0x7970, 0x7A02, 0x7A0A, 0x7A03, 
+    0x7A0C, 0x7A04, 0x7A99, 0x7AE6, 0x7AE4, 0x7B4A, 0x7B3B, 0x7B44, 0x7B48, 
+    0x7B4C, 0x7B4E, 0x7B40, 0x7B58, 0x7B45, 0x7CA2, 0x7C9E, 0x7CA8, 0x7CA1, 
+    0x7D58, 0x7D6F, 0x7D63, 0x7D53, 0x7D56, 0x7D67, 0x7D6A, 0x7D4F, 0x7D6D, 
+    0x7D5C, 0x7D6B, 0x7D52, 0x7D54, 0x7D69, 0x7D51, 0x7D5F, 0x7D4E, 0x7F3E, 
+    0x7F3F, 0x7F65},
+    {0x7F66, 0x7FA2, 0x7FA0, 0x7FA1, 0x7FD7, 0x8051, 0x804F, 0x8050, 0x80FE, 
+    0x80D4, 0x8143, 0x814A, 0x8152, 0x814F, 0x8147, 0x813D, 0x814D, 0x813A, 
+    0x81E6, 0x81EE, 0x81F7, 0x81F8, 0x81F9, 0x8204, 0x823C, 0x823D, 0x823F, 
+    0x8275, 0x833B, 0x83CF, 0x83F9, 0x8423, 0x83C0, 0x83E8, 0x8412, 0x83E7, 
+    0x83E4, 0x83FC, 0x83F6, 0x8410, 0x83C6, 0x83C8, 0x83EB, 0x83E3, 0x83BF, 
+    0x8401, 0x83DD, 0x83E5, 0x83D8, 0x83FF, 0x83E1, 0x83CB, 0x83CE, 0x83D6, 
+    0x83F5, 0x83C9, 0x8409, 0x840F, 0x83DE, 0x8411, 0x8406, 0x83C2, 0x83F3, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 0x83D5, 0x83FA, 
+    0x83C7, 0x83D1, 0x83EA, 0x8413, 0x83C3, 0x83EC, 0x83EE, 0x83C4, 0x83FB, 
+    0x83D7, 0x83E2, 0x841B, 0x83DB, 0x83FE, 0x86D8, 0x86E2, 0x86E6, 0x86D3, 
+    0x86E3, 0x86DA, 0x86EA, 0x86DD, 0x86EB, 0x86DC, 0x86EC, 0x86E9, 0x86D7, 
+    0x86E8, 0x86D1, 0x8848, 0x8856, 0x8855, 0x88BA, 0x88D7, 0x88B9, 0x88B8, 
+    0x88C0, 0x88BE, 0x88B6, 0x88BC, 0x88B7, 0x88BD, 0x88B2, 0x8901, 0x88C9, 
+    0x8995, 0x8998, 0x8997, 0x89DD, 0x89DA, 0x89DB, 0x8A4E, 0x8A4D, 0x8A39, 
+    0x8A59, 0x8A40, 0x8A57, 0x8A58, 0x8A44, 0x8A45, 0x8A52, 0x8A48, 0x8A51, 
+    0x8A4A, 0x8A4C, 0x8A4F, 0x8C5F, 0x8C81, 0x8C80, 0x8CBA, 0x8CBE, 0x8CB0, 
+    0x8CB9, 0x8CB5, 0x8D84, 0x8D80, 0x8D89, 0x8DD8, 0x8DD3, 0x8DCD, 0x8DC7, 
+    0x8DD6, 0x8DDC, 0x8DCF, 0x8DD5, 0x8DD9, 0x8DC8, 0x8DD7, 0x8DC5, 0x8EEF, 
+    0x8EF7, 0x8EFA},
+    {0x8EF9, 0x8EE6, 0x8EEE, 0x8EE5, 0x8EF5, 0x8EE7, 0x8EE8, 0x8EF6, 0x8EEB, 
+    0x8EF1, 0x8EEC, 0x8EF4, 0x8EE9, 0x902D, 0x9034, 0x902F, 0x9106, 0x912C, 
+    0x9104, 0x90FF, 0x90FC, 0x9108, 0x90F9, 0x90FB, 0x9101, 0x9100, 0x9107, 
+    0x9105, 0x9103, 0x9161, 0x9164, 0x915F, 0x9162, 0x9160, 0x9201, 0x920A, 
+    0x9225, 0x9203, 0x921A, 0x9226, 0x920F, 0x920C, 0x9200, 0x9212, 0x91FF, 
+    0x91FD, 0x9206, 0x9204, 0x9227, 0x9202, 0x921C, 0x9224, 0x9219, 0x9217, 
+    0x9205, 0x9216, 0x957B, 0x958D, 0x958C, 0x9590, 0x9687, 0x967E, 0x9688, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 0x9689, 0x9683, 
+    0x9680, 0x96C2, 0x96C8, 0x96C3, 0x96F1, 0x96F0, 0x976C, 0x9770, 0x976E, 
+    0x9807, 0x98A9, 0x98EB, 0x9CE6, 0x9EF9, 0x4E83, 0x4E84, 0x4EB6, 0x50BD, 
+    0x50BF, 0x50C6, 0x50AE, 0x50C4, 0x50CA, 0x50B4, 0x50C8, 0x50C2, 0x50B0, 
+    0x50C1, 0x50BA, 0x50B1, 0x50CB, 0x50C9, 0x50B6, 0x50B8, 0x51D7, 0x527A, 
+    0x5278, 0x527B, 0x527C, 0x55C3, 0x55DB, 0x55CC, 0x55D0, 0x55CB, 0x55CA, 
+    0x55DD, 0x55C0, 0x55D4, 0x55C4, 0x55E9, 0x55BF, 0x55D2, 0x558D, 0x55CF, 
+    0x55D5, 0x55E2, 0x55D6, 0x55C8, 0x55F2, 0x55CD, 0x55D9, 0x55C2, 0x5714, 
+    0x5853, 0x5868, 0x5864, 0x584F, 0x584D, 0x5849, 0x586F, 0x5855, 0x584E, 
+    0x585D, 0x5859, 0x5865, 0x585B, 0x583D, 0x5863, 0x5871, 0x58FC, 0x5AC7, 
+    0x5AC4, 0x5ACB, 0x5ABA, 0x5AB8, 0x5AB1, 0x5AB5, 0x5AB0, 0x5ABF, 0x5AC8, 
+    0x5ABB, 0x5AC6},
+    {0x5AB7, 0x5AC0, 0x5ACA, 0x5AB4, 0x5AB6, 0x5ACD, 0x5AB9, 0x5A90, 0x5BD6, 
+    0x5BD8, 0x5BD9, 0x5C1F, 0x5C33, 0x5D71, 0x5D63, 0x5D4A, 0x5D65, 0x5D72, 
+    0x5D6C, 0x5D5E, 0x5D68, 0x5D67, 0x5D62, 0x5DF0, 0x5E4F, 0x5E4E, 0x5E4A, 
+    0x5E4D, 0x5E4B, 0x5EC5, 0x5ECC, 0x5EC6, 0x5ECB, 0x5EC7, 0x5F40, 0x5FAF, 
+    0x5FAD, 0x60F7, 0x6149, 0x614A, 0x612B, 0x6145, 0x6136, 0x6132, 0x612E, 
+    0x6146, 0x612F, 0x614F, 0x6129, 0x6140, 0x6220, 0x9168, 0x6223, 0x6225, 
+    0x6224, 0x63C5, 0x63F1, 0x63EB, 0x6410, 0x6412, 0x6409, 0x6420, 0x6424, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 0x6433, 0x6443, 
+    0x641F, 0x6415, 0x6418, 0x6439, 0x6437, 0x6422, 0x6423, 0x640C, 0x6426, 
+    0x6430, 0x6428, 0x6441, 0x6435, 0x642F, 0x640A, 0x641A, 0x6440, 0x6425, 
+    0x6427, 0x640B, 0x63E7, 0x641B, 0x642E, 0x6421, 0x640E, 0x656F, 0x6592, 
+    0x65D3, 0x6686, 0x668C, 0x6695, 0x6690, 0x668B, 0x668A, 0x6699, 0x6694, 
+    0x6678, 0x6720, 0x6966, 0x695F, 0x6938, 0x694E, 0x6962, 0x6971, 0x693F, 
+    0x6945, 0x696A, 0x6939, 0x6942, 0x6957, 0x6959, 0x697A, 0x6948, 0x6949, 
+    0x6935, 0x696C, 0x6933, 0x693D, 0x6965, 0x68F0, 0x6978, 0x6934, 0x6969, 
+    0x6940, 0x696F, 0x6944, 0x6976, 0x6958, 0x6941, 0x6974, 0x694C, 0x693B, 
+    0x694B, 0x6937, 0x695C, 0x694F, 0x6951, 0x6932, 0x6952, 0x692F, 0x697B, 
+    0x693C, 0x6B46, 0x6B45, 0x6B43, 0x6B42, 0x6B48, 0x6B41, 0x6B9B, 0xFA0D, 
+    0x6BFB, 0x6BFC},
+    {0x6BF9, 0x6BF7, 0x6BF8, 0x6E9B, 0x6ED6, 0x6EC8, 0x6E8F, 0x6EC0, 0x6E9F, 
+    0x6E93, 0x6E94, 0x6EA0, 0x6EB1, 0x6EB9, 0x6EC6, 0x6ED2, 0x6EBD, 0x6EC1, 
+    0x6E9E, 0x6EC9, 0x6EB7, 0x6EB0, 0x6ECD, 0x6EA6, 0x6ECF, 0x6EB2, 0x6EBE, 
+    0x6EC3, 0x6EDC, 0x6ED8, 0x6E99, 0x6E92, 0x6E8E, 0x6E8D, 0x6EA4, 0x6EA1, 
+    0x6EBF, 0x6EB3, 0x6ED0, 0x6ECA, 0x6E97, 0x6EAE, 0x6EA3, 0x7147, 0x7154, 
+    0x7152, 0x7163, 0x7160, 0x7141, 0x715D, 0x7162, 0x7172, 0x7178, 0x716A, 
+    0x7161, 0x7142, 0x7158, 0x7143, 0x714B, 0x7170, 0x715F, 0x7150, 0x7153, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 0x7144, 0x714D, 
+    0x715A, 0x724F, 0x728D, 0x728C, 0x7291, 0x7290, 0x728E, 0x733C, 0x7342, 
+    0x733B, 0x733A, 0x7340, 0x734A, 0x7349, 0x7444, 0x744A, 0x744B, 0x7452, 
+    0x7451, 0x7457, 0x7440, 0x744F, 0x7450, 0x744E, 0x7442, 0x7446, 0x744D, 
+    0x7454, 0x74E1, 0x74FF, 0x74FE, 0x74FD, 0x751D, 0x7579, 0x7577, 0x6983, 
+    0x75EF, 0x760F, 0x7603, 0x75F7, 0x75FE, 0x75FC, 0x75F9, 0x75F8, 0x7610, 
+    0x75FB, 0x75F6, 0x75ED, 0x75F5, 0x75FD, 0x7699, 0x76B5, 0x76DD, 0x7755, 
+    0x775F, 0x7760, 0x7752, 0x7756, 0x775A, 0x7769, 0x7767, 0x7754, 0x7759, 
+    0x776D, 0x77E0, 0x7887, 0x789A, 0x7894, 0x788F, 0x7884, 0x7895, 0x7885, 
+    0x7886, 0x78A1, 0x7883, 0x7879, 0x7899, 0x7880, 0x7896, 0x787B, 0x797C, 
+    0x7982, 0x797D, 0x7979, 0x7A11, 0x7A18, 0x7A19, 0x7A12, 0x7A17, 0x7A15, 
+    0x7A22, 0x7A13},
+    {0x7A1B, 0x7A10, 0x7AA3, 0x7AA2, 0x7A9E, 0x7AEB, 0x7B66, 0x7B64, 0x7B6D, 
+    0x7B74, 0x7B69, 0x7B72, 0x7B65, 0x7B73, 0x7B71, 0x7B70, 0x7B61, 0x7B78, 
+    0x7B76, 0x7B63, 0x7CB2, 0x7CB4, 0x7CAF, 0x7D88, 0x7D86, 0x7D80, 0x7D8D, 
+    0x7D7F, 0x7D85, 0x7D7A, 0x7D8E, 0x7D7B, 0x7D83, 0x7D7C, 0x7D8C, 0x7D94, 
+    0x7D84, 0x7D7D, 0x7D92, 0x7F6D, 0x7F6B, 0x7F67, 0x7F68, 0x7F6C, 0x7FA6, 
+    0x7FA5, 0x7FA7, 0x7FDB, 0x7FDC, 0x8021, 0x8164, 0x8160, 0x8177, 0x815C, 
+    0x8169, 0x815B, 0x8162, 0x8172, 0x6721, 0x815E, 0x8176, 0x8167, 0x816F, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 0x8144, 0x8161, 
+    0x821D, 0x8249, 0x8244, 0x8240, 0x8242, 0x8245, 0x84F1, 0x843F, 0x8456, 
+    0x8476, 0x8479, 0x848F, 0x848D, 0x8465, 0x8451, 0x8440, 0x8486, 0x8467, 
+    0x8430, 0x844D, 0x847D, 0x845A, 0x8459, 0x8474, 0x8473, 0x845D, 0x8507, 
+    0x845E, 0x8437, 0x843A, 0x8434, 0x847A, 0x8443, 0x8478, 0x8432, 0x8445, 
+    0x8429, 0x83D9, 0x844B, 0x842F, 0x8442, 0x842D, 0x845F, 0x8470, 0x8439, 
+    0x844E, 0x844C, 0x8452, 0x846F, 0x84C5, 0x848E, 0x843B, 0x8447, 0x8436, 
+    0x8433, 0x8468, 0x847E, 0x8444, 0x842B, 0x8460, 0x8454, 0x846E, 0x8450, 
+    0x870B, 0x8704, 0x86F7, 0x870C, 0x86FA, 0x86D6, 0x86F5, 0x874D, 0x86F8, 
+    0x870E, 0x8709, 0x8701, 0x86F6, 0x870D, 0x8705, 0x88D6, 0x88CB, 0x88CD, 
+    0x88CE, 0x88DE, 0x88DB, 0x88DA, 0x88CC, 0x88D0, 0x8985, 0x899B, 0x89DF, 
+    0x89E5, 0x89E4},
+    {0x89E1, 0x89E0, 0x89E2, 0x89DC, 0x89E6, 0x8A76, 0x8A86, 0x8A7F, 0x8A61, 
+    0x8A3F, 0x8A77, 0x8A82, 0x8A84, 0x8A75, 0x8A83, 0x8A81, 0x8A74, 0x8A7A, 
+    0x8C3C, 0x8C4B, 0x8C4A, 0x8C65, 0x8C64, 0x8C66, 0x8C86, 0x8C84, 0x8C85, 
+    0x8CCC, 0x8D68, 0x8D69, 0x8D91, 0x8D8C, 0x8D8E, 0x8D8F, 0x8D8D, 0x8D93, 
+    0x8D94, 0x8D90, 0x8D92, 0x8DF0, 0x8DE0, 0x8DEC, 0x8DF1, 0x8DEE, 0x8DD0, 
+    0x8DE9, 0x8DE3, 0x8DE2, 0x8DE7, 0x8DF2, 0x8DEB, 0x8DF4, 0x8F06, 0x8EFF, 
+    0x8F01, 0x8F00, 0x8F05, 0x8F07, 0x8F08, 0x8F02, 0x8F0B, 0x9052, 0x903F, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 0x9044, 0x9049, 
+    0x903D, 0x9110, 0x910D, 0x910F, 0x9111, 0x9116, 0x9114, 0x910B, 0x910E, 
+    0x916E, 0x916F, 0x9248, 0x9252, 0x9230, 0x923A, 0x9266, 0x9233, 0x9265, 
+    0x925E, 0x9283, 0x922E, 0x924A, 0x9246, 0x926D, 0x926C, 0x924F, 0x9260, 
+    0x9267, 0x926F, 0x9236, 0x9261, 0x9270, 0x9231, 0x9254, 0x9263, 0x9250, 
+    0x9272, 0x924E, 0x9253, 0x924C, 0x9256, 0x9232, 0x959F, 0x959C, 0x959E, 
+    0x959B, 0x9692, 0x9693, 0x9691, 0x9697, 0x96CE, 0x96FA, 0x96FD, 0x96F8, 
+    0x96F5, 0x9773, 0x9777, 0x9778, 0x9772, 0x980F, 0x980D, 0x980E, 0x98AC, 
+    0x98F6, 0x98F9, 0x99AF, 0x99B2, 0x99B0, 0x99B5, 0x9AAD, 0x9AAB, 0x9B5B, 
+    0x9CEA, 0x9CED, 0x9CE7, 0x9E80, 0x9EFD, 0x50E6, 0x50D4, 0x50D7, 0x50E8, 
+    0x50F3, 0x50DB, 0x50EA, 0x50DD, 0x50E4, 0x50D3, 0x50EC, 0x50F0, 0x50EF, 
+    0x50E3, 0x50E0},
+    {0x51D8, 0x5280, 0x5281, 0x52E9, 0x52EB, 0x5330, 0x53AC, 0x5627, 0x5615, 
+    0x560C, 0x5612, 0x55FC, 0x560F, 0x561C, 0x5601, 0x5613, 0x5602, 0x55FA, 
+    0x561D, 0x5604, 0x55FF, 0x55F9, 0x5889, 0x587C, 0x5890, 0x5898, 0x5886, 
+    0x5881, 0x587F, 0x5874, 0x588B, 0x587A, 0x5887, 0x5891, 0x588E, 0x5876, 
+    0x5882, 0x5888, 0x587B, 0x5894, 0x588F, 0x58FE, 0x596B, 0x5ADC, 0x5AEE, 
+    0x5AE5, 0x5AD5, 0x5AEA, 0x5ADA, 0x5AED, 0x5AEB, 0x5AF3, 0x5AE2, 0x5AE0, 
+    0x5ADB, 0x5AEC, 0x5ADE, 0x5ADD, 0x5AD9, 0x5AE8, 0x5ADF, 0x5B77, 0x5BE0, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 0x5BE3, 0x5C63, 
+    0x5D82, 0x5D80, 0x5D7D, 0x5D86, 0x5D7A, 0x5D81, 0x5D77, 0x5D8A, 0x5D89, 
+    0x5D88, 0x5D7E, 0x5D7C, 0x5D8D, 0x5D79, 0x5D7F, 0x5E58, 0x5E59, 0x5E53, 
+    0x5ED8, 0x5ED1, 0x5ED7, 0x5ECE, 0x5EDC, 0x5ED5, 0x5ED9, 0x5ED2, 0x5ED4, 
+    0x5F44, 0x5F43, 0x5F6F, 0x5FB6, 0x612C, 0x6128, 0x6141, 0x615E, 0x6171, 
+    0x6173, 0x6152, 0x6153, 0x6172, 0x616C, 0x6180, 0x6174, 0x6154, 0x617A, 
+    0x615B, 0x6165, 0x613B, 0x616A, 0x6161, 0x6156, 0x6229, 0x6227, 0x622B, 
+    0x642B, 0x644D, 0x645B, 0x645D, 0x6474, 0x6476, 0x6472, 0x6473, 0x647D, 
+    0x6475, 0x6466, 0x64A6, 0x644E, 0x6482, 0x645E, 0x645C, 0x644B, 0x6453, 
+    0x6460, 0x6450, 0x647F, 0x643F, 0x646C, 0x646B, 0x6459, 0x6465, 0x6477, 
+    0x6573, 0x65A0, 0x66A1, 0x66A0, 0x669F, 0x6705, 0x6704, 0x6722, 0x69B1, 
+    0x69B6, 0x69C9},
+    {0x69A0, 0x69CE, 0x6996, 0x69B0, 0x69AC, 0x69BC, 0x6991, 0x6999, 0x698E, 
+    0x69A7, 0x698D, 0x69A9, 0x69BE, 0x69AF, 0x69BF, 0x69C4, 0x69BD, 0x69A4, 
+    0x69D4, 0x69B9, 0x69CA, 0x699A, 0x69CF, 0x69B3, 0x6993, 0x69AA, 0x69A1, 
+    0x699E, 0x69D9, 0x6997, 0x6990, 0x69C2, 0x69B5, 0x69A5, 0x69C6, 0x6B4A, 
+    0x6B4D, 0x6B4B, 0x6B9E, 0x6B9F, 0x6BA0, 0x6BC3, 0x6BC4, 0x6BFE, 0x6ECE, 
+    0x6EF5, 0x6EF1, 0x6F03, 0x6F25, 0x6EF8, 0x6F37, 0x6EFB, 0x6F2E, 0x6F09, 
+    0x6F4E, 0x6F19, 0x6F1A, 0x6F27, 0x6F18, 0x6F3B, 0x6F12, 0x6EED, 0x6F0A, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 0x6F36, 0x6F73, 
+    0x6EF9, 0x6EEE, 0x6F2D, 0x6F40, 0x6F30, 0x6F3C, 0x6F35, 0x6EEB, 0x6F07, 
+    0x6F0E, 0x6F43, 0x6F05, 0x6EFD, 0x6EF6, 0x6F39, 0x6F1C, 0x6EFC, 0x6F3A, 
+    0x6F1F, 0x6F0D, 0x6F1E, 0x6F08, 0x6F21, 0x7187, 0x7190, 0x7189, 0x7180, 
+    0x7185, 0x7182, 0x718F, 0x717B, 0x7186, 0x7181, 0x7197, 0x7244, 0x7253, 
+    0x7297, 0x7295, 0x7293, 0x7343, 0x734D, 0x7351, 0x734C, 0x7462, 0x7473, 
+    0x7471, 0x7475, 0x7472, 0x7467, 0x746E, 0x7500, 0x7502, 0x7503, 0x757D, 
+    0x7590, 0x7616, 0x7608, 0x760C, 0x7615, 0x7611, 0x760A, 0x7614, 0x76B8, 
+    0x7781, 0x777C, 0x7785, 0x7782, 0x776E, 0x7780, 0x776F, 0x777E, 0x7783, 
+    0x78B2, 0x78AA, 0x78B4, 0x78AD, 0x78A8, 0x787E, 0x78AB, 0x789E, 0x78A5, 
+    0x78A0, 0x78AC, 0x78A2, 0x78A4, 0x7998, 0x798A, 0x798B, 0x7996, 0x7995, 
+    0x7994, 0x7993},
+    {0x7997, 0x7988, 0x7992, 0x7990, 0x7A2B, 0x7A4A, 0x7A30, 0x7A2F, 0x7A28, 
+    0x7A26, 0x7AA8, 0x7AAB, 0x7AAC, 0x7AEE, 0x7B88, 0x7B9C, 0x7B8A, 0x7B91, 
+    0x7B90, 0x7B96, 0x7B8D, 0x7B8C, 0x7B9B, 0x7B8E, 0x7B85, 0x7B98, 0x5284, 
+    0x7B99, 0x7BA4, 0x7B82, 0x7CBB, 0x7CBF, 0x7CBC, 0x7CBA, 0x7DA7, 0x7DB7, 
+    0x7DC2, 0x7DA3, 0x7DAA, 0x7DC1, 0x7DC0, 0x7DC5, 0x7D9D, 0x7DCE, 0x7DC4, 
+    0x7DC6, 0x7DCB, 0x7DCC, 0x7DAF, 0x7DB9, 0x7D96, 0x7DBC, 0x7D9F, 0x7DA6, 
+    0x7DAE, 0x7DA9, 0x7DA1, 0x7DC9, 0x7F73, 0x7FE2, 0x7FE3, 0x7FE5, 0x7FDE, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 0x8024, 0x805D, 
+    0x805C, 0x8189, 0x8186, 0x8183, 0x8187, 0x818D, 0x818C, 0x818B, 0x8215, 
+    0x8497, 0x84A4, 0x84A1, 0x849F, 0x84BA, 0x84CE, 0x84C2, 0x84AC, 0x84AE, 
+    0x84AB, 0x84B9, 0x84B4, 0x84C1, 0x84CD, 0x84AA, 0x849A, 0x84B1, 0x84D0, 
+    0x849D, 0x84A7, 0x84BB, 0x84A2, 0x8494, 0x84C7, 0x84CC, 0x849B, 0x84A9, 
+    0x84AF, 0x84A8, 0x84D6, 0x8498, 0x84B6, 0x84CF, 0x84A0, 0x84D7, 0x84D4, 
+    0x84D2, 0x84DB, 0x84B0, 0x8491, 0x8661, 0x8733, 0x8723, 0x8728, 0x876B, 
+    0x8740, 0x872E, 0x871E, 0x8721, 0x8719, 0x871B, 0x8743, 0x872C, 0x8741, 
+    0x873E, 0x8746, 0x8720, 0x8732, 0x872A, 0x872D, 0x873C, 0x8712, 0x873A, 
+    0x8731, 0x8735, 0x8742, 0x8726, 0x8727, 0x8738, 0x8724, 0x871A, 0x8730, 
+    0x8711, 0x88F7, 0x88E7, 0x88F1, 0x88F2, 0x88FA, 0x88FE, 0x88EE, 0x88FC, 
+    0x88F6, 0x88FB},
+    {0x88F0, 0x88EC, 0x88EB, 0x899D, 0x89A1, 0x899F, 0x899E, 0x89E9, 0x89EB, 
+    0x89E8, 0x8AAB, 0x8A99, 0x8A8B, 0x8A92, 0x8A8F, 0x8A96, 0x8C3D, 0x8C68, 
+    0x8C69, 0x8CD5, 0x8CCF, 0x8CD7, 0x8D96, 0x8E09, 0x8E02, 0x8DFF, 0x8E0D, 
+    0x8DFD, 0x8E0A, 0x8E03, 0x8E07, 0x8E06, 0x8E05, 0x8DFE, 0x8E00, 0x8E04, 
+    0x8F10, 0x8F11, 0x8F0E, 0x8F0D, 0x9123, 0x911C, 0x9120, 0x9122, 0x911F, 
+    0x911D, 0x911A, 0x9124, 0x9121, 0x911B, 0x917A, 0x9172, 0x9179, 0x9173, 
+    0x92A5, 0x92A4, 0x9276, 0x929B, 0x927A, 0x92A0, 0x9294, 0x92AA, 0x928D, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 0x92A6, 0x929A, 
+    0x92AB, 0x9279, 0x9297, 0x927F, 0x92A3, 0x92EE, 0x928E, 0x9282, 0x9295, 
+    0x92A2, 0x927D, 0x9288, 0x92A1, 0x928A, 0x9286, 0x928C, 0x9299, 0x92A7, 
+    0x927E, 0x9287, 0x92A9, 0x929D, 0x928B, 0x922D, 0x969E, 0x96A1, 0x96FF, 
+    0x9758, 0x977D, 0x977A, 0x977E, 0x9783, 0x9780, 0x9782, 0x977B, 0x9784, 
+    0x9781, 0x977F, 0x97CE, 0x97CD, 0x9816, 0x98AD, 0x98AE, 0x9902, 0x9900, 
+    0x9907, 0x999D, 0x999C, 0x99C3, 0x99B9, 0x99BB, 0x99BA, 0x99C2, 0x99BD, 
+    0x99C7, 0x9AB1, 0x9AE3, 0x9AE7, 0x9B3E, 0x9B3F, 0x9B60, 0x9B61, 0x9B5F, 
+    0x9CF1, 0x9CF2, 0x9CF5, 0x9EA7, 0x50FF, 0x5103, 0x5130, 0x50F8, 0x5106, 
+    0x5107, 0x50F6, 0x50FE, 0x510B, 0x510C, 0x50FD, 0x510A, 0x528B, 0x528C, 
+    0x52F1, 0x52EF, 0x5648, 0x5642, 0x564C, 0x5635, 0x5641, 0x564A, 0x5649, 
+    0x5646, 0x5658},
+    {0x565A, 0x5640, 0x5633, 0x563D, 0x562C, 0x563E, 0x5638, 0x562A, 0x563A, 
+    0x571A, 0x58AB, 0x589D, 0x58B1, 0x58A0, 0x58A3, 0x58AF, 0x58AC, 0x58A5, 
+    0x58A1, 0x58FF, 0x5AFF, 0x5AF4, 0x5AFD, 0x5AF7, 0x5AF6, 0x5B03, 0x5AF8, 
+    0x5B02, 0x5AF9, 0x5B01, 0x5B07, 0x5B05, 0x5B0F, 0x5C67, 0x5D99, 0x5D97, 
+    0x5D9F, 0x5D92, 0x5DA2, 0x5D93, 0x5D95, 0x5DA0, 0x5D9C, 0x5DA1, 0x5D9A, 
+    0x5D9E, 0x5E69, 0x5E5D, 0x5E60, 0x5E5C, 0x7DF3, 0x5EDB, 0x5EDE, 0x5EE1, 
+    0x5F49, 0x5FB2, 0x618B, 0x6183, 0x6179, 0x61B1, 0x61B0, 0x61A2, 0x6189, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 0x619B, 0x6193, 
+    0x61AF, 0x61AD, 0x619F, 0x6192, 0x61AA, 0x61A1, 0x618D, 0x6166, 0x61B3, 
+    0x622D, 0x646E, 0x6470, 0x6496, 0x64A0, 0x6485, 0x6497, 0x649C, 0x648F, 
+    0x648B, 0x648A, 0x648C, 0x64A3, 0x649F, 0x6468, 0x64B1, 0x6498, 0x6576, 
+    0x657A, 0x6579, 0x657B, 0x65B2, 0x65B3, 0x66B5, 0x66B0, 0x66A9, 0x66B2, 
+    0x66B7, 0x66AA, 0x66AF, 0x6A00, 0x6A06, 0x6A17, 0x69E5, 0x69F8, 0x6A15, 
+    0x69F1, 0x69E4, 0x6A20, 0x69FF, 0x69EC, 0x69E2, 0x6A1B, 0x6A1D, 0x69FE, 
+    0x6A27, 0x69F2, 0x69EE, 0x6A14, 0x69F7, 0x69E7, 0x6A40, 0x6A08, 0x69E6, 
+    0x69FB, 0x6A0D, 0x69FC, 0x69EB, 0x6A09, 0x6A04, 0x6A18, 0x6A25, 0x6A0F, 
+    0x69F6, 0x6A26, 0x6A07, 0x69F4, 0x6A16, 0x6B51, 0x6BA5, 0x6BA3, 0x6BA2, 
+    0x6BA6, 0x6C01, 0x6C00, 0x6BFF, 0x6C02, 0x6F41, 0x6F26, 0x6F7E, 0x6F87, 
+    0x6FC6, 0x6F92},
+    {0x6F8D, 0x6F89, 0x6F8C, 0x6F62, 0x6F4F, 0x6F85, 0x6F5A, 0x6F96, 0x6F76, 
+    0x6F6C, 0x6F82, 0x6F55, 0x6F72, 0x6F52, 0x6F50, 0x6F57, 0x6F94, 0x6F93, 
+    0x6F5D, 0x6F00, 0x6F61, 0x6F6B, 0x6F7D, 0x6F67, 0x6F90, 0x6F53, 0x6F8B, 
+    0x6F69, 0x6F7F, 0x6F95, 0x6F63, 0x6F77, 0x6F6A, 0x6F7B, 0x71B2, 0x71AF, 
+    0x719B, 0x71B0, 0x71A0, 0x719A, 0x71A9, 0x71B5, 0x719D, 0x71A5, 0x719E, 
+    0x71A4, 0x71A1, 0x71AA, 0x719C, 0x71A7, 0x71B3, 0x7298, 0x729A, 0x7358, 
+    0x7352, 0x735E, 0x735F, 0x7360, 0x735D, 0x735B, 0x7361, 0x735A, 0x7359, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 0x7362, 0x7487, 
+    0x7489, 0x748A, 0x7486, 0x7481, 0x747D, 0x7485, 0x7488, 0x747C, 0x7479, 
+    0x7508, 0x7507, 0x757E, 0x7625, 0x761E, 0x7619, 0x761D, 0x761C, 0x7623, 
+    0x761A, 0x7628, 0x761B, 0x769C, 0x769D, 0x769E, 0x769B, 0x778D, 0x778F, 
+    0x7789, 0x7788, 0x78CD, 0x78BB, 0x78CF, 0x78CC, 0x78D1, 0x78CE, 0x78D4, 
+    0x78C8, 0x78C3, 0x78C4, 0x78C9, 0x799A, 0x79A1, 0x79A0, 0x799C, 0x79A2, 
+    0x799B, 0x6B76, 0x7A39, 0x7AB2, 0x7AB4, 0x7AB3, 0x7BB7, 0x7BCB, 0x7BBE, 
+    0x7BAC, 0x7BCE, 0x7BAF, 0x7BB9, 0x7BCA, 0x7BB5, 0x7CC5, 0x7CC8, 0x7CCC, 
+    0x7CCB, 0x7DF7, 0x7DDB, 0x7DEA, 0x7DE7, 0x7DD7, 0x7DE1, 0x7E03, 0x7DFA, 
+    0x7DE6, 0x7DF6, 0x7DF1, 0x7DF0, 0x7DEE, 0x7DDF, 0x7F76, 0x7FAC, 0x7FB0, 
+    0x7FAD, 0x7FED, 0x7FEB, 0x7FEA, 0x7FEC, 0x7FE6, 0x7FE8, 0x8064, 0x8067, 
+    0x81A3, 0x819F},
+    {0x819E, 0x8195, 0x81A2, 0x8199, 0x8197, 0x8216, 0x824F, 0x8253, 0x8252, 
+    0x8250, 0x824E, 0x8251, 0x8524, 0x853B, 0x850F, 0x8500, 0x8529, 0x850E, 
+    0x8509, 0x850D, 0x851F, 0x850A, 0x8527, 0x851C, 0x84FB, 0x852B, 0x84FA, 
+    0x8508, 0x850C, 0x84F4, 0x852A, 0x84F2, 0x8515, 0x84F7, 0x84EB, 0x84F3, 
+    0x84FC, 0x8512, 0x84EA, 0x84E9, 0x8516, 0x84FE, 0x8528, 0x851D, 0x852E, 
+    0x8502, 0x84FD, 0x851E, 0x84F6, 0x8531, 0x8526, 0x84E7, 0x84E8, 0x84F0, 
+    0x84EF, 0x84F9, 0x8518, 0x8520, 0x8530, 0x850B, 0x8519, 0x852F, 0x8662, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 0x8756, 0x8763, 
+    0x8764, 0x8777, 0x87E1, 0x8773, 0x8758, 0x8754, 0x875B, 0x8752, 0x8761, 
+    0x875A, 0x8751, 0x875E, 0x876D, 0x876A, 0x8750, 0x874E, 0x875F, 0x875D, 
+    0x876F, 0x876C, 0x877A, 0x876E, 0x875C, 0x8765, 0x874F, 0x877B, 0x8775, 
+    0x8762, 0x8767, 0x8769, 0x885A, 0x8905, 0x890C, 0x8914, 0x890B, 0x8917, 
+    0x8918, 0x8919, 0x8906, 0x8916, 0x8911, 0x890E, 0x8909, 0x89A2, 0x89A4, 
+    0x89A3, 0x89ED, 0x89F0, 0x89EC, 0x8ACF, 0x8AC6, 0x8AB8, 0x8AD3, 0x8AD1, 
+    0x8AD4, 0x8AD5, 0x8ABB, 0x8AD7, 0x8ABE, 0x8AC0, 0x8AC5, 0x8AD8, 0x8AC3, 
+    0x8ABA, 0x8ABD, 0x8AD9, 0x8C3E, 0x8C4D, 0x8C8F, 0x8CE5, 0x8CDF, 0x8CD9, 
+    0x8CE8, 0x8CDA, 0x8CDD, 0x8CE7, 0x8DA0, 0x8D9C, 0x8DA1, 0x8D9B, 0x8E20, 
+    0x8E23, 0x8E25, 0x8E24, 0x8E2E, 0x8E15, 0x8E1B, 0x8E16, 0x8E11, 0x8E19, 
+    0x8E26, 0x8E27},
+    {0x8E14, 0x8E12, 0x8E18, 0x8E13, 0x8E1C, 0x8E17, 0x8E1A, 0x8F2C, 0x8F24, 
+    0x8F18, 0x8F1A, 0x8F20, 0x8F23, 0x8F16, 0x8F17, 0x9073, 0x9070, 0x906F, 
+    0x9067, 0x906B, 0x912F, 0x912B, 0x9129, 0x912A, 0x9132, 0x9126, 0x912E, 
+    0x9185, 0x9186, 0x918A, 0x9181, 0x9182, 0x9184, 0x9180, 0x92D0, 0x92C3, 
+    0x92C4, 0x92C0, 0x92D9, 0x92B6, 0x92CF, 0x92F1, 0x92DF, 0x92D8, 0x92E9, 
+    0x92D7, 0x92DD, 0x92CC, 0x92EF, 0x92C2, 0x92E8, 0x92CA, 0x92C8, 0x92CE, 
+    0x92E6, 0x92CD, 0x92D5, 0x92C9, 0x92E0, 0x92DE, 0x92E7, 0x92D1, 0x92D3, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 0x92B5, 0x92E1, 
+    0x92C6, 0x92B4, 0x957C, 0x95AC, 0x95AB, 0x95AE, 0x95B0, 0x96A4, 0x96A2, 
+    0x96D3, 0x9705, 0x9708, 0x9702, 0x975A, 0x978A, 0x978E, 0x9788, 0x97D0, 
+    0x97CF, 0x981E, 0x981D, 0x9826, 0x9829, 0x9828, 0x9820, 0x981B, 0x9827, 
+    0x98B2, 0x9908, 0x98FA, 0x9911, 0x9914, 0x9916, 0x9917, 0x9915, 0x99DC, 
+    0x99CD, 0x99CF, 0x99D3, 0x99D4, 0x99CE, 0x99C9, 0x99D6, 0x99D8, 0x99CB, 
+    0x99D7, 0x99CC, 0x9AB3, 0x9AEC, 0x9AEB, 0x9AF3, 0x9AF2, 0x9AF1, 0x9B46, 
+    0x9B43, 0x9B67, 0x9B74, 0x9B71, 0x9B66, 0x9B76, 0x9B75, 0x9B70, 0x9B68, 
+    0x9B64, 0x9B6C, 0x9CFC, 0x9CFA, 0x9CFD, 0x9CFF, 0x9CF7, 0x9D07, 0x9D00, 
+    0x9CF9, 0x9CFB, 0x9D08, 0x9D05, 0x9D04, 0x9E83, 0x9ED3, 0x9F0F, 0x9F10, 
+    0x511C, 0x5113, 0x5117, 0x511A, 0x5111, 0x51DE, 0x5334, 0x53E1, 0x5670, 
+    0x5660, 0x566E},
+    {0x5673, 0x5666, 0x5663, 0x566D, 0x5672, 0x565E, 0x5677, 0x571C, 0x571B, 
+    0x58C8, 0x58BD, 0x58C9, 0x58BF, 0x58BA, 0x58C2, 0x58BC, 0x58C6, 0x5B17, 
+    0x5B19, 0x5B1B, 0x5B21, 0x5B14, 0x5B13, 0x5B10, 0x5B16, 0x5B28, 0x5B1A, 
+    0x5B20, 0x5B1E, 0x5BEF, 0x5DAC, 0x5DB1, 0x5DA9, 0x5DA7, 0x5DB5, 0x5DB0, 
+    0x5DAE, 0x5DAA, 0x5DA8, 0x5DB2, 0x5DAD, 0x5DAF, 0x5DB4, 0x5E67, 0x5E68, 
+    0x5E66, 0x5E6F, 0x5EE9, 0x5EE7, 0x5EE6, 0x5EE8, 0x5EE5, 0x5F4B, 0x5FBC, 
+    0x619D, 0x61A8, 0x6196, 0x61C5, 0x61B4, 0x61C6, 0x61C1, 0x61CC, 0x61BA, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 0x61BF, 0x61B8, 
+    0x618C, 0x64D7, 0x64D6, 0x64D0, 0x64CF, 0x64C9, 0x64BD, 0x6489, 0x64C3, 
+    0x64DB, 0x64F3, 0x64D9, 0x6533, 0x657F, 0x657C, 0x65A2, 0x66C8, 0x66BE, 
+    0x66C0, 0x66CA, 0x66CB, 0x66CF, 0x66BD, 0x66BB, 0x66BA, 0x66CC, 0x6723, 
+    0x6A34, 0x6A66, 0x6A49, 0x6A67, 0x6A32, 0x6A68, 0x6A3E, 0x6A5D, 0x6A6D, 
+    0x6A76, 0x6A5B, 0x6A51, 0x6A28, 0x6A5A, 0x6A3B, 0x6A3F, 0x6A41, 0x6A6A, 
+    0x6A64, 0x6A50, 0x6A4F, 0x6A54, 0x6A6F, 0x6A69, 0x6A60, 0x6A3C, 0x6A5E, 
+    0x6A56, 0x6A55, 0x6A4D, 0x6A4E, 0x6A46, 0x6B55, 0x6B54, 0x6B56, 0x6BA7, 
+    0x6BAA, 0x6BAB, 0x6BC8, 0x6BC7, 0x6C04, 0x6C03, 0x6C06, 0x6FAD, 0x6FCB, 
+    0x6FA3, 0x6FC7, 0x6FBC, 0x6FCE, 0x6FC8, 0x6F5E, 0x6FC4, 0x6FBD, 0x6F9E, 
+    0x6FCA, 0x6FA8, 0x7004, 0x6FA5, 0x6FAE, 0x6FBA, 0x6FAC, 0x6FAA, 0x6FCF, 
+    0x6FBF, 0x6FB8},
+    {0x6FA2, 0x6FC9, 0x6FAB, 0x6FCD, 0x6FAF, 0x6FB2, 0x6FB0, 0x71C5, 0x71C2, 
+    0x71BF, 0x71B8, 0x71D6, 0x71C0, 0x71C1, 0x71CB, 0x71D4, 0x71CA, 0x71C7, 
+    0x71CF, 0x71BD, 0x71D8, 0x71BC, 0x71C6, 0x71DA, 0x71DB, 0x729D, 0x729E, 
+    0x7369, 0x7366, 0x7367, 0x736C, 0x7365, 0x736B, 0x736A, 0x747F, 0x749A, 
+    0x74A0, 0x7494, 0x7492, 0x7495, 0x74A1, 0x750B, 0x7580, 0x762F, 0x762D, 
+    0x7631, 0x763D, 0x7633, 0x763C, 0x7635, 0x7632, 0x7630, 0x76BB, 0x76E6, 
+    0x779A, 0x779D, 0x77A1, 0x779C, 0x779B, 0x77A2, 0x77A3, 0x7795, 0x7799, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 0x7797, 0x78DD, 
+    0x78E9, 0x78E5, 0x78EA, 0x78DE, 0x78E3, 0x78DB, 0x78E1, 0x78E2, 0x78ED, 
+    0x78DF, 0x78E0, 0x79A4, 0x7A44, 0x7A48, 0x7A47, 0x7AB6, 0x7AB8, 0x7AB5, 
+    0x7AB1, 0x7AB7, 0x7BDE, 0x7BE3, 0x7BE7, 0x7BDD, 0x7BD5, 0x7BE5, 0x7BDA, 
+    0x7BE8, 0x7BF9, 0x7BD4, 0x7BEA, 0x7BE2, 0x7BDC, 0x7BEB, 0x7BD8, 0x7BDF, 
+    0x7CD2, 0x7CD4, 0x7CD7, 0x7CD0, 0x7CD1, 0x7E12, 0x7E21, 0x7E17, 0x7E0C, 
+    0x7E1F, 0x7E20, 0x7E13, 0x7E0E, 0x7E1C, 0x7E15, 0x7E1A, 0x7E22, 0x7E0B, 
+    0x7E0F, 0x7E16, 0x7E0D, 0x7E14, 0x7E25, 0x7E24, 0x7F43, 0x7F7B, 0x7F7C, 
+    0x7F7A, 0x7FB1, 0x7FEF, 0x802A, 0x8029, 0x806C, 0x81B1, 0x81A6, 0x81AE, 
+    0x81B9, 0x81B5, 0x81AB, 0x81B0, 0x81AC, 0x81B4, 0x81B2, 0x81B7, 0x81A7, 
+    0x81F2, 0x8255, 0x8256, 0x8257, 0x8556, 0x8545, 0x856B, 0x854D, 0x8553, 
+    0x8561, 0x8558},
+    {0x8540, 0x8546, 0x8564, 0x8541, 0x8562, 0x8544, 0x8551, 0x8547, 0x8563, 
+    0x853E, 0x855B, 0x8571, 0x854E, 0x856E, 0x8575, 0x8555, 0x8567, 0x8560, 
+    0x858C, 0x8566, 0x855D, 0x8554, 0x8565, 0x856C, 0x8663, 0x8665, 0x8664, 
+    0x879B, 0x878F, 0x8797, 0x8793, 0x8792, 0x8788, 0x8781, 0x8796, 0x8798, 
+    0x8779, 0x8787, 0x87A3, 0x8785, 0x8790, 0x8791, 0x879D, 0x8784, 0x8794, 
+    0x879C, 0x879A, 0x8789, 0x891E, 0x8926, 0x8930, 0x892D, 0x892E, 0x8927, 
+    0x8931, 0x8922, 0x8929, 0x8923, 0x892F, 0x892C, 0x891F, 0x89F1, 0x8AE0, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 0x8AE2, 0x8AF2, 
+    0x8AF4, 0x8AF5, 0x8ADD, 0x8B14, 0x8AE4, 0x8ADF, 0x8AF0, 0x8AC8, 0x8ADE, 
+    0x8AE1, 0x8AE8, 0x8AFF, 0x8AEF, 0x8AFB, 0x8C91, 0x8C92, 0x8C90, 0x8CF5, 
+    0x8CEE, 0x8CF1, 0x8CF0, 0x8CF3, 0x8D6C, 0x8D6E, 0x8DA5, 0x8DA7, 0x8E33, 
+    0x8E3E, 0x8E38, 0x8E40, 0x8E45, 0x8E36, 0x8E3C, 0x8E3D, 0x8E41, 0x8E30, 
+    0x8E3F, 0x8EBD, 0x8F36, 0x8F2E, 0x8F35, 0x8F32, 0x8F39, 0x8F37, 0x8F34, 
+    0x9076, 0x9079, 0x907B, 0x9086, 0x90FA, 0x9133, 0x9135, 0x9136, 0x9193, 
+    0x9190, 0x9191, 0x918D, 0x918F, 0x9327, 0x931E, 0x9308, 0x931F, 0x9306, 
+    0x930F, 0x937A, 0x9338, 0x933C, 0x931B, 0x9323, 0x9312, 0x9301, 0x9346, 
+    0x932D, 0x930E, 0x930D, 0x92CB, 0x931D, 0x92FA, 0x9325, 0x9313, 0x92F9, 
+    0x92F7, 0x9334, 0x9302, 0x9324, 0x92FF, 0x9329, 0x9339, 0x9335, 0x932A, 
+    0x9314, 0x930C},
+    {0x930B, 0x92FE, 0x9309, 0x9300, 0x92FB, 0x9316, 0x95BC, 0x95CD, 0x95BE, 
+    0x95B9, 0x95BA, 0x95B6, 0x95BF, 0x95B5, 0x95BD, 0x96A9, 0x96D4, 0x970B, 
+    0x9712, 0x9710, 0x9799, 0x9797, 0x9794, 0x97F0, 0x97F8, 0x9835, 0x982F, 
+    0x9832, 0x9924, 0x991F, 0x9927, 0x9929, 0x999E, 0x99EE, 0x99EC, 0x99E5, 
+    0x99E4, 0x99F0, 0x99E3, 0x99EA, 0x99E9, 0x99E7, 0x9AB9, 0x9ABF, 0x9AB4, 
+    0x9ABB, 0x9AF6, 0x9AFA, 0x9AF9, 0x9AF7, 0x9B33, 0x9B80, 0x9B85, 0x9B87, 
+    0x9B7C, 0x9B7E, 0x9B7B, 0x9B82, 0x9B93, 0x9B92, 0x9B90, 0x9B7A, 0x9B95, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 0x9B7D, 0x9B88, 
+    0x9D25, 0x9D17, 0x9D20, 0x9D1E, 0x9D14, 0x9D29, 0x9D1D, 0x9D18, 0x9D22, 
+    0x9D10, 0x9D19, 0x9D1F, 0x9E88, 0x9E86, 0x9E87, 0x9EAE, 0x9EAD, 0x9ED5, 
+    0x9ED6, 0x9EFA, 0x9F12, 0x9F3D, 0x5126, 0x5125, 0x5122, 0x5124, 0x5120, 
+    0x5129, 0x52F4, 0x5693, 0x568C, 0x568D, 0x5686, 0x5684, 0x5683, 0x567E, 
+    0x5682, 0x567F, 0x5681, 0x58D6, 0x58D4, 0x58CF, 0x58D2, 0x5B2D, 0x5B25, 
+    0x5B32, 0x5B23, 0x5B2C, 0x5B27, 0x5B26, 0x5B2F, 0x5B2E, 0x5B7B, 0x5BF1, 
+    0x5BF2, 0x5DB7, 0x5E6C, 0x5E6A, 0x5FBE, 0x5FBB, 0x61C3, 0x61B5, 0x61BC, 
+    0x61E7, 0x61E0, 0x61E5, 0x61E4, 0x61E8, 0x61DE, 0x64EF, 0x64E9, 0x64E3, 
+    0x64EB, 0x64E4, 0x64E8, 0x6581, 0x6580, 0x65B6, 0x65DA, 0x66D2, 0x6A8D, 
+    0x6A96, 0x6A81, 0x6AA5, 0x6A89, 0x6A9F, 0x6A9B, 0x6AA1, 0x6A9E, 0x6A87, 
+    0x6A93, 0x6A8E},
+    {0x6A95, 0x6A83, 0x6AA8, 0x6AA4, 0x6A91, 0x6A7F, 0x6AA6, 0x6A9A, 0x6A85, 
+    0x6A8C, 0x6A92, 0x6B5B, 0x6BAD, 0x6C09, 0x6FCC, 0x6FA9, 0x6FF4, 0x6FD4, 
+    0x6FE3, 0x6FDC, 0x6FED, 0x6FE7, 0x6FE6, 0x6FDE, 0x6FF2, 0x6FDD, 0x6FE2, 
+    0x6FE8, 0x71E1, 0x71F1, 0x71E8, 0x71F2, 0x71E4, 0x71F0, 0x71E2, 0x7373, 
+    0x736E, 0x736F, 0x7497, 0x74B2, 0x74AB, 0x7490, 0x74AA, 0x74AD, 0x74B1, 
+    0x74A5, 0x74AF, 0x7510, 0x7511, 0x7512, 0x750F, 0x7584, 0x7643, 0x7648, 
+    0x7649, 0x7647, 0x76A4, 0x76E9, 0x77B5, 0x77AB, 0x77B2, 0x77B7, 0x77B6, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 0x77B4, 0x77B1, 
+    0x77A8, 0x77F0, 0x78F3, 0x78FD, 0x7902, 0x78FB, 0x78FC, 0x78F2, 0x7905, 
+    0x78F9, 0x78FE, 0x7904, 0x79AB, 0x79A8, 0x7A5C, 0x7A5B, 0x7A56, 0x7A58, 
+    0x7A54, 0x7A5A, 0x7ABE, 0x7AC0, 0x7AC1, 0x7C05, 0x7C0F, 0x7BF2, 0x7C00, 
+    0x7BFF, 0x7BFB, 0x7C0E, 0x7BF4, 0x7C0B, 0x7BF3, 0x7C02, 0x7C09, 0x7C03, 
+    0x7C01, 0x7BF8, 0x7BFD, 0x7C06, 0x7BF0, 0x7BF1, 0x7C10, 0x7C0A, 0x7CE8, 
+    0x7E2D, 0x7E3C, 0x7E42, 0x7E33, 0x9848, 0x7E38, 0x7E2A, 0x7E49, 0x7E40, 
+    0x7E47, 0x7E29, 0x7E4C, 0x7E30, 0x7E3B, 0x7E36, 0x7E44, 0x7E3A, 0x7F45, 
+    0x7F7F, 0x7F7E, 0x7F7D, 0x7FF4, 0x7FF2, 0x802C, 0x81BB, 0x81C4, 0x81CC, 
+    0x81CA, 0x81C5, 0x81C7, 0x81BC, 0x81E9, 0x825B, 0x825A, 0x825C, 0x8583, 
+    0x8580, 0x858F, 0x85A7, 0x8595, 0x85A0, 0x858B, 0x85A3, 0x857B, 0x85A4, 
+    0x859A, 0x859E},
+    {0x8577, 0x857C, 0x8589, 0x85A1, 0x857A, 0x8578, 0x8557, 0x858E, 0x8596, 
+    0x8586, 0x858D, 0x8599, 0x859D, 0x8581, 0x85A2, 0x8582, 0x8588, 0x8585, 
+    0x8579, 0x8576, 0x8598, 0x8590, 0x859F, 0x8668, 0x87BE, 0x87AA, 0x87AD, 
+    0x87C5, 0x87B0, 0x87AC, 0x87B9, 0x87B5, 0x87BC, 0x87AE, 0x87C9, 0x87C3, 
+    0x87C2, 0x87CC, 0x87B7, 0x87AF, 0x87C4, 0x87CA, 0x87B4, 0x87B6, 0x87BF, 
+    0x87B8, 0x87BD, 0x87DE, 0x87B2, 0x8935, 0x8933, 0x893C, 0x893E, 0x8941, 
+    0x8952, 0x8937, 0x8942, 0x89AD, 0x89AF, 0x89AE, 0x89F2, 0x89F3, 0x8B1E, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 0x8B18, 0x8B16, 
+    0x8B11, 0x8B05, 0x8B0B, 0x8B22, 0x8B0F, 0x8B12, 0x8B15, 0x8B07, 0x8B0D, 
+    0x8B08, 0x8B06, 0x8B1C, 0x8B13, 0x8B1A, 0x8C4F, 0x8C70, 0x8C72, 0x8C71, 
+    0x8C6F, 0x8C95, 0x8C94, 0x8CF9, 0x8D6F, 0x8E4E, 0x8E4D, 0x8E53, 0x8E50, 
+    0x8E4C, 0x8E47, 0x8F43, 0x8F40, 0x9085, 0x907E, 0x9138, 0x919A, 0x91A2, 
+    0x919B, 0x9199, 0x919F, 0x91A1, 0x919D, 0x91A0, 0x93A1, 0x9383, 0x93AF, 
+    0x9364, 0x9356, 0x9347, 0x937C, 0x9358, 0x935C, 0x9376, 0x9349, 0x9350, 
+    0x9351, 0x9360, 0x936D, 0x938F, 0x934C, 0x936A, 0x9379, 0x9357, 0x9355, 
+    0x9352, 0x934F, 0x9371, 0x9377, 0x937B, 0x9361, 0x935E, 0x9363, 0x9367, 
+    0x9380, 0x934E, 0x9359, 0x95C7, 0x95C0, 0x95C9, 0x95C3, 0x95C5, 0x95B7, 
+    0x96AE, 0x96B0, 0x96AC, 0x9720, 0x971F, 0x9718, 0x971D, 0x9719, 0x979A, 
+    0x97A1, 0x979C},
+    {0x979E, 0x979D, 0x97D5, 0x97D4, 0x97F1, 0x9841, 0x9844, 0x984A, 0x9849, 
+    0x9845, 0x9843, 0x9925, 0x992B, 0x992C, 0x992A, 0x9933, 0x9932, 0x992F, 
+    0x992D, 0x9931, 0x9930, 0x9998, 0x99A3, 0x99A1, 0x9A02, 0x99FA, 0x99F4, 
+    0x99F7, 0x99F9, 0x99F8, 0x99F6, 0x99FB, 0x99FD, 0x99FE, 0x99FC, 0x9A03, 
+    0x9ABE, 0x9AFE, 0x9AFD, 0x9B01, 0x9AFC, 0x9B48, 0x9B9A, 0x9BA8, 0x9B9E, 
+    0x9B9B, 0x9BA6, 0x9BA1, 0x9BA5, 0x9BA4, 0x9B86, 0x9BA2, 0x9BA0, 0x9BAF, 
+    0x9D33, 0x9D41, 0x9D67, 0x9D36, 0x9D2E, 0x9D2F, 0x9D31, 0x9D38, 0x9D30, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 0x9D45, 0x9D42, 
+    0x9D43, 0x9D3E, 0x9D37, 0x9D40, 0x9D3D, 0x7FF5, 0x9D2D, 0x9E8A, 0x9E89, 
+    0x9E8D, 0x9EB0, 0x9EC8, 0x9EDA, 0x9EFB, 0x9EFF, 0x9F24, 0x9F23, 0x9F22, 
+    0x9F54, 0x9FA0, 0x5131, 0x512D, 0x512E, 0x5698, 0x569C, 0x5697, 0x569A, 
+    0x569D, 0x5699, 0x5970, 0x5B3C, 0x5C69, 0x5C6A, 0x5DC0, 0x5E6D, 0x5E6E, 
+    0x61D8, 0x61DF, 0x61ED, 0x61EE, 0x61F1, 0x61EA, 0x61F0, 0x61EB, 0x61D6, 
+    0x61E9, 0x64FF, 0x6504, 0x64FD, 0x64F8, 0x6501, 0x6503, 0x64FC, 0x6594, 
+    0x65DB, 0x66DA, 0x66DB, 0x66D8, 0x6AC5, 0x6AB9, 0x6ABD, 0x6AE1, 0x6AC6, 
+    0x6ABA, 0x6AB6, 0x6AB7, 0x6AC7, 0x6AB4, 0x6AAD, 0x6B5E, 0x6BC9, 0x6C0B, 
+    0x7007, 0x700C, 0x700D, 0x7001, 0x7005, 0x7014, 0x700E, 0x6FFF, 0x7000, 
+    0x6FFB, 0x7026, 0x6FFC, 0x6FF7, 0x700A, 0x7201, 0x71FF, 0x71F9, 0x7203, 
+    0x71FD, 0x7376},
+    {0x74B8, 0x74C0, 0x74B5, 0x74C1, 0x74BE, 0x74B6, 0x74BB, 0x74C2, 0x7514, 
+    0x7513, 0x765C, 0x7664, 0x7659, 0x7650, 0x7653, 0x7657, 0x765A, 0x76A6, 
+    0x76BD, 0x76EC, 0x77C2, 0x77BA, 0x78FF, 0x790C, 0x7913, 0x7914, 0x7909, 
+    0x7910, 0x7912, 0x7911, 0x79AD, 0x79AC, 0x7A5F, 0x7C1C, 0x7C29, 0x7C19, 
+    0x7C20, 0x7C1F, 0x7C2D, 0x7C1D, 0x7C26, 0x7C28, 0x7C22, 0x7C25, 0x7C30, 
+    0x7E5C, 0x7E50, 0x7E56, 0x7E63, 0x7E58, 0x7E62, 0x7E5F, 0x7E51, 0x7E60, 
+    0x7E57, 0x7E53, 0x7FB5, 0x7FB3, 0x7FF7, 0x7FF8, 0x8075, 0x81D1, 0x81D2, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 0x81D0, 0x825F, 
+    0x825E, 0x85B4, 0x85C6, 0x85C0, 0x85C3, 0x85C2, 0x85B3, 0x85B5, 0x85BD, 
+    0x85C7, 0x85C4, 0x85BF, 0x85CB, 0x85CE, 0x85C8, 0x85C5, 0x85B1, 0x85B6, 
+    0x85D2, 0x8624, 0x85B8, 0x85B7, 0x85BE, 0x8669, 0x87E7, 0x87E6, 0x87E2, 
+    0x87DB, 0x87EB, 0x87EA, 0x87E5, 0x87DF, 0x87F3, 0x87E4, 0x87D4, 0x87DC, 
+    0x87D3, 0x87ED, 0x87D8, 0x87E3, 0x87A4, 0x87D7, 0x87D9, 0x8801, 0x87F4, 
+    0x87E8, 0x87DD, 0x8953, 0x894B, 0x894F, 0x894C, 0x8946, 0x8950, 0x8951, 
+    0x8949, 0x8B2A, 0x8B27, 0x8B23, 0x8B33, 0x8B30, 0x8B35, 0x8B47, 0x8B2F, 
+    0x8B3C, 0x8B3E, 0x8B31, 0x8B25, 0x8B37, 0x8B26, 0x8B36, 0x8B2E, 0x8B24, 
+    0x8B3B, 0x8B3D, 0x8B3A, 0x8C42, 0x8C75, 0x8C99, 0x8C98, 0x8C97, 0x8CFE, 
+    0x8D04, 0x8D02, 0x8D00, 0x8E5C, 0x8E62, 0x8E60, 0x8E57, 0x8E56, 0x8E5E, 
+    0x8E65, 0x8E67},
+    {0x8E5B, 0x8E5A, 0x8E61, 0x8E5D, 0x8E69, 0x8E54, 0x8F46, 0x8F47, 0x8F48, 
+    0x8F4B, 0x9128, 0x913A, 0x913B, 0x913E, 0x91A8, 0x91A5, 0x91A7, 0x91AF, 
+    0x91AA, 0x93B5, 0x938C, 0x9392, 0x93B7, 0x939B, 0x939D, 0x9389, 0x93A7, 
+    0x938E, 0x93AA, 0x939E, 0x93A6, 0x9395, 0x9388, 0x9399, 0x939F, 0x938D, 
+    0x93B1, 0x9391, 0x93B2, 0x93A4, 0x93A8, 0x93B4, 0x93A3, 0x93A5, 0x95D2, 
+    0x95D3, 0x95D1, 0x96B3, 0x96D7, 0x96DA, 0x5DC2, 0x96DF, 0x96D8, 0x96DD, 
+    0x9723, 0x9722, 0x9725, 0x97AC, 0x97AE, 0x97A8, 0x97AB, 0x97A4, 0x97AA, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 0x97A2, 0x97A5, 
+    0x97D7, 0x97D9, 0x97D6, 0x97D8, 0x97FA, 0x9850, 0x9851, 0x9852, 0x98B8, 
+    0x9941, 0x993C, 0x993A, 0x9A0F, 0x9A0B, 0x9A09, 0x9A0D, 0x9A04, 0x9A11, 
+    0x9A0A, 0x9A05, 0x9A07, 0x9A06, 0x9AC0, 0x9ADC, 0x9B08, 0x9B04, 0x9B05, 
+    0x9B29, 0x9B35, 0x9B4A, 0x9B4C, 0x9B4B, 0x9BC7, 0x9BC6, 0x9BC3, 0x9BBF, 
+    0x9BC1, 0x9BB5, 0x9BB8, 0x9BD3, 0x9BB6, 0x9BC4, 0x9BB9, 0x9BBD, 0x9D5C, 
+    0x9D53, 0x9D4F, 0x9D4A, 0x9D5B, 0x9D4B, 0x9D59, 0x9D56, 0x9D4C, 0x9D57, 
+    0x9D52, 0x9D54, 0x9D5F, 0x9D58, 0x9D5A, 0x9E8E, 0x9E8C, 0x9EDF, 0x9F01, 
+    0x9F00, 0x9F16, 0x9F25, 0x9F2B, 0x9F2A, 0x9F29, 0x9F28, 0x9F4C, 0x9F55, 
+    0x5134, 0x5135, 0x5296, 0x52F7, 0x53B4, 0x56AB, 0x56AD, 0x56A6, 0x56A7, 
+    0x56AA, 0x56AC, 0x58DA, 0x58DD, 0x58DB, 0x5912, 0x5B3D, 0x5B3E, 0x5B3F, 
+    0x5DC3, 0x5E70},
+    {0x5FBF, 0x61FB, 0x6507, 0x6510, 0x650D, 0x6509, 0x650C, 0x650E, 0x6584, 
+    0x65DE, 0x65DD, 0x66DE, 0x6AE7, 0x6AE0, 0x6ACC, 0x6AD1, 0x6AD9, 0x6ACB, 
+    0x6ADF, 0x6ADC, 0x6AD0, 0x6AEB, 0x6ACF, 0x6ACD, 0x6ADE, 0x6B60, 0x6BB0, 
+    0x6C0C, 0x7019, 0x7027, 0x7020, 0x7016, 0x702B, 0x7021, 0x7022, 0x7023, 
+    0x7029, 0x7017, 0x7024, 0x701C, 0x702A, 0x720C, 0x720A, 0x7207, 0x7202, 
+    0x7205, 0x72A5, 0x72A6, 0x72A4, 0x72A3, 0x72A1, 0x74CB, 0x74C5, 0x74B7, 
+    0x74C3, 0x7516, 0x7660, 0x77C9, 0x77CA, 0x77C4, 0x77F1, 0x791D, 0x791B, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 0x7921, 0x791C, 
+    0x7917, 0x791E, 0x79B0, 0x7A67, 0x7A68, 0x7C33, 0x7C3C, 0x7C39, 0x7C2C, 
+    0x7C3B, 0x7CEC, 0x7CEA, 0x7E76, 0x7E75, 0x7E78, 0x7E70, 0x7E77, 0x7E6F, 
+    0x7E7A, 0x7E72, 0x7E74, 0x7E68, 0x7F4B, 0x7F4A, 0x7F83, 0x7F86, 0x7FB7, 
+    0x7FFD, 0x7FFE, 0x8078, 0x81D7, 0x81D5, 0x8264, 0x8261, 0x8263, 0x85EB, 
+    0x85F1, 0x85ED, 0x85D9, 0x85E1, 0x85E8, 0x85DA, 0x85D7, 0x85EC, 0x85F2, 
+    0x85F8, 0x85D8, 0x85DF, 0x85E3, 0x85DC, 0x85D1, 0x85F0, 0x85E6, 0x85EF, 
+    0x85DE, 0x85E2, 0x8800, 0x87FA, 0x8803, 0x87F6, 0x87F7, 0x8809, 0x880C, 
+    0x880B, 0x8806, 0x87FC, 0x8808, 0x87FF, 0x880A, 0x8802, 0x8962, 0x895A, 
+    0x895B, 0x8957, 0x8961, 0x895C, 0x8958, 0x895D, 0x8959, 0x8988, 0x89B7, 
+    0x89B6, 0x89F6, 0x8B50, 0x8B48, 0x8B4A, 0x8B40, 0x8B53, 0x8B56, 0x8B54, 
+    0x8B4B, 0x8B55},
+    {0x8B51, 0x8B42, 0x8B52, 0x8B57, 0x8C43, 0x8C77, 0x8C76, 0x8C9A, 0x8D06, 
+    0x8D07, 0x8D09, 0x8DAC, 0x8DAA, 0x8DAD, 0x8DAB, 0x8E6D, 0x8E78, 0x8E73, 
+    0x8E6A, 0x8E6F, 0x8E7B, 0x8EC2, 0x8F52, 0x8F51, 0x8F4F, 0x8F50, 0x8F53, 
+    0x8FB4, 0x9140, 0x913F, 0x91B0, 0x91AD, 0x93DE, 0x93C7, 0x93CF, 0x93C2, 
+    0x93DA, 0x93D0, 0x93F9, 0x93EC, 0x93CC, 0x93D9, 0x93A9, 0x93E6, 0x93CA, 
+    0x93D4, 0x93EE, 0x93E3, 0x93D5, 0x93C4, 0x93CE, 0x93C0, 0x93D2, 0x93E7, 
+    0x957D, 0x95DA, 0x95DB, 0x96E1, 0x9729, 0x972B, 0x972C, 0x9728, 0x9726, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 0x97B3, 0x97B7, 
+    0x97B6, 0x97DD, 0x97DE, 0x97DF, 0x985C, 0x9859, 0x985D, 0x9857, 0x98BF, 
+    0x98BD, 0x98BB, 0x98BE, 0x9948, 0x9947, 0x9943, 0x99A6, 0x99A7, 0x9A1A, 
+    0x9A15, 0x9A25, 0x9A1D, 0x9A24, 0x9A1B, 0x9A22, 0x9A20, 0x9A27, 0x9A23, 
+    0x9A1E, 0x9A1C, 0x9A14, 0x9AC2, 0x9B0B, 0x9B0A, 0x9B0E, 0x9B0C, 0x9B37, 
+    0x9BEA, 0x9BEB, 0x9BE0, 0x9BDE, 0x9BE4, 0x9BE6, 0x9BE2, 0x9BF0, 0x9BD4, 
+    0x9BD7, 0x9BEC, 0x9BDC, 0x9BD9, 0x9BE5, 0x9BD5, 0x9BE1, 0x9BDA, 0x9D77, 
+    0x9D81, 0x9D8A, 0x9D84, 0x9D88, 0x9D71, 0x9D80, 0x9D78, 0x9D86, 0x9D8B, 
+    0x9D8C, 0x9D7D, 0x9D6B, 0x9D74, 0x9D75, 0x9D70, 0x9D69, 0x9D85, 0x9D73, 
+    0x9D7B, 0x9D82, 0x9D6F, 0x9D79, 0x9D7F, 0x9D87, 0x9D68, 0x9E94, 0x9E91, 
+    0x9EC0, 0x9EFC, 0x9F2D, 0x9F40, 0x9F41, 0x9F4D, 0x9F56, 0x9F57, 0x9F58, 
+    0x5337, 0x56B2},
+    {0x56B5, 0x56B3, 0x58E3, 0x5B45, 0x5DC6, 0x5DC7, 0x5EEE, 0x5EEF, 0x5FC0, 
+    0x5FC1, 0x61F9, 0x6517, 0x6516, 0x6515, 0x6513, 0x65DF, 0x66E8, 0x66E3, 
+    0x66E4, 0x6AF3, 0x6AF0, 0x6AEA, 0x6AE8, 0x6AF9, 0x6AF1, 0x6AEE, 0x6AEF, 
+    0x703C, 0x7035, 0x702F, 0x7037, 0x7034, 0x7031, 0x7042, 0x7038, 0x703F, 
+    0x703A, 0x7039, 0x7040, 0x703B, 0x7033, 0x7041, 0x7213, 0x7214, 0x72A8, 
+    0x737D, 0x737C, 0x74BA, 0x76AB, 0x76AA, 0x76BE, 0x76ED, 0x77CC, 0x77CE, 
+    0x77CF, 0x77CD, 0x77F2, 0x7925, 0x7923, 0x7927, 0x7928, 0x7924, 0x7929, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 0x79B2, 0x7A6E, 
+    0x7A6C, 0x7A6D, 0x7AF7, 0x7C49, 0x7C48, 0x7C4A, 0x7C47, 0x7C45, 0x7CEE, 
+    0x7E7B, 0x7E7E, 0x7E81, 0x7E80, 0x7FBA, 0x7FFF, 0x8079, 0x81DB, 0x81D9, 
+    0x820B, 0x8268, 0x8269, 0x8622, 0x85FF, 0x8601, 0x85FE, 0x861B, 0x8600, 
+    0x85F6, 0x8604, 0x8609, 0x8605, 0x860C, 0x85FD, 0x8819, 0x8810, 0x8811, 
+    0x8817, 0x8813, 0x8816, 0x8963, 0x8966, 0x89B9, 0x89F7, 0x8B60, 0x8B6A, 
+    0x8B5D, 0x8B68, 0x8B63, 0x8B65, 0x8B67, 0x8B6D, 0x8DAE, 0x8E86, 0x8E88, 
+    0x8E84, 0x8F59, 0x8F56, 0x8F57, 0x8F55, 0x8F58, 0x8F5A, 0x908D, 0x9143, 
+    0x9141, 0x91B7, 0x91B5, 0x91B2, 0x91B3, 0x940B, 0x9413, 0x93FB, 0x9420, 
+    0x940F, 0x9414, 0x93FE, 0x9415, 0x9410, 0x9428, 0x9419, 0x940D, 0x93F5, 
+    0x9400, 0x93F7, 0x9407, 0x940E, 0x9416, 0x9412, 0x93FA, 0x9409, 0x93F8, 
+    0x940A, 0x93FF},
+    {0x93FC, 0x940C, 0x93F6, 0x9411, 0x9406, 0x95DE, 0x95E0, 0x95DF, 0x972E, 
+    0x972F, 0x97B9, 0x97BB, 0x97FD, 0x97FE, 0x9860, 0x9862, 0x9863, 0x985F, 
+    0x98C1, 0x98C2, 0x9950, 0x994E, 0x9959, 0x994C, 0x994B, 0x9953, 0x9A32, 
+    0x9A34, 0x9A31, 0x9A2C, 0x9A2A, 0x9A36, 0x9A29, 0x9A2E, 0x9A38, 0x9A2D, 
+    0x9AC7, 0x9ACA, 0x9AC6, 0x9B10, 0x9B12, 0x9B11, 0x9C0B, 0x9C08, 0x9BF7, 
+    0x9C05, 0x9C12, 0x9BF8, 0x9C40, 0x9C07, 0x9C0E, 0x9C06, 0x9C17, 0x9C14, 
+    0x9C09, 0x9D9F, 0x9D99, 0x9DA4, 0x9D9D, 0x9D92, 0x9D98, 0x9D90, 0x9D9B, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 0x9DA0, 0x9D94, 
+    0x9D9C, 0x9DAA, 0x9D97, 0x9DA1, 0x9D9A, 0x9DA2, 0x9DA8, 0x9D9E, 0x9DA3, 
+    0x9DBF, 0x9DA9, 0x9D96, 0x9DA6, 0x9DA7, 0x9E99, 0x9E9B, 0x9E9A, 0x9EE5, 
+    0x9EE4, 0x9EE7, 0x9EE6, 0x9F30, 0x9F2E, 0x9F5B, 0x9F60, 0x9F5E, 0x9F5D, 
+    0x9F59, 0x9F91, 0x513A, 0x5139, 0x5298, 0x5297, 0x56C3, 0x56BD, 0x56BE, 
+    0x5B48, 0x5B47, 0x5DCB, 0x5DCF, 0x5EF1, 0x61FD, 0x651B, 0x6B02, 0x6AFC, 
+    0x6B03, 0x6AF8, 0x6B00, 0x7043, 0x7044, 0x704A, 0x7048, 0x7049, 0x7045, 
+    0x7046, 0x721D, 0x721A, 0x7219, 0x737E, 0x7517, 0x766A, 0x77D0, 0x792D, 
+    0x7931, 0x792F, 0x7C54, 0x7C53, 0x7CF2, 0x7E8A, 0x7E87, 0x7E88, 0x7E8B, 
+    0x7E86, 0x7E8D, 0x7F4D, 0x7FBB, 0x8030, 0x81DD, 0x8618, 0x862A, 0x8626, 
+    0x861F, 0x8623, 0x861C, 0x8619, 0x8627, 0x862E, 0x8621, 0x8620, 0x8629, 
+    0x861E, 0x8625},
+    {0x8829, 0x881D, 0x881B, 0x8820, 0x8824, 0x881C, 0x882B, 0x884A, 0x896D, 
+    0x8969, 0x896E, 0x896B, 0x89FA, 0x8B79, 0x8B78, 0x8B45, 0x8B7A, 0x8B7B, 
+    0x8D10, 0x8D14, 0x8DAF, 0x8E8E, 0x8E8C, 0x8F5E, 0x8F5B, 0x8F5D, 0x9146, 
+    0x9144, 0x9145, 0x91B9, 0x943F, 0x943B, 0x9436, 0x9429, 0x943D, 0x943C, 
+    0x9430, 0x9439, 0x942A, 0x9437, 0x942C, 0x9440, 0x9431, 0x95E5, 0x95E4, 
+    0x95E3, 0x9735, 0x973A, 0x97BF, 0x97E1, 0x9864, 0x98C9, 0x98C6, 0x98C0, 
+    0x9958, 0x9956, 0x9A39, 0x9A3D, 0x9A46, 0x9A44, 0x9A42, 0x9A41, 0x9A3A, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 0x9A3F, 0x9ACD, 
+    0x9B15, 0x9B17, 0x9B18, 0x9B16, 0x9B3A, 0x9B52, 0x9C2B, 0x9C1D, 0x9C1C, 
+    0x9C2C, 0x9C23, 0x9C28, 0x9C29, 0x9C24, 0x9C21, 0x9DB7, 0x9DB6, 0x9DBC, 
+    0x9DC1, 0x9DC7, 0x9DCA, 0x9DCF, 0x9DBE, 0x9DC5, 0x9DC3, 0x9DBB, 0x9DB5, 
+    0x9DCE, 0x9DB9, 0x9DBA, 0x9DAC, 0x9DC8, 0x9DB1, 0x9DAD, 0x9DCC, 0x9DB3, 
+    0x9DCD, 0x9DB2, 0x9E7A, 0x9E9C, 0x9EEB, 0x9EEE, 0x9EED, 0x9F1B, 0x9F18, 
+    0x9F1A, 0x9F31, 0x9F4E, 0x9F65, 0x9F64, 0x9F92, 0x4EB9, 0x56C6, 0x56C5, 
+    0x56CB, 0x5971, 0x5B4B, 0x5B4C, 0x5DD5, 0x5DD1, 0x5EF2, 0x6521, 0x6520, 
+    0x6526, 0x6522, 0x6B0B, 0x6B08, 0x6B09, 0x6C0D, 0x7055, 0x7056, 0x7057, 
+    0x7052, 0x721E, 0x721F, 0x72A9, 0x737F, 0x74D8, 0x74D5, 0x74D9, 0x74D7, 
+    0x766D, 0x76AD, 0x7935, 0x79B4, 0x7A70, 0x7A71, 0x7C57, 0x7C5C, 0x7C59, 
+    0x7C5B, 0x7C5A},
+    {0x7CF4, 0x7CF1, 0x7E91, 0x7F4F, 0x7F87, 0x81DE, 0x826B, 0x8634, 0x8635, 
+    0x8633, 0x862C, 0x8632, 0x8636, 0x882C, 0x8828, 0x8826, 0x882A, 0x8825, 
+    0x8971, 0x89BF, 0x89BE, 0x89FB, 0x8B7E, 0x8B84, 0x8B82, 0x8B86, 0x8B85, 
+    0x8B7F, 0x8D15, 0x8E95, 0x8E94, 0x8E9A, 0x8E92, 0x8E90, 0x8E96, 0x8E97, 
+    0x8F60, 0x8F62, 0x9147, 0x944C, 0x9450, 0x944A, 0x944B, 0x944F, 0x9447, 
+    0x9445, 0x9448, 0x9449, 0x9446, 0x973F, 0x97E3, 0x986A, 0x9869, 0x98CB, 
+    0x9954, 0x995B, 0x9A4E, 0x9A53, 0x9A54, 0x9A4C, 0x9A4F, 0x9A48, 0x9A4A, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 0x9A49, 0x9A52, 
+    0x9A50, 0x9AD0, 0x9B19, 0x9B2B, 0x9B3B, 0x9B56, 0x9B55, 0x9C46, 0x9C48, 
+    0x9C3F, 0x9C44, 0x9C39, 0x9C33, 0x9C41, 0x9C3C, 0x9C37, 0x9C34, 0x9C32, 
+    0x9C3D, 0x9C36, 0x9DDB, 0x9DD2, 0x9DDE, 0x9DDA, 0x9DCB, 0x9DD0, 0x9DDC, 
+    0x9DD1, 0x9DDF, 0x9DE9, 0x9DD9, 0x9DD8, 0x9DD6, 0x9DF5, 0x9DD5, 0x9DDD, 
+    0x9EB6, 0x9EF0, 0x9F35, 0x9F33, 0x9F32, 0x9F42, 0x9F6B, 0x9F95, 0x9FA2, 
+    0x513D, 0x5299, 0x58E8, 0x58E7, 0x5972, 0x5B4D, 0x5DD8, 0x882F, 0x5F4F, 
+    0x6201, 0x6203, 0x6204, 0x6529, 0x6525, 0x6596, 0x66EB, 0x6B11, 0x6B12, 
+    0x6B0F, 0x6BCA, 0x705B, 0x705A, 0x7222, 0x7382, 0x7381, 0x7383, 0x7670, 
+    0x77D4, 0x7C67, 0x7C66, 0x7E95, 0x826C, 0x863A, 0x8640, 0x8639, 0x863C, 
+    0x8631, 0x863B, 0x863E, 0x8830, 0x8832, 0x882E, 0x8833, 0x8976, 0x8974, 
+    0x8973, 0x89FE},
+    {0x8B8C, 0x8B8E, 0x8B8B, 0x8B88, 0x8C45, 0x8D19, 0x8E98, 0x8F64, 0x8F63, 
+    0x91BC, 0x9462, 0x9455, 0x945D, 0x9457, 0x945E, 0x97C4, 0x97C5, 0x9800, 
+    0x9A56, 0x9A59, 0x9B1E, 0x9B1F, 0x9B20, 0x9C52, 0x9C58, 0x9C50, 0x9C4A, 
+    0x9C4D, 0x9C4B, 0x9C55, 0x9C59, 0x9C4C, 0x9C4E, 0x9DFB, 0x9DF7, 0x9DEF, 
+    0x9DE3, 0x9DEB, 0x9DF8, 0x9DE4, 0x9DF6, 0x9DE1, 0x9DEE, 0x9DE6, 0x9DF2, 
+    0x9DF0, 0x9DE2, 0x9DEC, 0x9DF4, 0x9DF3, 0x9DE8, 0x9DED, 0x9EC2, 0x9ED0, 
+    0x9EF2, 0x9EF3, 0x9F06, 0x9F1C, 0x9F38, 0x9F37, 0x9F36, 0x9F43, 0x9F4F, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 0x9F71, 0x9F70, 
+    0x9F6E, 0x9F6F, 0x56D3, 0x56CD, 0x5B4E, 0x5C6D, 0x652D, 0x66ED, 0x66EE, 
+    0x6B13, 0x705F, 0x7061, 0x705D, 0x7060, 0x7223, 0x74DB, 0x74E5, 0x77D5, 
+    0x7938, 0x79B7, 0x79B6, 0x7C6A, 0x7E97, 0x7F89, 0x826D, 0x8643, 0x8838, 
+    0x8837, 0x8835, 0x884B, 0x8B94, 0x8B95, 0x8E9E, 0x8E9F, 0x8EA0, 0x8E9D, 
+    0x91BE, 0x91BD, 0x91C2, 0x946B, 0x9468, 0x9469, 0x96E5, 0x9746, 0x9743, 
+    0x9747, 0x97C7, 0x97E5, 0x9A5E, 0x9AD5, 0x9B59, 0x9C63, 0x9C67, 0x9C66, 
+    0x9C62, 0x9C5E, 0x9C60, 0x9E02, 0x9DFE, 0x9E07, 0x9E03, 0x9E06, 0x9E05, 
+    0x9E00, 0x9E01, 0x9E09, 0x9DFF, 0x9DFD, 0x9E04, 0x9EA0, 0x9F1E, 0x9F46, 
+    0x9F74, 0x9F75, 0x9F76, 0x56D4, 0x652E, 0x65B8, 0x6B18, 0x6B19, 0x6B17, 
+    0x6B1A, 0x7062, 0x7226, 0x72AA, 0x77D8, 0x77D9, 0x7939, 0x7C69, 0x7C6B, 
+    0x7CF6, 0x7E9A},
+    {0x7E98, 0x7E9B, 0x7E99, 0x81E0, 0x81E1, 0x8646, 0x8647, 0x8648, 0x8979, 
+    0x897A, 0x897C, 0x897B, 0x89FF, 0x8B98, 0x8B99, 0x8EA5, 0x8EA4, 0x8EA3, 
+    0x946E, 0x946D, 0x946F, 0x9471, 0x9473, 0x9749, 0x9872, 0x995F, 0x9C68, 
+    0x9C6E, 0x9C6D, 0x9E0B, 0x9E0D, 0x9E10, 0x9E0F, 0x9E12, 0x9E11, 0x9EA1, 
+    0x9EF5, 0x9F09, 0x9F47, 0x9F78, 0x9F7B, 0x9F7A, 0x9F79, 0x571E, 0x7066, 
+    0x7C6F, 0x883C, 0x8DB2, 0x8EA6, 0x91C3, 0x9474, 0x9478, 0x9476, 0x9475, 
+    0x9A60, 0x9C74, 0x9C73, 0x9C71, 0x9C75, 0x9E14, 0x9E13, 0x9EF6, 0x9F0A, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 0x9FA4, 0x7068, 
+    0x7065, 0x7CF7, 0x866A, 0x883E, 0x883D, 0x883F, 0x8B9E, 0x8C9C, 0x8EA9, 
+    0x8EC9, 0x974B, 0x9873, 0x9874, 0x98CC, 0x9961, 0x99AB, 0x9A64, 0x9A66, 
+    0x9A67, 0x9B24, 0x9E15, 0x9E17, 0x9F48, 0x6207, 0x6B1E, 0x7227, 0x864C, 
+    0x8EA8, 0x9482, 0x9480, 0x9481, 0x9A69, 0x9A68, 0x9B2E, 0x9E19, 0x7229, 
+    0x864B, 0x8B9F, 0x9483, 0x9C79, 0x9EB7, 0x7675, 0x9A6B, 0x9C7A, 0x9E1D, 
+    0x7069, 0x706A, 0x9EA4, 0x9F7E, 0x9F49, 0x9F98,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR},
+    { ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR},
+    { ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR},
+    { ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR},
+    { ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR},
+    { ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR},
+};
+
+/*
+ * Mapping from Unicode back to Big5.
+ * 
+ * This inverse is done the same way the SBCS ones are done: I
+ * provide a list of Big5 positions, sorted into ascending order of
+ * their Unicode values. Then we can binary-search through this
+ * list, referring to the above table for each comparison, to find
+ * the coordinates for a given code point.
+ * 
+ * Generated by running the following sh+Perl over BIG5.TXT:
+
+cat BIG5.TXT | \
+sed -e $'s/^\\(0xA15A\t\\)0xFFFD/\\10xFF3F/' \
+    -e $'s/^\\(0xA1FE\t\\)0xFFFD/\\10x2571/' \
+    -e $'s/^\\(0xA240\t\\)0xFFFD/\\10x2572/' \
+    -e $'s/^\\(0xA2CC\t\\)0xFFFD/\\10x5341/' \
+    -e $'s/^\\(0xA2CE\t\\)0xFFFD/\\10x5345/' \
+    -e '/^0xA1C3/d' -e '/^0xA1C5/d' | \
+perl -ne '$a{$3}=[hex$1,hex$2] if /^0x(\S\S)(\S\S)\s+(0x\S+)\s/;' \
+      -e 'END {$o="    ";for $k (sort keys %a) { ($r,$c) = @{$a{$k}}; ' \
+      -e '$o .= $C; $C = ", "; (print "$o\n"), $o="    " if length $o > 70;' \
+      -e '$o .= sprintf "{%d,%d}", $r-161,$c-64; } print "$o\n"; }'
+
+ */
+
+static const struct { unsigned char r, c; } big5_backward[] = {
+    {1,6}, {1,7}, {1,4}, {0,113}, {1,24}, {0,147}, {0,16}, {0,145}, {0,146}, 
+    {2,126}, {2,124}, {2,125}, {2,127}, {2,123}, {2,4}, {2,5}, {2,6}, {2,7}, 
+    {2,8}, {2,9}, {2,10}, {2,11}, {2,12}, {2,13}, {2,14}, {2,15}, {2,16}, 
+    {2,17}, {2,18}, {2,19}, {2,20}, {2,21}, {2,22}, {2,23}, {2,24}, {2,25}, 
+    {2,26}, {2,27}, {2,28}, {2,29}, {2,30}, {2,31}, {2,32}, {2,33}, {2,34}, 
+    {2,35}, {2,36}, {2,37}, {2,38}, {2,39}, {2,40}, {2,41}, {2,42}, {2,43}, 
+    {2,44}, {2,45}, {2,46}, {2,47}, {2,48}, {2,49}, {2,50}, {2,51}, {38,115}, 
+    {38,113}, {38,114}, {38,116}, {38,117}, {38,118}, {38,119}, {38,120}, 
+    {38,121}, {38,122}, {38,123}, {38,124}, {38,125}, {38,126}, {38,127}, 
+    {38,128}, {38,129}, {38,130}, {38,131}, {38,132}, {38,133}, {38,134}, 
+    {38,135}, {38,136}, {38,137}, {38,138}, {38,139}, {38,140}, {38,141}, 
+    {38,143}, {38,144}, {38,145}, {38,146}, {38,147}, {38,148}, {38,149}, 
+    {38,150}, {38,151}, {38,152}, {38,153}, {38,154}, {38,155}, {38,156}, 
+    {38,157}, {38,158}, {38,159}, {38,160}, {38,161}, {38,162}, {38,163}, 
+    {38,164}, {38,165}, {38,166}, {38,167}, {38,168}, {38,142}, {0,22}, 
+    {0,24}, {0,101}, {0,102}, {0,103}, {0,104}, {0,5}, {0,12}, {0,11}, 
+    {0,108}, {0,107}, {0,112}, {0,130}, {1,10}, {0,129}, {1,11}, {1,121}, 
+    {1,122}, {1,123}, {1,124}, {1,125}, {1,126}, {1,127}, {1,128}, {1,129}, 
+    {1,130}, {0,182}, {0,180}, {0,183}, {0,181}, {0,184}, {0,185}, {0,187}, 
+    {0,186}, {0,148}, {0,155}, {0,168}, {0,167}, {0,189}, {0,188}, {0,164}, 
+    {0,165}, {0,172}, {0,173}, {0,175}, {0,174}, {0,163}, {0,156}, {0,154}, 
+    {0,157}, {0,152}, {0,153}, {0,166}, {0,169}, {38,169}, {38,170}, {38,171}, 
+    {38,172}, {38,173}, {38,174}, {38,175}, {38,176}, {38,177}, {38,178}, 
+    {38,179}, {38,180}, {38,181}, {38,182}, {38,183}, {38,184}, {38,185}, 
+    {38,186}, {38,187}, {38,188}, {1,55}, {1,56}, {1,58}, {1,59}, {1,60}, 
+    {1,61}, {1,53}, {1,52}, {1,51}, {1,50}, {1,49}, {1,100}, {1,101}, {1,103}, 
+    {1,102}, {1,62}, {1,97}, {1,99}, {1,98}, {1,108}, {1,109}, {1,110}, 
+    {1,34}, {1,35}, {1,36}, {1,37}, {1,38}, {1,39}, {1,40}, {1,41}, {1,48}, 
+    {1,47}, {1,46}, {1,45}, {1,44}, {1,43}, {1,42}, {1,54}, {1,57}, {0,125}, 
+    {0,124}, {0,118}, {0,117}, {0,127}, {0,126}, {0,123}, {0,122}, {0,115}, 
+    {0,119}, {0,116}, {1,104}, {1,105}, {1,107}, {1,106}, {0,121}, {0,120}, 
+    {0,179}, {0,176}, {0,178}, {0,177}, {0,0}, {0,2}, {0,3}, {0,114}, {37,100}, 
+    {0,49}, {0,50}, {0,45}, {0,46}, {0,53}, {0,54}, {0,57}, {0,58}, {0,41}, 
+    {0,42}, {1,5}, {0,37}, {0,38}, {0,105}, {0,106}, {1,131}, {1,132}, 
+    {1,133}, {1,134}, {1,135}, {1,136}, {1,137}, {1,138}, {1,139}, {37,101}, 
+    {37,102}, {37,103}, {37,104}, {37,105}, {37,106}, {37,107}, {37,108}, 
+    {37,109}, {37,110}, {37,111}, {37,112}, {37,113}, {37,114}, {37,115}, 
+    {37,116}, {37,117}, {37,118}, {37,119}, {37,120}, {37,121}, {37,122}, 
+    {37,123}, {37,124}, {37,125}, {37,126}, {37,127}, {37,128}, {37,129}, 
+    {37,130}, {37,131}, {37,132}, {37,133}, {37,134}, {37,135}, {37,136}, 
+    {37,137}, {37,138}, {37,139}, {37,140}, {37,141}, {37,142}, {37,143}, 
+    {37,144}, {37,145}, {37,146}, {37,147}, {37,148}, {37,149}, {37,150}, 
+    {37,151}, {37,152}, {37,153}, {37,154}, {37,155}, {37,156}, {37,157}, 
+    {37,158}, {37,159}, {37,160}, {37,161}, {37,162}, {37,163}, {37,164}, 
+    {37,165}, {37,166}, {37,167}, {37,168}, {37,169}, {37,170}, {37,171}, 
+    {37,172}, {37,173}, {37,174}, {37,175}, {37,176}, {37,177}, {37,178}, 
+    {37,179}, {37,180}, {37,181}, {37,182}, {37,183}, {37,98}, {37,99}, 
+    {37,184}, {37,185}, {37,186}, {37,187}, {37,188}, {37,189}, {37,190}, 
+    {38,0}, {38,1}, {38,2}, {38,3}, {38,4}, {38,5}, {38,6}, {38,7}, {38,8}, 
+    {38,9}, {38,10}, {38,11}, {38,12}, {38,13}, {38,14}, {38,15}, {38,16}, 
+    {38,17}, {38,18}, {38,19}, {38,20}, {38,21}, {38,22}, {38,23}, {38,24}, 
+    {38,25}, {38,26}, {38,27}, {38,28}, {38,29}, {38,30}, {38,31}, {38,32}, 
+    {38,33}, {38,34}, {38,35}, {38,36}, {38,37}, {38,38}, {38,39}, {38,40}, 
+    {38,41}, {38,42}, {38,43}, {38,44}, {38,45}, {38,46}, {38,47}, {38,48}, 
+    {38,49}, {38,50}, {38,51}, {38,52}, {38,53}, {38,54}, {38,55}, {38,56}, 
+    {38,57}, {38,58}, {38,59}, {38,60}, {38,61}, {38,62}, {38,97}, {38,98}, 
+    {38,99}, {38,100}, {38,101}, {38,102}, {38,103}, {38,104}, {38,105}, 
+    {38,106}, {38,107}, {38,108}, {38,109}, {38,110}, {38,111}, {38,112}, 
+    {37,97}, {2,52}, {2,53}, {2,54}, {2,55}, {2,56}, {2,57}, {2,58}, {2,59}, 
+    {2,60}, {2,61}, {2,62}, {2,97}, {2,98}, {2,99}, {2,100}, {2,101}, {2,102}, 
+    {2,103}, {2,104}, {2,105}, {2,106}, {2,107}, {2,108}, {2,109}, {2,110}, 
+    {2,111}, {2,112}, {2,113}, {2,114}, {2,115}, {2,116}, {2,117}, {2,118}, 
+    {2,119}, {2,120}, {2,121}, {2,122}, {0,128}, {1,21}, {1,22}, {1,16}, 
+    {1,17}, {1,18}, {1,20}, {1,23}, {1,19}, {0,171}, {0,170}, {1,15}, {3,0}, 
+    {3,2}, {3,3}, {40,5}, {3,22}, {3,20}, {3,23}, {3,21}, {40,6}, {3,99}, 
+    {40,15}, {40,13}, {3,98}, {3,97}, {4,2}, {4,1}, {4,0}, {4,3}, {3,190}, 
+    {4,160}, {4,161}, {7,131}, {3,24}, {3,100}, {40,16}, {3,101}, {40,35}, 
+    {5,170}, {42,113}, {3,25}, {3,102}, {4,4}, {40,36}, {40,0}, {3,4}, 
+    {3,27}, {40,7}, {3,28}, {3,103}, {4,5}, {4,7}, {4,6}, {4,162}, {4,163}, 
+    {7,132}, {12,124}, {3,1}, {40,1}, {3,5}, {3,30}, {3,29}, {4,164}, {7,133}, 
+    {15,110}, {51,11}, {21,131}, {59,113}, {59,114}, {3,6}, {3,105}, {7,134}, 
+    {3,7}, {40,8}, {3,31}, {3,106}, {3,108}, {40,17}, {3,109}, {3,107}, 
+    {4,165}, {7,135}, {7,136}, {10,5}, {3,32}, {3,110}, {4,166}, {4,168}, 
+    {4,167}, {5,171}, {7,137}, {7,138}, {10,6}, {10,7}, {12,125}, {59,115}, 
+    {85,150}, {3,8}, {3,112}, {3,111}, {40,18}, {3,113}, {3,119}, {3,114}, 
+    {3,115}, {40,20}, {40,19}, {3,117}, {3,118}, {3,116}, {4,10}, {4,11}, 
+    {4,12}, {4,13}, {4,9}, {4,16}, {40,42}, {40,38}, {40,41}, {4,17}, {4,33}, 
+    {40,40}, {4,14}, {4,15}, {4,8}, {40,37}, {40,39}, {4,181}, {40,112}, 
+    {4,178}, {4,182}, {40,122}, {40,110}, {4,179}, {40,114}, {4,180}, {4,183}, 
+    {4,169}, {40,113}, {4,184}, {40,117}, {40,121}, {40,118}, {40,115}, 
+    {4,170}, {4,172}, {4,185}, {4,174}, {40,107}, {4,177}, {4,175}, {4,176}, 
+    {40,123}, {40,120}, {40,111}, {4,173}, {40,108}, {4,171}, {40,116}, 
+    {40,119}, {40,109}, {41,38}, {6,2}, {5,180}, {41,39}, {5,177}, {6,4}, 
+    {5,185}, {5,184}, {41,27}, {5,188}, {5,183}, {41,32}, {41,40}, {41,36}, 
+    {5,186}, {5,189}, {5,174}, {6,7}, {41,29}, {42,125}, {5,172}, {6,3}, 
+    {5,173}, {5,181}, {5,182}, {41,34}, {41,30}, {5,187}, {5,179}, {41,26}, 
+    {5,175}, {41,37}, {6,5}, {6,8}, {5,178}, {6,0}, {6,6}, {5,176}, {41,35}, 
+    {6,1}, {41,41}, {41,28}, {5,190}, {41,31}, {41,33}, {7,152}, {42,127}, 
+    {42,139}, {7,144}, {42,140}, {7,139}, {7,149}, {7,142}, {42,121}, {7,150}, 
+    {42,120}, {42,124}, {42,131}, {42,129}, {7,158}, {7,153}, {42,115}, 
+    {42,117}, {7,155}, {7,143}, {42,118}, {42,130}, {42,137}, {7,148}, 
+    {42,123}, {42,116}, {7,147}, {42,119}, {7,151}, {42,122}, {7,146}, 
+    {7,141}, {7,156}, {42,132}, {7,157}, {42,136}, {42,134}, {42,138}, 
+    {7,154}, {42,126}, {42,114}, {42,128}, {7,145}, {42,133}, {7,140}, 
+    {42,135}, {10,22}, {10,10}, {44,160}, {44,168}, {10,9}, {10,17}, {10,29}, 
+    {44,174}, {44,172}, {44,167}, {10,11}, {44,173}, {44,163}, {10,25}, 
+    {10,16}, {10,24}, {44,158}, {44,170}, {44,161}, {10,20}, {44,162}, 
+    {44,157}, {10,27}, {10,14}, {10,23}, {10,13}, {44,159}, {44,164}, {44,171}, 
+    {10,21}, {10,18}, {44,166}, {10,26}, {44,169}, {44,165}, {10,15}, {10,28}, 
+    {10,19}, {10,12}, {10,8}, {44,175}, {12,151}, {12,129}, {12,145}, {12,150}, 
+    {47,144}, {47,143}, {47,148}, {47,149}, {12,132}, {12,141}, {12,154}, 
+    {12,142}, {47,137}, {12,135}, {47,138}, {12,156}, {12,147}, {12,126}, 
+    {12,127}, {47,157}, {15,127}, {12,140}, {12,139}, {47,139}, {12,143}, 
+    {51,27}, {12,134}, {47,150}, {12,149}, {12,148}, {12,138}, {47,142}, 
+    {47,151}, {47,136}, {12,137}, {47,152}, {12,146}, {47,140}, {12,128}, 
+    {12,131}, {12,130}, {47,153}, {12,144}, {12,133}, {12,153}, {12,155}, 
+    {47,147}, {12,152}, {47,155}, {47,141}, {47,156}, {47,145}, {47,154}, 
+    {47,146}, {12,136}, {51,35}, {51,23}, {15,115}, {51,28}, {51,34}, {15,114}, 
+    {51,21}, {15,118}, {51,25}, {51,18}, {15,116}, {51,22}, {15,121}, {15,126}, 
+    {51,39}, {51,17}, {15,122}, {51,38}, {15,117}, {51,24}, {15,113}, {51,19}, 
+    {51,15}, {51,29}, {51,16}, {51,14}, {51,26}, {51,32}, {51,33}, {15,119}, 
+    {55,27}, {51,30}, {51,13}, {51,31}, {15,129}, {51,36}, {15,128}, {51,12}, 
+    {51,20}, {51,37}, {15,124}, {15,123}, {15,120}, {15,125}, {15,111}, 
+    {15,112}, {18,136}, {55,30}, {55,23}, {18,133}, {55,31}, {55,21}, {55,24}, 
+    {18,132}, {55,25}, {18,135}, {55,29}, {55,19}, {55,18}, {18,137}, {18,138}, 
+    {18,134}, {18,139}, {55,17}, {55,28}, {55,26}, {55,20}, {18,131}, {55,22}, 
+    {21,138}, {21,132}, {59,119}, {21,141}, {59,125}, {59,128}, {21,134}, 
+    {21,135}, {59,122}, {21,133}, {59,131}, {21,139}, {59,132}, {59,127}, 
+    {21,140}, {59,116}, {21,137}, {59,117}, {59,126}, {59,124}, {59,120}, 
+    {21,136}, {59,118}, {21,142}, {59,123}, {59,130}, {59,121}, {59,129}, 
+    {24,118}, {24,115}, {24,116}, {63,185}, {63,177}, {24,114}, {24,111}, 
+    {63,178}, {24,113}, {63,181}, {63,183}, {63,190}, {63,189}, {63,184}, 
+    {24,110}, {63,176}, {24,108}, {63,179}, {24,119}, {63,182}, {63,186}, 
+    {24,112}, {24,109}, {63,188}, {63,187}, {24,117}, {63,180}, {26,184}, 
+    {67,172}, {67,169}, {26,185}, {26,183}, {67,176}, {67,173}, {67,166}, 
+    {26,182}, {26,186}, {67,167}, {26,181}, {26,189}, {67,170}, {67,171}, 
+    {26,187}, {26,188}, {67,177}, {67,174}, {67,175}, {29,106}, {71,184}, 
+    {29,103}, {71,181}, {29,105}, {29,107}, {71,182}, {29,104}, {71,183}, 
+    {71,180}, {31,54}, {75,125}, {31,55}, {75,123}, {75,124}, {75,122}, 
+    {75,121}, {75,126}, {31,53}, {78,120}, {78,121}, {67,168}, {78,119}, 
+    {31,56}, {34,31}, {80,171}, {80,172}, {35,151}, {35,152}, {84,129}, 
+    {84,128}, {36,44}, {36,43}, {86,144}, {3,9}, {3,33}, {3,121}, {3,120}, 
+    {4,19}, {4,18}, {4,188}, {4,187}, {4,189}, {4,186}, {6,10}, {6,9}, 
+    {6,11}, {7,160}, {7,159}, {7,161}, {10,30}, {1,25}, {47,158}, {1,26}, 
+    {15,130}, {1,28}, {1,27}, {55,32}, {1,29}, {24,120}, {1,30}, {3,10}, 
+    {3,122}, {4,190}, {7,162}, {3,11}, {3,125}, {3,123}, {3,124}, {5,0}, 
+    {6,12}, {7,164}, {7,163}, {7,165}, {12,157}, {29,108}, {40,14}, {4,20}, 
+    {4,21}, {5,1}, {41,42}, {10,32}, {10,31}, {47,160}, {47,159}, {15,131}, 
+    {3,126}, {40,21}, {42,141}, {10,33}, {12,160}, {12,158}, {12,159}, 
+    {29,109}, {4,22}, {5,2}, {40,124}, {6,13}, {6,14}, {41,43}, {42,142}, 
+    {7,166}, {42,143}, {47,162}, {47,163}, {12,163}, {47,164}, {47,161}, 
+    {12,164}, {12,162}, {12,161}, {47,165}, {51,40}, {55,33}, {59,133}, 
+    {64,0}, {26,190}, {29,110}, {71,185}, {3,12}, {3,26}, {15,132}, {18,141}, 
+    {24,121}, {40,2}, {3,127}, {4,25}, {4,23}, {4,24}, {7,167}, {3,13}, 
+    {3,14}, {3,34}, {3,128}, {3,129}, {3,130}, {40,126}, {4,26}, {40,43}, 
+    {5,6}, {40,127}, {5,4}, {5,5}, {40,125}, {5,7}, {5,3}, {41,44}, {9,172}, 
+    {41,45}, {41,46}, {6,16}, {6,15}, {6,19}, {6,17}, {6,18}, {7,173}, 
+    {7,172}, {42,148}, {42,145}, {42,146}, {42,144}, {7,174}, {7,170}, 
+    {7,169}, {7,171}, {7,168}, {7,175}, {10,35}, {44,176}, {42,147}, {10,40}, 
+    {44,177}, {10,36}, {10,39}, {10,38}, {10,37}, {10,34}, {47,168}, {12,167}, 
+    {47,171}, {12,165}, {47,167}, {12,168}, {12,166}, {12,169}, {47,169}, 
+    {47,170}, {47,166}, {47,172}, {18,145}, {15,133}, {51,41}, {51,43}, 
+    {51,42}, {51,44}, {15,134}, {18,142}, {18,143}, {18,144}, {21,144}, 
+    {59,135}, {59,134}, {59,136}, {59,137}, {21,145}, {21,143}, {64,1}, 
+    {64,2}, {24,123}, {24,122}, {66,26}, {27,0}, {27,1}, {27,2}, {27,4}, 
+    {67,178}, {67,179}, {27,3}, {29,111}, {29,112}, {80,173}, {84,131}, 
+    {84,130}, {86,145}, {3,15}, {4,28}, {4,27}, {5,8}, {40,128}, {6,21}, 
+    {6,22}, {6,20}, {6,23}, {41,47}, {41,48}, {7,177}, {42,149}, {7,176}, 
+    {44,178}, {10,44}, {44,179}, {10,43}, {10,41}, {10,42}, {47,173}, {15,135}, 
+    {51,46}, {15,138}, {51,45}, {16,165}, {15,137}, {15,136}, {18,148}, 
+    {18,147}, {18,146}, {21,146}, {21,149}, {21,150}, {21,148}, {21,147}, 
+    {64,3}, {64,4}, {67,181}, {27,5}, {67,180}, {29,113}, {75,127}, {31,57}, 
+    {80,174}, {35,21}, {3,35}, {3,131}, {40,22}, {3,132}, {3,133}, {4,29}, 
+    {4,30}, {5,9}, {41,49}, {42,150}, {42,151}, {10,45}, {47,174}, {15,140}, 
+    {15,139}, {55,35}, {55,34}, {3,16}, {3,134}, {4,31}, {15,141}, {40,3}, 
+    {40,44}, {4,32}, {40,130}, {5,11}, {5,10}, {40,129}, {6,24}, {12,170}, 
+    {51,47}, {21,151}, {64,5}, {24,124}, {71,186}, {82,189}, {3,135}, {42,152}, 
+    {44,180}, {15,144}, {15,142}, {15,143}, {3,17}, {3,36}, {1,141}, {3,138}, 
+    {3,137}, {3,136}, {4,35}, {4,34}, {40,45}, {40,131}, {7,181}, {7,178}, 
+    {7,180}, {7,179}, {10,46}, {18,149}, {3,18}, {3,139}, {4,37}, {4,36}, 
+    {41,50}, {7,182}, {40,23}, {4,39}, {4,38}, {5,12}, {5,13}, {41,51}, 
+    {6,25}, {6,26}, {7,183}, {7,184}, {7,185}, {10,47}, {44,181}, {12,171}, 
+    {40,4}, {3,140}, {40,132}, {41,52}, {41,53}, {42,153}, {42,154}, {44,183}, 
+    {44,182}, {44,185}, {44,184}, {10,48}, {51,48}, {12,173}, {47,175}, 
+    {12,172}, {55,36}, {18,150}, {55,37}, {64,6}, {24,125}, {27,6}, {80,175}, 
+    {40,24}, {4,40}, {15,145}, {3,19}, {3,37}, {3,142}, {3,141}, {3,143}, 
+    {7,187}, {7,186}, {7,188}, {10,49}, {12,174}, {71,187}, {33,15}, {3,38}, 
+    {4,42}, {4,57}, {4,52}, {4,47}, {4,46}, {4,53}, {4,51}, {4,44}, {4,58}, 
+    {4,45}, {4,41}, {4,56}, {4,55}, {4,54}, {4,43}, {4,50}, {4,49}, {4,59}, 
+    {4,48}, {5,19}, {5,25}, {5,21}, {5,27}, {40,133}, {5,24}, {5,14}, {5,17}, 
+    {5,20}, {5,16}, {5,23}, {5,26}, {5,15}, {5,18}, {5,22}, {5,28}, {41,62}, 
+    {41,59}, {6,39}, {41,60}, {6,27}, {6,29}, {6,53}, {6,48}, {41,101}, 
+    {41,61}, {6,31}, {6,33}, {41,100}, {6,40}, {41,56}, {6,52}, {6,54}, 
+    {6,28}, {6,45}, {41,54}, {6,51}, {6,36}, {6,46}, {6,47}, {41,55}, {6,44}, 
+    {6,42}, {6,43}, {6,49}, {41,97}, {6,30}, {6,50}, {41,99}, {6,38}, {6,35}, 
+    {41,58}, {6,34}, {41,102}, {6,37}, {6,41}, {6,32}, {41,98}, {41,57}, 
+    {42,171}, {42,170}, {8,15}, {42,173}, {42,175}, {42,164}, {42,167}, 
+    {42,174}, {8,16}, {42,161}, {42,165}, {42,169}, {45,9}, {8,11}, {45,13}, 
+    {7,189}, {42,166}, {7,190}, {8,12}, {8,5}, {8,1}, {42,162}, {8,4}, 
+    {8,9}, {8,18}, {42,163}, {42,156}, {8,3}, {42,157}, {42,159}, {8,6}, 
+    {8,8}, {42,155}, {42,160}, {8,17}, {8,13}, {42,168}, {8,19}, {8,10}, 
+    {42,158}, {8,7}, {8,2}, {8,0}, {42,172}, {8,14}, {45,8}, {44,187}, 
+    {45,11}, {44,189}, {10,56}, {10,104}, {10,52}, {10,103}, {10,61}, {10,100}, 
+    {10,50}, {44,188}, {45,3}, {10,99}, {45,15}, {10,101}, {10,57}, {45,5}, 
+    {45,2}, {10,55}, {44,186}, {10,102}, {45,10}, {10,60}, {45,12}, {10,105}, 
+    {10,51}, {10,62}, {10,59}, {45,0}, {10,97}, {45,6}, {45,7}, {10,58}, 
+    {10,98}, {10,54}, {10,53}, {44,190}, {45,4}, {45,14}, {48,4}, {12,187}, 
+    {47,177}, {47,182}, {12,180}, {13,0}, {47,180}, {12,175}, {12,185}, 
+    {12,190}, {47,187}, {12,186}, {12,189}, {47,190}, {12,181}, {47,181}, 
+    {48,2}, {48,3}, {12,183}, {48,1}, {12,179}, {13,3}, {47,184}, {12,177}, 
+    {48,6}, {47,185}, {47,189}, {12,182}, {13,2}, {47,186}, {12,188}, {48,0}, 
+    {48,7}, {51,97}, {48,5}, {13,4}, {12,176}, {47,188}, {47,179}, {12,184}, 
+    {47,178}, {47,183}, {47,176}, {13,1}, {51,55}, {15,164}, {51,103}, 
+    {15,162}, {15,159}, {51,60}, {15,155}, {51,98}, {15,166}, {51,54}, 
+    {51,59}, {51,58}, {12,178}, {15,161}, {51,101}, {51,104}, {51,51}, 
+    {18,168}, {51,105}, {15,167}, {15,153}, {15,150}, {51,62}, {15,147}, 
+    {51,102}, {15,154}, {51,106}, {51,52}, {51,100}, {15,157}, {51,53}, 
+    {51,56}, {51,61}, {15,158}, {15,156}, {15,168}, {15,163}, {15,151}, 
+    {16,146}, {15,152}, {51,57}, {15,165}, {15,160}, {51,99}, {15,149}, 
+    {15,148}, {51,49}, {51,50}, {55,42}, {18,151}, {18,154}, {55,53}, {18,174}, 
+    {55,56}, {18,152}, {55,49}, {18,158}, {18,164}, {20,125}, {18,162}, 
+    {55,46}, {18,175}, {18,155}, {18,163}, {55,54}, {59,151}, {55,59}, 
+    {55,47}, {55,38}, {55,51}, {55,45}, {18,161}, {55,57}, {18,157}, {18,177}, 
+    {18,170}, {18,159}, {18,156}, {18,167}, {55,58}, {55,44}, {55,50}, 
+    {55,52}, {55,40}, {55,55}, {18,153}, {55,39}, {18,160}, {18,176}, {18,172}, 
+    {55,41}, {18,166}, {18,173}, {18,169}, {18,165}, {55,48}, {18,171}, 
+    {59,149}, {59,145}, {59,160}, {59,138}, {59,147}, {21,165}, {21,166}, 
+    {21,158}, {59,156}, {21,168}, {59,143}, {59,142}, {59,140}, {59,158}, 
+    {21,156}, {59,152}, {59,141}, {21,159}, {59,150}, {21,154}, {59,146}, 
+    {59,153}, {59,155}, {59,159}, {21,163}, {59,139}, {21,157}, {59,144}, 
+    {21,152}, {21,164}, {59,154}, {21,160}, {21,161}, {21,167}, {21,155}, 
+    {1,31}, {21,153}, {59,148}, {21,162}, {59,157}, {24,141}, {24,136}, 
+    {64,21}, {64,17}, {64,11}, {24,130}, {24,126}, {64,20}, {24,127}, {64,14}, 
+    {64,16}, {64,19}, {24,132}, {24,139}, {24,133}, {64,9}, {24,134}, {24,135}, 
+    {64,12}, {24,140}, {64,10}, {64,15}, {24,131}, {64,8}, {24,137}, {24,129}, 
+    {24,128}, {64,13}, {64,18}, {24,138}, {64,7}, {27,13}, {68,7}, {68,4}, 
+    {27,7}, {27,19}, {27,20}, {27,10}, {68,2}, {27,12}, {67,185}, {27,18}, 
+    {68,6}, {27,9}, {68,8}, {27,8}, {68,3}, {68,5}, {27,11}, {68,1}, {67,186}, 
+    {67,183}, {55,43}, {67,189}, {67,182}, {67,188}, {67,187}, {67,184}, 
+    {27,15}, {27,14}, {27,16}, {67,190}, {29,114}, {68,0}, {72,5}, {71,189}, 
+    {29,126}, {72,2}, {29,118}, {29,122}, {72,1}, {29,121}, {29,117}, {29,120}, 
+    {29,115}, {29,125}, {72,3}, {71,190}, {29,124}, {71,188}, {29,123}, 
+    {72,4}, {72,0}, {27,17}, {29,127}, {72,6}, {29,119}, {29,116}, {75,134}, 
+    {75,136}, {31,59}, {75,137}, {75,135}, {75,133}, {75,132}, {31,61}, 
+    {75,131}, {31,62}, {75,129}, {75,130}, {31,58}, {31,97}, {31,60}, {75,128}, 
+    {33,16}, {78,124}, {78,122}, {78,127}, {78,125}, {78,123}, {78,126}, 
+    {34,32}, {80,178}, {80,179}, {35,22}, {80,180}, {80,176}, {80,181}, 
+    {80,177}, {33,17}, {82,190}, {83,1}, {35,25}, {83,0}, {35,24}, {35,23}, 
+    {35,26}, {84,133}, {84,134}, {35,154}, {35,153}, {35,155}, {84,132}, 
+    {85,152}, {85,151}, {36,45}, {36,47}, {36,46}, {85,153}, {36,136}, 
+    {87,102}, {36,177}, {87,101}, {87,174}, {40,9}, {4,61}, {4,60}, {5,31}, 
+    {5,30}, {40,135}, {5,29}, {40,134}, {6,57}, {41,105}, {41,104}, {6,55}, 
+    {6,58}, {41,103}, {6,56}, {42,176}, {42,177}, {8,20}, {10,106}, {48,8}, 
+    {48,9}, {13,5}, {13,6}, {51,108}, {15,169}, {15,171}, {51,107}, {15,170}, 
+    {55,60}, {18,178}, {21,169}, {21,170}, {59,161}, {24,143}, {24,142}, 
+    {68,9}, {72,8}, {72,7}, {88,43}, {3,39}, {40,25}, {40,46}, {40,47}, 
+    {5,34}, {5,38}, {40,137}, {5,36}, {5,35}, {40,136}, {5,37}, {5,33}, 
+    {5,32}, {40,138}, {6,102}, {6,99}, {6,61}, {41,106}, {41,107}, {6,97}, 
+    {41,109}, {6,59}, {41,110}, {41,108}, {6,62}, {6,98}, {6,101}, {6,100}, 
+    {6,60}, {41,111}, {8,25}, {42,190}, {8,27}, {8,26}, {43,0}, {8,24}, 
+    {8,23}, {42,181}, {42,180}, {42,178}, {42,183}, {42,182}, {42,179}, 
+    {42,188}, {42,189}, {42,186}, {42,184}, {8,22}, {42,187}, {8,28}, {43,1}, 
+    {42,185}, {10,107}, {8,21}, {10,108}, {45,20}, {45,26}, {10,114}, {45,24}, 
+    {45,30}, {45,21}, {45,25}, {45,27}, {45,29}, {45,23}, {45,22}, {45,17}, 
+    {45,18}, {10,109}, {10,111}, {10,110}, {45,19}, {45,28}, {10,113}, 
+    {45,16}, {48,19}, {48,18}, {48,23}, {48,14}, {48,17}, {48,16}, {48,20}, 
+    {48,24}, {13,7}, {13,10}, {48,15}, {48,21}, {13,9}, {48,10}, {10,112}, 
+    {51,122}, {48,22}, {48,13}, {13,8}, {48,12}, {51,113}, {15,172}, {15,176}, 
+    {51,129}, {51,111}, {51,125}, {15,177}, {51,127}, {51,133}, {51,137}, 
+    {51,128}, {51,116}, {51,124}, {51,138}, {51,136}, {51,126}, {51,121}, 
+    {51,114}, {55,102}, {51,112}, {15,181}, {51,119}, {15,182}, {15,178}, 
+    {51,109}, {51,131}, {51,117}, {51,115}, {51,134}, {15,179}, {51,140}, 
+    {15,173}, {15,175}, {51,123}, {51,118}, {13,11}, {15,174}, {51,120}, 
+    {51,135}, {51,139}, {51,130}, {51,132}, {51,110}, {55,97}, {55,106}, 
+    {55,105}, {18,186}, {55,98}, {18,187}, {18,185}, {55,100}, {18,182}, 
+    {55,104}, {55,99}, {55,101}, {55,61}, {18,180}, {55,114}, {55,113}, 
+    {55,110}, {18,179}, {18,183}, {18,184}, {48,11}, {55,107}, {18,181}, 
+    {15,180}, {55,109}, {55,62}, {55,112}, {55,111}, {55,115}, {59,175}, 
+    {55,108}, {55,103}, {59,167}, {21,180}, {21,183}, {21,178}, {59,166}, 
+    {59,170}, {59,165}, {21,172}, {21,182}, {59,162}, {21,176}, {59,169}, 
+    {21,174}, {21,173}, {59,172}, {21,175}, {59,174}, {59,171}, {21,171}, 
+    {21,181}, {59,176}, {59,164}, {59,173}, {59,163}, {21,177}, {21,179}, 
+    {59,168}, {59,177}, {64,29}, {24,144}, {64,35}, {24,149}, {64,31}, 
+    {64,38}, {64,23}, {24,151}, {24,145}, {64,28}, {27,21}, {64,27}, {64,36}, 
+    {24,146}, {24,150}, {64,26}, {64,32}, {64,37}, {64,22}, {24,148}, {64,30}, 
+    {64,34}, {64,40}, {64,24}, {64,33}, {24,147}, {64,39}, {64,25}, {27,25}, 
+    {68,11}, {27,23}, {27,22}, {68,13}, {68,18}, {68,14}, {68,17}, {27,28}, 
+    {29,101}, {27,27}, {68,10}, {68,16}, {27,26}, {68,15}, {68,12}, {27,24}, 
+    {72,13}, {72,15}, {72,10}, {29,129}, {72,12}, {29,128}, {72,14}, {29,131}, 
+    {72,16}, {29,130}, {72,9}, {72,11}, {31,101}, {75,140}, {31,100}, {75,141}, 
+    {31,99}, {75,139}, {31,98}, {75,138}, {33,19}, {33,18}, {80,182}, {80,184}, 
+    {80,183}, {34,33}, {34,34}, {34,35}, {83,2}, {35,27}, {86,147}, {86,146}, 
+    {36,178}, {3,40}, {3,144}, {6,103}, {45,31}, {18,188}, {18,189}, {59,178}, 
+    {24,152}, {64,41}, {68,19}, {40,26}, {41,112}, {43,2}, {45,32}, {48,25}, 
+    {13,12}, {80,185}, {35,156}, {3,41}, {4,62}, {40,48}, {5,39}, {5,40}, 
+    {8,29}, {15,183}, {24,154}, {24,155}, {24,153}, {3,42}, {3,145}, {3,147}, 
+    {3,146}, {40,27}, {3,148}, {4,97}, {40,49}, {4,98}, {5,41}, {5,42}, 
+    {40,139}, {6,104}, {41,113}, {8,33}, {43,3}, {8,31}, {8,32}, {8,30}, 
+    {48,26}, {10,118}, {10,117}, {10,119}, {10,116}, {45,33}, {8,34}, {10,115}, 
+    {13,13}, {13,14}, {13,15}, {51,141}, {18,190}, {55,116}, {15,184}, 
+    {21,184}, {24,157}, {24,156}, {64,42}, {27,29}, {29,132}, {78,128}, 
+    {85,154}, {86,148}, {3,43}, {4,99}, {4,100}, {40,145}, {5,44}, {5,47}, 
+    {40,143}, {40,141}, {5,46}, {40,144}, {40,146}, {40,140}, {5,49}, {5,48}, 
+    {5,45}, {5,43}, {40,142}, {6,115}, {6,112}, {41,118}, {41,121}, {41,120}, 
+    {6,106}, {6,114}, {6,111}, {41,117}, {41,115}, {6,110}, {6,105}, {6,108}, 
+    {41,116}, {41,123}, {41,119}, {6,109}, {6,113}, {6,116}, {41,114}, 
+    {41,122}, {6,107}, {8,39}, {8,47}, {43,15}, {43,8}, {8,48}, {43,19}, 
+    {43,4}, {43,11}, {8,38}, {43,5}, {8,36}, {43,12}, {43,16}, {8,35}, 
+    {43,17}, {43,10}, {43,13}, {8,50}, {8,41}, {43,20}, {43,18}, {8,46}, 
+    {8,44}, {43,9}, {8,43}, {43,7}, {43,6}, {8,42}, {8,40}, {8,49}, {8,45}, 
+    {8,37}, {43,14}, {10,121}, {10,128}, {45,47}, {10,120}, {45,39}, {45,35}, 
+    {45,51}, {45,34}, {10,123}, {45,44}, {10,126}, {10,129}, {10,124}, 
+    {45,48}, {10,127}, {13,22}, {45,54}, {45,36}, {45,38}, {45,45}, {45,49}, 
+    {45,53}, {45,50}, {45,43}, {45,46}, {45,40}, {10,131}, {45,42}, {45,41}, 
+    {45,52}, {10,122}, {45,37}, {10,130}, {10,125}, {13,28}, {48,34}, {13,27}, 
+    {48,32}, {13,16}, {13,21}, {48,31}, {48,28}, {48,33}, {13,17}, {48,27}, 
+    {13,20}, {13,18}, {48,35}, {13,19}, {13,23}, {13,24}, {13,26}, {13,25}, 
+    {48,29}, {48,30}, {48,36}, {51,148}, {15,185}, {55,130}, {51,147}, 
+    {51,166}, {16,0}, {51,164}, {15,190}, {15,186}, {51,173}, {51,157}, 
+    {51,160}, {16,3}, {51,170}, {51,162}, {15,187}, {16,4}, {51,167}, {51,165}, 
+    {51,150}, {51,171}, {51,159}, {51,154}, {51,144}, {51,172}, {51,156}, 
+    {51,143}, {16,2}, {51,161}, {51,174}, {51,158}, {51,146}, {51,151}, 
+    {51,142}, {16,1}, {51,155}, {51,152}, {15,188}, {51,145}, {51,169}, 
+    {15,189}, {51,153}, {51,149}, {51,168}, {19,0}, {55,123}, {55,120}, 
+    {55,137}, {55,125}, {55,138}, {19,2}, {55,134}, {55,131}, {55,132}, 
+    {55,135}, {55,139}, {51,163}, {55,141}, {60,7}, {19,3}, {55,142}, {55,118}, 
+    {55,128}, {55,133}, {19,1}, {19,4}, {55,140}, {55,143}, {55,122}, {55,119}, 
+    {55,121}, {55,126}, {55,124}, {19,5}, {55,136}, {55,127}, {55,129}, 
+    {55,117}, {59,186}, {59,184}, {22,2}, {22,0}, {60,3}, {59,185}, {60,4}, 
+    {60,0}, {59,183}, {60,6}, {59,182}, {59,189}, {21,190}, {21,189}, {21,188}, 
+    {59,187}, {60,1}, {21,185}, {22,1}, {59,180}, {59,190}, {59,179}, {59,188}, 
+    {21,186}, {60,2}, {59,181}, {21,187}, {60,5}, {64,46}, {24,162}, {24,161}, 
+    {24,163}, {64,58}, {64,48}, {64,54}, {64,43}, {64,57}, {64,56}, {64,60}, 
+    {64,53}, {24,158}, {64,52}, {24,164}, {64,45}, {24,159}, {64,59}, {24,160}, 
+    {64,47}, {64,50}, {64,55}, {64,49}, {64,44}, {64,51}, {68,21}, {27,33}, 
+    {68,24}, {68,23}, {68,26}, {68,28}, {27,31}, {68,22}, {68,20}, {68,29}, 
+    {68,27}, {68,25}, {68,31}, {68,30}, {27,35}, {27,30}, {27,32}, {27,34}, 
+    {68,32}, {72,23}, {72,22}, {72,21}, {72,24}, {72,17}, {72,18}, {72,26}, 
+    {72,19}, {29,133}, {72,28}, {72,27}, {72,20}, {75,145}, {31,104}, {75,143}, 
+    {75,148}, {75,147}, {72,25}, {31,103}, {75,146}, {75,142}, {75,150}, 
+    {75,149}, {31,102}, {75,144}, {29,134}, {33,20}, {78,129}, {80,186}, 
+    {80,187}, {80,188}, {35,28}, {35,29}, {83,3}, {84,136}, {84,135}, {85,155}, 
+    {85,156}, {86,149}, {87,103}, {3,44}, {3,45}, {3,46}, {3,149}, {4,101}, 
+    {40,147}, {5,50}, {5,51}, {6,119}, {6,120}, {6,118}, {6,117}, {8,51}, 
+    {43,21}, {8,53}, {8,52}, {43,22}, {10,132}, {13,29}, {48,37}, {51,176}, 
+    {16,5}, {19,7}, {51,175}, {19,6}, {24,165}, {64,61}, {29,135}, {31,105}, 
+    {75,151}, {35,30}, {36,48}, {40,50}, {4,102}, {40,51}, {5,54}, {5,52}, 
+    {5,53}, {5,55}, {6,122}, {6,121}, {41,124}, {6,123}, {41,125}, {43,23}, 
+    {43,24}, {8,54}, {8,56}, {8,58}, {8,55}, {8,59}, {8,57}, {10,136}, 
+    {10,133}, {10,135}, {10,137}, {10,134}, {48,38}, {45,55}, {48,40}, 
+    {48,39}, {13,35}, {13,31}, {13,32}, {13,34}, {13,36}, {13,33}, {13,38}, 
+    {13,37}, {16,10}, {51,178}, {51,177}, {16,9}, {16,8}, {16,7}, {16,11}, 
+    {16,6}, {55,149}, {55,146}, {19,9}, {55,145}, {55,150}, {19,11}, {55,148}, 
+    {19,8}, {19,10}, {55,147}, {60,8}, {60,9}, {60,10}, {24,166}, {24,174}, 
+    {64,62}, {24,168}, {24,172}, {64,97}, {24,173}, {24,169}, {24,170}, 
+    {24,167}, {24,171}, {27,38}, {55,144}, {27,39}, {27,37}, {27,36}, {72,29}, 
+    {29,136}, {75,152}, {75,153}, {34,36}, {35,31}, {3,47}, {5,56}, {10,138}, 
+    {48,41}, {13,39}, {16,14}, {16,13}, {16,12}, {19,12}, {19,13}, {55,151}, 
+    {24,175}, {29,137}, {3,48}, {40,28}, {3,150}, {40,52}, {40,148}, {5,57}, 
+    {8,60}, {60,11}, {3,49}, {3,151}, {40,149}, {41,126}, {41,127}, {6,124}, 
+    {55,152}, {19,14}, {60,12}, {31,106}, {3,50}, {3,104}, {3,152}, {40,53}, 
+    {4,103}, {6,128}, {6,127}, {6,125}, {6,126}, {43,25}, {8,62}, {8,97}, 
+    {43,26}, {8,61}, {10,142}, {45,56}, {10,141}, {10,139}, {10,140}, {13,42}, 
+    {13,40}, {48,43}, {13,41}, {48,42}, {13,30}, {51,179}, {16,16}, {16,17}, 
+    {16,15}, {24,176}, {64,98}, {27,40}, {27,41}, {68,33}, {31,107}, {78,130}, 
+    {78,131}, {35,157}, {87,104}, {40,11}, {3,153}, {3,51}, {40,55}, {40,54}, 
+    {5,58}, {40,151}, {40,152}, {40,150}, {40,153}, {41,135}, {41,130}, 
+    {41,132}, {41,134}, {41,131}, {6,132}, {41,128}, {41,129}, {6,129}, 
+    {6,130}, {41,133}, {41,136}, {6,131}, {41,137}, {43,40}, {43,34}, {43,29}, 
+    {8,99}, {43,37}, {43,35}, {43,28}, {43,41}, {43,44}, {43,39}, {43,32}, 
+    {8,101}, {43,38}, {8,102}, {43,33}, {43,36}, {43,27}, {43,31}, {43,43}, 
+    {8,103}, {8,104}, {43,30}, {43,42}, {8,98}, {8,100}, {45,107}, {45,100}, 
+    {45,106}, {45,99}, {45,101}, {45,61}, {45,59}, {45,108}, {45,105}, 
+    {45,57}, {10,144}, {45,103}, {45,104}, {45,102}, {45,60}, {45,58}, 
+    {10,143}, {45,98}, {45,62}, {45,97}, {45,109}, {13,47}, {13,46}, {48,44}, 
+    {13,43}, {48,46}, {13,48}, {48,47}, {13,51}, {13,49}, {48,48}, {45,110}, 
+    {48,50}, {13,45}, {13,44}, {48,45}, {48,49}, {13,50}, {16,19}, {16,18}, 
+    {51,181}, {51,185}, {51,187}, {16,20}, {51,190}, {16,24}, {52,1}, {16,26}, 
+    {16,22}, {16,30}, {16,27}, {51,183}, {16,21}, {51,182}, {51,180}, {52,3}, 
+    {51,184}, {16,23}, {52,2}, {16,28}, {51,189}, {51,188}, {16,29}, {51,186}, 
+    {16,25}, {52,4}, {52,0}, {55,167}, {55,174}, {55,163}, {19,17}, {55,159}, 
+    {55,175}, {55,153}, {55,172}, {55,170}, {55,164}, {55,173}, {55,166}, 
+    {55,158}, {55,176}, {55,156}, {55,169}, {55,154}, {55,177}, {19,18}, 
+    {55,171}, {60,15}, {55,157}, {19,15}, {55,161}, {19,16}, {55,160}, 
+    {55,165}, {55,162}, {55,168}, {60,19}, {60,22}, {60,14}, {60,16}, {60,21}, 
+    {60,20}, {22,3}, {55,155}, {60,18}, {22,4}, {60,13}, {60,17}, {64,105}, 
+    {64,112}, {64,103}, {64,110}, {64,101}, {64,109}, {64,113}, {64,100}, 
+    {64,104}, {64,99}, {24,177}, {64,102}, {24,178}, {64,108}, {64,107}, 
+    {64,106}, {64,111}, {68,37}, {68,39}, {27,43}, {68,40}, {68,35}, {68,34}, 
+    {68,44}, {68,42}, {27,42}, {68,45}, {68,36}, {68,41}, {68,43}, {68,38}, 
+    {72,33}, {72,38}, {72,32}, {72,37}, {72,30}, {72,40}, {72,36}, {72,41}, 
+    {72,35}, {72,31}, {72,39}, {72,42}, {72,34}, {75,154}, {31,111}, {31,109}, 
+    {31,108}, {31,110}, {78,132}, {80,50}, {80,189}, {83,4}, {83,5}, {35,32}, 
+    {84,137}, {35,158}, {84,138}, {85,158}, {36,50}, {36,49}, {85,157}, 
+    {36,137}, {86,150}, {3,52}, {5,59}, {40,154}, {41,138}, {7,117}, {16,31}, 
+    {3,53}, {4,106}, {4,105}, {4,104}, {6,133}, {13,52}, {60,23}, {3,54}, 
+    {3,55}, {3,56}, {3,154}, {10,145}, {45,111}, {19,19}, {3,57}, {40,29}, 
+    {4,107}, {4,108}, {40,56}, {5,60}, {41,139}, {6,134}, {41,140}, {8,110}, 
+    {43,46}, {8,108}, {8,107}, {43,45}, {8,105}, {43,47}, {8,106}, {8,109}, 
+    {10,146}, {10,148}, {45,115}, {45,112}, {45,113}, {45,114}, {45,116}, 
+    {10,147}, {48,52}, {48,51}, {13,54}, {13,53}, {16,34}, {52,6}, {16,33}, 
+    {16,35}, {16,32}, {19,21}, {52,5}, {19,22}, {55,179}, {19,23}, {55,178}, 
+    {19,20}, {60,26}, {60,28}, {22,5}, {60,27}, {60,25}, {60,24}, {64,116}, 
+    {24,183}, {24,181}, {24,182}, {64,114}, {64,115}, {24,179}, {68,49}, 
+    {68,47}, {27,45}, {68,48}, {27,46}, {27,44}, {24,180}, {72,45}, {72,43}, 
+    {72,44}, {68,46}, {75,156}, {31,112}, {75,155}, {78,133}, {78,134}, 
+    {72,46}, {80,190}, {3,58}, {4,109}, {5,62}, {40,155}, {5,61}, {8,111}, 
+    {22,6}, {3,155}, {4,110}, {10,149}, {19,24}, {40,57}, {40,58}, {40,156}, 
+    {6,136}, {41,144}, {41,142}, {6,137}, {41,141}, {41,143}, {41,145}, 
+    {6,135}, {8,115}, {8,116}, {8,113}, {8,112}, {45,120}, {8,114}, {10,150}, 
+    {45,119}, {45,121}, {45,118}, {45,122}, {10,151}, {13,57}, {48,53}, 
+    {48,55}, {13,55}, {48,56}, {13,56}, {48,54}, {45,117}, {52,7}, {52,10}, 
+    {52,11}, {52,8}, {16,39}, {16,38}, {16,36}, {16,37}, {52,9}, {16,40}, 
+    {19,26}, {19,27}, {19,28}, {60,29}, {60,31}, {60,33}, {22,8}, {22,7}, 
+    {19,25}, {60,32}, {60,30}, {64,120}, {64,118}, {64,124}, {24,184}, 
+    {64,125}, {64,122}, {24,185}, {64,119}, {64,117}, {64,123}, {27,48}, 
+    {68,51}, {64,121}, {27,50}, {68,52}, {27,49}, {27,52}, {68,53}, {27,47}, 
+    {27,51}, {72,51}, {72,49}, {72,48}, {72,50}, {72,47}, {34,38}, {83,6}, 
+    {83,7}, {84,139}, {85,159}, {37,21}, {8,117}, {6,138}, {10,152}, {3,59}, 
+    {3,156}, {4,111}, {40,157}, {6,139}, {41,146}, {45,123}, {10,153}, 
+    {24,186}, {3,60}, {5,97}, {22,9}, {3,61}, {3,157}, {3,158}, {4,113}, 
+    {4,112}, {40,158}, {5,98}, {41,147}, {6,140}, {43,49}, {43,50}, {43,51}, 
+    {8,118}, {8,119}, {43,48}, {8,120}, {10,154}, {45,124}, {48,58}, {13,58}, 
+    {48,57}, {16,41}, {52,12}, {16,42}, {52,13}, {19,29}, {60,34}, {64,127}, 
+    {64,126}, {24,187}, {27,53}, {68,54}, {29,138}, {72,52}, {31,113}, 
+    {36,51}, {86,152}, {43,52}, {45,125}, {16,43}, {55,180}, {22,10}, {33,21}, 
+    {6,142}, {6,141}, {10,155}, {48,59}, {16,45}, {18,3}, {16,46}, {16,44}, 
+    {19,30}, {64,128}, {24,188}, {27,54}, {40,12}, {40,159}, {41,149}, 
+    {6,143}, {41,148}, {6,144}, {8,124}, {43,55}, {43,54}, {8,123}, {8,121}, 
+    {8,122}, {43,53}, {10,157}, {45,126}, {10,160}, {10,156}, {10,162}, 
+    {10,158}, {10,159}, {10,161}, {13,61}, {13,60}, {13,59}, {52,15}, {16,47}, 
+    {16,50}, {16,48}, {52,14}, {16,53}, {16,49}, {52,16}, {16,52}, {16,51}, 
+    {55,182}, {55,181}, {19,33}, {19,31}, {19,32}, {55,183}, {22,11}, {60,36}, 
+    {22,12}, {60,35}, {68,55}, {27,56}, {64,129}, {27,55}, {24,189}, {75,158}, 
+    {72,53}, {31,114}, {75,157}, {81,0}, {83,8}, {83,9}, {3,159}, {4,114}, 
+    {40,59}, {6,146}, {6,148}, {40,162}, {41,152}, {41,151}, {41,150}, 
+    {40,161}, {40,160}, {5,100}, {6,147}, {6,145}, {5,99}, {8,125}, {43,56}, 
+    {8,126}, {41,157}, {41,159}, {41,158}, {43,57}, {41,154}, {6,152}, 
+    {6,150}, {41,153}, {41,155}, {41,161}, {6,149}, {41,156}, {41,165}, 
+    {8,128}, {41,162}, {6,151}, {41,160}, {41,163}, {8,127}, {8,129}, {41,164}, 
+    {43,111}, {43,98}, {43,62}, {43,110}, {43,105}, {10,167}, {8,130}, 
+    {43,106}, {43,109}, {10,163}, {43,108}, {8,131}, {8,136}, {8,134}, 
+    {43,99}, {43,60}, {43,101}, {8,141}, {43,112}, {10,164}, {43,102}, 
+    {10,165}, {8,137}, {43,104}, {45,141}, {10,166}, {43,59}, {8,138}, 
+    {10,168}, {8,139}, {8,135}, {8,140}, {43,103}, {43,58}, {43,107}, {8,132}, 
+    {43,61}, {43,100}, {43,97}, {8,133}, {45,127}, {45,128}, {45,138}, 
+    {48,97}, {45,139}, {10,174}, {45,142}, {45,132}, {10,173}, {45,134}, 
+    {45,135}, {45,137}, {10,169}, {13,99}, {45,133}, {45,129}, {13,100}, 
+    {45,143}, {13,62}, {48,61}, {45,136}, {48,60}, {45,131}, {45,140}, 
+    {10,172}, {13,97}, {10,178}, {13,98}, {45,144}, {48,62}, {10,171}, 
+    {13,102}, {10,177}, {10,176}, {10,175}, {13,101}, {45,145}, {13,103}, 
+    {10,170}, {45,130}, {16,54}, {48,100}, {48,102}, {48,104}, {13,104}, 
+    {13,110}, {52,19}, {48,108}, {48,99}, {16,56}, {52,17}, {13,109}, {13,107}, 
+    {48,110}, {52,18}, {48,101}, {13,108}, {48,105}, {13,111}, {48,107}, 
+    {13,106}, {48,106}, {48,109}, {48,103}, {13,105}, {16,57}, {48,98}, 
+    {16,55}, {16,58}, {52,21}, {52,30}, {19,36}, {16,60}, {16,99}, {19,37}, 
+    {52,32}, {16,106}, {55,185}, {52,22}, {16,98}, {16,101}, {16,62}, {52,20}, 
+    {52,34}, {52,37}, {56,9}, {52,35}, {55,189}, {16,97}, {16,104}, {16,108}, 
+    {52,29}, {55,184}, {52,33}, {16,59}, {55,186}, {52,36}, {55,188}, {52,25}, 
+    {19,34}, {52,23}, {52,24}, {16,103}, {16,102}, {52,27}, {16,107}, {52,31}, 
+    {16,100}, {52,28}, {16,105}, {19,38}, {19,35}, {55,187}, {52,26}, {16,61}, 
+    {19,43}, {19,47}, {56,0}, {22,17}, {19,45}, {56,4}, {19,49}, {60,37}, 
+    {56,6}, {22,19}, {19,41}, {19,44}, {56,7}, {56,8}, {56,14}, {19,51}, 
+    {22,20}, {56,10}, {56,15}, {56,3}, {22,30}, {22,21}, {19,50}, {56,1}, 
+    {56,16}, {22,29}, {19,48}, {22,14}, {56,13}, {19,52}, {56,5}, {55,190}, 
+    {19,42}, {56,2}, {56,11}, {22,13}, {22,18}, {19,39}, {56,12}, {22,16}, 
+    {19,40}, {22,28}, {64,131}, {60,48}, {60,40}, {64,130}, {60,44}, {60,46}, 
+    {60,43}, {22,27}, {60,42}, {22,31}, {64,146}, {22,26}, {25,0}, {60,49}, 
+    {64,132}, {22,24}, {60,41}, {60,45}, {24,190}, {22,15}, {60,38}, {60,39}, 
+    {25,1}, {22,23}, {22,25}, {22,22}, {60,47}, {64,136}, {64,137}, {64,142}, 
+    {27,61}, {64,149}, {25,7}, {25,6}, {64,144}, {27,60}, {64,133}, {25,5}, 
+    {64,148}, {25,3}, {25,4}, {64,145}, {68,106}, {27,58}, {19,46}, {64,147}, 
+    {27,99}, {64,139}, {27,59}, {27,98}, {64,134}, {64,138}, {64,135}, 
+    {64,141}, {25,8}, {27,57}, {25,2}, {68,58}, {64,143}, {27,97}, {27,100}, 
+    {64,140}, {27,62}, {68,57}, {68,62}, {29,142}, {68,56}, {72,99}, {68,105}, 
+    {27,104}, {27,102}, {29,140}, {68,102}, {68,98}, {27,108}, {72,56}, 
+    {27,106}, {68,97}, {72,54}, {68,101}, {68,104}, {68,61}, {27,107}, 
+    {27,101}, {72,55}, {29,141}, {68,103}, {27,103}, {27,105}, {68,100}, 
+    {27,109}, {68,99}, {68,60}, {68,59}, {29,139}, {68,107}, {72,58}, {75,160}, 
+    {29,144}, {72,98}, {72,62}, {75,161}, {29,145}, {72,97}, {72,60}, {31,116}, 
+    {75,159}, {72,57}, {72,59}, {31,117}, {29,147}, {31,115}, {29,146}, 
+    {31,119}, {72,61}, {29,143}, {78,143}, {78,135}, {75,167}, {78,136}, 
+    {75,163}, {33,22}, {75,165}, {75,164}, {31,118}, {75,162}, {75,166}, 
+    {78,144}, {78,140}, {78,142}, {78,137}, {78,138}, {78,141}, {78,139}, 
+    {34,39}, {34,42}, {34,41}, {34,40}, {35,33}, {83,10}, {35,34}, {81,1}, 
+    {35,159}, {84,140}, {35,160}, {36,52}, {36,138}, {86,153}, {86,154}, 
+    {86,155}, {88,122}, {3,160}, {40,60}, {4,115}, {5,102}, {5,103}, {5,101}, 
+    {5,104}, {6,154}, {6,153}, {43,113}, {8,143}, {8,142}, {48,111}, {16,109}, 
+    {16,110}, {19,53}, {60,50}, {22,32}, {22,33}, {60,52}, {60,54}, {60,53}, 
+    {64,151}, {64,150}, {25,9}, {64,152}, {68,108}, {27,110}, {29,148}, 
+    {31,120}, {33,23}, {31,121}, {3,161}, {41,166}, {43,114}, {8,145}, 
+    {8,144}, {8,146}, {10,179}, {45,146}, {45,147}, {48,112}, {13,112}, 
+    {16,111}, {19,54}, {56,17}, {3,162}, {3,62}, {3,163}, {40,61}, {4,119}, 
+    {4,118}, {4,116}, {4,117}, {5,107}, {40,169}, {40,171}, {5,106}, {40,163}, 
+    {40,164}, {40,170}, {40,166}, {40,168}, {5,105}, {40,165}, {40,172}, 
+    {40,167}, {6,161}, {6,170}, {6,168}, {41,176}, {41,173}, {41,181}, 
+    {6,166}, {41,182}, {6,159}, {41,179}, {6,165}, {41,175}, {41,174}, 
+    {6,163}, {41,180}, {6,164}, {8,147}, {6,158}, {41,177}, {41,167}, {6,155}, 
+    {6,174}, {41,172}, {41,178}, {6,160}, {6,162}, {41,168}, {41,169}, 
+    {41,170}, {6,173}, {6,167}, {6,172}, {41,171}, {6,171}, {6,157}, {6,156}, 
+    {6,169}, {8,161}, {43,126}, {43,119}, {8,156}, {8,175}, {43,115}, {43,122}, 
+    {43,124}, {43,127}, {8,170}, {43,123}, {43,116}, {8,168}, {43,120}, 
+    {43,128}, {8,153}, {43,125}, {8,163}, {8,162}, {43,118}, {8,151}, {8,152}, 
+    {8,150}, {8,174}, {8,166}, {8,160}, {8,148}, {43,121}, {8,159}, {8,149}, 
+    {8,167}, {8,176}, {45,148}, {8,164}, {43,117}, {8,154}, {8,157}, {8,158}, 
+    {8,172}, {8,173}, {8,171}, {8,165}, {8,169}, {8,155}, {10,180}, {45,154}, 
+    {11,1}, {10,184}, {10,186}, {11,0}, {45,166}, {10,189}, {48,113}, {13,113}, 
+    {11,3}, {45,151}, {45,159}, {10,190}, {45,158}, {45,155}, {45,163}, 
+    {45,165}, {10,183}, {10,187}, {11,2}, {13,115}, {45,160}, {10,185}, 
+    {11,5}, {45,153}, {10,188}, {13,114}, {10,182}, {45,150}, {45,157}, 
+    {45,149}, {45,152}, {45,156}, {48,114}, {11,4}, {45,161}, {45,162}, 
+    {45,164}, {10,181}, {13,129}, {48,126}, {13,127}, {13,128}, {48,116}, 
+    {48,132}, {13,118}, {52,38}, {48,134}, {48,128}, {48,119}, {48,137}, 
+    {48,122}, {13,124}, {52,61}, {48,125}, {13,126}, {13,117}, {48,139}, 
+    {48,127}, {13,120}, {48,120}, {48,117}, {48,118}, {13,121}, {48,133}, 
+    {48,140}, {13,123}, {48,124}, {48,123}, {13,131}, {13,130}, {13,116}, 
+    {13,122}, {13,125}, {48,136}, {48,130}, {13,119}, {48,115}, {48,138}, 
+    {48,129}, {48,131}, {48,135}, {52,39}, {16,119}, {16,139}, {16,138}, 
+    {16,127}, {52,57}, {52,53}, {52,50}, {52,102}, {16,122}, {16,114}, 
+    {52,55}, {19,104}, {16,118}, {52,97}, {16,140}, {16,137}, {52,59}, 
+    {52,42}, {16,136}, {52,99}, {52,41}, {16,125}, {16,129}, {52,98}, {52,51}, 
+    {16,130}, {16,124}, {52,40}, {19,56}, {52,101}, {52,49}, {16,135}, 
+    {52,52}, {52,100}, {16,134}, {56,18}, {16,115}, {52,47}, {16,120}, 
+    {16,131}, {16,126}, {52,56}, {52,46}, {52,44}, {52,62}, {16,112}, {16,132}, 
+    {16,116}, {19,55}, {52,60}, {16,117}, {16,113}, {16,128}, {16,123}, 
+    {16,121}, {52,48}, {16,133}, {52,45}, {52,58}, {52,54}, {56,20}, {56,19}, 
+    {52,43}, {56,36}, {19,58}, {56,42}, {56,25}, {56,39}, {60,55}, {19,61}, 
+    {56,43}, {56,46}, {19,60}, {56,28}, {56,45}, {56,44}, {19,62}, {56,21}, 
+    {19,57}, {19,99}, {19,97}, {56,41}, {56,31}, {19,101}, {56,48}, {56,40}, 
+    {56,49}, {19,109}, {19,107}, {56,38}, {56,37}, {56,35}, {56,29}, {19,100}, 
+    {19,98}, {48,121}, {56,22}, {60,119}, {56,23}, {19,59}, {19,106}, {60,57}, 
+    {19,102}, {19,103}, {56,24}, {56,47}, {60,56}, {56,32}, {56,27}, {19,105}, 
+    {56,33}, {56,30}, {19,110}, {22,48}, {60,60}, {60,113}, {60,118}, {60,106}, 
+    {22,44}, {60,123}, {22,41}, {60,58}, {60,59}, {22,34}, {22,43}, {60,100}, 
+    {22,46}, {22,47}, {60,101}, {60,114}, {60,120}, {22,42}, {22,36}, {60,99}, 
+    {60,61}, {60,122}, {60,104}, {60,105}, {60,62}, {60,116}, {60,107}, 
+    {60,117}, {60,109}, {22,37}, {64,153}, {22,40}, {22,38}, {60,121}, 
+    {60,112}, {60,108}, {60,97}, {25,19}, {60,111}, {22,45}, {60,103}, 
+    {60,102}, {22,39}, {22,35}, {64,174}, {60,115}, {60,110}, {60,98}, 
+    {64,169}, {64,154}, {64,165}, {64,172}, {25,17}, {19,108}, {64,170}, 
+    {25,12}, {25,11}, {64,177}, {64,155}, {64,168}, {64,156}, {64,167}, 
+    {25,15}, {64,171}, {56,34}, {64,178}, {64,163}, {25,18}, {68,122}, 
+    {27,111}, {64,176}, {64,175}, {25,20}, {68,109}, {27,112}, {68,110}, 
+    {64,159}, {64,160}, {64,157}, {64,162}, {64,158}, {64,179}, {25,14}, 
+    {27,113}, {25,16}, {25,21}, {64,161}, {64,173}, {64,166}, {68,113}, 
+    {25,10}, {27,116}, {72,106}, {68,118}, {68,117}, {68,119}, {68,116}, 
+    {27,117}, {27,123}, {27,120}, {27,121}, {68,111}, {68,114}, {68,124}, 
+    {27,129}, {27,127}, {68,115}, {56,26}, {27,114}, {68,121}, {68,112}, 
+    {27,130}, {68,120}, {25,13}, {27,119}, {64,164}, {27,122}, {27,126}, 
+    {27,128}, {27,125}, {27,124}, {27,118}, {68,123}, {27,115}, {27,131}, 
+    {29,152}, {29,153}, {72,105}, {29,162}, {29,159}, {29,150}, {29,157}, 
+    {72,107}, {29,155}, {29,149}, {29,156}, {72,104}, {31,123}, {29,151}, 
+    {29,158}, {31,122}, {72,103}, {72,102}, {29,160}, {29,161}, {72,101}, 
+    {72,100}, {31,124}, {72,110}, {29,154}, {72,108}, {31,125}, {31,130}, 
+    {75,170}, {75,172}, {31,127}, {75,173}, {75,169}, {75,171}, {31,128}, 
+    {31,131}, {75,168}, {31,126}, {31,129}, {33,25}, {72,109}, {33,24}, 
+    {33,30}, {78,148}, {33,28}, {33,29}, {78,151}, {78,147}, {33,26}, {78,145}, 
+    {34,43}, {78,149}, {78,150}, {78,146}, {33,27}, {81,2}, {81,5}, {81,6}, 
+    {81,4}, {81,7}, {34,44}, {81,3}, {83,14}, {35,36}, {83,13}, {83,12}, 
+    {83,11}, {35,35}, {35,37}, {84,141}, {35,162}, {35,161}, {85,161}, 
+    {85,160}, {85,163}, {36,139}, {36,53}, {86,157}, {85,162}, {86,156}, 
+    {36,141}, {36,140}, {36,179}, {87,105}, {87,175}, {3,164}, {56,50}, 
+    {72,111}, {5,108}, {41,183}, {6,177}, {6,175}, {6,176}, {43,129}, {8,177}, 
+    {11,6}, {45,167}, {45,168}, {11,7}, {48,142}, {13,132}, {13,133}, {48,141}, 
+    {16,147}, {16,143}, {52,103}, {16,150}, {16,149}, {16,142}, {16,145}, 
+    {16,148}, {16,144}, {56,54}, {16,141}, {19,111}, {19,113}, {19,114}, 
+    {56,53}, {56,56}, {19,112}, {56,51}, {56,55}, {56,52}, {22,49}, {60,124}, 
+    {25,22}, {64,180}, {29,163}, {27,132}, {68,125}, {27,133}, {27,134}, 
+    {68,127}, {68,126}, {68,128}, {72,113}, {72,112}, {75,175}, {75,174}, 
+    {31,132}, {31,133}, {81,8}, {3,165}, {56,57}, {19,116}, {19,115}, {60,125}, 
+    {78,152}, {35,163}, {86,158}, {3,166}, {13,134}, {16,152}, {16,151}, 
+    {56,58}, {56,59}, {22,50}, {64,181}, {25,23}, {72,114}, {3,167}, {4,120}, 
+    {8,178}, {43,130}, {45,169}, {11,8}, {16,153}, {56,60}, {19,117}, {22,51}, 
+    {68,129}, {68,130}, {75,176}, {33,31}, {87,176}, {3,168}, {43,131}, 
+    {8,179}, {11,9}, {45,170}, {13,135}, {48,146}, {48,144}, {48,145}, 
+    {13,136}, {48,143}, {16,155}, {16,156}, {52,104}, {16,157}, {16,154}, 
+    {56,61}, {56,62}, {60,126}, {25,25}, {25,24}, {75,177}, {78,153}, {81,10}, 
+    {81,9}, {83,15}, {40,30}, {11,10}, {3,169}, {4,121}, {5,110}, {5,109}, 
+    {5,111}, {5,112}, {40,174}, {40,173}, {41,184}, {6,178}, {41,187}, 
+    {41,186}, {41,185}, {41,188}, {8,180}, {43,137}, {43,133}, {43,142}, 
+    {8,187}, {8,185}, {43,138}, {43,134}, {43,141}, {8,184}, {9,0}, {43,136}, 
+    {43,132}, {8,190}, {43,139}, {8,183}, {43,140}, {8,186}, {8,188}, {43,144}, 
+    {43,143}, {43,135}, {8,182}, {8,181}, {8,189}, {45,175}, {45,181}, 
+    {11,16}, {11,13}, {45,172}, {45,177}, {11,19}, {11,11}, {45,176}, {11,14}, 
+    {11,17}, {45,179}, {11,12}, {45,184}, {11,15}, {11,18}, {45,173}, {45,178}, 
+    {45,182}, {45,174}, {45,171}, {45,183}, {45,180}, {13,144}, {13,137}, 
+    {13,140}, {13,143}, {48,149}, {13,138}, {48,147}, {13,142}, {13,139}, 
+    {48,150}, {13,141}, {52,108}, {16,159}, {52,107}, {52,109}, {16,158}, 
+    {16,163}, {48,148}, {52,106}, {52,110}, {16,160}, {52,105}, {16,162}, 
+    {16,161}, {56,103}, {56,98}, {19,118}, {19,122}, {19,119}, {56,101}, 
+    {56,104}, {19,120}, {19,121}, {19,126}, {60,135}, {56,102}, {19,124}, 
+    {56,99}, {56,97}, {19,125}, {56,100}, {22,57}, {60,127}, {22,54}, {22,55}, 
+    {22,53}, {60,132}, {60,131}, {60,128}, {22,59}, {60,130}, {19,123}, 
+    {60,134}, {60,129}, {22,56}, {22,52}, {22,58}, {60,133}, {25,28}, {64,184}, 
+    {64,183}, {64,182}, {25,26}, {25,27}, {68,133}, {68,136}, {27,136}, 
+    {27,135}, {68,137}, {68,132}, {27,138}, {68,134}, {27,137}, {68,131}, 
+    {68,135}, {29,169}, {29,166}, {72,123}, {72,122}, {72,121}, {72,116}, 
+    {72,117}, {29,167}, {29,164}, {29,168}, {72,115}, {29,165}, {72,118}, 
+    {72,119}, {72,124}, {72,120}, {75,178}, {31,135}, {78,156}, {31,134}, 
+    {78,154}, {78,155}, {33,32}, {34,46}, {81,11}, {34,45}, {83,17}, {83,18}, 
+    {35,38}, {83,16}, {35,164}, {86,159}, {36,142}, {87,106}, {87,107}, 
+    {3,170}, {5,113}, {5,114}, {6,179}, {43,145}, {11,20}, {13,145}, {16,164}, 
+    {15,146}, {19,127}, {19,128}, {18,140}, {56,105}, {22,60}, {64,186}, 
+    {64,185}, {3,171}, {5,115}, {43,146}, {9,2}, {9,1}, {45,185}, {45,186}, 
+    {48,151}, {48,152}, {13,146}, {13,147}, {13,148}, {52,111}, {16,166}, 
+    {19,130}, {19,129}, {60,136}, {62,58}, {64,187}, {72,125}, {33,33}, 
+    {35,39}, {3,172}, {4,124}, {4,125}, {4,123}, {4,126}, {4,122}, {5,118}, 
+    {40,182}, {5,117}, {5,119}, {40,177}, {40,176}, {40,179}, {40,178}, 
+    {40,181}, {5,116}, {40,175}, {40,180}, {41,189}, {6,189}, {41,190}, 
+    {42,3}, {6,188}, {42,7}, {42,2}, {42,5}, {6,181}, {6,182}, {6,183}, 
+    {6,184}, {7,0}, {42,1}, {6,186}, {7,1}, {42,0}, {42,6}, {6,185}, {42,4}, 
+    {6,187}, {6,180}, {6,190}, {9,23}, {43,148}, {9,3}, {9,13}, {9,14}, 
+    {9,6}, {9,24}, {9,8}, {43,156}, {9,19}, {43,151}, {9,9}, {43,166}, 
+    {43,167}, {43,159}, {43,152}, {9,22}, {43,164}, {9,17}, {9,15}, {43,165}, 
+    {43,163}, {43,155}, {43,147}, {43,154}, {9,10}, {9,16}, {9,4}, {43,158}, 
+    {43,157}, {43,149}, {9,18}, {43,161}, {43,150}, {9,21}, {43,168}, {9,5}, 
+    {9,12}, {43,153}, {43,162}, {9,20}, {9,7}, {9,11}, {43,160}, {46,27}, 
+    {11,28}, {11,41}, {46,22}, {46,12}, {11,34}, {46,10}, {11,27}, {46,5}, 
+    {11,37}, {46,18}, {45,190}, {46,1}, {46,4}, {45,187}, {46,17}, {46,33}, 
+    {11,32}, {46,6}, {46,24}, {45,189}, {46,31}, {46,32}, {46,35}, {46,26}, 
+    {46,11}, {46,19}, {11,38}, {11,25}, {11,33}, {11,45}, {11,22}, {11,24}, 
+    {46,3}, {11,42}, {11,35}, {46,29}, {46,0}, {11,44}, {11,39}, {46,9}, 
+    {11,43}, {46,16}, {46,8}, {11,36}, {46,28}, {46,20}, {11,30}, {46,34}, 
+    {46,7}, {11,26}, {46,25}, {46,15}, {11,31}, {46,21}, {11,23}, {45,188}, 
+    {11,40}, {13,163}, {11,29}, {46,14}, {46,13}, {46,2}, {46,30}, {46,23}, 
+    {11,21}, {48,172}, {13,170}, {48,173}, {48,161}, {13,159}, {13,171}, 
+    {48,154}, {48,163}, {48,171}, {48,153}, {48,180}, {13,149}, {48,179}, 
+    {48,174}, {48,175}, {13,157}, {13,168}, {48,165}, {48,166}, {48,176}, 
+    {48,167}, {48,162}, {48,156}, {48,157}, {48,170}, {48,164}, {13,150}, 
+    {13,154}, {48,178}, {48,158}, {13,166}, {13,162}, {13,165}, {13,172}, 
+    {13,155}, {13,167}, {48,169}, {13,169}, {13,152}, {13,151}, {48,155}, 
+    {48,159}, {13,160}, {48,177}, {48,168}, {48,160}, {13,164}, {13,161}, 
+    {13,153}, {13,156}, {52,132}, {52,116}, {52,117}, {52,121}, {52,136}, 
+    {52,133}, {52,126}, {52,125}, {16,173}, {52,129}, {52,144}, {52,112}, 
+    {52,145}, {52,131}, {52,149}, {52,137}, {16,172}, {52,135}, {16,167}, 
+    {16,188}, {16,178}, {16,182}, {16,181}, {52,113}, {52,142}, {52,148}, 
+    {52,140}, {52,147}, {52,128}, {52,114}, {52,146}, {52,130}, {16,170}, 
+    {16,183}, {52,139}, {16,176}, {52,138}, {52,115}, {16,184}, {16,186}, 
+    {52,141}, {16,187}, {16,169}, {52,122}, {52,143}, {16,175}, {16,185}, 
+    {52,124}, {52,134}, {52,119}, {52,123}, {16,180}, {52,118}, {16,168}, 
+    {16,177}, {16,174}, {52,127}, {13,158}, {56,128}, {16,171}, {16,179}, 
+    {56,131}, {56,153}, {56,142}, {19,150}, {19,145}, {56,125}, {19,146}, 
+    {56,141}, {56,134}, {56,147}, {19,142}, {56,107}, {56,149}, {19,132}, 
+    {56,115}, {19,135}, {19,134}, {19,151}, {56,109}, {56,143}, {56,144}, 
+    {19,137}, {19,133}, {56,123}, {19,144}, {56,118}, {56,145}, {19,140}, 
+    {56,137}, {56,150}, {56,112}, {56,117}, {56,111}, {19,139}, {56,130}, 
+    {60,158}, {56,113}, {19,143}, {56,122}, {56,146}, {19,138}, {56,119}, 
+    {56,116}, {56,133}, {19,141}, {19,131}, {19,153}, {56,136}, {56,135}, 
+    {56,108}, {19,136}, {56,148}, {56,124}, {56,126}, {56,139}, {56,138}, 
+    {56,106}, {19,147}, {19,149}, {56,114}, {56,121}, {56,129}, {19,148}, 
+    {56,120}, {56,132}, {56,151}, {56,140}, {56,152}, {56,110}, {60,178}, 
+    {22,102}, {60,176}, {60,155}, {60,160}, {60,153}, {60,172}, {60,139}, 
+    {60,146}, {60,170}, {60,180}, {60,156}, {60,143}, {60,162}, {60,167}, 
+    {60,147}, {60,164}, {60,144}, {60,151}, {60,152}, {22,104}, {60,171}, 
+    {60,169}, {60,140}, {60,174}, {60,175}, {60,177}, {22,108}, {22,100}, 
+    {52,120}, {60,148}, {60,166}, {60,149}, {22,97}, {22,113}, {60,173}, 
+    {22,111}, {22,107}, {60,138}, {22,99}, {60,141}, {22,112}, {60,157}, 
+    {60,137}, {22,105}, {60,161}, {60,145}, {22,106}, {60,154}, {22,62}, 
+    {19,152}, {60,163}, {56,127}, {60,142}, {60,168}, {22,101}, {60,165}, 
+    {22,98}, {60,159}, {22,109}, {60,150}, {60,179}, {22,103}, {61,134}, 
+    {22,110}, {65,10}, {65,8}, {65,30}, {65,6}, {65,24}, {22,61}, {25,31}, 
+    {65,2}, {65,29}, {65,7}, {65,21}, {25,36}, {25,29}, {65,27}, {65,0}, 
+    {65,26}, {25,47}, {65,17}, {65,33}, {25,45}, {65,9}, {25,30}, {65,11}, 
+    {65,25}, {25,39}, {65,4}, {25,43}, {25,33}, {65,13}, {65,3}, {64,188}, 
+    {65,23}, {25,40}, {65,32}, {64,189}, {25,37}, {65,19}, {25,38}, {65,5}, 
+    {65,16}, {65,12}, {65,14}, {25,32}, {65,31}, {25,46}, {65,15}, {65,34}, 
+    {64,190}, {65,20}, {25,35}, {25,44}, {25,42}, {65,1}, {65,22}, {25,41}, 
+    {25,34}, {65,18}, {65,28}, {68,149}, {68,145}, {68,141}, {68,161}, 
+    {68,158}, {27,141}, {68,165}, {68,148}, {27,152}, {68,155}, {68,144}, 
+    {68,154}, {27,149}, {68,174}, {68,171}, {68,157}, {68,142}, {68,162}, 
+    {68,164}, {27,145}, {68,152}, {68,147}, {68,138}, {27,142}, {27,150}, 
+    {68,167}, {27,151}, {68,139}, {68,173}, {68,160}, {68,166}, {27,148}, 
+    {68,163}, {68,170}, {27,153}, {27,147}, {68,156}, {68,143}, {68,175}, 
+    {68,140}, {68,168}, {27,144}, {68,150}, {68,151}, {27,143}, {27,140}, 
+    {68,146}, {27,146}, {27,139}, {68,169}, {68,172}, {68,153}, {72,138}, 
+    {72,130}, {72,126}, {29,182}, {29,171}, {29,176}, {29,172}, {72,140}, 
+    {72,151}, {29,170}, {72,132}, {72,141}, {68,159}, {72,142}, {29,177}, 
+    {72,157}, {29,181}, {29,184}, {72,128}, {29,180}, {72,155}, {72,156}, 
+    {72,146}, {72,145}, {72,137}, {72,147}, {72,154}, {72,153}, {29,175}, 
+    {29,173}, {72,139}, {72,136}, {72,133}, {72,152}, {29,183}, {72,150}, 
+    {29,179}, {29,178}, {72,144}, {72,127}, {72,129}, {72,131}, {72,149}, 
+    {72,143}, {29,174}, {72,134}, {72,148}, {72,135}, {31,143}, {76,5}, 
+    {31,136}, {75,181}, {76,1}, {31,138}, {76,8}, {75,188}, {75,183}, {76,9}, 
+    {75,179}, {75,190}, {31,145}, {76,4}, {76,10}, {75,189}, {31,137}, 
+    {76,0}, {75,180}, {31,144}, {76,7}, {75,185}, {31,140}, {75,187}, {75,184}, 
+    {31,146}, {75,186}, {31,139}, {31,142}, {76,3}, {75,182}, {76,6}, {76,2}, 
+    {33,35}, {78,167}, {33,40}, {33,41}, {33,34}, {78,166}, {78,163}, {78,164}, 
+    {33,38}, {78,158}, {78,162}, {33,37}, {78,159}, {33,39}, {33,36}, {78,157}, 
+    {78,161}, {78,165}, {81,17}, {81,14}, {81,23}, {81,22}, {81,20}, {81,15}, 
+    {34,50}, {81,16}, {34,49}, {31,141}, {81,19}, {34,48}, {81,24}, {81,18}, 
+    {81,13}, {78,160}, {34,47}, {81,12}, {83,22}, {83,21}, {81,21}, {35,40}, 
+    {83,25}, {83,26}, {83,20}, {83,24}, {83,19}, {84,145}, {83,23}, {35,167}, 
+    {35,165}, {84,143}, {84,146}, {84,142}, {84,144}, {35,166}, {85,165}, 
+    {85,166}, {36,54}, {85,164}, {86,162}, {36,143}, {86,160}, {86,161}, 
+    {87,108}, {37,22}, {87,179}, {87,177}, {87,178}, {87,180}, {88,123}, 
+    {3,173}, {5,120}, {9,25}, {43,169}, {46,36}, {48,181}, {48,183}, {48,182}, 
+    {48,184}, {16,189}, {52,151}, {48,185}, {52,150}, {52,152}, {52,153}, 
+    {56,154}, {19,155}, {56,155}, {56,157}, {19,156}, {19,154}, {56,156}, 
+    {60,186}, {60,184}, {60,183}, {60,182}, {60,181}, {22,114}, {60,185}, 
+    {25,48}, {65,35}, {65,37}, {25,49}, {65,36}, {27,155}, {27,154}, {68,176}, 
+    {72,159}, {72,158}, {72,160}, {29,185}, {76,11}, {31,147}, {78,168}, 
+    {33,42}, {81,25}, {36,55}, {3,174}, {4,127}, {5,121}, {7,2}, {9,26}, 
+    {9,27}, {11,46}, {48,186}, {22,115}, {69,145}, {29,186}, {33,43}, {3,175}, 
+    {5,122}, {43,171}, {9,28}, {43,170}, {46,37}, {11,47}, {46,38}, {11,48}, 
+    {48,188}, {13,174}, {13,173}, {52,158}, {52,156}, {52,157}, {52,155}, 
+    {52,154}, {56,158}, {56,161}, {19,158}, {56,159}, {19,157}, {56,160}, 
+    {60,187}, {65,38}, {65,39}, {65,40}, {68,179}, {68,178}, {27,156}, 
+    {68,177}, {68,180}, {72,161}, {72,162}, {72,163}, {76,12}, {31,148}, 
+    {33,44}, {81,26}, {35,168}, {40,31}, {11,49}, {46,39}, {13,175}, {16,190}, 
+    {19,159}, {56,162}, {22,117}, {22,116}, {65,41}, {65,42}, {27,157}, 
+    {27,158}, {72,165}, {72,164}, {78,169}, {86,163}, {3,176}, {40,32}, 
+    {4,128}, {7,3}, {42,8}, {11,50}, {22,118}, {3,177}, {46,40}, {11,51}, 
+    {46,41}, {31,149}, {3,178}, {43,172}, {46,42}, {49,2}, {49,1}, {48,190}, 
+    {48,189}, {49,3}, {49,0}, {17,0}, {17,1}, {19,160}, {56,163}, {56,164}, 
+    {56,165}, {61,1}, {61,2}, {61,0}, {60,189}, {60,190}, {22,119}, {65,43}, 
+    {68,183}, {68,182}, {68,181}, {68,184}, {72,167}, {72,166}, {29,187}, 
+    {72,168}, {31,150}, {76,13}, {78,170}, {81,27}, {85,167}, {3,179}, 
+    {4,130}, {4,129}, {9,29}, {40,33}, {40,62}, {5,123}, {40,183}, {42,9}, 
+    {42,10}, {9,30}, {43,173}, {11,52}, {46,43}, {46,44}, {13,176}, {13,180}, 
+    {49,4}, {13,179}, {13,177}, {13,178}, {52,159}, {17,2}, {19,163}, {19,161}, 
+    {19,162}, {56,166}, {25,50}, {3,180}, {40,97}, {4,131}, {40,100}, {4,134}, 
+    {40,99}, {4,133}, {4,132}, {7,4}, {40,98}, {40,184}, {40,188}, {40,190}, 
+    {41,0}, {5,133}, {5,134}, {40,187}, {5,129}, {40,185}, {40,189}, {5,130}, 
+    {5,125}, {5,126}, {5,132}, {40,186}, {5,124}, {7,5}, {5,127}, {5,128}, 
+    {5,131}, {42,27}, {42,25}, {42,12}, {7,17}, {42,19}, {7,12}, {42,13}, 
+    {42,21}, {42,18}, {7,15}, {42,17}, {7,22}, {42,26}, {7,24}, {7,26}, 
+    {42,11}, {7,13}, {42,28}, {7,20}, {7,23}, {44,5}, {7,7}, {7,30}, {7,21}, 
+    {42,14}, {7,10}, {7,25}, {42,22}, {7,8}, {7,9}, {44,3}, {42,15}, {7,16}, 
+    {7,27}, {42,29}, {42,16}, {7,14}, {7,19}, {43,174}, {7,28}, {42,23}, 
+    {7,18}, {7,29}, {7,6}, {42,20}, {7,11}, {42,24}, {44,4}, {9,42}, {9,58}, 
+    {43,181}, {9,49}, {44,11}, {9,34}, {9,37}, {44,2}, {43,179}, {43,183}, 
+    {9,45}, {9,47}, {43,186}, {9,54}, {9,40}, {9,38}, {9,39}, {9,53}, {44,7}, 
+    {9,48}, {43,185}, {43,187}, {9,46}, {9,51}, {43,188}, {44,10}, {11,53}, 
+    {9,57}, {9,35}, {44,9}, {44,13}, {43,184}, {44,15}, {44,0}, {9,44}, 
+    {43,180}, {9,43}, {9,61}, {9,50}, {43,178}, {46,53}, {9,56}, {9,60}, 
+    {44,1}, {44,6}, {9,62}, {9,55}, {9,41}, {9,31}, {9,36}, {43,182}, {9,32}, 
+    {44,14}, {43,176}, {43,175}, {43,189}, {43,177}, {9,59}, {13,181}, 
+    {9,52}, {43,190}, {9,33}, {11,102}, {44,12}, {46,60}, {46,97}, {46,100}, 
+    {46,55}, {46,103}, {46,106}, {46,108}, {46,52}, {11,54}, {11,59}, {49,9}, 
+    {11,109}, {46,101}, {46,109}, {46,59}, {46,51}, {49,36}, {11,62}, {46,98}, 
+    {46,56}, {46,58}, {11,101}, {46,61}, {11,61}, {46,48}, {46,104}, {46,107}, 
+    {11,58}, {11,104}, {46,45}, {11,106}, {11,56}, {11,110}, {46,105}, 
+    {46,47}, {11,107}, {49,30}, {44,8}, {11,60}, {11,55}, {46,54}, {46,46}, 
+    {11,108}, {11,100}, {46,99}, {11,105}, {11,103}, {46,57}, {11,97}, 
+    {46,49}, {11,98}, {11,99}, {46,50}, {46,102}, {11,57}, {46,62}, {49,12}, 
+    {13,189}, {14,3}, {49,21}, {49,27}, {49,23}, {49,10}, {49,13}, {49,6}, 
+    {49,7}, {14,10}, {13,186}, {49,22}, {49,31}, {14,5}, {13,182}, {14,0}, 
+    {49,14}, {14,2}, {49,15}, {49,25}, {14,4}, {49,40}, {49,8}, {13,188}, 
+    {13,187}, {14,8}, {49,5}, {49,38}, {49,26}, {49,39}, {49,33}, {49,19}, 
+    {49,34}, {49,28}, {49,37}, {49,35}, {14,9}, {49,20}, {13,185}, {13,184}, 
+    {14,1}, {14,7}, {49,32}, {14,6}, {49,17}, {17,3}, {49,41}, {49,16}, 
+    {49,11}, {13,190}, {14,11}, {13,183}, {49,24}, {49,29}, {17,37}, {52,161}, 
+    {52,165}, {17,18}, {17,16}, {17,7}, {52,163}, {52,162}, {17,27}, {52,168}, 
+    {17,21}, {52,186}, {53,7}, {17,4}, {52,183}, {52,176}, {17,39}, {52,160}, 
+    {52,188}, {17,36}, {17,24}, {17,35}, {17,14}, {52,172}, {52,190}, {52,182}, 
+    {17,15}, {17,9}, {53,5}, {52,189}, {53,0}, {17,17}, {17,25}, {53,2}, 
+    {52,170}, {52,187}, {52,175}, {53,4}, {17,30}, {17,6}, {17,28}, {52,180}, 
+    {52,178}, {52,179}, {17,19}, {52,174}, {52,173}, {17,8}, {52,167}, 
+    {53,6}, {17,10}, {52,177}, {17,40}, {17,34}, {52,166}, {17,31}, {17,29}, 
+    {17,38}, {52,184}, {17,33}, {49,18}, {52,185}, {17,32}, {53,1}, {17,5}, 
+    {52,181}, {17,23}, {52,169}, {17,22}, {17,20}, {17,12}, {17,11}, {56,167}, 
+    {53,3}, {52,171}, {56,188}, {17,13}, {20,1}, {17,26}, {19,174}, {56,182}, 
+    {19,188}, {56,170}, {19,171}, {19,167}, {57,9}, {19,173}, {19,177}, 
+    {19,172}, {19,181}, {57,13}, {57,4}, {56,177}, {19,186}, {19,180}, 
+    {56,189}, {19,164}, {57,10}, {57,3}, {19,168}, {56,183}, {19,183}, 
+    {57,21}, {57,22}, {19,165}, {57,8}, {19,185}, {56,187}, {56,173}, {56,174}, 
+    {19,189}, {56,178}, {56,185}, {56,179}, {19,187}, {20,4}, {56,175}, 
+    {56,168}, {56,169}, {56,171}, {19,170}, {56,184}, {19,184}, {20,2}, 
+    {56,186}, {57,19}, {57,11}, {19,166}, {57,17}, {19,178}, {19,176}, 
+    {57,23}, {19,175}, {57,1}, {56,180}, {56,190}, {20,7}, {57,5}, {57,2}, 
+    {56,176}, {20,3}, {57,15}, {57,12}, {57,20}, {19,169}, {57,0}, {20,6}, 
+    {57,7}, {19,179}, {19,182}, {57,6}, {20,5}, {56,181}, {52,164}, {57,16}, 
+    {57,14}, {57,18}, {56,172}, {20,0}, {61,33}, {61,32}, {61,6}, {22,125}, 
+    {61,31}, {61,9}, {61,10}, {22,135}, {61,40}, {22,130}, {61,30}, {61,3}, 
+    {22,136}, {22,126}, {61,18}, {61,8}, {61,11}, {61,35}, {22,120}, {61,42}, 
+    {61,34}, {22,129}, {61,23}, {22,140}, {22,139}, {22,133}, {61,41}, 
+    {22,121}, {61,21}, {61,12}, {61,25}, {61,37}, {22,141}, {22,123}, {61,20}, 
+    {61,13}, {22,132}, {22,131}, {61,16}, {61,26}, {61,36}, {61,7}, {61,17}, 
+    {22,124}, {61,27}, {22,137}, {22,128}, {61,14}, {22,127}, {61,5}, {61,19}, 
+    {61,39}, {19,190}, {25,112}, {61,22}, {65,44}, {61,24}, {61,38}, {22,134}, 
+    {61,15}, {22,122}, {22,138}, {27,176}, {61,4}, {61,29}, {61,28}, {65,106}, 
+    {25,109}, {65,61}, {65,100}, {25,98}, {65,46}, {25,111}, {25,55}, {65,45}, 
+    {65,112}, {25,113}, {65,49}, {65,99}, {65,51}, {65,115}, {65,111}, 
+    {25,53}, {25,97}, {69,19}, {25,110}, {25,61}, {65,47}, {65,110}, {25,99}, 
+    {65,107}, {65,120}, {65,53}, {65,62}, {65,118}, {65,108}, {25,60}, 
+    {65,60}, {25,54}, {25,52}, {25,104}, {65,58}, {65,55}, {65,56}, {65,114}, 
+    {65,119}, {65,117}, {25,58}, {65,121}, {25,62}, {25,103}, {65,48}, 
+    {68,186}, {65,57}, {25,56}, {25,108}, {25,105}, {25,59}, {65,101}, 
+    {65,52}, {25,106}, {65,103}, {25,100}, {25,102}, {25,51}, {65,105}, 
+    {65,97}, {65,50}, {25,101}, {65,113}, {65,116}, {65,59}, {65,104}, 
+    {25,57}, {27,159}, {65,102}, {68,185}, {65,109}, {65,54}, {69,4}, {69,14}, 
+    {27,162}, {69,13}, {69,25}, {27,164}, {69,11}, {69,15}, {27,175}, {69,6}, 
+    {27,167}, {69,18}, {72,176}, {27,179}, {27,178}, {69,20}, {69,3}, {69,30}, 
+    {27,173}, {27,163}, {69,23}, {69,27}, {69,32}, {69,21}, {69,9}, {27,166}, 
+    {27,169}, {27,177}, {27,172}, {69,12}, {65,98}, {69,8}, {69,31}, {27,168}, 
+    {27,171}, {69,33}, {27,160}, {69,22}, {68,187}, {69,28}, {31,159}, 
+    {69,10}, {27,161}, {69,5}, {27,165}, {68,188}, {25,107}, {69,1}, {69,26}, 
+    {69,2}, {69,0}, {27,170}, {69,24}, {68,190}, {69,17}, {69,16}, {69,29}, 
+    {69,7}, {27,174}, {72,179}, {30,9}, {29,190}, {73,0}, {72,171}, {30,1}, 
+    {72,183}, {30,8}, {30,3}, {72,181}, {76,15}, {72,187}, {73,2}, {72,186}, 
+    {72,169}, {72,184}, {73,4}, {73,6}, {29,189}, {73,5}, {30,4}, {30,10}, 
+    {30,7}, {72,190}, {30,6}, {72,185}, {72,173}, {72,178}, {72,189}, {30,5}, 
+    {30,2}, {29,188}, {30,0}, {72,177}, {68,189}, {72,172}, {72,175}, {73,1}, 
+    {72,180}, {72,170}, {76,14}, {73,3}, {72,174}, {72,188}, {76,17}, {31,163}, 
+    {31,151}, {31,155}, {76,19}, {76,25}, {76,23}, {31,153}, {31,154}, 
+    {31,161}, {76,26}, {76,18}, {31,156}, {76,22}, {76,21}, {76,27}, {31,162}, 
+    {31,157}, {31,160}, {76,20}, {31,164}, {31,158}, {31,165}, {31,152}, 
+    {76,24}, {76,16}, {78,183}, {33,49}, {78,180}, {78,182}, {33,47}, {78,178}, 
+    {78,179}, {78,174}, {72,182}, {78,175}, {33,48}, {78,171}, {33,45}, 
+    {78,184}, {33,46}, {78,172}, {78,173}, {78,177}, {33,51}, {33,50}, 
+    {78,176}, {34,56}, {81,31}, {81,37}, {34,57}, {81,28}, {34,54}, {34,51}, 
+    {81,39}, {34,55}, {34,52}, {81,30}, {81,33}, {81,34}, {81,35}, {81,38}, 
+    {78,181}, {81,29}, {34,53}, {81,36}, {81,40}, {81,32}, {83,29}, {35,42}, 
+    {83,32}, {35,43}, {83,40}, {83,31}, {83,28}, {83,30}, {83,34}, {83,37}, 
+    {83,36}, {83,39}, {83,27}, {35,41}, {83,35}, {83,38}, {83,41}, {83,33}, 
+    {84,147}, {84,148}, {84,152}, {84,153}, {84,150}, {84,151}, {84,149}, 
+    {35,169}, {36,56}, {85,171}, {85,168}, {85,169}, {85,170}, {36,57}, 
+    {86,165}, {86,164}, {87,111}, {36,180}, {87,109}, {87,112}, {87,110}, 
+    {87,181}, {37,23}, {37,37}, {88,99}, {88,44}, {88,98}, {88,144}, {88,145}, 
+    {3,181}, {5,135}, {41,1}, {42,30}, {7,31}, {7,34}, {42,31}, {7,32}, 
+    {7,33}, {44,24}, {44,26}, {44,21}, {44,18}, {44,20}, {9,100}, {9,98}, 
+    {44,22}, {9,99}, {44,19}, {44,16}, {9,97}, {44,23}, {44,17}, {9,101}, 
+    {44,25}, {46,111}, {46,115}, {11,119}, {46,118}, {11,111}, {11,114}, 
+    {11,116}, {11,118}, {11,115}, {46,114}, {46,113}, {11,113}, {46,116}, 
+    {46,117}, {46,110}, {11,117}, {11,112}, {46,112}, {49,55}, {49,56}, 
+    {49,57}, {14,16}, {14,12}, {49,46}, {49,54}, {49,59}, {14,17}, {49,44}, 
+    {49,50}, {49,43}, {49,53}, {49,49}, {14,13}, {14,15}, {49,58}, {49,42}, 
+    {49,45}, {49,51}, {49,52}, {49,60}, {49,48}, {14,14}, {17,45}, {53,14}, 
+    {53,16}, {53,12}, {53,24}, {53,10}, {53,23}, {17,41}, {53,8}, {57,27}, 
+    {53,18}, {17,44}, {53,19}, {53,22}, {53,26}, {53,15}, {53,20}, {17,42}, 
+    {17,43}, {53,25}, {53,13}, {53,9}, {53,27}, {53,17}, {53,21}, {53,11}, 
+    {20,8}, {20,9}, {57,37}, {20,15}, {57,25}, {57,34}, {57,24}, {20,12}, 
+    {57,32}, {57,30}, {57,31}, {20,10}, {57,35}, {57,28}, {57,26}, {20,11}, 
+    {57,29}, {57,33}, {20,13}, {57,36}, {61,48}, {61,55}, {61,57}, {61,97}, 
+    {22,154}, {61,43}, {22,146}, {61,58}, {22,151}, {61,98}, {22,142}, 
+    {61,61}, {61,45}, {61,62}, {61,44}, {22,156}, {61,56}, {22,143}, {61,99}, 
+    {22,148}, {61,49}, {22,153}, {61,60}, {61,47}, {61,54}, {61,50}, {61,46}, 
+    {22,145}, {22,152}, {22,150}, {22,147}, {22,155}, {22,144}, {61,53}, 
+    {22,149}, {20,14}, {61,59}, {61,51}, {61,52}, {65,129}, {25,116}, {65,125}, 
+    {65,131}, {65,127}, {25,118}, {65,126}, {65,130}, {65,122}, {65,124}, 
+    {25,117}, {65,128}, {65,123}, {25,119}, {25,114}, {65,132}, {25,115}, 
+    {69,39}, {69,36}, {69,48}, {69,42}, {69,44}, {27,180}, {69,38}, {69,46}, 
+    {69,45}, {69,43}, {69,49}, {27,183}, {69,40}, {69,47}, {27,181}, {69,35}, 
+    {69,37}, {27,182}, {69,34}, {69,50}, {69,41}, {73,10}, {30,17}, {73,21}, 
+    {73,19}, {30,11}, {73,9}, {73,12}, {73,13}, {73,8}, {30,21}, {30,22}, 
+    {73,7}, {73,22}, {73,17}, {30,15}, {30,12}, {73,16}, {73,14}, {30,18}, 
+    {73,18}, {30,13}, {30,14}, {73,15}, {30,16}, {73,11}, {73,20}, {30,19}, 
+    {73,23}, {73,24}, {30,20}, {31,167}, {31,174}, {76,28}, {76,34}, {76,32}, 
+    {31,170}, {31,169}, {31,166}, {76,30}, {31,172}, {31,171}, {31,168}, 
+    {76,33}, {76,29}, {76,31}, {31,173}, {33,55}, {78,187}, {33,52}, {33,53}, 
+    {78,189}, {33,54}, {78,186}, {78,185}, {81,44}, {78,188}, {81,45}, 
+    {34,58}, {81,43}, {81,42}, {81,41}, {34,59}, {35,44}, {83,42}, {83,43}, 
+    {84,156}, {84,155}, {35,170}, {84,154}, {85,172}, {85,173}, {86,166}, 
+    {87,113}, {87,182}, {88,124}, {37,57}, {88,134}, {3,182}, {9,102}, 
+    {9,103}, {11,120}, {31,175}, {3,183}, {9,104}, {14,18}, {22,157}, {3,184}, 
+    {17,46}, {25,120}, {40,34}, {46,119}, {49,61}, {65,133}, {31,176}, 
+    {3,185}, {9,105}, {46,120}, {46,121}, {57,38}, {20,16}, {61,100}, {22,158}, 
+    {65,134}, {27,184}, {34,60}, {3,186}, {57,39}, {3,187}, {5,137}, {41,2}, 
+    {5,136}, {7,37}, {7,36}, {7,35}, {42,32}, {9,106}, {9,107}, {44,27}, 
+    {46,122}, {46,125}, {11,122}, {46,123}, {11,121}, {46,124}, {11,123}, 
+    {49,98}, {49,97}, {49,62}, {14,19}, {53,29}, {53,30}, {17,47}, {53,28}, 
+    {53,31}, {20,18}, {17,48}, {20,17}, {57,43}, {57,42}, {57,40}, {57,41}, 
+    {57,44}, {61,102}, {61,101}, {61,105}, {61,104}, {61,103}, {25,121}, 
+    {65,137}, {65,136}, {25,122}, {65,135}, {69,51}, {69,52}, {27,185}, 
+    {73,25}, {73,26}, {81,50}, {34,61}, {81,49}, {81,48}, {81,46}, {81,47}, 
+    {35,171}, {83,44}, {85,174}, {87,183}, {3,188}, {40,101}, {4,135}, 
+    {40,102}, {41,3}, {41,4}, {42,38}, {42,34}, {42,33}, {9,108}, {42,37}, 
+    {7,39}, {42,35}, {7,38}, {42,39}, {42,36}, {44,31}, {46,126}, {44,29}, 
+    {44,36}, {9,109}, {9,112}, {44,37}, {44,33}, {44,34}, {44,28}, {9,111}, 
+    {44,30}, {9,110}, {44,35}, {44,32}, {46,130}, {11,125}, {11,126}, {46,133}, 
+    {46,127}, {46,132}, {46,128}, {11,124}, {46,131}, {46,129}, {49,104}, 
+    {49,101}, {49,103}, {14,24}, {14,23}, {14,21}, {49,100}, {49,105}, 
+    {14,20}, {14,22}, {49,102}, {53,39}, {49,99}, {49,106}, {53,34}, {53,38}, 
+    {53,37}, {57,46}, {57,57}, {53,40}, {53,35}, {57,45}, {17,52}, {17,51}, 
+    {53,33}, {53,36}, {17,53}, {17,50}, {17,49}, {53,32}, {53,41}, {57,48}, 
+    {57,55}, {20,20}, {57,54}, {57,51}, {20,22}, {57,53}, {57,47}, {57,49}, 
+    {57,52}, {57,50}, {20,21}, {57,56}, {20,19}, {22,159}, {61,109}, {61,108}, 
+    {61,106}, {22,162}, {22,161}, {61,110}, {61,107}, {65,138}, {25,123}, 
+    {22,160}, {61,112}, {61,111}, {65,141}, {65,139}, {27,186}, {25,124}, 
+    {65,140}, {69,54}, {27,187}, {69,53}, {69,62}, {69,61}, {69,59}, {69,58}, 
+    {69,55}, {69,56}, {69,57}, {69,60}, {69,97}, {73,31}, {73,28}, {73,29}, 
+    {30,23}, {73,27}, {73,33}, {73,32}, {73,30}, {76,36}, {76,37}, {31,177}, 
+    {31,178}, {76,35}, {33,57}, {78,190}, {33,56}, {34,62}, {34,97}, {35,45}, 
+    {83,46}, {83,45}, {84,157}, {85,175}, {36,58}, {86,168}, {86,167}, 
+    {86,169}, {4,136}, {46,134}, {14,25}, {17,54}, {53,42}, {4,137}, {40,103}, 
+    {3,189}, {41,5}, {42,44}, {42,42}, {42,43}, {42,40}, {7,40}, {42,41}, 
+    {44,45}, {9,115}, {44,43}, {44,39}, {44,42}, {44,38}, {9,117}, {44,41}, 
+    {9,114}, {9,113}, {9,116}, {44,44}, {44,40}, {11,130}, {11,133}, {46,142}, 
+    {46,141}, {46,140}, {11,127}, {46,149}, {46,139}, {11,129}, {49,111}, 
+    {46,146}, {46,144}, {11,132}, {46,136}, {46,147}, {46,138}, {46,148}, 
+    {46,145}, {46,137}, {11,128}, {46,150}, {46,135}, {11,131}, {49,116}, 
+    {49,107}, {49,118}, {49,110}, {49,121}, {49,122}, {49,108}, {49,120}, 
+    {49,117}, {49,115}, {49,119}, {14,31}, {14,29}, {49,113}, {49,109}, 
+    {49,112}, {49,123}, {49,114}, {14,30}, {46,143}, {14,26}, {14,28}, 
+    {53,56}, {53,45}, {53,43}, {53,44}, {53,51}, {53,52}, {53,48}, {17,59}, 
+    {53,53}, {53,50}, {53,47}, {17,57}, {53,46}, {17,55}, {17,58}, {53,49}, 
+    {53,57}, {14,27}, {17,56}, {53,55}, {53,54}, {17,60}, {57,62}, {57,97}, 
+    {20,32}, {57,103}, {57,105}, {57,98}, {20,26}, {57,102}, {57,101}, 
+    {20,27}, {20,33}, {20,34}, {57,104}, {20,24}, {57,61}, {57,59}, {57,99}, 
+    {57,58}, {20,31}, {57,60}, {57,100}, {57,106}, {20,25}, {20,30}, {20,28}, 
+    {20,29}, {20,23}, {22,169}, {61,119}, {22,168}, {61,123}, {61,113}, 
+    {61,124}, {61,114}, {61,115}, {61,125}, {61,122}, {61,120}, {61,121}, 
+    {61,117}, {61,116}, {61,126}, {22,165}, {61,118}, {22,170}, {22,164}, 
+    {22,171}, {22,172}, {22,167}, {22,166}, {65,142}, {25,126}, {25,125}, 
+    {65,147}, {27,188}, {25,127}, {25,129}, {65,148}, {22,163}, {25,128}, 
+    {65,144}, {65,146}, {65,143}, {65,145}, {69,107}, {69,106}, {69,103}, 
+    {28,0}, {73,34}, {28,1}, {69,102}, {27,190}, {69,104}, {69,101}, {69,98}, 
+    {69,105}, {69,99}, {69,100}, {27,189}, {76,41}, {73,38}, {73,37}, {73,39}, 
+    {76,38}, {30,26}, {73,35}, {30,24}, {30,28}, {30,27}, {73,36}, {73,40}, 
+    {30,25}, {76,45}, {31,181}, {33,58}, {31,182}, {31,179}, {76,42}, {76,40}, 
+    {76,43}, {76,46}, {31,180}, {76,44}, {76,39}, {79,2}, {79,5}, {81,53}, 
+    {79,0}, {83,47}, {79,6}, {34,98}, {79,4}, {33,59}, {79,1}, {79,3}, 
+    {79,7}, {81,54}, {81,52}, {34,99}, {81,51}, {35,46}, {35,173}, {85,177}, 
+    {35,172}, {85,179}, {85,176}, {85,178}, {36,144}, {87,114}, {4,138}, 
+    {44,46}, {49,124}, {49,125}, {17,61}, {61,127}, {30,29}, {34,100}, 
+    {36,59}, {87,115}, {4,139}, {44,47}, {1,32}, {46,151}, {46,152}, {49,126}, 
+    {49,127}, {17,62}, {17,97}, {57,107}, {61,130}, {61,129}, {61,128}, 
+    {65,149}, {65,150}, {65,151}, {25,130}, {69,109}, {69,108}, {73,41}, 
+    {30,30}, {30,31}, {76,50}, {76,47}, {76,48}, {76,49}, {79,9}, {79,8}, 
+    {33,60}, {81,55}, {84,158}, {4,140}, {11,134}, {17,98}, {61,131}, {4,141}, 
+    {49,128}, {17,99}, {20,35}, {20,36}, {4,142}, {4,143}, {41,6}, {7,42}, 
+    {7,41}, {11,135}, {46,153}, {57,108}, {4,144}, {4,145}, {4,146}, {4,147}, 
+    {7,43}, {7,44}, {42,46}, {42,45}, {9,118}, {44,50}, {44,48}, {44,49}, 
+    {46,154}, {46,155}, {11,139}, {11,137}, {11,138}, {11,136}, {14,32}, 
+    {14,36}, {14,35}, {49,129}, {14,34}, {14,33}, {49,130}, {17,102}, {53,59}, 
+    {53,58}, {17,100}, {17,101}, {20,38}, {20,37}, {57,110}, {57,109}, 
+    {17,103}, {22,173}, {61,133}, {22,174}, {61,132}, {65,152}, {69,110}, 
+    {28,2}, {73,42}, {76,51}, {34,102}, {34,101}, {36,60}, {4,148}, {44,51}, 
+    {17,104}, {65,153}, {25,131}, {42,47}, {42,48}, {44,52}, {9,120}, {9,121}, 
+    {9,119}, {11,143}, {11,144}, {11,141}, {11,142}, {46,156}, {46,157}, 
+    {11,140}, {49,131}, {14,40}, {14,41}, {17,107}, {49,137}, {14,46}, 
+    {14,44}, {49,138}, {49,133}, {14,43}, {14,42}, {14,37}, {49,136}, {49,135}, 
+    {49,132}, {14,45}, {49,134}, {14,38}, {14,39}, {17,108}, {53,97}, {53,98}, 
+    {17,109}, {53,60}, {53,62}, {53,100}, {53,99}, {53,61}, {17,105}, {17,106}, 
+    {57,118}, {20,43}, {20,42}, {57,112}, {20,40}, {57,115}, {20,44}, {57,116}, 
+    {20,45}, {57,113}, {20,39}, {20,41}, {57,117}, {57,114}, {57,111}, 
+    {61,146}, {61,135}, {22,176}, {22,179}, {22,178}, {22,183}, {22,182}, 
+    {61,147}, {61,145}, {61,138}, {61,142}, {61,141}, {22,180}, {61,144}, 
+    {61,140}, {61,148}, {61,139}, {22,181}, {22,175}, {22,177}, {61,137}, 
+    {65,155}, {25,135}, {65,159}, {25,134}, {65,156}, {25,133}, {61,136}, 
+    {61,143}, {65,158}, {25,136}, {65,160}, {65,157}, {65,154}, {69,113}, 
+    {69,117}, {69,119}, {69,115}, {69,114}, {69,112}, {28,5}, {28,3}, {28,8}, 
+    {28,9}, {69,116}, {28,6}, {69,111}, {28,7}, {25,132}, {69,118}, {28,4}, 
+    {73,44}, {73,43}, {73,51}, {73,45}, {73,50}, {73,47}, {30,32}, {73,49}, 
+    {30,33}, {30,34}, {73,48}, {73,46}, {31,184}, {76,52}, {31,183}, {76,55}, 
+    {76,53}, {76,54}, {31,185}, {79,13}, {33,97}, {79,14}, {33,61}, {79,15}, 
+    {33,62}, {79,12}, {79,16}, {79,10}, {34,103}, {81,56}, {34,104}, {35,47}, 
+    {79,11}, {35,48}, {35,174}, {84,159}, {36,62}, {85,180}, {36,61}, {86,170}, 
+    {36,181}, {36,182}, {88,140}, {11,145}, {46,158}, {20,46}, {20,47}, 
+    {4,149}, {5,138}, {41,7}, {42,49}, {7,45}, {9,122}, {11,146}, {11,147}, 
+    {11,148}, {53,102}, {49,139}, {14,47}, {17,110}, {53,101}, {57,120}, 
+    {20,49}, {57,119}, {20,48}, {61,149}, {28,10}, {69,123}, {69,120}, 
+    {69,121}, {69,122}, {76,56}, {79,17}, {83,49}, {83,48}, {85,181}, {4,150}, 
+    {44,53}, {14,48}, {20,50}, {61,150}, {65,161}, {28,11}, {73,52}, {79,18}, 
+    {83,50}, {4,151}, {9,123}, {11,151}, {46,159}, {11,152}, {11,150}, 
+    {11,149}, {49,140}, {14,49}, {14,50}, {14,51}, {17,112}, {53,103}, 
+    {17,111}, {57,121}, {17,113}, {20,51}, {61,151}, {22,184}, {22,185}, 
+    {25,137}, {25,138}, {28,12}, {30,36}, {73,53}, {30,35}, {76,57}, {31,186}, 
+    {79,19}, {83,51}, {4,152}, {7,46}, {44,56}, {44,55}, {9,124}, {44,54}, 
+    {9,125}, {44,57}, {46,165}, {11,155}, {11,154}, {46,167}, {46,166}, 
+    {11,159}, {11,158}, {11,153}, {46,161}, {46,162}, {46,163}, {11,160}, 
+    {46,160}, {11,156}, {46,164}, {11,157}, {49,143}, {49,147}, {49,145}, 
+    {49,144}, {49,148}, {49,149}, {49,150}, {49,142}, {49,141}, {14,53}, 
+    {14,54}, {49,151}, {49,146}, {53,112}, {49,152}, {14,55}, {14,52}, 
+    {53,106}, {53,105}, {53,107}, {53,108}, {53,110}, {53,109}, {53,114}, 
+    {17,117}, {17,114}, {17,118}, {53,104}, {17,119}, {53,113}, {17,116}, 
+    {53,111}, {17,115}, {57,124}, {57,126}, {57,122}, {57,123}, {57,127}, 
+    {57,129}, {57,130}, {57,125}, {57,128}, {20,52}, {61,155}, {61,160}, 
+    {61,152}, {61,156}, {61,161}, {61,157}, {22,186}, {23,3}, {22,189}, 
+    {61,153}, {61,154}, {25,142}, {23,6}, {22,190}, {23,4}, {22,188}, {61,159}, 
+    {23,5}, {61,158}, {23,1}, {22,187}, {23,2}, {61,162}, {65,166}, {65,168}, 
+    {23,0}, {65,163}, {25,140}, {65,169}, {25,141}, {65,167}, {65,162}, 
+    {65,165}, {65,170}, {25,139}, {65,164}, {28,14}, {69,127}, {69,126}, 
+    {28,17}, {28,15}, {69,124}, {28,13}, {69,125}, {28,16}, {73,61}, {73,97}, 
+    {73,62}, {73,54}, {73,58}, {73,57}, {73,55}, {30,38}, {30,39}, {30,37}, 
+    {73,56}, {73,59}, {73,60}, {30,40}, {32,0}, {76,99}, {31,188}, {76,59}, 
+    {31,190}, {32,1}, {31,189}, {76,98}, {76,60}, {31,187}, {76,97}, {76,58}, 
+    {76,62}, {76,61}, {79,21}, {33,100}, {33,101}, {33,98}, {33,99}, {79,20}, 
+    {81,59}, {34,105}, {81,57}, {81,58}, {83,52}, {83,55}, {83,53}, {83,54}, 
+    {84,160}, {35,175}, {86,171}, {87,116}, {36,183}, {87,184}, {87,185}, 
+    {37,38}, {4,153}, {11,161}, {57,131}, {61,163}, {4,154}, {7,47}, {9,126}, 
+    {46,168}, {46,169}, {14,56}, {57,132}, {20,53}, {23,7}, {32,2}, {76,100}, 
+    {81,60}, {83,56}, {4,155}, {44,97}, {44,58}, {44,60}, {44,62}, {44,61}, 
+    {44,59}, {9,127}, {11,162}, {46,178}, {46,173}, {46,170}, {46,177}, 
+    {11,164}, {11,165}, {46,176}, {46,175}, {46,174}, {46,171}, {46,172}, 
+    {46,179}, {11,163}, {14,60}, {14,100}, {14,99}, {49,161}, {49,155}, 
+    {49,153}, {14,97}, {53,121}, {14,58}, {49,158}, {49,162}, {49,164}, 
+    {49,160}, {49,154}, {14,98}, {49,159}, {49,157}, {14,57}, {49,165}, 
+    {14,101}, {49,163}, {14,61}, {49,156}, {14,62}, {14,59}, {17,121}, 
+    {53,122}, {53,115}, {53,117}, {53,119}, {53,120}, {53,118}, {17,122}, 
+    {53,123}, {53,116}, {57,136}, {20,54}, {57,144}, {57,133}, {57,145}, 
+    {57,134}, {57,135}, {57,143}, {57,142}, {57,139}, {17,120}, {20,55}, 
+    {57,137}, {57,140}, {20,56}, {57,141}, {57,138}, {61,174}, {61,178}, 
+    {23,14}, {65,176}, {23,17}, {61,176}, {61,173}, {61,168}, {61,170}, 
+    {61,171}, {61,164}, {23,13}, {23,12}, {23,8}, {61,167}, {23,15}, {23,16}, 
+    {61,166}, {61,169}, {61,177}, {23,10}, {23,11}, {61,175}, {61,165}, 
+    {65,178}, {25,144}, {65,180}, {61,172}, {65,182}, {25,148}, {65,183}, 
+    {65,179}, {25,145}, {65,175}, {25,147}, {65,172}, {65,177}, {65,181}, 
+    {65,174}, {23,9}, {65,171}, {25,146}, {65,173}, {28,20}, {69,129}, 
+    {28,24}, {28,22}, {25,143}, {69,136}, {69,137}, {28,19}, {69,135}, 
+    {69,138}, {28,21}, {28,18}, {69,131}, {69,128}, {69,133}, {69,130}, 
+    {28,25}, {69,132}, {69,134}, {28,23}, {30,42}, {73,104}, {73,98}, {73,102}, 
+    {73,108}, {73,109}, {73,105}, {73,106}, {73,103}, {73,100}, {30,44}, 
+    {30,41}, {73,99}, {73,101}, {30,43}, {73,107}, {32,6}, {76,106}, {76,101}, 
+    {32,5}, {32,3}, {76,108}, {32,4}, {76,104}, {76,105}, {76,102}, {76,109}, 
+    {79,22}, {32,7}, {76,103}, {76,110}, {76,107}, {79,26}, {79,23}, {33,102}, 
+    {79,27}, {79,29}, {79,28}, {79,24}, {79,25}, {81,99}, {34,106}, {81,62}, 
+    {81,98}, {81,61}, {81,100}, {81,97}, {83,58}, {83,61}, {83,57}, {35,49}, 
+    {83,59}, {83,60}, {83,62}, {35,50}, {35,52}, {35,51}, {84,161}, {84,163}, 
+    {84,162}, {85,182}, {87,117}, {87,186}, {4,156}, {42,50}, {9,128}, 
+    {44,99}, {9,129}, {9,130}, {44,98}, {46,184}, {46,183}, {11,166}, {11,169}, 
+    {11,168}, {11,167}, {46,180}, {46,182}, {46,181}, {49,168}, {14,103}, 
+    {49,172}, {49,171}, {49,170}, {49,166}, {14,102}, {14,106}, {14,109}, 
+    {14,110}, {49,167}, {49,169}, {14,108}, {14,107}, {14,105}, {14,104}, 
+    {53,130}, {53,128}, {53,124}, {17,123}, {53,125}, {17,124}, {53,126}, 
+    {53,127}, {53,129}, {17,125}, {57,149}, {57,148}, {57,147}, {57,146}, 
+    {61,182}, {23,18}, {61,179}, {61,181}, {23,19}, {23,20}, {61,180}, 
+    {66,1}, {65,185}, {65,186}, {25,151}, {25,149}, {25,150}, {66,3}, {66,2}, 
+    {65,190}, {65,189}, {65,188}, {65,187}, {66,0}, {65,184}, {69,139}, 
+    {69,144}, {69,142}, {69,141}, {69,140}, {69,143}, {73,110}, {30,45}, 
+    {32,8}, {76,112}, {32,9}, {76,111}, {79,31}, {79,30}, {33,103}, {81,101}, 
+    {34,107}, {83,97}, {36,97}, {85,183}, {87,119}, {87,118}, {40,104}, 
+    {11,170}, {11,171}, {53,131}, {23,22}, {4,157}, {7,50}, {7,49}, {7,48}, 
+    {44,100}, {9,132}, {9,131}, {11,174}, {46,186}, {46,189}, {46,187}, 
+    {11,172}, {11,173}, {46,185}, {46,188}, {14,117}, {49,179}, {49,181}, 
+    {49,180}, {14,114}, {49,175}, {14,112}, {14,111}, {14,115}, {14,113}, 
+    {14,116}, {49,178}, {49,173}, {49,174}, {49,177}, {49,176}, {53,134}, 
+    {53,135}, {53,133}, {53,132}, {17,126}, {20,61}, {57,150}, {57,152}, 
+    {57,154}, {20,60}, {20,58}, {57,151}, {20,59}, {57,153}, {20,57}, {62,1}, 
+    {61,183}, {61,186}, {61,190}, {23,26}, {61,188}, {61,187}, {61,184}, 
+    {61,185}, {23,24}, {62,0}, {23,23}, {23,28}, {23,27}, {23,25}, {61,189}, 
+    {66,9}, {66,8}, {66,4}, {25,152}, {66,7}, {66,6}, {25,153}, {28,30}, 
+    {69,146}, {28,31}, {28,27}, {28,29}, {28,26}, {28,28}, {73,111}, {30,48}, 
+    {73,113}, {73,112}, {66,5}, {30,50}, {30,49}, {30,46}, {30,47}, {76,117}, 
+    {76,115}, {32,10}, {76,116}, {76,118}, {76,114}, {76,113}, {79,32}, 
+    {33,106}, {33,104}, {33,105}, {81,102}, {81,103}, {34,109}, {34,108}, 
+    {83,99}, {83,100}, {83,98}, {85,184}, {85,185}, {4,158}, {41,8}, {7,51}, 
+    {44,101}, {9,134}, {9,133}, {44,102}, {47,0}, {11,175}, {46,190}, {11,176}, 
+    {14,118}, {49,184}, {49,182}, {49,188}, {14,119}, {49,183}, {49,187}, 
+    {49,185}, {49,186}, {53,136}, {53,138}, {17,127}, {53,137}, {17,128}, 
+    {20,98}, {20,97}, {20,62}, {57,155}, {62,4}, {23,29}, {23,30}, {62,3}, 
+    {62,2}, {66,10}, {25,155}, {25,154}, {66,11}, {66,12}, {28,33}, {28,32}, 
+    {73,117}, {69,147}, {69,149}, {69,148}, {73,116}, {73,114}, {73,118}, 
+    {73,115}, {30,51}, {76,119}, {32,11}, {76,120}, {76,121}, {33,107}, 
+    {33,108}, {35,53}, {36,145}, {4,159}, {47,1}, {49,189}, {14,120}, {18,122}, 
+    {18,121}, {20,100}, {57,157}, {20,99}, {57,156}, {62,5}, {25,156}, 
+    {66,13}, {25,157}, {35,54}, {83,101}, {5,139}, {9,135}, {44,103}, {11,178}, 
+    {11,177}, {47,2}, {47,3}, {50,0}, {50,2}, {14,121}, {50,4}, {50,7}, 
+    {50,5}, {50,6}, {50,3}, {49,190}, {14,122}, {50,8}, {50,1}, {53,147}, 
+    {17,134}, {53,156}, {17,131}, {53,149}, {17,135}, {17,129}, {53,144}, 
+    {53,157}, {53,145}, {53,142}, {17,133}, {17,130}, {53,148}, {53,151}, 
+    {17,132}, {53,152}, {17,136}, {53,153}, {53,143}, {53,150}, {53,154}, 
+    {53,146}, {53,141}, {53,139}, {53,155}, {57,159}, {57,164}, {57,160}, 
+    {57,166}, {20,103}, {53,140}, {57,161}, {20,101}, {57,158}, {20,108}, 
+    {57,162}, {20,107}, {57,163}, {20,109}, {20,104}, {20,110}, {20,105}, 
+    {20,106}, {20,102}, {57,165}, {23,33}, {62,16}, {62,19}, {62,7}, {62,12}, 
+    {62,6}, {23,35}, {62,10}, {62,8}, {23,34}, {62,15}, {62,14}, {62,11}, 
+    {62,13}, {62,9}, {25,161}, {62,18}, {23,31}, {62,17}, {66,29}, {25,168}, 
+    {66,24}, {25,167}, {66,14}, {66,16}, {25,160}, {66,21}, {66,20}, {66,23}, 
+    {25,165}, {66,18}, {66,17}, {25,164}, {25,159}, {66,19}, {25,162}, 
+    {66,25}, {66,27}, {66,22}, {66,15}, {25,163}, {28,41}, {25,158}, {66,28}, 
+    {69,153}, {28,34}, {69,155}, {28,35}, {28,37}, {69,158}, {69,150}, 
+    {25,166}, {69,156}, {69,152}, {23,32}, {28,40}, {28,36}, {28,38}, {28,39}, 
+    {30,54}, {69,157}, {69,151}, {28,42}, {69,154}, {73,128}, {73,123}, 
+    {73,133}, {30,52}, {73,125}, {30,56}, {73,131}, {73,122}, {73,119}, 
+    {73,134}, {32,17}, {30,57}, {73,130}, {73,120}, {30,55}, {73,124}, 
+    {30,59}, {73,121}, {73,126}, {30,58}, {73,129}, {73,132}, {76,139}, 
+    {76,140}, {76,124}, {76,131}, {76,129}, {32,15}, {76,136}, {73,127}, 
+    {76,127}, {76,137}, {32,14}, {76,126}, {76,125}, {76,135}, {76,132}, 
+    {76,134}, {76,122}, {76,138}, {32,12}, {76,133}, {76,142}, {76,130}, 
+    {32,16}, {32,13}, {76,128}, {76,123}, {76,141}, {30,53}, {79,35}, {79,33}, 
+    {79,39}, {33,112}, {79,37}, {79,36}, {33,114}, {79,42}, {33,113}, {79,43}, 
+    {79,40}, {33,110}, {79,41}, {79,34}, {33,111}, {33,109}, {81,107}, 
+    {79,38}, {79,44}, {81,104}, {34,114}, {34,112}, {81,106}, {81,108}, 
+    {81,105}, {34,113}, {34,110}, {34,111}, {34,115}, {35,56}, {83,106}, 
+    {83,105}, {83,103}, {83,102}, {83,104}, {35,55}, {35,57}, {35,176}, 
+    {84,165}, {84,164}, {85,186}, {85,188}, {85,190}, {85,189}, {85,187}, 
+    {36,99}, {36,98}, {36,147}, {36,146}, {36,148}, {86,173}, {86,172}, 
+    {87,187}, {87,120}, {87,188}, {37,24}, {37,25}, {88,45}, {37,62}, {5,140}, 
+    {44,104}, {47,5}, {47,6}, {47,4}, {11,179}, {47,7}, {47,8}, {47,9}, 
+    {50,9}, {50,15}, {50,13}, {14,123}, {50,11}, {50,12}, {50,14}, {50,10}, 
+    {17,137}, {53,158}, {17,139}, {53,160}, {17,138}, {53,159}, {57,168}, 
+    {20,111}, {57,170}, {57,167}, {53,161}, {20,112}, {57,169}, {62,22}, 
+    {23,36}, {62,20}, {23,37}, {62,21}, {23,38}, {25,169}, {66,33}, {66,30}, 
+    {66,32}, {25,170}, {25,171}, {66,31}, {69,159}, {69,160}, {28,43}, 
+    {69,162}, {69,161}, {1,33}, {73,138}, {73,139}, {73,135}, {73,136}, 
+    {30,60}, {30,61}, {73,137}, {32,23}, {32,19}, {32,24}, {32,20}, {32,22}, 
+    {32,18}, {32,21}, {33,115}, {76,143}, {81,110}, {81,109}, {83,107}, 
+    {35,58}, {35,59}, {86,1}, {84,166}, {86,0}, {87,189}, {88,100}, {5,141}, 
+    {7,52}, {44,105}, {9,136}, {11,182}, {47,12}, {11,180}, {47,10}, {11,185}, 
+    {11,181}, {11,186}, {11,184}, {47,11}, {11,183}, {14,127}, {14,126}, 
+    {50,26}, {14,135}, {50,19}, {50,25}, {14,131}, {50,18}, {50,24}, {50,22}, 
+    {14,130}, {14,132}, {50,21}, {14,125}, {50,20}, {14,136}, {14,133}, 
+    {14,137}, {14,134}, {50,17}, {50,16}, {50,23}, {14,128}, {14,124}, 
+    {14,129}, {53,176}, {53,169}, {20,117}, {53,168}, {17,143}, {17,150}, 
+    {17,147}, {17,153}, {17,152}, {17,148}, {53,162}, {53,165}, {53,164}, 
+    {17,144}, {53,166}, {53,175}, {17,145}, {53,163}, {53,172}, {53,173}, 
+    {17,146}, {53,170}, {17,151}, {17,141}, {17,149}, {53,167}, {17,140}, 
+    {53,171}, {53,174}, {57,187}, {57,178}, {20,114}, {57,185}, {57,182}, 
+    {57,174}, {57,183}, {20,116}, {57,175}, {57,171}, {23,44}, {57,180}, 
+    {20,113}, {57,186}, {20,120}, {20,122}, {57,173}, {20,121}, {57,176}, 
+    {20,115}, {57,184}, {57,177}, {57,181}, {57,179}, {20,118}, {57,172}, 
+    {20,123}, {17,142}, {20,119}, {20,124}, {23,40}, {62,29}, {62,31}, 
+    {62,33}, {62,37}, {62,27}, {62,25}, {23,42}, {62,32}, {62,36}, {62,28}, 
+    {62,24}, {62,23}, {62,34}, {62,26}, {62,30}, {23,43}, {23,41}, {62,38}, 
+    {23,39}, {62,35}, {66,50}, {25,174}, {66,42}, {28,56}, {66,52}, {25,177}, 
+    {66,56}, {25,183}, {66,37}, {66,53}, {66,34}, {66,55}, {66,38}, {25,190}, 
+    {25,187}, {66,54}, {66,48}, {25,173}, {25,181}, {25,180}, {25,179}, 
+    {25,185}, {66,35}, {25,186}, {66,49}, {25,182}, {25,172}, {66,51}, 
+    {25,175}, {25,176}, {25,184}, {66,40}, {66,39}, {66,36}, {66,44}, {66,41}, 
+    {66,45}, {25,189}, {66,57}, {25,178}, {66,46}, {66,47}, {66,43}, {25,188}, 
+    {69,167}, {28,48}, {28,57}, {28,53}, {69,164}, {28,50}, {28,54}, {69,176}, 
+    {28,44}, {69,168}, {28,52}, {69,171}, {69,166}, {28,51}, {28,55}, {69,165}, 
+    {28,49}, {69,175}, {28,46}, {69,174}, {69,173}, {28,58}, {68,50}, {28,45}, 
+    {69,172}, {69,163}, {28,59}, {69,170}, {28,47}, {69,169}, {30,98}, 
+    {30,103}, {30,62}, {73,152}, {73,143}, {73,155}, {73,147}, {73,153}, 
+    {30,104}, {30,97}, {73,140}, {73,146}, {73,156}, {73,149}, {73,154}, 
+    {73,142}, {73,150}, {30,99}, {73,148}, {30,102}, {30,101}, {73,144}, 
+    {73,145}, {73,141}, {73,151}, {30,100}, {73,158}, {73,157}, {76,154}, 
+    {76,150}, {32,31}, {76,144}, {32,25}, {32,41}, {76,156}, {32,33}, {32,29}, 
+    {76,147}, {32,36}, {32,39}, {76,158}, {32,28}, {76,149}, {32,37}, {76,160}, 
+    {76,157}, {76,145}, {32,32}, {32,26}, {32,40}, {76,152}, {32,35}, {76,146}, 
+    {32,30}, {76,159}, {32,34}, {32,27}, {76,153}, {32,38}, {76,151}, {76,155}, 
+    {79,46}, {79,52}, {33,121}, {79,55}, {33,116}, {33,117}, {79,47}, {79,54}, 
+    {79,49}, {33,122}, {33,119}, {79,45}, {33,118}, {79,51}, {79,53}, {33,120}, 
+    {79,50}, {79,48}, {81,120}, {34,119}, {34,120}, {34,116}, {34,117}, 
+    {81,116}, {81,114}, {81,118}, {34,122}, {81,119}, {81,112}, {81,111}, 
+    {81,115}, {81,113}, {34,118}, {81,117}, {83,108}, {35,62}, {35,61}, 
+    {83,109}, {83,111}, {83,110}, {35,97}, {84,171}, {84,168}, {84,169}, 
+    {84,167}, {84,170}, {35,178}, {84,172}, {35,177}, {86,2}, {36,149}, 
+    {36,151}, {86,174}, {36,150}, {87,121}, {88,0}, {88,2}, {87,190}, {88,1}, 
+    {37,44}, {5,142}, {11,187}, {49,47}, {14,138}, {17,154}, {57,188}, 
+    {57,189}, {73,159}, {32,42}, {76,161}, {33,123}, {81,122}, {81,121}, 
+    {35,98}, {84,173}, {86,3}, {36,184}, {41,9}, {9,137}, {7,53}, {47,13}, 
+    {50,32}, {50,27}, {50,31}, {50,29}, {14,139}, {50,30}, {50,28}, {53,177}, 
+    {57,190}, {58,0}, {62,41}, {62,42}, {23,46}, {23,47}, {62,40}, {62,43}, 
+    {62,39}, {23,45}, {26,0}, {23,48}, {66,58}, {28,60}, {69,177}, {28,61}, 
+    {30,105}, {73,162}, {73,160}, {73,161}, {76,164}, {76,163}, {76,162}, 
+    {81,123}, {34,121}, {81,124}, {86,4}, {36,185}, {87,122}, {5,143}, 
+    {9,139}, {9,138}, {47,15}, {11,188}, {47,14}, {50,34}, {14,140}, {53,178}, 
+    {50,33}, {17,156}, {53,181}, {53,179}, {53,180}, {17,155}, {58,2}, 
+    {58,3}, {58,1}, {23,51}, {62,45}, {62,44}, {62,46}, {23,50}, {23,49}, 
+    {69,178}, {69,180}, {28,62}, {69,179}, {73,163}, {30,106}, {79,57}, 
+    {79,56}, {34,123}, {81,125}, {34,125}, {34,124}, {83,112}, {84,174}, 
+    {35,179}, {5,144}, {47,16}, {11,189}, {50,37}, {14,142}, {50,36}, {50,35}, 
+    {14,141}, {53,187}, {53,189}, {53,182}, {53,183}, {17,157}, {53,184}, 
+    {17,158}, {53,188}, {53,185}, {53,186}, {17,159}, {20,126}, {20,127}, 
+    {58,4}, {62,47}, {62,48}, {66,62}, {26,3}, {26,1}, {26,2}, {66,59}, 
+    {66,60}, {66,61}, {69,185}, {69,186}, {28,97}, {69,183}, {69,182}, 
+    {69,184}, {69,181}, {30,109}, {73,164}, {30,107}, {30,108}, {76,166}, 
+    {32,43}, {76,165}, {78,104}, {79,58}, {79,59}, {33,124}, {33,125}, 
+    {32,44}, {81,126}, {81,127}, {83,113}, {35,99}, {5,145}, {5,146}, {11,190}, 
+    {9,140}, {14,143}, {47,17}, {20,128}, {5,147}, {12,1}, {47,18}, {47,19}, 
+    {12,0}, {12,2}, {5,148}, {47,20}, {14,145}, {50,38}, {14,147}, {14,144}, 
+    {14,146}, {54,1}, {17,160}, {54,0}, {53,190}, {62,49}, {66,97}, {28,98}, 
+    {30,110}, {73,166}, {73,165}, {76,167}, {84,175}, {5,149}, {42,51}, 
+    {44,106}, {12,3}, {47,21}, {50,40}, {14,148}, {50,39}, {14,149}, {54,3}, 
+    {17,162}, {54,2}, {54,4}, {17,161}, {58,6}, {58,7}, {58,5}, {20,129}, 
+    {23,52}, {23,53}, {26,5}, {66,99}, {66,98}, {26,4}, {69,187}, {69,188}, 
+    {73,167}, {32,48}, {32,47}, {32,45}, {32,46}, {32,49}, {79,60}, {33,127}, 
+    {33,126}, {81,128}, {83,114}, {36,101}, {36,100}, {5,150}, {48,187}, 
+    {23,55}, {20,130}, {23,54}, {26,6}, {5,151}, {40,105}, {5,152}, {5,153}, 
+    {44,107}, {42,54}, {42,55}, {7,55}, {42,52}, {7,54}, {7,57}, {42,53}, 
+    {7,59}, {7,58}, {42,56}, {7,56}, {9,145}, {9,143}, {44,109}, {9,142}, 
+    {9,147}, {9,149}, {9,146}, {44,112}, {44,108}, {9,150}, {9,144}, {7,60}, 
+    {9,148}, {44,111}, {44,110}, {9,141}, {47,27}, {12,7}, {12,8}, {47,29}, 
+    {47,23}, {47,26}, {47,35}, {47,33}, {12,9}, {47,39}, {12,12}, {47,36}, 
+    {47,28}, {47,25}, {58,9}, {47,34}, {12,4}, {47,37}, {47,22}, {47,31}, 
+    {12,6}, {12,11}, {47,32}, {12,15}, {12,13}, {47,24}, {12,10}, {47,30}, 
+    {12,14}, {12,5}, {47,38}, {14,154}, {14,163}, {14,152}, {14,150}, {50,42}, 
+    {14,158}, {14,155}, {50,44}, {14,157}, {50,43}, {50,41}, {50,46}, {14,162}, 
+    {14,160}, {58,8}, {50,47}, {50,45}, {14,151}, {14,153}, {14,156}, {14,159}, 
+    {14,161}, {54,14}, {17,164}, {54,5}, {54,7}, {54,8}, {54,16}, {54,12}, 
+    {54,10}, {54,13}, {54,17}, {17,165}, {17,169}, {54,6}, {54,15}, {17,167}, 
+    {17,166}, {54,11}, {54,9}, {17,163}, {17,168}, {20,136}, {58,17}, {58,15}, 
+    {20,138}, {58,10}, {62,97}, {20,137}, {58,14}, {58,11}, {20,133}, {20,139}, 
+    {58,16}, {20,135}, {58,13}, {26,7}, {20,134}, {58,12}, {20,140}, {20,132}, 
+    {20,131}, {62,55}, {62,53}, {62,59}, {62,51}, {62,98}, {62,56}, {62,50}, 
+    {23,59}, {23,99}, {62,61}, {62,54}, {23,62}, {23,60}, {62,62}, {23,57}, 
+    {23,56}, {62,57}, {23,61}, {20,141}, {62,60}, {62,52}, {23,58}, {23,97}, 
+    {23,98}, {26,12}, {26,8}, {26,13}, {66,102}, {66,101}, {66,103}, {26,10}, 
+    {66,100}, {26,11}, {66,106}, {66,105}, {66,104}, {26,9}, {70,1}, {70,4}, 
+    {28,104}, {70,3}, {28,103}, {28,99}, {28,100}, {28,101}, {70,0}, {69,190}, 
+    {28,102}, {70,2}, {69,189}, {73,169}, {73,179}, {30,113}, {30,112}, 
+    {73,173}, {73,175}, {73,170}, {73,174}, {73,168}, {73,177}, {30,111}, 
+    {73,176}, {73,172}, {73,178}, {73,171}, {32,52}, {76,168}, {76,174}, 
+    {32,56}, {32,58}, {32,55}, {32,54}, {32,53}, {32,51}, {76,169}, {76,172}, 
+    {32,50}, {76,173}, {32,57}, {76,171}, {76,170}, {33,128}, {33,129}, 
+    {79,97}, {79,61}, {79,62}, {81,130}, {81,129}, {34,126}, {83,116}, 
+    {35,100}, {83,115}, {84,176}, {86,5}, {36,102}, {88,3}, {88,4}, {36,152}, 
+    {5,154}, {9,151}, {58,18}, {26,14}, {32,59}, {76,175}, {5,155}, {14,165}, 
+    {14,164}, {58,19}, {73,180}, {5,156}, {12,16}, {58,20}, {58,21}, {58,22}, 
+    {26,15}, {30,114}, {5,157}, {9,152}, {47,40}, {14,166}, {50,48}, {17,170}, 
+    {58,23}, {23,100}, {26,16}, {30,115}, {32,60}, {33,130}, {83,117}, 
+    {5,158}, {9,153}, {14,167}, {54,18}, {20,142}, {26,17}, {66,107}, {70,5}, 
+    {5,159}, {20,143}, {62,99}, {26,18}, {5,160}, {44,113}, {47,41}, {12,17}, 
+    {50,50}, {14,170}, {14,168}, {14,169}, {14,171}, {50,49}, {54,23}, 
+    {54,20}, {54,22}, {17,171}, {17,173}, {17,172}, {54,19}, {17,174}, 
+    {54,21}, {58,24}, {58,25}, {58,26}, {62,102}, {62,103}, {62,101}, {62,104}, 
+    {23,101}, {62,100}, {26,19}, {70,10}, {70,6}, {70,9}, {70,11}, {70,8}, 
+    {70,7}, {73,181}, {73,182}, {73,183}, {30,116}, {30,117}, {76,177}, 
+    {76,176}, {76,178}, {79,99}, {79,98}, {81,132}, {81,133}, {81,131}, 
+    {35,101}, {83,118}, {83,119}, {86,6}, {86,175}, {87,123}, {5,161}, 
+    {7,61}, {32,61}, {5,162}, {54,24}, {58,27}, {37,1}, {41,10}, {41,11}, 
+    {41,13}, {5,163}, {41,14}, {41,12}, {42,98}, {42,99}, {42,59}, {42,97}, 
+    {7,97}, {7,98}, {42,60}, {42,58}, {42,57}, {42,61}, {7,62}, {42,62}, 
+    {47,42}, {44,118}, {9,156}, {44,117}, {44,119}, {9,155}, {44,124}, 
+    {9,159}, {44,114}, {44,128}, {44,134}, {9,166}, {44,131}, {9,163}, 
+    {44,121}, {44,127}, {44,129}, {44,116}, {9,162}, {9,157}, {44,122}, 
+    {9,164}, {9,167}, {9,161}, {9,154}, {44,126}, {44,120}, {44,133}, {9,169}, 
+    {9,165}, {9,160}, {44,125}, {14,172}, {44,123}, {9,158}, {9,168}, {44,115}, 
+    {44,130}, {44,132}, {12,34}, {12,28}, {12,36}, {12,33}, {47,49}, {47,52}, 
+    {12,29}, {47,43}, {12,22}, {12,32}, {12,35}, {12,37}, {47,98}, {47,55}, 
+    {12,21}, {47,97}, {12,25}, {12,23}, {12,18}, {47,47}, {47,62}, {47,51}, 
+    {47,54}, {47,101}, {12,38}, {47,61}, {12,30}, {47,56}, {47,100}, {47,53}, 
+    {47,57}, {47,60}, {47,45}, {47,99}, {47,59}, {47,44}, {47,48}, {12,31}, 
+    {12,26}, {12,19}, {12,24}, {12,20}, {12,39}, {47,46}, {50,101}, {12,27}, 
+    {47,58}, {45,1}, {50,104}, {14,186}, {50,54}, {50,99}, {50,61}, {50,114}, 
+    {50,106}, {50,62}, {50,105}, {50,56}, {50,60}, {50,117}, {14,189}, 
+    {50,109}, {50,100}, {14,173}, {50,115}, {50,52}, {50,108}, {14,188}, 
+    {14,183}, {50,51}, {14,181}, {14,180}, {14,185}, {50,107}, {14,177}, 
+    {14,184}, {47,50}, {58,28}, {50,102}, {50,58}, {14,187}, {50,59}, {50,97}, 
+    {14,190}, {50,53}, {50,111}, {50,110}, {50,118}, {14,179}, {14,176}, 
+    {50,116}, {50,112}, {50,103}, {50,98}, {14,182}, {14,178}, {50,55}, 
+    {14,174}, {50,113}, {14,175}, {50,57}, {54,30}, {54,32}, {54,37}, {54,57}, 
+    {17,188}, {17,178}, {54,29}, {17,189}, {17,190}, {54,40}, {54,47}, 
+    {54,53}, {54,34}, {54,41}, {18,0}, {54,55}, {54,50}, {17,186}, {17,184}, 
+    {54,46}, {54,42}, {54,28}, {17,175}, {54,33}, {54,25}, {17,183}, {17,185}, 
+    {54,38}, {54,35}, {17,180}, {54,51}, {17,177}, {54,36}, {54,58}, {54,44}, 
+    {54,43}, {17,176}, {17,187}, {17,179}, {54,26}, {54,31}, {54,48}, {54,54}, 
+    {18,1}, {54,27}, {54,39}, {54,45}, {17,182}, {54,56}, {54,49}, {54,52}, 
+    {17,181}, {58,44}, {58,32}, {20,151}, {58,61}, {58,103}, {58,106}, 
+    {20,149}, {58,40}, {58,99}, {58,41}, {58,55}, {20,162}, {58,51}, {20,159}, 
+    {58,52}, {58,29}, {58,100}, {20,168}, {58,97}, {58,53}, {58,108}, {58,48}, 
+    {62,136}, {58,111}, {20,166}, {58,46}, {58,58}, {20,169}, {20,148}, 
+    {58,50}, {58,109}, {58,43}, {58,36}, {58,47}, {58,35}, {58,33}, {20,144}, 
+    {58,101}, {58,42}, {58,104}, {58,105}, {20,152}, {20,157}, {20,153}, 
+    {20,161}, {58,62}, {20,154}, {58,54}, {58,38}, {20,146}, {58,30}, {58,98}, 
+    {58,107}, {58,37}, {20,160}, {58,112}, {58,49}, {58,45}, {20,145}, 
+    {20,165}, {58,60}, {20,167}, {58,56}, {20,156}, {20,150}, {20,158}, 
+    {20,147}, {20,164}, {58,57}, {58,39}, {58,59}, {58,34}, {58,102}, {58,110}, 
+    {58,31}, {62,135}, {62,157}, {23,21}, {62,140}, {62,138}, {62,117}, 
+    {23,105}, {62,133}, {62,153}, {62,129}, {23,113}, {62,152}, {62,127}, 
+    {20,163}, {62,143}, {62,128}, {62,150}, {23,112}, {23,104}, {62,106}, 
+    {62,114}, {62,139}, {62,131}, {62,156}, {62,134}, {23,118}, {62,151}, 
+    {23,109}, {62,137}, {62,145}, {62,118}, {62,144}, {62,161}, {62,113}, 
+    {62,146}, {62,159}, {62,107}, {20,155}, {62,121}, {62,120}, {23,111}, 
+    {62,124}, {62,126}, {62,141}, {62,158}, {23,114}, {23,115}, {62,112}, 
+    {23,107}, {62,116}, {62,154}, {23,116}, {23,108}, {23,110}, {23,117}, 
+    {62,160}, {62,147}, {62,142}, {62,123}, {62,122}, {23,106}, {62,108}, 
+    {23,103}, {62,132}, {62,109}, {62,130}, {62,119}, {62,155}, {23,102}, 
+    {62,115}, {62,111}, {62,149}, {62,110}, {26,32}, {66,147}, {66,130}, 
+    {66,108}, {66,138}, {26,24}, {66,123}, {66,133}, {26,27}, {66,126}, 
+    {26,25}, {66,111}, {66,141}, {66,110}, {66,129}, {66,109}, {66,127}, 
+    {66,136}, {66,134}, {66,122}, {66,117}, {66,115}, {66,116}, {66,135}, 
+    {66,146}, {66,124}, {26,26}, {66,119}, {66,139}, {26,29}, {66,118}, 
+    {66,112}, {66,128}, {26,33}, {26,21}, {26,30}, {66,120}, {66,114}, 
+    {26,23}, {62,148}, {26,22}, {66,131}, {26,20}, {26,35}, {26,28}, {66,132}, 
+    {66,121}, {66,113}, {66,140}, {66,125}, {26,34}, {66,144}, {26,31}, 
+    {66,143}, {66,137}, {66,142}, {66,145}, {70,51}, {70,52}, {70,39}, 
+    {70,38}, {70,34}, {28,116}, {28,108}, {70,54}, {70,53}, {62,105}, {70,31}, 
+    {70,35}, {70,29}, {70,48}, {70,33}, {70,55}, {70,26}, {70,24}, {70,36}, 
+    {70,46}, {70,41}, {28,118}, {70,15}, {70,45}, {28,119}, {62,125}, {70,27}, 
+    {70,18}, {70,21}, {70,59}, {70,28}, {70,19}, {70,17}, {70,14}, {28,112}, 
+    {70,37}, {28,111}, {28,115}, {70,32}, {70,40}, {28,105}, {70,56}, {70,60}, 
+    {28,107}, {70,23}, {70,43}, {70,47}, {70,20}, {70,57}, {28,114}, {28,113}, 
+    {70,12}, {28,117}, {70,50}, {70,22}, {70,42}, {70,16}, {70,30}, {70,25}, 
+    {28,109}, {28,110}, {70,44}, {70,61}, {70,58}, {70,49}, {70,13}, {28,106}, 
+    {74,9}, {74,0}, {74,3}, {30,123}, {74,5}, {73,185}, {74,1}, {74,7}, 
+    {30,120}, {30,124}, {30,118}, {73,187}, {74,12}, {74,6}, {73,188}, 
+    {74,21}, {74,15}, {73,184}, {77,6}, {73,190}, {30,119}, {74,10}, {74,20}, 
+    {30,127}, {74,17}, {73,189}, {74,4}, {74,8}, {74,2}, {74,22}, {74,19}, 
+    {74,16}, {30,121}, {30,122}, {30,126}, {73,186}, {74,23}, {30,125}, 
+    {74,13}, {74,11}, {74,14}, {77,19}, {77,0}, {77,5}, {77,18}, {77,4}, 
+    {76,187}, {77,1}, {32,98}, {76,180}, {77,13}, {77,15}, {76,179}, {32,97}, 
+    {77,17}, {77,9}, {32,104}, {77,16}, {77,2}, {32,106}, {76,185}, {74,18}, 
+    {77,10}, {77,7}, {76,181}, {77,21}, {32,100}, {32,101}, {76,183}, {77,8}, 
+    {77,20}, {77,11}, {76,189}, {32,103}, {32,99}, {77,12}, {76,190}, {77,22}, 
+    {76,184}, {77,3}, {77,14}, {76,186}, {76,188}, {33,139}, {76,182}, 
+    {32,105}, {33,132}, {32,62}, {32,102}, {33,136}, {79,115}, {79,105}, 
+    {79,100}, {79,106}, {79,116}, {79,120}, {79,119}, {33,138}, {33,137}, 
+    {79,107}, {79,121}, {79,110}, {79,102}, {79,104}, {79,103}, {79,109}, 
+    {79,114}, {79,101}, {79,108}, {79,113}, {33,135}, {79,111}, {33,133}, 
+    {79,112}, {33,131}, {33,134}, {81,149}, {79,117}, {34,130}, {81,141}, 
+    {81,145}, {81,137}, {81,140}, {81,148}, {34,128}, {81,153}, {81,146}, 
+    {81,138}, {81,154}, {81,147}, {34,131}, {34,132}, {81,151}, {81,139}, 
+    {34,127}, {34,129}, {81,134}, {81,142}, {81,136}, {81,152}, {81,150}, 
+    {81,135}, {81,143}, {83,126}, {34,133}, {81,144}, {35,103}, {35,105}, 
+    {35,102}, {83,131}, {83,123}, {83,121}, {83,125}, {83,122}, {83,127}, 
+    {83,129}, {35,106}, {35,108}, {83,128}, {35,109}, {35,107}, {83,130}, 
+    {35,104}, {35,180}, {84,177}, {84,183}, {35,182}, {83,124}, {84,182}, 
+    {84,189}, {84,180}, {84,187}, {84,186}, {83,120}, {84,181}, {79,118}, 
+    {84,190}, {84,179}, {84,184}, {84,188}, {84,178}, {86,10}, {35,181}, 
+    {84,185}, {86,180}, {86,11}, {86,9}, {86,7}, {86,8}, {86,12}, {36,153}, 
+    {86,178}, {86,176}, {86,181}, {86,179}, {86,182}, {36,154}, {86,177}, 
+    {87,124}, {88,5}, {88,6}, {88,7}, {88,135}, {88,125}, {41,15}, {9,170}, 
+    {12,40}, {50,120}, {50,119}, {15,0}, {18,2}, {54,60}, {54,59}, {20,170}, 
+    {23,120}, {23,119}, {23,121}, {66,148}, {70,62}, {74,24}, {74,26}, 
+    {74,25}, {32,107}, {77,23}, {79,122}, {88,101}, {5,164}, {44,137}, 
+    {44,138}, {44,136}, {44,135}, {9,171}, {47,105}, {47,103}, {47,102}, 
+    {12,41}, {12,43}, {12,42}, {47,104}, {50,132}, {50,129}, {50,127}, 
+    {15,1}, {50,130}, {15,6}, {50,124}, {50,139}, {50,141}, {50,125}, {15,3}, 
+    {50,142}, {50,137}, {50,123}, {50,128}, {50,138}, {50,134}, {50,131}, 
+    {15,8}, {50,140}, {50,126}, {50,135}, {50,121}, {15,7}, {15,4}, {50,133}, 
+    {50,136}, {50,122}, {15,5}, {15,2}, {18,12}, {54,101}, {18,11}, {54,104}, 
+    {54,107}, {18,8}, {18,6}, {54,62}, {54,105}, {54,103}, {54,100}, {54,108}, 
+    {54,109}, {54,111}, {54,112}, {54,61}, {18,5}, {54,98}, {54,97}, {54,110}, 
+    {18,7}, {54,99}, {18,9}, {18,4}, {54,102}, {18,13}, {18,10}, {54,106}, 
+    {20,177}, {58,127}, {58,116}, {20,174}, {62,167}, {58,125}, {58,113}, 
+    {20,172}, {58,118}, {20,175}, {58,122}, {58,120}, {20,178}, {20,171}, 
+    {58,114}, {58,117}, {20,176}, {58,115}, {58,126}, {58,124}, {58,119}, 
+    {58,121}, {58,123}, {20,173}, {62,168}, {62,174}, {62,164}, {62,170}, 
+    {23,122}, {62,166}, {23,128}, {23,127}, {23,126}, {62,173}, {23,129}, 
+    {23,130}, {62,163}, {62,176}, {23,131}, {23,125}, {23,124}, {62,172}, 
+    {23,132}, {62,162}, {62,165}, {62,175}, {62,171}, {66,180}, {66,169}, 
+    {23,123}, {26,42}, {66,157}, {66,178}, {66,158}, {26,37}, {66,155}, 
+    {66,164}, {66,156}, {26,39}, {66,150}, {66,177}, {26,40}, {66,174}, 
+    {66,175}, {66,151}, {26,45}, {66,166}, {66,160}, {66,167}, {66,154}, 
+    {66,179}, {66,171}, {66,165}, {66,149}, {26,41}, {66,172}, {26,44}, 
+    {66,176}, {66,170}, {26,38}, {66,168}, {66,162}, {26,36}, {66,153}, 
+    {66,161}, {66,173}, {66,159}, {66,163}, {28,129}, {62,169}, {70,114}, 
+    {70,123}, {70,113}, {70,109}, {70,106}, {28,130}, {70,104}, {26,43}, 
+    {70,97}, {28,128}, {70,103}, {28,127}, {70,108}, {70,105}, {70,121}, 
+    {70,116}, {70,110}, {70,115}, {28,123}, {70,107}, {70,126}, {70,98}, 
+    {70,99}, {70,122}, {28,124}, {70,127}, {28,126}, {70,128}, {70,112}, 
+    {66,152}, {70,118}, {70,111}, {70,120}, {70,117}, {70,102}, {28,121}, 
+    {70,125}, {28,122}, {70,100}, {28,125}, {74,36}, {70,119}, {70,124}, 
+    {74,33}, {28,120}, {30,128}, {74,43}, {74,39}, {74,37}, {74,32}, {74,47}, 
+    {30,132}, {74,28}, {74,40}, {74,41}, {74,31}, {74,30}, {74,44}, {74,34}, 
+    {74,29}, {74,35}, {74,46}, {74,27}, {74,45}, {74,42}, {30,130}, {30,129}, 
+    {30,131}, {74,38}, {79,139}, {77,25}, {32,113}, {77,29}, {77,26}, {77,33}, 
+    {77,39}, {77,28}, {77,48}, {32,110}, {77,42}, {77,31}, {77,43}, {77,38}, 
+    {77,45}, {77,30}, {32,115}, {32,114}, {77,32}, {77,46}, {77,24}, {77,44}, 
+    {32,108}, {77,36}, {77,35}, {77,40}, {77,27}, {32,112}, {32,116}, {77,34}, 
+    {77,41}, {32,117}, {77,37}, {32,109}, {32,111}, {79,135}, {79,133}, 
+    {79,140}, {79,137}, {79,141}, {79,126}, {79,134}, {79,145}, {77,47}, 
+    {79,130}, {33,143}, {70,101}, {79,125}, {79,138}, {79,132}, {79,129}, 
+    {79,124}, {79,123}, {79,144}, {79,128}, {79,127}, {33,141}, {79,136}, 
+    {33,140}, {33,142}, {79,131}, {79,143}, {81,158}, {81,159}, {34,137}, 
+    {81,156}, {34,134}, {81,164}, {34,138}, {81,166}, {81,155}, {79,142}, 
+    {81,168}, {81,157}, {34,135}, {81,163}, {81,165}, {81,160}, {81,167}, 
+    {81,162}, {81,161}, {34,136}, {83,133}, {83,134}, {83,136}, {35,110}, 
+    {35,111}, {83,137}, {83,135}, {83,132}, {85,2}, {85,5}, {85,1}, {35,186}, 
+    {85,3}, {35,185}, {35,184}, {35,183}, {85,4}, {86,17}, {86,15}, {86,14}, 
+    {85,0}, {86,16}, {85,6}, {86,13}, {86,185}, {86,151}, {86,183}, {36,155}, 
+    {86,184}, {86,186}, {87,127}, {36,186}, {87,126}, {87,125}, {36,187}, 
+    {37,26}, {88,46}, {88,103}, {88,102}, {88,104}, {5,165}, {47,106}, 
+    {50,143}, {50,144}, {58,128}, {85,7}, {87,128}, {5,166}, {12,44}, {47,107}, 
+    {54,113}, {18,14}, {58,130}, {58,129}, {20,179}, {23,133}, {70,129}, 
+    {28,131}, {28,132}, {30,133}, {36,188}, {5,167}, {47,108}, {9,173}, 
+    {47,110}, {47,109}, {12,45}, {50,145}, {50,152}, {15,9}, {50,150}, 
+    {50,148}, {50,155}, {50,146}, {50,147}, {15,10}, {15,14}, {50,156}, 
+    {15,13}, {50,154}, {50,151}, {50,149}, {15,11}, {15,12}, {50,153}, 
+    {18,16}, {54,114}, {18,21}, {54,130}, {18,20}, {54,132}, {54,120}, 
+    {18,18}, {54,131}, {54,115}, {18,19}, {54,127}, {54,123}, {54,125}, 
+    {54,119}, {54,126}, {18,15}, {54,122}, {54,121}, {54,117}, {54,128}, 
+    {54,124}, {54,116}, {54,118}, {18,17}, {54,129}, {20,182}, {58,141}, 
+    {58,137}, {58,139}, {58,134}, {58,133}, {58,131}, {58,138}, {58,140}, 
+    {58,136}, {58,135}, {20,180}, {20,181}, {58,143}, {23,141}, {62,178}, 
+    {62,184}, {62,179}, {62,180}, {62,185}, {23,143}, {23,135}, {23,142}, 
+    {62,177}, {58,132}, {23,138}, {23,136}, {62,183}, {62,182}, {23,137}, 
+    {23,139}, {62,181}, {23,134}, {23,140}, {66,182}, {26,52}, {67,2}, 
+    {67,1}, {66,187}, {26,54}, {67,0}, {66,183}, {66,184}, {26,46}, {26,48}, 
+    {66,189}, {66,181}, {26,50}, {26,49}, {66,185}, {66,190}, {66,188}, 
+    {26,51}, {66,186}, {58,142}, {26,47}, {70,130}, {70,137}, {28,134}, 
+    {70,141}, {28,138}, {70,133}, {70,131}, {70,140}, {28,133}, {70,139}, 
+    {28,135}, {28,136}, {70,132}, {28,137}, {70,138}, {70,134}, {70,135}, 
+    {70,136}, {26,53}, {74,48}, {74,60}, {30,138}, {74,55}, {74,57}, {30,136}, 
+    {74,49}, {74,53}, {74,56}, {30,134}, {30,137}, {74,59}, {74,51}, {74,52}, 
+    {74,58}, {74,50}, {74,54}, {30,135}, {77,50}, {77,49}, {32,119}, {77,55}, 
+    {32,121}, {32,118}, {77,51}, {32,122}, {77,52}, {77,53}, {77,56}, {32,120}, 
+    {79,150}, {79,153}, {79,147}, {79,149}, {79,148}, {79,151}, {79,152}, 
+    {77,54}, {79,146}, {34,141}, {81,172}, {81,175}, {81,177}, {81,170}, 
+    {81,171}, {81,174}, {81,176}, {34,142}, {34,140}, {34,139}, {81,173}, 
+    {81,169}, {83,138}, {35,112}, {83,139}, {85,9}, {35,187}, {85,11}, 
+    {35,188}, {85,8}, {85,10}, {36,104}, {86,18}, {36,103}, {86,189}, {86,188}, 
+    {86,187}, {88,8}, {88,9}, {88,11}, {88,10}, {41,16}, {5,168}, {12,46}, 
+    {54,133}, {20,183}, {62,186}, {33,144}, {81,178}, {7,99}, {18,23}, 
+    {18,22}, {58,144}, {20,184}, {58,146}, {58,145}, {62,187}, {23,144}, 
+    {67,3}, {67,6}, {67,5}, {67,4}, {70,142}, {70,144}, {70,143}, {30,140}, 
+    {30,139}, {32,123}, {77,57}, {77,59}, {77,58}, {33,145}, {81,180}, 
+    {81,179}, {83,140}, {35,113}, {35,189}, {86,20}, {86,19}, {37,27}, 
+    {7,100}, {47,111}, {12,47}, {54,136}, {54,134}, {54,135}, {58,148}, 
+    {58,149}, {63,3}, {58,147}, {62,188}, {63,1}, {63,0}, {63,2}, {23,145}, 
+    {62,190}, {62,189}, {63,4}, {67,9}, {67,7}, {67,8}, {70,147}, {70,145}, 
+    {70,146}, {74,61}, {77,60}, {77,61}, {33,146}, {81,181}, {83,141}, 
+    {35,114}, {85,12}, {86,21}, {36,105}, {86,190}, {88,12}, {7,101}, {12,49}, 
+    {12,50}, {47,112}, {47,113}, {12,48}, {15,20}, {15,18}, {15,17}, {15,24}, 
+    {15,16}, {15,25}, {50,157}, {15,22}, {15,19}, {15,23}, {15,21}, {15,15}, 
+    {18,31}, {18,25}, {54,140}, {18,30}, {18,32}, {18,26}, {18,27}, {54,138}, 
+    {18,24}, {54,139}, {18,29}, {54,137}, {18,28}, {21,4}, {21,6}, {58,152}, 
+    {21,5}, {20,185}, {20,189}, {23,164}, {63,9}, {58,154}, {20,190}, {58,157}, 
+    {58,158}, {21,3}, {58,160}, {58,162}, {58,163}, {58,151}, {58,150}, 
+    {58,164}, {21,2}, {58,161}, {58,159}, {21,0}, {20,187}, {21,7}, {58,155}, 
+    {58,156}, {58,153}, {21,1}, {20,188}, {20,186}, {63,8}, {23,159}, {23,154}, 
+    {23,149}, {23,165}, {23,150}, {23,146}, {23,161}, {23,158}, {23,160}, 
+    {23,151}, {23,156}, {23,147}, {23,148}, {63,16}, {63,13}, {63,5}, {63,10}, 
+    {23,162}, {63,17}, {23,163}, {23,153}, {63,7}, {63,15}, {63,11}, {63,14}, 
+    {63,12}, {23,157}, {63,6}, {23,152}, {67,12}, {26,56}, {26,59}, {67,14}, 
+    {26,101}, {67,13}, {26,61}, {28,143}, {67,15}, {26,100}, {67,11}, {26,102}, 
+    {26,57}, {23,155}, {26,60}, {26,58}, {26,62}, {26,98}, {26,55}, {26,103}, 
+    {26,99}, {26,97}, {67,10}, {28,150}, {28,146}, {28,153}, {70,150}, 
+    {28,154}, {70,162}, {70,155}, {28,139}, {70,163}, {70,157}, {28,149}, 
+    {70,158}, {28,148}, {70,161}, {28,142}, {70,159}, {70,149}, {28,141}, 
+    {74,106}, {28,147}, {28,144}, {28,152}, {70,148}, {70,152}, {28,140}, 
+    {70,151}, {70,153}, {70,154}, {28,151}, {70,156}, {70,160}, {70,164}, 
+    {28,155}, {30,146}, {74,101}, {74,107}, {74,104}, {74,62}, {74,108}, 
+    {74,97}, {74,103}, {30,141}, {30,147}, {74,109}, {30,143}, {30,153}, 
+    {30,148}, {74,111}, {74,105}, {30,144}, {74,98}, {30,154}, {74,99}, 
+    {74,100}, {30,155}, {30,152}, {28,145}, {30,142}, {74,112}, {30,156}, 
+    {30,149}, {74,110}, {30,145}, {30,150}, {30,151}, {32,131}, {77,100}, 
+    {77,109}, {77,106}, {77,108}, {32,128}, {77,101}, {77,107}, {32,124}, 
+    {77,103}, {32,132}, {77,99}, {77,104}, {77,111}, {74,102}, {77,105}, 
+    {77,98}, {32,125}, {77,97}, {32,126}, {77,112}, {32,127}, {77,110}, 
+    {32,130}, {77,62}, {32,129}, {77,102}, {79,156}, {79,170}, {79,165}, 
+    {79,167}, {79,155}, {33,147}, {79,154}, {33,150}, {33,149}, {79,169}, 
+    {79,161}, {79,158}, {79,164}, {79,157}, {79,159}, {79,168}, {79,166}, 
+    {33,148}, {79,173}, {79,171}, {79,162}, {79,172}, {79,163}, {81,185}, 
+    {34,143}, {82,1}, {85,15}, {34,150}, {79,160}, {81,183}, {34,146}, 
+    {81,184}, {81,189}, {34,148}, {34,149}, {81,182}, {82,0}, {82,2}, {81,186}, 
+    {81,188}, {81,190}, {81,187}, {82,3}, {34,145}, {34,151}, {34,147}, 
+    {34,144}, {83,144}, {35,119}, {83,142}, {83,146}, {83,147}, {35,117}, 
+    {83,148}, {83,145}, {83,143}, {35,120}, {35,116}, {83,149}, {35,118}, 
+    {35,115}, {35,190}, {36,0}, {85,14}, {85,13}, {85,16}, {85,17}, {36,1}, 
+    {86,22}, {86,27}, {36,106}, {86,24}, {86,23}, {86,26}, {86,25}, {87,3}, 
+    {36,156}, {87,2}, {87,0}, {87,1}, {36,190}, {36,189}, {87,129}, {87,130}, 
+    {37,0}, {88,13}, {88,14}, {37,39}, {37,45}, {88,105}, {88,136}, {7,102}, 
+    {54,141}, {54,142}, {63,18}, {67,16}, {70,165}, {32,134}, {32,133}, 
+    {79,174}, {82,4}, {87,4}, {7,103}, {50,158}, {15,26}, {18,33}, {63,20}, 
+    {63,19}, {28,156}, {70,166}, {28,157}, {77,113}, {33,151}, {37,54}, 
+    {7,104}, {44,139}, {50,159}, {18,34}, {54,143}, {54,144}, {58,165}, 
+    {21,8}, {23,166}, {63,22}, {63,21}, {63,23}, {67,17}, {67,18}, {26,104}, 
+    {30,157}, {28,158}, {30,158}, {77,117}, {77,114}, {77,116}, {77,115}, 
+    {32,135}, {79,175}, {82,6}, {82,5}, {42,100}, {15,28}, {15,27}, {50,160}, 
+    {54,145}, {58,167}, {58,166}, {21,9}, {63,25}, {63,26}, {63,24}, {23,168}, 
+    {23,167}, {26,106}, {26,105}, {70,167}, {74,115}, {74,113}, {74,114}, 
+    {30,159}, {77,119}, {77,118}, {79,178}, {79,177}, {79,176}, {82,7}, 
+    {88,106}, {7,105}, {12,51}, {12,52}, {15,29}, {15,30}, {50,162}, {50,161}, 
+    {54,146}, {18,40}, {18,38}, {18,35}, {18,39}, {18,37}, {18,36}, {21,10}, 
+    {58,170}, {23,173}, {21,12}, {21,17}, {58,172}, {21,19}, {21,18}, {21,21}, 
+    {58,171}, {58,168}, {21,15}, {21,11}, {21,13}, {58,169}, {21,20}, {21,16}, 
+    {21,14}, {23,175}, {23,174}, {23,172}, {23,176}, {23,170}, {23,171}, 
+    {23,169}, {63,27}, {67,20}, {26,108}, {26,109}, {26,107}, {67,19}, 
+    {67,21}, {70,170}, {70,172}, {28,167}, {70,173}, {28,160}, {70,169}, 
+    {28,159}, {28,169}, {28,165}, {28,166}, {28,162}, {70,168}, {28,161}, 
+    {70,174}, {70,171}, {28,168}, {28,163}, {28,164}, {74,117}, {74,119}, 
+    {74,118}, {74,120}, {30,160}, {74,116}, {32,139}, {77,120}, {32,136}, 
+    {32,140}, {32,138}, {32,137}, {79,179}, {79,182}, {79,181}, {79,180}, 
+    {33,152}, {82,8}, {82,9}, {34,152}, {82,10}, {34,153}, {35,122}, {35,121}, 
+    {85,18}, {36,2}, {85,19}, {86,28}, {36,107}, {36,108}, {87,5}, {37,2}, 
+    {7,106}, {18,42}, {18,41}, {63,28}, {63,29}, {26,110}, {74,121}, {28,170}, 
+    {74,122}, {77,121}, {7,107}, {47,114}, {12,54}, {12,53}, {50,163}, 
+    {15,31}, {50,164}, {54,149}, {54,148}, {54,147}, {58,174}, {21,24}, 
+    {58,173}, {21,23}, {58,175}, {21,22}, {63,31}, {63,34}, {63,32}, {63,33}, 
+    {63,37}, {63,30}, {63,38}, {63,35}, {63,36}, {26,112}, {67,22}, {26,111}, 
+    {70,178}, {70,176}, {28,171}, {70,175}, {70,177}, {28,172}, {74,123}, 
+    {74,124}, {32,141}, {82,12}, {82,14}, {82,11}, {82,13}, {83,150}, {85,20}, 
+    {88,47}, {7,108}, {12,55}, {50,165}, {50,167}, {50,166}, {54,152}, 
+    {18,44}, {54,150}, {18,43}, {54,153}, {54,154}, {54,151}, {58,187}, 
+    {21,32}, {58,179}, {58,185}, {21,27}, {21,30}, {58,178}, {21,25}, {58,182}, 
+    {63,44}, {21,29}, {58,177}, {58,183}, {58,180}, {58,186}, {58,176}, 
+    {58,184}, {21,28}, {21,31}, {58,181}, {21,26}, {23,178}, {63,40}, {23,177}, 
+    {63,47}, {63,46}, {23,184}, {23,185}, {63,48}, {23,179}, {63,45}, {23,183}, 
+    {63,50}, {63,41}, {63,43}, {23,180}, {63,39}, {63,42}, {63,49}, {23,181}, 
+    {63,51}, {23,182}, {26,113}, {67,27}, {67,33}, {67,25}, {67,34}, {67,24}, 
+    {67,29}, {67,35}, {67,32}, {67,31}, {67,30}, {67,23}, {67,28}, {67,26}, 
+    {28,177}, {28,174}, {70,187}, {71,1}, {71,3}, {71,0}, {70,184}, {70,186}, 
+    {71,5}, {71,2}, {70,188}, {71,6}, {70,185}, {71,4}, {28,175}, {28,181}, 
+    {28,179}, {70,179}, {28,180}, {28,176}, {70,180}, {70,182}, {70,181}, 
+    {70,189}, {70,190}, {28,178}, {28,173}, {70,183}, {74,134}, {30,162}, 
+    {74,125}, {30,163}, {30,166}, {74,130}, {74,127}, {30,165}, {74,131}, 
+    {74,132}, {74,126}, {74,135}, {74,128}, {74,133}, {30,164}, {30,161}, 
+    {74,129}, {77,127}, {32,144}, {32,142}, {32,145}, {32,143}, {77,126}, 
+    {77,123}, {77,122}, {77,125}, {77,124}, {80,5}, {33,158}, {79,187}, 
+    {79,186}, {33,153}, {80,1}, {80,0}, {79,183}, {80,3}, {79,188}, {33,157}, 
+    {79,185}, {80,2}, {79,184}, {33,154}, {33,156}, {79,189}, {33,155}, 
+    {79,190}, {80,4}, {82,18}, {34,158}, {82,15}, {82,19}, {34,155}, {82,17}, 
+    {34,160}, {34,157}, {82,16}, {34,159}, {82,20}, {34,154}, {35,124}, 
+    {35,126}, {83,153}, {35,125}, {83,151}, {34,156}, {83,152}, {35,123}, 
+    {36,3}, {36,5}, {85,22}, {36,4}, {85,21}, {86,33}, {36,109}, {86,32}, 
+    {36,110}, {86,30}, {86,29}, {86,34}, {86,35}, {87,6}, {86,31}, {87,134}, 
+    {87,131}, {87,132}, {87,133}, {37,28}, {88,17}, {88,16}, {88,15}, {88,48}, 
+    {88,126}, {88,107}, {37,46}, {7,109}, {15,32}, {23,186}, {28,182}, 
+    {74,136}, {33,159}, {82,21}, {88,108}, {7,110}, {9,174}, {12,57}, {12,56}, 
+    {15,35}, {50,168}, {15,33}, {50,169}, {15,34}, {54,159}, {54,155}, 
+    {18,45}, {54,158}, {54,157}, {54,156}, {18,46}, {54,160}, {54,161}, 
+    {59,3}, {59,1}, {59,5}, {59,6}, {59,12}, {59,8}, {59,10}, {59,2}, {58,188}, 
+    {59,9}, {59,11}, {59,4}, {59,7}, {58,189}, {21,34}, {59,0}, {58,190}, 
+    {21,33}, {21,35}, {23,189}, {63,53}, {63,55}, {63,54}, {63,59}, {23,187}, 
+    {63,56}, {63,52}, {63,57}, {63,58}, {23,188}, {23,190}, {63,60}, {67,39}, 
+    {67,38}, {67,36}, {67,37}, {26,115}, {26,117}, {26,114}, {26,116}, 
+    {71,13}, {71,14}, {71,9}, {71,10}, {28,184}, {28,189}, {28,183}, {28,190}, 
+    {28,185}, {71,11}, {71,12}, {71,8}, {29,0}, {28,187}, {28,186}, {28,188}, 
+    {71,7}, {74,138}, {30,168}, {74,140}, {30,170}, {74,143}, {74,139}, 
+    {74,137}, {74,142}, {30,169}, {74,141}, {30,167}, {32,147}, {32,150}, 
+    {77,129}, {32,148}, {77,128}, {32,146}, {32,149}, {80,6}, {80,7}, {80,8}, 
+    {33,160}, {80,9}, {33,161}, {34,162}, {82,24}, {82,25}, {82,23}, {82,22}, 
+    {82,26}, {34,161}, {83,157}, {83,155}, {83,156}, {83,158}, {83,154}, 
+    {83,159}, {85,24}, {85,25}, {85,23}, {36,6}, {86,36}, {36,111}, {86,37}, 
+    {87,8}, {87,7}, {7,111}, {21,36}, {24,0}, {26,118}, {30,172}, {30,171}, 
+    {34,163}, {35,60}, {36,7}, {7,112}, {15,36}, {24,1}, {82,27}, {42,102}, 
+    {7,113}, {7,116}, {7,115}, {7,114}, {42,101}, {44,141}, {44,143}, {9,175}, 
+    {9,177}, {44,140}, {44,142}, {9,176}, {44,145}, {44,144}, {44,146}, 
+    {47,118}, {47,116}, {12,60}, {47,115}, {12,99}, {12,62}, {12,59}, {12,100}, 
+    {12,61}, {12,98}, {12,97}, {47,117}, {12,58}, {15,42}, {50,171}, {50,177}, 
+    {15,39}, {15,46}, {15,41}, {50,174}, {50,176}, {15,44}, {50,170}, {50,173}, 
+    {15,40}, {15,37}, {50,172}, {15,43}, {50,175}, {15,45}, {15,38}, {54,163}, 
+    {54,166}, {18,48}, {18,58}, {18,54}, {54,164}, {18,62}, {18,55}, {18,60}, 
+    {18,50}, {18,47}, {18,49}, {18,61}, {54,165}, {18,53}, {18,56}, {18,52}, 
+    {18,57}, {54,167}, {18,59}, {18,51}, {54,162}, {59,13}, {21,37}, {59,15}, 
+    {21,39}, {21,41}, {59,14}, {21,38}, {21,42}, {21,40}, {24,7}, {63,99}, 
+    {24,15}, {63,62}, {24,16}, {24,5}, {63,97}, {24,10}, {63,98}, {24,3}, 
+    {24,2}, {24,13}, {24,12}, {24,11}, {24,9}, {24,14}, {63,61}, {24,4}, 
+    {24,6}, {24,8}, {26,120}, {26,123}, {26,127}, {26,121}, {26,126}, {26,124}, 
+    {26,119}, {26,125}, {26,122}, {71,18}, {29,3}, {29,1}, {71,19}, {29,4}, 
+    {29,2}, {71,17}, {71,16}, {30,176}, {71,15}, {30,174}, {30,173}, {74,144}, 
+    {29,5}, {30,175}, {74,145}, {30,178}, {74,146}, {30,177}, {32,152}, 
+    {77,131}, {32,151}, {32,156}, {32,154}, {32,155}, {33,163}, {32,153}, 
+    {77,130}, {74,147}, {33,162}, {33,164}, {34,164}, {34,165}, {83,160}, 
+    {36,158}, {36,157}, {7,118}, {41,21}, {15,47}, {41,18}, {41,19}, {41,17}, 
+    {41,20}, {42,106}, {42,103}, {42,108}, {42,104}, {7,119}, {7,122}, 
+    {42,105}, {7,121}, {42,107}, {7,120}, {44,149}, {44,151}, {9,180}, 
+    {44,147}, {44,150}, {44,148}, {9,178}, {9,181}, {9,179}, {47,120}, 
+    {47,124}, {47,121}, {12,103}, {12,104}, {47,123}, {47,125}, {47,127}, 
+    {12,101}, {47,126}, {12,102}, {54,174}, {47,122}, {50,178}, {50,187}, 
+    {50,185}, {50,180}, {50,181}, {50,186}, {50,188}, {15,49}, {50,183}, 
+    {50,179}, {15,48}, {15,50}, {50,182}, {50,189}, {50,184}, {18,97}, 
+    {54,177}, {54,169}, {54,175}, {54,176}, {18,98}, {54,168}, {54,170}, 
+    {47,119}, {54,172}, {54,173}, {54,171}, {21,44}, {59,22}, {74,148}, 
+    {59,23}, {59,20}, {18,99}, {21,46}, {59,19}, {59,25}, {59,24}, {21,43}, 
+    {59,28}, {59,18}, {59,27}, {59,16}, {59,26}, {59,21}, {21,45}, {63,106}, 
+    {63,101}, {63,107}, {63,102}, {63,100}, {63,103}, {24,17}, {63,105}, 
+    {63,104}, {24,18}, {26,129}, {26,128}, {67,46}, {67,49}, {67,41}, {67,45}, 
+    {26,130}, {67,44}, {67,42}, {67,48}, {67,43}, {67,40}, {67,47}, {71,25}, 
+    {29,8}, {80,10}, {71,22}, {71,23}, {71,21}, {59,17}, {29,7}, {71,26}, 
+    {71,20}, {29,6}, {29,9}, {71,24}, {74,149}, {30,179}, {74,150}, {74,151}, 
+    {77,132}, {32,157}, {80,11}, {80,12}, {80,13}, {82,29}, {82,28}, {83,162}, 
+    {83,161}, {85,27}, {85,28}, {85,26}, {86,38}, {36,112}, {7,123}, {12,106}, 
+    {12,105}, {15,53}, {15,52}, {51,0}, {51,1}, {50,190}, {15,51}, {54,181}, 
+    {54,182}, {54,178}, {18,100}, {54,179}, {54,180}, {59,31}, {59,33}, 
+    {59,29}, {59,32}, {21,47}, {59,30}, {21,48}, {60,51}, {24,21}, {24,20}, 
+    {24,19}, {63,108}, {63,109}, {67,51}, {67,53}, {26,134}, {26,131}, 
+    {26,133}, {26,132}, {67,52}, {67,50}, {71,33}, {71,30}, {71,31}, {29,13}, 
+    {71,32}, {71,27}, {71,28}, {29,10}, {29,11}, {71,29}, {29,12}, {74,155}, 
+    {74,156}, {74,153}, {74,154}, {30,180}, {74,152}, {77,136}, {77,133}, 
+    {77,135}, {32,160}, {77,139}, {32,159}, {77,137}, {77,140}, {77,138}, 
+    {77,134}, {32,158}, {80,15}, {80,16}, {80,14}, {80,18}, {33,165}, {33,166}, 
+    {82,31}, {34,167}, {80,17}, {82,30}, {34,166}, {83,165}, {83,166}, 
+    {35,127}, {83,164}, {83,163}, {85,29}, {36,8}, {87,9}, {87,136}, {87,135}, 
+    {37,3}, {37,29}, {87,137}, {88,49}, {37,47}, {7,124}, {9,182}, {24,22}, 
+    {35,128}, {7,125}, {12,107}, {18,101}, {21,49}, {33,167}, {9,183}, 
+    {47,129}, {47,128}, {51,2}, {15,56}, {15,54}, {15,58}, {51,4}, {15,57}, 
+    {15,55}, {51,3}, {18,104}, {54,188}, {18,103}, {18,105}, {55,2}, {18,107}, 
+    {54,190}, {55,0}, {54,183}, {18,106}, {55,3}, {54,185}, {54,186}, {54,184}, 
+    {18,102}, {55,1}, {54,187}, {54,189}, {59,45}, {59,44}, {59,42}, {59,34}, 
+    {59,49}, {59,37}, {59,47}, {59,54}, {59,46}, {21,57}, {21,53}, {59,35}, 
+    {59,41}, {21,55}, {59,40}, {21,56}, {21,58}, {59,43}, {21,50}, {21,51}, 
+    {59,55}, {59,53}, {59,52}, {59,38}, {59,50}, {21,54}, {21,52}, {59,51}, 
+    {59,36}, {59,39}, {59,48}, {67,122}, {63,119}, {63,112}, {63,131}, 
+    {63,140}, {63,115}, {24,33}, {63,128}, {24,23}, {24,25}, {24,37}, {63,113}, 
+    {24,26}, {24,28}, {24,38}, {24,27}, {24,36}, {63,121}, {63,110}, {24,34}, 
+    {63,120}, {24,30}, {63,138}, {24,35}, {63,136}, {63,124}, {63,134}, 
+    {24,32}, {63,111}, {63,137}, {63,132}, {63,139}, {24,24}, {24,39}, 
+    {24,29}, {63,117}, {63,125}, {63,129}, {63,133}, {24,31}, {63,116}, 
+    {63,114}, {63,126}, {63,123}, {63,122}, {63,127}, {63,130}, {63,135}, 
+    {67,56}, {26,135}, {67,100}, {67,58}, {26,140}, {26,144}, {67,109}, 
+    {67,117}, {67,102}, {26,136}, {67,106}, {63,118}, {26,137}, {67,113}, 
+    {67,118}, {67,110}, {67,112}, {67,121}, {67,114}, {67,62}, {67,105}, 
+    {26,145}, {26,141}, {67,60}, {67,107}, {26,139}, {67,101}, {26,138}, 
+    {67,115}, {67,98}, {67,57}, {26,142}, {67,120}, {67,59}, {67,111}, 
+    {67,108}, {67,103}, {67,55}, {67,54}, {67,97}, {67,116}, {26,143}, 
+    {67,119}, {67,61}, {67,99}, {29,18}, {29,26}, {29,21}, {71,100}, {71,97}, 
+    {71,39}, {29,16}, {29,15}, {29,22}, {71,37}, {29,20}, {71,49}, {71,35}, 
+    {71,36}, {29,14}, {71,99}, {29,24}, {71,52}, {71,57}, {71,51}, {74,174}, 
+    {71,47}, {71,55}, {71,53}, {71,40}, {71,34}, {71,61}, {29,23}, {71,62}, 
+    {71,56}, {71,45}, {71,43}, {71,38}, {71,46}, {71,59}, {71,42}, {71,58}, 
+    {71,98}, {29,19}, {71,54}, {71,60}, {71,50}, {71,44}, {29,17}, {67,104}, 
+    {71,48}, {29,25}, {71,41}, {74,180}, {30,183}, {74,179}, {74,176}, 
+    {75,4}, {30,187}, {75,1}, {74,184}, {75,3}, {74,169}, {74,182}, {30,189}, 
+    {74,161}, {74,159}, {75,2}, {75,0}, {74,190}, {74,173}, {74,172}, {74,162}, 
+    {31,0}, {74,168}, {74,178}, {74,189}, {31,3}, {75,5}, {32,168}, {31,5}, 
+    {30,190}, {74,166}, {74,175}, {74,158}, {74,160}, {30,181}, {31,2}, 
+    {30,186}, {74,167}, {74,183}, {74,177}, {31,1}, {74,157}, {32,163}, 
+    {74,185}, {74,188}, {30,188}, {74,171}, {31,4}, {30,185}, {30,184}, 
+    {74,181}, {74,187}, {30,182}, {74,164}, {74,186}, {74,165}, {74,170}, 
+    {77,146}, {77,151}, {32,165}, {32,167}, {77,157}, {32,161}, {77,172}, 
+    {77,163}, {77,152}, {77,153}, {77,162}, {32,174}, {77,161}, {77,145}, 
+    {77,160}, {77,148}, {77,173}, {32,173}, {32,171}, {77,149}, {77,168}, 
+    {77,154}, {77,167}, {77,169}, {77,144}, {32,166}, {77,170}, {77,158}, 
+    {32,170}, {77,155}, {32,172}, {77,164}, {32,164}, {77,150}, {77,165}, 
+    {77,159}, {74,163}, {77,166}, {77,147}, {32,169}, {77,171}, {32,162}, 
+    {77,142}, {80,32}, {80,25}, {33,169}, {80,20}, {80,35}, {80,27}, {77,156}, 
+    {80,37}, {80,21}, {33,168}, {80,31}, {33,170}, {33,178}, {33,176}, 
+    {80,33}, {33,177}, {80,23}, {80,24}, {80,29}, {80,34}, {77,141}, {33,171}, 
+    {80,42}, {80,39}, {80,43}, {80,30}, {80,26}, {80,40}, {82,42}, {80,28}, 
+    {33,174}, {33,173}, {77,143}, {33,175}, {80,36}, {80,38}, {33,172}, 
+    {80,41}, {80,19}, {80,22}, {82,51}, {82,35}, {34,171}, {82,49}, {82,33}, 
+    {34,172}, {82,44}, {82,40}, {34,177}, {82,50}, {82,34}, {82,37}, {34,169}, 
+    {82,52}, {82,45}, {82,48}, {34,175}, {34,180}, {34,178}, {82,41}, {82,36}, 
+    {34,173}, {34,174}, {82,32}, {34,170}, {34,168}, {34,176}, {82,47}, 
+    {34,179}, {82,43}, {82,53}, {34,181}, {82,39}, {82,46}, {83,179}, {84,2}, 
+    {83,181}, {83,188}, {82,38}, {83,186}, {83,169}, {84,0}, {35,131}, 
+    {83,173}, {83,190}, {83,180}, {35,130}, {84,4}, {83,182}, {83,187}, 
+    {83,189}, {83,167}, {84,1}, {83,178}, {83,183}, {83,171}, {83,175}, 
+    {84,3}, {83,185}, {83,168}, {83,172}, {83,174}, {83,184}, {35,129}, 
+    {83,177}, {83,170}, {83,176}, {85,33}, {85,38}, {36,15}, {85,40}, {36,9}, 
+    {85,36}, {85,42}, {36,14}, {36,10}, {36,11}, {85,32}, {85,39}, {36,13}, 
+    {85,37}, {36,12}, {85,31}, {85,35}, {85,34}, {85,30}, {85,41}, {36,113}, 
+    {86,45}, {86,48}, {86,44}, {86,46}, {86,47}, {86,41}, {86,42}, {86,39}, 
+    {86,43}, {86,40}, {36,114}, {36,115}, {87,11}, {87,13}, {87,12}, {87,14}, 
+    {36,160}, {87,10}, {36,159}, {36,161}, {87,139}, {87,140}, {37,4}, 
+    {87,138}, {88,19}, {88,18}, {88,20}, {37,31}, {88,21}, {37,30}, {88,22}, 
+    {88,50}, {88,53}, {88,52}, {37,40}, {88,51}, {37,50}, {37,48}, {37,49}, 
+    {37,55}, {88,128}, {88,129}, {88,127}, {88,137}, {9,184}, {55,4}, {59,56}, 
+    {71,101}, {82,54}, {9,185}, {12,108}, {15,59}, {55,5}, {55,6}, {18,108}, 
+    {21,61}, {59,58}, {59,57}, {21,99}, {21,60}, {59,59}, {21,62}, {21,98}, 
+    {21,97}, {21,59}, {24,40}, {63,144}, {63,142}, {63,143}, {63,141}, 
+    {26,146}, {26,149}, {26,151}, {26,150}, {26,147}, {26,148}, {71,103}, 
+    {71,102}, {29,27}, {71,104}, {71,105}, {29,28}, {75,13}, {75,11}, {77,179}, 
+    {75,9}, {75,10}, {31,6}, {75,6}, {75,14}, {75,8}, {75,12}, {77,175}, 
+    {77,177}, {77,178}, {32,179}, {77,174}, {32,178}, {77,176}, {32,175}, 
+    {32,176}, {32,177}, {75,7}, {33,181}, {80,46}, {80,44}, {80,45}, {33,179}, 
+    {33,182}, {33,180}, {82,55}, {82,56}, {34,182}, {84,5}, {84,7}, {84,6}, 
+    {35,132}, {36,16}, {85,45}, {85,44}, {85,43}, {9,186}, {40,106}, {41,24}, 
+    {5,169}, {41,22}, {41,25}, {41,23}, {42,110}, {7,129}, {7,130}, {42,112}, 
+    {7,127}, {42,111}, {42,109}, {7,128}, {7,126}, {44,152}, {44,155}, 
+    {9,189}, {44,154}, {44,153}, {9,188}, {9,187}, {10,0}, {44,156}, {9,190}, 
+    {47,134}, {12,110}, {12,111}, {12,112}, {47,135}, {47,131}, {12,109}, 
+    {47,132}, {47,133}, {47,130}, {15,100}, {15,97}, {51,5}, {15,98}, {15,101}, 
+    {51,6}, {15,62}, {15,60}, {15,61}, {15,99}, {18,109}, {55,9}, {18,117}, 
+    {55,8}, {55,11}, {18,113}, {55,10}, {21,107}, {18,111}, {18,114}, {18,110}, 
+    {18,115}, {18,116}, {18,112}, {55,7}, {21,103}, {59,61}, {59,99}, {59,98}, 
+    {21,108}, {21,104}, {21,105}, {59,60}, {59,62}, {59,97}, {21,100}, 
+    {21,102}, {21,106}, {21,101}, {63,147}, {63,145}, {63,146}, {24,42}, 
+    {24,43}, {63,148}, {24,41}, {26,152}, {26,154}, {26,153}, {67,123}, 
+    {67,124}, {71,107}, {71,106}, {31,7}, {31,8}, {75,15}, {31,9}, {77,182}, 
+    {77,180}, {77,181}, {32,180}, {80,47}, {34,183}, {32,181}, {10,1}, 
+    {15,102}, {51,7}, {55,12}, {18,118}, {21,109}, {59,100}, {59,102}, 
+    {21,111}, {21,110}, {21,112}, {21,113}, {59,101}, {24,46}, {24,47}, 
+    {24,45}, {26,155}, {24,44}, {63,149}, {26,156}, {71,108}, {75,16}, 
+    {31,10}, {32,182}, {80,48}, {80,52}, {33,185}, {80,49}, {33,186}, {33,184}, 
+    {80,53}, {33,187}, {80,51}, {82,57}, {33,183}, {34,184}, {87,141}, 
+    {10,2}, {18,120}, {18,119}, {21,114}, {59,104}, {59,103}, {21,115}, 
+    {63,153}, {24,51}, {24,48}, {63,152}, {24,50}, {63,150}, {24,49}, {63,151}, 
+    {67,125}, {26,157}, {71,111}, {29,29}, {71,109}, {29,30}, {29,31}, 
+    {71,110}, {29,32}, {75,17}, {31,14}, {31,11}, {31,16}, {75,19}, {31,12}, 
+    {75,18}, {31,15}, {31,13}, {77,185}, {77,187}, {32,183}, {77,186}, 
+    {32,184}, {77,184}, {77,183}, {80,55}, {80,54}, {33,188}, {80,56}, 
+    {82,62}, {34,186}, {82,61}, {82,58}, {34,185}, {82,59}, {82,60}, {84,8}, 
+    {84,9}, {35,133}, {36,19}, {85,46}, {36,17}, {36,18}, {85,47}, {36,116}, 
+    {36,117}, {86,49}, {37,5}, {87,143}, {37,7}, {87,142}, {87,144}, {37,6}, 
+    {88,23}, {88,109}, {10,3}, {24,52}, {67,126}, {71,112}, {31,17}, {31,18}, 
+    {10,4}, {29,33}, {34,187}, {12,113}, {31,19}, {36,162}, {12,114}, {55,13}, 
+    {59,105}, {59,107}, {59,106}, {63,157}, {63,154}, {24,53}, {24,54}, 
+    {63,155}, {63,156}, {67,128}, {67,133}, {26,158}, {67,127}, {67,129}, 
+    {67,136}, {67,131}, {67,135}, {67,132}, {67,130}, {67,134}, {26,159}, 
+    {71,115}, {71,113}, {29,35}, {29,34}, {71,114}, {29,36}, {75,22}, {75,21}, 
+    {31,20}, {75,20}, {77,188}, {77,190}, {78,1}, {78,0}, {32,185}, {77,189}, 
+    {80,97}, {33,189}, {80,61}, {80,98}, {33,190}, {80,59}, {80,62}, {80,60}, 
+    {80,57}, {34,0}, {80,58}, {82,97}, {82,99}, {82,98}, {84,10}, {84,11}, 
+    {85,48}, {36,119}, {36,118}, {87,15}, {87,16}, {37,8}, {87,145}, {37,41}, 
+    {12,115}, {21,116}, {67,138}, {67,137}, {71,117}, {71,116}, {32,186}, 
+    {78,3}, {78,2}, {80,101}, {80,99}, {80,102}, {80,100}, {34,188}, {82,100}, 
+    {82,101}, {82,102}, {85,49}, {86,50}, {87,146}, {12,116}, {75,23}, 
+    {78,4}, {12,117}, {26,160}, {75,24}, {34,1}, {80,103}, {34,189}, {84,12}, 
+    {84,13}, {36,20}, {87,17}, {12,118}, {18,123}, {18,124}, {55,14}, {21,117}, 
+    {21,118}, {59,108}, {21,119}, {24,58}, {24,60}, {63,159}, {63,160}, 
+    {63,158}, {24,55}, {24,56}, {24,59}, {24,57}, {67,139}, {26,161}, {26,162}, 
+    {71,124}, {29,39}, {71,119}, {71,118}, {71,123}, {29,37}, {31,27}, 
+    {71,120}, {71,125}, {71,122}, {71,121}, {29,38}, {31,25}, {75,26}, 
+    {31,21}, {75,27}, {75,25}, {31,24}, {31,22}, {31,26}, {31,23}, {78,5}, 
+    {78,10}, {78,6}, {78,9}, {32,187}, {76,148}, {78,8}, {78,7}, {34,4}, 
+    {34,2}, {34,5}, {34,3}, {80,104}, {80,105}, {80,106}, {34,6}, {82,106}, 
+    {35,0}, {82,104}, {35,1}, {82,103}, {82,105}, {34,190}, {84,17}, {84,14}, 
+    {84,15}, {84,16}, {85,50}, {36,22}, {36,21}, {86,52}, {86,51}, {36,120}, 
+    {36,163}, {37,9}, {37,32}, {88,24}, {88,110}, {88,111}, {12,119}, {59,109}, 
+    {63,161}, {67,140}, {67,141}, {26,163}, {26,164}, {71,126}, {29,40}, 
+    {32,188}, {80,107}, {34,7}, {82,109}, {35,2}, {82,108}, {82,110}, {82,107}, 
+    {85,53}, {84,18}, {84,19}, {35,134}, {85,52}, {85,51}, {86,53}, {88,112}, 
+    {12,120}, {12,121}, {15,103}, {51,8}, {55,15}, {21,120}, {21,123}, 
+    {21,121}, {59,110}, {21,125}, {21,122}, {21,124}, {24,62}, {63,162}, 
+    {63,163}, {71,128}, {24,61}, {24,97}, {24,98}, {67,143}, {67,142}, 
+    {26,165}, {26,166}, {67,144}, {71,127}, {26,168}, {29,41}, {26,167}, 
+    {31,28}, {71,129}, {29,43}, {29,42}, {71,130}, {71,133}, {71,131}, 
+    {71,132}, {29,44}, {31,33}, {31,31}, {31,30}, {75,29}, {31,32}, {75,28}, 
+    {78,11}, {75,30}, {31,29}, {75,31}, {78,14}, {78,12}, {78,13}, {78,18}, 
+    {34,11}, {78,17}, {78,20}, {78,19}, {78,16}, {78,15}, {32,189}, {80,110}, 
+    {80,109}, {34,10}, {34,8}, {34,9}, {80,108}, {82,113}, {35,3}, {82,112}, 
+    {82,111}, {35,4}, {84,24}, {84,23}, {84,21}, {84,20}, {35,136}, {35,135}, 
+    {84,25}, {86,54}, {36,121}, {85,55}, {36,23}, {85,54}, {84,22}, {86,55}, 
+    {36,164}, {37,33}, {88,25}, {88,113}, {12,122}, {55,16}, {78,21}, {12,123}, 
+    {67,146}, {67,145}, {75,32}, {78,23}, {78,22}, {34,12}, {82,114}, {82,115}, 
+    {35,137}, {88,114}, {15,104}, {21,127}, {21,126}, {63,164}, {63,166}, 
+    {24,100}, {63,165}, {24,99}, {24,101}, {63,167}, {67,148}, {67,150}, 
+    {67,149}, {67,152}, {26,169}, {67,151}, {67,147}, {67,153}, {71,140}, 
+    {71,143}, {71,145}, {71,135}, {71,139}, {71,136}, {29,46}, {29,49}, 
+    {29,51}, {71,137}, {71,138}, {29,50}, {71,141}, {71,144}, {71,142}, 
+    {29,52}, {29,48}, {71,134}, {29,45}, {29,47}, {31,35}, {75,38}, {75,36}, 
+    {75,35}, {75,41}, {75,40}, {75,39}, {75,34}, {31,34}, {75,33}, {75,37}, 
+    {31,36}, {78,26}, {78,30}, {78,27}, {78,29}, {78,28}, {78,25}, {78,31}, 
+    {78,34}, {78,32}, {78,33}, {33,0}, {32,190}, {78,24}, {78,35}, {80,115}, 
+    {80,118}, {80,120}, {80,119}, {80,113}, {80,117}, {80,112}, {80,114}, 
+    {34,13}, {80,111}, {80,116}, {82,128}, {82,117}, {35,5}, {35,6}, {82,116}, 
+    {82,121}, {82,127}, {82,119}, {82,126}, {82,123}, {82,122}, {82,125}, 
+    {82,120}, {82,118}, {82,124}, {84,32}, {84,30}, {35,138}, {84,29}, 
+    {84,35}, {84,33}, {35,139}, {84,28}, {84,26}, {84,27}, {35,141}, {84,31}, 
+    {35,140}, {84,34}, {85,56}, {85,62}, {85,57}, {36,27}, {85,97}, {36,26}, 
+    {85,61}, {85,60}, {36,25}, {85,59}, {36,24}, {85,58}, {86,61}, {86,97}, 
+    {86,62}, {86,59}, {36,123}, {86,56}, {86,60}, {86,99}, {86,98}, {86,57}, 
+    {86,58}, {36,122}, {87,18}, {36,167}, {87,19}, {36,165}, {36,166}, 
+    {87,147}, {37,10}, {88,54}, {37,42}, {88,115}, {37,43}, {88,116}, {88,117}, 
+    {88,131}, {88,130}, {37,58}, {88,141}, {15,105}, {63,169}, {63,168}, 
+    {26,170}, {26,171}, {67,154}, {71,146}, {75,44}, {29,53}, {31,37}, 
+    {75,42}, {75,45}, {31,38}, {78,36}, {75,43}, {80,121}, {34,14}, {82,129}, 
+    {84,38}, {84,36}, {84,37}, {85,98}, {36,28}, {86,100}, {36,170}, {36,124}, 
+    {36,168}, {36,169}, {87,148}, {37,34}, {15,106}, {80,122}, {51,9}, 
+    {24,102}, {67,155}, {26,172}, {67,156}, {71,148}, {71,147}, {31,40}, 
+    {29,54}, {29,55}, {71,151}, {71,150}, {71,149}, {75,46}, {75,49}, {75,48}, 
+    {75,47}, {31,39}, {78,40}, {78,38}, {78,37}, {78,39}, {34,15}, {80,124}, 
+    {80,125}, {34,16}, {80,123}, {82,131}, {82,130}, {82,133}, {35,7}, 
+    {82,132}, {84,39}, {84,41}, {84,40}, {85,99}, {85,102}, {85,100}, {85,101}, 
+    {86,101}, {36,125}, {87,20}, {87,21}, {87,22}, {37,11}, {37,35}, {88,118}, 
+    {15,107}, {29,56}, {31,41}, {80,126}, {86,102}, {88,132}, {51,10}, 
+    {37,59}, {15,108}, {75,50}, {80,127}, {82,134}, {85,103}, {86,103}, 
+    {15,109}, {67,157}, {67,158}, {26,173}, {26,174}, {71,153}, {29,58}, 
+    {29,57}, {71,152}, {78,41}, {80,128}, {80,130}, {80,129}, {34,19}, 
+    {34,18}, {34,17}, {36,30}, {85,104}, {36,29}, {86,105}, {86,104}, {37,12}, 
+    {87,149}, {18,125}, {63,170}, {67,161}, {67,159}, {67,160}, {71,162}, 
+    {71,157}, {71,154}, {71,161}, {71,163}, {29,60}, {71,160}, {71,156}, 
+    {71,155}, {71,159}, {71,158}, {29,59}, {75,61}, {75,56}, {75,54}, {75,97}, 
+    {75,55}, {75,51}, {75,57}, {75,52}, {78,50}, {75,53}, {75,98}, {75,60}, 
+    {31,42}, {75,59}, {75,58}, {75,62}, {78,42}, {78,45}, {78,44}, {78,52}, 
+    {78,47}, {78,51}, {78,49}, {78,48}, {78,46}, {78,43}, {33,3}, {33,2}, 
+    {33,4}, {33,1}, {78,53}, {80,136}, {80,139}, {80,137}, {80,141}, {80,142}, 
+    {80,134}, {34,24}, {80,135}, {80,133}, {80,140}, {80,132}, {80,131}, 
+    {34,23}, {34,21}, {34,20}, {80,138}, {82,143}, {82,149}, {35,10}, {82,144}, 
+    {82,147}, {82,151}, {35,11}, {82,146}, {82,138}, {82,137}, {82,150}, 
+    {82,141}, {82,139}, {82,148}, {82,140}, {35,9}, {35,8}, {82,135}, {82,136}, 
+    {82,145}, {82,142}, {84,44}, {84,47}, {34,22}, {84,45}, {84,51}, {84,49}, 
+    {84,43}, {84,54}, {84,42}, {35,143}, {84,50}, {84,46}, {35,142}, {84,53}, 
+    {84,52}, {85,107}, {85,106}, {85,113}, {85,109}, {85,112}, {36,32}, 
+    {85,110}, {85,111}, {85,105}, {85,108}, {36,31}, {36,127}, {86,116}, 
+    {86,111}, {86,115}, {86,118}, {86,114}, {86,110}, {36,129}, {86,113}, 
+    {86,117}, {36,128}, {86,108}, {84,48}, {86,112}, {86,109}, {86,106}, 
+    {86,107}, {36,126}, {87,26}, {87,28}, {87,31}, {87,27}, {87,32}, {87,25}, 
+    {87,23}, {36,171}, {87,29}, {36,173}, {36,172}, {87,24}, {87,30}, {87,154}, 
+    {37,13}, {87,155}, {87,153}, {87,150}, {87,152}, {87,151}, {88,26}, 
+    {88,28}, {88,27}, {88,57}, {88,56}, {88,55}, {88,58}, {37,51}, {37,52}, 
+    {88,138}, {88,142}, {18,126}, {59,111}, {63,173}, {24,103}, {63,171}, 
+    {63,172}, {67,162}, {67,163}, {26,177}, {26,175}, {67,164}, {26,176}, 
+    {71,168}, {71,171}, {71,165}, {71,172}, {71,164}, {71,166}, {71,167}, 
+    {71,170}, {29,97}, {71,175}, {71,174}, {29,61}, {71,169}, {71,173}, 
+    {29,62}, {75,108}, {31,47}, {75,103}, {31,43}, {75,100}, {75,106}, 
+    {75,109}, {31,48}, {75,105}, {75,102}, {75,110}, {75,101}, {75,107}, 
+    {31,44}, {75,99}, {31,45}, {31,46}, {75,104}, {78,105}, {78,58}, {78,59}, 
+    {78,62}, {78,60}, {78,54}, {78,57}, {78,101}, {78,61}, {33,5}, {78,103}, 
+    {78,100}, {33,6}, {78,102}, {78,55}, {78,98}, {78,99}, {78,97}, {80,146}, 
+    {80,148}, {80,151}, {80,145}, {34,25}, {80,153}, {80,144}, {80,154}, 
+    {80,150}, {80,152}, {80,156}, {80,149}, {80,157}, {80,147}, {80,143}, 
+    {34,26}, {80,155}, {34,27}, {35,13}, {78,56}, {82,177}, {82,168}, {35,15}, 
+    {82,164}, {35,16}, {82,173}, {82,167}, {82,157}, {35,14}, {82,170}, 
+    {82,165}, {82,166}, {82,152}, {82,159}, {82,174}, {82,171}, {82,163}, 
+    {82,175}, {82,158}, {82,153}, {82,172}, {82,155}, {82,169}, {82,160}, 
+    {82,176}, {82,156}, {35,12}, {82,154}, {82,161}, {82,162}, {84,61}, 
+    {84,59}, {84,98}, {84,110}, {84,101}, {84,60}, {84,56}, {84,103}, {84,62}, 
+    {84,99}, {84,58}, {84,106}, {84,55}, {84,97}, {84,102}, {84,104}, {84,107}, 
+    {84,57}, {84,111}, {84,112}, {84,105}, {84,109}, {84,100}, {85,129}, 
+    {85,132}, {36,33}, {85,131}, {85,136}, {85,134}, {36,34}, {85,125}, 
+    {85,115}, {85,114}, {36,36}, {85,127}, {85,128}, {85,124}, {85,116}, 
+    {85,121}, {84,108}, {85,117}, {36,35}, {85,123}, {85,122}, {85,118}, 
+    {85,130}, {85,119}, {86,123}, {85,133}, {85,135}, {85,126}, {85,120}, 
+    {86,124}, {86,126}, {86,120}, {36,130}, {86,133}, {86,131}, {36,131}, 
+    {86,130}, {86,129}, {86,122}, {86,119}, {86,125}, {86,134}, {86,121}, 
+    {86,127}, {87,41}, {87,46}, {87,36}, {87,39}, {36,174}, {87,43}, {87,50}, 
+    {86,128}, {87,37}, {87,47}, {87,51}, {87,42}, {87,35}, {87,45}, {87,44}, 
+    {87,49}, {87,48}, {86,132}, {87,40}, {87,34}, {87,38}, {37,14}, {37,15}, 
+    {87,33}, {87,166}, {87,157}, {87,165}, {87,162}, {87,163}, {87,156}, 
+    {87,159}, {87,167}, {87,161}, {87,160}, {87,158}, {87,164}, {88,29}, 
+    {88,30}, {88,32}, {88,31}, {88,34}, {88,33}, {88,60}, {88,59}, {88,119}, 
+    {88,120}, {88,133}, {37,56}, {37,60}, {88,143}, {37,61}, {18,127}, 
+    {35,144}, {85,137}, {37,16}, {37,17}, {18,128}, {63,174}, {24,104}, 
+    {71,176}, {75,112}, {75,113}, {75,111}, {78,107}, {78,106}, {33,7}, 
+    {80,159}, {78,108}, {80,158}, {82,179}, {35,17}, {35,19}, {82,178}, 
+    {35,18}, {84,113}, {84,115}, {84,114}, {85,138}, {36,37}, {36,175}, 
+    {87,168}, {88,35}, {88,146}, {18,129}, {67,165}, {29,98}, {75,115}, 
+    {75,114}, {78,109}, {35,20}, {35,145}, {86,135}, {88,139}, {18,130}, 
+    {26,178}, {29,99}, {82,180}, {87,52}, {21,128}, {78,110}, {37,36}, 
+    {21,129}, {29,100}, {33,8}, {87,53}, {21,130}, {71,177}, {31,50}, {75,116}, 
+    {75,117}, {31,49}, {78,111}, {33,12}, {33,10}, {33,11}, {33,9}, {80,160}, 
+    {34,28}, {84,117}, {84,116}, {84,119}, {84,118}, {35,146}, {85,139}, 
+    {85,141}, {85,140}, {36,38}, {86,136}, {87,54}, {87,55}, {36,176}, 
+    {88,36}, {88,61}, {37,53}, {59,112}, {75,118}, {78,112}, {82,181}, 
+    {63,175}, {78,113}, {80,162}, {80,161}, {87,56}, {37,18}, {88,37}, 
+    {88,62}, {24,105}, {71,178}, {71,179}, {75,119}, {24,106}, {34,29}, 
+    {80,163}, {85,143}, {36,39}, {85,144}, {85,142}, {87,57}, {87,169}, 
+    {24,107}, {78,116}, {78,115}, {78,114}, {80,164}, {80,168}, {80,167}, 
+    {80,166}, {80,165}, {34,30}, {82,182}, {84,121}, {35,147}, {84,120}, 
+    {85,145}, {86,139}, {86,138}, {36,132}, {86,137}, {87,60}, {87,59}, 
+    {87,58}, {26,179}, {75,120}, {33,13}, {82,183}, {82,184}, {86,140}, 
+    {87,61}, {87,170}, {88,38}, {88,121}, {88,148}, {26,180}, {33,14}, 
+    {80,169}, {82,185}, {85,146}, {87,62}, {29,102}, {78,117}, {80,170}, 
+    {82,186}, {82,187}, {82,188}, {84,126}, {84,122}, {36,40}, {84,125}, 
+    {84,124}, {35,148}, {84,123}, {35,150}, {35,149}, {85,148}, {85,147}, 
+    {36,41}, {36,42}, {36,134}, {86,141}, {36,133}, {87,99}, {87,100}, 
+    {87,98}, {87,97}, {37,20}, {87,171}, {87,172}, {87,173}, {37,19}, {88,39}, 
+    {88,42}, {88,41}, {88,40}, {88,147}, {31,51}, {34,37}, {84,127}, {85,149}, 
+    {36,135}, {86,142}, {88,149}, {31,52}, {78,118}, {86,143}, {88,97}, 
+    {40,10}, {60,188}, {0,10}, {0,23}, {0,25}, {0,27}, {0,31}, {0,32}, 
+    {0,35}, {0,36}, {0,39}, {0,40}, {0,43}, {0,44}, {0,47}, {0,48}, {0,51}, 
+    {0,52}, {0,55}, {0,56}, {0,59}, {0,60}, {0,134}, {0,135}, {0,138}, 
+    {0,139}, {0,136}, {0,137}, {0,28}, {0,13}, {0,15}, {0,17}, {0,18}, 
+    {0,19}, {0,20}, {0,61}, {0,62}, {0,97}, {0,98}, {0,99}, {0,100}, {0,140}, 
+    {0,141}, {0,142}, {0,158}, {0,159}, {0,160}, {0,161}, {0,162}, {1,12}, 
+    {1,13}, {1,14}, {0,9}, {0,109}, {1,3}, {1,8}, {0,110}, {0,29}, {0,30}, 
+    {0,111}, {0,143}, {0,1}, {0,144}, {0,4}, {1,1}, {1,111}, {1,112}, {1,113}, 
+    {1,114}, {1,115}, {1,116}, {1,117}, {1,118}, {1,119}, {1,120}, {0,7}, 
+    {0,6}, {0,149}, {0,151}, {0,150}, {0,8}, {1,9}, {1,143}, {1,144}, {1,145}, 
+    {1,146}, {1,147}, {1,148}, {1,149}, {1,150}, {1,151}, {1,152}, {1,153}, 
+    {1,154}, {1,155}, {1,156}, {1,157}, {1,158}, {1,159}, {1,160}, {1,161}, 
+    {1,162}, {1,163}, {1,164}, {1,165}, {1,166}, {1,167}, {1,168}, {1,2}, 
+    {0,132}, {1,169}, {1,170}, {1,171}, {1,172}, {1,173}, {1,174}, {1,175}, 
+    {1,176}, {1,177}, {1,178}, {1,179}, {1,180}, {1,181}, {1,182}, {1,183}, 
+    {1,184}, {1,185}, {1,186}, {1,187}, {1,188}, {1,189}, {1,190}, {2,0}, 
+    {2,1}, {2,2}, {2,3}, {0,33}, {0,21}, {0,34}, {0,14}
+};
+
+/* This returns ERROR if the code point doesn't exist. */
+long int big5_to_unicode(int r, int c)
+{
+    assert(r >= 0 && r < 94);
+    assert(c >= 0 && c < 191);
+    return big5_forward[r][c];
+}
+
+/* This one returns 1 on success, 0 if the code point doesn't exist. */
+int unicode_to_big5(long int unicode, int *r, int *c)
+{
+    int rr, cc;
+    long int uu;
+    int i, j, k;
+
+    i = -1;
+    j = lenof(big5_backward);
+    while (j - i > 1) {
+       k = (i + j) / 2;
+       rr = big5_backward[k].r;
+       cc = big5_backward[k].c;
+       uu = big5_forward[rr][cc];
+       if (unicode > uu)
+           i = k;
+       else if (unicode < uu)
+           j = k;
+       else {
+           *r = rr;
+           *c = cc;
+           return 1;
+       }
+    }
+    return 0;
+}
+
+#ifdef TESTMODE
+
+#include <stdio.h>
+
+int main(void)
+{
+    int r, c, rr, cc, ret;
+    long int u, uu;
+
+    /*
+     * N.B. Big5 <-> Unicode round-trip mapping is known not to
+     * work, because of the various duplicate characters:
+     * 
+     *  - 0xA15A (0,26)  and 0xA1C4 (0,132) are both U+FF3F
+     *  - 0xA1FE (0,190) and 0xA2AC (1,108) are both U+2571
+     *  - 0xA240 (1,0)   and 0xA2AD (1,109) are both U+2572
+     *  - 0xA2CC (1,140) and 0xA451 (3,17)  are both U+5341
+     *  - 0xA2CE (1,142) and 0xA4CA (3,138) are both U+5345
+     */
+
+    for (r = 0; r < 94; r++) {
+       for (c = 0; c < 191; c++) {
+           u = big5_to_unicode(r, c);
+           if (u != ERROR) {
+               ret = unicode_to_big5(u, &rr, &cc);
+               if (!ret)
+                   printf("(%d,%d) -> U-%08lx but didn't convert back\n",
+                          r, c, u);
+               else if (rr != r || cc != c)
+                   printf("(%d,%d) -> U-%08lx -> (%d,%d)\n",
+                          r, c, u, rr, cc);
+           }
+       }
+    }
+
+    for (u = 0; u < 0x10000L; u++) {
+       ret = unicode_to_big5(u, &r, &c);
+       if (ret) {
+           uu = big5_to_unicode(r, c);
+           if (uu == ERROR)
+               printf("U-%08lx -> (%d,%d) but didn't convert back\n",
+                      u, r, c);
+           else if (uu != u)
+               printf("U-%08lx -> (%d,%d) -> U-%08lx\n", u, r, c, uu);
+       }
+    }
+
+    return 0;
+}
+
+#endif
diff --git a/charset.h b/charset.h
new file mode 100644 (file)
index 0000000..0dca159
--- /dev/null
+++ b/charset.h
@@ -0,0 +1,209 @@
+/*
+ * charset.h - header file for general character set conversion
+ * routines.
+ */
+
+#ifndef charset_charset_h
+#define charset_charset_h
+
+#include <stddef.h>
+
+/*
+ * Enumeration that lists all the multibyte or single-byte
+ * character sets known to this library.
+ */
+typedef enum {
+    CS_NONE,                          /* used for reporting errors, etc */
+    CS_ASCII,                         /* ordinary US-ASCII is worth having! */
+    CS_ISO8859_1,
+    CS_ISO8859_1_X11,                 /* X font encoding with VT100 glyphs */
+    CS_ISO8859_2,
+    CS_ISO8859_3,
+    CS_ISO8859_4,
+    CS_ISO8859_5,
+    CS_ISO8859_6,
+    CS_ISO8859_7,
+    CS_ISO8859_8,
+    CS_ISO8859_9,
+    CS_ISO8859_10,
+    CS_ISO8859_11,
+    CS_ISO8859_13,
+    CS_ISO8859_14,
+    CS_ISO8859_15,
+    CS_ISO8859_16,
+    CS_CP437,
+    CS_CP850,
+    CS_CP1250,
+    CS_CP1251,
+    CS_CP1252,
+    CS_CP1253,
+    CS_CP1254,
+    CS_CP1255,
+    CS_CP1256,
+    CS_CP1257,
+    CS_CP1258,
+    CS_KOI8_R,
+    CS_KOI8_U,
+    CS_KOI8_RU,
+    CS_MAC_ROMAN,
+    CS_MAC_TURKISH,
+    CS_MAC_CROATIAN,
+    CS_MAC_ICELAND,
+    CS_MAC_ROMANIAN,
+    CS_MAC_GREEK,
+    CS_MAC_CYRILLIC,
+    CS_MAC_THAI,
+    CS_MAC_CENTEURO,
+    CS_MAC_SYMBOL,
+    CS_MAC_DINGBATS,
+    CS_MAC_ROMAN_OLD,
+    CS_MAC_CROATIAN_OLD,
+    CS_MAC_ICELAND_OLD,
+    CS_MAC_ROMANIAN_OLD,
+    CS_MAC_GREEK_OLD,
+    CS_MAC_CYRILLIC_OLD,
+    CS_MAC_UKRAINE,
+    CS_MAC_VT100,
+    CS_MAC_VT100_OLD,
+    CS_VISCII,
+    CS_HP_ROMAN8,
+    CS_DEC_MCS,
+    CS_UTF8,
+    CS_UTF7,
+    CS_UTF7_CONSERVATIVE,
+    CS_UTF16,
+    CS_UTF16BE,
+    CS_UTF16LE,
+    CS_EUC_JP,
+    CS_EUC_CN,
+    CS_EUC_KR,
+    CS_ISO2022_JP,
+    CS_ISO2022_KR,
+    CS_BIG5,
+    CS_SHIFT_JIS,
+    CS_HZ,
+    CS_CP949,
+} charset_t;
+
+typedef struct {
+    unsigned long s0, s1;
+} charset_state;
+
+/*
+ * This macro is used to initialise a charset_state structure:
+ * 
+ *   charset_state mystate = CHARSET_INIT_STATE;
+ */
+#define CHARSET_INIT_STATE { 0L, 0L }  /* a suitable initialiser */
+
+/*
+ * This external variable contains the same data, but is provided
+ * for easy structure-copy assignment:
+ * 
+ *   mystate = charset_init_state;
+ */
+extern const charset_state charset_init_state;
+
+/*
+ * Routine to convert a MB/SB character set to Unicode.
+ * 
+ * This routine accepts some number of bytes, updates a state
+ * variable, and outputs some number of Unicode characters. There
+ * are no guarantees. You can't even guarantee that at most one
+ * Unicode character will be output per byte you feed in; for
+ * example, suppose you're reading UTF-8, you've seen E1 80, and
+ * then you suddenly see FE. Now you need to output _two_ error
+ * characters - one for the incomplete sequence E1 80, and one for
+ * the completely invalid UTF-8 byte FE.
+ * 
+ * Returns the number of wide characters output; will never output
+ * more than the size of the buffer (as specified on input).
+ * Advances the `input' pointer and decrements `inlen', to indicate
+ * how far along the input string it got.
+ * 
+ * The sequence of `errlen' wide characters pointed to by `errstr'
+ * will be used to indicate a conversion error. If `errstr' is
+ * NULL, `errlen' will be ignored, and the library will choose
+ * something sensible to do on its own. For Unicode, this will be
+ * U+FFFD (REPLACEMENT CHARACTER).
+ */
+
+int charset_to_unicode(const char **input, int *inlen,
+                      wchar_t *output, int outlen,
+                      int charset, charset_state *state,
+                      const wchar_t *errstr, int errlen);
+
+/*
+ * Routine to convert Unicode to an MB/SB character set.
+ * 
+ * This routine accepts some number of Unicode characters, updates
+ * a state variable, and outputs some number of bytes.
+ * 
+ * Returns the number of bytes output; will never output more than
+ * the size of the buffer (as specified on input), and will never
+ * output a partial MB character. Advances the `input' pointer and
+ * decrements `inlen', to indicate how far along the input string
+ * it got.
+ * 
+ * If `error' is non-NULL and a character is found which cannot be
+ * expressed in the output charset, conversion will terminate at
+ * that character (so `input' points to the offending character)
+ * and `*error' will be set to TRUE; if `error' is non-NULL and no
+ * difficult characters are encountered, `*error' will be set to
+ * FALSE. If `error' is NULL, difficult characters will simply be
+ * ignored.
+ * 
+ * If `input' is NULL, this routine will output the necessary bytes
+ * to reset the encoding state in any way which might be required
+ * at the end of an output piece of text.
+ */
+
+int charset_from_unicode(const wchar_t **input, int *inlen,
+                        char *output, int outlen,
+                        int charset, charset_state *state, int *error);
+
+/*
+ * Convert X11 encoding names to and from our charset identifiers.
+ */
+const char *charset_to_xenc(int charset);
+int charset_from_xenc(const char *name);
+
+/*
+ * Convert MIME encoding names to and from our charset identifiers.
+ */
+const char *charset_to_mimeenc(int charset);
+int charset_from_mimeenc(const char *name);
+
+/*
+ * Convert our own encoding names to and from our charset
+ * identifiers.
+ */
+const char *charset_to_localenc(int charset);
+int charset_from_localenc(const char *name);
+int charset_localenc_nth(int n);
+
+/*
+ * Convert Mac OS script/region/font to our charset identifiers.
+ */
+int charset_from_macenc(int script, int region, int sysvers,
+                       const char *fontname);
+
+/*
+ * Upgrade a charset identifier to a superset charset which is
+ * often confused with it. For example, people whose MUAs report
+ * their mail as ASCII or ISO8859-1 often in practice turn out to
+ * be using CP1252 quote characters, so when parsing incoming mail
+ * it is prudent to treat ASCII and ISO8859-1 as aliases for CP1252
+ * - and since it's a superset of both, this will cause no
+ * genuinely correct mail to be parsed wrongly.
+ */
+int charset_upgrade(int charset);
+
+/*
+ * This function returns TRUE if the input charset is a vaguely
+ * sensible superset of ASCII. That is, it returns FALSE for 7-bit
+ * encoding formats such as HZ and UTF-7.
+ */
+int charset_contains_ascii(int charset);
+
+#endif /* charset_charset_h */
diff --git a/cp949.c b/cp949.c
new file mode 100644 (file)
index 0000000..28cd63a
--- /dev/null
+++ b/cp949.c
@@ -0,0 +1,94 @@
+/*
+ * cp949.c - CP949 / KS_C_5601_1987 multibyte encoding
+ */
+
+#ifndef ENUM_CHARSETS
+
+#include "charset.h"
+#include "internal.h"
+
+/*
+ * CP949 has no associated data, so `charset' may be ignored.
+ */
+
+static void read_cp949(charset_spec const *charset, long int input_chr,
+                      charset_state *state,
+                      void (*emit)(void *ctx, long int output), void *emitctx)
+{
+    UNUSEDARG(charset);
+
+    /*
+     * For reading CP949, state->s0 simply contains the single
+     * stored lead byte when we are half way through a double-byte
+     * character, or 0 if we aren't.
+     */
+
+    if (state->s0 == 0) {
+       if (input_chr >= 0x81 && input_chr <= 0xFE) {
+           /*
+            * Lead byte. Just store it.
+            */
+           state->s0 = input_chr;
+       } else {
+           /*
+            * Anything else we pass straight through unchanged.
+            */
+           emit(emitctx, input_chr);
+       }
+    } else {
+       /*
+        * We have a stored lead byte. We expect a valid followup
+        * byte.
+        */
+       if ((input_chr >= 0x40 && input_chr <= 0xFF)) {
+           emit(emitctx, cp949_to_unicode(state->s0 - 0x80,
+                                          input_chr - 0x40));
+       } else {
+           emit(emitctx, ERROR);
+       }
+       state->s0 = 0;
+    }
+}
+
+/*
+ * CP949 is a stateless multi-byte encoding (in the sense that just
+ * after any character has been completed, the state is always the
+ * same); hence when writing it, there is no need to use the
+ * charset_state.
+ */
+
+static int write_cp949(charset_spec const *charset, long int input_chr,
+                      charset_state *state,
+                      void (*emit)(void *ctx, long int output),
+                      void *emitctx)
+{
+    UNUSEDARG(charset);
+    UNUSEDARG(state);
+
+    if (input_chr == -1)
+       return TRUE;                   /* stateless; no cleanup required */
+
+    if (input_chr < 0x80) {
+       emit(emitctx, input_chr);
+       return TRUE;
+    } else {
+       int r, c;
+       if (unicode_to_cp949(input_chr, &r, &c)) {
+           emit(emitctx, r + 0x80);
+           emit(emitctx, c + 0x40);
+           return TRUE;
+       } else {
+           return FALSE;
+       }
+    }
+}
+
+const charset_spec charset_CS_CP949 = {
+    CS_CP949, read_cp949, write_cp949, NULL
+};
+
+#else /* ENUM_CHARSETS */
+
+ENUM_CHARSET(CS_CP949)
+
+#endif /* ENUM_CHARSETS */
diff --git a/enum.c b/enum.c
new file mode 100644 (file)
index 0000000..9339c77
--- /dev/null
+++ b/enum.c
@@ -0,0 +1,27 @@
+/*
+ * enum.c - enumerate all charsets defined by the library.
+ * 
+ * This file maintains a list of every other source file which
+ * contains ENUM_CHARSET definitions. It #includes each one with
+ * ENUM_CHARSETS defined, which causes those source files to do
+ * nothing at all except call the ENUM_CHARSET macro on each
+ * charset they define.
+ * 
+ * This file in turn is included from various other places, with
+ * the ENUM_CHARSET macro defined to various different things. This
+ * allows us to have multiple implementations of the master charset
+ * lookup table (a static one and a dynamic one).
+ */
+
+#define ENUM_CHARSETS
+#include "sbcsdat.c"
+#include "utf8.c"
+#include "utf7.c"
+#include "utf16.c"
+#include "euc.c"
+#include "iso2022s.c"
+#include "big5enc.c"
+#include "shiftjis.c"
+#include "hz.c"
+#include "cp949.c"
+#undef ENUM_CHARSETS
diff --git a/euc.c b/euc.c
new file mode 100644 (file)
index 0000000..72bd2b3
--- /dev/null
+++ b/euc.c
@@ -0,0 +1,234 @@
+/*
+ * euc.c - routines to handle the various EUC multibyte encodings.
+ */
+
+#ifndef ENUM_CHARSETS
+
+#include "charset.h"
+#include "internal.h"
+
+struct euc {
+    int nchars[3];                    /* GR, SS2+GR, SS3+GR */
+    long int (*to_ucs)(unsigned long state);
+    unsigned long (*from_ucs)(long int ucs);
+};
+
+static void read_euc(charset_spec const *charset, long int input_chr,
+                    charset_state *state,
+                    void (*emit)(void *ctx, long int output), void *emitctx)
+{
+    struct euc const *euc = (struct euc *)charset->data;
+
+    /*
+     * For EUC input, our state variable divides into three parts:
+     * 
+     *         - Topmost nibble (bits 31:28) is nonzero if we're
+     *           accumulating a multibyte character, and it indicates
+     *           which section we're in: 1 for GR chars, 2 for things
+     *           beginning with SS2, 3 for things beginning with SS3.
+     * 
+     *         - Next nibble (bits 27:24) indicates how many bytes of the
+     *           character we've accumulated so far.
+     * 
+     *         - The rest (bits 23:0) are those bytes in full, accumulated
+     *           as a large integer (so that seeing A1 A2 A3, in a
+     *           hypothetical EUC whose GR encoding is three-byte, runs
+     *           our state variable from 0 -> 0x110000A1 -> 0x1200A1A2 ->
+     *           0x13A1A2A3, at which point it gets translated and output
+     *           and resets to zero).
+     */
+
+    if (state->s0 != 0) {
+
+       /*
+        * At this point, no matter whether we had an SS2 or SS3
+        * introducer or not, we _always_ expect a GR character.
+        * Anything else causes us to emit ERROR for an incomplete
+        * character, and then reset to state 0 to process the
+        * character in its own way.
+        */
+       if (input_chr < 0xA1 || input_chr == 0xFF) {
+           emit(emitctx, ERROR);
+           state->s0 = 0;
+       } else
+           state->s0 = (((state->s0 & 0xFF000000) + 0x01000000) |
+                        ((state->s0 & 0x0000FFFF) << 8) | input_chr);
+
+    }
+
+    if (state->s0 == 0) {
+       /*
+        * The input character determines which of the four
+        * possible charsets we're going to be in.
+        */
+       if (input_chr < 0x80) {        /* this is always ASCII */
+           emit(emitctx, input_chr);
+       } else if (input_chr == 0x8E) {/* SS2 means charset 2 */
+           state->s0 = 0x20000000;
+       } else if (input_chr == 0x8F) {/* SS3 means charset 3 */
+           state->s0 = 0x30000000;
+       } else if (input_chr < 0xA1 || input_chr == 0xFF) {   /* errors */
+           emit(emitctx, ERROR);
+       } else {                       /* A1-FE means charset 1 */
+           state->s0 = 0x11000000 | input_chr;
+       }
+    }
+
+    /*
+     * Finally, if we have accumulated a complete character, output
+     * it.
+     */
+    if (state->s0 != 0 &&
+       ((state->s0 & 0x0F000000) >> 24) >= euc->nchars[(state->s0 >> 28)-1]) {
+       emit(emitctx, euc->to_ucs(state->s0));
+       state->s0 = 0;
+    }
+}
+
+/*
+ * All EUCs are stateless multi-byte encodings (in the sense that
+ * just after any character has been completed, the state is always
+ * the same); hence when writing them, there is no need to use the
+ * charset_state.
+ */
+
+static int write_euc(charset_spec const *charset, long int input_chr,
+                    charset_state *state,
+                    void (*emit)(void *ctx, long int output), void *emitctx)
+{
+    struct euc const *euc = (struct euc *)charset->data;
+    unsigned long c;
+    int cset, len;
+
+    UNUSEDARG(state);
+
+    if (input_chr == -1)
+       return TRUE;                   /* stateless; no cleanup required */
+
+    /* ASCII is the easy bit, and is always the same. */
+    if (input_chr < 0x80) {
+       emit(emitctx, input_chr);
+       return TRUE;
+    }
+
+    c = euc->from_ucs(input_chr);
+    if (!c) {
+       return FALSE;
+    }
+
+    cset = c >> 28;
+    len = euc->nchars[cset-1];
+    c &= 0xFFFFFF;
+
+    if (cset > 1)
+       emit(emitctx, 0x8C + cset);    /* SS2/SS3 */
+
+    while (len--)
+       emit(emitctx, (c >> (8*len)) & 0xFF);
+    return TRUE;
+}
+
+/*
+ * EUC-CN encodes GB2312 only.
+ */
+static long int euc_cn_to_ucs(unsigned long state)
+{
+    switch (state >> 28) {
+      case 1: return gb2312_to_unicode(((state >> 8) & 0xFF) - 0xA1,
+                                      ((state     ) & 0xFF) - 0xA1);
+      default: return ERROR;
+    }
+}
+static unsigned long euc_cn_from_ucs(long int ucs)
+{
+    int r, c;
+    if (unicode_to_gb2312(ucs, &r, &c))
+       return 0x10000000 | ((r+0xA1) << 8) | (c+0xA1);
+    else
+       return 0;
+}
+static const struct euc euc_cn = {
+    {2,0,0}, euc_cn_to_ucs, euc_cn_from_ucs
+};
+const charset_spec charset_CS_EUC_CN = {
+    CS_EUC_CN, read_euc, write_euc, &euc_cn
+};
+
+/*
+ * EUC-KR encodes KS X 1001 only.
+ */
+static long int euc_kr_to_ucs(unsigned long state)
+{
+    switch (state >> 28) {
+      case 1: return ksx1001_to_unicode(((state >> 8) & 0xFF) - 0xA1,
+                                      ((state     ) & 0xFF) - 0xA1);
+      default: return ERROR;
+    }
+}
+static unsigned long euc_kr_from_ucs(long int ucs)
+{
+    int r, c;
+    if (unicode_to_ksx1001(ucs, &r, &c))
+       return 0x10000000 | ((r+0xA1) << 8) | (c+0xA1);
+    else
+       return 0;
+}
+static const struct euc euc_kr = {
+    {2,0,0}, euc_kr_to_ucs, euc_kr_from_ucs
+};
+const charset_spec charset_CS_EUC_KR = {
+    CS_EUC_KR, read_euc, write_euc, &euc_kr
+};
+
+/*
+ * EUC-JP encodes several character sets.
+ */
+static long int euc_jp_to_ucs(unsigned long state)
+{
+    switch (state >> 28) {
+      case 1: return jisx0208_to_unicode(((state >> 8) & 0xFF) - 0xA1,
+                                        ((state     ) & 0xFF) - 0xA1);
+      case 2:
+       /*
+        * This is the top half of JIS X 0201. That means A1-DF map
+        * to FF61-FF9F, and nothing else is valid.
+        */
+       {
+           int c = state & 0xFF;
+           if (c >= 0xA1 && c <= 0xDF)
+               return c + (0xFF61 - 0xA1);
+           else
+               return ERROR;
+       }
+       /* (no break needed since all control paths have returned) */
+      case 3: return jisx0212_to_unicode(((state >> 8) & 0xFF) - 0xA1,
+                                        ((state     ) & 0xFF) - 0xA1);
+      default: return ERROR;          /* placate optimisers */
+    }
+}
+static unsigned long euc_jp_from_ucs(long int ucs)
+{
+    int r, c;
+    if (ucs >= 0xFF61 && ucs <= 0xFF9F)
+       return 0x20000000 | (ucs - (0xFF61 - 0xA1));
+    else if (unicode_to_jisx0208(ucs, &r, &c))
+       return 0x10000000 | ((r+0xA1) << 8) | (c+0xA1);
+    else if (unicode_to_jisx0212(ucs, &r, &c))
+       return 0x30000000 | ((r+0xA1) << 8) | (c+0xA1);
+    else
+       return 0;
+}
+static const struct euc euc_jp = {
+    {2,1,2}, euc_jp_to_ucs, euc_jp_from_ucs
+};
+const charset_spec charset_CS_EUC_JP = {
+    CS_EUC_JP, read_euc, write_euc, &euc_jp
+};
+
+#else /* ENUM_CHARSETS */
+
+ENUM_CHARSET(CS_EUC_CN)
+ENUM_CHARSET(CS_EUC_KR)
+ENUM_CHARSET(CS_EUC_JP)
+
+#endif /* ENUM_CHARSETS */
diff --git a/fromucs.c b/fromucs.c
new file mode 100644 (file)
index 0000000..8090c19
--- /dev/null
+++ b/fromucs.c
@@ -0,0 +1,82 @@
+/*
+ * fromucs.c - convert Unicode to other character sets.
+ */
+
+#include "charset.h"
+#include "internal.h"
+
+struct charset_emit_param {
+    char *output;
+    int outlen;
+    int stopped;
+};
+
+static void charset_emit(void *ctx, long int output)
+{
+    struct charset_emit_param *param = (struct charset_emit_param *)ctx;
+
+    if (param->outlen > 0) {
+       *param->output++ = output;
+       param->outlen--;
+    } else {
+       param->stopped = 1;
+    }
+}
+
+int charset_from_unicode(const wchar_t **input, int *inlen,
+                        char *output, int outlen,
+                        int charset, charset_state *state, int *error)
+{
+    charset_spec const *spec = charset_find_spec(charset);
+    charset_state localstate = CHARSET_INIT_STATE;
+    struct charset_emit_param param;
+    int locallen;
+
+    if (!input) {
+       locallen = 1;
+       inlen = &locallen;
+    }
+
+    param.output = output;
+    param.outlen = outlen;
+    param.stopped = 0;
+
+    if (state)
+       localstate = *state;           /* structure copy */
+    if (error)
+       *error = FALSE;
+
+    while (*inlen > 0) {
+       int lenbefore = param.output - output;
+       int ret;
+
+       if (input)
+           ret = spec->write(spec, **input, &localstate,
+                             charset_emit, &param);
+       else
+           ret = spec->write(spec, -1, &localstate, charset_emit, &param);
+       if (error && !ret) {
+           /*
+            * We have hit a difficult character, which the user
+            * wants to know about. Leave now.
+            */
+           *error = TRUE;
+           return lenbefore;
+       }
+       if (param.stopped) {
+           /*
+            * The emit function has _tried_ to output some
+            * characters, but ran up against the end of the
+            * buffer. Leave immediately, and return what happened
+            * _before_ attempting to process this character.
+            */
+           return lenbefore;
+       }
+       if (state)
+           *state = localstate;       /* structure copy */
+       if (input)
+           (*input)++;
+       (*inlen)--;
+    }
+    return param.output - output;
+}
diff --git a/gb2312.c b/gb2312.c
new file mode 100644 (file)
index 0000000..463c15b
--- /dev/null
+++ b/gb2312.c
@@ -0,0 +1,2089 @@
+/*
+ * GB2312 implementation for libcharset. (This is the character set
+ * itself, not any particular multibyte encoding of it. Multibyte
+ * encodings of this character set are handled separately.)
+ */
+
+#include <assert.h>
+
+#include "charset.h"
+#include "internal.h"
+
+/*
+ * These tables are generated from the GB2312 <-> Unicode character
+ * mapping found at
+ * 
+ * http://www.unicode.org/Public/MAPPINGS/OBSOLETE/EASTASIA/GB/GB2312.TXT
+ */
+
+/*
+ * Mapping from GB2312 to Unicode. For these purposes GB2312 is
+ * considered to be a 94x94 square array, with coordinates running
+ * from (0,0) to (93,93).
+ * 
+ * Generated by running the following sh+Perl over GB2312.TXT:
+
+cat GB2312.TXT | \
+perl -ne '$a{hex$1,hex$2}=$3 if /^0x(\S\S)(\S\S)\s+(0x\S+)\s/;' \
+      -e 'END {for $r (0..93) { $o="    {"; for $c (0..93) {' \
+      -e '$k=$a{$r+33,$c+33}; $k=" ERROR" unless defined $k;' \
+      -e '$o .= ", " if $c > 0; (print "$o\n"), $o="    " if length $o > 70;' \
+      -e '$o .= $k; } print "$o},\n"; }}'
+
+ */
+
+static const unsigned short gb2312_forward[94][94] = {
+    {0x3000, 0x3001, 0x3002, 0x30FB, 0x02C9, 0x02C7, 0x00A8, 0x3003, 0x3005, 
+    0x2015, 0xFF5E, 0x2016, 0x2026, 0x2018, 0x2019, 0x201C, 0x201D, 0x3014, 
+    0x3015, 0x3008, 0x3009, 0x300A, 0x300B, 0x300C, 0x300D, 0x300E, 0x300F, 
+    0x3016, 0x3017, 0x3010, 0x3011, 0x00B1, 0x00D7, 0x00F7, 0x2236, 0x2227, 
+    0x2228, 0x2211, 0x220F, 0x222A, 0x2229, 0x2208, 0x2237, 0x221A, 0x22A5, 
+    0x2225, 0x2220, 0x2312, 0x2299, 0x222B, 0x222E, 0x2261, 0x224C, 0x2248, 
+    0x223D, 0x221D, 0x2260, 0x226E, 0x226F, 0x2264, 0x2265, 0x221E, 0x2235, 
+    0x2234, 0x2642, 0x2640, 0x00B0, 0x2032, 0x2033, 0x2103, 0xFF04, 0x00A4, 
+    0xFFE0, 0xFFE1, 0x2030, 0x00A7, 0x2116, 0x2606, 0x2605, 0x25CB, 0x25CF, 
+    0x25CE, 0x25C7, 0x25C6, 0x25A1, 0x25A0, 0x25B3, 0x25B2, 0x203B, 0x2192, 
+    0x2190, 0x2191, 0x2193, 0x3013},
+    { ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 0x2488, 0x2489, 
+    0x248A, 0x248B, 0x248C, 0x248D, 0x248E, 0x248F, 0x2490, 0x2491, 0x2492, 
+    0x2493, 0x2494, 0x2495, 0x2496, 0x2497, 0x2498, 0x2499, 0x249A, 0x249B, 
+    0x2474, 0x2475, 0x2476, 0x2477, 0x2478, 0x2479, 0x247A, 0x247B, 0x247C, 
+    0x247D, 0x247E, 0x247F, 0x2480, 0x2481, 0x2482, 0x2483, 0x2484, 0x2485, 
+    0x2486, 0x2487, 0x2460, 0x2461, 0x2462, 0x2463, 0x2464, 0x2465, 0x2466, 
+    0x2467, 0x2468, 0x2469,  ERROR,  ERROR, 0x3220, 0x3221, 0x3222, 0x3223, 
+    0x3224, 0x3225, 0x3226, 0x3227, 0x3228, 0x3229,  ERROR,  ERROR, 0x2160, 
+    0x2161, 0x2162, 0x2163, 0x2164, 0x2165, 0x2166, 0x2167, 0x2168, 0x2169, 
+    0x216A, 0x216B,  ERROR,  ERROR},
+    {0xFF01, 0xFF02, 0xFF03, 0xFFE5, 0xFF05, 0xFF06, 0xFF07, 0xFF08, 0xFF09, 
+    0xFF0A, 0xFF0B, 0xFF0C, 0xFF0D, 0xFF0E, 0xFF0F, 0xFF10, 0xFF11, 0xFF12, 
+    0xFF13, 0xFF14, 0xFF15, 0xFF16, 0xFF17, 0xFF18, 0xFF19, 0xFF1A, 0xFF1B, 
+    0xFF1C, 0xFF1D, 0xFF1E, 0xFF1F, 0xFF20, 0xFF21, 0xFF22, 0xFF23, 0xFF24, 
+    0xFF25, 0xFF26, 0xFF27, 0xFF28, 0xFF29, 0xFF2A, 0xFF2B, 0xFF2C, 0xFF2D, 
+    0xFF2E, 0xFF2F, 0xFF30, 0xFF31, 0xFF32, 0xFF33, 0xFF34, 0xFF35, 0xFF36, 
+    0xFF37, 0xFF38, 0xFF39, 0xFF3A, 0xFF3B, 0xFF3C, 0xFF3D, 0xFF3E, 0xFF3F, 
+    0xFF40, 0xFF41, 0xFF42, 0xFF43, 0xFF44, 0xFF45, 0xFF46, 0xFF47, 0xFF48, 
+    0xFF49, 0xFF4A, 0xFF4B, 0xFF4C, 0xFF4D, 0xFF4E, 0xFF4F, 0xFF50, 0xFF51, 
+    0xFF52, 0xFF53, 0xFF54, 0xFF55, 0xFF56, 0xFF57, 0xFF58, 0xFF59, 0xFF5A, 
+    0xFF5B, 0xFF5C, 0xFF5D, 0xFFE3},
+    {0x3041, 0x3042, 0x3043, 0x3044, 0x3045, 0x3046, 0x3047, 0x3048, 0x3049, 
+    0x304A, 0x304B, 0x304C, 0x304D, 0x304E, 0x304F, 0x3050, 0x3051, 0x3052, 
+    0x3053, 0x3054, 0x3055, 0x3056, 0x3057, 0x3058, 0x3059, 0x305A, 0x305B, 
+    0x305C, 0x305D, 0x305E, 0x305F, 0x3060, 0x3061, 0x3062, 0x3063, 0x3064, 
+    0x3065, 0x3066, 0x3067, 0x3068, 0x3069, 0x306A, 0x306B, 0x306C, 0x306D, 
+    0x306E, 0x306F, 0x3070, 0x3071, 0x3072, 0x3073, 0x3074, 0x3075, 0x3076, 
+    0x3077, 0x3078, 0x3079, 0x307A, 0x307B, 0x307C, 0x307D, 0x307E, 0x307F, 
+    0x3080, 0x3081, 0x3082, 0x3083, 0x3084, 0x3085, 0x3086, 0x3087, 0x3088, 
+    0x3089, 0x308A, 0x308B, 0x308C, 0x308D, 0x308E, 0x308F, 0x3090, 0x3091, 
+    0x3092, 0x3093,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR},
+    {0x30A1, 0x30A2, 0x30A3, 0x30A4, 0x30A5, 0x30A6, 0x30A7, 0x30A8, 0x30A9, 
+    0x30AA, 0x30AB, 0x30AC, 0x30AD, 0x30AE, 0x30AF, 0x30B0, 0x30B1, 0x30B2, 
+    0x30B3, 0x30B4, 0x30B5, 0x30B6, 0x30B7, 0x30B8, 0x30B9, 0x30BA, 0x30BB, 
+    0x30BC, 0x30BD, 0x30BE, 0x30BF, 0x30C0, 0x30C1, 0x30C2, 0x30C3, 0x30C4, 
+    0x30C5, 0x30C6, 0x30C7, 0x30C8, 0x30C9, 0x30CA, 0x30CB, 0x30CC, 0x30CD, 
+    0x30CE, 0x30CF, 0x30D0, 0x30D1, 0x30D2, 0x30D3, 0x30D4, 0x30D5, 0x30D6, 
+    0x30D7, 0x30D8, 0x30D9, 0x30DA, 0x30DB, 0x30DC, 0x30DD, 0x30DE, 0x30DF, 
+    0x30E0, 0x30E1, 0x30E2, 0x30E3, 0x30E4, 0x30E5, 0x30E6, 0x30E7, 0x30E8, 
+    0x30E9, 0x30EA, 0x30EB, 0x30EC, 0x30ED, 0x30EE, 0x30EF, 0x30F0, 0x30F1, 
+    0x30F2, 0x30F3, 0x30F4, 0x30F5, 0x30F6,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR},
+    {0x0391, 0x0392, 0x0393, 0x0394, 0x0395, 0x0396, 0x0397, 0x0398, 0x0399, 
+    0x039A, 0x039B, 0x039C, 0x039D, 0x039E, 0x039F, 0x03A0, 0x03A1, 0x03A3, 
+    0x03A4, 0x03A5, 0x03A6, 0x03A7, 0x03A8, 0x03A9,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 0x03B1, 0x03B2, 0x03B3, 0x03B4, 
+    0x03B5, 0x03B6, 0x03B7, 0x03B8, 0x03B9, 0x03BA, 0x03BB, 0x03BC, 0x03BD, 
+    0x03BE, 0x03BF, 0x03C0, 0x03C1, 0x03C3, 0x03C4, 0x03C5, 0x03C6, 0x03C7, 
+    0x03C8, 0x03C9,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR},
+    {0x0410, 0x0411, 0x0412, 0x0413, 0x0414, 0x0415, 0x0401, 0x0416, 0x0417, 
+    0x0418, 0x0419, 0x041A, 0x041B, 0x041C, 0x041D, 0x041E, 0x041F, 0x0420, 
+    0x0421, 0x0422, 0x0423, 0x0424, 0x0425, 0x0426, 0x0427, 0x0428, 0x0429, 
+    0x042A, 0x042B, 0x042C, 0x042D, 0x042E, 0x042F,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR, 0x0430, 0x0431, 0x0432, 0x0433, 0x0434, 0x0435, 
+    0x0451, 0x0436, 0x0437, 0x0438, 0x0439, 0x043A, 0x043B, 0x043C, 0x043D, 
+    0x043E, 0x043F, 0x0440, 0x0441, 0x0442, 0x0443, 0x0444, 0x0445, 0x0446, 
+    0x0447, 0x0448, 0x0449, 0x044A, 0x044B, 0x044C, 0x044D, 0x044E, 0x044F, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR},
+    {0x0101, 0x00E1, 0x01CE, 0x00E0, 0x0113, 0x00E9, 0x011B, 0x00E8, 0x012B, 
+    0x00ED, 0x01D0, 0x00EC, 0x014D, 0x00F3, 0x01D2, 0x00F2, 0x016B, 0x00FA, 
+    0x01D4, 0x00F9, 0x01D6, 0x01D8, 0x01DA, 0x01DC, 0x00FC, 0x00EA,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+    0x3105, 0x3106, 0x3107, 0x3108, 0x3109, 0x310A, 0x310B, 0x310C, 0x310D, 
+    0x310E, 0x310F, 0x3110, 0x3111, 0x3112, 0x3113, 0x3114, 0x3115, 0x3116, 
+    0x3117, 0x3118, 0x3119, 0x311A, 0x311B, 0x311C, 0x311D, 0x311E, 0x311F, 
+    0x3120, 0x3121, 0x3122, 0x3123, 0x3124, 0x3125, 0x3126, 0x3127, 0x3128, 
+    0x3129,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR},
+    { ERROR,  ERROR,  ERROR, 0x2500, 0x2501, 0x2502, 0x2503, 0x2504, 0x2505, 
+    0x2506, 0x2507, 0x2508, 0x2509, 0x250A, 0x250B, 0x250C, 0x250D, 0x250E, 
+    0x250F, 0x2510, 0x2511, 0x2512, 0x2513, 0x2514, 0x2515, 0x2516, 0x2517, 
+    0x2518, 0x2519, 0x251A, 0x251B, 0x251C, 0x251D, 0x251E, 0x251F, 0x2520, 
+    0x2521, 0x2522, 0x2523, 0x2524, 0x2525, 0x2526, 0x2527, 0x2528, 0x2529, 
+    0x252A, 0x252B, 0x252C, 0x252D, 0x252E, 0x252F, 0x2530, 0x2531, 0x2532, 
+    0x2533, 0x2534, 0x2535, 0x2536, 0x2537, 0x2538, 0x2539, 0x253A, 0x253B, 
+    0x253C, 0x253D, 0x253E, 0x253F, 0x2540, 0x2541, 0x2542, 0x2543, 0x2544, 
+    0x2545, 0x2546, 0x2547, 0x2548, 0x2549, 0x254A, 0x254B,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR},
+    { ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR},
+    { ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR},
+    { ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR},
+    { ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR},
+    { ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR},
+    { ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR},
+    {0x554A, 0x963F, 0x57C3, 0x6328, 0x54CE, 0x5509, 0x54C0, 0x7691, 0x764C, 
+    0x853C, 0x77EE, 0x827E, 0x788D, 0x7231, 0x9698, 0x978D, 0x6C28, 0x5B89, 
+    0x4FFA, 0x6309, 0x6697, 0x5CB8, 0x80FA, 0x6848, 0x80AE, 0x6602, 0x76CE, 
+    0x51F9, 0x6556, 0x71AC, 0x7FF1, 0x8884, 0x50B2, 0x5965, 0x61CA, 0x6FB3, 
+    0x82AD, 0x634C, 0x6252, 0x53ED, 0x5427, 0x7B06, 0x516B, 0x75A4, 0x5DF4, 
+    0x62D4, 0x8DCB, 0x9776, 0x628A, 0x8019, 0x575D, 0x9738, 0x7F62, 0x7238, 
+    0x767D, 0x67CF, 0x767E, 0x6446, 0x4F70, 0x8D25, 0x62DC, 0x7A17, 0x6591, 
+    0x73ED, 0x642C, 0x6273, 0x822C, 0x9881, 0x677F, 0x7248, 0x626E, 0x62CC, 
+    0x4F34, 0x74E3, 0x534A, 0x529E, 0x7ECA, 0x90A6, 0x5E2E, 0x6886, 0x699C, 
+    0x8180, 0x7ED1, 0x68D2, 0x78C5, 0x868C, 0x9551, 0x508D, 0x8C24, 0x82DE, 
+    0x80DE, 0x5305, 0x8912, 0x5265},
+    {0x8584, 0x96F9, 0x4FDD, 0x5821, 0x9971, 0x5B9D, 0x62B1, 0x62A5, 0x66B4, 
+    0x8C79, 0x9C8D, 0x7206, 0x676F, 0x7891, 0x60B2, 0x5351, 0x5317, 0x8F88, 
+    0x80CC, 0x8D1D, 0x94A1, 0x500D, 0x72C8, 0x5907, 0x60EB, 0x7119, 0x88AB, 
+    0x5954, 0x82EF, 0x672C, 0x7B28, 0x5D29, 0x7EF7, 0x752D, 0x6CF5, 0x8E66, 
+    0x8FF8, 0x903C, 0x9F3B, 0x6BD4, 0x9119, 0x7B14, 0x5F7C, 0x78A7, 0x84D6, 
+    0x853D, 0x6BD5, 0x6BD9, 0x6BD6, 0x5E01, 0x5E87, 0x75F9, 0x95ED, 0x655D, 
+    0x5F0A, 0x5FC5, 0x8F9F, 0x58C1, 0x81C2, 0x907F, 0x965B, 0x97AD, 0x8FB9, 
+    0x7F16, 0x8D2C, 0x6241, 0x4FBF, 0x53D8, 0x535E, 0x8FA8, 0x8FA9, 0x8FAB, 
+    0x904D, 0x6807, 0x5F6A, 0x8198, 0x8868, 0x9CD6, 0x618B, 0x522B, 0x762A, 
+    0x5F6C, 0x658C, 0x6FD2, 0x6EE8, 0x5BBE, 0x6448, 0x5175, 0x51B0, 0x67C4, 
+    0x4E19, 0x79C9, 0x997C, 0x70B3},
+    {0x75C5, 0x5E76, 0x73BB, 0x83E0, 0x64AD, 0x62E8, 0x94B5, 0x6CE2, 0x535A, 
+    0x52C3, 0x640F, 0x94C2, 0x7B94, 0x4F2F, 0x5E1B, 0x8236, 0x8116, 0x818A, 
+    0x6E24, 0x6CCA, 0x9A73, 0x6355, 0x535C, 0x54FA, 0x8865, 0x57E0, 0x4E0D, 
+    0x5E03, 0x6B65, 0x7C3F, 0x90E8, 0x6016, 0x64E6, 0x731C, 0x88C1, 0x6750, 
+    0x624D, 0x8D22, 0x776C, 0x8E29, 0x91C7, 0x5F69, 0x83DC, 0x8521, 0x9910, 
+    0x53C2, 0x8695, 0x6B8B, 0x60ED, 0x60E8, 0x707F, 0x82CD, 0x8231, 0x4ED3, 
+    0x6CA7, 0x85CF, 0x64CD, 0x7CD9, 0x69FD, 0x66F9, 0x8349, 0x5395, 0x7B56, 
+    0x4FA7, 0x518C, 0x6D4B, 0x5C42, 0x8E6D, 0x63D2, 0x53C9, 0x832C, 0x8336, 
+    0x67E5, 0x78B4, 0x643D, 0x5BDF, 0x5C94, 0x5DEE, 0x8BE7, 0x62C6, 0x67F4, 
+    0x8C7A, 0x6400, 0x63BA, 0x8749, 0x998B, 0x8C17, 0x7F20, 0x94F2, 0x4EA7, 
+    0x9610, 0x98A4, 0x660C, 0x7316},
+    {0x573A, 0x5C1D, 0x5E38, 0x957F, 0x507F, 0x80A0, 0x5382, 0x655E, 0x7545, 
+    0x5531, 0x5021, 0x8D85, 0x6284, 0x949E, 0x671D, 0x5632, 0x6F6E, 0x5DE2, 
+    0x5435, 0x7092, 0x8F66, 0x626F, 0x64A4, 0x63A3, 0x5F7B, 0x6F88, 0x90F4, 
+    0x81E3, 0x8FB0, 0x5C18, 0x6668, 0x5FF1, 0x6C89, 0x9648, 0x8D81, 0x886C, 
+    0x6491, 0x79F0, 0x57CE, 0x6A59, 0x6210, 0x5448, 0x4E58, 0x7A0B, 0x60E9, 
+    0x6F84, 0x8BDA, 0x627F, 0x901E, 0x9A8B, 0x79E4, 0x5403, 0x75F4, 0x6301, 
+    0x5319, 0x6C60, 0x8FDF, 0x5F1B, 0x9A70, 0x803B, 0x9F7F, 0x4F88, 0x5C3A, 
+    0x8D64, 0x7FC5, 0x65A5, 0x70BD, 0x5145, 0x51B2, 0x866B, 0x5D07, 0x5BA0, 
+    0x62BD, 0x916C, 0x7574, 0x8E0C, 0x7A20, 0x6101, 0x7B79, 0x4EC7, 0x7EF8, 
+    0x7785, 0x4E11, 0x81ED, 0x521D, 0x51FA, 0x6A71, 0x53A8, 0x8E87, 0x9504, 
+    0x96CF, 0x6EC1, 0x9664, 0x695A},
+    {0x7840, 0x50A8, 0x77D7, 0x6410, 0x89E6, 0x5904, 0x63E3, 0x5DDD, 0x7A7F, 
+    0x693D, 0x4F20, 0x8239, 0x5598, 0x4E32, 0x75AE, 0x7A97, 0x5E62, 0x5E8A, 
+    0x95EF, 0x521B, 0x5439, 0x708A, 0x6376, 0x9524, 0x5782, 0x6625, 0x693F, 
+    0x9187, 0x5507, 0x6DF3, 0x7EAF, 0x8822, 0x6233, 0x7EF0, 0x75B5, 0x8328, 
+    0x78C1, 0x96CC, 0x8F9E, 0x6148, 0x74F7, 0x8BCD, 0x6B64, 0x523A, 0x8D50, 
+    0x6B21, 0x806A, 0x8471, 0x56F1, 0x5306, 0x4ECE, 0x4E1B, 0x51D1, 0x7C97, 
+    0x918B, 0x7C07, 0x4FC3, 0x8E7F, 0x7BE1, 0x7A9C, 0x6467, 0x5D14, 0x50AC, 
+    0x8106, 0x7601, 0x7CB9, 0x6DEC, 0x7FE0, 0x6751, 0x5B58, 0x5BF8, 0x78CB, 
+    0x64AE, 0x6413, 0x63AA, 0x632B, 0x9519, 0x642D, 0x8FBE, 0x7B54, 0x7629, 
+    0x6253, 0x5927, 0x5446, 0x6B79, 0x50A3, 0x6234, 0x5E26, 0x6B86, 0x4EE3, 
+    0x8D37, 0x888B, 0x5F85, 0x902E},
+    {0x6020, 0x803D, 0x62C5, 0x4E39, 0x5355, 0x90F8, 0x63B8, 0x80C6, 0x65E6, 
+    0x6C2E, 0x4F46, 0x60EE, 0x6DE1, 0x8BDE, 0x5F39, 0x86CB, 0x5F53, 0x6321, 
+    0x515A, 0x8361, 0x6863, 0x5200, 0x6363, 0x8E48, 0x5012, 0x5C9B, 0x7977, 
+    0x5BFC, 0x5230, 0x7A3B, 0x60BC, 0x9053, 0x76D7, 0x5FB7, 0x5F97, 0x7684, 
+    0x8E6C, 0x706F, 0x767B, 0x7B49, 0x77AA, 0x51F3, 0x9093, 0x5824, 0x4F4E, 
+    0x6EF4, 0x8FEA, 0x654C, 0x7B1B, 0x72C4, 0x6DA4, 0x7FDF, 0x5AE1, 0x62B5, 
+    0x5E95, 0x5730, 0x8482, 0x7B2C, 0x5E1D, 0x5F1F, 0x9012, 0x7F14, 0x98A0, 
+    0x6382, 0x6EC7, 0x7898, 0x70B9, 0x5178, 0x975B, 0x57AB, 0x7535, 0x4F43, 
+    0x7538, 0x5E97, 0x60E6, 0x5960, 0x6DC0, 0x6BBF, 0x7889, 0x53FC, 0x96D5, 
+    0x51CB, 0x5201, 0x6389, 0x540A, 0x9493, 0x8C03, 0x8DCC, 0x7239, 0x789F, 
+    0x8776, 0x8FED, 0x8C0D, 0x53E0},
+    {0x4E01, 0x76EF, 0x53EE, 0x9489, 0x9876, 0x9F0E, 0x952D, 0x5B9A, 0x8BA2, 
+    0x4E22, 0x4E1C, 0x51AC, 0x8463, 0x61C2, 0x52A8, 0x680B, 0x4F97, 0x606B, 
+    0x51BB, 0x6D1E, 0x515C, 0x6296, 0x6597, 0x9661, 0x8C46, 0x9017, 0x75D8, 
+    0x90FD, 0x7763, 0x6BD2, 0x728A, 0x72EC, 0x8BFB, 0x5835, 0x7779, 0x8D4C, 
+    0x675C, 0x9540, 0x809A, 0x5EA6, 0x6E21, 0x5992, 0x7AEF, 0x77ED, 0x953B, 
+    0x6BB5, 0x65AD, 0x7F0E, 0x5806, 0x5151, 0x961F, 0x5BF9, 0x58A9, 0x5428, 
+    0x8E72, 0x6566, 0x987F, 0x56E4, 0x949D, 0x76FE, 0x9041, 0x6387, 0x54C6, 
+    0x591A, 0x593A, 0x579B, 0x8EB2, 0x6735, 0x8DFA, 0x8235, 0x5241, 0x60F0, 
+    0x5815, 0x86FE, 0x5CE8, 0x9E45, 0x4FC4, 0x989D, 0x8BB9, 0x5A25, 0x6076, 
+    0x5384, 0x627C, 0x904F, 0x9102, 0x997F, 0x6069, 0x800C, 0x513F, 0x8033, 
+    0x5C14, 0x9975, 0x6D31, 0x4E8C},
+    {0x8D30, 0x53D1, 0x7F5A, 0x7B4F, 0x4F10, 0x4E4F, 0x9600, 0x6CD5, 0x73D0, 
+    0x85E9, 0x5E06, 0x756A, 0x7FFB, 0x6A0A, 0x77FE, 0x9492, 0x7E41, 0x51E1, 
+    0x70E6, 0x53CD, 0x8FD4, 0x8303, 0x8D29, 0x72AF, 0x996D, 0x6CDB, 0x574A, 
+    0x82B3, 0x65B9, 0x80AA, 0x623F, 0x9632, 0x59A8, 0x4EFF, 0x8BBF, 0x7EBA, 
+    0x653E, 0x83F2, 0x975E, 0x5561, 0x98DE, 0x80A5, 0x532A, 0x8BFD, 0x5420, 
+    0x80BA, 0x5E9F, 0x6CB8, 0x8D39, 0x82AC, 0x915A, 0x5429, 0x6C1B, 0x5206, 
+    0x7EB7, 0x575F, 0x711A, 0x6C7E, 0x7C89, 0x594B, 0x4EFD, 0x5FFF, 0x6124, 
+    0x7CAA, 0x4E30, 0x5C01, 0x67AB, 0x8702, 0x5CF0, 0x950B, 0x98CE, 0x75AF, 
+    0x70FD, 0x9022, 0x51AF, 0x7F1D, 0x8BBD, 0x5949, 0x51E4, 0x4F5B, 0x5426, 
+    0x592B, 0x6577, 0x80A4, 0x5B75, 0x6276, 0x62C2, 0x8F90, 0x5E45, 0x6C1F, 
+    0x7B26, 0x4F0F, 0x4FD8, 0x670D},
+    {0x6D6E, 0x6DAA, 0x798F, 0x88B1, 0x5F17, 0x752B, 0x629A, 0x8F85, 0x4FEF, 
+    0x91DC, 0x65A7, 0x812F, 0x8151, 0x5E9C, 0x8150, 0x8D74, 0x526F, 0x8986, 
+    0x8D4B, 0x590D, 0x5085, 0x4ED8, 0x961C, 0x7236, 0x8179, 0x8D1F, 0x5BCC, 
+    0x8BA3, 0x9644, 0x5987, 0x7F1A, 0x5490, 0x5676, 0x560E, 0x8BE5, 0x6539, 
+    0x6982, 0x9499, 0x76D6, 0x6E89, 0x5E72, 0x7518, 0x6746, 0x67D1, 0x7AFF, 
+    0x809D, 0x8D76, 0x611F, 0x79C6, 0x6562, 0x8D63, 0x5188, 0x521A, 0x94A2, 
+    0x7F38, 0x809B, 0x7EB2, 0x5C97, 0x6E2F, 0x6760, 0x7BD9, 0x768B, 0x9AD8, 
+    0x818F, 0x7F94, 0x7CD5, 0x641E, 0x9550, 0x7A3F, 0x544A, 0x54E5, 0x6B4C, 
+    0x6401, 0x6208, 0x9E3D, 0x80F3, 0x7599, 0x5272, 0x9769, 0x845B, 0x683C, 
+    0x86E4, 0x9601, 0x9694, 0x94EC, 0x4E2A, 0x5404, 0x7ED9, 0x6839, 0x8DDF, 
+    0x8015, 0x66F4, 0x5E9A, 0x7FB9},
+    {0x57C2, 0x803F, 0x6897, 0x5DE5, 0x653B, 0x529F, 0x606D, 0x9F9A, 0x4F9B, 
+    0x8EAC, 0x516C, 0x5BAB, 0x5F13, 0x5DE9, 0x6C5E, 0x62F1, 0x8D21, 0x5171, 
+    0x94A9, 0x52FE, 0x6C9F, 0x82DF, 0x72D7, 0x57A2, 0x6784, 0x8D2D, 0x591F, 
+    0x8F9C, 0x83C7, 0x5495, 0x7B8D, 0x4F30, 0x6CBD, 0x5B64, 0x59D1, 0x9F13, 
+    0x53E4, 0x86CA, 0x9AA8, 0x8C37, 0x80A1, 0x6545, 0x987E, 0x56FA, 0x96C7, 
+    0x522E, 0x74DC, 0x5250, 0x5BE1, 0x6302, 0x8902, 0x4E56, 0x62D0, 0x602A, 
+    0x68FA, 0x5173, 0x5B98, 0x51A0, 0x89C2, 0x7BA1, 0x9986, 0x7F50, 0x60EF, 
+    0x704C, 0x8D2F, 0x5149, 0x5E7F, 0x901B, 0x7470, 0x89C4, 0x572D, 0x7845, 
+    0x5F52, 0x9F9F, 0x95FA, 0x8F68, 0x9B3C, 0x8BE1, 0x7678, 0x6842, 0x67DC, 
+    0x8DEA, 0x8D35, 0x523D, 0x8F8A, 0x6EDA, 0x68CD, 0x9505, 0x90ED, 0x56FD, 
+    0x679C, 0x88F9, 0x8FC7, 0x54C8},
+    {0x9AB8, 0x5B69, 0x6D77, 0x6C26, 0x4EA5, 0x5BB3, 0x9A87, 0x9163, 0x61A8, 
+    0x90AF, 0x97E9, 0x542B, 0x6DB5, 0x5BD2, 0x51FD, 0x558A, 0x7F55, 0x7FF0, 
+    0x64BC, 0x634D, 0x65F1, 0x61BE, 0x608D, 0x710A, 0x6C57, 0x6C49, 0x592F, 
+    0x676D, 0x822A, 0x58D5, 0x568E, 0x8C6A, 0x6BEB, 0x90DD, 0x597D, 0x8017, 
+    0x53F7, 0x6D69, 0x5475, 0x559D, 0x8377, 0x83CF, 0x6838, 0x79BE, 0x548C, 
+    0x4F55, 0x5408, 0x76D2, 0x8C89, 0x9602, 0x6CB3, 0x6DB8, 0x8D6B, 0x8910, 
+    0x9E64, 0x8D3A, 0x563F, 0x9ED1, 0x75D5, 0x5F88, 0x72E0, 0x6068, 0x54FC, 
+    0x4EA8, 0x6A2A, 0x8861, 0x6052, 0x8F70, 0x54C4, 0x70D8, 0x8679, 0x9E3F, 
+    0x6D2A, 0x5B8F, 0x5F18, 0x7EA2, 0x5589, 0x4FAF, 0x7334, 0x543C, 0x539A, 
+    0x5019, 0x540E, 0x547C, 0x4E4E, 0x5FFD, 0x745A, 0x58F6, 0x846B, 0x80E1, 
+    0x8774, 0x72D0, 0x7CCA, 0x6E56},
+    {0x5F27, 0x864E, 0x552C, 0x62A4, 0x4E92, 0x6CAA, 0x6237, 0x82B1, 0x54D7, 
+    0x534E, 0x733E, 0x6ED1, 0x753B, 0x5212, 0x5316, 0x8BDD, 0x69D0, 0x5F8A, 
+    0x6000, 0x6DEE, 0x574F, 0x6B22, 0x73AF, 0x6853, 0x8FD8, 0x7F13, 0x6362, 
+    0x60A3, 0x5524, 0x75EA, 0x8C62, 0x7115, 0x6DA3, 0x5BA6, 0x5E7B, 0x8352, 
+    0x614C, 0x9EC4, 0x78FA, 0x8757, 0x7C27, 0x7687, 0x51F0, 0x60F6, 0x714C, 
+    0x6643, 0x5E4C, 0x604D, 0x8C0E, 0x7070, 0x6325, 0x8F89, 0x5FBD, 0x6062, 
+    0x86D4, 0x56DE, 0x6BC1, 0x6094, 0x6167, 0x5349, 0x60E0, 0x6666, 0x8D3F, 
+    0x79FD, 0x4F1A, 0x70E9, 0x6C47, 0x8BB3, 0x8BF2, 0x7ED8, 0x8364, 0x660F, 
+    0x5A5A, 0x9B42, 0x6D51, 0x6DF7, 0x8C41, 0x6D3B, 0x4F19, 0x706B, 0x83B7, 
+    0x6216, 0x60D1, 0x970D, 0x8D27, 0x7978, 0x51FB, 0x573E, 0x57FA, 0x673A, 
+    0x7578, 0x7A3D, 0x79EF, 0x7B95},
+    {0x808C, 0x9965, 0x8FF9, 0x6FC0, 0x8BA5, 0x9E21, 0x59EC, 0x7EE9, 0x7F09, 
+    0x5409, 0x6781, 0x68D8, 0x8F91, 0x7C4D, 0x96C6, 0x53CA, 0x6025, 0x75BE, 
+    0x6C72, 0x5373, 0x5AC9, 0x7EA7, 0x6324, 0x51E0, 0x810A, 0x5DF1, 0x84DF, 
+    0x6280, 0x5180, 0x5B63, 0x4F0E, 0x796D, 0x5242, 0x60B8, 0x6D4E, 0x5BC4, 
+    0x5BC2, 0x8BA1, 0x8BB0, 0x65E2, 0x5FCC, 0x9645, 0x5993, 0x7EE7, 0x7EAA, 
+    0x5609, 0x67B7, 0x5939, 0x4F73, 0x5BB6, 0x52A0, 0x835A, 0x988A, 0x8D3E, 
+    0x7532, 0x94BE, 0x5047, 0x7A3C, 0x4EF7, 0x67B6, 0x9A7E, 0x5AC1, 0x6B7C, 
+    0x76D1, 0x575A, 0x5C16, 0x7B3A, 0x95F4, 0x714E, 0x517C, 0x80A9, 0x8270, 
+    0x5978, 0x7F04, 0x8327, 0x68C0, 0x67EC, 0x78B1, 0x7877, 0x62E3, 0x6361, 
+    0x7B80, 0x4FED, 0x526A, 0x51CF, 0x8350, 0x69DB, 0x9274, 0x8DF5, 0x8D31, 
+    0x89C1, 0x952E, 0x7BAD, 0x4EF6},
+    {0x5065, 0x8230, 0x5251, 0x996F, 0x6E10, 0x6E85, 0x6DA7, 0x5EFA, 0x50F5, 
+    0x59DC, 0x5C06, 0x6D46, 0x6C5F, 0x7586, 0x848B, 0x6868, 0x5956, 0x8BB2, 
+    0x5320, 0x9171, 0x964D, 0x8549, 0x6912, 0x7901, 0x7126, 0x80F6, 0x4EA4, 
+    0x90CA, 0x6D47, 0x9A84, 0x5A07, 0x56BC, 0x6405, 0x94F0, 0x77EB, 0x4FA5, 
+    0x811A, 0x72E1, 0x89D2, 0x997A, 0x7F34, 0x7EDE, 0x527F, 0x6559, 0x9175, 
+    0x8F7F, 0x8F83, 0x53EB, 0x7A96, 0x63ED, 0x63A5, 0x7686, 0x79F8, 0x8857, 
+    0x9636, 0x622A, 0x52AB, 0x8282, 0x6854, 0x6770, 0x6377, 0x776B, 0x7AED, 
+    0x6D01, 0x7ED3, 0x89E3, 0x59D0, 0x6212, 0x85C9, 0x82A5, 0x754C, 0x501F, 
+    0x4ECB, 0x75A5, 0x8BEB, 0x5C4A, 0x5DFE, 0x7B4B, 0x65A4, 0x91D1, 0x4ECA, 
+    0x6D25, 0x895F, 0x7D27, 0x9526, 0x4EC5, 0x8C28, 0x8FDB, 0x9773, 0x664B, 
+    0x7981, 0x8FD1, 0x70EC, 0x6D78},
+    {0x5C3D, 0x52B2, 0x8346, 0x5162, 0x830E, 0x775B, 0x6676, 0x9CB8, 0x4EAC, 
+    0x60CA, 0x7CBE, 0x7CB3, 0x7ECF, 0x4E95, 0x8B66, 0x666F, 0x9888, 0x9759, 
+    0x5883, 0x656C, 0x955C, 0x5F84, 0x75C9, 0x9756, 0x7ADF, 0x7ADE, 0x51C0, 
+    0x70AF, 0x7A98, 0x63EA, 0x7A76, 0x7EA0, 0x7396, 0x97ED, 0x4E45, 0x7078, 
+    0x4E5D, 0x9152, 0x53A9, 0x6551, 0x65E7, 0x81FC, 0x8205, 0x548E, 0x5C31, 
+    0x759A, 0x97A0, 0x62D8, 0x72D9, 0x75BD, 0x5C45, 0x9A79, 0x83CA, 0x5C40, 
+    0x5480, 0x77E9, 0x4E3E, 0x6CAE, 0x805A, 0x62D2, 0x636E, 0x5DE8, 0x5177, 
+    0x8DDD, 0x8E1E, 0x952F, 0x4FF1, 0x53E5, 0x60E7, 0x70AC, 0x5267, 0x6350, 
+    0x9E43, 0x5A1F, 0x5026, 0x7737, 0x5377, 0x7EE2, 0x6485, 0x652B, 0x6289, 
+    0x6398, 0x5014, 0x7235, 0x89C9, 0x51B3, 0x8BC0, 0x7EDD, 0x5747, 0x83CC, 
+    0x94A7, 0x519B, 0x541B, 0x5CFB},
+    {0x4FCA, 0x7AE3, 0x6D5A, 0x90E1, 0x9A8F, 0x5580, 0x5496, 0x5361, 0x54AF, 
+    0x5F00, 0x63E9, 0x6977, 0x51EF, 0x6168, 0x520A, 0x582A, 0x52D8, 0x574E, 
+    0x780D, 0x770B, 0x5EB7, 0x6177, 0x7CE0, 0x625B, 0x6297, 0x4EA2, 0x7095, 
+    0x8003, 0x62F7, 0x70E4, 0x9760, 0x5777, 0x82DB, 0x67EF, 0x68F5, 0x78D5, 
+    0x9897, 0x79D1, 0x58F3, 0x54B3, 0x53EF, 0x6E34, 0x514B, 0x523B, 0x5BA2, 
+    0x8BFE, 0x80AF, 0x5543, 0x57A6, 0x6073, 0x5751, 0x542D, 0x7A7A, 0x6050, 
+    0x5B54, 0x63A7, 0x62A0, 0x53E3, 0x6263, 0x5BC7, 0x67AF, 0x54ED, 0x7A9F, 
+    0x82E6, 0x9177, 0x5E93, 0x88E4, 0x5938, 0x57AE, 0x630E, 0x8DE8, 0x80EF, 
+    0x5757, 0x7B77, 0x4FA9, 0x5FEB, 0x5BBD, 0x6B3E, 0x5321, 0x7B50, 0x72C2, 
+    0x6846, 0x77FF, 0x7736, 0x65F7, 0x51B5, 0x4E8F, 0x76D4, 0x5CBF, 0x7AA5, 
+    0x8475, 0x594E, 0x9B41, 0x5080},
+    {0x9988, 0x6127, 0x6E83, 0x5764, 0x6606, 0x6346, 0x56F0, 0x62EC, 0x6269, 
+    0x5ED3, 0x9614, 0x5783, 0x62C9, 0x5587, 0x8721, 0x814A, 0x8FA3, 0x5566, 
+    0x83B1, 0x6765, 0x8D56, 0x84DD, 0x5A6A, 0x680F, 0x62E6, 0x7BEE, 0x9611, 
+    0x5170, 0x6F9C, 0x8C30, 0x63FD, 0x89C8, 0x61D2, 0x7F06, 0x70C2, 0x6EE5, 
+    0x7405, 0x6994, 0x72FC, 0x5ECA, 0x90CE, 0x6717, 0x6D6A, 0x635E, 0x52B3, 
+    0x7262, 0x8001, 0x4F6C, 0x59E5, 0x916A, 0x70D9, 0x6D9D, 0x52D2, 0x4E50, 
+    0x96F7, 0x956D, 0x857E, 0x78CA, 0x7D2F, 0x5121, 0x5792, 0x64C2, 0x808B, 
+    0x7C7B, 0x6CEA, 0x68F1, 0x695E, 0x51B7, 0x5398, 0x68A8, 0x7281, 0x9ECE, 
+    0x7BF1, 0x72F8, 0x79BB, 0x6F13, 0x7406, 0x674E, 0x91CC, 0x9CA4, 0x793C, 
+    0x8389, 0x8354, 0x540F, 0x6817, 0x4E3D, 0x5389, 0x52B1, 0x783E, 0x5386, 
+    0x5229, 0x5088, 0x4F8B, 0x4FD0},
+    {0x75E2, 0x7ACB, 0x7C92, 0x6CA5, 0x96B6, 0x529B, 0x7483, 0x54E9, 0x4FE9, 
+    0x8054, 0x83B2, 0x8FDE, 0x9570, 0x5EC9, 0x601C, 0x6D9F, 0x5E18, 0x655B, 
+    0x8138, 0x94FE, 0x604B, 0x70BC, 0x7EC3, 0x7CAE, 0x51C9, 0x6881, 0x7CB1, 
+    0x826F, 0x4E24, 0x8F86, 0x91CF, 0x667E, 0x4EAE, 0x8C05, 0x64A9, 0x804A, 
+    0x50DA, 0x7597, 0x71CE, 0x5BE5, 0x8FBD, 0x6F66, 0x4E86, 0x6482, 0x9563, 
+    0x5ED6, 0x6599, 0x5217, 0x88C2, 0x70C8, 0x52A3, 0x730E, 0x7433, 0x6797, 
+    0x78F7, 0x9716, 0x4E34, 0x90BB, 0x9CDE, 0x6DCB, 0x51DB, 0x8D41, 0x541D, 
+    0x62CE, 0x73B2, 0x83F1, 0x96F6, 0x9F84, 0x94C3, 0x4F36, 0x7F9A, 0x51CC, 
+    0x7075, 0x9675, 0x5CAD, 0x9886, 0x53E6, 0x4EE4, 0x6E9C, 0x7409, 0x69B4, 
+    0x786B, 0x998F, 0x7559, 0x5218, 0x7624, 0x6D41, 0x67F3, 0x516D, 0x9F99, 
+    0x804B, 0x5499, 0x7B3C, 0x7ABF},
+    {0x9686, 0x5784, 0x62E2, 0x9647, 0x697C, 0x5A04, 0x6402, 0x7BD3, 0x6F0F, 
+    0x964B, 0x82A6, 0x5362, 0x9885, 0x5E90, 0x7089, 0x63B3, 0x5364, 0x864F, 
+    0x9C81, 0x9E93, 0x788C, 0x9732, 0x8DEF, 0x8D42, 0x9E7F, 0x6F5E, 0x7984, 
+    0x5F55, 0x9646, 0x622E, 0x9A74, 0x5415, 0x94DD, 0x4FA3, 0x65C5, 0x5C65, 
+    0x5C61, 0x7F15, 0x8651, 0x6C2F, 0x5F8B, 0x7387, 0x6EE4, 0x7EFF, 0x5CE6, 
+    0x631B, 0x5B6A, 0x6EE6, 0x5375, 0x4E71, 0x63A0, 0x7565, 0x62A1, 0x8F6E, 
+    0x4F26, 0x4ED1, 0x6CA6, 0x7EB6, 0x8BBA, 0x841D, 0x87BA, 0x7F57, 0x903B, 
+    0x9523, 0x7BA9, 0x9AA1, 0x88F8, 0x843D, 0x6D1B, 0x9A86, 0x7EDC, 0x5988, 
+    0x9EBB, 0x739B, 0x7801, 0x8682, 0x9A6C, 0x9A82, 0x561B, 0x5417, 0x57CB, 
+    0x4E70, 0x9EA6, 0x5356, 0x8FC8, 0x8109, 0x7792, 0x9992, 0x86EE, 0x6EE1, 
+    0x8513, 0x66FC, 0x6162, 0x6F2B},
+    {0x8C29, 0x8292, 0x832B, 0x76F2, 0x6C13, 0x5FD9, 0x83BD, 0x732B, 0x8305, 
+    0x951A, 0x6BDB, 0x77DB, 0x94C6, 0x536F, 0x8302, 0x5192, 0x5E3D, 0x8C8C, 
+    0x8D38, 0x4E48, 0x73AB, 0x679A, 0x6885, 0x9176, 0x9709, 0x7164, 0x6CA1, 
+    0x7709, 0x5A92, 0x9541, 0x6BCF, 0x7F8E, 0x6627, 0x5BD0, 0x59B9, 0x5A9A, 
+    0x95E8, 0x95F7, 0x4EEC, 0x840C, 0x8499, 0x6AAC, 0x76DF, 0x9530, 0x731B, 
+    0x68A6, 0x5B5F, 0x772F, 0x919A, 0x9761, 0x7CDC, 0x8FF7, 0x8C1C, 0x5F25, 
+    0x7C73, 0x79D8, 0x89C5, 0x6CCC, 0x871C, 0x5BC6, 0x5E42, 0x68C9, 0x7720, 
+    0x7EF5, 0x5195, 0x514D, 0x52C9, 0x5A29, 0x7F05, 0x9762, 0x82D7, 0x63CF, 
+    0x7784, 0x85D0, 0x79D2, 0x6E3A, 0x5E99, 0x5999, 0x8511, 0x706D, 0x6C11, 
+    0x62BF, 0x76BF, 0x654F, 0x60AF, 0x95FD, 0x660E, 0x879F, 0x9E23, 0x94ED, 
+    0x540D, 0x547D, 0x8C2C, 0x6478},
+    {0x6479, 0x8611, 0x6A21, 0x819C, 0x78E8, 0x6469, 0x9B54, 0x62B9, 0x672B, 
+    0x83AB, 0x58A8, 0x9ED8, 0x6CAB, 0x6F20, 0x5BDE, 0x964C, 0x8C0B, 0x725F, 
+    0x67D0, 0x62C7, 0x7261, 0x4EA9, 0x59C6, 0x6BCD, 0x5893, 0x66AE, 0x5E55, 
+    0x52DF, 0x6155, 0x6728, 0x76EE, 0x7766, 0x7267, 0x7A46, 0x62FF, 0x54EA, 
+    0x5450, 0x94A0, 0x90A3, 0x5A1C, 0x7EB3, 0x6C16, 0x4E43, 0x5976, 0x8010, 
+    0x5948, 0x5357, 0x7537, 0x96BE, 0x56CA, 0x6320, 0x8111, 0x607C, 0x95F9, 
+    0x6DD6, 0x5462, 0x9981, 0x5185, 0x5AE9, 0x80FD, 0x59AE, 0x9713, 0x502A, 
+    0x6CE5, 0x5C3C, 0x62DF, 0x4F60, 0x533F, 0x817B, 0x9006, 0x6EBA, 0x852B, 
+    0x62C8, 0x5E74, 0x78BE, 0x64B5, 0x637B, 0x5FF5, 0x5A18, 0x917F, 0x9E1F, 
+    0x5C3F, 0x634F, 0x8042, 0x5B7D, 0x556E, 0x954A, 0x954D, 0x6D85, 0x60A8, 
+    0x67E0, 0x72DE, 0x51DD, 0x5B81},
+    {0x62E7, 0x6CDE, 0x725B, 0x626D, 0x94AE, 0x7EBD, 0x8113, 0x6D53, 0x519C, 
+    0x5F04, 0x5974, 0x52AA, 0x6012, 0x5973, 0x6696, 0x8650, 0x759F, 0x632A, 
+    0x61E6, 0x7CEF, 0x8BFA, 0x54E6, 0x6B27, 0x9E25, 0x6BB4, 0x85D5, 0x5455, 
+    0x5076, 0x6CA4, 0x556A, 0x8DB4, 0x722C, 0x5E15, 0x6015, 0x7436, 0x62CD, 
+    0x6392, 0x724C, 0x5F98, 0x6E43, 0x6D3E, 0x6500, 0x6F58, 0x76D8, 0x78D0, 
+    0x76FC, 0x7554, 0x5224, 0x53DB, 0x4E53, 0x5E9E, 0x65C1, 0x802A, 0x80D6, 
+    0x629B, 0x5486, 0x5228, 0x70AE, 0x888D, 0x8DD1, 0x6CE1, 0x5478, 0x80DA, 
+    0x57F9, 0x88F4, 0x8D54, 0x966A, 0x914D, 0x4F69, 0x6C9B, 0x55B7, 0x76C6, 
+    0x7830, 0x62A8, 0x70F9, 0x6F8E, 0x5F6D, 0x84EC, 0x68DA, 0x787C, 0x7BF7, 
+    0x81A8, 0x670B, 0x9E4F, 0x6367, 0x78B0, 0x576F, 0x7812, 0x9739, 0x6279, 
+    0x62AB, 0x5288, 0x7435, 0x6BD7},
+    {0x5564, 0x813E, 0x75B2, 0x76AE, 0x5339, 0x75DE, 0x50FB, 0x5C41, 0x8B6C, 
+    0x7BC7, 0x504F, 0x7247, 0x9A97, 0x98D8, 0x6F02, 0x74E2, 0x7968, 0x6487, 
+    0x77A5, 0x62FC, 0x9891, 0x8D2B, 0x54C1, 0x8058, 0x4E52, 0x576A, 0x82F9, 
+    0x840D, 0x5E73, 0x51ED, 0x74F6, 0x8BC4, 0x5C4F, 0x5761, 0x6CFC, 0x9887, 
+    0x5A46, 0x7834, 0x9B44, 0x8FEB, 0x7C95, 0x5256, 0x6251, 0x94FA, 0x4EC6, 
+    0x8386, 0x8461, 0x83E9, 0x84B2, 0x57D4, 0x6734, 0x5703, 0x666E, 0x6D66, 
+    0x8C31, 0x66DD, 0x7011, 0x671F, 0x6B3A, 0x6816, 0x621A, 0x59BB, 0x4E03, 
+    0x51C4, 0x6F06, 0x67D2, 0x6C8F, 0x5176, 0x68CB, 0x5947, 0x6B67, 0x7566, 
+    0x5D0E, 0x8110, 0x9F50, 0x65D7, 0x7948, 0x7941, 0x9A91, 0x8D77, 0x5C82, 
+    0x4E5E, 0x4F01, 0x542F, 0x5951, 0x780C, 0x5668, 0x6C14, 0x8FC4, 0x5F03, 
+    0x6C7D, 0x6CE3, 0x8BAB, 0x6390},
+    {0x6070, 0x6D3D, 0x7275, 0x6266, 0x948E, 0x94C5, 0x5343, 0x8FC1, 0x7B7E, 
+    0x4EDF, 0x8C26, 0x4E7E, 0x9ED4, 0x94B1, 0x94B3, 0x524D, 0x6F5C, 0x9063, 
+    0x6D45, 0x8C34, 0x5811, 0x5D4C, 0x6B20, 0x6B49, 0x67AA, 0x545B, 0x8154, 
+    0x7F8C, 0x5899, 0x8537, 0x5F3A, 0x62A2, 0x6A47, 0x9539, 0x6572, 0x6084, 
+    0x6865, 0x77A7, 0x4E54, 0x4FA8, 0x5DE7, 0x9798, 0x64AC, 0x7FD8, 0x5CED, 
+    0x4FCF, 0x7A8D, 0x5207, 0x8304, 0x4E14, 0x602F, 0x7A83, 0x94A6, 0x4FB5, 
+    0x4EB2, 0x79E6, 0x7434, 0x52E4, 0x82B9, 0x64D2, 0x79BD, 0x5BDD, 0x6C81, 
+    0x9752, 0x8F7B, 0x6C22, 0x503E, 0x537F, 0x6E05, 0x64CE, 0x6674, 0x6C30, 
+    0x60C5, 0x9877, 0x8BF7, 0x5E86, 0x743C, 0x7A77, 0x79CB, 0x4E18, 0x90B1, 
+    0x7403, 0x6C42, 0x56DA, 0x914B, 0x6CC5, 0x8D8B, 0x533A, 0x86C6, 0x66F2, 
+    0x8EAF, 0x5C48, 0x9A71, 0x6E20},
+    {0x53D6, 0x5A36, 0x9F8B, 0x8DA3, 0x53BB, 0x5708, 0x98A7, 0x6743, 0x919B, 
+    0x6CC9, 0x5168, 0x75CA, 0x62F3, 0x72AC, 0x5238, 0x529D, 0x7F3A, 0x7094, 
+    0x7638, 0x5374, 0x9E4A, 0x69B7, 0x786E, 0x96C0, 0x88D9, 0x7FA4, 0x7136, 
+    0x71C3, 0x5189, 0x67D3, 0x74E4, 0x58E4, 0x6518, 0x56B7, 0x8BA9, 0x9976, 
+    0x6270, 0x7ED5, 0x60F9, 0x70ED, 0x58EC, 0x4EC1, 0x4EBA, 0x5FCD, 0x97E7, 
+    0x4EFB, 0x8BA4, 0x5203, 0x598A, 0x7EAB, 0x6254, 0x4ECD, 0x65E5, 0x620E, 
+    0x8338, 0x84C9, 0x8363, 0x878D, 0x7194, 0x6EB6, 0x5BB9, 0x7ED2, 0x5197, 
+    0x63C9, 0x67D4, 0x8089, 0x8339, 0x8815, 0x5112, 0x5B7A, 0x5982, 0x8FB1, 
+    0x4E73, 0x6C5D, 0x5165, 0x8925, 0x8F6F, 0x962E, 0x854A, 0x745E, 0x9510, 
+    0x95F0, 0x6DA6, 0x82E5, 0x5F31, 0x6492, 0x6D12, 0x8428, 0x816E, 0x9CC3, 
+    0x585E, 0x8D5B, 0x4E09, 0x53C1},
+    {0x4F1E, 0x6563, 0x6851, 0x55D3, 0x4E27, 0x6414, 0x9A9A, 0x626B, 0x5AC2, 
+    0x745F, 0x8272, 0x6DA9, 0x68EE, 0x50E7, 0x838E, 0x7802, 0x6740, 0x5239, 
+    0x6C99, 0x7EB1, 0x50BB, 0x5565, 0x715E, 0x7B5B, 0x6652, 0x73CA, 0x82EB, 
+    0x6749, 0x5C71, 0x5220, 0x717D, 0x886B, 0x95EA, 0x9655, 0x64C5, 0x8D61, 
+    0x81B3, 0x5584, 0x6C55, 0x6247, 0x7F2E, 0x5892, 0x4F24, 0x5546, 0x8D4F, 
+    0x664C, 0x4E0A, 0x5C1A, 0x88F3, 0x68A2, 0x634E, 0x7A0D, 0x70E7, 0x828D, 
+    0x52FA, 0x97F6, 0x5C11, 0x54E8, 0x90B5, 0x7ECD, 0x5962, 0x8D4A, 0x86C7, 
+    0x820C, 0x820D, 0x8D66, 0x6444, 0x5C04, 0x6151, 0x6D89, 0x793E, 0x8BBE, 
+    0x7837, 0x7533, 0x547B, 0x4F38, 0x8EAB, 0x6DF1, 0x5A20, 0x7EC5, 0x795E, 
+    0x6C88, 0x5BA1, 0x5A76, 0x751A, 0x80BE, 0x614E, 0x6E17, 0x58F0, 0x751F, 
+    0x7525, 0x7272, 0x5347, 0x7EF3},
+    {0x7701, 0x76DB, 0x5269, 0x80DC, 0x5723, 0x5E08, 0x5931, 0x72EE, 0x65BD, 
+    0x6E7F, 0x8BD7, 0x5C38, 0x8671, 0x5341, 0x77F3, 0x62FE, 0x65F6, 0x4EC0, 
+    0x98DF, 0x8680, 0x5B9E, 0x8BC6, 0x53F2, 0x77E2, 0x4F7F, 0x5C4E, 0x9A76, 
+    0x59CB, 0x5F0F, 0x793A, 0x58EB, 0x4E16, 0x67FF, 0x4E8B, 0x62ED, 0x8A93, 
+    0x901D, 0x52BF, 0x662F, 0x55DC, 0x566C, 0x9002, 0x4ED5, 0x4F8D, 0x91CA, 
+    0x9970, 0x6C0F, 0x5E02, 0x6043, 0x5BA4, 0x89C6, 0x8BD5, 0x6536, 0x624B, 
+    0x9996, 0x5B88, 0x5BFF, 0x6388, 0x552E, 0x53D7, 0x7626, 0x517D, 0x852C, 
+    0x67A2, 0x68B3, 0x6B8A, 0x6292, 0x8F93, 0x53D4, 0x8212, 0x6DD1, 0x758F, 
+    0x4E66, 0x8D4E, 0x5B70, 0x719F, 0x85AF, 0x6691, 0x66D9, 0x7F72, 0x8700, 
+    0x9ECD, 0x9F20, 0x5C5E, 0x672F, 0x8FF0, 0x6811, 0x675F, 0x620D, 0x7AD6, 
+    0x5885, 0x5EB6, 0x6570, 0x6F31},
+    {0x6055, 0x5237, 0x800D, 0x6454, 0x8870, 0x7529, 0x5E05, 0x6813, 0x62F4, 
+    0x971C, 0x53CC, 0x723D, 0x8C01, 0x6C34, 0x7761, 0x7A0E, 0x542E, 0x77AC, 
+    0x987A, 0x821C, 0x8BF4, 0x7855, 0x6714, 0x70C1, 0x65AF, 0x6495, 0x5636, 
+    0x601D, 0x79C1, 0x53F8, 0x4E1D, 0x6B7B, 0x8086, 0x5BFA, 0x55E3, 0x56DB, 
+    0x4F3A, 0x4F3C, 0x9972, 0x5DF3, 0x677E, 0x8038, 0x6002, 0x9882, 0x9001, 
+    0x5B8B, 0x8BBC, 0x8BF5, 0x641C, 0x8258, 0x64DE, 0x55FD, 0x82CF, 0x9165, 
+    0x4FD7, 0x7D20, 0x901F, 0x7C9F, 0x50F3, 0x5851, 0x6EAF, 0x5BBF, 0x8BC9, 
+    0x8083, 0x9178, 0x849C, 0x7B97, 0x867D, 0x968B, 0x968F, 0x7EE5, 0x9AD3, 
+    0x788E, 0x5C81, 0x7A57, 0x9042, 0x96A7, 0x795F, 0x5B59, 0x635F, 0x7B0B, 
+    0x84D1, 0x68AD, 0x5506, 0x7F29, 0x7410, 0x7D22, 0x9501, 0x6240, 0x584C, 
+    0x4ED6, 0x5B83, 0x5979, 0x5854},
+    {0x736D, 0x631E, 0x8E4B, 0x8E0F, 0x80CE, 0x82D4, 0x62AC, 0x53F0, 0x6CF0, 
+    0x915E, 0x592A, 0x6001, 0x6C70, 0x574D, 0x644A, 0x8D2A, 0x762B, 0x6EE9, 
+    0x575B, 0x6A80, 0x75F0, 0x6F6D, 0x8C2D, 0x8C08, 0x5766, 0x6BEF, 0x8892, 
+    0x78B3, 0x63A2, 0x53F9, 0x70AD, 0x6C64, 0x5858, 0x642A, 0x5802, 0x68E0, 
+    0x819B, 0x5510, 0x7CD6, 0x5018, 0x8EBA, 0x6DCC, 0x8D9F, 0x70EB, 0x638F, 
+    0x6D9B, 0x6ED4, 0x7EE6, 0x8404, 0x6843, 0x9003, 0x6DD8, 0x9676, 0x8BA8, 
+    0x5957, 0x7279, 0x85E4, 0x817E, 0x75BC, 0x8A8A, 0x68AF, 0x5254, 0x8E22, 
+    0x9511, 0x63D0, 0x9898, 0x8E44, 0x557C, 0x4F53, 0x66FF, 0x568F, 0x60D5, 
+    0x6D95, 0x5243, 0x5C49, 0x5929, 0x6DFB, 0x586B, 0x7530, 0x751C, 0x606C, 
+    0x8214, 0x8146, 0x6311, 0x6761, 0x8FE2, 0x773A, 0x8DF3, 0x8D34, 0x94C1, 
+    0x5E16, 0x5385, 0x542C, 0x70C3},
+    {0x6C40, 0x5EF7, 0x505C, 0x4EAD, 0x5EAD, 0x633A, 0x8247, 0x901A, 0x6850, 
+    0x916E, 0x77B3, 0x540C, 0x94DC, 0x5F64, 0x7AE5, 0x6876, 0x6345, 0x7B52, 
+    0x7EDF, 0x75DB, 0x5077, 0x6295, 0x5934, 0x900F, 0x51F8, 0x79C3, 0x7A81, 
+    0x56FE, 0x5F92, 0x9014, 0x6D82, 0x5C60, 0x571F, 0x5410, 0x5154, 0x6E4D, 
+    0x56E2, 0x63A8, 0x9893, 0x817F, 0x8715, 0x892A, 0x9000, 0x541E, 0x5C6F, 
+    0x81C0, 0x62D6, 0x6258, 0x8131, 0x9E35, 0x9640, 0x9A6E, 0x9A7C, 0x692D, 
+    0x59A5, 0x62D3, 0x553E, 0x6316, 0x54C7, 0x86D9, 0x6D3C, 0x5A03, 0x74E6, 
+    0x889C, 0x6B6A, 0x5916, 0x8C4C, 0x5F2F, 0x6E7E, 0x73A9, 0x987D, 0x4E38, 
+    0x70F7, 0x5B8C, 0x7897, 0x633D, 0x665A, 0x7696, 0x60CB, 0x5B9B, 0x5A49, 
+    0x4E07, 0x8155, 0x6C6A, 0x738B, 0x4EA1, 0x6789, 0x7F51, 0x5F80, 0x65FA, 
+    0x671B, 0x5FD8, 0x5984, 0x5A01},
+    {0x5DCD, 0x5FAE, 0x5371, 0x97E6, 0x8FDD, 0x6845, 0x56F4, 0x552F, 0x60DF, 
+    0x4E3A, 0x6F4D, 0x7EF4, 0x82C7, 0x840E, 0x59D4, 0x4F1F, 0x4F2A, 0x5C3E, 
+    0x7EAC, 0x672A, 0x851A, 0x5473, 0x754F, 0x80C3, 0x5582, 0x9B4F, 0x4F4D, 
+    0x6E2D, 0x8C13, 0x5C09, 0x6170, 0x536B, 0x761F, 0x6E29, 0x868A, 0x6587, 
+    0x95FB, 0x7EB9, 0x543B, 0x7A33, 0x7D0A, 0x95EE, 0x55E1, 0x7FC1, 0x74EE, 
+    0x631D, 0x8717, 0x6DA1, 0x7A9D, 0x6211, 0x65A1, 0x5367, 0x63E1, 0x6C83, 
+    0x5DEB, 0x545C, 0x94A8, 0x4E4C, 0x6C61, 0x8BEC, 0x5C4B, 0x65E0, 0x829C, 
+    0x68A7, 0x543E, 0x5434, 0x6BCB, 0x6B66, 0x4E94, 0x6342, 0x5348, 0x821E, 
+    0x4F0D, 0x4FAE, 0x575E, 0x620A, 0x96FE, 0x6664, 0x7269, 0x52FF, 0x52A1, 
+    0x609F, 0x8BEF, 0x6614, 0x7199, 0x6790, 0x897F, 0x7852, 0x77FD, 0x6670, 
+    0x563B, 0x5438, 0x9521, 0x727A},
+    {0x7A00, 0x606F, 0x5E0C, 0x6089, 0x819D, 0x5915, 0x60DC, 0x7184, 0x70EF, 
+    0x6EAA, 0x6C50, 0x7280, 0x6A84, 0x88AD, 0x5E2D, 0x4E60, 0x5AB3, 0x559C, 
+    0x94E3, 0x6D17, 0x7CFB, 0x9699, 0x620F, 0x7EC6, 0x778E, 0x867E, 0x5323, 
+    0x971E, 0x8F96, 0x6687, 0x5CE1, 0x4FA0, 0x72ED, 0x4E0B, 0x53A6, 0x590F, 
+    0x5413, 0x6380, 0x9528, 0x5148, 0x4ED9, 0x9C9C, 0x7EA4, 0x54B8, 0x8D24, 
+    0x8854, 0x8237, 0x95F2, 0x6D8E, 0x5F26, 0x5ACC, 0x663E, 0x9669, 0x73B0, 
+    0x732E, 0x53BF, 0x817A, 0x9985, 0x7FA1, 0x5BAA, 0x9677, 0x9650, 0x7EBF, 
+    0x76F8, 0x53A2, 0x9576, 0x9999, 0x7BB1, 0x8944, 0x6E58, 0x4E61, 0x7FD4, 
+    0x7965, 0x8BE6, 0x60F3, 0x54CD, 0x4EAB, 0x9879, 0x5DF7, 0x6A61, 0x50CF, 
+    0x5411, 0x8C61, 0x8427, 0x785D, 0x9704, 0x524A, 0x54EE, 0x56A3, 0x9500, 
+    0x6D88, 0x5BB5, 0x6DC6, 0x6653},
+    {0x5C0F, 0x5B5D, 0x6821, 0x8096, 0x5578, 0x7B11, 0x6548, 0x6954, 0x4E9B, 
+    0x6B47, 0x874E, 0x978B, 0x534F, 0x631F, 0x643A, 0x90AA, 0x659C, 0x80C1, 
+    0x8C10, 0x5199, 0x68B0, 0x5378, 0x87F9, 0x61C8, 0x6CC4, 0x6CFB, 0x8C22, 
+    0x5C51, 0x85AA, 0x82AF, 0x950C, 0x6B23, 0x8F9B, 0x65B0, 0x5FFB, 0x5FC3, 
+    0x4FE1, 0x8845, 0x661F, 0x8165, 0x7329, 0x60FA, 0x5174, 0x5211, 0x578B, 
+    0x5F62, 0x90A2, 0x884C, 0x9192, 0x5E78, 0x674F, 0x6027, 0x59D3, 0x5144, 
+    0x51F6, 0x80F8, 0x5308, 0x6C79, 0x96C4, 0x718A, 0x4F11, 0x4FEE, 0x7F9E, 
+    0x673D, 0x55C5, 0x9508, 0x79C0, 0x8896, 0x7EE3, 0x589F, 0x620C, 0x9700, 
+    0x865A, 0x5618, 0x987B, 0x5F90, 0x8BB8, 0x84C4, 0x9157, 0x53D9, 0x65ED, 
+    0x5E8F, 0x755C, 0x6064, 0x7D6E, 0x5A7F, 0x7EEA, 0x7EED, 0x8F69, 0x55A7, 
+    0x5BA3, 0x60AC, 0x65CB, 0x7384},
+    {0x9009, 0x7663, 0x7729, 0x7EDA, 0x9774, 0x859B, 0x5B66, 0x7A74, 0x96EA, 
+    0x8840, 0x52CB, 0x718F, 0x5FAA, 0x65EC, 0x8BE2, 0x5BFB, 0x9A6F, 0x5DE1, 
+    0x6B89, 0x6C5B, 0x8BAD, 0x8BAF, 0x900A, 0x8FC5, 0x538B, 0x62BC, 0x9E26, 
+    0x9E2D, 0x5440, 0x4E2B, 0x82BD, 0x7259, 0x869C, 0x5D16, 0x8859, 0x6DAF, 
+    0x96C5, 0x54D1, 0x4E9A, 0x8BB6, 0x7109, 0x54BD, 0x9609, 0x70DF, 0x6DF9, 
+    0x76D0, 0x4E25, 0x7814, 0x8712, 0x5CA9, 0x5EF6, 0x8A00, 0x989C, 0x960E, 
+    0x708E, 0x6CBF, 0x5944, 0x63A9, 0x773C, 0x884D, 0x6F14, 0x8273, 0x5830, 
+    0x71D5, 0x538C, 0x781A, 0x96C1, 0x5501, 0x5F66, 0x7130, 0x5BB4, 0x8C1A, 
+    0x9A8C, 0x6B83, 0x592E, 0x9E2F, 0x79E7, 0x6768, 0x626C, 0x4F6F, 0x75A1, 
+    0x7F8A, 0x6D0B, 0x9633, 0x6C27, 0x4EF0, 0x75D2, 0x517B, 0x6837, 0x6F3E, 
+    0x9080, 0x8170, 0x5996, 0x7476},
+    {0x6447, 0x5C27, 0x9065, 0x7A91, 0x8C23, 0x59DA, 0x54AC, 0x8200, 0x836F, 
+    0x8981, 0x8000, 0x6930, 0x564E, 0x8036, 0x7237, 0x91CE, 0x51B6, 0x4E5F, 
+    0x9875, 0x6396, 0x4E1A, 0x53F6, 0x66F3, 0x814B, 0x591C, 0x6DB2, 0x4E00, 
+    0x58F9, 0x533B, 0x63D6, 0x94F1, 0x4F9D, 0x4F0A, 0x8863, 0x9890, 0x5937, 
+    0x9057, 0x79FB, 0x4EEA, 0x80F0, 0x7591, 0x6C82, 0x5B9C, 0x59E8, 0x5F5D, 
+    0x6905, 0x8681, 0x501A, 0x5DF2, 0x4E59, 0x77E3, 0x4EE5, 0x827A, 0x6291, 
+    0x6613, 0x9091, 0x5C79, 0x4EBF, 0x5F79, 0x81C6, 0x9038, 0x8084, 0x75AB, 
+    0x4EA6, 0x88D4, 0x610F, 0x6BC5, 0x5FC6, 0x4E49, 0x76CA, 0x6EA2, 0x8BE3, 
+    0x8BAE, 0x8C0A, 0x8BD1, 0x5F02, 0x7FFC, 0x7FCC, 0x7ECE, 0x8335, 0x836B, 
+    0x56E0, 0x6BB7, 0x97F3, 0x9634, 0x59FB, 0x541F, 0x94F6, 0x6DEB, 0x5BC5, 
+    0x996E, 0x5C39, 0x5F15, 0x9690},
+    {0x5370, 0x82F1, 0x6A31, 0x5A74, 0x9E70, 0x5E94, 0x7F28, 0x83B9, 0x8424, 
+    0x8425, 0x8367, 0x8747, 0x8FCE, 0x8D62, 0x76C8, 0x5F71, 0x9896, 0x786C, 
+    0x6620, 0x54DF, 0x62E5, 0x4F63, 0x81C3, 0x75C8, 0x5EB8, 0x96CD, 0x8E0A, 
+    0x86F9, 0x548F, 0x6CF3, 0x6D8C, 0x6C38, 0x607F, 0x52C7, 0x7528, 0x5E7D, 
+    0x4F18, 0x60A0, 0x5FE7, 0x5C24, 0x7531, 0x90AE, 0x94C0, 0x72B9, 0x6CB9, 
+    0x6E38, 0x9149, 0x6709, 0x53CB, 0x53F3, 0x4F51, 0x91C9, 0x8BF1, 0x53C8, 
+    0x5E7C, 0x8FC2, 0x6DE4, 0x4E8E, 0x76C2, 0x6986, 0x865E, 0x611A, 0x8206, 
+    0x4F59, 0x4FDE, 0x903E, 0x9C7C, 0x6109, 0x6E1D, 0x6E14, 0x9685, 0x4E88, 
+    0x5A31, 0x96E8, 0x4E0E, 0x5C7F, 0x79B9, 0x5B87, 0x8BED, 0x7FBD, 0x7389, 
+    0x57DF, 0x828B, 0x90C1, 0x5401, 0x9047, 0x55BB, 0x5CEA, 0x5FA1, 0x6108, 
+    0x6B32, 0x72F1, 0x80B2, 0x8A89},
+    {0x6D74, 0x5BD3, 0x88D5, 0x9884, 0x8C6B, 0x9A6D, 0x9E33, 0x6E0A, 0x51A4, 
+    0x5143, 0x57A3, 0x8881, 0x539F, 0x63F4, 0x8F95, 0x56ED, 0x5458, 0x5706, 
+    0x733F, 0x6E90, 0x7F18, 0x8FDC, 0x82D1, 0x613F, 0x6028, 0x9662, 0x66F0, 
+    0x7EA6, 0x8D8A, 0x8DC3, 0x94A5, 0x5CB3, 0x7CA4, 0x6708, 0x60A6, 0x9605, 
+    0x8018, 0x4E91, 0x90E7, 0x5300, 0x9668, 0x5141, 0x8FD0, 0x8574, 0x915D, 
+    0x6655, 0x97F5, 0x5B55, 0x531D, 0x7838, 0x6742, 0x683D, 0x54C9, 0x707E, 
+    0x5BB0, 0x8F7D, 0x518D, 0x5728, 0x54B1, 0x6512, 0x6682, 0x8D5E, 0x8D43, 
+    0x810F, 0x846C, 0x906D, 0x7CDF, 0x51FF, 0x85FB, 0x67A3, 0x65E9, 0x6FA1, 
+    0x86A4, 0x8E81, 0x566A, 0x9020, 0x7682, 0x7076, 0x71E5, 0x8D23, 0x62E9, 
+    0x5219, 0x6CFD, 0x8D3C, 0x600E, 0x589E, 0x618E, 0x66FE, 0x8D60, 0x624E, 
+    0x55B3, 0x6E23, 0x672D, 0x8F67},
+    {0x94E1, 0x95F8, 0x7728, 0x6805, 0x69A8, 0x548B, 0x4E4D, 0x70B8, 0x8BC8, 
+    0x6458, 0x658B, 0x5B85, 0x7A84, 0x503A, 0x5BE8, 0x77BB, 0x6BE1, 0x8A79, 
+    0x7C98, 0x6CBE, 0x76CF, 0x65A9, 0x8F97, 0x5D2D, 0x5C55, 0x8638, 0x6808, 
+    0x5360, 0x6218, 0x7AD9, 0x6E5B, 0x7EFD, 0x6A1F, 0x7AE0, 0x5F70, 0x6F33, 
+    0x5F20, 0x638C, 0x6DA8, 0x6756, 0x4E08, 0x5E10, 0x8D26, 0x4ED7, 0x80C0, 
+    0x7634, 0x969C, 0x62DB, 0x662D, 0x627E, 0x6CBC, 0x8D75, 0x7167, 0x7F69, 
+    0x5146, 0x8087, 0x53EC, 0x906E, 0x6298, 0x54F2, 0x86F0, 0x8F99, 0x8005, 
+    0x9517, 0x8517, 0x8FD9, 0x6D59, 0x73CD, 0x659F, 0x771F, 0x7504, 0x7827, 
+    0x81FB, 0x8D1E, 0x9488, 0x4FA6, 0x6795, 0x75B9, 0x8BCA, 0x9707, 0x632F, 
+    0x9547, 0x9635, 0x84B8, 0x6323, 0x7741, 0x5F81, 0x72F0, 0x4E89, 0x6014, 
+    0x6574, 0x62EF, 0x6B63, 0x653F},
+    {0x5E27, 0x75C7, 0x90D1, 0x8BC1, 0x829D, 0x679D, 0x652F, 0x5431, 0x8718, 
+    0x77E5, 0x80A2, 0x8102, 0x6C41, 0x4E4B, 0x7EC7, 0x804C, 0x76F4, 0x690D, 
+    0x6B96, 0x6267, 0x503C, 0x4F84, 0x5740, 0x6307, 0x6B62, 0x8DBE, 0x53EA, 
+    0x65E8, 0x7EB8, 0x5FD7, 0x631A, 0x63B7, 0x81F3, 0x81F4, 0x7F6E, 0x5E1C, 
+    0x5CD9, 0x5236, 0x667A, 0x79E9, 0x7A1A, 0x8D28, 0x7099, 0x75D4, 0x6EDE, 
+    0x6CBB, 0x7A92, 0x4E2D, 0x76C5, 0x5FE0, 0x949F, 0x8877, 0x7EC8, 0x79CD, 
+    0x80BF, 0x91CD, 0x4EF2, 0x4F17, 0x821F, 0x5468, 0x5DDE, 0x6D32, 0x8BCC, 
+    0x7CA5, 0x8F74, 0x8098, 0x5E1A, 0x5492, 0x76B1, 0x5B99, 0x663C, 0x9AA4, 
+    0x73E0, 0x682A, 0x86DB, 0x6731, 0x732A, 0x8BF8, 0x8BDB, 0x9010, 0x7AF9, 
+    0x70DB, 0x716E, 0x62C4, 0x77A9, 0x5631, 0x4E3B, 0x8457, 0x67F1, 0x52A9, 
+    0x86C0, 0x8D2E, 0x94F8, 0x7B51},
+    {0x4F4F, 0x6CE8, 0x795D, 0x9A7B, 0x6293, 0x722A, 0x62FD, 0x4E13, 0x7816, 
+    0x8F6C, 0x64B0, 0x8D5A, 0x7BC6, 0x6869, 0x5E84, 0x88C5, 0x5986, 0x649E, 
+    0x58EE, 0x72B6, 0x690E, 0x9525, 0x8FFD, 0x8D58, 0x5760, 0x7F00, 0x8C06, 
+    0x51C6, 0x6349, 0x62D9, 0x5353, 0x684C, 0x7422, 0x8301, 0x914C, 0x5544, 
+    0x7740, 0x707C, 0x6D4A, 0x5179, 0x54A8, 0x8D44, 0x59FF, 0x6ECB, 0x6DC4, 
+    0x5B5C, 0x7D2B, 0x4ED4, 0x7C7D, 0x6ED3, 0x5B50, 0x81EA, 0x6E0D, 0x5B57, 
+    0x9B03, 0x68D5, 0x8E2A, 0x5B97, 0x7EFC, 0x603B, 0x7EB5, 0x90B9, 0x8D70, 
+    0x594F, 0x63CD, 0x79DF, 0x8DB3, 0x5352, 0x65CF, 0x7956, 0x8BC5, 0x963B, 
+    0x7EC4, 0x94BB, 0x7E82, 0x5634, 0x9189, 0x6700, 0x7F6A, 0x5C0A, 0x9075, 
+    0x6628, 0x5DE6, 0x4F50, 0x67DE, 0x505A, 0x4F5C, 0x5750, 0x5EA7,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR},
+    {0x4E8D, 0x4E0C, 0x5140, 0x4E10, 0x5EFF, 0x5345, 0x4E15, 0x4E98, 0x4E1E, 
+    0x9B32, 0x5B6C, 0x5669, 0x4E28, 0x79BA, 0x4E3F, 0x5315, 0x4E47, 0x592D, 
+    0x723B, 0x536E, 0x6C10, 0x56DF, 0x80E4, 0x9997, 0x6BD3, 0x777E, 0x9F17, 
+    0x4E36, 0x4E9F, 0x9F10, 0x4E5C, 0x4E69, 0x4E93, 0x8288, 0x5B5B, 0x556C, 
+    0x560F, 0x4EC4, 0x538D, 0x539D, 0x53A3, 0x53A5, 0x53AE, 0x9765, 0x8D5D, 
+    0x531A, 0x53F5, 0x5326, 0x532E, 0x533E, 0x8D5C, 0x5366, 0x5363, 0x5202, 
+    0x5208, 0x520E, 0x522D, 0x5233, 0x523F, 0x5240, 0x524C, 0x525E, 0x5261, 
+    0x525C, 0x84AF, 0x527D, 0x5282, 0x5281, 0x5290, 0x5293, 0x5182, 0x7F54, 
+    0x4EBB, 0x4EC3, 0x4EC9, 0x4EC2, 0x4EE8, 0x4EE1, 0x4EEB, 0x4EDE, 0x4F1B, 
+    0x4EF3, 0x4F22, 0x4F64, 0x4EF5, 0x4F25, 0x4F27, 0x4F09, 0x4F2B, 0x4F5E, 
+    0x4F67, 0x6538, 0x4F5A, 0x4F5D},
+    {0x4F5F, 0x4F57, 0x4F32, 0x4F3D, 0x4F76, 0x4F74, 0x4F91, 0x4F89, 0x4F83, 
+    0x4F8F, 0x4F7E, 0x4F7B, 0x4FAA, 0x4F7C, 0x4FAC, 0x4F94, 0x4FE6, 0x4FE8, 
+    0x4FEA, 0x4FC5, 0x4FDA, 0x4FE3, 0x4FDC, 0x4FD1, 0x4FDF, 0x4FF8, 0x5029, 
+    0x504C, 0x4FF3, 0x502C, 0x500F, 0x502E, 0x502D, 0x4FFE, 0x501C, 0x500C, 
+    0x5025, 0x5028, 0x507E, 0x5043, 0x5055, 0x5048, 0x504E, 0x506C, 0x507B, 
+    0x50A5, 0x50A7, 0x50A9, 0x50BA, 0x50D6, 0x5106, 0x50ED, 0x50EC, 0x50E6, 
+    0x50EE, 0x5107, 0x510B, 0x4EDD, 0x6C3D, 0x4F58, 0x4F65, 0x4FCE, 0x9FA0, 
+    0x6C46, 0x7C74, 0x516E, 0x5DFD, 0x9EC9, 0x9998, 0x5181, 0x5914, 0x52F9, 
+    0x530D, 0x8A07, 0x5310, 0x51EB, 0x5919, 0x5155, 0x4EA0, 0x5156, 0x4EB3, 
+    0x886E, 0x88A4, 0x4EB5, 0x8114, 0x88D2, 0x7980, 0x5B34, 0x8803, 0x7FB8, 
+    0x51AB, 0x51B1, 0x51BD, 0x51BC},
+    {0x51C7, 0x5196, 0x51A2, 0x51A5, 0x8BA0, 0x8BA6, 0x8BA7, 0x8BAA, 0x8BB4, 
+    0x8BB5, 0x8BB7, 0x8BC2, 0x8BC3, 0x8BCB, 0x8BCF, 0x8BCE, 0x8BD2, 0x8BD3, 
+    0x8BD4, 0x8BD6, 0x8BD8, 0x8BD9, 0x8BDC, 0x8BDF, 0x8BE0, 0x8BE4, 0x8BE8, 
+    0x8BE9, 0x8BEE, 0x8BF0, 0x8BF3, 0x8BF6, 0x8BF9, 0x8BFC, 0x8BFF, 0x8C00, 
+    0x8C02, 0x8C04, 0x8C07, 0x8C0C, 0x8C0F, 0x8C11, 0x8C12, 0x8C14, 0x8C15, 
+    0x8C16, 0x8C19, 0x8C1B, 0x8C18, 0x8C1D, 0x8C1F, 0x8C20, 0x8C21, 0x8C25, 
+    0x8C27, 0x8C2A, 0x8C2B, 0x8C2E, 0x8C2F, 0x8C32, 0x8C33, 0x8C35, 0x8C36, 
+    0x5369, 0x537A, 0x961D, 0x9622, 0x9621, 0x9631, 0x962A, 0x963D, 0x963C, 
+    0x9642, 0x9649, 0x9654, 0x965F, 0x9667, 0x966C, 0x9672, 0x9674, 0x9688, 
+    0x968D, 0x9697, 0x96B0, 0x9097, 0x909B, 0x909D, 0x9099, 0x90AC, 0x90A1, 
+    0x90B4, 0x90B3, 0x90B6, 0x90BA},
+    {0x90B8, 0x90B0, 0x90CF, 0x90C5, 0x90BE, 0x90D0, 0x90C4, 0x90C7, 0x90D3, 
+    0x90E6, 0x90E2, 0x90DC, 0x90D7, 0x90DB, 0x90EB, 0x90EF, 0x90FE, 0x9104, 
+    0x9122, 0x911E, 0x9123, 0x9131, 0x912F, 0x9139, 0x9143, 0x9146, 0x520D, 
+    0x5942, 0x52A2, 0x52AC, 0x52AD, 0x52BE, 0x54FF, 0x52D0, 0x52D6, 0x52F0, 
+    0x53DF, 0x71EE, 0x77CD, 0x5EF4, 0x51F5, 0x51FC, 0x9B2F, 0x53B6, 0x5F01, 
+    0x755A, 0x5DEF, 0x574C, 0x57A9, 0x57A1, 0x587E, 0x58BC, 0x58C5, 0x58D1, 
+    0x5729, 0x572C, 0x572A, 0x5733, 0x5739, 0x572E, 0x572F, 0x575C, 0x573B, 
+    0x5742, 0x5769, 0x5785, 0x576B, 0x5786, 0x577C, 0x577B, 0x5768, 0x576D, 
+    0x5776, 0x5773, 0x57AD, 0x57A4, 0x578C, 0x57B2, 0x57CF, 0x57A7, 0x57B4, 
+    0x5793, 0x57A0, 0x57D5, 0x57D8, 0x57DA, 0x57D9, 0x57D2, 0x57B8, 0x57F4, 
+    0x57EF, 0x57F8, 0x57E4, 0x57DD},
+    {0x580B, 0x580D, 0x57FD, 0x57ED, 0x5800, 0x581E, 0x5819, 0x5844, 0x5820, 
+    0x5865, 0x586C, 0x5881, 0x5889, 0x589A, 0x5880, 0x99A8, 0x9F19, 0x61FF, 
+    0x8279, 0x827D, 0x827F, 0x828F, 0x828A, 0x82A8, 0x8284, 0x828E, 0x8291, 
+    0x8297, 0x8299, 0x82AB, 0x82B8, 0x82BE, 0x82B0, 0x82C8, 0x82CA, 0x82E3, 
+    0x8298, 0x82B7, 0x82AE, 0x82CB, 0x82CC, 0x82C1, 0x82A9, 0x82B4, 0x82A1, 
+    0x82AA, 0x829F, 0x82C4, 0x82CE, 0x82A4, 0x82E1, 0x8309, 0x82F7, 0x82E4, 
+    0x830F, 0x8307, 0x82DC, 0x82F4, 0x82D2, 0x82D8, 0x830C, 0x82FB, 0x82D3, 
+    0x8311, 0x831A, 0x8306, 0x8314, 0x8315, 0x82E0, 0x82D5, 0x831C, 0x8351, 
+    0x835B, 0x835C, 0x8308, 0x8392, 0x833C, 0x8334, 0x8331, 0x839B, 0x835E, 
+    0x832F, 0x834F, 0x8347, 0x8343, 0x835F, 0x8340, 0x8317, 0x8360, 0x832D, 
+    0x833A, 0x8333, 0x8366, 0x8365},
+    {0x8368, 0x831B, 0x8369, 0x836C, 0x836A, 0x836D, 0x836E, 0x83B0, 0x8378, 
+    0x83B3, 0x83B4, 0x83A0, 0x83AA, 0x8393, 0x839C, 0x8385, 0x837C, 0x83B6, 
+    0x83A9, 0x837D, 0x83B8, 0x837B, 0x8398, 0x839E, 0x83A8, 0x83BA, 0x83BC, 
+    0x83C1, 0x8401, 0x83E5, 0x83D8, 0x5807, 0x8418, 0x840B, 0x83DD, 0x83FD, 
+    0x83D6, 0x841C, 0x8438, 0x8411, 0x8406, 0x83D4, 0x83DF, 0x840F, 0x8403, 
+    0x83F8, 0x83F9, 0x83EA, 0x83C5, 0x83C0, 0x8426, 0x83F0, 0x83E1, 0x845C, 
+    0x8451, 0x845A, 0x8459, 0x8473, 0x8487, 0x8488, 0x847A, 0x8489, 0x8478, 
+    0x843C, 0x8446, 0x8469, 0x8476, 0x848C, 0x848E, 0x8431, 0x846D, 0x84C1, 
+    0x84CD, 0x84D0, 0x84E6, 0x84BD, 0x84D3, 0x84CA, 0x84BF, 0x84BA, 0x84E0, 
+    0x84A1, 0x84B9, 0x84B4, 0x8497, 0x84E5, 0x84E3, 0x850C, 0x750D, 0x8538, 
+    0x84F0, 0x8539, 0x851F, 0x853A},
+    {0x8556, 0x853B, 0x84FF, 0x84FC, 0x8559, 0x8548, 0x8568, 0x8564, 0x855E, 
+    0x857A, 0x77A2, 0x8543, 0x8572, 0x857B, 0x85A4, 0x85A8, 0x8587, 0x858F, 
+    0x8579, 0x85AE, 0x859C, 0x8585, 0x85B9, 0x85B7, 0x85B0, 0x85D3, 0x85C1, 
+    0x85DC, 0x85FF, 0x8627, 0x8605, 0x8629, 0x8616, 0x863C, 0x5EFE, 0x5F08, 
+    0x593C, 0x5941, 0x8037, 0x5955, 0x595A, 0x5958, 0x530F, 0x5C22, 0x5C25, 
+    0x5C2C, 0x5C34, 0x624C, 0x626A, 0x629F, 0x62BB, 0x62CA, 0x62DA, 0x62D7, 
+    0x62EE, 0x6322, 0x62F6, 0x6339, 0x634B, 0x6343, 0x63AD, 0x63F6, 0x6371, 
+    0x637A, 0x638E, 0x63B4, 0x636D, 0x63AC, 0x638A, 0x6369, 0x63AE, 0x63BC, 
+    0x63F2, 0x63F8, 0x63E0, 0x63FF, 0x63C4, 0x63DE, 0x63CE, 0x6452, 0x63C6, 
+    0x63BE, 0x6445, 0x6441, 0x640B, 0x641B, 0x6420, 0x640C, 0x6426, 0x6421, 
+    0x645E, 0x6484, 0x646D, 0x6496},
+    {0x647A, 0x64B7, 0x64B8, 0x6499, 0x64BA, 0x64C0, 0x64D0, 0x64D7, 0x64E4, 
+    0x64E2, 0x6509, 0x6525, 0x652E, 0x5F0B, 0x5FD2, 0x7519, 0x5F11, 0x535F, 
+    0x53F1, 0x53FD, 0x53E9, 0x53E8, 0x53FB, 0x5412, 0x5416, 0x5406, 0x544B, 
+    0x5452, 0x5453, 0x5454, 0x5456, 0x5443, 0x5421, 0x5457, 0x5459, 0x5423, 
+    0x5432, 0x5482, 0x5494, 0x5477, 0x5471, 0x5464, 0x549A, 0x549B, 0x5484, 
+    0x5476, 0x5466, 0x549D, 0x54D0, 0x54AD, 0x54C2, 0x54B4, 0x54D2, 0x54A7, 
+    0x54A6, 0x54D3, 0x54D4, 0x5472, 0x54A3, 0x54D5, 0x54BB, 0x54BF, 0x54CC, 
+    0x54D9, 0x54DA, 0x54DC, 0x54A9, 0x54AA, 0x54A4, 0x54DD, 0x54CF, 0x54DE, 
+    0x551B, 0x54E7, 0x5520, 0x54FD, 0x5514, 0x54F3, 0x5522, 0x5523, 0x550F, 
+    0x5511, 0x5527, 0x552A, 0x5567, 0x558F, 0x55B5, 0x5549, 0x556D, 0x5541, 
+    0x5555, 0x553F, 0x5550, 0x553C},
+    {0x5537, 0x5556, 0x5575, 0x5576, 0x5577, 0x5533, 0x5530, 0x555C, 0x558B, 
+    0x55D2, 0x5583, 0x55B1, 0x55B9, 0x5588, 0x5581, 0x559F, 0x557E, 0x55D6, 
+    0x5591, 0x557B, 0x55DF, 0x55BD, 0x55BE, 0x5594, 0x5599, 0x55EA, 0x55F7, 
+    0x55C9, 0x561F, 0x55D1, 0x55EB, 0x55EC, 0x55D4, 0x55E6, 0x55DD, 0x55C4, 
+    0x55EF, 0x55E5, 0x55F2, 0x55F3, 0x55CC, 0x55CD, 0x55E8, 0x55F5, 0x55E4, 
+    0x8F94, 0x561E, 0x5608, 0x560C, 0x5601, 0x5624, 0x5623, 0x55FE, 0x5600, 
+    0x5627, 0x562D, 0x5658, 0x5639, 0x5657, 0x562C, 0x564D, 0x5662, 0x5659, 
+    0x565C, 0x564C, 0x5654, 0x5686, 0x5664, 0x5671, 0x566B, 0x567B, 0x567C, 
+    0x5685, 0x5693, 0x56AF, 0x56D4, 0x56D7, 0x56DD, 0x56E1, 0x56F5, 0x56EB, 
+    0x56F9, 0x56FF, 0x5704, 0x570A, 0x5709, 0x571C, 0x5E0F, 0x5E19, 0x5E14, 
+    0x5E11, 0x5E31, 0x5E3B, 0x5E3C},
+    {0x5E37, 0x5E44, 0x5E54, 0x5E5B, 0x5E5E, 0x5E61, 0x5C8C, 0x5C7A, 0x5C8D, 
+    0x5C90, 0x5C96, 0x5C88, 0x5C98, 0x5C99, 0x5C91, 0x5C9A, 0x5C9C, 0x5CB5, 
+    0x5CA2, 0x5CBD, 0x5CAC, 0x5CAB, 0x5CB1, 0x5CA3, 0x5CC1, 0x5CB7, 0x5CC4, 
+    0x5CD2, 0x5CE4, 0x5CCB, 0x5CE5, 0x5D02, 0x5D03, 0x5D27, 0x5D26, 0x5D2E, 
+    0x5D24, 0x5D1E, 0x5D06, 0x5D1B, 0x5D58, 0x5D3E, 0x5D34, 0x5D3D, 0x5D6C, 
+    0x5D5B, 0x5D6F, 0x5D5D, 0x5D6B, 0x5D4B, 0x5D4A, 0x5D69, 0x5D74, 0x5D82, 
+    0x5D99, 0x5D9D, 0x8C73, 0x5DB7, 0x5DC5, 0x5F73, 0x5F77, 0x5F82, 0x5F87, 
+    0x5F89, 0x5F8C, 0x5F95, 0x5F99, 0x5F9C, 0x5FA8, 0x5FAD, 0x5FB5, 0x5FBC, 
+    0x8862, 0x5F61, 0x72AD, 0x72B0, 0x72B4, 0x72B7, 0x72B8, 0x72C3, 0x72C1, 
+    0x72CE, 0x72CD, 0x72D2, 0x72E8, 0x72EF, 0x72E9, 0x72F2, 0x72F4, 0x72F7, 
+    0x7301, 0x72F3, 0x7303, 0x72FA},
+    {0x72FB, 0x7317, 0x7313, 0x7321, 0x730A, 0x731E, 0x731D, 0x7315, 0x7322, 
+    0x7339, 0x7325, 0x732C, 0x7338, 0x7331, 0x7350, 0x734D, 0x7357, 0x7360, 
+    0x736C, 0x736F, 0x737E, 0x821B, 0x5925, 0x98E7, 0x5924, 0x5902, 0x9963, 
+    0x9967, 0x9968, 0x9969, 0x996A, 0x996B, 0x996C, 0x9974, 0x9977, 0x997D, 
+    0x9980, 0x9984, 0x9987, 0x998A, 0x998D, 0x9990, 0x9991, 0x9993, 0x9994, 
+    0x9995, 0x5E80, 0x5E91, 0x5E8B, 0x5E96, 0x5EA5, 0x5EA0, 0x5EB9, 0x5EB5, 
+    0x5EBE, 0x5EB3, 0x8D53, 0x5ED2, 0x5ED1, 0x5EDB, 0x5EE8, 0x5EEA, 0x81BA, 
+    0x5FC4, 0x5FC9, 0x5FD6, 0x5FCF, 0x6003, 0x5FEE, 0x6004, 0x5FE1, 0x5FE4, 
+    0x5FFE, 0x6005, 0x6006, 0x5FEA, 0x5FED, 0x5FF8, 0x6019, 0x6035, 0x6026, 
+    0x601B, 0x600F, 0x600D, 0x6029, 0x602B, 0x600A, 0x603F, 0x6021, 0x6078, 
+    0x6079, 0x607B, 0x607A, 0x6042},
+    {0x606A, 0x607D, 0x6096, 0x609A, 0x60AD, 0x609D, 0x6083, 0x6092, 0x608C, 
+    0x609B, 0x60EC, 0x60BB, 0x60B1, 0x60DD, 0x60D8, 0x60C6, 0x60DA, 0x60B4, 
+    0x6120, 0x6126, 0x6115, 0x6123, 0x60F4, 0x6100, 0x610E, 0x612B, 0x614A, 
+    0x6175, 0x61AC, 0x6194, 0x61A7, 0x61B7, 0x61D4, 0x61F5, 0x5FDD, 0x96B3, 
+    0x95E9, 0x95EB, 0x95F1, 0x95F3, 0x95F5, 0x95F6, 0x95FC, 0x95FE, 0x9603, 
+    0x9604, 0x9606, 0x9608, 0x960A, 0x960B, 0x960C, 0x960D, 0x960F, 0x9612, 
+    0x9615, 0x9616, 0x9617, 0x9619, 0x961A, 0x4E2C, 0x723F, 0x6215, 0x6C35, 
+    0x6C54, 0x6C5C, 0x6C4A, 0x6CA3, 0x6C85, 0x6C90, 0x6C94, 0x6C8C, 0x6C68, 
+    0x6C69, 0x6C74, 0x6C76, 0x6C86, 0x6CA9, 0x6CD0, 0x6CD4, 0x6CAD, 0x6CF7, 
+    0x6CF8, 0x6CF1, 0x6CD7, 0x6CB2, 0x6CE0, 0x6CD6, 0x6CFA, 0x6CEB, 0x6CEE, 
+    0x6CB1, 0x6CD3, 0x6CEF, 0x6CFE},
+    {0x6D39, 0x6D27, 0x6D0C, 0x6D43, 0x6D48, 0x6D07, 0x6D04, 0x6D19, 0x6D0E, 
+    0x6D2B, 0x6D4D, 0x6D2E, 0x6D35, 0x6D1A, 0x6D4F, 0x6D52, 0x6D54, 0x6D33, 
+    0x6D91, 0x6D6F, 0x6D9E, 0x6DA0, 0x6D5E, 0x6D93, 0x6D94, 0x6D5C, 0x6D60, 
+    0x6D7C, 0x6D63, 0x6E1A, 0x6DC7, 0x6DC5, 0x6DDE, 0x6E0E, 0x6DBF, 0x6DE0, 
+    0x6E11, 0x6DE6, 0x6DDD, 0x6DD9, 0x6E16, 0x6DAB, 0x6E0C, 0x6DAE, 0x6E2B, 
+    0x6E6E, 0x6E4E, 0x6E6B, 0x6EB2, 0x6E5F, 0x6E86, 0x6E53, 0x6E54, 0x6E32, 
+    0x6E25, 0x6E44, 0x6EDF, 0x6EB1, 0x6E98, 0x6EE0, 0x6F2D, 0x6EE2, 0x6EA5, 
+    0x6EA7, 0x6EBD, 0x6EBB, 0x6EB7, 0x6ED7, 0x6EB4, 0x6ECF, 0x6E8F, 0x6EC2, 
+    0x6E9F, 0x6F62, 0x6F46, 0x6F47, 0x6F24, 0x6F15, 0x6EF9, 0x6F2F, 0x6F36, 
+    0x6F4B, 0x6F74, 0x6F2A, 0x6F09, 0x6F29, 0x6F89, 0x6F8D, 0x6F8C, 0x6F78, 
+    0x6F72, 0x6F7C, 0x6F7A, 0x6FD1},
+    {0x6FC9, 0x6FA7, 0x6FB9, 0x6FB6, 0x6FC2, 0x6FE1, 0x6FEE, 0x6FDE, 0x6FE0, 
+    0x6FEF, 0x701A, 0x7023, 0x701B, 0x7039, 0x7035, 0x704F, 0x705E, 0x5B80, 
+    0x5B84, 0x5B95, 0x5B93, 0x5BA5, 0x5BB8, 0x752F, 0x9A9E, 0x6434, 0x5BE4, 
+    0x5BEE, 0x8930, 0x5BF0, 0x8E47, 0x8B07, 0x8FB6, 0x8FD3, 0x8FD5, 0x8FE5, 
+    0x8FEE, 0x8FE4, 0x8FE9, 0x8FE6, 0x8FF3, 0x8FE8, 0x9005, 0x9004, 0x900B, 
+    0x9026, 0x9011, 0x900D, 0x9016, 0x9021, 0x9035, 0x9036, 0x902D, 0x902F, 
+    0x9044, 0x9051, 0x9052, 0x9050, 0x9068, 0x9058, 0x9062, 0x905B, 0x66B9, 
+    0x9074, 0x907D, 0x9082, 0x9088, 0x9083, 0x908B, 0x5F50, 0x5F57, 0x5F56, 
+    0x5F58, 0x5C3B, 0x54AB, 0x5C50, 0x5C59, 0x5B71, 0x5C63, 0x5C66, 0x7FBC, 
+    0x5F2A, 0x5F29, 0x5F2D, 0x8274, 0x5F3C, 0x9B3B, 0x5C6E, 0x5981, 0x5983, 
+    0x598D, 0x59A9, 0x59AA, 0x59A3},
+    {0x5997, 0x59CA, 0x59AB, 0x599E, 0x59A4, 0x59D2, 0x59B2, 0x59AF, 0x59D7, 
+    0x59BE, 0x5A05, 0x5A06, 0x59DD, 0x5A08, 0x59E3, 0x59D8, 0x59F9, 0x5A0C, 
+    0x5A09, 0x5A32, 0x5A34, 0x5A11, 0x5A23, 0x5A13, 0x5A40, 0x5A67, 0x5A4A, 
+    0x5A55, 0x5A3C, 0x5A62, 0x5A75, 0x80EC, 0x5AAA, 0x5A9B, 0x5A77, 0x5A7A, 
+    0x5ABE, 0x5AEB, 0x5AB2, 0x5AD2, 0x5AD4, 0x5AB8, 0x5AE0, 0x5AE3, 0x5AF1, 
+    0x5AD6, 0x5AE6, 0x5AD8, 0x5ADC, 0x5B09, 0x5B17, 0x5B16, 0x5B32, 0x5B37, 
+    0x5B40, 0x5C15, 0x5C1C, 0x5B5A, 0x5B65, 0x5B73, 0x5B51, 0x5B53, 0x5B62, 
+    0x9A75, 0x9A77, 0x9A78, 0x9A7A, 0x9A7F, 0x9A7D, 0x9A80, 0x9A81, 0x9A85, 
+    0x9A88, 0x9A8A, 0x9A90, 0x9A92, 0x9A93, 0x9A96, 0x9A98, 0x9A9B, 0x9A9C, 
+    0x9A9D, 0x9A9F, 0x9AA0, 0x9AA2, 0x9AA3, 0x9AA5, 0x9AA7, 0x7E9F, 0x7EA1, 
+    0x7EA3, 0x7EA5, 0x7EA8, 0x7EA9},
+    {0x7EAD, 0x7EB0, 0x7EBE, 0x7EC0, 0x7EC1, 0x7EC2, 0x7EC9, 0x7ECB, 0x7ECC, 
+    0x7ED0, 0x7ED4, 0x7ED7, 0x7EDB, 0x7EE0, 0x7EE1, 0x7EE8, 0x7EEB, 0x7EEE, 
+    0x7EEF, 0x7EF1, 0x7EF2, 0x7F0D, 0x7EF6, 0x7EFA, 0x7EFB, 0x7EFE, 0x7F01, 
+    0x7F02, 0x7F03, 0x7F07, 0x7F08, 0x7F0B, 0x7F0C, 0x7F0F, 0x7F11, 0x7F12, 
+    0x7F17, 0x7F19, 0x7F1C, 0x7F1B, 0x7F1F, 0x7F21, 0x7F22, 0x7F23, 0x7F24, 
+    0x7F25, 0x7F26, 0x7F27, 0x7F2A, 0x7F2B, 0x7F2C, 0x7F2D, 0x7F2F, 0x7F30, 
+    0x7F31, 0x7F32, 0x7F33, 0x7F35, 0x5E7A, 0x757F, 0x5DDB, 0x753E, 0x9095, 
+    0x738E, 0x7391, 0x73AE, 0x73A2, 0x739F, 0x73CF, 0x73C2, 0x73D1, 0x73B7, 
+    0x73B3, 0x73C0, 0x73C9, 0x73C8, 0x73E5, 0x73D9, 0x987C, 0x740A, 0x73E9, 
+    0x73E7, 0x73DE, 0x73BA, 0x73F2, 0x740F, 0x742A, 0x745B, 0x7426, 0x7425, 
+    0x7428, 0x7430, 0x742E, 0x742C},
+    {0x741B, 0x741A, 0x7441, 0x745C, 0x7457, 0x7455, 0x7459, 0x7477, 0x746D, 
+    0x747E, 0x749C, 0x748E, 0x7480, 0x7481, 0x7487, 0x748B, 0x749E, 0x74A8, 
+    0x74A9, 0x7490, 0x74A7, 0x74D2, 0x74BA, 0x97EA, 0x97EB, 0x97EC, 0x674C, 
+    0x6753, 0x675E, 0x6748, 0x6769, 0x67A5, 0x6787, 0x676A, 0x6773, 0x6798, 
+    0x67A7, 0x6775, 0x67A8, 0x679E, 0x67AD, 0x678B, 0x6777, 0x677C, 0x67F0, 
+    0x6809, 0x67D8, 0x680A, 0x67E9, 0x67B0, 0x680C, 0x67D9, 0x67B5, 0x67DA, 
+    0x67B3, 0x67DD, 0x6800, 0x67C3, 0x67B8, 0x67E2, 0x680E, 0x67C1, 0x67FD, 
+    0x6832, 0x6833, 0x6860, 0x6861, 0x684E, 0x6862, 0x6844, 0x6864, 0x6883, 
+    0x681D, 0x6855, 0x6866, 0x6841, 0x6867, 0x6840, 0x683E, 0x684A, 0x6849, 
+    0x6829, 0x68B5, 0x688F, 0x6874, 0x6877, 0x6893, 0x686B, 0x68C2, 0x696E, 
+    0x68FC, 0x691F, 0x6920, 0x68F9},
+    {0x6924, 0x68F0, 0x690B, 0x6901, 0x6957, 0x68E3, 0x6910, 0x6971, 0x6939, 
+    0x6960, 0x6942, 0x695D, 0x6984, 0x696B, 0x6980, 0x6998, 0x6978, 0x6934, 
+    0x69CC, 0x6987, 0x6988, 0x69CE, 0x6989, 0x6966, 0x6963, 0x6979, 0x699B, 
+    0x69A7, 0x69BB, 0x69AB, 0x69AD, 0x69D4, 0x69B1, 0x69C1, 0x69CA, 0x69DF, 
+    0x6995, 0x69E0, 0x698D, 0x69FF, 0x6A2F, 0x69ED, 0x6A17, 0x6A18, 0x6A65, 
+    0x69F2, 0x6A44, 0x6A3E, 0x6AA0, 0x6A50, 0x6A5B, 0x6A35, 0x6A8E, 0x6A79, 
+    0x6A3D, 0x6A28, 0x6A58, 0x6A7C, 0x6A91, 0x6A90, 0x6AA9, 0x6A97, 0x6AAB, 
+    0x7337, 0x7352, 0x6B81, 0x6B82, 0x6B87, 0x6B84, 0x6B92, 0x6B93, 0x6B8D, 
+    0x6B9A, 0x6B9B, 0x6BA1, 0x6BAA, 0x8F6B, 0x8F6D, 0x8F71, 0x8F72, 0x8F73, 
+    0x8F75, 0x8F76, 0x8F78, 0x8F77, 0x8F79, 0x8F7A, 0x8F7C, 0x8F7E, 0x8F81, 
+    0x8F82, 0x8F84, 0x8F87, 0x8F8B},
+    {0x8F8D, 0x8F8E, 0x8F8F, 0x8F98, 0x8F9A, 0x8ECE, 0x620B, 0x6217, 0x621B, 
+    0x621F, 0x6222, 0x6221, 0x6225, 0x6224, 0x622C, 0x81E7, 0x74EF, 0x74F4, 
+    0x74FF, 0x750F, 0x7511, 0x7513, 0x6534, 0x65EE, 0x65EF, 0x65F0, 0x660A, 
+    0x6619, 0x6772, 0x6603, 0x6615, 0x6600, 0x7085, 0x66F7, 0x661D, 0x6634, 
+    0x6631, 0x6636, 0x6635, 0x8006, 0x665F, 0x6654, 0x6641, 0x664F, 0x6656, 
+    0x6661, 0x6657, 0x6677, 0x6684, 0x668C, 0x66A7, 0x669D, 0x66BE, 0x66DB, 
+    0x66DC, 0x66E6, 0x66E9, 0x8D32, 0x8D33, 0x8D36, 0x8D3B, 0x8D3D, 0x8D40, 
+    0x8D45, 0x8D46, 0x8D48, 0x8D49, 0x8D47, 0x8D4D, 0x8D55, 0x8D59, 0x89C7, 
+    0x89CA, 0x89CB, 0x89CC, 0x89CE, 0x89CF, 0x89D0, 0x89D1, 0x726E, 0x729F, 
+    0x725D, 0x7266, 0x726F, 0x727E, 0x727F, 0x7284, 0x728B, 0x728D, 0x728F, 
+    0x7292, 0x6308, 0x6332, 0x63B0},
+    {0x643F, 0x64D8, 0x8004, 0x6BEA, 0x6BF3, 0x6BFD, 0x6BF5, 0x6BF9, 0x6C05, 
+    0x6C07, 0x6C06, 0x6C0D, 0x6C15, 0x6C18, 0x6C19, 0x6C1A, 0x6C21, 0x6C29, 
+    0x6C24, 0x6C2A, 0x6C32, 0x6535, 0x6555, 0x656B, 0x724D, 0x7252, 0x7256, 
+    0x7230, 0x8662, 0x5216, 0x809F, 0x809C, 0x8093, 0x80BC, 0x670A, 0x80BD, 
+    0x80B1, 0x80AB, 0x80AD, 0x80B4, 0x80B7, 0x80E7, 0x80E8, 0x80E9, 0x80EA, 
+    0x80DB, 0x80C2, 0x80C4, 0x80D9, 0x80CD, 0x80D7, 0x6710, 0x80DD, 0x80EB, 
+    0x80F1, 0x80F4, 0x80ED, 0x810D, 0x810E, 0x80F2, 0x80FC, 0x6715, 0x8112, 
+    0x8C5A, 0x8136, 0x811E, 0x812C, 0x8118, 0x8132, 0x8148, 0x814C, 0x8153, 
+    0x8174, 0x8159, 0x815A, 0x8171, 0x8160, 0x8169, 0x817C, 0x817D, 0x816D, 
+    0x8167, 0x584D, 0x5AB5, 0x8188, 0x8182, 0x8191, 0x6ED5, 0x81A3, 0x81AA, 
+    0x81CC, 0x6726, 0x81CA, 0x81BB},
+    {0x81C1, 0x81A6, 0x6B24, 0x6B37, 0x6B39, 0x6B43, 0x6B46, 0x6B59, 0x98D1, 
+    0x98D2, 0x98D3, 0x98D5, 0x98D9, 0x98DA, 0x6BB3, 0x5F40, 0x6BC2, 0x89F3, 
+    0x6590, 0x9F51, 0x6593, 0x65BC, 0x65C6, 0x65C4, 0x65C3, 0x65CC, 0x65CE, 
+    0x65D2, 0x65D6, 0x7080, 0x709C, 0x7096, 0x709D, 0x70BB, 0x70C0, 0x70B7, 
+    0x70AB, 0x70B1, 0x70E8, 0x70CA, 0x7110, 0x7113, 0x7116, 0x712F, 0x7131, 
+    0x7173, 0x715C, 0x7168, 0x7145, 0x7172, 0x714A, 0x7178, 0x717A, 0x7198, 
+    0x71B3, 0x71B5, 0x71A8, 0x71A0, 0x71E0, 0x71D4, 0x71E7, 0x71F9, 0x721D, 
+    0x7228, 0x706C, 0x7118, 0x7166, 0x71B9, 0x623E, 0x623D, 0x6243, 0x6248, 
+    0x6249, 0x793B, 0x7940, 0x7946, 0x7949, 0x795B, 0x795C, 0x7953, 0x795A, 
+    0x7962, 0x7957, 0x7960, 0x796F, 0x7967, 0x797A, 0x7985, 0x798A, 0x799A, 
+    0x79A7, 0x79B3, 0x5FD1, 0x5FD0},
+    {0x603C, 0x605D, 0x605A, 0x6067, 0x6041, 0x6059, 0x6063, 0x60AB, 0x6106, 
+    0x610D, 0x615D, 0x61A9, 0x619D, 0x61CB, 0x61D1, 0x6206, 0x8080, 0x807F, 
+    0x6C93, 0x6CF6, 0x6DFC, 0x77F6, 0x77F8, 0x7800, 0x7809, 0x7817, 0x7818, 
+    0x7811, 0x65AB, 0x782D, 0x781C, 0x781D, 0x7839, 0x783A, 0x783B, 0x781F, 
+    0x783C, 0x7825, 0x782C, 0x7823, 0x7829, 0x784E, 0x786D, 0x7856, 0x7857, 
+    0x7826, 0x7850, 0x7847, 0x784C, 0x786A, 0x789B, 0x7893, 0x789A, 0x7887, 
+    0x789C, 0x78A1, 0x78A3, 0x78B2, 0x78B9, 0x78A5, 0x78D4, 0x78D9, 0x78C9, 
+    0x78EC, 0x78F2, 0x7905, 0x78F4, 0x7913, 0x7924, 0x791E, 0x7934, 0x9F9B, 
+    0x9EF9, 0x9EFB, 0x9EFC, 0x76F1, 0x7704, 0x770D, 0x76F9, 0x7707, 0x7708, 
+    0x771A, 0x7722, 0x7719, 0x772D, 0x7726, 0x7735, 0x7738, 0x7750, 0x7751, 
+    0x7747, 0x7743, 0x775A, 0x7768},
+    {0x7762, 0x7765, 0x777F, 0x778D, 0x777D, 0x7780, 0x778C, 0x7791, 0x779F, 
+    0x77A0, 0x77B0, 0x77B5, 0x77BD, 0x753A, 0x7540, 0x754E, 0x754B, 0x7548, 
+    0x755B, 0x7572, 0x7579, 0x7583, 0x7F58, 0x7F61, 0x7F5F, 0x8A48, 0x7F68, 
+    0x7F74, 0x7F71, 0x7F79, 0x7F81, 0x7F7E, 0x76CD, 0x76E5, 0x8832, 0x9485, 
+    0x9486, 0x9487, 0x948B, 0x948A, 0x948C, 0x948D, 0x948F, 0x9490, 0x9494, 
+    0x9497, 0x9495, 0x949A, 0x949B, 0x949C, 0x94A3, 0x94A4, 0x94AB, 0x94AA, 
+    0x94AD, 0x94AC, 0x94AF, 0x94B0, 0x94B2, 0x94B4, 0x94B6, 0x94B7, 0x94B8, 
+    0x94B9, 0x94BA, 0x94BC, 0x94BD, 0x94BF, 0x94C4, 0x94C8, 0x94C9, 0x94CA, 
+    0x94CB, 0x94CC, 0x94CD, 0x94CE, 0x94D0, 0x94D1, 0x94D2, 0x94D5, 0x94D6, 
+    0x94D7, 0x94D9, 0x94D8, 0x94DB, 0x94DE, 0x94DF, 0x94E0, 0x94E2, 0x94E4, 
+    0x94E5, 0x94E7, 0x94E8, 0x94EA},
+    {0x94E9, 0x94EB, 0x94EE, 0x94EF, 0x94F3, 0x94F4, 0x94F5, 0x94F7, 0x94F9, 
+    0x94FC, 0x94FD, 0x94FF, 0x9503, 0x9502, 0x9506, 0x9507, 0x9509, 0x950A, 
+    0x950D, 0x950E, 0x950F, 0x9512, 0x9513, 0x9514, 0x9515, 0x9516, 0x9518, 
+    0x951B, 0x951D, 0x951E, 0x951F, 0x9522, 0x952A, 0x952B, 0x9529, 0x952C, 
+    0x9531, 0x9532, 0x9534, 0x9536, 0x9537, 0x9538, 0x953C, 0x953E, 0x953F, 
+    0x9542, 0x9535, 0x9544, 0x9545, 0x9546, 0x9549, 0x954C, 0x954E, 0x954F, 
+    0x9552, 0x9553, 0x9554, 0x9556, 0x9557, 0x9558, 0x9559, 0x955B, 0x955E, 
+    0x955F, 0x955D, 0x9561, 0x9562, 0x9564, 0x9565, 0x9566, 0x9567, 0x9568, 
+    0x9569, 0x956A, 0x956B, 0x956C, 0x956F, 0x9571, 0x9572, 0x9573, 0x953A, 
+    0x77E7, 0x77EC, 0x96C9, 0x79D5, 0x79ED, 0x79E3, 0x79EB, 0x7A06, 0x5D47, 
+    0x7A03, 0x7A02, 0x7A1E, 0x7A14},
+    {0x7A39, 0x7A37, 0x7A51, 0x9ECF, 0x99A5, 0x7A70, 0x7688, 0x768E, 0x7693, 
+    0x7699, 0x76A4, 0x74DE, 0x74E0, 0x752C, 0x9E20, 0x9E22, 0x9E28, 0x9E29, 
+    0x9E2A, 0x9E2B, 0x9E2C, 0x9E32, 0x9E31, 0x9E36, 0x9E38, 0x9E37, 0x9E39, 
+    0x9E3A, 0x9E3E, 0x9E41, 0x9E42, 0x9E44, 0x9E46, 0x9E47, 0x9E48, 0x9E49, 
+    0x9E4B, 0x9E4C, 0x9E4E, 0x9E51, 0x9E55, 0x9E57, 0x9E5A, 0x9E5B, 0x9E5C, 
+    0x9E5E, 0x9E63, 0x9E66, 0x9E67, 0x9E68, 0x9E69, 0x9E6A, 0x9E6B, 0x9E6C, 
+    0x9E71, 0x9E6D, 0x9E73, 0x7592, 0x7594, 0x7596, 0x75A0, 0x759D, 0x75AC, 
+    0x75A3, 0x75B3, 0x75B4, 0x75B8, 0x75C4, 0x75B1, 0x75B0, 0x75C3, 0x75C2, 
+    0x75D6, 0x75CD, 0x75E3, 0x75E8, 0x75E6, 0x75E4, 0x75EB, 0x75E7, 0x7603, 
+    0x75F1, 0x75FC, 0x75FF, 0x7610, 0x7600, 0x7605, 0x760C, 0x7617, 0x760A, 
+    0x7625, 0x7618, 0x7615, 0x7619},
+    {0x761B, 0x763C, 0x7622, 0x7620, 0x7640, 0x762D, 0x7630, 0x763F, 0x7635, 
+    0x7643, 0x763E, 0x7633, 0x764D, 0x765E, 0x7654, 0x765C, 0x7656, 0x766B, 
+    0x766F, 0x7FCA, 0x7AE6, 0x7A78, 0x7A79, 0x7A80, 0x7A86, 0x7A88, 0x7A95, 
+    0x7AA6, 0x7AA0, 0x7AAC, 0x7AA8, 0x7AAD, 0x7AB3, 0x8864, 0x8869, 0x8872, 
+    0x887D, 0x887F, 0x8882, 0x88A2, 0x88C6, 0x88B7, 0x88BC, 0x88C9, 0x88E2, 
+    0x88CE, 0x88E3, 0x88E5, 0x88F1, 0x891A, 0x88FC, 0x88E8, 0x88FE, 0x88F0, 
+    0x8921, 0x8919, 0x8913, 0x891B, 0x890A, 0x8934, 0x892B, 0x8936, 0x8941, 
+    0x8966, 0x897B, 0x758B, 0x80E5, 0x76B2, 0x76B4, 0x77DC, 0x8012, 0x8014, 
+    0x8016, 0x801C, 0x8020, 0x8022, 0x8025, 0x8026, 0x8027, 0x8029, 0x8028, 
+    0x8031, 0x800B, 0x8035, 0x8043, 0x8046, 0x804D, 0x8052, 0x8069, 0x8071, 
+    0x8983, 0x9878, 0x9880, 0x9883},
+    {0x9889, 0x988C, 0x988D, 0x988F, 0x9894, 0x989A, 0x989B, 0x989E, 0x989F, 
+    0x98A1, 0x98A2, 0x98A5, 0x98A6, 0x864D, 0x8654, 0x866C, 0x866E, 0x867F, 
+    0x867A, 0x867C, 0x867B, 0x86A8, 0x868D, 0x868B, 0x86AC, 0x869D, 0x86A7, 
+    0x86A3, 0x86AA, 0x8693, 0x86A9, 0x86B6, 0x86C4, 0x86B5, 0x86CE, 0x86B0, 
+    0x86BA, 0x86B1, 0x86AF, 0x86C9, 0x86CF, 0x86B4, 0x86E9, 0x86F1, 0x86F2, 
+    0x86ED, 0x86F3, 0x86D0, 0x8713, 0x86DE, 0x86F4, 0x86DF, 0x86D8, 0x86D1, 
+    0x8703, 0x8707, 0x86F8, 0x8708, 0x870A, 0x870D, 0x8709, 0x8723, 0x873B, 
+    0x871E, 0x8725, 0x872E, 0x871A, 0x873E, 0x8748, 0x8734, 0x8731, 0x8729, 
+    0x8737, 0x873F, 0x8782, 0x8722, 0x877D, 0x877E, 0x877B, 0x8760, 0x8770, 
+    0x874C, 0x876E, 0x878B, 0x8753, 0x8763, 0x877C, 0x8764, 0x8759, 0x8765, 
+    0x8793, 0x87AF, 0x87A8, 0x87D2},
+    {0x87C6, 0x8788, 0x8785, 0x87AD, 0x8797, 0x8783, 0x87AB, 0x87E5, 0x87AC, 
+    0x87B5, 0x87B3, 0x87CB, 0x87D3, 0x87BD, 0x87D1, 0x87C0, 0x87CA, 0x87DB, 
+    0x87EA, 0x87E0, 0x87EE, 0x8816, 0x8813, 0x87FE, 0x880A, 0x881B, 0x8821, 
+    0x8839, 0x883C, 0x7F36, 0x7F42, 0x7F44, 0x7F45, 0x8210, 0x7AFA, 0x7AFD, 
+    0x7B08, 0x7B03, 0x7B04, 0x7B15, 0x7B0A, 0x7B2B, 0x7B0F, 0x7B47, 0x7B38, 
+    0x7B2A, 0x7B19, 0x7B2E, 0x7B31, 0x7B20, 0x7B25, 0x7B24, 0x7B33, 0x7B3E, 
+    0x7B1E, 0x7B58, 0x7B5A, 0x7B45, 0x7B75, 0x7B4C, 0x7B5D, 0x7B60, 0x7B6E, 
+    0x7B7B, 0x7B62, 0x7B72, 0x7B71, 0x7B90, 0x7BA6, 0x7BA7, 0x7BB8, 0x7BAC, 
+    0x7B9D, 0x7BA8, 0x7B85, 0x7BAA, 0x7B9C, 0x7BA2, 0x7BAB, 0x7BB4, 0x7BD1, 
+    0x7BC1, 0x7BCC, 0x7BDD, 0x7BDA, 0x7BE5, 0x7BE6, 0x7BEA, 0x7C0C, 0x7BFE, 
+    0x7BFC, 0x7C0F, 0x7C16, 0x7C0B},
+    {0x7C1F, 0x7C2A, 0x7C26, 0x7C38, 0x7C41, 0x7C40, 0x81FE, 0x8201, 0x8202, 
+    0x8204, 0x81EC, 0x8844, 0x8221, 0x8222, 0x8223, 0x822D, 0x822F, 0x8228, 
+    0x822B, 0x8238, 0x823B, 0x8233, 0x8234, 0x823E, 0x8244, 0x8249, 0x824B, 
+    0x824F, 0x825A, 0x825F, 0x8268, 0x887E, 0x8885, 0x8888, 0x88D8, 0x88DF, 
+    0x895E, 0x7F9D, 0x7F9F, 0x7FA7, 0x7FAF, 0x7FB0, 0x7FB2, 0x7C7C, 0x6549, 
+    0x7C91, 0x7C9D, 0x7C9C, 0x7C9E, 0x7CA2, 0x7CB2, 0x7CBC, 0x7CBD, 0x7CC1, 
+    0x7CC7, 0x7CCC, 0x7CCD, 0x7CC8, 0x7CC5, 0x7CD7, 0x7CE8, 0x826E, 0x66A8, 
+    0x7FBF, 0x7FCE, 0x7FD5, 0x7FE5, 0x7FE1, 0x7FE6, 0x7FE9, 0x7FEE, 0x7FF3, 
+    0x7CF8, 0x7D77, 0x7DA6, 0x7DAE, 0x7E47, 0x7E9B, 0x9EB8, 0x9EB4, 0x8D73, 
+    0x8D84, 0x8D94, 0x8D91, 0x8DB1, 0x8D67, 0x8D6D, 0x8C47, 0x8C49, 0x914A, 
+    0x9150, 0x914E, 0x914F, 0x9164},
+    {0x9162, 0x9161, 0x9170, 0x9169, 0x916F, 0x917D, 0x917E, 0x9172, 0x9174, 
+    0x9179, 0x918C, 0x9185, 0x9190, 0x918D, 0x9191, 0x91A2, 0x91A3, 0x91AA, 
+    0x91AD, 0x91AE, 0x91AF, 0x91B5, 0x91B4, 0x91BA, 0x8C55, 0x9E7E, 0x8DB8, 
+    0x8DEB, 0x8E05, 0x8E59, 0x8E69, 0x8DB5, 0x8DBF, 0x8DBC, 0x8DBA, 0x8DC4, 
+    0x8DD6, 0x8DD7, 0x8DDA, 0x8DDE, 0x8DCE, 0x8DCF, 0x8DDB, 0x8DC6, 0x8DEC, 
+    0x8DF7, 0x8DF8, 0x8DE3, 0x8DF9, 0x8DFB, 0x8DE4, 0x8E09, 0x8DFD, 0x8E14, 
+    0x8E1D, 0x8E1F, 0x8E2C, 0x8E2E, 0x8E23, 0x8E2F, 0x8E3A, 0x8E40, 0x8E39, 
+    0x8E35, 0x8E3D, 0x8E31, 0x8E49, 0x8E41, 0x8E42, 0x8E51, 0x8E52, 0x8E4A, 
+    0x8E70, 0x8E76, 0x8E7C, 0x8E6F, 0x8E74, 0x8E85, 0x8E8F, 0x8E94, 0x8E90, 
+    0x8E9C, 0x8E9E, 0x8C78, 0x8C82, 0x8C8A, 0x8C85, 0x8C98, 0x8C94, 0x659B, 
+    0x89D6, 0x89DE, 0x89DA, 0x89DC},
+    {0x89E5, 0x89EB, 0x89EF, 0x8A3E, 0x8B26, 0x9753, 0x96E9, 0x96F3, 0x96EF, 
+    0x9706, 0x9701, 0x9708, 0x970F, 0x970E, 0x972A, 0x972D, 0x9730, 0x973E, 
+    0x9F80, 0x9F83, 0x9F85, 0x9F86, 0x9F87, 0x9F88, 0x9F89, 0x9F8A, 0x9F8C, 
+    0x9EFE, 0x9F0B, 0x9F0D, 0x96B9, 0x96BC, 0x96BD, 0x96CE, 0x96D2, 0x77BF, 
+    0x96E0, 0x928E, 0x92AE, 0x92C8, 0x933E, 0x936A, 0x93CA, 0x938F, 0x943E, 
+    0x946B, 0x9C7F, 0x9C82, 0x9C85, 0x9C86, 0x9C87, 0x9C88, 0x7A23, 0x9C8B, 
+    0x9C8E, 0x9C90, 0x9C91, 0x9C92, 0x9C94, 0x9C95, 0x9C9A, 0x9C9B, 0x9C9E, 
+    0x9C9F, 0x9CA0, 0x9CA1, 0x9CA2, 0x9CA3, 0x9CA5, 0x9CA6, 0x9CA7, 0x9CA8, 
+    0x9CA9, 0x9CAB, 0x9CAD, 0x9CAE, 0x9CB0, 0x9CB1, 0x9CB2, 0x9CB3, 0x9CB4, 
+    0x9CB5, 0x9CB6, 0x9CB7, 0x9CBA, 0x9CBB, 0x9CBC, 0x9CBD, 0x9CC4, 0x9CC5, 
+    0x9CC6, 0x9CC7, 0x9CCA, 0x9CCB},
+    {0x9CCC, 0x9CCD, 0x9CCE, 0x9CCF, 0x9CD0, 0x9CD3, 0x9CD4, 0x9CD5, 0x9CD7, 
+    0x9CD8, 0x9CD9, 0x9CDC, 0x9CDD, 0x9CDF, 0x9CE2, 0x977C, 0x9785, 0x9791, 
+    0x9792, 0x9794, 0x97AF, 0x97AB, 0x97A3, 0x97B2, 0x97B4, 0x9AB1, 0x9AB0, 
+    0x9AB7, 0x9E58, 0x9AB6, 0x9ABA, 0x9ABC, 0x9AC1, 0x9AC0, 0x9AC5, 0x9AC2, 
+    0x9ACB, 0x9ACC, 0x9AD1, 0x9B45, 0x9B43, 0x9B47, 0x9B49, 0x9B48, 0x9B4D, 
+    0x9B51, 0x98E8, 0x990D, 0x992E, 0x9955, 0x9954, 0x9ADF, 0x9AE1, 0x9AE6, 
+    0x9AEF, 0x9AEB, 0x9AFB, 0x9AED, 0x9AF9, 0x9B08, 0x9B0F, 0x9B13, 0x9B1F, 
+    0x9B23, 0x9EBD, 0x9EBE, 0x7E3B, 0x9E82, 0x9E87, 0x9E88, 0x9E8B, 0x9E92, 
+    0x93D6, 0x9E9D, 0x9E9F, 0x9EDB, 0x9EDC, 0x9EDD, 0x9EE0, 0x9EDF, 0x9EE2, 
+    0x9EE9, 0x9EE7, 0x9EE5, 0x9EEA, 0x9EEF, 0x9F22, 0x9F2C, 0x9F2F, 0x9F39, 
+    0x9F37, 0x9F3D, 0x9F3E, 0x9F44},
+    { ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR},
+    { ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR},
+    { ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR},
+    { ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR},
+    { ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR},
+    { ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR},
+    { ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR},
+};
+
+/*
+ * Mapping from Unicode back to GB2312.
+ * 
+ * This inverse is done the same way the SBCS ones are done: I
+ * provide a list of GB2312 positions, sorted into ascending
+ * order of their Unicode values. Then we can binary-search through
+ * this list, referring to the above table for each comparison, to
+ * find the coordinates for a given code point.
+ * 
+ * Generated by running the following sh+Perl over GB2312.TXT:
+
+cat GB2312.TXT | \
+perl -ne '$a{$3}=[hex$1,hex$2] if /^0x(\S\S)(\S\S)\s+(0x\S+)\s/;' \
+      -e 'END {$o="    ";for $k (sort keys %a) { ($r,$c) = @{$a{$k}}; ' \
+      -e '$o .= $C; $C = ", "; (print "$o\n"), $o="    " if length $o > 70;' \
+      -e '$o .= sprintf "{%d,%d}", $r-33,$c-33; } print "$o\n"; }'
+
+ */
+
+static const struct { unsigned char r, c; } gb2312_backward[] = {
+    {0,71}, {0,75}, {0,6}, {0,66}, {0,31}, {0,32}, {7,3}, {7,1}, {7,7}, 
+    {7,5}, {7,25}, {7,11}, {7,9}, {7,15}, {7,13}, {0,33}, {7,19}, {7,17}, 
+    {7,24}, {7,0}, {7,4}, {7,6}, {7,8}, {7,12}, {7,16}, {7,2}, {7,10}, 
+    {7,14}, {7,18}, {7,20}, {7,21}, {7,22}, {7,23}, {0,5}, {0,4}, {5,0}, 
+    {5,1}, {5,2}, {5,3}, {5,4}, {5,5}, {5,6}, {5,7}, {5,8}, {5,9}, {5,10}, 
+    {5,11}, {5,12}, {5,13}, {5,14}, {5,15}, {5,16}, {5,17}, {5,18}, {5,19}, 
+    {5,20}, {5,21}, {5,22}, {5,23}, {5,32}, {5,33}, {5,34}, {5,35}, {5,36}, 
+    {5,37}, {5,38}, {5,39}, {5,40}, {5,41}, {5,42}, {5,43}, {5,44}, {5,45}, 
+    {5,46}, {5,47}, {5,48}, {5,49}, {5,50}, {5,51}, {5,52}, {5,53}, {5,54}, 
+    {5,55}, {6,6}, {6,0}, {6,1}, {6,2}, {6,3}, {6,4}, {6,5}, {6,7}, {6,8}, 
+    {6,9}, {6,10}, {6,11}, {6,12}, {6,13}, {6,14}, {6,15}, {6,16}, {6,17}, 
+    {6,18}, {6,19}, {6,20}, {6,21}, {6,22}, {6,23}, {6,24}, {6,25}, {6,26}, 
+    {6,27}, {6,28}, {6,29}, {6,30}, {6,31}, {6,32}, {6,48}, {6,49}, {6,50}, 
+    {6,51}, {6,52}, {6,53}, {6,55}, {6,56}, {6,57}, {6,58}, {6,59}, {6,60}, 
+    {6,61}, {6,62}, {6,63}, {6,64}, {6,65}, {6,66}, {6,67}, {6,68}, {6,69}, 
+    {6,70}, {6,71}, {6,72}, {6,73}, {6,74}, {6,75}, {6,76}, {6,77}, {6,78}, 
+    {6,79}, {6,80}, {6,54}, {0,9}, {0,11}, {0,13}, {0,14}, {0,15}, {0,16}, 
+    {0,12}, {0,74}, {0,67}, {0,68}, {0,88}, {0,69}, {0,76}, {1,80}, {1,81}, 
+    {1,82}, {1,83}, {1,84}, {1,85}, {1,86}, {1,87}, {1,88}, {1,89}, {1,90}, 
+    {1,91}, {0,90}, {0,91}, {0,89}, {0,92}, {0,41}, {0,38}, {0,37}, {0,43}, 
+    {0,55}, {0,61}, {0,46}, {0,45}, {0,35}, {0,36}, {0,40}, {0,39}, {0,49}, 
+    {0,50}, {0,63}, {0,62}, {0,34}, {0,42}, {0,54}, {0,53}, {0,52}, {0,56}, 
+    {0,51}, {0,59}, {0,60}, {0,57}, {0,58}, {0,48}, {0,44}, {0,47}, {1,56}, 
+    {1,57}, {1,58}, {1,59}, {1,60}, {1,61}, {1,62}, {1,63}, {1,64}, {1,65}, 
+    {1,36}, {1,37}, {1,38}, {1,39}, {1,40}, {1,41}, {1,42}, {1,43}, {1,44}, 
+    {1,45}, {1,46}, {1,47}, {1,48}, {1,49}, {1,50}, {1,51}, {1,52}, {1,53}, 
+    {1,54}, {1,55}, {1,16}, {1,17}, {1,18}, {1,19}, {1,20}, {1,21}, {1,22}, 
+    {1,23}, {1,24}, {1,25}, {1,26}, {1,27}, {1,28}, {1,29}, {1,30}, {1,31}, 
+    {1,32}, {1,33}, {1,34}, {1,35}, {8,3}, {8,4}, {8,5}, {8,6}, {8,7}, 
+    {8,8}, {8,9}, {8,10}, {8,11}, {8,12}, {8,13}, {8,14}, {8,15}, {8,16}, 
+    {8,17}, {8,18}, {8,19}, {8,20}, {8,21}, {8,22}, {8,23}, {8,24}, {8,25}, 
+    {8,26}, {8,27}, {8,28}, {8,29}, {8,30}, {8,31}, {8,32}, {8,33}, {8,34}, 
+    {8,35}, {8,36}, {8,37}, {8,38}, {8,39}, {8,40}, {8,41}, {8,42}, {8,43}, 
+    {8,44}, {8,45}, {8,46}, {8,47}, {8,48}, {8,49}, {8,50}, {8,51}, {8,52}, 
+    {8,53}, {8,54}, {8,55}, {8,56}, {8,57}, {8,58}, {8,59}, {8,60}, {8,61}, 
+    {8,62}, {8,63}, {8,64}, {8,65}, {8,66}, {8,67}, {8,68}, {8,69}, {8,70}, 
+    {8,71}, {8,72}, {8,73}, {8,74}, {8,75}, {8,76}, {8,77}, {8,78}, {0,85}, 
+    {0,84}, {0,87}, {0,86}, {0,83}, {0,82}, {0,79}, {0,81}, {0,80}, {0,78}, 
+    {0,77}, {0,65}, {0,64}, {0,0}, {0,1}, {0,2}, {0,7}, {0,8}, {0,19}, 
+    {0,20}, {0,21}, {0,22}, {0,23}, {0,24}, {0,25}, {0,26}, {0,29}, {0,30}, 
+    {0,93}, {0,17}, {0,18}, {0,27}, {0,28}, {3,0}, {3,1}, {3,2}, {3,3}, 
+    {3,4}, {3,5}, {3,6}, {3,7}, {3,8}, {3,9}, {3,10}, {3,11}, {3,12}, {3,13}, 
+    {3,14}, {3,15}, {3,16}, {3,17}, {3,18}, {3,19}, {3,20}, {3,21}, {3,22}, 
+    {3,23}, {3,24}, {3,25}, {3,26}, {3,27}, {3,28}, {3,29}, {3,30}, {3,31}, 
+    {3,32}, {3,33}, {3,34}, {3,35}, {3,36}, {3,37}, {3,38}, {3,39}, {3,40}, 
+    {3,41}, {3,42}, {3,43}, {3,44}, {3,45}, {3,46}, {3,47}, {3,48}, {3,49}, 
+    {3,50}, {3,51}, {3,52}, {3,53}, {3,54}, {3,55}, {3,56}, {3,57}, {3,58}, 
+    {3,59}, {3,60}, {3,61}, {3,62}, {3,63}, {3,64}, {3,65}, {3,66}, {3,67}, 
+    {3,68}, {3,69}, {3,70}, {3,71}, {3,72}, {3,73}, {3,74}, {3,75}, {3,76}, 
+    {3,77}, {3,78}, {3,79}, {3,80}, {3,81}, {3,82}, {4,0}, {4,1}, {4,2}, 
+    {4,3}, {4,4}, {4,5}, {4,6}, {4,7}, {4,8}, {4,9}, {4,10}, {4,11}, {4,12}, 
+    {4,13}, {4,14}, {4,15}, {4,16}, {4,17}, {4,18}, {4,19}, {4,20}, {4,21}, 
+    {4,22}, {4,23}, {4,24}, {4,25}, {4,26}, {4,27}, {4,28}, {4,29}, {4,30}, 
+    {4,31}, {4,32}, {4,33}, {4,34}, {4,35}, {4,36}, {4,37}, {4,38}, {4,39}, 
+    {4,40}, {4,41}, {4,42}, {4,43}, {4,44}, {4,45}, {4,46}, {4,47}, {4,48}, 
+    {4,49}, {4,50}, {4,51}, {4,52}, {4,53}, {4,54}, {4,55}, {4,56}, {4,57}, 
+    {4,58}, {4,59}, {4,60}, {4,61}, {4,62}, {4,63}, {4,64}, {4,65}, {4,66}, 
+    {4,67}, {4,68}, {4,69}, {4,70}, {4,71}, {4,72}, {4,73}, {4,74}, {4,75}, 
+    {4,76}, {4,77}, {4,78}, {4,79}, {4,80}, {4,81}, {4,82}, {4,83}, {4,84}, 
+    {4,85}, {0,3}, {7,36}, {7,37}, {7,38}, {7,39}, {7,40}, {7,41}, {7,42}, 
+    {7,43}, {7,44}, {7,45}, {7,46}, {7,47}, {7,48}, {7,49}, {7,50}, {7,51}, 
+    {7,52}, {7,53}, {7,54}, {7,55}, {7,56}, {7,57}, {7,58}, {7,59}, {7,60}, 
+    {7,61}, {7,62}, {7,63}, {7,64}, {7,65}, {7,66}, {7,67}, {7,68}, {7,69}, 
+    {7,70}, {7,71}, {7,72}, {1,68}, {1,69}, {1,70}, {1,71}, {1,72}, {1,73}, 
+    {1,74}, {1,75}, {1,76}, {1,77}, {49,26}, {21,0}, {37,62}, {44,81}, 
+    {52,40}, {39,92}, {40,46}, {46,33}, {55,1}, {17,26}, {50,74}, {55,3}, 
+    {18,82}, {54,7}, {38,49}, {55,6}, {41,31}, {38,79}, {16,90}, {49,20}, 
+    {19,51}, {21,10}, {42,30}, {55,8}, {21,9}, {32,28}, {48,46}, {40,4}, 
+    {55,12}, {23,85}, {48,29}, {66,59}, {53,47}, {22,64}, {19,13}, {32,56}, 
+    {55,27}, {44,71}, {20,3}, {45,9}, {53,86}, {31,85}, {29,56}, {55,14}, 
+    {35,42}, {29,34}, {55,16}, {34,19}, {49,68}, {53,13}, {45,57}, {52,6}, 
+    {25,84}, {22,5}, {31,53}, {37,24}, {36,49}, {38,38}, {24,51}, {18,42}, 
+    {49,49}, {55,30}, {29,36}, {37,81}, {49,17}, {46,15}, {46,70}, {41,72}, 
+    {55,31}, {33,81}, {33,49}, {39,72}, {38,11}, {32,42}, {50,71}, {52,88}, 
+    {41,33}, {21,93}, {55,0}, {50,57}, {30,86}, {51,37}, {26,4}, {55,32}, 
+    {45,68}, {29,13}, {55,7}, {48,38}, {47,8}, {55,28}, {56,78}, {44,85}, 
+    {30,25}, {28,26}, {25,4}, {49,63}, {17,89}, {25,63}, {35,21}, {46,76}, 
+    {29,8}, {44,3}, {32,32}, {38,54}, {56,80}, {56,83}, {39,42}, {55,72}, 
+    {49,57}, {41,17}, {39,41}, {55,75}, {55,73}, {55,37}, {28,85}, {37,44}, 
+    {18,79}, {55,74}, {28,80}, {28,72}, {39,51}, {19,50}, {33,55}, {17,53}, 
+    {54,47}, {41,42}, {42,90}, {52,43}, {23,21}, {46,40}, {56,57}, {55,79}, 
+    {38,9}, {55,77}, {19,89}, {32,77}, {49,51}, {55,76}, {49,38}, {55,78}, 
+    {34,38}, {48,85}, {53,56}, {55,81}, {55,84}, {27,93}, {27,58}, {39,45}, 
+    {22,60}, {22,33}, {37,82}, {55,87}, {49,32}, {45,72}, {27,30}, {22,91}, 
+    {22,4}, {47,60}, {53,57}, {50,36}, {26,78}, {26,64}, {55,80}, {40,0}, 
+    {45,15}, {19,10}, {55,82}, {40,42}, {55,85}, {33,54}, {55,86}, {45,16}, 
+    {55,88}, {17,13}, {24,31}, {56,2}, {15,72}, {32,69}, {40,75}, {42,36}, 
+    {42,37}, {56,3}, {20,71}, {20,10}, {45,26}, {20,44}, {54,0}, {54,83}, 
+    {50,50}, {43,68}, {25,45}, {56,1}, {56,59}, {50,63}, {55,92}, {22,79}, 
+    {54,86}, {55,93}, {55,89}, {56,0}, {35,66}, {50,21}, {55,83}, {56,60}, 
+    {55,90}, {36,68}, {31,47}, {48,79}, {15,58}, {27,48}, {56,5}, {56,4}, 
+    {56,11}, {56,13}, {56,10}, {41,24}, {56,8}, {53,21}, {18,61}, {56,7}, 
+    {31,92}, {41,43}, {56,9}, {56,6}, {56,15}, {21,16}, {24,8}, {49,31}, 
+    {46,31}, {33,33}, {28,35}, {52,75}, {17,63}, {38,39}, {30,74}, {56,12}, 
+    {56,14}, {45,73}, {25,77}, {38,53}, {16,66}, {19,56}, {21,76}, {56,19}, 
+    {30,0}, {56,61}, {38,45}, {31,93}, {56,23}, {42,54}, {22,92}, {56,20}, 
+    {56,22}, {16,2}, {50,64}, {56,24}, {47,36}, {56,21}, {56,16}, {56,17}, 
+    {32,8}, {56,18}, {27,82}, {47,61}, {23,8}, {29,66}, {56,28}, {56,25}, 
+    {15,18}, {56,33}, {56,35}, {16,21}, {56,30}, {20,24}, {29,82}, {43,39}, 
+    {25,81}, {49,47}, {56,34}, {28,71}, {18,10}, {56,36}, {29,74}, {56,37}, 
+    {56,26}, {35,62}, {56,29}, {56,32}, {56,31}, {52,13}, {53,20}, {38,66}, 
+    {56,39}, {27,56}, {56,41}, {56,27}, {56,42}, {37,10}, {56,40}, {54,85}, 
+    {44,2}, {28,0}, {56,43}, {36,27}, {44,20}, {56,44}, {56,38}, {18,4}, 
+    {30,93}, {23,20}, {31,91}, {15,87}, {19,85}, {56,45}, {56,46}, {19,1}, 
+    {56,47}, {19,62}, {15,32}, {56,48}, {40,20}, {46,80}, {56,49}, {32,36}, 
+    {56,53}, {40,13}, {56,52}, {56,51}, {56,54}, {42,58}, {28,8}, {37,6}, 
+    {56,50}, {56,55}, {56,56}, {39,68}, {31,59}, {21,88}, {55,2}, {51,41}, 
+    {51,9}, {47,53}, {18,67}, {52,54}, {46,39}, {24,65}, {30,42}, {34,65}, 
+    {21,49}, {44,34}, {56,77}, {56,79}, {20,18}, {21,20}, {29,3}, {39,74}, 
+    {39,10}, {15,42}, {24,10}, {32,88}, {56,65}, {31,27}, {24,17}, {24,55}, 
+    {47,42}, {16,87}, {37,67}, {29,62}, {20,67}, {54,39}, {48,87}, {27,69}, 
+    {41,61}, {27,28}, {56,69}, {55,70}, {35,57}, {23,51}, {39,28}, {17,64}, 
+    {51,56}, {34,15}, {34,64}, {57,1}, {39,62}, {47,19}, {29,91}, {36,8}, 
+    {24,57}, {57,2}, {51,8}, {57,3}, {56,90}, {21,11}, {22,74}, {16,88}, 
+    {56,91}, {18,68}, {29,85}, {30,85}, {49,16}, {31,67}, {21,18}, {56,93}, 
+    {56,92}, {29,26}, {37,63}, {54,27}, {57,0}, {32,24}, {20,81}, {32,71}, 
+    {27,84}, {19,52}, {32,60}, {35,92}, {27,23}, {22,17}, {22,78}, {56,75}, 
+    {37,29}, {30,12}, {26,42}, {20,41}, {58,40}, {47,54}, {44,24}, {15,27}, 
+    {18,85}, {26,86}, {58,41}, {25,14}, {51,67}, {20,21}, {20,82}, {55,53}, 
+    {39,47}, {22,53}, {38,47}, {55,54}, {30,14}, {58,26}, {55,55}, {47,43}, 
+    {26,13}, {74,29}, {32,47}, {32,84}, {51,81}, {23,52}, {19,19}, {18,84}, 
+    {40,29}, {36,47}, {36,56}, {31,90}, {16,79}, {55,56}, {24,45}, {20,28}, 
+    {55,57}, {53,37}, {42,1}, {39,14}, {40,17}, {19,43}, {30,43}, {24,83}, 
+    {55,58}, {55,59}, {21,70}, {27,32}, {43,73}, {46,86}, {55,60}, {38,15}, 
+    {24,47}, {28,2}, {43,61}, {37,41}, {55,63}, {55,61}, {55,62}, {15,93}, 
+    {29,70}, {41,2}, {27,83}, {23,16}, {23,77}, {55,65}, {28,42}, {55,67}, 
+    {55,66}, {36,91}, {55,68}, {55,69}, {32,5}, {39,15}, {15,75}, {24,5}, 
+    {27,50}, {45,80}, {58,28}, {32,50}, {21,14}, {53,89}, {36,11}, {28,56}, 
+    {58,29}, {58,30}, {31,87}, {29,1}, {31,44}, {58,31}, {41,37}, {17,9}, 
+    {50,33}, {34,66}, {48,10}, {58,33}, {31,52}, {58,34}, {30,16}, {35,27}, 
+    {38,57}, {58,35}, {56,71}, {40,54}, {24,19}, {45,79}, {51,39}, {15,91}, 
+    {19,49}, {47,56}, {56,72}, {61,42}, {56,74}, {55,15}, {26,14}, {16,16}, 
+    {18,54}, {55,45}, {51,48}, {28,18}, {30,78}, {46,26}, {55,47}, {22,42}, 
+    {55,48}, {37,4}, {38,87}, {49,28}, {55,49}, {35,67}, {41,13}, {38,6}, 
+    {55,5}, {40,92}, {45,70}, {26,59}, {15,74}, {26,9}, {47,12}, {16,15}, 
+    {54,67}, {54,30}, {20,4}, {33,83}, {35,46}, {17,8}, {17,22}, {16,68}, 
+    {62,17}, {52,27}, {30,7}, {33,11}, {55,52}, {33,16}, {55,51}, {45,51}, 
+    {57,63}, {45,31}, {55,19}, {34,13}, {50,0}, {45,2}, {27,19}, {39,19}, 
+    {33,48}, {29,76}, {47,21}, {57,64}, {38,67}, {18,6}, {21,81}, {43,91}, 
+    {31,89}, {31,86}, {48,24}, {48,64}, {55,38}, {17,61}, {31,68}, {25,80}, 
+    {55,39}, {51,12}, {46,64}, {55,40}, {55,41}, {46,34}, {18,87}, {29,38}, 
+    {55,42}, {58,43}, {39,4}, {46,55}, {39,93}, {17,45}, {50,53}, {17,69}, 
+    {27,15}, {50,48}, {42,10}, {22,19}, {22,1}, {41,68}, {39,0}, {41,59}, 
+    {16,67}, {47,79}, {36,48}, {58,36}, {20,93}, {30,57}, {24,36}, {29,67}, 
+    {32,76}, {62,21}, {62,20}, {53,26}, {28,47}, {52,56}, {15,39}, {21,2}, 
+    {30,40}, {43,7}, {62,18}, {41,22}, {50,49}, {55,46}, {49,21}, {25,36}, 
+    {42,29}, {43,29}, {62,22}, {20,79}, {62,19}, {50,84}, {18,51}, {23,86}, 
+    {62,25}, {25,46}, {27,9}, {20,84}, {44,11}, {34,90}, {25,82}, {31,83}, 
+    {44,33}, {46,81}, {62,23}, {46,36}, {33,31}, {62,24}, {33,79}, {29,92}, 
+    {32,62}, {44,43}, {49,86}, {22,44}, {62,32}, {62,35}, {22,80}, {15,40}, 
+    {21,53}, {22,51}, {25,11}, {43,92}, {30,51}, {42,16}, {37,83}, {53,7}, 
+    {62,36}, {45,65}, {18,18}, {45,91}, {19,20}, {45,38}, {25,79}, {45,64}, 
+    {48,28}, {62,31}, {19,83}, {18,41}, {23,69}, {62,26}, {35,36}, {62,27}, 
+    {62,28}, {62,29}, {36,26}, {62,30}, {62,33}, {51,16}, {62,34}, {38,25}, 
+    {45,55}, {35,55}, {62,41}, {62,46}, {53,59}, {62,40}, {62,57}, {45,21}, 
+    {25,38}, {62,45}, {62,39}, {36,61}, {40,74}, {25,83}, {34,91}, {29,54}, 
+    {62,37}, {62,44}, {36,55}, {52,5}, {25,44}, {29,43}, {50,28}, {23,31}, 
+    {53,67}, {62,38}, {24,29}, {30,6}, {32,91}, {62,42}, {62,43}, {62,47}, 
+    {62,58}, {62,68}, {62,54}, {62,53}, {54,40}, {62,66}, {62,67}, {68,74}, 
+    {49,6}, {62,49}, {30,8}, {51,58}, {30,39}, {62,51}, {46,43}, {62,60}, 
+    {48,41}, {62,61}, {15,6}, {37,22}, {62,50}, {25,68}, {21,62}, {44,58}, 
+    {24,93}, {51,52}, {62,62}, {46,75}, {15,4}, {62,70}, {62,48}, {48,37}, 
+    {62,52}, {62,55}, {62,56}, {62,59}, {26,8}, {62,63}, {62,64}, {62,65}, 
+    {62,69}, {62,71}, {50,19}, {23,70}, {36,21}, {62,73}, {40,57}, {32,7}, 
+    {35,35}, {30,61}, {46,87}, {52,59}, {62,77}, {17,23}, {25,62}, {62,75}, 
+    {58,32}, {48,67}, {42,83}, {19,28}, {15,5}, {62,80}, {43,37}, {62,81}, 
+    {62,76}, {62,72}, {62,74}, {62,78}, {62,79}, {26,28}, {62,82}, {62,83}, 
+    {26,2}, {41,58}, {45,7}, {63,6}, {18,9}, {63,5}, {63,0}, {62,93}, {44,56}, 
+    {62,91}, {62,89}, {30,47}, {54,35}, {40,43}, {62,87}, {15,0}, {62,92}, 
+    {62,90}, {63,1}, {63,7}, {22,39}, {37,0}, {40,21}, {31,17}, {62,84}, 
+    {36,29}, {55,35}, {62,88}, {35,85}, {63,2}, {63,3}, {63,4}, {47,4}, 
+    {63,19}, {43,67}, {63,16}, {30,5}, {63,14}, {45,24}, {63,10}, {40,37}, 
+    {31,13}, {63,13}, {25,76}, {25,15}, {63,8}, {62,85}, {63,18}, {63,23}, 
+    {19,12}, {63,24}, {46,17}, {25,39}, {63,15}, {47,89}, {63,11}, {51,90}, 
+    {62,86}, {36,70}, {63,12}, {50,86}, {63,21}, {63,22}, {63,35}, {47,64}, 
+    {63,27}, {63,40}, {63,41}, {63,29}, {63,9}, {40,3}, {63,32}, {63,17}, 
+    {41,39}, {63,34}, {63,20}, {45,42}, {42,34}, {63,44}, {63,37}, {63,33}, 
+    {63,42}, {63,25}, {63,30}, {63,31}, {63,36}, {63,38}, {63,39}, {63,43}, 
+    {63,26}, {42,51}, {63,52}, {63,53}, {63,49}, {63,47}, {27,45}, {63,48}, 
+    {23,33}, {55,36}, {47,73}, {33,78}, {63,46}, {63,28}, {63,51}, {63,50}, 
+    {63,54}, {63,59}, {63,55}, {53,85}, {18,15}, {54,75}, {42,26}, {63,57}, 
+    {45,90}, {25,56}, {63,64}, {63,60}, {49,12}, {63,65}, {63,58}, {63,56}, 
+    {63,62}, {63,63}, {63,61}, {63,67}, {37,86}, {55,11}, {51,74}, {63,69}, 
+    {41,40}, {63,68}, {23,32}, {63,70}, {63,71}, {63,72}, {63,66}, {25,30}, 
+    {43,70}, {63,73}, {46,88}, {63,74}, {39,33}, {28,31}, {35,49}, {63,75}, 
+    {63,76}, {38,83}, {42,35}, {63,77}, {26,55}, {55,21}, {49,81}, {63,78}, 
+    {44,36}, {21,57}, {63,80}, {51,15}, {31,6}, {19,48}, {45,6}, {63,79}, 
+    {63,81}, {24,43}, {24,89}, {44,27}, {63,82}, {37,51}, {63,83}, {51,17}, 
+    {39,5}, {63,85}, {63,84}, {63,86}, {44,32}, {41,4}, {51,57}, {58,54}, 
+    {58,56}, {58,55}, {24,70}, {58,59}, {58,60}, {20,55}, {58,57}, {58,58}, 
+    {18,0}, {58,62}, {26,87}, {53,22}, {58,63}, {29,88}, {22,26}, {58,47}, 
+    {43,13}, {30,17}, {26,20}, {54,87}, {30,50}, {30,72}, {27,64}, {43,18}, 
+    {58,61}, {15,50}, {45,74}, {22,55}, {54,24}, {37,33}, {31,3}, {43,24}, 
+    {58,70}, {58,64}, {37,25}, {58,66}, {58,71}, {36,86}, {58,73}, {58,72}, 
+    {30,31}, {58,69}, {58,68}, {19,24}, {31,11}, {33,1}, {58,65}, {58,67}, 
+    {47,44}, {58,76}, {31,60}, {58,81}, {21,65}, {58,82}, {58,49}, {24,23}, 
+    {51,10}, {58,75}, {30,48}, {58,79}, {58,48}, {20,69}, {58,74}, {30,68}, 
+    {58,77}, {58,80}, {58,88}, {24,0}, {15,2}, {33,80}, {18,38}, {58,78}, 
+    {58,87}, {37,49}, {58,83}, {58,84}, {58,86}, {58,85}, {58,93}, {50,81}, 
+    {17,25}, {58,92}, {59,3}, {58,90}, {58,89}, {58,91}, {36,63}, {26,88}, 
+    {59,2}, {59,4}, {43,34}, {21,48}, {60,31}, {59,0}, {59,1}, {38,20}, 
+    {21,72}, {59,6}, {59,5}, {59,8}, {16,3}, {20,43}, {30,15}, {48,62}, 
+    {21,33}, {59,7}, {42,89}, {74,82}, {42,59}, {42,93}, {43,32}, {39,90}, 
+    {59,9}, {43,77}, {59,10}, {58,50}, {59,14}, {59,11}, {29,18}, {41,90}, 
+    {59,12}, {40,41}, {35,24}, {38,28}, {59,13}, {51,85}, {47,69}, {35,10}, 
+    {21,52}, {58,51}, {16,57}, {58,52}, {58,53}, {25,29}, {39,31}, {41,30}, 
+    {39,40}, {54,18}, {40,88}, {30,38}, {25,87}, {49,27}, {65,25}, {19,5}, 
+    {16,23}, {23,19}, {46,35}, {56,70}, {46,5}, {44,65}, {56,76}, {21,63}, 
+    {49,24}, {24,26}, {65,24}, {65,22}, {19,82}, {43,75}, {43,10}, {22,81}, 
+    {55,17}, {48,74}, {25,26}, {41,6}, {44,22}, {49,35}, {30,67}, {27,47}, 
+    {21,64}, {61,36}, {61,37}, {58,27}, {48,56}, {37,69}, {35,45}, {22,77}, 
+    {22,59}, {30,91}, {54,63}, {37,84}, {16,27}, {61,39}, {28,16}, {43,54}, 
+    {61,41}, {61,40}, {20,75}, {40,60}, {15,33}, {36,13}, {36,10}, {35,43}, 
+    {27,72}, {42,92}, {25,34}, {68,88}, {39,70}, {68,89}, {44,92}, {54,16}, 
+    {23,29}, {33,71}, {39,48}, {68,90}, {21,41}, {27,42}, {48,92}, {69,0}, 
+    {34,77}, {69,3}, {68,93}, {69,4}, {44,54}, {22,32}, {68,91}, {68,92}, 
+    {69,2}, {35,60}, {69,7}, {69,6}, {34,34}, {37,61}, {69,9}, {35,22}, 
+    {69,1}, {41,27}, {28,66}, {24,34}, {69,5}, {47,52}, {45,14}, {69,8}, 
+    {69,15}, {49,5}, {28,9}, {69,12}, {69,14}, {31,48}, {49,43}, {27,6}, 
+    {69,16}, {49,85}, {54,42}, {44,93}, {44,61}, {33,5}, {69,10}, {69,11}, 
+    {28,30}, {69,13}, {69,18}, {69,17}, {69,21}, {69,23}, {35,78}, {35,39}, 
+    {29,73}, {40,78}, {69,22}, {21,79}, {34,67}, {50,72}, {69,19}, {69,20}, 
+    {39,1}, {69,28}, {69,24}, {37,36}, {44,80}, {69,26}, {69,27}, {26,72}, 
+    {69,29}, {69,25}, {31,22}, {50,3}, {69,30}, {40,83}, {69,34}, {69,35}, 
+    {47,85}, {34,28}, {34,35}, {69,33}, {69,32}, {69,38}, {46,16}, {74,83}, 
+    {69,41}, {69,36}, {27,61}, {40,8}, {27,20}, {46,50}, {69,39}, {69,40}, 
+    {69,45}, {69,47}, {69,48}, {69,42}, {20,52}, {69,43}, {69,46}, {35,58}, 
+    {69,37}, {69,44}, {69,49}, {69,51}, {69,50}, {69,52}, {56,87}, {69,53}, 
+    {69,54}, {54,50}, {69,60}, {69,61}, {30,54}, {51,47}, {54,53}, {19,69}, 
+    {42,78}, {69,57}, {55,34}, {54,45}, {47,1}, {34,46}, {69,62}, {27,29}, 
+    {24,33}, {69,58}, {48,6}, {25,1}, {33,46}, {55,10}, {41,74}, {68,77}, 
+    {69,59}, {22,84}, {39,69}, {35,84}, {68,17}, {35,93}, {42,91}, {68,18}, 
+    {52,11}, {50,77}, {41,55}, {15,17}, {42,45}, {44,73}, {25,73}, {68,20}, 
+    {68,19}, {54,57}, {24,56}, {53,69}, {21,7}, {44,79}, {49,42}, {16,5}, 
+    {41,20}, {18,71}, {40,82}, {30,44}, {47,90}, {41,49}, {68,21}, {26,33}, 
+    {46,59}, {24,11}, {51,54}, {25,5}, {48,70}, {46,91}, {27,49}, {68,22}, 
+    {39,60}, {30,76}, {16,85}, {42,61}, {27,36}, {27,35}, {49,89}, {34,59}, 
+    {30,59}, {23,26}, {34,33}, {25,13}, {51,1}, {38,61}, {35,14}, {17,75}, 
+    {24,48}, {68,26}, {32,39}, {52,14}, {68,27}, {68,29}, {19,70}, {21,51}, 
+    {42,33}, {48,15}, {20,27}, {41,56}, {22,65}, {40,67}, {28,10}, {45,29}, 
+    {54,79}, {47,0}, {40,56}, {21,90}, {69,55}, {27,65}, {18,29}, {40,47}, 
+    {69,56}, {18,1}, {61,43}, {50,39}, {61,44}, {49,1}, {61,45}, {29,44}, 
+    {61,46}, {41,11}, {49,91}, {18,62}, {68,73}, {35,64}, {29,0}, {45,17}, 
+    {35,81}, {29,53}, {37,7}, {17,66}, {29,50}, {38,91}, {43,74}, {28,75}, 
+    {45,60}, {41,25}, {37,32}, {68,75}, {47,27}, {52,24}, {68,76}, {41,83}, 
+    {44,31}, {33,36}, {68,78}, {33,35}, {68,79}, {68,87}, {44,44}, {40,28}, 
+    {49,56}, {64,7}, {50,75}, {42,73}, {37,80}, {64,11}, {64,6}, {64,8}, 
+    {64,9}, {64,14}, {17,76}, {64,10}, {23,57}, {64,12}, {64,13}, {64,15}, 
+    {20,25}, {64,16}, {64,18}, {64,23}, {48,49}, {64,21}, {64,20}, {32,74}, 
+    {64,22}, {51,31}, {64,17}, {64,25}, {15,21}, {64,19}, {30,88}, {64,24}, 
+    {64,26}, {64,29}, {64,27}, {53,36}, {46,30}, {64,28}, {64,30}, {33,44}, 
+    {21,74}, {50,87}, {38,44}, {22,68}, {29,93}, {64,31}, {64,32}, {64,38}, 
+    {18,70}, {37,72}, {19,61}, {48,33}, {64,39}, {64,37}, {64,36}, {64,34}, 
+    {64,33}, {16,31}, {52,23}, {64,35}, {64,42}, {64,43}, {64,41}, {78,89}, 
+    {64,50}, {64,49}, {38,21}, {64,40}, {64,45}, {64,47}, {64,51}, {64,48}, 
+    {64,44}, {64,46}, {64,52}, {64,53}, {64,54}, {64,55}, {64,57}, {64,58}, 
+    {45,0}, {70,60}, {19,7}, {53,60}, {48,17}, {18,17}, {24,3}, {54,82}, 
+    {38,40}, {29,61}, {24,13}, {45,54}, {17,77}, {58,46}, {27,25}, {49,48}, 
+    {42,39}, {15,44}, {46,78}, {56,66}, {28,76}, {16,49}, {41,47}, {17,27}, 
+    {42,6}, {22,10}, {41,5}, {46,2}, {63,87}, {52,41}, {63,90}, {63,89}, 
+    {36,32}, {43,90}, {32,16}, {63,88}, {53,66}, {17,14}, {53,35}, {20,58}, 
+    {19,87}, {53,0}, {46,14}, {15,78}, {63,91}, {64,0}, {18,2}, {63,92}, 
+    {63,93}, {34,16}, {34,60}, {64,1}, {22,88}, {26,46}, {64,2}, {35,26}, 
+    {64,3}, {64,4}, {64,5}, {19,16}, {23,40}, {37,28}, {35,73}, {17,1}, 
+    {47,49}, {70,58}, {26,34}, {50,54}, {50,35}, {24,66}, {65,46}, {54,14}, 
+    {38,75}, {16,50}, {19,17}, {65,48}, {47,81}, {33,13}, {65,47}, {30,65}, 
+    {50,5}, {20,54}, {65,49}, {20,73}, {34,76}, {23,92}, {23,13}, {36,50}, 
+    {22,46}, {65,51}, {65,50}, {21,39}, {54,88}, {44,4}, {65,55}, {65,53}, 
+    {41,91}, {30,20}, {50,24}, {65,52}, {65,54}, {32,13}, {31,39}, {65,58}, 
+    {65,57}, {31,9}, {32,45}, {65,59}, {65,60}, {65,61}, {58,39}, {48,50}, 
+    {44,1}, {28,7}, {61,34}, {55,4}, {30,9}, {58,44}, {49,75}, {37,89}, 
+    {36,9}, {61,35}, {16,54}, {62,13}, {41,28}, {62,16}, {24,12}, {49,92}, 
+    {23,4}, {25,74}, {18,57}, {20,59}, {52,36}, {34,53}, {46,49}, {26,0}, 
+    {68,82}, {68,81}, {68,83}, {44,67}, {39,84}, {20,14}, {38,30}, {68,85}, 
+    {75,15}, {68,69}, {24,72}, {20,16}, {33,27}, {68,71}, {68,70}, {68,72}, 
+    {49,44}, {64,73}, {47,45}, {44,13}, {48,68}, {17,41}, {16,74}, {16,81}, 
+    {36,76}, {52,34}, {50,15}, {64,59}, {64,60}, {49,58}, {18,24}, {16,42}, 
+    {44,88}, {52,86}, {64,61}, {29,21}, {19,92}, {64,62}, {25,59}, {64,63}, 
+    {26,17}, {33,40}, {64,64}, {47,75}, {44,28}, {64,65}, {20,34}, {36,38}, 
+    {64,66}, {64,67}, {50,88}, {64,68}, {48,12}, {64,69}, {45,1}, {64,70}, 
+    {20,33}, {64,71}, {26,52}, {47,35}, {65,63}, {16,55}, {49,67}, {65,64}, 
+    {27,40}, {39,43}, {65,66}, {75,93}, {75,92}, {62,14}, {65,65}, {53,29}, 
+    {44,91}, {34,5}, {66,34}, {53,49}, {65,70}, {65,71}, {50,38}, {65,75}, 
+    {30,75}, {65,76}, {65,68}, {18,31}, {35,77}, {65,77}, {47,34}, {25,85}, 
+    {65,72}, {22,61}, {26,18}, {43,11}, {42,42}, {65,67}, {65,69}, {65,73}, 
+    {65,74}, {65,86}, {65,83}, {51,84}, {65,82}, {36,12}, {52,89}, {36,33}, 
+    {17,31}, {65,78}, {65,81}, {32,14}, {42,27}, {20,0}, {65,88}, {27,16}, 
+    {65,80}, {47,51}, {51,24}, {65,84}, {24,53}, {65,85}, {38,50}, {65,79}, 
+    {54,59}, {76,0}, {65,87}, {76,4}, {65,93}, {41,48}, {32,20}, {26,47}, 
+    {30,53}, {25,66}, {42,0}, {76,5}, {76,2}, {76,1}, {26,53}, {76,6}, 
+    {47,83}, {76,3}, {25,61}, {21,86}, {66,0}, {21,17}, {43,80}, {24,6}, 
+    {46,1}, {38,0}, {30,49}, {21,80}, {65,89}, {65,90}, {65,92}, {65,91}, 
+    {35,52}, {66,1}, {50,32}, {66,6}, {38,35}, {46,3}, {66,8}, {25,22}, 
+    {66,7}, {26,57}, {66,2}, {66,3}, {66,9}, {66,5}, {45,81}, {50,37}, 
+    {26,27}, {51,34}, {35,89}, {76,7}, {47,91}, {66,4}, {34,84}, {66,12}, 
+    {16,14}, {66,17}, {27,33}, {66,11}, {20,30}, {38,72}, {66,15}, {29,9}, 
+    {44,78}, {26,82}, {43,71}, {66,14}, {66,16}, {46,6}, {66,13}, {45,8}, 
+    {26,60}, {20,74}, {29,68}, {17,49}, {18,44}, {16,24}, {66,10}, {17,48}, 
+    {20,11}, {24,62}, {21,71}, {46,74}, {66,22}, {26,43}, {39,38}, {47,41}, 
+    {66,23}, {18,77}, {76,8}, {50,89}, {50,67}, {76,9}, {66,24}, {49,65}, 
+    {66,20}, {50,61}, {23,47}, {66,18}, {66,21}, {22,62}, {66,19}, {31,1}, 
+    {66,25}, {51,23}, {19,39}, {66,26}, {26,36}, {40,86}, {40,68}, {35,28}, 
+    {76,10}, {33,92}, {26,58}, {30,13}, {45,30}, {66,27}, {30,21}, {16,78}, 
+    {51,86}, {66,29}, {76,12}, {66,30}, {25,8}, {76,11}, {66,28}, {66,31}, 
+    {25,21}, {21,13}, {47,23}, {15,34}, {76,13}, {76,14}, {31,32}, {66,32}, 
+    {36,18}, {66,33}, {59,17}, {76,15}, {23,73}, {45,75}, {73,6}, {47,70}, 
+    {41,88}, {39,53}, {46,22}, {18,40}, {45,49}, {28,67}, {66,61}, {26,81}, 
+    {73,7}, {52,28}, {37,60}, {73,8}, {73,9}, {73,11}, {73,10}, {73,13}, 
+    {73,12}, {28,55}, {73,14}, {33,29}, {19,32}, {19,86}, {26,6}, {75,69}, 
+    {75,68}, {22,30}, {42,88}, {16,65}, {75,70}, {40,39}, {75,71}, {75,72}, 
+    {41,53}, {61,47}, {17,36}, {51,89}, {37,42}, {15,38}, {19,81}, {39,50}, 
+    {44,47}, {30,23}, {30,58}, {38,3}, {53,19}, {31,8}, {61,48}, {40,7}, 
+    {48,78}, {36,3}, {15,70}, {18,21}, {39,36}, {15,65}, {22,85}, {36,89}, 
+    {21,82}, {52,49}, {18,47}, {27,27}, {18,12}, {29,80}, {15,48}, {49,53}, 
+    {41,66}, {54,4}, {44,21}, {21,21}, {30,24}, {52,58}, {23,6}, {36,54}, 
+    {61,49}, {30,56}, {33,52}, {38,31}, {26,3}, {16,7}, {36,73}, {36,90}, 
+    {43,6}, {16,6}, {20,53}, {35,7}, {61,50}, {48,25}, {18,72}, {34,81}, 
+    {22,86}, {53,83}, {20,2}, {17,79}, {35,19}, {35,72}, {31,12}, {61,51}, 
+    {15,71}, {36,35}, {32,63}, {24,52}, {29,59}, {44,55}, {15,45}, {44,46}, 
+    {61,53}, {29,47}, {54,29}, {61,52}, {52,47}, {15,60}, {35,65}, {33,2}, 
+    {27,79}, {50,20}, {31,24}, {36,0}, {17,5}, {51,80}, {31,7}, {41,34}, 
+    {61,54}, {52,91}, {24,15}, {39,12}, {42,8}, {61,56}, {30,28}, {37,19}, 
+    {54,6}, {41,15}, {35,34}, {18,53}, {24,49}, {53,23}, {73,91}, {15,19}, 
+    {30,69}, {43,83}, {44,57}, {53,30}, {33,45}, {45,45}, {43,1}, {47,13}, 
+    {35,50}, {20,17}, {61,55}, {52,84}, {27,22}, {26,50}, {15,3}, {36,17}, 
+    {19,75}, {52,80}, {73,92}, {61,57}, {44,5}, {44,75}, {45,69}, {61,59}, 
+    {44,16}, {31,5}, {54,28}, {61,58}, {15,37}, {25,19}, {40,50}, {35,82}, 
+    {29,71}, {17,21}, {31,43}, {42,79}, {27,80}, {26,26}, {20,22}, {36,84}, 
+    {61,69}, {61,66}, {29,60}, {61,62}, {19,22}, {28,60}, {61,63}, {35,76}, 
+    {46,37}, {20,63}, {21,61}, {41,57}, {20,83}, {61,68}, {52,37}, {61,64}, 
+    {43,44}, {37,93}, {36,36}, {49,19}, {29,81}, {33,50}, {43,28}, {18,23}, 
+    {28,50}, {30,55}, {44,37}, {48,57}, {19,74}, {61,67}, {61,60}, {61,70}, 
+    {73,93}, {33,15}, {61,65}, {53,31}, {20,6}, {17,83}, {61,71}, {61,81}, 
+    {61,76}, {61,80}, {39,63}, {54,64}, {61,78}, {34,71}, {43,64}, {17,68}, 
+    {49,29}, {61,77}, {61,74}, {45,52}, {19,6}, {30,10}, {29,29}, {28,49}, 
+    {61,72}, {51,13}, {61,61}, {61,73}, {31,30}, {61,75}, {17,82}, {23,72}, 
+    {33,6}, {28,32}, {61,84}, {61,87}, {17,10}, {19,3}, {19,73}, {40,5}, 
+    {61,85}, {42,48}, {23,66}, {61,86}, {61,89}, {61,88}, {43,33}, {15,64}, 
+    {19,77}, {68,25}, {47,14}, {17,74}, {74,0}, {61,83}, {40,66}, {61,82}, 
+    {15,57}, {49,0}, {16,86}, {43,14}, {61,79}, {42,3}, {52,9}, {61,90}, 
+    {19,60}, {35,5}, {61,92}, {34,93}, {35,0}, {62,0}, {32,43}, {61,91}, 
+    {29,78}, {37,17}, {18,36}, {39,85}, {42,25}, {61,93}, {62,3}, {54,17}, 
+    {18,22}, {32,34}, {38,42}, {17,4}, {19,72}, {54,10}, {35,75}, {62,1}, 
+    {62,2}, {62,4}, {25,18}, {62,5}, {31,61}, {40,34}, {17,56}, {38,69}, 
+    {62,6}, {38,59}, {62,7}, {74,1}, {42,50}, {62,9}, {62,8}, {17,32}, 
+    {36,41}, {62,10}, {51,59}, {39,32}, {62,11}, {29,79}, {62,12}, {53,6}, 
+    {73,22}, {74,21}, {41,52}, {55,91}, {23,35}, {24,4}, {22,36}, {52,93}, 
+    {24,41}, {47,6}, {83,44}, {20,47}, {34,83}, {29,39}, {74,22}, {15,28}, 
+    {28,43}, {32,17}, {16,53}, {18,7}, {23,49}, {40,1}, {21,55}, {74,23}, 
+    {29,19}, {41,92}, {38,34}, {52,90}, {22,82}, {45,35}, {52,10}, {16,82}, 
+    {75,18}, {15,62}, {75,20}, {21,22}, {32,46}, {84,89}, {47,16}, {52,68}, 
+    {45,50}, {28,78}, {18,65}, {23,10}, {52,21}, {76,28}, {21,46}, {42,24}, 
+    {47,33}, {22,28}, {75,21}, {41,8}, {36,51}, {75,24}, {75,23}, {33,34}, 
+    {75,22}, {47,92}, {75,25}, {75,26}, {54,68}, {75,27}, {75,28}, {37,75}, 
+    {45,61}, {27,39}, {39,52}, {20,8}, {29,40}, {53,27}, {51,70}, {48,13}, 
+    {47,80}, {73,23}, {73,24}, {73,25}, {25,20}, {41,16}, {30,84}, {44,89}, 
+    {73,31}, {15,25}, {73,29}, {31,4}, {73,26}, {17,92}, {34,86}, {26,71}, 
+    {49,54}, {45,83}, {73,30}, {73,27}, {73,34}, {47,38}, {50,18}, {19,25}, 
+    {34,32}, {54,81}, {52,48}, {41,38}, {73,36}, {73,35}, {73,38}, {73,37}, 
+    {53,70}, {46,51}, {73,42}, {26,45}, {28,89}, {40,45}, {73,43}, {40,24}, 
+    {46,93}, {73,41}, {51,45}, {73,44}, {73,46}, {44,76}, {73,40}, {73,45}, 
+    {45,77}, {26,61}, {18,30}, {37,52}, {29,15}, {45,89}, {38,70}, {29,6}, 
+    {73,47}, {53,38}, {32,31}, {51,60}, {73,48}, {46,29}, {73,49}, {41,77}, 
+    {36,14}, {15,20}, {73,51}, {73,50}, {83,62}, {35,25}, {16,8}, {68,62}, 
+    {73,52}, {41,78}, {73,53}, {73,54}, {37,55}, {73,55}, {73,56}, {51,26}, 
+    {38,89}, {49,22}, {23,91}, {73,33}, {17,59}, {33,91}, {51,87}, {43,69}, 
+    {54,77}, {51,33}, {50,47}, {74,34}, {36,82}, {22,93}, {74,51}, {42,22}, 
+    {74,61}, {31,41}, {44,90}, {18,14}, {37,57}, {74,91}, {35,29}, {45,19}, 
+    {35,8}, {16,29}, {51,92}, {41,84}, {53,75}, {37,50}, {21,67}, {26,89}, 
+    {47,63}, {40,16}, {51,50}, {39,7}, {23,42}, {71,29}, {40,27}, {71,26}, 
+    {31,77}, {47,50}, {17,35}, {19,68}, {71,27}, {52,39}, {21,36}, {71,28}, 
+    {41,87}, {23,59}, {43,84}, {31,19}, {48,77}, {71,30}, {71,33}, {25,27}, 
+    {16,12}, {28,59}, {73,28}, {71,34}, {71,37}, {71,42}, {71,43}, {42,40}, 
+    {15,68}, {27,10}, {24,24}, {71,32}, {44,86}, {71,41}, {45,85}, {52,76}, 
+    {32,53}, {71,35}, {34,21}, {24,90}, {53,5}, {71,39}, {41,63}, {51,69}, 
+    {71,31}, {71,36}, {71,38}, {38,24}, {22,66}, {71,40}, {30,60}, {71,49}, 
+    {71,54}, {71,52}, {27,59}, {27,46}, {71,58}, {71,61}, {71,57}, {16,89}, 
+    {15,55}, {35,18}, {23,43}, {37,65}, {39,29}, {39,64}, {71,46}, {71,51}, 
+    {71,53}, {24,80}, {71,55}, {54,84}, {35,90}, {71,59}, {17,72}, {71,48}, 
+    {27,76}, {30,33}, {71,44}, {53,88}, {32,87}, {17,80}, {71,62}, {41,32}, 
+    {71,56}, {52,3}, {16,73}, {52,26}, {71,45}, {71,47}, {21,15}, {71,50}, 
+    {71,60}, {31,23}, {41,86}, {42,7}, {37,59}, {31,84}, {71,72}, {47,2}, 
+    {71,81}, {53,73}, {71,63}, {71,64}, {48,88}, {25,42}, {23,88}, {23,80}, 
+    {51,51}, {71,78}, {71,77}, {71,75}, {24,79}, {43,49}, {71,69}, {45,5}, 
+    {30,81}, {15,23}, {71,80}, {71,79}, {54,31}, {71,67}, {44,8}, {40,2}, 
+    {26,23}, {28,58}, {71,73}, {71,65}, {71,66}, {71,68}, {20,20}, {71,70}, 
+    {38,36}, {71,74}, {71,76}, {28,15}, {54,13}, {71,87}, {71,84}, {44,15}, 
+    {71,85}, {32,25}, {71,71}, {34,22}, {15,79}, {71,83}, {71,86}, {24,2}, 
+    {40,49}, {34,45}, {45,63}, {31,69}, {42,82}, {43,60}, {47,20}, {41,64}, 
+    {71,82}, {27,75}, {71,88}, {34,61}, {37,68}, {24,86}, {15,83}, {54,55}, 
+    {27,11}, {36,78}, {43,35}, {72,5}, {40,12}, {72,1}, {31,65}, {30,34}, 
+    {71,93}, {24,54}, {71,90}, {72,3}, {49,45}, {72,2}, {53,17}, {54,20}, 
+    {72,6}, {28,22}, {71,91}, {71,92}, {72,0}, {44,53}, {49,11}, {72,17}, 
+    {72,8}, {19,9}, {19,26}, {72,10}, {47,7}, {72,4}, {18,93}, {72,11}, 
+    {31,66}, {72,9}, {72,24}, {72,23}, {72,13}, {71,89}, {72,7}, {30,11}, 
+    {72,16}, {72,25}, {33,4}, {72,14}, {23,36}, {72,12}, {50,59}, {72,19}, 
+    {72,20}, {72,22}, {72,38}, {31,37}, {72,36}, {72,15}, {72,26}, {15,80}, 
+    {72,27}, {52,4}, {72,29}, {72,30}, {72,32}, {32,80}, {39,21}, {72,28}, 
+    {72,33}, {72,34}, {72,18}, {72,21}, {26,16}, {72,31}, {27,86}, {72,35}, 
+    {72,37}, {72,41}, {72,45}, {17,58}, {72,39}, {22,13}, {72,42}, {72,43}, 
+    {52,32}, {35,2}, {72,55}, {25,64}, {72,40}, {50,2}, {72,51}, {72,54}, 
+    {72,47}, {72,46}, {38,32}, {72,49}, {72,56}, {18,39}, {72,50}, {46,79}, 
+    {72,44}, {18,86}, {72,53}, {72,57}, {43,19}, {46,12}, {72,52}, {72,59}, 
+    {72,58}, {72,61}, {72,48}, {72,60}, {72,62}, {34,41}, {38,22}, {19,45}, 
+    {26,21}, {47,31}, {75,2}, {36,22}, {50,90}, {75,3}, {75,4}, {37,58}, 
+    {30,77}, {75,5}, {75,6}, {47,9}, {38,23}, {23,71}, {75,7}, {53,24}, 
+    {52,92}, {19,42}, {17,28}, {45,67}, {37,70}, {44,64}, {19,84}, {42,31}, 
+    {27,62}, {72,65}, {72,66}, {48,73}, {72,68}, {19,88}, {72,67}, {48,18}, 
+    {41,65}, {17,47}, {72,71}, {72,69}, {72,70}, {53,18}, {72,72}, {72,73}, 
+    {72,74}, {72,75}, {75,14}, {36,24}, {21,45}, {49,82}, {20,77}, {26,56}, 
+    {75,16}, {49,66}, {45,66}, {35,23}, {34,30}, {21,29}, {55,24}, {16,39}, 
+    {16,46}, {16,48}, {36,93}, {16,47}, {34,10}, {52,16}, {74,3}, {25,32}, 
+    {43,25}, {74,4}, {74,6}, {74,7}, {74,5}, {74,8}, {74,10}, {74,9}, {74,11}, 
+    {41,46}, {55,20}, {34,80}, {34,4}, {37,87}, {74,12}, {35,41}, {74,13}, 
+    {74,14}, {74,15}, {22,52}, {22,89}, {74,16}, {38,65}, {74,18}, {25,3}, 
+    {48,84}, {15,16}, {74,17}, {74,19}, {20,9}, {33,39}, {38,71}, {74,20}, 
+    {42,13}, {66,62}, {50,31}, {56,58}, {44,0}, {53,12}, {38,82}, {56,63}, 
+    {26,66}, {25,25}, {66,65}, {46,10}, {66,63}, {40,38}, {25,24}, {48,19}, 
+    {66,64}, {39,73}, {24,14}, {28,12}, {18,55}, {45,58}, {43,31}, {66,71}, 
+    {66,72}, {44,83}, {43,12}, {27,18}, {66,73}, {66,74}, {47,57}, {37,90}, 
+    {22,57}, {38,62}, {49,41}, {45,53}, {66,67}, {66,75}, {40,81}, {18,32}, 
+    {66,70}, {37,66}, {66,68}, {76,18}, {66,69}, {40,18}, {36,69}, {24,20}, 
+    {34,26}, {66,66}, {36,28}, {32,3}, {33,56}, {17,54}, {66,76}, {26,5}, 
+    {35,12}, {66,79}, {29,57}, {66,90}, {66,84}, {25,50}, {22,47}, {50,44}, 
+    {53,45}, {52,50}, {24,32}, {52,19}, {48,55}, {47,24}, {38,85}, {39,9}, 
+    {17,19}, {34,57}, {66,77}, {66,91}, {66,78}, {22,7}, {66,86}, {66,83}, 
+    {22,25}, {36,1}, {66,85}, {36,60}, {17,7}, {37,91}, {35,63}, {54,1}, 
+    {31,64}, {66,88}, {66,89}, {66,92}, {43,8}, {66,82}, {50,29}, {16,34}, 
+    {76,19}, {66,80}, {66,81}, {66,87}, {47,25}, {37,34}, {51,82}, {66,93}, 
+    {28,63}, {67,6}, {67,5}, {48,82}, {67,2}, {67,8}, {39,86}, {46,19}, 
+    {67,7}, {67,13}, {33,68}, {21,19}, {28,81}, {67,1}, {25,72}, {67,9}, 
+    {67,11}, {21,92}, {53,61}, {67,17}, {67,12}, {67,0}, {26,77}, {44,60}, 
+    {38,1}, {36,40}, {32,86}, {67,3}, {38,18}, {28,11}, {28,28}, {67,4}, 
+    {54,38}, {17,65}, {67,10}, {27,34}, {67,14}, {26,74}, {67,15}, {36,7}, 
+    {67,16}, {52,66}, {30,2}, {67,25}, {67,22}, {67,26}, {67,28}, {37,53}, 
+    {25,37}, {31,42}, {23,0}, {67,19}, {51,0}, {25,2}, {28,93}, {67,27}, 
+    {44,30}, {35,88}, {46,90}, {40,69}, {50,30}, {46,48}, {67,18}, {67,23}, 
+    {67,24}, {43,72}, {43,45}, {31,51}, {67,20}, {32,15}, {67,21}, {45,47}, 
+    {26,32}, {20,50}, {39,82}, {28,6}, {52,38}, {40,11}, {23,1}, {67,41}, 
+    {67,43}, {48,35}, {49,25}, {25,12}, {25,51}, {67,34}, {20,76}, {54,44}, 
+    {67,31}, {46,92}, {67,30}, {32,59}, {43,41}, {41,70}, {35,54}, {43,51}, 
+    {67,39}, {67,38}, {67,32}, {67,35}, {20,12}, {50,56}, {67,37}, {49,88}, 
+    {19,66}, {26,19}, {40,77}, {19,29}, {26,75}, {48,44}, {43,76}, {76,20}, 
+    {38,68}, {51,7}, {67,42}, {54,52}, {67,33}, {28,4}, {67,36}, {50,69}, 
+    {67,40}, {40,87}, {67,29}, {50,68}, {38,93}, {21,40}, {51,91}, {17,18}, 
+    {67,54}, {45,33}, {67,44}, {45,27}, {23,58}, {67,53}, {30,41}, {50,45}, 
+    {34,75}, {36,39}, {67,55}, {44,35}, {67,46}, {67,51}, {67,52}, {25,93}, 
+    {46,69}, {52,30}, {67,49}, {67,47}, {67,45}, {44,68}, {41,9}, {31,2}, 
+    {28,5}, {67,50}, {23,39}, {67,70}, {51,19}, {67,58}, {32,78}, {67,72}, 
+    {49,70}, {67,62}, {67,63}, {46,9}, {42,60}, {67,57}, {67,48}, {67,68}, 
+    {39,59}, {67,66}, {35,70}, {67,65}, {67,64}, {18,91}, {67,71}, {20,64}, 
+    {54,43}, {67,69}, {26,11}, {54,49}, {43,46}, {74,87}, {67,67}, {24,85}, 
+    {53,44}, {67,56}, {67,59}, {33,89}, {67,61}, {33,42}, {31,35}, {33,47}, 
+    {16,84}, {43,17}, {20,45}, {67,78}, {37,14}, {37,64}, {67,84}, {33,8}, 
+    {31,75}, {48,60}, {67,77}, {35,13}, {67,76}, {67,85}, {67,83}, {33,93}, 
+    {67,60}, {67,79}, {41,93}, {52,35}, {67,80}, {48,89}, {67,74}, {67,75}, 
+    {67,81}, {45,10}, {36,42}, {38,16}, {33,25}, {67,73}, {32,41}, {43,21}, 
+    {18,16}, {67,90}, {67,82}, {67,89}, {67,92}, {67,91}, {18,45}, {18,25}, 
+    {67,86}, {67,88}, {67,87}, {36,75}, {31,28}, {51,71}, {68,1}, {15,35}, 
+    {68,3}, {68,2}, {27,3}, {68,4}, {68,0}, {67,93}, {16,83}, {68,7}, {68,8}, 
+    {68,5}, {68,6}, {68,9}, {37,56}, {68,10}, {68,12}, {68,11}, {68,14}, 
+    {68,13}, {24,63}, {68,15}, {68,16}, {26,79}, {75,64}, {34,79}, {20,37}, 
+    {26,49}, {32,72}, {51,77}, {29,35}, {54,37}, {51,53}, {17,50}, {75,29}, 
+    {73,32}, {33,14}, {19,21}, {48,54}, {18,19}, {39,17}, {30,26}, {75,31}, 
+    {53,42}, {75,30}, {75,32}, {75,36}, {29,69}, {43,30}, {36,57}, {29,27}, 
+    {75,37}, {16,93}, {75,35}, {52,7}, {20,66}, {75,33}, {32,21}, {18,66}, 
+    {75,34}, {42,23}, {31,34}, {43,93}, {32,49}, {75,39}, {25,69}, {31,50}, 
+    {53,81}, {48,43}, {30,29}, {22,18}, {40,52}, {75,38}, {26,65}, {43,43}, 
+    {28,92}, {39,39}, {46,8}, {44,72}, {36,74}, {22,72}, {48,40}, {25,23}, 
+    {75,40}, {75,41}, {26,31}, {75,42}, {75,65}, {16,25}, {22,56}, {28,24}, 
+    {75,43}, {48,69}, {75,44}, {39,26}, {75,48}, {75,50}, {26,44}, {27,68}, 
+    {75,46}, {40,22}, {34,25}, {75,66}, {52,52}, {75,47}, {53,82}, {75,49}, 
+    {75,45}, {75,51}, {75,52}, {40,30}, {46,7}, {47,59}, {48,11}, {39,58}, 
+    {75,53}, {45,84}, {41,75}, {75,57}, {75,56}, {15,29}, {75,54}, {75,55}, 
+    {75,67}, {39,27}, {32,38}, {75,59}, {48,63}, {75,58}, {51,78}, {75,60}, 
+    {58,37}, {75,61}, {16,11}, {75,62}, {75,63}, {54,5}, {36,31}, {74,27}, 
+    {15,13}, {29,83}, {23,23}, {49,14}, {15,53}, {20,88}, {55,18}, {42,11}, 
+    {66,60}, {37,11}, {15,69}, {36,37}, {74,24}, {74,25}, {74,26}, {48,31}, 
+    {36,2}, {73,81}, {35,17}, {35,20}, {31,45}, {73,82}, {35,32}, {45,78}, 
+    {73,79}, {73,83}, {40,91}, {38,2}, {43,55}, {45,93}, {73,84}, {73,85}, 
+    {46,11}, {31,70}, {73,86}, {21,30}, {73,87}, {73,88}, {73,89}, {73,90}, 
+    {73,80}, {39,13}, {64,74}, {22,23}, {64,75}, {64,76}, {54,19}, {64,77}, 
+    {64,78}, {50,43}, {64,80}, {30,80}, {64,79}, {20,49}, {16,22}, {64,82}, 
+    {64,81}, {25,91}, {64,83}, {24,22}, {29,48}, {35,91}, {25,60}, {28,37}, 
+    {64,84}, {64,86}, {21,31}, {46,32}, {41,7}, {64,85}, {52,87}, {50,91}, 
+    {64,87}, {64,91}, {64,88}, {64,89}, {31,73}, {64,93}, {65,0}, {31,38}, 
+    {64,90}, {64,92}, {65,4}, {32,51}, {65,2}, {65,7}, {17,93}, {65,1}, 
+    {34,44}, {17,33}, {65,6}, {65,5}, {65,3}, {65,8}, {65,10}, {47,40}, 
+    {53,76}, {34,7}, {65,11}, {46,54}, {65,13}, {25,78}, {72,63}, {65,12}, 
+    {65,9}, {26,10}, {51,18}, {65,15}, {65,14}, {72,64}, {65,16}, {65,17}, 
+    {65,18}, {43,0}, {65,19}, {65,20}, {47,93}, {33,41}, {50,80}, {44,84}, 
+    {70,63}, {70,64}, {29,32}, {33,73}, {70,67}, {70,66}, {44,69}, {34,20}, 
+    {70,65}, {26,22}, {46,53}, {32,64}, {70,72}, {70,71}, {70,83}, {17,2}, 
+    {70,73}, {70,69}, {70,75}, {70,74}, {40,25}, {52,67}, {70,68}, {22,8}, 
+    {70,70}, {70,77}, {70,82}, {53,72}, {70,76}, {70,81}, {70,80}, {15,63}, 
+    {70,84}, {38,81}, {31,36}, {31,76}, {32,79}, {70,79}, {70,85}, {42,85}, 
+    {71,1}, {71,0}, {54,32}, {70,89}, {70,88}, {70,90}, {70,86}, {70,93}, 
+    {70,92}, {70,91}, {32,52}, {38,56}, {36,92}, {36,34}, {38,76}, {71,2}, 
+    {71,5}, {71,4}, {71,6}, {25,86}, {70,87}, {71,3}, {39,79}, {40,9}, 
+    {71,8}, {24,68}, {48,93}, {71,7}, {71,9}, {71,12}, {71,13}, {32,6}, 
+    {71,14}, {71,15}, {71,11}, {71,19}, {71,10}, {71,16}, {71,20}, {71,17}, 
+    {71,18}, {71,22}, {71,21}, {24,46}, {79,11}, {79,12}, {37,15}, {15,73}, 
+    {39,30}, {44,62}, {45,44}, {73,16}, {73,17}, {37,30}, {19,40}, {73,18}, 
+    {52,70}, {60,88}, {73,19}, {73,20}, {73,21}, {23,41}, {62,15}, {40,84}, 
+    {43,79}, {40,89}, {40,90}, {50,34}, {42,5}, {23,5}, {79,13}, {16,33}, 
+    {68,23}, {43,78}, {50,40}, {27,54}, {40,73}, {20,70}, {35,47}, {20,72}, 
+    {77,13}, {26,12}, {70,61}, {77,14}, {18,8}, {77,17}, {77,16}, {28,70}, 
+    {77,15}, {45,22}, {36,46}, {32,83}, {58,45}, {77,18}, {47,82}, {33,51}, 
+    {37,71}, {22,11}, {77,19}, {18,74}, {26,90}, {77,20}, {70,59}, {77,21}, 
+    {28,13}, {80,65}, {41,71}, {49,40}, {79,57}, {79,58}, {79,59}, {32,37}, 
+    {23,76}, {29,45}, {79,61}, {36,16}, {79,60}, {48,80}, {79,63}, {15,43}, 
+    {28,73}, {49,62}, {79,62}, {19,14}, {22,71}, {79,69}, {79,68}, {37,2}, 
+    {79,64}, {79,65}, {19,34}, {79,66}, {52,77}, {43,58}, {29,49}, {27,17}, 
+    {79,71}, {79,70}, {79,67}, {17,0}, {53,1}, {50,23}, {29,22}, {39,11}, 
+    {79,73}, {48,86}, {53,43}, {25,58}, {79,72}, {21,26}, {44,19}, {37,5}, 
+    {32,0}, {79,74}, {79,77}, {79,76}, {79,79}, {79,75}, {26,29}, {79,78}, 
+    {43,20}, {79,81}, {18,52}, {16,51}, {79,82}, {79,83}, {79,85}, {19,64}, 
+    {79,80}, {79,86}, {79,89}, {79,87}, {79,84}, {79,92}, {79,88}, {79,91}, 
+    {79,93}, {80,0}, {45,32}, {80,3}, {80,2}, {32,85}, {79,90}, {41,60}, 
+    {19,80}, {16,80}, {43,16}, {80,5}, {80,6}, {80,11}, {52,45}, {80,8}, 
+    {39,18}, {80,1}, {80,10}, {80,7}, {80,4}, {80,9}, {15,8}, {80,12}, 
+    {80,14}, {80,16}, {80,15}, {80,13}, {48,1}, {80,17}, {80,18}, {24,78}, 
+    {20,38}, {15,54}, {15,56}, {51,76}, {20,35}, {28,51}, {26,41}, {79,6}, 
+    {23,61}, {79,7}, {15,7}, {79,8}, {44,77}, {79,9}, {79,10}, {37,3}, 
+    {53,68}, {80,67}, {80,68}, {34,82}, {50,58}, {53,48}, {36,71}, {50,14}, 
+    {49,69}, {77,32}, {15,26}, {52,20}, {48,45}, {27,63}, {25,47}, {30,87}, 
+    {23,38}, {20,32}, {36,43}, {41,1}, {34,42}, {77,33}, {35,30}, {21,1}, 
+    {76,75}, {34,3}, {53,16}, {46,63}, {76,78}, {36,45}, {21,59}, {41,0}, 
+    {76,76}, {76,79}, {76,80}, {34,27}, {30,19}, {76,77}, {76,83}, {76,81}, 
+    {52,69}, {34,62}, {76,82}, {76,85}, {52,2}, {48,2}, {76,84}, {34,47}, 
+    {76,86}, {30,83}, {29,75}, {76,87}, {43,86}, {48,58}, {54,36}, {52,85}, 
+    {76,91}, {76,90}, {76,88}, {76,89}, {76,92}, {29,5}, {42,14}, {77,0}, 
+    {21,28}, {77,1}, {35,31}, {76,93}, {28,61}, {17,38}, {21,34}, {77,4}, 
+    {55,25}, {77,2}, {77,5}, {34,72}, {18,81}, {77,6}, {77,3}, {46,24}, 
+    {77,7}, {33,86}, {77,8}, {77,9}, {61,10}, {37,18}, {38,37}, {53,84}, 
+    {20,40}, {42,17}, {77,10}, {44,10}, {77,11}, {52,15}, {77,12}, {85,35}, 
+    {58,38}, {19,2}, {34,11}, {80,69}, {41,23}, {49,50}, {53,9}, {78,81}, 
+    {29,55}, {28,34}, {78,82}, {21,43}, {15,10}, {41,14}, {76,21}, {76,22}, 
+    {45,88}, {22,14}, {30,82}, {76,23}, {33,74}, {40,15}, {76,24}, {37,85}, 
+    {30,18}, {76,27}, {36,87}, {48,47}, {54,8}, {76,25}, {76,26}, {48,65}, 
+    {76,30}, {76,31}, {76,35}, {76,39}, {76,37}, {76,45}, {52,71}, {76,40}, 
+    {76,38}, {76,29}, {36,72}, {37,37}, {40,72}, {51,49}, {76,32}, {76,33}, 
+    {76,34}, {76,36}, {31,88}, {19,0}, {24,71}, {76,47}, {76,48}, {76,41}, 
+    {76,46}, {45,87}, {42,21}, {76,43}, {76,44}, {46,84}, {76,49}, {32,81}, 
+    {50,17}, {76,42}, {39,22}, {27,78}, {36,79}, {76,53}, {20,78}, {33,20}, 
+    {15,12}, {42,72}, {16,13}, {76,51}, {44,74}, {20,65}, {76,52}, {76,50}, 
+    {76,54}, {20,89}, {76,55}, {76,56}, {76,59}, {16,43}, {36,85}, {27,77}, 
+    {76,57}, {43,27}, {17,73}, {76,58}, {35,74}, {19,36}, {15,84}, {76,62}, 
+    {31,57}, {19,71}, {36,44}, {76,60}, {30,35}, {76,61}, {35,4}, {76,63}, 
+    {76,64}, {76,66}, {32,54}, {26,38}, {28,23}, {76,65}, {76,67}, {76,69}, 
+    {76,68}, {76,70}, {41,29}, {75,73}, {31,80}, {40,70}, {75,74}, {37,77}, 
+    {75,75}, {37,76}, {75,76}, {75,79}, {54,69}, {75,82}, {75,80}, {75,77}, 
+    {75,78}, {54,2}, {40,80}, {42,77}, {75,83}, {75,81}, {46,72}, {75,85}, 
+    {37,16}, {27,31}, {75,84}, {20,26}, {26,85}, {75,86}, {56,86}, {28,90}, 
+    {33,26}, {75,87}, {75,88}, {23,2}, {75,89}, {75,90}, {75,91}, {50,76}, 
+    {55,13}, {31,74}, {38,60}, {25,43}, {47,66}, {42,28}, {44,25}, {23,48}, 
+    {16,91}, {38,78}, {53,53}, {30,37}, {34,74}, {78,84}, {34,55}, {54,65}, 
+    {78,86}, {18,50}, {38,55}, {48,76}, {53,39}, {78,87}, {78,85}, {26,92}, 
+    {18,37}, {28,52}, {49,37}, {26,63}, {46,0}, {78,91}, {78,90}, {78,88}, 
+    {18,43}, {40,51}, {42,15}, {78,93}, {15,61}, {53,40}, {78,92}, {18,76}, 
+    {85,52}, {45,39}, {79,1}, {79,0}, {20,29}, {27,57}, {26,91}, {23,68}, 
+    {35,33}, {79,2}, {42,74}, {79,5}, {48,7}, {29,30}, {38,77}, {80,21}, 
+    {80,22}, {30,52}, {19,8}, {80,23}, {44,26}, {38,51}, {52,12}, {80,24}, 
+    {80,25}, {38,46}, {49,3}, {53,46}, {80,26}, {28,48}, {19,15}, {29,28}, 
+    {19,59}, {45,48}, {30,62}, {80,28}, {30,89}, {80,27}, {80,30}, {80,29}, 
+    {80,31}, {80,32}, {32,93}, {32,1}, {41,89}, {52,29}, {29,25}, {29,24}, 
+    {52,33}, {30,1}, {44,14}, {80,20}, {28,62}, {21,42}, {53,80}, {82,34}, 
+    {82,35}, {23,44}, {82,37}, {82,38}, {15,41}, {82,36}, {82,40}, {42,80}, 
+    {82,42}, {47,5}, {16,41}, {82,39}, {82,46}, {20,48}, {82,54}, {82,49}, 
+    {82,51}, {82,50}, {22,90}, {16,30}, {82,45}, {82,41}, {20,57}, {82,47}, 
+    {82,48}, {82,52}, {82,44}, {27,66}, {32,92}, {82,53}, {82,57}, {82,43}, 
+    {20,39}, {28,77}, {82,59}, {22,3}, {30,79}, {53,93}, {44,17}, {19,79}, 
+    {17,62}, {82,55}, {82,56}, {40,23}, {82,60}, {82,61}, {82,64}, {82,62}, 
+    {82,66}, {82,65}, {82,58}, {30,73}, {18,78}, {82,63}, {38,8}, {27,81}, 
+    {82,74}, {24,30}, {82,67}, {17,12}, {26,93}, {42,66}, {82,76}, {82,72}, 
+    {24,59}, {82,77}, {82,68}, {82,69}, {82,73}, {33,64}, {82,75}, {82,78}, 
+    {82,71}, {27,92}, {46,67}, {82,79}, {82,70}, {82,81}, {54,12}, {37,9}, 
+    {82,82}, {82,80}, {33,7}, {23,60}, {82,84}, {82,83}, {19,58}, {82,85}, 
+    {82,86}, {82,87}, {31,25}, {31,72}, {36,80}, {82,90}, {82,89}, {19,55}, 
+    {82,93}, {82,88}, {82,91}, {82,92}, {83,0}, {83,2}, {26,40}, {83,1}, 
+    {83,3}, {17,29}, {83,5}, {83,4}, {27,13}, {34,54}, {56,64}, {31,63}, 
+    {83,43}, {54,48}, {22,58}, {83,45}, {32,2}, {37,40}, {19,53}, {52,18}, 
+    {83,47}, {83,46}, {83,48}, {42,57}, {83,49}, {51,32}, {53,63}, {22,63}, 
+    {32,23}, {32,26}, {83,50}, {29,11}, {19,65}, {83,51}, {83,52}, {29,10}, 
+    {83,53}, {83,58}, {83,54}, {83,57}, {25,92}, {83,55}, {83,56}, {23,65}, 
+    {43,38}, {83,59}, {17,57}, {34,50}, {51,66}, {30,22}, {83,60}, {36,19}, 
+    {83,72}, {46,20}, {45,40}, {42,55}, {42,86}, {28,83}, {54,46}, {31,58}, 
+    {47,84}, {83,73}, {83,74}, {83,75}, {86,66}, {22,16}, {83,76}, {54,74}, 
+    {83,77}, {69,88}, {29,31}, {69,89}, {25,75}, {69,90}, {46,42}, {69,91}, 
+    {51,27}, {27,21}, {69,92}, {69,93}, {27,44}, {39,49}, {45,18}, {70,0}, 
+    {19,30}, {70,1}, {40,19}, {23,56}, {35,40}, {54,60}, {33,57}, {22,54}, 
+    {53,28}, {45,37}, {22,35}, {36,5}, {70,2}, {46,62}, {70,3}, {70,4}, 
+    {70,5}, {32,22}, {54,72}, {40,79}, {46,23}, {53,14}, {53,52}, {70,6}, 
+    {15,76}, {70,7}, {70,8}, {40,59}, {49,78}, {29,12}, {70,9}, {15,82}, 
+    {39,61}, {28,64}, {70,10}, {39,37}, {70,11}, {26,69}, {23,87}, {48,3}, 
+    {70,12}, {33,70}, {29,87}, {28,41}, {44,18}, {70,13}, {70,14}, {29,77}, 
+    {47,68}, {42,70}, {43,47}, {27,43}, {70,15}, {27,7}, {47,86}, {70,16}, 
+    {47,87}, {70,17}, {70,18}, {19,33}, {70,19}, {70,20}, {40,93}, {45,11}, 
+    {34,63}, {70,22}, {16,32}, {18,80}, {70,23}, {70,24}, {54,58}, {52,31}, 
+    {70,25}, {33,43}, {54,25}, {70,26}, {70,27}, {70,28}, {27,73}, {34,68}, 
+    {31,33}, {70,29}, {70,30}, {27,8}, {70,31}, {70,32}, {70,21}, {21,47}, 
+    {70,33}, {70,34}, {70,35}, {26,25}, {20,61}, {33,37}, {16,63}, {70,36}, 
+    {51,20}, {70,37}, {23,30}, {70,39}, {70,38}, {22,75}, {70,40}, {17,87}, 
+    {70,41}, {70,42}, {70,43}, {70,44}, {70,45}, {70,46}, {70,47}, {50,6}, 
+    {42,84}, {70,48}, {70,49}, {70,50}, {70,51}, {40,40}, {70,52}, {70,53}, 
+    {70,54}, {70,55}, {70,56}, {28,40}, {70,57}, {82,29}, {23,54}, {39,16}, 
+    {82,30}, {82,31}, {82,32}, {24,61}, {44,87}, {55,71}, {25,16}, {33,61}, 
+    {77,22}, {22,2}, {77,24}, {77,23}, {15,52}, {77,26}, {52,53}, {54,78}, 
+    {53,34}, {77,28}, {41,79}, {77,27}, {77,29}, {77,31}, {77,30}, {48,81}, 
+    {38,27}, {34,31}, {23,64}, {32,70}, {83,37}, {47,62}, {83,38}, {46,58}, 
+    {39,25}, {83,39}, {83,40}, {83,41}, {83,42}, {56,89}, {23,93}, {68,80}, 
+    {50,79}, {83,63}, {45,43}, {18,64}, {80,19}, {49,77}, {83,64}, {46,71}, 
+    {83,65}, {38,43}, {20,51}, {19,67}, {83,67}, {83,66}, {83,68}, {83,69}, 
+    {83,70}, {25,17}, {15,30}, {83,71}, {22,12}, {49,76}, {49,10}, {31,46}, 
+    {30,27}, {74,2}, {52,62}, {73,39}, {80,82}, {21,87}, {42,2}, {35,44}, 
+    {80,70}, {80,71}, {23,90}, {80,72}, {25,35}, {51,36}, {15,49}, {80,73}, 
+    {80,74}, {80,75}, {80,76}, {80,77}, {80,78}, {80,80}, {80,79}, {36,52}, 
+    {80,81}, {21,89}, {80,83}, {49,13}, {61,38}, {42,41}, {18,59}, {20,1}, 
+    {24,1}, {35,83}, {80,84}, {80,85}, {32,35}, {32,90}, {53,15}, {80,86}, 
+    {80,87}, {32,9}, {37,23}, {29,58}, {80,88}, {19,46}, {80,89}, {76,17}, 
+    {76,16}, {42,63}, {49,61}, {42,32}, {52,55}, {39,65}, {31,62}, {27,0}, 
+    {74,32}, {47,3}, {53,65}, {21,38}, {23,55}, {74,31}, {23,45}, {74,30}, 
+    {18,5}, {24,40}, {53,10}, {22,83}, {22,41}, {27,70}, {22,29}, {74,37}, 
+    {74,38}, {15,24}, {30,46}, {74,36}, {50,92}, {74,39}, {74,40}, {22,45}, 
+    {74,33}, {74,35}, {40,85}, {53,54}, {52,44}, {47,17}, {74,46}, {45,23}, 
+    {74,47}, {20,7}, {16,18}, {74,49}, {43,4}, {36,53}, {74,50}, {74,48}, 
+    {36,62}, {74,45}, {41,3}, {74,52}, {15,90}, {25,89}, {55,22}, {80,66}, 
+    {74,41}, {74,42}, {74,43}, {74,44}, {74,53}, {69,31}, {74,56}, {30,71}, 
+    {49,39}, {74,54}, {74,59}, {23,75}, {74,55}, {28,25}, {47,55}, {15,22}, 
+    {74,60}, {35,59}, {53,11}, {19,63}, {33,85}, {27,24}, {74,57}, {74,58}, 
+    {51,63}, {37,73}, {35,51}, {74,62}, {36,6}, {56,84}, {17,16}, {74,67}, 
+    {28,36}, {74,65}, {74,66}, {23,11}, {44,48}, {74,68}, {74,64}, {32,18}, 
+    {37,1}, {43,82}, {74,69}, {31,15}, {49,23}, {74,70}, {23,14}, {23,12}, 
+    {74,71}, {38,26}, {44,82}, {74,73}, {74,74}, {74,76}, {47,39}, {74,81}, 
+    {74,77}, {74,80}, {39,88}, {48,91}, {74,75}, {74,72}, {23,24}, {46,56}, 
+    {35,68}, {74,78}, {74,79}, {43,57}, {44,39}, {15,81}, {74,85}, {74,84}, 
+    {17,17}, {23,63}, {74,86}, {16,75}, {43,36}, {35,3}, {46,4}, {74,88}, 
+    {75,1}, {36,81}, {74,89}, {40,36}, {65,62}, {74,93}, {44,45}, {75,0}, 
+    {16,58}, {50,22}, {49,59}, {74,92}, {74,90}, {18,27}, {73,15}, {54,51}, 
+    {83,10}, {18,83}, {53,32}, {53,33}, {52,72}, {29,41}, {83,6}, {49,7}, 
+    {83,7}, {83,8}, {83,9}, {29,42}, {50,62}, {40,63}, {40,64}, {82,33}, 
+    {41,69}, {43,81}, {65,21}, {42,19}, {45,71}, {53,58}, {83,12}, {83,13}, 
+    {83,14}, {83,17}, {25,28}, {83,18}, {15,66}, {83,15}, {83,16}, {28,1}, 
+    {17,52}, {83,21}, {83,22}, {21,69}, {17,15}, {46,46}, {83,19}, {19,11}, 
+    {83,20}, {83,23}, {83,24}, {44,6}, {83,25}, {83,26}, {83,27}, {42,49}, 
+    {83,28}, {83,29}, {83,30}, {83,61}, {32,27}, {27,71}, {40,10}, {48,61}, 
+    {68,84}, {59,18}, {49,52}, {59,19}, {15,11}, {59,20}, {28,57}, {59,24}, 
+    {55,33}, {59,22}, {50,82}, {40,53}, {59,25}, {59,21}, {59,26}, {34,1}, 
+    {59,27}, {59,36}, {59,28}, {45,62}, {53,4}, {59,46}, {59,44}, {59,49}, 
+    {28,69}, {33,10}, {59,23}, {59,42}, {59,45}, {59,29}, {22,49}, {15,36}, 
+    {59,38}, {47,29}, {59,32}, {26,7}, {22,27}, {59,43}, {59,37}, {59,30}, 
+    {38,58}, {48,30}, {59,31}, {59,41}, {59,47}, {45,12}, {59,33}, {59,34}, 
+    {59,39}, {59,40}, {17,51}, {59,48}, {42,52}, {51,22}, {59,58}, {59,62}, 
+    {43,5}, {59,69}, {34,70}, {59,59}, {30,32}, {59,56}, {15,89}, {24,21}, 
+    {59,68}, {59,50}, {59,35}, {59,53}, {39,83}, {30,63}, {40,26}, {16,28}, 
+    {50,1}, {59,57}, {59,52}, {37,26}, {59,61}, {54,33}, {34,14}, {22,21}, 
+    {38,48}, {34,8}, {59,65}, {59,55}, {59,74}, {59,51}, {59,60}, {29,4}, 
+    {59,54}, {59,63}, {59,66}, {59,67}, {59,87}, {59,64}, {60,1}, {59,70}, 
+    {27,74}, {19,35}, {34,2}, {17,70}, {59,89}, {59,81}, {59,78}, {59,91}, 
+    {59,77}, {49,79}, {17,71}, {39,54}, {39,66}, {59,90}, {59,76}, {59,86}, 
+    {59,84}, {29,2}, {59,83}, {17,60}, {59,82}, {27,85}, {59,71}, {26,35}, 
+    {31,82}, {27,51}, {59,72}, {59,73}, {59,80}, {59,85}, {59,88}, {20,19}, 
+    {39,56}, {26,70}, {59,93}, {59,92}, {50,10}, {60,0}, {60,2}, {60,4}, 
+    {49,80}, {60,3}, {60,5}, {60,6}, {49,8}, {25,40}, {60,8}, {60,21}, 
+    {60,16}, {60,19}, {60,15}, {37,45}, {31,81}, {40,14}, {59,75}, {60,13}, 
+    {60,22}, {59,79}, {60,14}, {60,23}, {60,11}, {60,24}, {60,18}, {60,12}, 
+    {35,9}, {60,7}, {31,18}, {32,10}, {60,9}, {60,10}, {60,17}, {26,80}, 
+    {60,20}, {50,7}, {60,25}, {60,26}, {34,6}, {60,49}, {60,27}, {60,48}, 
+    {24,28}, {29,52}, {29,89}, {25,41}, {60,41}, {60,36}, {60,30}, {17,42}, 
+    {60,34}, {60,42}, {17,3}, {60,52}, {60,29}, {37,47}, {60,47}, {60,51}, 
+    {32,65}, {22,37}, {60,45}, {60,46}, {60,35}, {60,28}, {60,44}, {43,48}, 
+    {60,40}, {60,33}, {34,39}, {37,27}, {45,13}, {60,43}, {60,39}, {60,32}, 
+    {60,37}, {33,59}, {50,8}, {50,9}, {60,50}, {46,83}, {39,87}, {60,69}, 
+    {60,38}, {60,63}, {33,67}, {60,64}, {60,54}, {53,87}, {60,56}, {60,55}, 
+    {23,79}, {60,53}, {37,46}, {21,12}, {60,65}, {25,88}, {51,64}, {60,70}, 
+    {19,47}, {60,57}, {30,90}, {60,66}, {60,62}, {60,60}, {20,56}, {60,58}, 
+    {60,59}, {60,61}, {28,14}, {60,67}, {60,68}, {60,84}, {34,40}, {42,65}, 
+    {60,81}, {55,64}, {37,48}, {60,83}, {52,83}, {60,82}, {60,79}, {60,75}, 
+    {60,78}, {60,71}, {47,77}, {39,55}, {60,77}, {60,72}, {60,73}, {42,81}, 
+    {60,76}, {16,44}, {31,21}, {27,26}, {60,80}, {60,86}, {60,85}, {60,74}, 
+    {36,77}, {60,90}, {61,3}, {61,2}, {60,87}, {34,78}, {33,90}, {52,64}, 
+    {45,20}, {60,92}, {17,43}, {35,71}, {41,62}, {38,29}, {60,89}, {60,91}, 
+    {60,93}, {61,1}, {15,9}, {16,45}, {61,11}, {61,5}, {28,21}, {39,78}, 
+    {61,0}, {61,4}, {61,8}, {61,7}, {61,6}, {61,12}, {51,43}, {61,18}, 
+    {61,9}, {61,13}, {31,56}, {16,0}, {61,21}, {61,16}, {61,17}, {48,5}, 
+    {61,20}, {61,14}, {61,15}, {47,28}, {61,19}, {41,76}, {61,24}, {61,23}, 
+    {61,22}, {61,26}, {28,68}, {17,55}, {34,73}, {61,25}, {36,25}, {61,27}, 
+    {43,56}, {22,9}, {51,68}, {61,28}, {61,30}, {35,1}, {61,32}, {61,29}, 
+    {61,31}, {52,25}, {61,33}, {81,13}, {26,1}, {33,17}, {36,15}, {33,38}, 
+    {81,14}, {47,72}, {50,60}, {74,28}, {18,69}, {81,15}, {81,16}, {41,12}, 
+    {25,70}, {81,18}, {81,20}, {81,19}, {42,67}, {46,25}, {81,17}, {41,19}, 
+    {49,46}, {33,75}, {45,34}, {81,23}, {15,85}, {81,22}, {81,29}, {17,46}, 
+    {48,32}, {81,25}, {81,27}, {51,72}, {81,26}, {81,21}, {81,30}, {81,28}, 
+    {81,24}, {81,38}, {81,35}, {81,37}, {81,41}, {81,33}, {81,31}, {81,36}, 
+    {53,90}, {81,32}, {38,88}, {40,62}, {81,39}, {24,37}, {20,15}, {81,34}, 
+    {81,40}, {81,47}, {81,53}, {26,54}, {81,52}, {44,59}, {53,74}, {81,49}, 
+    {81,51}, {23,81}, {81,42}, {81,45}, {33,88}, {52,60}, {81,43}, {81,44}, 
+    {81,46}, {81,50}, {81,56}, {50,27}, {21,73}, {41,80}, {22,67}, {81,54}, 
+    {81,55}, {81,57}, {81,60}, {81,58}, {81,59}, {48,48}, {81,48}, {44,40}, 
+    {45,46}, {53,8}, {81,66}, {34,58}, {81,63}, {31,14}, {81,75}, {81,61}, 
+    {81,64}, {81,71}, {81,65}, {81,70}, {81,69}, {81,72}, {81,62}, {81,67}, 
+    {81,73}, {50,11}, {81,68}, {17,84}, {81,81}, {47,10}, {81,84}, {26,39}, 
+    {81,88}, {81,79}, {81,85}, {81,87}, {81,89}, {81,82}, {81,80}, {25,90}, 
+    {20,90}, {81,78}, {81,86}, {81,76}, {81,77}, {81,74}, {82,5}, {82,2}, 
+    {82,1}, {81,83}, {39,57}, {81,90}, {82,4}, {34,87}, {81,92}, {82,6}, 
+    {82,8}, {82,3}, {81,91}, {82,10}, {82,9}, {33,60}, {82,13}, {82,15}, 
+    {82,0}, {82,16}, {82,11}, {82,14}, {81,93}, {82,12}, {82,17}, {82,19}, 
+    {82,7}, {82,18}, {82,20}, {47,22}, {82,23}, {56,88}, {82,24}, {82,22}, 
+    {39,67}, {82,21}, {82,25}, {82,26}, {19,31}, {77,34}, {82,27}, {82,28}, 
+    {48,9}, {83,11}, {47,37}, {47,47}, {48,59}, {46,45}, {28,53}, {48,34}, 
+    {25,65}, {64,72}, {49,33}, {80,33}, {17,24}, {16,76}, {80,34}, {40,31}, 
+    {18,35}, {56,81}, {42,4}, {80,35}, {53,51}, {80,36}, {83,31}, {80,37}, 
+    {51,11}, {80,38}, {15,31}, {83,32}, {83,33}, {19,91}, {36,58}, {43,26}, 
+    {47,67}, {44,63}, {80,39}, {56,82}, {16,26}, {46,13}, {23,3}, {80,41}, 
+    {80,42}, {17,34}, {32,48}, {54,15}, {80,40}, {80,43}, {80,45}, {56,85}, 
+    {49,64}, {51,2}, {83,34}, {39,24}, {83,35}, {80,44}, {80,46}, {30,66}, 
+    {80,47}, {80,51}, {80,53}, {80,48}, {40,48}, {36,64}, {33,66}, {24,91}, 
+    {80,50}, {80,52}, {24,50}, {80,58}, {25,53}, {15,92}, {80,56}, {80,55}, 
+    {80,49}, {80,57}, {80,54}, {39,75}, {44,41}, {80,60}, {68,28}, {80,59}, 
+    {80,61}, {80,62}, {46,68}, {83,36}, {28,82}, {80,63}, {80,64}, {45,86}, 
+    {49,9}, {80,90}, {23,17}, {27,90}, {24,58}, {24,69}, {34,56}, {41,50}, 
+    {73,71}, {31,31}, {29,84}, {73,72}, {73,73}, {73,74}, {73,75}, {73,76}, 
+    {73,77}, {73,78}, {28,38}, {84,90}, {84,92}, {84,93}, {84,91}, {28,65}, 
+    {85,0}, {19,4}, {85,1}, {85,2}, {75,17}, {48,51}, {56,73}, {85,3}, 
+    {77,25}, {52,17}, {50,93}, {43,59}, {41,35}, {68,31}, {85,4}, {29,14}, 
+    {37,8}, {57,4}, {27,37}, {21,8}, {23,27}, {39,46}, {27,4}, {57,5}, 
+    {57,6}, {43,53}, {39,34}, {57,7}, {37,92}, {48,20}, {49,72}, {48,21}, 
+    {27,38}, {28,17}, {26,67}, {57,8}, {57,9}, {48,39}, {57,10}, {47,76}, 
+    {21,78}, {33,58}, {42,46}, {22,76}, {40,71}, {22,34}, {29,86}, {53,3}, 
+    {57,11}, {57,12}, {37,31}, {54,70}, {41,21}, {52,8}, {42,62}, {52,78}, 
+    {57,13}, {53,62}, {19,41}, {57,15}, {57,14}, {49,74}, {57,16}, {57,17}, 
+    {57,18}, {41,51}, {57,19}, {41,10}, {57,20}, {57,21}, {18,46}, {53,78}, 
+    {57,22}, {26,15}, {20,13}, {57,23}, {57,24}, {24,77}, {48,14}, {49,71}, 
+    {57,25}, {23,34}, {46,73}, {17,78}, {57,26}, {57,27}, {28,74}, {45,59}, 
+    {50,78}, {57,28}, {45,82}, {57,29}, {50,52}, {26,68}, {57,30}, {42,20}, 
+    {42,47}, {57,31}, {38,74}, {53,77}, {57,32}, {36,20}, {21,32}, {57,33}, 
+    {22,43}, {30,45}, {57,34}, {57,35}, {42,12}, {57,36}, {20,86}, {57,37}, 
+    {32,33}, {54,26}, {57,38}, {43,23}, {49,73}, {35,16}, {57,39}, {20,92}, 
+    {26,48}, {57,40}, {47,18}, {57,41}, {57,42}, {45,28}, {57,43}, {57,44}, 
+    {57,45}, {17,86}, {57,48}, {57,46}, {48,71}, {57,47}, {34,52}, {57,49}, 
+    {57,50}, {57,51}, {57,52}, {47,26}, {49,4}, {15,88}, {57,53}, {38,10}, 
+    {57,54}, {28,86}, {34,0}, {57,55}, {57,56}, {34,92}, {43,22}, {57,57}, 
+    {57,58}, {31,29}, {37,54}, {57,59}, {57,60}, {38,19}, {57,61}, {57,62}, 
+    {24,39}, {26,76}, {21,24}, {83,87}, {83,88}, {44,66}, {84,24}, {74,63}, 
+    {46,82}, {26,30}, {25,31}, {51,4}, {64,56}, {84,83}, {16,9}, {17,81}, 
+    {84,84}, {84,86}, {25,48}, {84,85}, {34,17}, {84,88}, {84,87}, {16,19}, 
+    {52,73}, {23,25}, {24,16}, {17,37}, {51,79}, {46,44}, {15,59}, {52,42}, 
+    {26,84}, {53,41}, {22,22}, {43,15}, {37,21}, {16,64}, {24,25}, {53,91}, 
+    {24,64}, {22,0}, {27,89}, {73,57}, {73,58}, {43,88}, {24,82}, {73,59}, 
+    {19,90}, {34,18}, {22,48}, {25,55}, {73,60}, {51,83}, {73,61}, {27,53}, 
+    {26,62}, {73,62}, {32,61}, {33,23}, {51,62}, {54,41}, {73,63}, {73,64}, 
+    {73,67}, {73,65}, {73,66}, {40,61}, {23,18}, {21,35}, {73,68}, {41,73}, 
+    {40,44}, {19,44}, {65,56}, {36,65}, {73,69}, {31,20}, {54,23}, {73,70}, 
+    {54,11}, {39,91}, {55,50}, {55,44}, {51,61}, {51,88}, {40,35}, {50,13}, 
+    {23,50}, {18,63}, {40,65}, {83,85}, {25,52}, {83,86}, {54,62}, {83,80}, 
+    {23,15}, {52,51}, {23,46}, {37,79}, {18,34}, {83,81}, {18,11}, {51,28}, 
+    {38,86}, {83,83}, {83,82}, {43,42}, {39,3}, {83,84}, {54,66}, {36,30}, 
+    {84,31}, {84,26}, {84,34}, {84,33}, {53,25}, {84,32}, {51,29}, {84,35}, 
+    {84,43}, {15,46}, {20,87}, {84,40}, {84,41}, {36,59}, {84,36}, {84,37}, 
+    {84,38}, {84,42}, {29,63}, {84,39}, {23,89}, {84,47}, {84,50}, {30,70}, 
+    {24,81}, {84,27}, {84,44}, {33,22}, {43,87}, {27,88}, {84,45}, {84,46}, 
+    {84,48}, {21,68}, {84,49}, {84,52}, {84,28}, {84,51}, {50,26}, {18,75}, 
+    {43,3}, {84,53}, {84,54}, {29,64}, {84,55}, {43,62}, {84,58}, {17,39}, 
+    {54,56}, {84,56}, {84,57}, {84,59}, {84,65}, {84,63}, {84,62}, {84,60}, 
+    {84,64}, {84,61}, {84,67}, {84,68}, {43,66}, {68,30}, {20,23}, {84,66}, 
+    {84,71}, {43,2}, {84,69}, {84,70}, {84,29}, {16,35}, {84,30}, {20,36}, 
+    {17,67}, {84,75}, {84,72}, {21,54}, {84,76}, {84,73}, {84,74}, {19,57}, 
+    {51,73}, {84,77}, {18,88}, {84,78}, {84,80}, {84,79}, {84,81}, {84,82}, 
+    {40,76}, {24,9}, {38,90}, {21,66}, {43,40}, {73,5}, {18,20}, {51,93}, 
+    {24,75}, {47,88}, {72,76}, {54,9}, {72,77}, {33,53}, {39,76}, {25,67}, 
+    {72,78}, {72,79}, {72,80}, {53,64}, {72,81}, {72,82}, {72,84}, {72,83}, 
+    {72,85}, {72,86}, {38,64}, {72,87}, {51,55}, {72,88}, {28,45}, {72,89}, 
+    {72,90}, {28,46}, {72,91}, {23,7}, {32,29}, {72,92}, {16,17}, {26,51}, 
+    {24,84}, {72,93}, {73,0}, {73,1}, {73,2}, {22,87}, {27,12}, {41,67}, 
+    {63,45}, {51,14}, {46,28}, {52,22}, {73,3}, {52,61}, {73,4}, {47,32}, 
+    {24,27}, {19,38}, {16,56}, {31,16}, {16,69}, {16,70}, {16,71}, {18,28}, 
+    {39,71}, {68,32}, {16,62}, {32,40}, {19,78}, {38,7}, {50,55}, {37,88}, 
+    {48,23}, {24,92}, {33,84}, {50,12}, {51,42}, {28,91}, {68,33}, {22,20}, 
+    {68,34}, {26,24}, {52,65}, {28,87}, {51,21}, {45,4}, {32,11}, {18,56}, 
+    {43,85}, {68,37}, {68,35}, {68,39}, {68,41}, {68,38}, {20,46}, {37,39}, 
+    {20,91}, {68,36}, {41,85}, {68,40}, {34,51}, {16,36}, {27,2}, {54,22}, 
+    {44,42}, {42,44}, {41,41}, {43,50}, {68,43}, {68,42}, {35,69}, {48,0}, 
+    {48,22}, {68,44}, {68,47}, {44,23}, {53,79}, {68,46}, {20,60}, {44,29}, 
+    {68,48}, {21,25}, {44,7}, {24,67}, {41,36}, {18,48}, {42,56}, {51,75}, 
+    {68,49}, {22,73}, {68,45}, {68,52}, {19,93}, {68,53}, {68,50}, {68,51}, 
+    {49,60}, {33,62}, {16,37}, {50,65}, {21,60}, {42,75}, {68,54}, {50,85}, 
+    {16,72}, {21,83}, {68,57}, {68,55}, {68,56}, {20,31}, {49,36}, {68,59}, 
+    {68,61}, {68,60}, {38,17}, {49,2}, {68,58}, {51,65}, {52,57}, {68,63}, 
+    {54,80}, {68,64}, {16,59}, {48,90}, {68,65}, {68,67}, {68,66}, {68,68}, 
+    {49,55}, {20,42}, {70,62}, {57,84}, {57,87}, {57,85}, {57,86}, {57,89}, 
+    {47,46}, {35,38}, {15,77}, {47,15}, {57,88}, {50,41}, {25,9}, {58,1}, 
+    {38,80}, {57,91}, {57,90}, {40,58}, {57,92}, {58,0}, {54,61}, {57,93}, 
+    {32,57}, {58,4}, {50,83}, {58,6}, {58,3}, {58,7}, {28,27}, {31,40}, 
+    {58,2}, {58,5}, {53,2}, {58,8}, {58,12}, {58,13}, {58,11}, {25,33}, 
+    {30,3}, {58,10}, {58,9}, {51,38}, {17,30}, {58,14}, {24,88}, {58,15}, 
+    {18,26}, {20,5}, {21,27}, {58,16}, {21,84}, {58,17}, {16,40}, {58,19}, 
+    {58,18}, {58,20}, {58,22}, {58,21}, {58,23}, {58,24}, {58,25}, {50,46}, 
+    {83,89}, {38,84}, {54,34}, {36,67}, {83,91}, {83,92}, {83,90}, {29,37}, 
+    {47,78}, {22,50}, {51,44}, {43,9}, {84,1}, {84,0}, {25,7}, {83,93}, 
+    {42,53}, {84,3}, {31,49}, {18,73}, {44,9}, {84,4}, {84,2}, {28,19}, 
+    {84,7}, {84,8}, {28,44}, {34,23}, {30,64}, {42,64}, {84,9}, {84,5}, 
+    {84,6}, {35,79}, {84,11}, {19,27}, {54,76}, {19,54}, {84,10}, {84,13}, 
+    {84,12}, {84,14}, {47,48}, {34,48}, {39,8}, {84,15}, {84,16}, {84,17}, 
+    {84,18}, {84,19}, {84,20}, {84,22}, {84,21}, {84,23}, {17,40}, {50,51}, 
+    {41,44}, {31,78}, {53,55}, {49,15}, {32,30}, {28,79}, {23,9}, {27,87}, 
+    {85,37}, {85,38}, {85,39}, {85,40}, {85,41}, {85,43}, {85,42}, {86,72}, 
+    {85,44}, {85,45}, {77,35}, {77,36}, {77,37}, {52,74}, {21,3}, {77,39}, 
+    {77,38}, {77,40}, {77,41}, {38,4}, {77,42}, {77,43}, {22,15}, {20,85}, 
+    {77,44}, {77,46}, {77,45}, {23,37}, {77,47}, {77,48}, {77,49}, {21,58}, 
+    {18,13}, {53,50}, {35,37}, {16,20}, {23,53}, {77,50}, {77,51}, {51,30}, 
+    {38,52}, {29,90}, {45,56}, {24,18}, {77,53}, {77,52}, {77,55}, {77,54}, 
+    {36,4}, {77,56}, {77,57}, {38,13}, {77,58}, {38,14}, {77,59}, {17,6}, 
+    {77,60}, {77,61}, {77,62}, {77,63}, {77,64}, {54,73}, {77,65}, {77,66}, 
+    {27,55}, {77,67}, {50,42}, {43,89}, {17,11}, {32,68}, {77,68}, {38,5}, 
+    {34,12}, {77,69}, {77,70}, {77,71}, {77,72}, {77,73}, {77,74}, {77,75}, 
+    {77,76}, {77,77}, {77,78}, {77,79}, {77,80}, {77,81}, {77,83}, {77,82}, 
+    {77,84}, {44,12}, {33,32}, {77,85}, {77,86}, {77,87}, {52,0}, {77,88}, 
+    {46,18}, {77,89}, {77,90}, {77,91}, {77,92}, {78,0}, {77,93}, {78,1}, 
+    {23,84}, {34,89}, {78,2}, {78,3}, {28,33}, {49,30}, {17,88}, {78,4}, 
+    {78,5}, {78,6}, {49,87}, {78,7}, {53,92}, {78,8}, {37,43}, {78,9}, 
+    {78,10}, {32,19}, {78,11}, {46,89}, {42,87}, {78,13}, {78,12}, {18,89}, 
+    {24,87}, {78,14}, {78,15}, {47,65}, {78,16}, {78,17}, {22,69}, {47,30}, 
+    {78,18}, {78,19}, {78,20}, {39,80}, {43,63}, {78,21}, {78,22}, {78,23}, 
+    {78,24}, {78,25}, {52,63}, {78,26}, {19,76}, {34,9}, {78,27}, {78,28}, 
+    {78,29}, {78,30}, {45,92}, {78,31}, {33,63}, {19,23}, {54,21}, {28,84}, 
+    {46,38}, {78,34}, {78,32}, {78,33}, {78,35}, {21,6}, {27,91}, {29,65}, 
+    {34,43}, {78,36}, {78,37}, {78,38}, {78,46}, {78,39}, {78,40}, {78,41}, 
+    {38,33}, {78,80}, {21,44}, {78,42}, {78,43}, {78,44}, {21,37}, {34,29}, 
+    {78,45}, {78,47}, {78,48}, {78,49}, {52,81}, {78,50}, {35,86}, {78,51}, 
+    {35,87}, {78,52}, {78,53}, {23,67}, {15,86}, {78,54}, {78,55}, {78,56}, 
+    {78,57}, {78,58}, {78,59}, {78,60}, {78,61}, {29,20}, {78,64}, {78,62}, 
+    {78,63}, {78,65}, {78,66}, {32,44}, {78,67}, {78,68}, {78,69}, {78,70}, 
+    {78,71}, {78,72}, {78,73}, {78,74}, {78,75}, {31,55}, {78,76}, {32,12}, 
+    {78,77}, {78,78}, {78,79}, {46,65}, {18,3}, {34,36}, {66,36}, {40,32}, 
+    {66,37}, {16,52}, {45,41}, {19,18}, {39,81}, {66,38}, {46,47}, {66,39}, 
+    {27,67}, {66,40}, {66,41}, {34,37}, {52,1}, {35,53}, {24,74}, {45,36}, 
+    {66,42}, {34,85}, {66,43}, {22,6}, {23,82}, {25,49}, {66,44}, {66,45}, 
+    {51,35}, {66,46}, {66,47}, {48,42}, {66,48}, {66,49}, {66,50}, {66,51}, 
+    {48,53}, {66,52}, {17,90}, {31,26}, {66,53}, {31,10}, {66,54}, {66,55}, 
+    {66,56}, {66,57}, {66,58}, {23,22}, {57,65}, {21,50}, {57,67}, {57,66}, 
+    {57,69}, {39,77}, {57,68}, {22,31}, {48,83}, {49,84}, {52,82}, {28,54}, 
+    {54,71}, {57,71}, {57,70}, {15,1}, {44,50}, {57,72}, {23,28}, {27,41}, 
+    {33,28}, {33,3}, {18,33}, {57,73}, {33,9}, {35,15}, {28,20}, {46,61}, 
+    {57,74}, {40,33}, {16,60}, {57,75}, {21,23}, {51,25}, {18,92}, {57,76}, 
+    {51,40}, {46,52}, {36,66}, {57,77}, {57,78}, {57,79}, {32,73}, {43,52}, 
+    {46,60}, {50,70}, {33,0}, {57,80}, {42,68}, {57,81}, {42,69}, {49,93}, 
+    {23,83}, {57,82}, {15,14}, {46,21}, {52,46}, {42,76}, {57,83}, {66,35}, 
+    {32,4}, {85,30}, {85,31}, {85,32}, {35,48}, {39,23}, {48,66}, {47,58}, 
+    {48,36}, {27,14}, {24,44}, {78,83}, {19,37}, {50,25}, {85,33}, {18,90}, 
+    {85,34}, {20,80}, {85,36}, {50,73}, {85,6}, {48,8}, {85,8}, {85,7}, 
+    {32,66}, {31,54}, {16,1}, {45,76}, {47,71}, {85,10}, {46,85}, {85,9}, 
+    {52,79}, {85,11}, {34,24}, {26,83}, {85,13}, {85,12}, {35,61}, {32,55}, 
+    {42,9}, {46,27}, {85,14}, {85,15}, {85,16}, {33,21}, {15,51}, {36,88}, 
+    {85,17}, {38,63}, {85,5}, {29,23}, {29,17}, {20,68}, {22,38}, {30,30}, 
+    {34,49}, {34,69}, {55,43}, {23,78}, {28,88}, {48,4}, {15,47}, {86,15}, 
+    {86,16}, {47,11}, {15,15}, {86,17}, {86,18}, {86,19}, {38,41}, {29,46}, 
+    {86,22}, {86,21}, {16,61}, {86,20}, {86,23}, {86,24}, {45,3}, {39,44}, 
+    {25,10}, {71,23}, {71,24}, {71,25}, {29,33}, {49,83}, {51,46}, {40,55}, 
+    {49,18}, {21,4}, {38,73}, {80,91}, {46,77}, {42,18}, {47,74}, {70,78}, 
+    {44,70}, {24,42}, {21,56}, {80,92}, {15,67}, {42,43}, {80,93}, {51,3}, 
+    {33,12}, {32,75}, {37,35}, {29,16}, {81,0}, {27,52}, {81,1}, {81,2}, 
+    {81,3}, {49,34}, {37,20}, {44,38}, {81,4}, {50,16}, {30,36}, {43,65}, 
+    {81,5}, {81,6}, {48,52}, {21,77}, {81,7}, {81,8}, {20,62}, {81,9}, 
+    {81,10}, {17,91}, {81,11}, {81,12}, {39,6}, {22,70}, {75,8}, {75,9}, 
+    {75,10}, {75,11}, {37,13}, {75,12}, {75,13}, {22,40}, {41,18}, {65,23}, 
+    {86,46}, {86,47}, {17,44}, {86,48}, {86,50}, {86,49}, {65,26}, {27,1}, 
+    {65,27}, {65,28}, {65,29}, {65,30}, {65,31}, {65,32}, {22,24}, {49,90}, 
+    {28,3}, {41,45}, {16,4}, {42,38}, {65,33}, {21,91}, {39,35}, {65,34}, 
+    {28,39}, {16,92}, {65,35}, {21,85}, {65,36}, {35,56}, {65,37}, {46,57}, 
+    {24,60}, {65,38}, {31,0}, {65,39}, {17,85}, {65,40}, {32,82}, {65,41}, 
+    {65,42}, {33,87}, {65,43}, {65,44}, {65,45}, {41,54}, {55,23}, {56,68}, 
+    {46,66}, {79,4}, {59,15}, {33,76}, {51,5}, {44,51}, {48,16}, {18,58}, 
+    {38,92}, {17,20}, {33,30}, {69,63}, {41,26}, {69,64}, {69,65}, {29,51}, 
+    {69,66}, {54,3}, {44,52}, {69,68}, {27,60}, {69,67}, {69,69}, {69,70}, 
+    {33,77}, {28,29}, {69,71}, {33,69}, {25,6}, {69,72}, {69,73}, {18,49}, 
+    {48,72}, {30,4}, {69,74}, {37,78}, {69,75}, {69,76}, {69,77}, {37,12}, 
+    {69,78}, {40,6}, {69,79}, {69,80}, {69,81}, {68,24}, {69,82}, {69,83}, 
+    {33,65}, {69,84}, {69,85}, {53,71}, {69,86}, {69,87}, {24,38}, {86,26}, 
+    {86,25}, {86,29}, {86,27}, {25,0}, {86,30}, {86,31}, {86,33}, {86,32}, 
+    {86,35}, {86,34}, {86,36}, {86,37}, {86,38}, {42,71}, {23,62}, {86,51}, 
+    {86,52}, {86,53}, {86,55}, {86,57}, {86,54}, {86,58}, {86,56}, {54,54}, 
+    {86,59}, {86,60}, {86,61}, {86,62}, {86,63}, {58,42}, {55,9}, {68,86}, 
+    {24,76}, {30,92}, {26,73}, {86,40}, {37,38}, {86,39}, {86,41}, {86,43}, 
+    {86,42}, {86,44}, {45,25}, {86,45}, {35,6}, {50,66}, {85,46}, {33,18}, 
+    {85,47}, {85,48}, {85,49}, {85,50}, {85,51}, {85,53}, {16,10}, {85,54}, 
+    {85,55}, {85,56}, {85,57}, {85,58}, {85,59}, {85,60}, {85,61}, {46,41}, 
+    {85,62}, {85,63}, {85,64}, {85,65}, {85,66}, {85,67}, {31,79}, {85,68}, 
+    {85,69}, {85,70}, {85,71}, {85,72}, {85,73}, {85,74}, {85,75}, {85,76}, 
+    {85,77}, {85,78}, {85,79}, {85,80}, {85,81}, {85,82}, {85,83}, {29,7}, 
+    {85,84}, {85,85}, {85,86}, {85,87}, {39,89}, {85,88}, {85,89}, {85,90}, 
+    {85,91}, {85,92}, {85,93}, {86,0}, {86,1}, {86,2}, {86,3}, {86,4}, 
+    {86,5}, {86,6}, {86,7}, {16,77}, {86,8}, {86,9}, {86,10}, {86,11}, 
+    {86,12}, {32,58}, {86,13}, {86,14}, {35,80}, {79,14}, {27,5}, {79,15}, 
+    {34,88}, {36,23}, {48,26}, {79,16}, {79,17}, {79,18}, {79,19}, {79,20}, 
+    {48,27}, {48,75}, {79,22}, {79,21}, {51,6}, {44,49}, {79,23}, {79,25}, 
+    {79,24}, {79,26}, {79,27}, {23,74}, {79,28}, {25,71}, {79,29}, {79,30}, 
+    {29,72}, {79,31}, {21,75}, {79,32}, {79,33}, {79,34}, {79,35}, {39,20}, 
+    {79,36}, {79,37}, {79,38}, {36,83}, {79,39}, {79,40}, {79,41}, {86,28}, 
+    {79,42}, {79,43}, {79,44}, {79,45}, {79,46}, {25,54}, {79,47}, {79,48}, 
+    {79,49}, {79,50}, {79,51}, {79,52}, {79,53}, {79,55}, {50,4}, {79,54}, 
+    {79,56}, {84,25}, {33,24}, {86,67}, {86,68}, {86,69}, {86,70}, {86,71}, 
+    {33,19}, {86,73}, {86,74}, {33,82}, {83,79}, {83,78}, {33,72}, {86,64}, 
+    {86,65}, {26,37}, {56,67}, {41,81}, {31,71}, {79,3}, {25,57}, {38,12}, 
+    {35,11}, {86,75}, {86,76}, {86,77}, {86,79}, {86,78}, {86,80}, {86,83}, 
+    {86,82}, {86,81}, {86,84}, {86,85}, {76,72}, {76,73}, {76,74}, {85,27}, 
+    {85,28}, {85,29}, {21,5}, {55,29}, {24,35}, {55,26}, {59,16}, {41,82}, 
+    {86,86}, {86,87}, {86,88}, {86,90}, {86,89}, {16,38}, {86,91}, {86,92}, 
+    {86,93}, {37,74}, {75,19}, {18,60}, {85,18}, {85,19}, {32,67}, {85,20}, 
+    {85,21}, {85,22}, {85,23}, {85,24}, {85,25}, {39,2}, {85,26}, {32,89}, 
+    {24,7}, {76,71}, {24,73}, {56,62}, {2,0}, {2,1}, {2,2}, {0,70}, {2,4}, 
+    {2,5}, {2,6}, {2,7}, {2,8}, {2,9}, {2,10}, {2,11}, {2,12}, {2,13}, 
+    {2,14}, {2,15}, {2,16}, {2,17}, {2,18}, {2,19}, {2,20}, {2,21}, {2,22}, 
+    {2,23}, {2,24}, {2,25}, {2,26}, {2,27}, {2,28}, {2,29}, {2,30}, {2,31}, 
+    {2,32}, {2,33}, {2,34}, {2,35}, {2,36}, {2,37}, {2,38}, {2,39}, {2,40}, 
+    {2,41}, {2,42}, {2,43}, {2,44}, {2,45}, {2,46}, {2,47}, {2,48}, {2,49}, 
+    {2,50}, {2,51}, {2,52}, {2,53}, {2,54}, {2,55}, {2,56}, {2,57}, {2,58}, 
+    {2,59}, {2,60}, {2,61}, {2,62}, {2,63}, {2,64}, {2,65}, {2,66}, {2,67}, 
+    {2,68}, {2,69}, {2,70}, {2,71}, {2,72}, {2,73}, {2,74}, {2,75}, {2,76}, 
+    {2,77}, {2,78}, {2,79}, {2,80}, {2,81}, {2,82}, {2,83}, {2,84}, {2,85}, 
+    {2,86}, {2,87}, {2,88}, {2,89}, {2,90}, {2,91}, {2,92}, {0,10}, {0,72}, 
+    {0,73}, {2,93}, {2,3}
+};
+
+/* This returns ERROR if the code point doesn't exist. */
+long int gb2312_to_unicode(int r, int c)
+{
+    assert(r >= 0 && r < 94);
+    assert(c >= 0 && c < 94);
+    return gb2312_forward[r][c];
+}
+
+/* This one returns 1 on success, 0 if the code point doesn't exist. */
+int unicode_to_gb2312(long int unicode, int *r, int *c)
+{
+    int rr, cc;
+    long int uu;
+    int i, j, k;
+
+    i = -1;
+    j = lenof(gb2312_backward);
+    while (j - i > 1) {
+       k = (i + j) / 2;
+       rr = gb2312_backward[k].r;
+       cc = gb2312_backward[k].c;
+       uu = gb2312_forward[rr][cc];
+       if (unicode > uu)
+           i = k;
+       else if (unicode < uu)
+           j = k;
+       else {
+           *r = rr;
+           *c = cc;
+           return 1;
+       }
+    }
+    return 0;
+}
+
+#ifdef TESTMODE
+
+#include <stdio.h>
+
+int main(void)
+{
+    int r, c, rr, cc, ret;
+    long int u, uu;
+
+    for (r = 0; r < 94; r++) {
+       for (c = 0; c < 94; c++) {
+           u = gb2312_to_unicode(r, c);
+           if (u != ERROR) {
+               ret = unicode_to_gb2312(u, &rr, &cc);
+               if (!ret)
+                   printf("(%d,%d) -> U-%08lx but didn't convert back\n",
+                          r, c, u);
+               else if (rr != r || cc != c)
+                   printf("(%d,%d) -> U-%08lx -> (%d,%d)\n",
+                          r, c, u, rr, cc);
+           }
+       }
+    }
+
+    for (u = 0; u < 0x10000L; u++) {
+       ret = unicode_to_gb2312(u, &r, &c);
+       if (ret) {
+           uu = gb2312_to_unicode(r, c);
+           if (uu == ERROR)
+               printf("U-%08lx -> (%d,%d) but didn't convert back\n",
+                      u, r, c);
+           else if (uu != u)
+               printf("U-%08lx -> (%d,%d) -> U-%08lx\n", u, r, c, uu);
+       }
+    }
+
+    return 0;
+}
+
+#endif
diff --git a/hz.c b/hz.c
new file mode 100644 (file)
index 0000000..dc42171
--- /dev/null
+++ b/hz.c
@@ -0,0 +1,142 @@
+/*
+ * hz.c - HZ textual encoding of ASCII and GB2312, as defined in RFC 1843.
+ */
+
+#ifndef ENUM_CHARSETS
+
+#include <assert.h>
+
+#include "charset.h"
+#include "internal.h"
+
+static void read_hz(charset_spec const *charset, long int input_chr,
+                   charset_state *state,
+                   void (*emit)(void *ctx, long int output), void *emitctx)
+{
+    /*
+     * When reading, our state variables are:
+     * 
+     *  - s0 is 0 in ASCII mode, 1 in GB2312 mode.
+     * 
+     *         - s1 stores a character we have just seen but not fully
+     *           processed. So in ASCII mode, this can only ever be zero
+     *           (no character) or 0x7E (~); in GB2312 mode it can be
+     *           anything from 0x21-0x7E.
+     */
+
+    UNUSEDARG(charset);
+
+    if (state->s0 == 0) {
+       /*
+        * ASCII mode.
+        */
+
+       if (state->s1) {
+           assert(state->s1 == '~');
+           state->s1 = 0;
+           /* Process the character after a tilde. */
+           switch (input_chr) {
+             case '~':
+               emit(emitctx, input_chr);
+               return;
+             case '\n':
+               return;                /* ~\n is ignored */
+             case '{':
+               state->s0 = 1;         /* switch to GB2312 mode */
+               return;
+           }
+       } else if (input_chr == '~') {
+           state->s1 = '~';
+           return;
+       } else {
+           /* In ASCII mode, any non-tildes go straight  */
+           emit(emitctx, input_chr);
+           return;
+       }
+    } else {
+       /*
+        * GB2312 mode. As I understand it, we expect never to see
+        * anything in this mode that isn't 0x21-0x7E. So if we do,
+        * we'll simply throw an error and return to ASCII mode.
+        */
+       if (input_chr < 0x21 || input_chr > 0x7E) {
+           emit(emitctx, ERROR);
+           state->s0 = state->s1 = 0;
+           return;
+       }
+
+       /*
+        * So if we don't have a character stored already, store
+        * this one...
+        */
+       if (!state->s1) {
+           state->s1 = input_chr;
+           return;
+       }
+
+       /*
+        * ... otherwise, combine the stored char with this one.
+        * This will give either `~}', the escape sequence to
+        * return to ASCII mode, or something which we translate
+        * through GB2312.
+        */
+       if (state->s1 == '~' && input_chr == '}') {
+           state->s1 = state->s0 = 0;
+           return;
+       }
+
+       emit(emitctx, gb2312_to_unicode(state->s1 - 0x21, input_chr - 0x21));
+       state->s1 = 0;
+    }
+}
+
+static int write_hz(charset_spec const *charset, long int input_chr,
+                   charset_state *state,
+                   void (*emit)(void *ctx, long int output), void *emitctx)
+{
+    int desired_state, r, c;
+
+    UNUSEDARG(charset);
+
+    /*
+     * Analyse the input char.
+     */
+    if (input_chr < 0x80) {
+       desired_state = 0;
+       c = input_chr;
+    } else if (unicode_to_gb2312(input_chr, &r, &c)) {
+       desired_state = 1;
+    } else {
+       return FALSE;
+    }
+
+    if (state->s0 != desired_state) {
+       emit(emitctx, '~');
+       emit(emitctx, desired_state ? '{' : '}');
+       state->s0 = desired_state;
+    }
+
+    if (input_chr < 0)
+       return TRUE;                   /* special case: just reset state */
+
+    if (state->s0) {
+       /*
+        * GB mode.
+        */
+       emit(emitctx, 0x21 + r);
+       emit(emitctx, 0x21 + c);
+    } else {
+       emit(emitctx, c);
+    }
+    return TRUE;
+}
+
+const charset_spec charset_CS_HZ = {
+    CS_HZ, read_hz, write_hz, NULL
+};
+
+#else /* ENUM_CHARSETS */
+
+ENUM_CHARSET(CS_HZ)
+
+#endif /* ENUM_CHARSETS */
diff --git a/internal.h b/internal.h
new file mode 100644 (file)
index 0000000..ce9f146
--- /dev/null
@@ -0,0 +1,114 @@
+/*
+ * internal.h - internal header stuff for the charset library.
+ */
+
+#ifndef charset_internal_h
+#define charset_internal_h
+
+/* This invariably comes in handy */
+#define lenof(x) ( sizeof((x)) / sizeof(*(x)) )
+
+/* This is an invalid Unicode value used to indicate an error. */
+#define ERROR 0xFFFFL                 /* Unicode value representing error */
+
+#undef TRUE
+#define TRUE 1
+#undef FALSE
+#define FALSE 0
+
+typedef struct charset_spec charset_spec;
+typedef struct sbcs_data sbcs_data;
+
+struct charset_spec {
+    int charset;                      /* numeric identifier */
+
+    /*
+     * A function to read the character set and output Unicode
+     * characters. The `emit' function expects to get Unicode chars
+     * passed to it; it should be sent ERROR for any encoding error
+     * on the input.
+     */
+    void (*read)(charset_spec const *charset, long int input_chr,
+                charset_state *state,
+                void (*emit)(void *ctx, long int output), void *emitctx);
+    /*
+     * A function to read Unicode characters and output in this
+     * character set. The `emit' function expects to get byte
+     * values passed to it.
+     * 
+     * A non-representable input character should cause a FALSE
+     * return, _before_ `emit' is called. Successful conversion
+     * causes a TRUE return.
+     * 
+     * If `input_chr' is -1, this function must revert the encoding
+     * state to any default required at the end of a piece of
+     * encoded text.
+     */
+    int (*write)(charset_spec const *charset, long int input_chr,
+                charset_state *state,
+                void (*emit)(void *ctx, long int output), void *emitctx);
+    void const *data;
+};
+
+/*
+ * This is the format of `data' used by the SBCS read and write
+ * functions; so it's the format used in all SBCS definitions.
+ */
+struct sbcs_data {
+    /*
+     * This is a simple mapping table converting each SBCS position
+     * to a Unicode code point. Some positions may contain ERROR,
+     * indicating that that byte value is not defined in the SBCS
+     * in question and its occurrence in input is an error.
+     */
+    unsigned long sbcs2ucs[256];
+
+    /*
+     * This lookup table is used to convert Unicode back to the
+     * SBCS. It consists of the valid byte values in the SBCS,
+     * sorted in order of their Unicode translation. So given a
+     * Unicode value U, you can do a binary search on this table
+     * using the above table as a lookup: when testing the Xth
+     * position in this table, you branch according to whether
+     * sbcs2ucs[ucs2sbcs[X]] is less than, greater than, or equal
+     * to U.
+     * 
+     * Note that since there may be fewer than 256 valid byte
+     * values in a particular SBCS, we must supply the length of
+     * this table as well as the contents.
+     */
+    unsigned char ucs2sbcs[256];
+    int nvalid;
+};
+
+/*
+ * Prototypes for internal library functions.
+ */
+charset_spec const *charset_find_spec(int charset);
+void read_sbcs(charset_spec const *charset, long int input_chr,
+              charset_state *state,
+              void (*emit)(void *ctx, long int output), void *emitctx);
+int write_sbcs(charset_spec const *charset, long int input_chr,
+              charset_state *state,
+              void (*emit)(void *ctx, long int output), void *emitctx);
+
+long int big5_to_unicode(int r, int c);
+int unicode_to_big5(long int unicode, int *r, int *c);
+long int cp949_to_unicode(int r, int c);
+int unicode_to_cp949(long int unicode, int *r, int *c);
+long int ksx1001_to_unicode(int r, int c);
+int unicode_to_ksx1001(long int unicode, int *r, int *c);
+long int gb2312_to_unicode(int r, int c);
+int unicode_to_gb2312(long int unicode, int *r, int *c);
+long int jisx0208_to_unicode(int r, int c);
+int unicode_to_jisx0208(long int unicode, int *r, int *c);
+long int jisx0212_to_unicode(int r, int c);
+int unicode_to_jisx0212(long int unicode, int *r, int *c);
+
+/*
+ * Placate compiler warning about unused parameters, of which we
+ * expect to have some in this library.
+ */
+#define UNUSEDARG(x) ( (x) = (x) )
+
+#endif /* charset_internal_h */
diff --git a/iso2022s.c b/iso2022s.c
new file mode 100644 (file)
index 0000000..0878352
--- /dev/null
@@ -0,0 +1,480 @@
+/*
+ * iso2022s.c - support for ISO-2022 subset encodings.
+ * 
+ * (The `s' suffix on the filename is there to leave `iso2022.c'
+ * free for the unlikely event that I ever attempt to implement
+ * _full_ ISO-2022 in this library!)
+ */
+
+#ifndef ENUM_CHARSETS
+
+#include <stdio.h>
+#include <string.h>
+#include <assert.h>
+
+#include "charset.h"
+#include "internal.h"
+
+#define SO (0x0E)
+#define SI (0x0F)
+#define ESC (0x1B)
+
+/* Functional description of a single ISO 2022 escape sequence. */
+struct iso2022_escape {
+    char const *sequence;
+    unsigned long andbits, xorbits;
+    /*
+     * For output, these variables help us figure out which escape
+     * sequences we need to get where we want to be.
+     */
+    int container, subcharset;
+};
+
+struct iso2022 {
+    /*
+     * List of escape sequences supported in this subset. Must be
+     * in ASCII order, so that we can narrow down the list as
+     * necessary.
+     */
+    struct iso2022_escape *escapes;    /* must be sorted in ASCII order! */
+    int nescapes;
+
+    /*
+     * We assign indices from 0 upwards to the sub-charsets of a
+     * given ISO 2022 subset. nbytes[i] tells us how many bytes per
+     * character are required by sub-charset i. (It's a string
+     * mainly because that makes it easier to declare in C syntax
+     * than an int array.)
+     */
+    char const *nbytes;
+
+    /*
+     * The characters in this string are indices-plus-one (so that
+     * NUL can still terminate) of escape sequences in `escapes'.
+     * These escapes are output in the given sequence to reset the
+     * encoding state, unless it turns out that a given escape
+     * would not change the state at all.
+     */
+    char const *reset;
+
+    /*
+     * Initial value of s1, in case the default container contents
+     * needs to be something other than charset 0 in all cases.
+     * (Note that this must have the top bit set!)
+     */
+    unsigned long s1;
+
+    /*
+     * For output, some ISO 2022 subsets _mandate_ an initial shift
+     * sequence. If so, here it is so we can output it. (For the
+     * sake of basic sanity we won't bother to _require_ it on
+     * input, although it should of course be listed under
+     * `escapes' above so that we ignore it when present.)
+     */
+    char const *initial_sequence;
+
+    /*
+     * Function calls to do the actual translation.
+     */
+    long int (*to_ucs)(int subcharset, unsigned long bytes);
+    int (*from_ucs)(long int ucs, int *subcharset, unsigned long *bytes);
+};
+
+static void read_iso2022s(charset_spec const *charset, long int input_chr,
+                         charset_state *state,
+                         void (*emit)(void *ctx, long int output),
+                         void *emitctx)
+{
+    struct iso2022 const *iso = (struct iso2022 *)charset->data;
+
+    /*
+     * For reading ISO-2022 subsets, we divide up our state
+     * variables as follows:
+     * 
+     *         - The top byte of s0 (bits 31:24) indicates, if nonzero,
+     *           that we are part-way through a recognised ISO-2022 escape
+     *           sequence. Five of those bits (31:27) give the index of
+     *           the first member of the escapes list matching what we
+     *           have so far; the remaining three (26:24) give the number
+     *           of characters we have seen so far.
+     * 
+     *         - The top bit of s1 (bit 31) is non-zero at all times, to
+     *           indicate that we have performed any necessary
+     *           initialisation. When we start, we detect a zero s1 and
+     *           respond to it by initialising the default container
+     *           contents.
+     * 
+     *         - The next three bits of s1 (bits 30:28) indicate which
+     *           _container_ is currently selected. This isn't quite as
+     *           simple as it sounds, since we have to preserve memory of
+     *           which of the SI/SO containers we came from when we're
+     *           temporarily in SS2/SS3. Hence, what happens is:
+     *     + bit 28 indicates SI/SO.
+     *            + if we're in an SS2/SS3 container, that's indicated by
+     *              the two bits above that being nonzero and holding
+     *              either 2 or 3.
+     *            + Hence: 0 is SI, 1 is SO, 4 is SS2-from-SI, 5 is
+     *              SS2-from-SO, 6 is SS3-from-SI, 7 is SS3-from-SO.
+     * 
+     *         - The next nibble of s1 (27:24) indicates how many bytes
+     *           have been accumulated in the current character.
+     * 
+     *         - The remaining three bytes of s1 are divided into four
+     *           six-bit sections, and each section gives the current
+     *           sub-charset selected in one of the possible containers.
+     *           (Those containers are SI, SO, SS2 and SS3, respectively
+     *           and in order from the bottom of s0 to the top.)
+     * 
+     *         - The bottom 24 bits of s0 give the accumulated character
+     *           data so far.
+     * 
+     * (Note that this means s1 contains all the parts of the state
+     * which might need to be operated on by escape sequences.
+     * Cunning, eh?)
+     */
+
+    if (!(state->s1 & 0x80000000)) {
+       state->s1 = iso->s1;
+    }
+
+    /*
+     * So. Firstly, we process escape sequences, if we're in the
+     * middle of one or if we see a possible introducer (SI, SO,
+     * ESC).
+     */
+    if ((state->s0 >> 24) ||
+       (input_chr == SO || input_chr == SI || input_chr == ESC)) {
+       int n = (state->s0 >> 24) & 7, i = (state->s0 >> 27), oi = i, j;
+
+       /*
+        * If this is the start of an escape sequence, we might be
+        * in mid-character. If so, clear the character state and
+        * emit an error token for the incomplete character.
+        */
+       if (state->s1 & 0x0F000000) {
+           state->s1 &= ~0x0F000000;
+           state->s0 &= 0xFF000000;
+           /*
+            * If we were in the SS2 or SS3 container, we
+            * automatically exit it.
+            */
+           if (state->s1 & 0x60000000)
+               state->s1 &= 0x9FFFFFFF;
+           emit(emitctx, ERROR);
+       }
+
+       j = i;
+       while (j < iso->nescapes &&
+              !memcmp(iso->escapes[j].sequence,
+                      iso->escapes[oi].sequence, n)) {
+           if (iso->escapes[j].sequence[n] < input_chr)
+               i = ++j;
+           else
+               break;
+       }
+       if (i >= iso->nescapes ||
+           memcmp(iso->escapes[i].sequence,
+                  iso->escapes[oi].sequence, n) ||
+           iso->escapes[i].sequence[n] != input_chr) {
+           /*
+            * This character does not appear in any valid escape
+            * sequence. Therefore, we must emit all the characters
+            * we had previously swallowed, plus this one, and
+            * return to non-escape-sequence state.
+            */
+           for (j = 0; j < n; j++)
+               emit(emitctx, iso->escapes[oi].sequence[j]);
+           emit(emitctx, input_chr);
+           state->s0 = 0;
+           return;
+       }
+
+       /*
+        * Otherwise, we have found an additional character in our
+        * escape sequence. See if we have reached the _end_ of our
+        * sequence (and therefore must process the sequence).
+        */
+       n++;
+       if (!iso->escapes[i].sequence[n]) {
+           state->s0 = 0;
+           state->s1 &= iso->escapes[i].andbits;
+           state->s1 ^= iso->escapes[i].xorbits;
+           return;
+       }
+
+       /*
+        * Failing _that_, we simply update our escape-sequence-
+        * tracking state.
+        */
+       assert(i < 32 && n < 8);
+       state->s0 = (i << 27) | (n << 24);
+       return;
+    }
+
+    /*
+     * If this isn't an escape sequence, it must be part of a
+     * character. One possibility is that it's a control character
+     * (outside the space 21-7E), in which case we output it verbatim.
+     */
+    if (input_chr < 0x21 || input_chr > 0x7E) {
+       /*
+        * We might be in mid-multibyte-character. If so, clear the
+        * character state and emit an error token for the
+        * incomplete character.
+        */
+       if (state->s1 & 0x0F000000) {
+           state->s1 &= ~0x0F000000;
+           state->s0 &= 0xFF000000;
+           emit(emitctx, ERROR);
+           /*
+            * If we were in the SS2 or SS3 container, we
+            * automatically exit it.
+            */
+           if (state->s1 & 0x60000000)
+               state->s1 &= 0x9FFFFFFF;
+       }
+
+       emit(emitctx, input_chr);
+       return;
+    }
+
+    /*
+     * Otherwise, accumulate character data.
+     */
+    {
+       unsigned long chr;
+       int chrlen, cont, subcharset, bytes;
+
+       /* The current character and its length. */
+       chr = ((state->s0 & 0x00FFFFFF) << 8) | input_chr;
+       chrlen = ((state->s1 >> 24) & 0xF) + 1;
+       /* The current sub-charset. */
+       cont = (state->s1 >> 28) & 7;
+       if (cont > 1) cont >>= 1;
+       subcharset = (state->s1 >> (6*cont)) & 0x3F;
+       /* The number of bytes-per-character in that sub-charset. */
+       bytes = iso->nbytes[subcharset];
+
+       /*
+        * If this character is now complete, we convert and emit
+        * it. Otherwise, we simply update the state and return.
+        */
+       if (chrlen >= bytes) {
+           emit(emitctx, iso->to_ucs(subcharset, chr));
+           chr = chrlen = 0;
+           /*
+            * If we were in the SS2 or SS3 container, we
+            * automatically exit it.
+            */
+           if (state->s1 & 0x60000000)
+               state->s1 &= 0x9FFFFFFF;
+       }
+       state->s0 = (state->s0 & 0xFF000000) | chr;
+       state->s1 = (state->s1 & 0xF0FFFFFF) | (chrlen << 24);
+    }
+}
+
+static int write_iso2022s(charset_spec const *charset, long int input_chr,
+                         charset_state *state,
+                         void (*emit)(void *ctx, long int output),
+                         void *emitctx)
+{
+    struct iso2022 const *iso = (struct iso2022 *)charset->data;
+    int subcharset, len, i, j, cont;
+    unsigned long bytes;
+
+    /*
+     * For output, our s1 state variable contains most of the same
+     * stuff as it did for input - initial-state indicator bit,
+     * current container, and current subcharset selected in each
+     * container.
+     */
+
+    /*
+     * Analyse the character and find out what subcharset it needs
+     * to go in.
+     */
+    if (input_chr >= 0 && !iso->from_ucs(input_chr, &subcharset, &bytes))
+       return FALSE;
+
+    if (!(state->s1 & 0x80000000)) {
+       state->s1 = iso->s1;
+       if (iso->initial_sequence)
+           for (i = 0; iso->initial_sequence[i]; i++)
+               emit(emitctx, iso->initial_sequence[i]);
+    }
+
+    if (input_chr == -1) {
+       unsigned long oldstate;
+       int k;
+
+       /*
+        * Special case: reset encoding state.
+        */
+       for (i = 0; iso->reset[i]; i++) {
+           j = iso->reset[i] - 1;
+           oldstate = state->s1;
+           state->s1 &= iso->escapes[j].andbits;
+           state->s1 ^= iso->escapes[j].xorbits;
+           if (state->s1 != oldstate) {
+               /* We must actually emit this sequence. */
+               for (k = 0; iso->escapes[j].sequence[k]; k++)
+                   emit(emitctx, iso->escapes[j].sequence[k]);
+           }
+       }
+
+       return TRUE;
+    }
+
+    /*
+     * Now begins the fun. We now know what subcharset we want. So
+     * we must find out which container we should select it into,
+     * select it into it if necessary, select that _container_ if
+     * necessary, and then output the given bytes.
+     */
+    for (i = 0; i < iso->nescapes; i++)
+       if (iso->escapes[i].subcharset == subcharset)
+           break;
+    assert(i < iso->nescapes);
+
+    /*
+     * We've found the escape sequence which would select this
+     * subcharset into a container. However, that subcharset might
+     * already _be_ selected in that container! Check before we go
+     * to the effort of emitting the sequence.
+     */
+    cont = iso->escapes[i].container;
+    if (((state->s1 >> (6*cont)) & 0x3F) != subcharset) {
+       for (j = 0; iso->escapes[i].sequence[j]; j++)
+           emit(emitctx, iso->escapes[i].sequence[j]);
+       state->s1 &= iso->escapes[i].andbits;
+       state->s1 ^= iso->escapes[i].xorbits;
+    }
+
+    /*
+     * Now we know what container our subcharset is in, so we want
+     * to select that container.
+     */
+    if (cont > 1) {
+       /* SS2 or SS3; just output the sequence and be done. */
+       emit(emitctx, ESC);
+       emit(emitctx, 'L' + cont);     /* comes out to 'N' or 'O' */
+    } else {
+       /* Emit SI or SO, but only if the current container isn't already
+        * the right one. */
+       if (((state->s1 >> 28) & 7) != cont) {
+           emit(emitctx, cont ? SO : SI);
+           state->s1 = (state->s1 & 0x8FFFFFFF) | (cont << 28);
+       }
+    }
+
+    /*
+     * We're done. Subcharset is selected in container, container
+     * is selected. All we need now is to write out the bytes.
+     */
+    len = iso->nbytes[subcharset];
+    while (len--)
+       emit(emitctx, (bytes >> (8*len)) & 0xFF);
+
+    return TRUE;
+}
+
+/*
+ * ISO-2022-JP, defined in RFC 1468.
+ */
+static long int iso2022jp_to_ucs(int subcharset, unsigned long bytes)
+{
+    switch (subcharset) {
+      case 0: return bytes;           /* one-byte ASCII */
+      case 1:                         /* JIS X 0201 half-width katakana */
+       if (bytes >= 0x21 && bytes <= 0x5F)
+           return bytes + (0xFF61 - 0x21);
+       else
+           return ERROR;
+       /* (no break needed since all control paths have returned) */
+      case 2: return jisx0208_to_unicode(((bytes >> 8) & 0xFF) - 0x21,
+                                        ((bytes     ) & 0xFF) - 0x21);
+      default: return ERROR;
+    }
+}
+static int iso2022jp_from_ucs(long int ucs, int *subcharset,
+                             unsigned long *bytes)
+{
+    int r, c;
+    if (ucs < 0x80) {
+       *subcharset = 0;
+       *bytes = ucs;
+       return 1;
+    } else if (ucs >= 0xFF61 && ucs <= 0xFF9F) {
+       *subcharset = 1;
+       *bytes = ucs - (0xFF61 - 0x21);
+       return 1;
+    } else if (unicode_to_jisx0208(ucs, &r, &c)) {
+       *subcharset = 2;
+       *bytes = ((r+0x21) << 8) | (c+0x21);
+       return 1;
+    } else {
+       return 0;
+    }
+}
+static struct iso2022_escape iso2022jp_escapes[] = {
+    {"\033$@", 0xFFFFFFC0, 0x00000002, -1, -1},   /* we ignore this one */
+    {"\033$B", 0xFFFFFFC0, 0x00000002, 0, 2},
+    {"\033(B", 0xFFFFFFC0, 0x00000000, 0, 0},
+    {"\033(J", 0xFFFFFFC0, 0x00000001, 0, 1},
+};
+static struct iso2022 iso2022jp = {
+    iso2022jp_escapes, lenof(iso2022jp_escapes),
+    "\1\1\2", "\3", 0x80000000, NULL, iso2022jp_to_ucs, iso2022jp_from_ucs
+};
+const charset_spec charset_CS_ISO2022_JP = {
+    CS_ISO2022_JP, read_iso2022s, write_iso2022s, &iso2022jp
+};
+
+/*
+ * ISO-2022-KR, defined in RFC 1557.
+ */
+static long int iso2022kr_to_ucs(int subcharset, unsigned long bytes)
+{
+    switch (subcharset) {
+      case 0: return bytes;           /* one-byte ASCII */
+      case 1: return ksx1001_to_unicode(((bytes >> 8) & 0xFF) - 0x21,
+                                       ((bytes     ) & 0xFF) - 0x21);
+      default: return ERROR;
+    }
+}
+static int iso2022kr_from_ucs(long int ucs, int *subcharset,
+                             unsigned long *bytes)
+{
+    int r, c;
+    if (ucs < 0x80) {
+       *subcharset = 0;
+       *bytes = ucs;
+       return 1;
+    } else if (unicode_to_ksx1001(ucs, &r, &c)) {
+       *subcharset = 1;
+       *bytes = ((r+0x21) << 8) | (c+0x21);
+       return 1;
+    } else {
+       return 0;
+    }
+}
+static struct iso2022_escape iso2022kr_escapes[] = {
+    {"\016", 0x8FFFFFFF, 0x10000000, -1, -1},
+    {"\017", 0x8FFFFFFF, 0x00000000, 0, 0},
+    {"\033$)C", 0xFFFFF03F, 0x00000040, 1, 1},   /* bits[11:6] <- 1 */
+};
+static struct iso2022 iso2022kr = {
+    iso2022kr_escapes, lenof(iso2022kr_escapes),
+    "\1\2", "\2", 0x80000040, "\033$)C", iso2022kr_to_ucs, iso2022kr_from_ucs
+};
+const charset_spec charset_CS_ISO2022_KR = {
+    CS_ISO2022_KR, read_iso2022s, write_iso2022s, &iso2022kr
+};
+
+#else /* ENUM_CHARSETS */
+
+ENUM_CHARSET(CS_ISO2022_JP)
+ENUM_CHARSET(CS_ISO2022_KR)
+
+#endif /* ENUM_CHARSETS */
diff --git a/istate.c b/istate.c
new file mode 100644 (file)
index 0000000..9c6f8c0
--- /dev/null
+++ b/istate.c
@@ -0,0 +1,3 @@
+#include "charset.h"
+
+const charset_state charset_init_state = CHARSET_INIT_STATE;
diff --git a/jisx0208.c b/jisx0208.c
new file mode 100644 (file)
index 0000000..c9f161d
--- /dev/null
@@ -0,0 +1,2021 @@
+/*
+ * JIS X 0208 implementation for libcharset. (This is the character
+ * set itself, not any particular multibyte encoding of it.
+ * Multibyte encodings of this character set are handled
+ * separately.)
+ */
+
+#include <assert.h>
+
+#include "charset.h"
+#include "internal.h"
+
+/*
+ * These tables are generated from the JIS X 0208 <-> Unicode
+ * character mapping found at
+ * 
+ * http://www.unicode.org/Public/MAPPINGS/OBSOLETE/EASTASIA/JIS/JIS0208.TXT
+ */
+
+/*
+ * Mapping from JIS X 0208 to Unicode. For these purposes JIS X
+ * 0208 is considered to be a 94x94 square array, with coordinates
+ * running from (0,0) to (93,93).
+ * 
+ * Generated by running the following sh+Perl over JIS0208.TXT:
+
+cat JIS0208.TXT | \
+perl -ne '$a{hex$1,hex$2}=$3 if /^[^#]\S+\s+0x(\S\S)(\S\S)\s+(0x\S+)\s/;' \
+      -e 'END {for $r (0..93) { $o="    {"; for $c (0..93) {' \
+      -e '$k=$a{$r+33,$c+33}; $k=" ERROR" unless defined $k;' \
+      -e '$o .= ", " if $c > 0; (print "$o\n"), $o="    " if length $o > 70;' \
+      -e '$o .= $k; } print "$o},\n"; }}'
+
+ */
+
+static const unsigned short jisx0208_forward[94][94] = {
+    {0x3000, 0x3001, 0x3002, 0xFF0C, 0xFF0E, 0x30FB, 0xFF1A, 0xFF1B, 0xFF1F, 
+    0xFF01, 0x309B, 0x309C, 0x00B4, 0xFF40, 0x00A8, 0xFF3E, 0xFFE3, 0xFF3F, 
+    0x30FD, 0x30FE, 0x309D, 0x309E, 0x3003, 0x4EDD, 0x3005, 0x3006, 0x3007, 
+    0x30FC, 0x2015, 0x2010, 0xFF0F, 0x005C, 0x301C, 0x2016, 0xFF5C, 0x2026, 
+    0x2025, 0x2018, 0x2019, 0x201C, 0x201D, 0xFF08, 0xFF09, 0x3014, 0x3015, 
+    0xFF3B, 0xFF3D, 0xFF5B, 0xFF5D, 0x3008, 0x3009, 0x300A, 0x300B, 0x300C, 
+    0x300D, 0x300E, 0x300F, 0x3010, 0x3011, 0xFF0B, 0x2212, 0x00B1, 0x00D7, 
+    0x00F7, 0xFF1D, 0x2260, 0xFF1C, 0xFF1E, 0x2266, 0x2267, 0x221E, 0x2234, 
+    0x2642, 0x2640, 0x00B0, 0x2032, 0x2033, 0x2103, 0xFFE5, 0xFF04, 0x00A2, 
+    0x00A3, 0xFF05, 0xFF03, 0xFF06, 0xFF0A, 0xFF20, 0x00A7, 0x2606, 0x2605, 
+    0x25CB, 0x25CF, 0x25CE, 0x25C7},
+    {0x25C6, 0x25A1, 0x25A0, 0x25B3, 0x25B2, 0x25BD, 0x25BC, 0x203B, 0x3012, 
+    0x2192, 0x2190, 0x2191, 0x2193, 0x3013,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 0x2208, 0x220B, 
+    0x2286, 0x2287, 0x2282, 0x2283, 0x222A, 0x2229,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 0x2227, 0x2228, 0x00AC, 0x21D2, 
+    0x21D4, 0x2200, 0x2203,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 0x2220, 0x22A5, 0x2312, 0x2202, 
+    0x2207, 0x2261, 0x2252, 0x226A, 0x226B, 0x221A, 0x223D, 0x221D, 0x2235, 
+    0x222B, 0x222C,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+    0x212B, 0x2030, 0x266F, 0x266D, 0x266A, 0x2020, 0x2021, 0x00B6,  ERROR, 
+     ERROR,  ERROR,  ERROR, 0x25EF},
+    { ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 0xFF10, 0xFF11, 0xFF12, 
+    0xFF13, 0xFF14, 0xFF15, 0xFF16, 0xFF17, 0xFF18, 0xFF19,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 0xFF21, 0xFF22, 0xFF23, 0xFF24, 
+    0xFF25, 0xFF26, 0xFF27, 0xFF28, 0xFF29, 0xFF2A, 0xFF2B, 0xFF2C, 0xFF2D, 
+    0xFF2E, 0xFF2F, 0xFF30, 0xFF31, 0xFF32, 0xFF33, 0xFF34, 0xFF35, 0xFF36, 
+    0xFF37, 0xFF38, 0xFF39, 0xFF3A,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR, 0xFF41, 0xFF42, 0xFF43, 0xFF44, 0xFF45, 0xFF46, 0xFF47, 0xFF48, 
+    0xFF49, 0xFF4A, 0xFF4B, 0xFF4C, 0xFF4D, 0xFF4E, 0xFF4F, 0xFF50, 0xFF51, 
+    0xFF52, 0xFF53, 0xFF54, 0xFF55, 0xFF56, 0xFF57, 0xFF58, 0xFF59, 0xFF5A, 
+     ERROR,  ERROR,  ERROR,  ERROR},
+    {0x3041, 0x3042, 0x3043, 0x3044, 0x3045, 0x3046, 0x3047, 0x3048, 0x3049, 
+    0x304A, 0x304B, 0x304C, 0x304D, 0x304E, 0x304F, 0x3050, 0x3051, 0x3052, 
+    0x3053, 0x3054, 0x3055, 0x3056, 0x3057, 0x3058, 0x3059, 0x305A, 0x305B, 
+    0x305C, 0x305D, 0x305E, 0x305F, 0x3060, 0x3061, 0x3062, 0x3063, 0x3064, 
+    0x3065, 0x3066, 0x3067, 0x3068, 0x3069, 0x306A, 0x306B, 0x306C, 0x306D, 
+    0x306E, 0x306F, 0x3070, 0x3071, 0x3072, 0x3073, 0x3074, 0x3075, 0x3076,
+    0x3077, 0x3078, 0x3079, 0x307A, 0x307B, 0x307C, 0x307D, 0x307E, 0x307F, 
+    0x3080, 0x3081, 0x3082, 0x3083, 0x3084, 0x3085, 0x3086, 0x3087, 0x3088, 
+    0x3089, 0x308A, 0x308B, 0x308C, 0x308D, 0x308E, 0x308F, 0x3090, 0x3091, 
+    0x3092, 0x3093,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR},
+    {0x30A1, 0x30A2, 0x30A3, 0x30A4, 0x30A5, 0x30A6, 0x30A7, 0x30A8, 0x30A9, 
+    0x30AA, 0x30AB, 0x30AC, 0x30AD, 0x30AE, 0x30AF, 0x30B0, 0x30B1, 0x30B2, 
+    0x30B3, 0x30B4, 0x30B5, 0x30B6, 0x30B7, 0x30B8, 0x30B9, 0x30BA, 0x30BB, 
+    0x30BC, 0x30BD, 0x30BE, 0x30BF, 0x30C0, 0x30C1, 0x30C2, 0x30C3, 0x30C4, 
+    0x30C5, 0x30C6, 0x30C7, 0x30C8, 0x30C9, 0x30CA, 0x30CB, 0x30CC, 0x30CD, 
+    0x30CE, 0x30CF, 0x30D0, 0x30D1, 0x30D2, 0x30D3, 0x30D4, 0x30D5, 0x30D6, 
+    0x30D7, 0x30D8, 0x30D9, 0x30DA, 0x30DB, 0x30DC, 0x30DD, 0x30DE, 0x30DF, 
+    0x30E0, 0x30E1, 0x30E2, 0x30E3, 0x30E4, 0x30E5, 0x30E6, 0x30E7, 0x30E8, 
+    0x30E9, 0x30EA, 0x30EB, 0x30EC, 0x30ED, 0x30EE, 0x30EF, 0x30F0, 0x30F1, 
+    0x30F2, 0x30F3, 0x30F4, 0x30F5, 0x30F6,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR},
+    {0x0391, 0x0392, 0x0393, 0x0394, 0x0395, 0x0396, 0x0397, 0x0398, 0x0399, 
+    0x039A, 0x039B, 0x039C, 0x039D, 0x039E, 0x039F, 0x03A0, 0x03A1, 0x03A3, 
+    0x03A4, 0x03A5, 0x03A6, 0x03A7, 0x03A8, 0x03A9,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 0x03B1, 0x03B2, 0x03B3, 0x03B4, 
+    0x03B5, 0x03B6, 0x03B7, 0x03B8, 0x03B9, 0x03BA, 0x03BB, 0x03BC, 0x03BD, 
+    0x03BE, 0x03BF, 0x03C0, 0x03C1, 0x03C3, 0x03C4, 0x03C5, 0x03C6, 0x03C7, 
+    0x03C8, 0x03C9,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR},
+    {0x0410, 0x0411, 0x0412, 0x0413, 0x0414, 0x0415, 0x0401, 0x0416, 0x0417, 
+    0x0418, 0x0419, 0x041A, 0x041B, 0x041C, 0x041D, 0x041E, 0x041F, 0x0420, 
+    0x0421, 0x0422, 0x0423, 0x0424, 0x0425, 0x0426, 0x0427, 0x0428, 0x0429, 
+    0x042A, 0x042B, 0x042C, 0x042D, 0x042E, 0x042F,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR, 0x0430, 0x0431, 0x0432, 0x0433, 0x0434, 0x0435, 
+    0x0451, 0x0436, 0x0437, 0x0438, 0x0439, 0x043A, 0x043B, 0x043C, 0x043D, 
+    0x043E, 0x043F, 0x0440, 0x0441, 0x0442, 0x0443, 0x0444, 0x0445, 0x0446, 
+    0x0447, 0x0448, 0x0449, 0x044A, 0x044B, 0x044C, 0x044D, 0x044E, 0x044F, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR},
+    {0x2500, 0x2502, 0x250C, 0x2510, 0x2518, 0x2514, 0x251C, 0x252C, 0x2524, 
+    0x2534, 0x253C, 0x2501, 0x2503, 0x250F, 0x2513, 0x251B, 0x2517, 0x2523, 
+    0x2533, 0x252B, 0x253B, 0x254B, 0x2520, 0x252F, 0x2528, 0x2537, 0x253F, 
+    0x251D, 0x2530, 0x2525, 0x2538, 0x2542,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR},
+    { ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR},
+    { ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR},
+    { ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR},
+    { ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR},
+    { ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR},
+    { ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR},
+    { ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR},
+    {0x4E9C, 0x5516, 0x5A03, 0x963F, 0x54C0, 0x611B, 0x6328, 0x59F6, 0x9022, 
+    0x8475, 0x831C, 0x7A50, 0x60AA, 0x63E1, 0x6E25, 0x65ED, 0x8466, 0x82A6, 
+    0x9BF5, 0x6893, 0x5727, 0x65A1, 0x6271, 0x5B9B, 0x59D0, 0x867B, 0x98F4, 
+    0x7D62, 0x7DBE, 0x9B8E, 0x6216, 0x7C9F, 0x88B7, 0x5B89, 0x5EB5, 0x6309, 
+    0x6697, 0x6848, 0x95C7, 0x978D, 0x674F, 0x4EE5, 0x4F0A, 0x4F4D, 0x4F9D, 
+    0x5049, 0x56F2, 0x5937, 0x59D4, 0x5A01, 0x5C09, 0x60DF, 0x610F, 0x6170, 
+    0x6613, 0x6905, 0x70BA, 0x754F, 0x7570, 0x79FB, 0x7DAD, 0x7DEF, 0x80C3, 
+    0x840E, 0x8863, 0x8B02, 0x9055, 0x907A, 0x533B, 0x4E95, 0x4EA5, 0x57DF, 
+    0x80B2, 0x90C1, 0x78EF, 0x4E00, 0x58F1, 0x6EA2, 0x9038, 0x7A32, 0x8328, 
+    0x828B, 0x9C2F, 0x5141, 0x5370, 0x54BD, 0x54E1, 0x56E0, 0x59FB, 0x5F15, 
+    0x98F2, 0x6DEB, 0x80E4, 0x852D},
+    {0x9662, 0x9670, 0x96A0, 0x97FB, 0x540B, 0x53F3, 0x5B87, 0x70CF, 0x7FBD, 
+    0x8FC2, 0x96E8, 0x536F, 0x9D5C, 0x7ABA, 0x4E11, 0x7893, 0x81FC, 0x6E26, 
+    0x5618, 0x5504, 0x6B1D, 0x851A, 0x9C3B, 0x59E5, 0x53A9, 0x6D66, 0x74DC, 
+    0x958F, 0x5642, 0x4E91, 0x904B, 0x96F2, 0x834F, 0x990C, 0x53E1, 0x55B6, 
+    0x5B30, 0x5F71, 0x6620, 0x66F3, 0x6804, 0x6C38, 0x6CF3, 0x6D29, 0x745B, 
+    0x76C8, 0x7A4E, 0x9834, 0x82F1, 0x885B, 0x8A60, 0x92ED, 0x6DB2, 0x75AB, 
+    0x76CA, 0x99C5, 0x60A6, 0x8B01, 0x8D8A, 0x95B2, 0x698E, 0x53AD, 0x5186, 
+    0x5712, 0x5830, 0x5944, 0x5BB4, 0x5EF6, 0x6028, 0x63A9, 0x63F4, 0x6CBF, 
+    0x6F14, 0x708E, 0x7114, 0x7159, 0x71D5, 0x733F, 0x7E01, 0x8276, 0x82D1, 
+    0x8597, 0x9060, 0x925B, 0x9D1B, 0x5869, 0x65BC, 0x6C5A, 0x7525, 0x51F9, 
+    0x592E, 0x5965, 0x5F80, 0x5FDC},
+    {0x62BC, 0x65FA, 0x6A2A, 0x6B27, 0x6BB4, 0x738B, 0x7FC1, 0x8956, 0x9D2C, 
+    0x9D0E, 0x9EC4, 0x5CA1, 0x6C96, 0x837B, 0x5104, 0x5C4B, 0x61B6, 0x81C6, 
+    0x6876, 0x7261, 0x4E59, 0x4FFA, 0x5378, 0x6069, 0x6E29, 0x7A4F, 0x97F3, 
+    0x4E0B, 0x5316, 0x4EEE, 0x4F55, 0x4F3D, 0x4FA1, 0x4F73, 0x52A0, 0x53EF, 
+    0x5609, 0x590F, 0x5AC1, 0x5BB6, 0x5BE1, 0x79D1, 0x6687, 0x679C, 0x67B6, 
+    0x6B4C, 0x6CB3, 0x706B, 0x73C2, 0x798D, 0x79BE, 0x7A3C, 0x7B87, 0x82B1, 
+    0x82DB, 0x8304, 0x8377, 0x83EF, 0x83D3, 0x8766, 0x8AB2, 0x5629, 0x8CA8, 
+    0x8FE6, 0x904E, 0x971E, 0x868A, 0x4FC4, 0x5CE8, 0x6211, 0x7259, 0x753B, 
+    0x81E5, 0x82BD, 0x86FE, 0x8CC0, 0x96C5, 0x9913, 0x99D5, 0x4ECB, 0x4F1A, 
+    0x89E3, 0x56DE, 0x584A, 0x58CA, 0x5EFB, 0x5FEB, 0x602A, 0x6094, 0x6062, 
+    0x61D0, 0x6212, 0x62D0, 0x6539},
+    {0x9B41, 0x6666, 0x68B0, 0x6D77, 0x7070, 0x754C, 0x7686, 0x7D75, 0x82A5, 
+    0x87F9, 0x958B, 0x968E, 0x8C9D, 0x51F1, 0x52BE, 0x5916, 0x54B3, 0x5BB3, 
+    0x5D16, 0x6168, 0x6982, 0x6DAF, 0x788D, 0x84CB, 0x8857, 0x8A72, 0x93A7, 
+    0x9AB8, 0x6D6C, 0x99A8, 0x86D9, 0x57A3, 0x67FF, 0x86CE, 0x920E, 0x5283, 
+    0x5687, 0x5404, 0x5ED3, 0x62E1, 0x64B9, 0x683C, 0x6838, 0x6BBB, 0x7372, 
+    0x78BA, 0x7A6B, 0x899A, 0x89D2, 0x8D6B, 0x8F03, 0x90ED, 0x95A3, 0x9694, 
+    0x9769, 0x5B66, 0x5CB3, 0x697D, 0x984D, 0x984E, 0x639B, 0x7B20, 0x6A2B, 
+    0x6A7F, 0x68B6, 0x9C0D, 0x6F5F, 0x5272, 0x559D, 0x6070, 0x62EC, 0x6D3B, 
+    0x6E07, 0x6ED1, 0x845B, 0x8910, 0x8F44, 0x4E14, 0x9C39, 0x53F6, 0x691B, 
+    0x6A3A, 0x9784, 0x682A, 0x515C, 0x7AC3, 0x84B2, 0x91DC, 0x938C, 0x565B, 
+    0x9D28, 0x6822, 0x8305, 0x8431},
+    {0x7CA5, 0x5208, 0x82C5, 0x74E6, 0x4E7E, 0x4F83, 0x51A0, 0x5BD2, 0x520A, 
+    0x52D8, 0x52E7, 0x5DFB, 0x559A, 0x582A, 0x59E6, 0x5B8C, 0x5B98, 0x5BDB, 
+    0x5E72, 0x5E79, 0x60A3, 0x611F, 0x6163, 0x61BE, 0x63DB, 0x6562, 0x67D1, 
+    0x6853, 0x68FA, 0x6B3E, 0x6B53, 0x6C57, 0x6F22, 0x6F97, 0x6F45, 0x74B0, 
+    0x7518, 0x76E3, 0x770B, 0x7AFF, 0x7BA1, 0x7C21, 0x7DE9, 0x7F36, 0x7FF0, 
+    0x809D, 0x8266, 0x839E, 0x89B3, 0x8ACC, 0x8CAB, 0x9084, 0x9451, 0x9593, 
+    0x9591, 0x95A2, 0x9665, 0x97D3, 0x9928, 0x8218, 0x4E38, 0x542B, 0x5CB8, 
+    0x5DCC, 0x73A9, 0x764C, 0x773C, 0x5CA9, 0x7FEB, 0x8D0B, 0x96C1, 0x9811, 
+    0x9854, 0x9858, 0x4F01, 0x4F0E, 0x5371, 0x559C, 0x5668, 0x57FA, 0x5947, 
+    0x5B09, 0x5BC4, 0x5C90, 0x5E0C, 0x5E7E, 0x5FCC, 0x63EE, 0x673A, 0x65D7, 
+    0x65E2, 0x671F, 0x68CB, 0x68C4},
+    {0x6A5F, 0x5E30, 0x6BC5, 0x6C17, 0x6C7D, 0x757F, 0x7948, 0x5B63, 0x7A00, 
+    0x7D00, 0x5FBD, 0x898F, 0x8A18, 0x8CB4, 0x8D77, 0x8ECC, 0x8F1D, 0x98E2, 
+    0x9A0E, 0x9B3C, 0x4E80, 0x507D, 0x5100, 0x5993, 0x5B9C, 0x622F, 0x6280, 
+    0x64EC, 0x6B3A, 0x72A0, 0x7591, 0x7947, 0x7FA9, 0x87FB, 0x8ABC, 0x8B70, 
+    0x63AC, 0x83CA, 0x97A0, 0x5409, 0x5403, 0x55AB, 0x6854, 0x6A58, 0x8A70, 
+    0x7827, 0x6775, 0x9ECD, 0x5374, 0x5BA2, 0x811A, 0x8650, 0x9006, 0x4E18, 
+    0x4E45, 0x4EC7, 0x4F11, 0x53CA, 0x5438, 0x5BAE, 0x5F13, 0x6025, 0x6551, 
+    0x673D, 0x6C42, 0x6C72, 0x6CE3, 0x7078, 0x7403, 0x7A76, 0x7AAE, 0x7B08, 
+    0x7D1A, 0x7CFE, 0x7D66, 0x65E7, 0x725B, 0x53BB, 0x5C45, 0x5DE8, 0x62D2, 
+    0x62E0, 0x6319, 0x6E20, 0x865A, 0x8A31, 0x8DDD, 0x92F8, 0x6F01, 0x79A6, 
+    0x9B5A, 0x4EA8, 0x4EAB, 0x4EAC},
+    {0x4F9B, 0x4FA0, 0x50D1, 0x5147, 0x7AF6, 0x5171, 0x51F6, 0x5354, 0x5321, 
+    0x537F, 0x53EB, 0x55AC, 0x5883, 0x5CE1, 0x5F37, 0x5F4A, 0x602F, 0x6050, 
+    0x606D, 0x631F, 0x6559, 0x6A4B, 0x6CC1, 0x72C2, 0x72ED, 0x77EF, 0x80F8, 
+    0x8105, 0x8208, 0x854E, 0x90F7, 0x93E1, 0x97FF, 0x9957, 0x9A5A, 0x4EF0, 
+    0x51DD, 0x5C2D, 0x6681, 0x696D, 0x5C40, 0x66F2, 0x6975, 0x7389, 0x6850, 
+    0x7C81, 0x50C5, 0x52E4, 0x5747, 0x5DFE, 0x9326, 0x65A4, 0x6B23, 0x6B3D, 
+    0x7434, 0x7981, 0x79BD, 0x7B4B, 0x7DCA, 0x82B9, 0x83CC, 0x887F, 0x895F, 
+    0x8B39, 0x8FD1, 0x91D1, 0x541F, 0x9280, 0x4E5D, 0x5036, 0x53E5, 0x533A, 
+    0x72D7, 0x7396, 0x77E9, 0x82E6, 0x8EAF, 0x99C6, 0x99C8, 0x99D2, 0x5177, 
+    0x611A, 0x865E, 0x55B0, 0x7A7A, 0x5076, 0x5BD3, 0x9047, 0x9685, 0x4E32, 
+    0x6ADB, 0x91E7, 0x5C51, 0x5C48},
+    {0x6398, 0x7A9F, 0x6C93, 0x9774, 0x8F61, 0x7AAA, 0x718A, 0x9688, 0x7C82, 
+    0x6817, 0x7E70, 0x6851, 0x936C, 0x52F2, 0x541B, 0x85AB, 0x8A13, 0x7FA4, 
+    0x8ECD, 0x90E1, 0x5366, 0x8888, 0x7941, 0x4FC2, 0x50BE, 0x5211, 0x5144, 
+    0x5553, 0x572D, 0x73EA, 0x578B, 0x5951, 0x5F62, 0x5F84, 0x6075, 0x6176, 
+    0x6167, 0x61A9, 0x63B2, 0x643A, 0x656C, 0x666F, 0x6842, 0x6E13, 0x7566, 
+    0x7A3D, 0x7CFB, 0x7D4C, 0x7D99, 0x7E4B, 0x7F6B, 0x830E, 0x834A, 0x86CD, 
+    0x8A08, 0x8A63, 0x8B66, 0x8EFD, 0x981A, 0x9D8F, 0x82B8, 0x8FCE, 0x9BE8, 
+    0x5287, 0x621F, 0x6483, 0x6FC0, 0x9699, 0x6841, 0x5091, 0x6B20, 0x6C7A, 
+    0x6F54, 0x7A74, 0x7D50, 0x8840, 0x8A23, 0x6708, 0x4EF6, 0x5039, 0x5026, 
+    0x5065, 0x517C, 0x5238, 0x5263, 0x55A7, 0x570F, 0x5805, 0x5ACC, 0x5EFA, 
+    0x61B2, 0x61F8, 0x62F3, 0x6372},
+    {0x691C, 0x6A29, 0x727D, 0x72AC, 0x732E, 0x7814, 0x786F, 0x7D79, 0x770C, 
+    0x80A9, 0x898B, 0x8B19, 0x8CE2, 0x8ED2, 0x9063, 0x9375, 0x967A, 0x9855, 
+    0x9A13, 0x9E78, 0x5143, 0x539F, 0x53B3, 0x5E7B, 0x5F26, 0x6E1B, 0x6E90, 
+    0x7384, 0x73FE, 0x7D43, 0x8237, 0x8A00, 0x8AFA, 0x9650, 0x4E4E, 0x500B, 
+    0x53E4, 0x547C, 0x56FA, 0x59D1, 0x5B64, 0x5DF1, 0x5EAB, 0x5F27, 0x6238, 
+    0x6545, 0x67AF, 0x6E56, 0x72D0, 0x7CCA, 0x88B4, 0x80A1, 0x80E1, 0x83F0, 
+    0x864E, 0x8A87, 0x8DE8, 0x9237, 0x96C7, 0x9867, 0x9F13, 0x4E94, 0x4E92, 
+    0x4F0D, 0x5348, 0x5449, 0x543E, 0x5A2F, 0x5F8C, 0x5FA1, 0x609F, 0x68A7, 
+    0x6A8E, 0x745A, 0x7881, 0x8A9E, 0x8AA4, 0x8B77, 0x9190, 0x4E5E, 0x9BC9, 
+    0x4EA4, 0x4F7C, 0x4FAF, 0x5019, 0x5016, 0x5149, 0x516C, 0x529F, 0x52B9, 
+    0x52FE, 0x539A, 0x53E3, 0x5411},
+    {0x540E, 0x5589, 0x5751, 0x57A2, 0x597D, 0x5B54, 0x5B5D, 0x5B8F, 0x5DE5, 
+    0x5DE7, 0x5DF7, 0x5E78, 0x5E83, 0x5E9A, 0x5EB7, 0x5F18, 0x6052, 0x614C, 
+    0x6297, 0x62D8, 0x63A7, 0x653B, 0x6602, 0x6643, 0x66F4, 0x676D, 0x6821, 
+    0x6897, 0x69CB, 0x6C5F, 0x6D2A, 0x6D69, 0x6E2F, 0x6E9D, 0x7532, 0x7687, 
+    0x786C, 0x7A3F, 0x7CE0, 0x7D05, 0x7D18, 0x7D5E, 0x7DB1, 0x8015, 0x8003, 
+    0x80AF, 0x80B1, 0x8154, 0x818F, 0x822A, 0x8352, 0x884C, 0x8861, 0x8B1B, 
+    0x8CA2, 0x8CFC, 0x90CA, 0x9175, 0x9271, 0x783F, 0x92FC, 0x95A4, 0x964D, 
+    0x9805, 0x9999, 0x9AD8, 0x9D3B, 0x525B, 0x52AB, 0x53F7, 0x5408, 0x58D5, 
+    0x62F7, 0x6FE0, 0x8C6A, 0x8F5F, 0x9EB9, 0x514B, 0x523B, 0x544A, 0x56FD, 
+    0x7A40, 0x9177, 0x9D60, 0x9ED2, 0x7344, 0x6F09, 0x8170, 0x7511, 0x5FFD, 
+    0x60DA, 0x9AA8, 0x72DB, 0x8FBC},
+    {0x6B64, 0x9803, 0x4ECA, 0x56F0, 0x5764, 0x58BE, 0x5A5A, 0x6068, 0x61C7, 
+    0x660F, 0x6606, 0x6839, 0x68B1, 0x6DF7, 0x75D5, 0x7D3A, 0x826E, 0x9B42, 
+    0x4E9B, 0x4F50, 0x53C9, 0x5506, 0x5D6F, 0x5DE6, 0x5DEE, 0x67FB, 0x6C99, 
+    0x7473, 0x7802, 0x8A50, 0x9396, 0x88DF, 0x5750, 0x5EA7, 0x632B, 0x50B5, 
+    0x50AC, 0x518D, 0x6700, 0x54C9, 0x585E, 0x59BB, 0x5BB0, 0x5F69, 0x624D, 
+    0x63A1, 0x683D, 0x6B73, 0x6E08, 0x707D, 0x91C7, 0x7280, 0x7815, 0x7826, 
+    0x796D, 0x658E, 0x7D30, 0x83DC, 0x88C1, 0x8F09, 0x969B, 0x5264, 0x5728, 
+    0x6750, 0x7F6A, 0x8CA1, 0x51B4, 0x5742, 0x962A, 0x583A, 0x698A, 0x80B4, 
+    0x54B2, 0x5D0E, 0x57FC, 0x7895, 0x9DFA, 0x4F5C, 0x524A, 0x548B, 0x643E, 
+    0x6628, 0x6714, 0x67F5, 0x7A84, 0x7B56, 0x7D22, 0x932F, 0x685C, 0x9BAD, 
+    0x7B39, 0x5319, 0x518A, 0x5237},
+    {0x5BDF, 0x62F6, 0x64AE, 0x64E6, 0x672D, 0x6BBA, 0x85A9, 0x96D1, 0x7690, 
+    0x9BD6, 0x634C, 0x9306, 0x9BAB, 0x76BF, 0x6652, 0x4E09, 0x5098, 0x53C2, 
+    0x5C71, 0x60E8, 0x6492, 0x6563, 0x685F, 0x71E6, 0x73CA, 0x7523, 0x7B97, 
+    0x7E82, 0x8695, 0x8B83, 0x8CDB, 0x9178, 0x9910, 0x65AC, 0x66AB, 0x6B8B, 
+    0x4ED5, 0x4ED4, 0x4F3A, 0x4F7F, 0x523A, 0x53F8, 0x53F2, 0x55E3, 0x56DB, 
+    0x58EB, 0x59CB, 0x59C9, 0x59FF, 0x5B50, 0x5C4D, 0x5E02, 0x5E2B, 0x5FD7, 
+    0x601D, 0x6307, 0x652F, 0x5B5C, 0x65AF, 0x65BD, 0x65E8, 0x679D, 0x6B62, 
+    0x6B7B, 0x6C0F, 0x7345, 0x7949, 0x79C1, 0x7CF8, 0x7D19, 0x7D2B, 0x80A2, 
+    0x8102, 0x81F3, 0x8996, 0x8A5E, 0x8A69, 0x8A66, 0x8A8C, 0x8AEE, 0x8CC7, 
+    0x8CDC, 0x96CC, 0x98FC, 0x6B6F, 0x4E8B, 0x4F3C, 0x4F8D, 0x5150, 0x5B57, 
+    0x5BFA, 0x6148, 0x6301, 0x6642},
+    {0x6B21, 0x6ECB, 0x6CBB, 0x723E, 0x74BD, 0x75D4, 0x78C1, 0x793A, 0x800C, 
+    0x8033, 0x81EA, 0x8494, 0x8F9E, 0x6C50, 0x9E7F, 0x5F0F, 0x8B58, 0x9D2B, 
+    0x7AFA, 0x8EF8, 0x5B8D, 0x96EB, 0x4E03, 0x53F1, 0x57F7, 0x5931, 0x5AC9, 
+    0x5BA4, 0x6089, 0x6E7F, 0x6F06, 0x75BE, 0x8CEA, 0x5B9F, 0x8500, 0x7BE0, 
+    0x5072, 0x67F4, 0x829D, 0x5C61, 0x854A, 0x7E1E, 0x820E, 0x5199, 0x5C04, 
+    0x6368, 0x8D66, 0x659C, 0x716E, 0x793E, 0x7D17, 0x8005, 0x8B1D, 0x8ECA, 
+    0x906E, 0x86C7, 0x90AA, 0x501F, 0x52FA, 0x5C3A, 0x6753, 0x707C, 0x7235, 
+    0x914C, 0x91C8, 0x932B, 0x82E5, 0x5BC2, 0x5F31, 0x60F9, 0x4E3B, 0x53D6, 
+    0x5B88, 0x624B, 0x6731, 0x6B8A, 0x72E9, 0x73E0, 0x7A2E, 0x816B, 0x8DA3, 
+    0x9152, 0x9996, 0x5112, 0x53D7, 0x546A, 0x5BFF, 0x6388, 0x6A39, 0x7DAC, 
+    0x9700, 0x56DA, 0x53CE, 0x5468},
+    {0x5B97, 0x5C31, 0x5DDE, 0x4FEE, 0x6101, 0x62FE, 0x6D32, 0x79C0, 0x79CB, 
+    0x7D42, 0x7E4D, 0x7FD2, 0x81ED, 0x821F, 0x8490, 0x8846, 0x8972, 0x8B90, 
+    0x8E74, 0x8F2F, 0x9031, 0x914B, 0x916C, 0x96C6, 0x919C, 0x4EC0, 0x4F4F, 
+    0x5145, 0x5341, 0x5F93, 0x620E, 0x67D4, 0x6C41, 0x6E0B, 0x7363, 0x7E26, 
+    0x91CD, 0x9283, 0x53D4, 0x5919, 0x5BBF, 0x6DD1, 0x795D, 0x7E2E, 0x7C9B, 
+    0x587E, 0x719F, 0x51FA, 0x8853, 0x8FF0, 0x4FCA, 0x5CFB, 0x6625, 0x77AC, 
+    0x7AE3, 0x821C, 0x99FF, 0x51C6, 0x5FAA, 0x65EC, 0x696F, 0x6B89, 0x6DF3, 
+    0x6E96, 0x6F64, 0x76FE, 0x7D14, 0x5DE1, 0x9075, 0x9187, 0x9806, 0x51E6, 
+    0x521D, 0x6240, 0x6691, 0x66D9, 0x6E1A, 0x5EB6, 0x7DD2, 0x7F72, 0x66F8, 
+    0x85AF, 0x85F7, 0x8AF8, 0x52A9, 0x53D9, 0x5973, 0x5E8F, 0x5F90, 0x6055, 
+    0x92E4, 0x9664, 0x50B7, 0x511F},
+    {0x52DD, 0x5320, 0x5347, 0x53EC, 0x54E8, 0x5546, 0x5531, 0x5617, 0x5968, 
+    0x59BE, 0x5A3C, 0x5BB5, 0x5C06, 0x5C0F, 0x5C11, 0x5C1A, 0x5E84, 0x5E8A, 
+    0x5EE0, 0x5F70, 0x627F, 0x6284, 0x62DB, 0x638C, 0x6377, 0x6607, 0x660C, 
+    0x662D, 0x6676, 0x677E, 0x68A2, 0x6A1F, 0x6A35, 0x6CBC, 0x6D88, 0x6E09, 
+    0x6E58, 0x713C, 0x7126, 0x7167, 0x75C7, 0x7701, 0x785D, 0x7901, 0x7965, 
+    0x79F0, 0x7AE0, 0x7B11, 0x7CA7, 0x7D39, 0x8096, 0x83D6, 0x848B, 0x8549, 
+    0x885D, 0x88F3, 0x8A1F, 0x8A3C, 0x8A54, 0x8A73, 0x8C61, 0x8CDE, 0x91A4, 
+    0x9266, 0x937E, 0x9418, 0x969C, 0x9798, 0x4E0A, 0x4E08, 0x4E1E, 0x4E57, 
+    0x5197, 0x5270, 0x57CE, 0x5834, 0x58CC, 0x5B22, 0x5E38, 0x60C5, 0x64FE, 
+    0x6761, 0x6756, 0x6D44, 0x72B6, 0x7573, 0x7A63, 0x84B8, 0x8B72, 0x91B8, 
+    0x9320, 0x5631, 0x57F4, 0x98FE},
+    {0x62ED, 0x690D, 0x6B96, 0x71ED, 0x7E54, 0x8077, 0x8272, 0x89E6, 0x98DF, 
+    0x8755, 0x8FB1, 0x5C3B, 0x4F38, 0x4FE1, 0x4FB5, 0x5507, 0x5A20, 0x5BDD, 
+    0x5BE9, 0x5FC3, 0x614E, 0x632F, 0x65B0, 0x664B, 0x68EE, 0x699B, 0x6D78, 
+    0x6DF1, 0x7533, 0x75B9, 0x771F, 0x795E, 0x79E6, 0x7D33, 0x81E3, 0x82AF, 
+    0x85AA, 0x89AA, 0x8A3A, 0x8EAB, 0x8F9B, 0x9032, 0x91DD, 0x9707, 0x4EBA, 
+    0x4EC1, 0x5203, 0x5875, 0x58EC, 0x5C0B, 0x751A, 0x5C3D, 0x814E, 0x8A0A, 
+    0x8FC5, 0x9663, 0x976D, 0x7B25, 0x8ACF, 0x9808, 0x9162, 0x56F3, 0x53A8, 
+    0x9017, 0x5439, 0x5782, 0x5E25, 0x63A8, 0x6C34, 0x708A, 0x7761, 0x7C8B, 
+    0x7FE0, 0x8870, 0x9042, 0x9154, 0x9310, 0x9318, 0x968F, 0x745E, 0x9AC4, 
+    0x5D07, 0x5D69, 0x6570, 0x67A2, 0x8DA8, 0x96DB, 0x636E, 0x6749, 0x6919, 
+    0x83C5, 0x9817, 0x96C0, 0x88FE},
+    {0x6F84, 0x647A, 0x5BF8, 0x4E16, 0x702C, 0x755D, 0x662F, 0x51C4, 0x5236, 
+    0x52E2, 0x59D3, 0x5F81, 0x6027, 0x6210, 0x653F, 0x6574, 0x661F, 0x6674, 
+    0x68F2, 0x6816, 0x6B63, 0x6E05, 0x7272, 0x751F, 0x76DB, 0x7CBE, 0x8056, 
+    0x58F0, 0x88FD, 0x897F, 0x8AA0, 0x8A93, 0x8ACB, 0x901D, 0x9192, 0x9752, 
+    0x9759, 0x6589, 0x7A0E, 0x8106, 0x96BB, 0x5E2D, 0x60DC, 0x621A, 0x65A5, 
+    0x6614, 0x6790, 0x77F3, 0x7A4D, 0x7C4D, 0x7E3E, 0x810A, 0x8CAC, 0x8D64, 
+    0x8DE1, 0x8E5F, 0x78A9, 0x5207, 0x62D9, 0x63A5, 0x6442, 0x6298, 0x8A2D, 
+    0x7A83, 0x7BC0, 0x8AAC, 0x96EA, 0x7D76, 0x820C, 0x8749, 0x4ED9, 0x5148, 
+    0x5343, 0x5360, 0x5BA3, 0x5C02, 0x5C16, 0x5DDD, 0x6226, 0x6247, 0x64B0, 
+    0x6813, 0x6834, 0x6CC9, 0x6D45, 0x6D17, 0x67D3, 0x6F5C, 0x714E, 0x717D, 
+    0x65CB, 0x7A7F, 0x7BAD, 0x7DDA},
+    {0x7E4A, 0x7FA8, 0x817A, 0x821B, 0x8239, 0x85A6, 0x8A6E, 0x8CCE, 0x8DF5, 
+    0x9078, 0x9077, 0x92AD, 0x9291, 0x9583, 0x9BAE, 0x524D, 0x5584, 0x6F38, 
+    0x7136, 0x5168, 0x7985, 0x7E55, 0x81B3, 0x7CCE, 0x564C, 0x5851, 0x5CA8, 
+    0x63AA, 0x66FE, 0x66FD, 0x695A, 0x72D9, 0x758F, 0x758E, 0x790E, 0x7956, 
+    0x79DF, 0x7C97, 0x7D20, 0x7D44, 0x8607, 0x8A34, 0x963B, 0x9061, 0x9F20, 
+    0x50E7, 0x5275, 0x53CC, 0x53E2, 0x5009, 0x55AA, 0x58EE, 0x594F, 0x723D, 
+    0x5B8B, 0x5C64, 0x531D, 0x60E3, 0x60F3, 0x635C, 0x6383, 0x633F, 0x63BB, 
+    0x64CD, 0x65E9, 0x66F9, 0x5DE3, 0x69CD, 0x69FD, 0x6F15, 0x71E5, 0x4E89, 
+    0x75E9, 0x76F8, 0x7A93, 0x7CDF, 0x7DCF, 0x7D9C, 0x8061, 0x8349, 0x8358, 
+    0x846C, 0x84BC, 0x85FB, 0x88C5, 0x8D70, 0x9001, 0x906D, 0x9397, 0x971C, 
+    0x9A12, 0x50CF, 0x5897, 0x618E},
+    {0x81D3, 0x8535, 0x8D08, 0x9020, 0x4FC3, 0x5074, 0x5247, 0x5373, 0x606F, 
+    0x6349, 0x675F, 0x6E2C, 0x8DB3, 0x901F, 0x4FD7, 0x5C5E, 0x8CCA, 0x65CF, 
+    0x7D9A, 0x5352, 0x8896, 0x5176, 0x63C3, 0x5B58, 0x5B6B, 0x5C0A, 0x640D, 
+    0x6751, 0x905C, 0x4ED6, 0x591A, 0x592A, 0x6C70, 0x8A51, 0x553E, 0x5815, 
+    0x59A5, 0x60F0, 0x6253, 0x67C1, 0x8235, 0x6955, 0x9640, 0x99C4, 0x9A28, 
+    0x4F53, 0x5806, 0x5BFE, 0x8010, 0x5CB1, 0x5E2F, 0x5F85, 0x6020, 0x614B, 
+    0x6234, 0x66FF, 0x6CF0, 0x6EDE, 0x80CE, 0x817F, 0x82D4, 0x888B, 0x8CB8, 
+    0x9000, 0x902E, 0x968A, 0x9EDB, 0x9BDB, 0x4EE3, 0x53F0, 0x5927, 0x7B2C, 
+    0x918D, 0x984C, 0x9DF9, 0x6EDD, 0x7027, 0x5353, 0x5544, 0x5B85, 0x6258, 
+    0x629E, 0x62D3, 0x6CA2, 0x6FEF, 0x7422, 0x8A17, 0x9438, 0x6FC1, 0x8AFE, 
+    0x8338, 0x51E7, 0x86F8, 0x53EA},
+    {0x53E9, 0x4F46, 0x9054, 0x8FB0, 0x596A, 0x8131, 0x5DFD, 0x7AEA, 0x8FBF, 
+    0x68DA, 0x8C37, 0x72F8, 0x9C48, 0x6A3D, 0x8AB0, 0x4E39, 0x5358, 0x5606, 
+    0x5766, 0x62C5, 0x63A2, 0x65E6, 0x6B4E, 0x6DE1, 0x6E5B, 0x70AD, 0x77ED, 
+    0x7AEF, 0x7BAA, 0x7DBB, 0x803D, 0x80C6, 0x86CB, 0x8A95, 0x935B, 0x56E3, 
+    0x58C7, 0x5F3E, 0x65AD, 0x6696, 0x6A80, 0x6BB5, 0x7537, 0x8AC7, 0x5024, 
+    0x77E5, 0x5730, 0x5F1B, 0x6065, 0x667A, 0x6C60, 0x75F4, 0x7A1A, 0x7F6E, 
+    0x81F4, 0x8718, 0x9045, 0x99B3, 0x7BC9, 0x755C, 0x7AF9, 0x7B51, 0x84C4, 
+    0x9010, 0x79E9, 0x7A92, 0x8336, 0x5AE1, 0x7740, 0x4E2D, 0x4EF2, 0x5B99, 
+    0x5FE0, 0x62BD, 0x663C, 0x67F1, 0x6CE8, 0x866B, 0x8877, 0x8A3B, 0x914E, 
+    0x92F3, 0x99D0, 0x6A17, 0x7026, 0x732A, 0x82E7, 0x8457, 0x8CAF, 0x4E01, 
+    0x5146, 0x51CB, 0x558B, 0x5BF5},
+    {0x5E16, 0x5E33, 0x5E81, 0x5F14, 0x5F35, 0x5F6B, 0x5FB4, 0x61F2, 0x6311, 
+    0x66A2, 0x671D, 0x6F6E, 0x7252, 0x753A, 0x773A, 0x8074, 0x8139, 0x8178, 
+    0x8776, 0x8ABF, 0x8ADC, 0x8D85, 0x8DF3, 0x929A, 0x9577, 0x9802, 0x9CE5, 
+    0x52C5, 0x6357, 0x76F4, 0x6715, 0x6C88, 0x73CD, 0x8CC3, 0x93AE, 0x9673, 
+    0x6D25, 0x589C, 0x690E, 0x69CC, 0x8FFD, 0x939A, 0x75DB, 0x901A, 0x585A, 
+    0x6802, 0x63B4, 0x69FB, 0x4F43, 0x6F2C, 0x67D8, 0x8FBB, 0x8526, 0x7DB4, 
+    0x9354, 0x693F, 0x6F70, 0x576A, 0x58F7, 0x5B2C, 0x7D2C, 0x722A, 0x540A, 
+    0x91E3, 0x9DB4, 0x4EAD, 0x4F4E, 0x505C, 0x5075, 0x5243, 0x8C9E, 0x5448, 
+    0x5824, 0x5B9A, 0x5E1D, 0x5E95, 0x5EAD, 0x5EF7, 0x5F1F, 0x608C, 0x62B5, 
+    0x633A, 0x63D0, 0x68AF, 0x6C40, 0x7887, 0x798E, 0x7A0B, 0x7DE0, 0x8247, 
+    0x8A02, 0x8AE6, 0x8E44, 0x9013},
+    {0x90B8, 0x912D, 0x91D8, 0x9F0E, 0x6CE5, 0x6458, 0x64E2, 0x6575, 0x6EF4, 
+    0x7684, 0x7B1B, 0x9069, 0x93D1, 0x6EBA, 0x54F2, 0x5FB9, 0x64A4, 0x8F4D, 
+    0x8FED, 0x9244, 0x5178, 0x586B, 0x5929, 0x5C55, 0x5E97, 0x6DFB, 0x7E8F, 
+    0x751C, 0x8CBC, 0x8EE2, 0x985B, 0x70B9, 0x4F1D, 0x6BBF, 0x6FB1, 0x7530, 
+    0x96FB, 0x514E, 0x5410, 0x5835, 0x5857, 0x59AC, 0x5C60, 0x5F92, 0x6597, 
+    0x675C, 0x6E21, 0x767B, 0x83DF, 0x8CED, 0x9014, 0x90FD, 0x934D, 0x7825, 
+    0x783A, 0x52AA, 0x5EA6, 0x571F, 0x5974, 0x6012, 0x5012, 0x515A, 0x51AC, 
+    0x51CD, 0x5200, 0x5510, 0x5854, 0x5858, 0x5957, 0x5B95, 0x5CF6, 0x5D8B, 
+    0x60BC, 0x6295, 0x642D, 0x6771, 0x6843, 0x68BC, 0x68DF, 0x76D7, 0x6DD8, 
+    0x6E6F, 0x6D9B, 0x706F, 0x71C8, 0x5F53, 0x75D8, 0x7977, 0x7B49, 0x7B54, 
+    0x7B52, 0x7CD6, 0x7D71, 0x5230},
+    {0x8463, 0x8569, 0x85E4, 0x8A0E, 0x8B04, 0x8C46, 0x8E0F, 0x9003, 0x900F, 
+    0x9419, 0x9676, 0x982D, 0x9A30, 0x95D8, 0x50CD, 0x52D5, 0x540C, 0x5802, 
+    0x5C0E, 0x61A7, 0x649E, 0x6D1E, 0x77B3, 0x7AE5, 0x80F4, 0x8404, 0x9053, 
+    0x9285, 0x5CE0, 0x9D07, 0x533F, 0x5F97, 0x5FB3, 0x6D9C, 0x7279, 0x7763, 
+    0x79BF, 0x7BE4, 0x6BD2, 0x72EC, 0x8AAD, 0x6803, 0x6A61, 0x51F8, 0x7A81, 
+    0x6934, 0x5C4A, 0x9CF6, 0x82EB, 0x5BC5, 0x9149, 0x701E, 0x5678, 0x5C6F, 
+    0x60C7, 0x6566, 0x6C8C, 0x8C5A, 0x9041, 0x9813, 0x5451, 0x66C7, 0x920D, 
+    0x5948, 0x90A3, 0x5185, 0x4E4D, 0x51EA, 0x8599, 0x8B0E, 0x7058, 0x637A, 
+    0x934B, 0x6962, 0x99B4, 0x7E04, 0x7577, 0x5357, 0x6960, 0x8EDF, 0x96E3, 
+    0x6C5D, 0x4E8C, 0x5C3C, 0x5F10, 0x8FE9, 0x5302, 0x8CD1, 0x8089, 0x8679, 
+    0x5EFF, 0x65E5, 0x4E73, 0x5165},
+    {0x5982, 0x5C3F, 0x97EE, 0x4EFB, 0x598A, 0x5FCD, 0x8A8D, 0x6FE1, 0x79B0, 
+    0x7962, 0x5BE7, 0x8471, 0x732B, 0x71B1, 0x5E74, 0x5FF5, 0x637B, 0x649A, 
+    0x71C3, 0x7C98, 0x4E43, 0x5EFC, 0x4E4B, 0x57DC, 0x56A2, 0x60A9, 0x6FC3, 
+    0x7D0D, 0x80FD, 0x8133, 0x81BF, 0x8FB2, 0x8997, 0x86A4, 0x5DF4, 0x628A, 
+    0x64AD, 0x8987, 0x6777, 0x6CE2, 0x6D3E, 0x7436, 0x7834, 0x5A46, 0x7F75, 
+    0x82AD, 0x99AC, 0x4FF3, 0x5EC3, 0x62DD, 0x6392, 0x6557, 0x676F, 0x76C3, 
+    0x724C, 0x80CC, 0x80BA, 0x8F29, 0x914D, 0x500D, 0x57F9, 0x5A92, 0x6885, 
+    0x6973, 0x7164, 0x72FD, 0x8CB7, 0x58F2, 0x8CE0, 0x966A, 0x9019, 0x877F, 
+    0x79E4, 0x77E7, 0x8429, 0x4F2F, 0x5265, 0x535A, 0x62CD, 0x67CF, 0x6CCA, 
+    0x767D, 0x7B94, 0x7C95, 0x8236, 0x8584, 0x8FEB, 0x66DD, 0x6F20, 0x7206, 
+    0x7E1B, 0x83AB, 0x99C1, 0x9EA6},
+    {0x51FD, 0x7BB1, 0x7872, 0x7BB8, 0x8087, 0x7B48, 0x6AE8, 0x5E61, 0x808C, 
+    0x7551, 0x7560, 0x516B, 0x9262, 0x6E8C, 0x767A, 0x9197, 0x9AEA, 0x4F10, 
+    0x7F70, 0x629C, 0x7B4F, 0x95A5, 0x9CE9, 0x567A, 0x5859, 0x86E4, 0x96BC, 
+    0x4F34, 0x5224, 0x534A, 0x53CD, 0x53DB, 0x5E06, 0x642C, 0x6591, 0x677F, 
+    0x6C3E, 0x6C4E, 0x7248, 0x72AF, 0x73ED, 0x7554, 0x7E41, 0x822C, 0x85E9, 
+    0x8CA9, 0x7BC4, 0x91C6, 0x7169, 0x9812, 0x98EF, 0x633D, 0x6669, 0x756A, 
+    0x76E4, 0x78D0, 0x8543, 0x86EE, 0x532A, 0x5351, 0x5426, 0x5983, 0x5E87, 
+    0x5F7C, 0x60B2, 0x6249, 0x6279, 0x62AB, 0x6590, 0x6BD4, 0x6CCC, 0x75B2, 
+    0x76AE, 0x7891, 0x79D8, 0x7DCB, 0x7F77, 0x80A5, 0x88AB, 0x8AB9, 0x8CBB, 
+    0x907F, 0x975E, 0x98DB, 0x6A0B, 0x7C38, 0x5099, 0x5C3E, 0x5FAE, 0x6787, 
+    0x6BD8, 0x7435, 0x7709, 0x7F8E},
+    {0x9F3B, 0x67CA, 0x7A17, 0x5339, 0x758B, 0x9AED, 0x5F66, 0x819D, 0x83F1, 
+    0x8098, 0x5F3C, 0x5FC5, 0x7562, 0x7B46, 0x903C, 0x6867, 0x59EB, 0x5A9B, 
+    0x7D10, 0x767E, 0x8B2C, 0x4FF5, 0x5F6A, 0x6A19, 0x6C37, 0x6F02, 0x74E2, 
+    0x7968, 0x8868, 0x8A55, 0x8C79, 0x5EDF, 0x63CF, 0x75C5, 0x79D2, 0x82D7, 
+    0x9328, 0x92F2, 0x849C, 0x86ED, 0x9C2D, 0x54C1, 0x5F6C, 0x658C, 0x6D5C, 
+    0x7015, 0x8CA7, 0x8CD3, 0x983B, 0x654F, 0x74F6, 0x4E0D, 0x4ED8, 0x57E0, 
+    0x592B, 0x5A66, 0x5BCC, 0x51A8, 0x5E03, 0x5E9C, 0x6016, 0x6276, 0x6577, 
+    0x65A7, 0x666E, 0x6D6E, 0x7236, 0x7B26, 0x8150, 0x819A, 0x8299, 0x8B5C, 
+    0x8CA0, 0x8CE6, 0x8D74, 0x961C, 0x9644, 0x4FAE, 0x64AB, 0x6B66, 0x821E, 
+    0x8461, 0x856A, 0x90E8, 0x5C01, 0x6953, 0x98A8, 0x847A, 0x8557, 0x4F0F, 
+    0x526F, 0x5FA9, 0x5E45, 0x670D},
+    {0x798F, 0x8179, 0x8907, 0x8986, 0x6DF5, 0x5F17, 0x6255, 0x6CB8, 0x4ECF, 
+    0x7269, 0x9B92, 0x5206, 0x543B, 0x5674, 0x58B3, 0x61A4, 0x626E, 0x711A, 
+    0x596E, 0x7C89, 0x7CDE, 0x7D1B, 0x96F0, 0x6587, 0x805E, 0x4E19, 0x4F75, 
+    0x5175, 0x5840, 0x5E63, 0x5E73, 0x5F0A, 0x67C4, 0x4E26, 0x853D, 0x9589, 
+    0x965B, 0x7C73, 0x9801, 0x50FB, 0x58C1, 0x7656, 0x78A7, 0x5225, 0x77A5, 
+    0x8511, 0x7B86, 0x504F, 0x5909, 0x7247, 0x7BC7, 0x7DE8, 0x8FBA, 0x8FD4, 
+    0x904D, 0x4FBF, 0x52C9, 0x5A29, 0x5F01, 0x97AD, 0x4FDD, 0x8217, 0x92EA, 
+    0x5703, 0x6355, 0x6B69, 0x752B, 0x88DC, 0x8F14, 0x7A42, 0x52DF, 0x5893, 
+    0x6155, 0x620A, 0x66AE, 0x6BCD, 0x7C3F, 0x83E9, 0x5023, 0x4FF8, 0x5305, 
+    0x5446, 0x5831, 0x5949, 0x5B9D, 0x5CF0, 0x5CEF, 0x5D29, 0x5E96, 0x62B1, 
+    0x6367, 0x653E, 0x65B9, 0x670B},
+    {0x6CD5, 0x6CE1, 0x70F9, 0x7832, 0x7E2B, 0x80DE, 0x82B3, 0x840C, 0x84EC, 
+    0x8702, 0x8912, 0x8A2A, 0x8C4A, 0x90A6, 0x92D2, 0x98FD, 0x9CF3, 0x9D6C, 
+    0x4E4F, 0x4EA1, 0x508D, 0x5256, 0x574A, 0x59A8, 0x5E3D, 0x5FD8, 0x5FD9, 
+    0x623F, 0x66B4, 0x671B, 0x67D0, 0x68D2, 0x5192, 0x7D21, 0x80AA, 0x81A8, 
+    0x8B00, 0x8C8C, 0x8CBF, 0x927E, 0x9632, 0x5420, 0x982C, 0x5317, 0x50D5, 
+    0x535C, 0x58A8, 0x64B2, 0x6734, 0x7267, 0x7766, 0x7A46, 0x91E6, 0x52C3, 
+    0x6CA1, 0x6B86, 0x5800, 0x5E4C, 0x5954, 0x672C, 0x7FFB, 0x51E1, 0x76C6, 
+    0x6469, 0x78E8, 0x9B54, 0x9EBB, 0x57CB, 0x59B9, 0x6627, 0x679A, 0x6BCE, 
+    0x54E9, 0x69D9, 0x5E55, 0x819C, 0x6795, 0x9BAA, 0x67FE, 0x9C52, 0x685D, 
+    0x4EA6, 0x4FE3, 0x53C8, 0x62B9, 0x672B, 0x6CAB, 0x8FC4, 0x4FAD, 0x7E6D, 
+    0x9EBF, 0x4E07, 0x6162, 0x6E80},
+    {0x6F2B, 0x8513, 0x5473, 0x672A, 0x9B45, 0x5DF3, 0x7B95, 0x5CAC, 0x5BC6, 
+    0x871C, 0x6E4A, 0x84D1, 0x7A14, 0x8108, 0x5999, 0x7C8D, 0x6C11, 0x7720, 
+    0x52D9, 0x5922, 0x7121, 0x725F, 0x77DB, 0x9727, 0x9D61, 0x690B, 0x5A7F, 
+    0x5A18, 0x51A5, 0x540D, 0x547D, 0x660E, 0x76DF, 0x8FF7, 0x9298, 0x9CF4, 
+    0x59EA, 0x725D, 0x6EC5, 0x514D, 0x68C9, 0x7DBF, 0x7DEC, 0x9762, 0x9EBA, 
+    0x6478, 0x6A21, 0x8302, 0x5984, 0x5B5F, 0x6BDB, 0x731B, 0x76F2, 0x7DB2, 
+    0x8017, 0x8499, 0x5132, 0x6728, 0x9ED9, 0x76EE, 0x6762, 0x52FF, 0x9905, 
+    0x5C24, 0x623B, 0x7C7E, 0x8CB0, 0x554F, 0x60B6, 0x7D0B, 0x9580, 0x5301, 
+    0x4E5F, 0x51B6, 0x591C, 0x723A, 0x8036, 0x91CE, 0x5F25, 0x77E2, 0x5384, 
+    0x5F79, 0x7D04, 0x85AC, 0x8A33, 0x8E8D, 0x9756, 0x67F3, 0x85AE, 0x9453, 
+    0x6109, 0x6108, 0x6CB9, 0x7652},
+    {0x8AED, 0x8F38, 0x552F, 0x4F51, 0x512A, 0x52C7, 0x53CB, 0x5BA5, 0x5E7D, 
+    0x60A0, 0x6182, 0x63D6, 0x6709, 0x67DA, 0x6E67, 0x6D8C, 0x7336, 0x7337, 
+    0x7531, 0x7950, 0x88D5, 0x8A98, 0x904A, 0x9091, 0x90F5, 0x96C4, 0x878D, 
+    0x5915, 0x4E88, 0x4F59, 0x4E0E, 0x8A89, 0x8F3F, 0x9810, 0x50AD, 0x5E7C, 
+    0x5996, 0x5BB9, 0x5EB8, 0x63DA, 0x63FA, 0x64C1, 0x66DC, 0x694A, 0x69D8, 
+    0x6D0B, 0x6EB6, 0x7194, 0x7528, 0x7AAF, 0x7F8A, 0x8000, 0x8449, 0x84C9, 
+    0x8981, 0x8B21, 0x8E0A, 0x9065, 0x967D, 0x990A, 0x617E, 0x6291, 0x6B32, 
+    0x6C83, 0x6D74, 0x7FCC, 0x7FFC, 0x6DC0, 0x7F85, 0x87BA, 0x88F8, 0x6765, 
+    0x83B1, 0x983C, 0x96F7, 0x6D1B, 0x7D61, 0x843D, 0x916A, 0x4E71, 0x5375, 
+    0x5D50, 0x6B04, 0x6FEB, 0x85CD, 0x862D, 0x89A7, 0x5229, 0x540F, 0x5C65, 
+    0x674E, 0x68A8, 0x7406, 0x7483},
+    {0x75E2, 0x88CF, 0x88E1, 0x91CC, 0x96E2, 0x9678, 0x5F8B, 0x7387, 0x7ACB, 
+    0x844E, 0x63A0, 0x7565, 0x5289, 0x6D41, 0x6E9C, 0x7409, 0x7559, 0x786B, 
+    0x7C92, 0x9686, 0x7ADC, 0x9F8D, 0x4FB6, 0x616E, 0x65C5, 0x865C, 0x4E86, 
+    0x4EAE, 0x50DA, 0x4E21, 0x51CC, 0x5BEE, 0x6599, 0x6881, 0x6DBC, 0x731F, 
+    0x7642, 0x77AD, 0x7A1C, 0x7CE7, 0x826F, 0x8AD2, 0x907C, 0x91CF, 0x9675, 
+    0x9818, 0x529B, 0x7DD1, 0x502B, 0x5398, 0x6797, 0x6DCB, 0x71D0, 0x7433, 
+    0x81E8, 0x8F2A, 0x96A3, 0x9C57, 0x9E9F, 0x7460, 0x5841, 0x6D99, 0x7D2F, 
+    0x985E, 0x4EE4, 0x4F36, 0x4F8B, 0x51B7, 0x52B1, 0x5DBA, 0x601C, 0x73B2, 
+    0x793C, 0x82D3, 0x9234, 0x96B7, 0x96F6, 0x970A, 0x9E97, 0x9F62, 0x66A6, 
+    0x6B74, 0x5217, 0x52A3, 0x70C8, 0x88C2, 0x5EC9, 0x604B, 0x6190, 0x6F23, 
+    0x7149, 0x7C3E, 0x7DF4, 0x806F},
+    {0x84EE, 0x9023, 0x932C, 0x5442, 0x9B6F, 0x6AD3, 0x7089, 0x8CC2, 0x8DEF, 
+    0x9732, 0x52B4, 0x5A41, 0x5ECA, 0x5F04, 0x6717, 0x697C, 0x6994, 0x6D6A, 
+    0x6F0F, 0x7262, 0x72FC, 0x7BED, 0x8001, 0x807E, 0x874B, 0x90CE, 0x516D, 
+    0x9E93, 0x7984, 0x808B, 0x9332, 0x8AD6, 0x502D, 0x548C, 0x8A71, 0x6B6A, 
+    0x8CC4, 0x8107, 0x60D1, 0x67A0, 0x9DF2, 0x4E99, 0x4E98, 0x9C10, 0x8A6B, 
+    0x85C1, 0x8568, 0x6900, 0x6E7E, 0x7897, 0x8155,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR},
+    {0x5F0C, 0x4E10, 0x4E15, 0x4E2A, 0x4E31, 0x4E36, 0x4E3C, 0x4E3F, 0x4E42, 
+    0x4E56, 0x4E58, 0x4E82, 0x4E85, 0x8C6B, 0x4E8A, 0x8212, 0x5F0D, 0x4E8E, 
+    0x4E9E, 0x4E9F, 0x4EA0, 0x4EA2, 0x4EB0, 0x4EB3, 0x4EB6, 0x4ECE, 0x4ECD, 
+    0x4EC4, 0x4EC6, 0x4EC2, 0x4ED7, 0x4EDE, 0x4EED, 0x4EDF, 0x4EF7, 0x4F09, 
+    0x4F5A, 0x4F30, 0x4F5B, 0x4F5D, 0x4F57, 0x4F47, 0x4F76, 0x4F88, 0x4F8F, 
+    0x4F98, 0x4F7B, 0x4F69, 0x4F70, 0x4F91, 0x4F6F, 0x4F86, 0x4F96, 0x5118, 
+    0x4FD4, 0x4FDF, 0x4FCE, 0x4FD8, 0x4FDB, 0x4FD1, 0x4FDA, 0x4FD0, 0x4FE4, 
+    0x4FE5, 0x501A, 0x5028, 0x5014, 0x502A, 0x5025, 0x5005, 0x4F1C, 0x4FF6, 
+    0x5021, 0x5029, 0x502C, 0x4FFE, 0x4FEF, 0x5011, 0x5006, 0x5043, 0x5047, 
+    0x6703, 0x5055, 0x5050, 0x5048, 0x505A, 0x5056, 0x506C, 0x5078, 0x5080, 
+    0x509A, 0x5085, 0x50B4, 0x50B2},
+    {0x50C9, 0x50CA, 0x50B3, 0x50C2, 0x50D6, 0x50DE, 0x50E5, 0x50ED, 0x50E3, 
+    0x50EE, 0x50F9, 0x50F5, 0x5109, 0x5101, 0x5102, 0x5116, 0x5115, 0x5114, 
+    0x511A, 0x5121, 0x513A, 0x5137, 0x513C, 0x513B, 0x513F, 0x5140, 0x5152, 
+    0x514C, 0x5154, 0x5162, 0x7AF8, 0x5169, 0x516A, 0x516E, 0x5180, 0x5182, 
+    0x56D8, 0x518C, 0x5189, 0x518F, 0x5191, 0x5193, 0x5195, 0x5196, 0x51A4, 
+    0x51A6, 0x51A2, 0x51A9, 0x51AA, 0x51AB, 0x51B3, 0x51B1, 0x51B2, 0x51B0, 
+    0x51B5, 0x51BD, 0x51C5, 0x51C9, 0x51DB, 0x51E0, 0x8655, 0x51E9, 0x51ED, 
+    0x51F0, 0x51F5, 0x51FE, 0x5204, 0x520B, 0x5214, 0x520E, 0x5227, 0x522A, 
+    0x522E, 0x5233, 0x5239, 0x524F, 0x5244, 0x524B, 0x524C, 0x525E, 0x5254, 
+    0x526A, 0x5274, 0x5269, 0x5273, 0x527F, 0x527D, 0x528D, 0x5294, 0x5292, 
+    0x5271, 0x5288, 0x5291, 0x8FA8},
+    {0x8FA7, 0x52AC, 0x52AD, 0x52BC, 0x52B5, 0x52C1, 0x52CD, 0x52D7, 0x52DE, 
+    0x52E3, 0x52E6, 0x98ED, 0x52E0, 0x52F3, 0x52F5, 0x52F8, 0x52F9, 0x5306, 
+    0x5308, 0x7538, 0x530D, 0x5310, 0x530F, 0x5315, 0x531A, 0x5323, 0x532F, 
+    0x5331, 0x5333, 0x5338, 0x5340, 0x5346, 0x5345, 0x4E17, 0x5349, 0x534D, 
+    0x51D6, 0x535E, 0x5369, 0x536E, 0x5918, 0x537B, 0x5377, 0x5382, 0x5396, 
+    0x53A0, 0x53A6, 0x53A5, 0x53AE, 0x53B0, 0x53B6, 0x53C3, 0x7C12, 0x96D9, 
+    0x53DF, 0x66FC, 0x71EE, 0x53EE, 0x53E8, 0x53ED, 0x53FA, 0x5401, 0x543D, 
+    0x5440, 0x542C, 0x542D, 0x543C, 0x542E, 0x5436, 0x5429, 0x541D, 0x544E, 
+    0x548F, 0x5475, 0x548E, 0x545F, 0x5471, 0x5477, 0x5470, 0x5492, 0x547B, 
+    0x5480, 0x5476, 0x5484, 0x5490, 0x5486, 0x54C7, 0x54A2, 0x54B8, 0x54A5, 
+    0x54AC, 0x54C4, 0x54C8, 0x54A8},
+    {0x54AB, 0x54C2, 0x54A4, 0x54BE, 0x54BC, 0x54D8, 0x54E5, 0x54E6, 0x550F, 
+    0x5514, 0x54FD, 0x54EE, 0x54ED, 0x54FA, 0x54E2, 0x5539, 0x5540, 0x5563, 
+    0x554C, 0x552E, 0x555C, 0x5545, 0x5556, 0x5557, 0x5538, 0x5533, 0x555D, 
+    0x5599, 0x5580, 0x54AF, 0x558A, 0x559F, 0x557B, 0x557E, 0x5598, 0x559E, 
+    0x55AE, 0x557C, 0x5583, 0x55A9, 0x5587, 0x55A8, 0x55DA, 0x55C5, 0x55DF, 
+    0x55C4, 0x55DC, 0x55E4, 0x55D4, 0x5614, 0x55F7, 0x5616, 0x55FE, 0x55FD, 
+    0x561B, 0x55F9, 0x564E, 0x5650, 0x71DF, 0x5634, 0x5636, 0x5632, 0x5638, 
+    0x566B, 0x5664, 0x562F, 0x566C, 0x566A, 0x5686, 0x5680, 0x568A, 0x56A0, 
+    0x5694, 0x568F, 0x56A5, 0x56AE, 0x56B6, 0x56B4, 0x56C2, 0x56BC, 0x56C1, 
+    0x56C3, 0x56C0, 0x56C8, 0x56CE, 0x56D1, 0x56D3, 0x56D7, 0x56EE, 0x56F9, 
+    0x5700, 0x56FF, 0x5704, 0x5709},
+    {0x5708, 0x570B, 0x570D, 0x5713, 0x5718, 0x5716, 0x55C7, 0x571C, 0x5726, 
+    0x5737, 0x5738, 0x574E, 0x573B, 0x5740, 0x574F, 0x5769, 0x57C0, 0x5788, 
+    0x5761, 0x577F, 0x5789, 0x5793, 0x57A0, 0x57B3, 0x57A4, 0x57AA, 0x57B0, 
+    0x57C3, 0x57C6, 0x57D4, 0x57D2, 0x57D3, 0x580A, 0x57D6, 0x57E3, 0x580B, 
+    0x5819, 0x581D, 0x5872, 0x5821, 0x5862, 0x584B, 0x5870, 0x6BC0, 0x5852, 
+    0x583D, 0x5879, 0x5885, 0x58B9, 0x589F, 0x58AB, 0x58BA, 0x58DE, 0x58BB, 
+    0x58B8, 0x58AE, 0x58C5, 0x58D3, 0x58D1, 0x58D7, 0x58D9, 0x58D8, 0x58E5, 
+    0x58DC, 0x58E4, 0x58DF, 0x58EF, 0x58FA, 0x58F9, 0x58FB, 0x58FC, 0x58FD, 
+    0x5902, 0x590A, 0x5910, 0x591B, 0x68A6, 0x5925, 0x592C, 0x592D, 0x5932, 
+    0x5938, 0x593E, 0x7AD2, 0x5955, 0x5950, 0x594E, 0x595A, 0x5958, 0x5962, 
+    0x5960, 0x5967, 0x596C, 0x5969},
+    {0x5978, 0x5981, 0x599D, 0x4F5E, 0x4FAB, 0x59A3, 0x59B2, 0x59C6, 0x59E8, 
+    0x59DC, 0x598D, 0x59D9, 0x59DA, 0x5A25, 0x5A1F, 0x5A11, 0x5A1C, 0x5A09, 
+    0x5A1A, 0x5A40, 0x5A6C, 0x5A49, 0x5A35, 0x5A36, 0x5A62, 0x5A6A, 0x5A9A, 
+    0x5ABC, 0x5ABE, 0x5ACB, 0x5AC2, 0x5ABD, 0x5AE3, 0x5AD7, 0x5AE6, 0x5AE9, 
+    0x5AD6, 0x5AFA, 0x5AFB, 0x5B0C, 0x5B0B, 0x5B16, 0x5B32, 0x5AD0, 0x5B2A, 
+    0x5B36, 0x5B3E, 0x5B43, 0x5B45, 0x5B40, 0x5B51, 0x5B55, 0x5B5A, 0x5B5B, 
+    0x5B65, 0x5B69, 0x5B70, 0x5B73, 0x5B75, 0x5B78, 0x6588, 0x5B7A, 0x5B80, 
+    0x5B83, 0x5BA6, 0x5BB8, 0x5BC3, 0x5BC7, 0x5BC9, 0x5BD4, 0x5BD0, 0x5BE4, 
+    0x5BE6, 0x5BE2, 0x5BDE, 0x5BE5, 0x5BEB, 0x5BF0, 0x5BF6, 0x5BF3, 0x5C05, 
+    0x5C07, 0x5C08, 0x5C0D, 0x5C13, 0x5C20, 0x5C22, 0x5C28, 0x5C38, 0x5C39, 
+    0x5C41, 0x5C46, 0x5C4E, 0x5C53},
+    {0x5C50, 0x5C4F, 0x5B71, 0x5C6C, 0x5C6E, 0x4E62, 0x5C76, 0x5C79, 0x5C8C, 
+    0x5C91, 0x5C94, 0x599B, 0x5CAB, 0x5CBB, 0x5CB6, 0x5CBC, 0x5CB7, 0x5CC5, 
+    0x5CBE, 0x5CC7, 0x5CD9, 0x5CE9, 0x5CFD, 0x5CFA, 0x5CED, 0x5D8C, 0x5CEA, 
+    0x5D0B, 0x5D15, 0x5D17, 0x5D5C, 0x5D1F, 0x5D1B, 0x5D11, 0x5D14, 0x5D22, 
+    0x5D1A, 0x5D19, 0x5D18, 0x5D4C, 0x5D52, 0x5D4E, 0x5D4B, 0x5D6C, 0x5D73, 
+    0x5D76, 0x5D87, 0x5D84, 0x5D82, 0x5DA2, 0x5D9D, 0x5DAC, 0x5DAE, 0x5DBD, 
+    0x5D90, 0x5DB7, 0x5DBC, 0x5DC9, 0x5DCD, 0x5DD3, 0x5DD2, 0x5DD6, 0x5DDB, 
+    0x5DEB, 0x5DF2, 0x5DF5, 0x5E0B, 0x5E1A, 0x5E19, 0x5E11, 0x5E1B, 0x5E36, 
+    0x5E37, 0x5E44, 0x5E43, 0x5E40, 0x5E4E, 0x5E57, 0x5E54, 0x5E5F, 0x5E62, 
+    0x5E64, 0x5E47, 0x5E75, 0x5E76, 0x5E7A, 0x9EBC, 0x5E7F, 0x5EA0, 0x5EC1, 
+    0x5EC2, 0x5EC8, 0x5ED0, 0x5ECF},
+    {0x5ED6, 0x5EE3, 0x5EDD, 0x5EDA, 0x5EDB, 0x5EE2, 0x5EE1, 0x5EE8, 0x5EE9, 
+    0x5EEC, 0x5EF1, 0x5EF3, 0x5EF0, 0x5EF4, 0x5EF8, 0x5EFE, 0x5F03, 0x5F09, 
+    0x5F5D, 0x5F5C, 0x5F0B, 0x5F11, 0x5F16, 0x5F29, 0x5F2D, 0x5F38, 0x5F41, 
+    0x5F48, 0x5F4C, 0x5F4E, 0x5F2F, 0x5F51, 0x5F56, 0x5F57, 0x5F59, 0x5F61, 
+    0x5F6D, 0x5F73, 0x5F77, 0x5F83, 0x5F82, 0x5F7F, 0x5F8A, 0x5F88, 0x5F91, 
+    0x5F87, 0x5F9E, 0x5F99, 0x5F98, 0x5FA0, 0x5FA8, 0x5FAD, 0x5FBC, 0x5FD6, 
+    0x5FFB, 0x5FE4, 0x5FF8, 0x5FF1, 0x5FDD, 0x60B3, 0x5FFF, 0x6021, 0x6060, 
+    0x6019, 0x6010, 0x6029, 0x600E, 0x6031, 0x601B, 0x6015, 0x602B, 0x6026, 
+    0x600F, 0x603A, 0x605A, 0x6041, 0x606A, 0x6077, 0x605F, 0x604A, 0x6046, 
+    0x604D, 0x6063, 0x6043, 0x6064, 0x6042, 0x606C, 0x606B, 0x6059, 0x6081, 
+    0x608D, 0x60E7, 0x6083, 0x609A},
+    {0x6084, 0x609B, 0x6096, 0x6097, 0x6092, 0x60A7, 0x608B, 0x60E1, 0x60B8, 
+    0x60E0, 0x60D3, 0x60B4, 0x5FF0, 0x60BD, 0x60C6, 0x60B5, 0x60D8, 0x614D, 
+    0x6115, 0x6106, 0x60F6, 0x60F7, 0x6100, 0x60F4, 0x60FA, 0x6103, 0x6121, 
+    0x60FB, 0x60F1, 0x610D, 0x610E, 0x6147, 0x613E, 0x6128, 0x6127, 0x614A, 
+    0x613F, 0x613C, 0x612C, 0x6134, 0x613D, 0x6142, 0x6144, 0x6173, 0x6177, 
+    0x6158, 0x6159, 0x615A, 0x616B, 0x6174, 0x616F, 0x6165, 0x6171, 0x615F, 
+    0x615D, 0x6153, 0x6175, 0x6199, 0x6196, 0x6187, 0x61AC, 0x6194, 0x619A, 
+    0x618A, 0x6191, 0x61AB, 0x61AE, 0x61CC, 0x61CA, 0x61C9, 0x61F7, 0x61C8, 
+    0x61C3, 0x61C6, 0x61BA, 0x61CB, 0x7F79, 0x61CD, 0x61E6, 0x61E3, 0x61F6, 
+    0x61FA, 0x61F4, 0x61FF, 0x61FD, 0x61FC, 0x61FE, 0x6200, 0x6208, 0x6209, 
+    0x620D, 0x620C, 0x6214, 0x621B},
+    {0x621E, 0x6221, 0x622A, 0x622E, 0x6230, 0x6232, 0x6233, 0x6241, 0x624E, 
+    0x625E, 0x6263, 0x625B, 0x6260, 0x6268, 0x627C, 0x6282, 0x6289, 0x627E, 
+    0x6292, 0x6293, 0x6296, 0x62D4, 0x6283, 0x6294, 0x62D7, 0x62D1, 0x62BB, 
+    0x62CF, 0x62FF, 0x62C6, 0x64D4, 0x62C8, 0x62DC, 0x62CC, 0x62CA, 0x62C2, 
+    0x62C7, 0x629B, 0x62C9, 0x630C, 0x62EE, 0x62F1, 0x6327, 0x6302, 0x6308, 
+    0x62EF, 0x62F5, 0x6350, 0x633E, 0x634D, 0x641C, 0x634F, 0x6396, 0x638E, 
+    0x6380, 0x63AB, 0x6376, 0x63A3, 0x638F, 0x6389, 0x639F, 0x63B5, 0x636B, 
+    0x6369, 0x63BE, 0x63E9, 0x63C0, 0x63C6, 0x63E3, 0x63C9, 0x63D2, 0x63F6, 
+    0x63C4, 0x6416, 0x6434, 0x6406, 0x6413, 0x6426, 0x6436, 0x651D, 0x6417, 
+    0x6428, 0x640F, 0x6467, 0x646F, 0x6476, 0x644E, 0x652A, 0x6495, 0x6493, 
+    0x64A5, 0x64A9, 0x6488, 0x64BC},
+    {0x64DA, 0x64D2, 0x64C5, 0x64C7, 0x64BB, 0x64D8, 0x64C2, 0x64F1, 0x64E7, 
+    0x8209, 0x64E0, 0x64E1, 0x62AC, 0x64E3, 0x64EF, 0x652C, 0x64F6, 0x64F4, 
+    0x64F2, 0x64FA, 0x6500, 0x64FD, 0x6518, 0x651C, 0x6505, 0x6524, 0x6523, 
+    0x652B, 0x6534, 0x6535, 0x6537, 0x6536, 0x6538, 0x754B, 0x6548, 0x6556, 
+    0x6555, 0x654D, 0x6558, 0x655E, 0x655D, 0x6572, 0x6578, 0x6582, 0x6583, 
+    0x8B8A, 0x659B, 0x659F, 0x65AB, 0x65B7, 0x65C3, 0x65C6, 0x65C1, 0x65C4, 
+    0x65CC, 0x65D2, 0x65DB, 0x65D9, 0x65E0, 0x65E1, 0x65F1, 0x6772, 0x660A, 
+    0x6603, 0x65FB, 0x6773, 0x6635, 0x6636, 0x6634, 0x661C, 0x664F, 0x6644, 
+    0x6649, 0x6641, 0x665E, 0x665D, 0x6664, 0x6667, 0x6668, 0x665F, 0x6662, 
+    0x6670, 0x6683, 0x6688, 0x668E, 0x6689, 0x6684, 0x6698, 0x669D, 0x66C1, 
+    0x66B9, 0x66C9, 0x66BE, 0x66BC},
+    {0x66C4, 0x66B8, 0x66D6, 0x66DA, 0x66E0, 0x663F, 0x66E6, 0x66E9, 0x66F0, 
+    0x66F5, 0x66F7, 0x670F, 0x6716, 0x671E, 0x6726, 0x6727, 0x9738, 0x672E, 
+    0x673F, 0x6736, 0x6741, 0x6738, 0x6737, 0x6746, 0x675E, 0x6760, 0x6759, 
+    0x6763, 0x6764, 0x6789, 0x6770, 0x67A9, 0x677C, 0x676A, 0x678C, 0x678B, 
+    0x67A6, 0x67A1, 0x6785, 0x67B7, 0x67EF, 0x67B4, 0x67EC, 0x67B3, 0x67E9, 
+    0x67B8, 0x67E4, 0x67DE, 0x67DD, 0x67E2, 0x67EE, 0x67B9, 0x67CE, 0x67C6, 
+    0x67E7, 0x6A9C, 0x681E, 0x6846, 0x6829, 0x6840, 0x684D, 0x6832, 0x684E, 
+    0x68B3, 0x682B, 0x6859, 0x6863, 0x6877, 0x687F, 0x689F, 0x688F, 0x68AD, 
+    0x6894, 0x689D, 0x689B, 0x6883, 0x6AAE, 0x68B9, 0x6874, 0x68B5, 0x68A0, 
+    0x68BA, 0x690F, 0x688D, 0x687E, 0x6901, 0x68CA, 0x6908, 0x68D8, 0x6922, 
+    0x6926, 0x68E1, 0x690C, 0x68CD},
+    {0x68D4, 0x68E7, 0x68D5, 0x6936, 0x6912, 0x6904, 0x68D7, 0x68E3, 0x6925, 
+    0x68F9, 0x68E0, 0x68EF, 0x6928, 0x692A, 0x691A, 0x6923, 0x6921, 0x68C6, 
+    0x6979, 0x6977, 0x695C, 0x6978, 0x696B, 0x6954, 0x697E, 0x696E, 0x6939, 
+    0x6974, 0x693D, 0x6959, 0x6930, 0x6961, 0x695E, 0x695D, 0x6981, 0x696A, 
+    0x69B2, 0x69AE, 0x69D0, 0x69BF, 0x69C1, 0x69D3, 0x69BE, 0x69CE, 0x5BE8, 
+    0x69CA, 0x69DD, 0x69BB, 0x69C3, 0x69A7, 0x6A2E, 0x6991, 0x69A0, 0x699C, 
+    0x6995, 0x69B4, 0x69DE, 0x69E8, 0x6A02, 0x6A1B, 0x69FF, 0x6B0A, 0x69F9, 
+    0x69F2, 0x69E7, 0x6A05, 0x69B1, 0x6A1E, 0x69ED, 0x6A14, 0x69EB, 0x6A0A, 
+    0x6A12, 0x6AC1, 0x6A23, 0x6A13, 0x6A44, 0x6A0C, 0x6A72, 0x6A36, 0x6A78, 
+    0x6A47, 0x6A62, 0x6A59, 0x6A66, 0x6A48, 0x6A38, 0x6A22, 0x6A90, 0x6A8D, 
+    0x6AA0, 0x6A84, 0x6AA2, 0x6AA3},
+    {0x6A97, 0x8617, 0x6ABB, 0x6AC3, 0x6AC2, 0x6AB8, 0x6AB3, 0x6AAC, 0x6ADE, 
+    0x6AD1, 0x6ADF, 0x6AAA, 0x6ADA, 0x6AEA, 0x6AFB, 0x6B05, 0x8616, 0x6AFA, 
+    0x6B12, 0x6B16, 0x9B31, 0x6B1F, 0x6B38, 0x6B37, 0x76DC, 0x6B39, 0x98EE, 
+    0x6B47, 0x6B43, 0x6B49, 0x6B50, 0x6B59, 0x6B54, 0x6B5B, 0x6B5F, 0x6B61, 
+    0x6B78, 0x6B79, 0x6B7F, 0x6B80, 0x6B84, 0x6B83, 0x6B8D, 0x6B98, 0x6B95, 
+    0x6B9E, 0x6BA4, 0x6BAA, 0x6BAB, 0x6BAF, 0x6BB2, 0x6BB1, 0x6BB3, 0x6BB7, 
+    0x6BBC, 0x6BC6, 0x6BCB, 0x6BD3, 0x6BDF, 0x6BEC, 0x6BEB, 0x6BF3, 0x6BEF, 
+    0x9EBE, 0x6C08, 0x6C13, 0x6C14, 0x6C1B, 0x6C24, 0x6C23, 0x6C5E, 0x6C55, 
+    0x6C62, 0x6C6A, 0x6C82, 0x6C8D, 0x6C9A, 0x6C81, 0x6C9B, 0x6C7E, 0x6C68, 
+    0x6C73, 0x6C92, 0x6C90, 0x6CC4, 0x6CF1, 0x6CD3, 0x6CBD, 0x6CD7, 0x6CC5, 
+    0x6CDD, 0x6CAE, 0x6CB1, 0x6CBE},
+    {0x6CBA, 0x6CDB, 0x6CEF, 0x6CD9, 0x6CEA, 0x6D1F, 0x884D, 0x6D36, 0x6D2B, 
+    0x6D3D, 0x6D38, 0x6D19, 0x6D35, 0x6D33, 0x6D12, 0x6D0C, 0x6D63, 0x6D93, 
+    0x6D64, 0x6D5A, 0x6D79, 0x6D59, 0x6D8E, 0x6D95, 0x6FE4, 0x6D85, 0x6DF9, 
+    0x6E15, 0x6E0A, 0x6DB5, 0x6DC7, 0x6DE6, 0x6DB8, 0x6DC6, 0x6DEC, 0x6DDE, 
+    0x6DCC, 0x6DE8, 0x6DD2, 0x6DC5, 0x6DFA, 0x6DD9, 0x6DE4, 0x6DD5, 0x6DEA, 
+    0x6DEE, 0x6E2D, 0x6E6E, 0x6E2E, 0x6E19, 0x6E72, 0x6E5F, 0x6E3E, 0x6E23, 
+    0x6E6B, 0x6E2B, 0x6E76, 0x6E4D, 0x6E1F, 0x6E43, 0x6E3A, 0x6E4E, 0x6E24, 
+    0x6EFF, 0x6E1D, 0x6E38, 0x6E82, 0x6EAA, 0x6E98, 0x6EC9, 0x6EB7, 0x6ED3, 
+    0x6EBD, 0x6EAF, 0x6EC4, 0x6EB2, 0x6ED4, 0x6ED5, 0x6E8F, 0x6EA5, 0x6EC2, 
+    0x6E9F, 0x6F41, 0x6F11, 0x704C, 0x6EEC, 0x6EF8, 0x6EFE, 0x6F3F, 0x6EF2, 
+    0x6F31, 0x6EEF, 0x6F32, 0x6ECC},
+    {0x6F3E, 0x6F13, 0x6EF7, 0x6F86, 0x6F7A, 0x6F78, 0x6F81, 0x6F80, 0x6F6F, 
+    0x6F5B, 0x6FF3, 0x6F6D, 0x6F82, 0x6F7C, 0x6F58, 0x6F8E, 0x6F91, 0x6FC2, 
+    0x6F66, 0x6FB3, 0x6FA3, 0x6FA1, 0x6FA4, 0x6FB9, 0x6FC6, 0x6FAA, 0x6FDF, 
+    0x6FD5, 0x6FEC, 0x6FD4, 0x6FD8, 0x6FF1, 0x6FEE, 0x6FDB, 0x7009, 0x700B, 
+    0x6FFA, 0x7011, 0x7001, 0x700F, 0x6FFE, 0x701B, 0x701A, 0x6F74, 0x701D, 
+    0x7018, 0x701F, 0x7030, 0x703E, 0x7032, 0x7051, 0x7063, 0x7099, 0x7092, 
+    0x70AF, 0x70F1, 0x70AC, 0x70B8, 0x70B3, 0x70AE, 0x70DF, 0x70CB, 0x70DD, 
+    0x70D9, 0x7109, 0x70FD, 0x711C, 0x7119, 0x7165, 0x7155, 0x7188, 0x7166, 
+    0x7162, 0x714C, 0x7156, 0x716C, 0x718F, 0x71FB, 0x7184, 0x7195, 0x71A8, 
+    0x71AC, 0x71D7, 0x71B9, 0x71BE, 0x71D2, 0x71C9, 0x71D4, 0x71CE, 0x71E0, 
+    0x71EC, 0x71E7, 0x71F5, 0x71FC},
+    {0x71F9, 0x71FF, 0x720D, 0x7210, 0x721B, 0x7228, 0x722D, 0x722C, 0x7230, 
+    0x7232, 0x723B, 0x723C, 0x723F, 0x7240, 0x7246, 0x724B, 0x7258, 0x7274, 
+    0x727E, 0x7282, 0x7281, 0x7287, 0x7292, 0x7296, 0x72A2, 0x72A7, 0x72B9, 
+    0x72B2, 0x72C3, 0x72C6, 0x72C4, 0x72CE, 0x72D2, 0x72E2, 0x72E0, 0x72E1, 
+    0x72F9, 0x72F7, 0x500F, 0x7317, 0x730A, 0x731C, 0x7316, 0x731D, 0x7334, 
+    0x732F, 0x7329, 0x7325, 0x733E, 0x734E, 0x734F, 0x9ED8, 0x7357, 0x736A, 
+    0x7368, 0x7370, 0x7378, 0x7375, 0x737B, 0x737A, 0x73C8, 0x73B3, 0x73CE, 
+    0x73BB, 0x73C0, 0x73E5, 0x73EE, 0x73DE, 0x74A2, 0x7405, 0x746F, 0x7425, 
+    0x73F8, 0x7432, 0x743A, 0x7455, 0x743F, 0x745F, 0x7459, 0x7441, 0x745C, 
+    0x7469, 0x7470, 0x7463, 0x746A, 0x7476, 0x747E, 0x748B, 0x749E, 0x74A7, 
+    0x74CA, 0x74CF, 0x74D4, 0x73F1},
+    {0x74E0, 0x74E3, 0x74E7, 0x74E9, 0x74EE, 0x74F2, 0x74F0, 0x74F1, 0x74F8, 
+    0x74F7, 0x7504, 0x7503, 0x7505, 0x750C, 0x750E, 0x750D, 0x7515, 0x7513, 
+    0x751E, 0x7526, 0x752C, 0x753C, 0x7544, 0x754D, 0x754A, 0x7549, 0x755B, 
+    0x7546, 0x755A, 0x7569, 0x7564, 0x7567, 0x756B, 0x756D, 0x7578, 0x7576, 
+    0x7586, 0x7587, 0x7574, 0x758A, 0x7589, 0x7582, 0x7594, 0x759A, 0x759D, 
+    0x75A5, 0x75A3, 0x75C2, 0x75B3, 0x75C3, 0x75B5, 0x75BD, 0x75B8, 0x75BC, 
+    0x75B1, 0x75CD, 0x75CA, 0x75D2, 0x75D9, 0x75E3, 0x75DE, 0x75FE, 0x75FF, 
+    0x75FC, 0x7601, 0x75F0, 0x75FA, 0x75F2, 0x75F3, 0x760B, 0x760D, 0x7609, 
+    0x761F, 0x7627, 0x7620, 0x7621, 0x7622, 0x7624, 0x7634, 0x7630, 0x763B, 
+    0x7647, 0x7648, 0x7646, 0x765C, 0x7658, 0x7661, 0x7662, 0x7668, 0x7669, 
+    0x766A, 0x7667, 0x766C, 0x7670},
+    {0x7672, 0x7676, 0x7678, 0x767C, 0x7680, 0x7683, 0x7688, 0x768B, 0x768E, 
+    0x7696, 0x7693, 0x7699, 0x769A, 0x76B0, 0x76B4, 0x76B8, 0x76B9, 0x76BA, 
+    0x76C2, 0x76CD, 0x76D6, 0x76D2, 0x76DE, 0x76E1, 0x76E5, 0x76E7, 0x76EA, 
+    0x862F, 0x76FB, 0x7708, 0x7707, 0x7704, 0x7729, 0x7724, 0x771E, 0x7725, 
+    0x7726, 0x771B, 0x7737, 0x7738, 0x7747, 0x775A, 0x7768, 0x776B, 0x775B, 
+    0x7765, 0x777F, 0x777E, 0x7779, 0x778E, 0x778B, 0x7791, 0x77A0, 0x779E, 
+    0x77B0, 0x77B6, 0x77B9, 0x77BF, 0x77BC, 0x77BD, 0x77BB, 0x77C7, 0x77CD, 
+    0x77D7, 0x77DA, 0x77DC, 0x77E3, 0x77EE, 0x77FC, 0x780C, 0x7812, 0x7926, 
+    0x7820, 0x792A, 0x7845, 0x788E, 0x7874, 0x7886, 0x787C, 0x789A, 0x788C, 
+    0x78A3, 0x78B5, 0x78AA, 0x78AF, 0x78D1, 0x78C6, 0x78CB, 0x78D4, 0x78BE, 
+    0x78BC, 0x78C5, 0x78CA, 0x78EC},
+    {0x78E7, 0x78DA, 0x78FD, 0x78F4, 0x7907, 0x7912, 0x7911, 0x7919, 0x792C, 
+    0x792B, 0x7940, 0x7960, 0x7957, 0x795F, 0x795A, 0x7955, 0x7953, 0x797A, 
+    0x797F, 0x798A, 0x799D, 0x79A7, 0x9F4B, 0x79AA, 0x79AE, 0x79B3, 0x79B9, 
+    0x79BA, 0x79C9, 0x79D5, 0x79E7, 0x79EC, 0x79E1, 0x79E3, 0x7A08, 0x7A0D, 
+    0x7A18, 0x7A19, 0x7A20, 0x7A1F, 0x7980, 0x7A31, 0x7A3B, 0x7A3E, 0x7A37, 
+    0x7A43, 0x7A57, 0x7A49, 0x7A61, 0x7A62, 0x7A69, 0x9F9D, 0x7A70, 0x7A79, 
+    0x7A7D, 0x7A88, 0x7A97, 0x7A95, 0x7A98, 0x7A96, 0x7AA9, 0x7AC8, 0x7AB0, 
+    0x7AB6, 0x7AC5, 0x7AC4, 0x7ABF, 0x9083, 0x7AC7, 0x7ACA, 0x7ACD, 0x7ACF, 
+    0x7AD5, 0x7AD3, 0x7AD9, 0x7ADA, 0x7ADD, 0x7AE1, 0x7AE2, 0x7AE6, 0x7AED, 
+    0x7AF0, 0x7B02, 0x7B0F, 0x7B0A, 0x7B06, 0x7B33, 0x7B18, 0x7B19, 0x7B1E, 
+    0x7B35, 0x7B28, 0x7B36, 0x7B50},
+    {0x7B7A, 0x7B04, 0x7B4D, 0x7B0B, 0x7B4C, 0x7B45, 0x7B75, 0x7B65, 0x7B74, 
+    0x7B67, 0x7B70, 0x7B71, 0x7B6C, 0x7B6E, 0x7B9D, 0x7B98, 0x7B9F, 0x7B8D, 
+    0x7B9C, 0x7B9A, 0x7B8B, 0x7B92, 0x7B8F, 0x7B5D, 0x7B99, 0x7BCB, 0x7BC1, 
+    0x7BCC, 0x7BCF, 0x7BB4, 0x7BC6, 0x7BDD, 0x7BE9, 0x7C11, 0x7C14, 0x7BE6, 
+    0x7BE5, 0x7C60, 0x7C00, 0x7C07, 0x7C13, 0x7BF3, 0x7BF7, 0x7C17, 0x7C0D, 
+    0x7BF6, 0x7C23, 0x7C27, 0x7C2A, 0x7C1F, 0x7C37, 0x7C2B, 0x7C3D, 0x7C4C, 
+    0x7C43, 0x7C54, 0x7C4F, 0x7C40, 0x7C50, 0x7C58, 0x7C5F, 0x7C64, 0x7C56, 
+    0x7C65, 0x7C6C, 0x7C75, 0x7C83, 0x7C90, 0x7CA4, 0x7CAD, 0x7CA2, 0x7CAB, 
+    0x7CA1, 0x7CA8, 0x7CB3, 0x7CB2, 0x7CB1, 0x7CAE, 0x7CB9, 0x7CBD, 0x7CC0, 
+    0x7CC5, 0x7CC2, 0x7CD8, 0x7CD2, 0x7CDC, 0x7CE2, 0x9B3B, 0x7CEF, 0x7CF2, 
+    0x7CF4, 0x7CF6, 0x7CFA, 0x7D06},
+    {0x7D02, 0x7D1C, 0x7D15, 0x7D0A, 0x7D45, 0x7D4B, 0x7D2E, 0x7D32, 0x7D3F, 
+    0x7D35, 0x7D46, 0x7D73, 0x7D56, 0x7D4E, 0x7D72, 0x7D68, 0x7D6E, 0x7D4F, 
+    0x7D63, 0x7D93, 0x7D89, 0x7D5B, 0x7D8F, 0x7D7D, 0x7D9B, 0x7DBA, 0x7DAE, 
+    0x7DA3, 0x7DB5, 0x7DC7, 0x7DBD, 0x7DAB, 0x7E3D, 0x7DA2, 0x7DAF, 0x7DDC, 
+    0x7DB8, 0x7D9F, 0x7DB0, 0x7DD8, 0x7DDD, 0x7DE4, 0x7DDE, 0x7DFB, 0x7DF2, 
+    0x7DE1, 0x7E05, 0x7E0A, 0x7E23, 0x7E21, 0x7E12, 0x7E31, 0x7E1F, 0x7E09, 
+    0x7E0B, 0x7E22, 0x7E46, 0x7E66, 0x7E3B, 0x7E35, 0x7E39, 0x7E43, 0x7E37, 
+    0x7E32, 0x7E3A, 0x7E67, 0x7E5D, 0x7E56, 0x7E5E, 0x7E59, 0x7E5A, 0x7E79, 
+    0x7E6A, 0x7E69, 0x7E7C, 0x7E7B, 0x7E83, 0x7DD5, 0x7E7D, 0x8FAE, 0x7E7F, 
+    0x7E88, 0x7E89, 0x7E8C, 0x7E92, 0x7E90, 0x7E93, 0x7E94, 0x7E96, 0x7E8E, 
+    0x7E9B, 0x7E9C, 0x7F38, 0x7F3A},
+    {0x7F45, 0x7F4C, 0x7F4D, 0x7F4E, 0x7F50, 0x7F51, 0x7F55, 0x7F54, 0x7F58, 
+    0x7F5F, 0x7F60, 0x7F68, 0x7F69, 0x7F67, 0x7F78, 0x7F82, 0x7F86, 0x7F83, 
+    0x7F88, 0x7F87, 0x7F8C, 0x7F94, 0x7F9E, 0x7F9D, 0x7F9A, 0x7FA3, 0x7FAF, 
+    0x7FB2, 0x7FB9, 0x7FAE, 0x7FB6, 0x7FB8, 0x8B71, 0x7FC5, 0x7FC6, 0x7FCA, 
+    0x7FD5, 0x7FD4, 0x7FE1, 0x7FE6, 0x7FE9, 0x7FF3, 0x7FF9, 0x98DC, 0x8006, 
+    0x8004, 0x800B, 0x8012, 0x8018, 0x8019, 0x801C, 0x8021, 0x8028, 0x803F, 
+    0x803B, 0x804A, 0x8046, 0x8052, 0x8058, 0x805A, 0x805F, 0x8062, 0x8068, 
+    0x8073, 0x8072, 0x8070, 0x8076, 0x8079, 0x807D, 0x807F, 0x8084, 0x8086, 
+    0x8085, 0x809B, 0x8093, 0x809A, 0x80AD, 0x5190, 0x80AC, 0x80DB, 0x80E5, 
+    0x80D9, 0x80DD, 0x80C4, 0x80DA, 0x80D6, 0x8109, 0x80EF, 0x80F1, 0x811B, 
+    0x8129, 0x8123, 0x812F, 0x814B},
+    {0x968B, 0x8146, 0x813E, 0x8153, 0x8151, 0x80FC, 0x8171, 0x816E, 0x8165, 
+    0x8166, 0x8174, 0x8183, 0x8188, 0x818A, 0x8180, 0x8182, 0x81A0, 0x8195, 
+    0x81A4, 0x81A3, 0x815F, 0x8193, 0x81A9, 0x81B0, 0x81B5, 0x81BE, 0x81B8, 
+    0x81BD, 0x81C0, 0x81C2, 0x81BA, 0x81C9, 0x81CD, 0x81D1, 0x81D9, 0x81D8, 
+    0x81C8, 0x81DA, 0x81DF, 0x81E0, 0x81E7, 0x81FA, 0x81FB, 0x81FE, 0x8201, 
+    0x8202, 0x8205, 0x8207, 0x820A, 0x820D, 0x8210, 0x8216, 0x8229, 0x822B, 
+    0x8238, 0x8233, 0x8240, 0x8259, 0x8258, 0x825D, 0x825A, 0x825F, 0x8264, 
+    0x8262, 0x8268, 0x826A, 0x826B, 0x822E, 0x8271, 0x8277, 0x8278, 0x827E, 
+    0x828D, 0x8292, 0x82AB, 0x829F, 0x82BB, 0x82AC, 0x82E1, 0x82E3, 0x82DF, 
+    0x82D2, 0x82F4, 0x82F3, 0x82FA, 0x8393, 0x8303, 0x82FB, 0x82F9, 0x82DE, 
+    0x8306, 0x82DC, 0x8309, 0x82D9},
+    {0x8335, 0x8334, 0x8316, 0x8332, 0x8331, 0x8340, 0x8339, 0x8350, 0x8345, 
+    0x832F, 0x832B, 0x8317, 0x8318, 0x8385, 0x839A, 0x83AA, 0x839F, 0x83A2, 
+    0x8396, 0x8323, 0x838E, 0x8387, 0x838A, 0x837C, 0x83B5, 0x8373, 0x8375, 
+    0x83A0, 0x8389, 0x83A8, 0x83F4, 0x8413, 0x83EB, 0x83CE, 0x83FD, 0x8403, 
+    0x83D8, 0x840B, 0x83C1, 0x83F7, 0x8407, 0x83E0, 0x83F2, 0x840D, 0x8422, 
+    0x8420, 0x83BD, 0x8438, 0x8506, 0x83FB, 0x846D, 0x842A, 0x843C, 0x855A, 
+    0x8484, 0x8477, 0x846B, 0x84AD, 0x846E, 0x8482, 0x8469, 0x8446, 0x842C, 
+    0x846F, 0x8479, 0x8435, 0x84CA, 0x8462, 0x84B9, 0x84BF, 0x849F, 0x84D9, 
+    0x84CD, 0x84BB, 0x84DA, 0x84D0, 0x84C1, 0x84C6, 0x84D6, 0x84A1, 0x8521, 
+    0x84FF, 0x84F4, 0x8517, 0x8518, 0x852C, 0x851F, 0x8515, 0x8514, 0x84FC, 
+    0x8540, 0x8563, 0x8558, 0x8548},
+    {0x8541, 0x8602, 0x854B, 0x8555, 0x8580, 0x85A4, 0x8588, 0x8591, 0x858A, 
+    0x85A8, 0x856D, 0x8594, 0x859B, 0x85EA, 0x8587, 0x859C, 0x8577, 0x857E, 
+    0x8590, 0x85C9, 0x85BA, 0x85CF, 0x85B9, 0x85D0, 0x85D5, 0x85DD, 0x85E5, 
+    0x85DC, 0x85F9, 0x860A, 0x8613, 0x860B, 0x85FE, 0x85FA, 0x8606, 0x8622, 
+    0x861A, 0x8630, 0x863F, 0x864D, 0x4E55, 0x8654, 0x865F, 0x8667, 0x8671, 
+    0x8693, 0x86A3, 0x86A9, 0x86AA, 0x868B, 0x868C, 0x86B6, 0x86AF, 0x86C4, 
+    0x86C6, 0x86B0, 0x86C9, 0x8823, 0x86AB, 0x86D4, 0x86DE, 0x86E9, 0x86EC, 
+    0x86DF, 0x86DB, 0x86EF, 0x8712, 0x8706, 0x8708, 0x8700, 0x8703, 0x86FB, 
+    0x8711, 0x8709, 0x870D, 0x86F9, 0x870A, 0x8734, 0x873F, 0x8737, 0x873B, 
+    0x8725, 0x8729, 0x871A, 0x8760, 0x875F, 0x8778, 0x874C, 0x874E, 0x8774, 
+    0x8757, 0x8768, 0x876E, 0x8759},
+    {0x8753, 0x8763, 0x876A, 0x8805, 0x87A2, 0x879F, 0x8782, 0x87AF, 0x87CB, 
+    0x87BD, 0x87C0, 0x87D0, 0x96D6, 0x87AB, 0x87C4, 0x87B3, 0x87C7, 0x87C6, 
+    0x87BB, 0x87EF, 0x87F2, 0x87E0, 0x880F, 0x880D, 0x87FE, 0x87F6, 0x87F7, 
+    0x880E, 0x87D2, 0x8811, 0x8816, 0x8815, 0x8822, 0x8821, 0x8831, 0x8836, 
+    0x8839, 0x8827, 0x883B, 0x8844, 0x8842, 0x8852, 0x8859, 0x885E, 0x8862, 
+    0x886B, 0x8881, 0x887E, 0x889E, 0x8875, 0x887D, 0x88B5, 0x8872, 0x8882, 
+    0x8897, 0x8892, 0x88AE, 0x8899, 0x88A2, 0x888D, 0x88A4, 0x88B0, 0x88BF, 
+    0x88B1, 0x88C3, 0x88C4, 0x88D4, 0x88D8, 0x88D9, 0x88DD, 0x88F9, 0x8902, 
+    0x88FC, 0x88F4, 0x88E8, 0x88F2, 0x8904, 0x890C, 0x890A, 0x8913, 0x8943, 
+    0x891E, 0x8925, 0x892A, 0x892B, 0x8941, 0x8944, 0x893B, 0x8936, 0x8938, 
+    0x894C, 0x891D, 0x8960, 0x895E},
+    {0x8966, 0x8964, 0x896D, 0x896A, 0x896F, 0x8974, 0x8977, 0x897E, 0x8983, 
+    0x8988, 0x898A, 0x8993, 0x8998, 0x89A1, 0x89A9, 0x89A6, 0x89AC, 0x89AF, 
+    0x89B2, 0x89BA, 0x89BD, 0x89BF, 0x89C0, 0x89DA, 0x89DC, 0x89DD, 0x89E7, 
+    0x89F4, 0x89F8, 0x8A03, 0x8A16, 0x8A10, 0x8A0C, 0x8A1B, 0x8A1D, 0x8A25, 
+    0x8A36, 0x8A41, 0x8A5B, 0x8A52, 0x8A46, 0x8A48, 0x8A7C, 0x8A6D, 0x8A6C, 
+    0x8A62, 0x8A85, 0x8A82, 0x8A84, 0x8AA8, 0x8AA1, 0x8A91, 0x8AA5, 0x8AA6, 
+    0x8A9A, 0x8AA3, 0x8AC4, 0x8ACD, 0x8AC2, 0x8ADA, 0x8AEB, 0x8AF3, 0x8AE7, 
+    0x8AE4, 0x8AF1, 0x8B14, 0x8AE0, 0x8AE2, 0x8AF7, 0x8ADE, 0x8ADB, 0x8B0C, 
+    0x8B07, 0x8B1A, 0x8AE1, 0x8B16, 0x8B10, 0x8B17, 0x8B20, 0x8B33, 0x97AB, 
+    0x8B26, 0x8B2B, 0x8B3E, 0x8B28, 0x8B41, 0x8B4C, 0x8B4F, 0x8B4E, 0x8B49, 
+    0x8B56, 0x8B5B, 0x8B5A, 0x8B6B},
+    {0x8B5F, 0x8B6C, 0x8B6F, 0x8B74, 0x8B7D, 0x8B80, 0x8B8C, 0x8B8E, 0x8B92, 
+    0x8B93, 0x8B96, 0x8B99, 0x8B9A, 0x8C3A, 0x8C41, 0x8C3F, 0x8C48, 0x8C4C, 
+    0x8C4E, 0x8C50, 0x8C55, 0x8C62, 0x8C6C, 0x8C78, 0x8C7A, 0x8C82, 0x8C89, 
+    0x8C85, 0x8C8A, 0x8C8D, 0x8C8E, 0x8C94, 0x8C7C, 0x8C98, 0x621D, 0x8CAD, 
+    0x8CAA, 0x8CBD, 0x8CB2, 0x8CB3, 0x8CAE, 0x8CB6, 0x8CC8, 0x8CC1, 0x8CE4, 
+    0x8CE3, 0x8CDA, 0x8CFD, 0x8CFA, 0x8CFB, 0x8D04, 0x8D05, 0x8D0A, 0x8D07, 
+    0x8D0F, 0x8D0D, 0x8D10, 0x9F4E, 0x8D13, 0x8CCD, 0x8D14, 0x8D16, 0x8D67, 
+    0x8D6D, 0x8D71, 0x8D73, 0x8D81, 0x8D99, 0x8DC2, 0x8DBE, 0x8DBA, 0x8DCF, 
+    0x8DDA, 0x8DD6, 0x8DCC, 0x8DDB, 0x8DCB, 0x8DEA, 0x8DEB, 0x8DDF, 0x8DE3, 
+    0x8DFC, 0x8E08, 0x8E09, 0x8DFF, 0x8E1D, 0x8E1E, 0x8E10, 0x8E1F, 0x8E42, 
+    0x8E35, 0x8E30, 0x8E34, 0x8E4A},
+    {0x8E47, 0x8E49, 0x8E4C, 0x8E50, 0x8E48, 0x8E59, 0x8E64, 0x8E60, 0x8E2A, 
+    0x8E63, 0x8E55, 0x8E76, 0x8E72, 0x8E7C, 0x8E81, 0x8E87, 0x8E85, 0x8E84, 
+    0x8E8B, 0x8E8A, 0x8E93, 0x8E91, 0x8E94, 0x8E99, 0x8EAA, 0x8EA1, 0x8EAC, 
+    0x8EB0, 0x8EC6, 0x8EB1, 0x8EBE, 0x8EC5, 0x8EC8, 0x8ECB, 0x8EDB, 0x8EE3, 
+    0x8EFC, 0x8EFB, 0x8EEB, 0x8EFE, 0x8F0A, 0x8F05, 0x8F15, 0x8F12, 0x8F19, 
+    0x8F13, 0x8F1C, 0x8F1F, 0x8F1B, 0x8F0C, 0x8F26, 0x8F33, 0x8F3B, 0x8F39, 
+    0x8F45, 0x8F42, 0x8F3E, 0x8F4C, 0x8F49, 0x8F46, 0x8F4E, 0x8F57, 0x8F5C, 
+    0x8F62, 0x8F63, 0x8F64, 0x8F9C, 0x8F9F, 0x8FA3, 0x8FAD, 0x8FAF, 0x8FB7, 
+    0x8FDA, 0x8FE5, 0x8FE2, 0x8FEA, 0x8FEF, 0x9087, 0x8FF4, 0x9005, 0x8FF9, 
+    0x8FFA, 0x9011, 0x9015, 0x9021, 0x900D, 0x901E, 0x9016, 0x900B, 0x9027, 
+    0x9036, 0x9035, 0x9039, 0x8FF8},
+    {0x904F, 0x9050, 0x9051, 0x9052, 0x900E, 0x9049, 0x903E, 0x9056, 0x9058, 
+    0x905E, 0x9068, 0x906F, 0x9076, 0x96A8, 0x9072, 0x9082, 0x907D, 0x9081, 
+    0x9080, 0x908A, 0x9089, 0x908F, 0x90A8, 0x90AF, 0x90B1, 0x90B5, 0x90E2, 
+    0x90E4, 0x6248, 0x90DB, 0x9102, 0x9112, 0x9119, 0x9132, 0x9130, 0x914A, 
+    0x9156, 0x9158, 0x9163, 0x9165, 0x9169, 0x9173, 0x9172, 0x918B, 0x9189, 
+    0x9182, 0x91A2, 0x91AB, 0x91AF, 0x91AA, 0x91B5, 0x91B4, 0x91BA, 0x91C0, 
+    0x91C1, 0x91C9, 0x91CB, 0x91D0, 0x91D6, 0x91DF, 0x91E1, 0x91DB, 0x91FC, 
+    0x91F5, 0x91F6, 0x921E, 0x91FF, 0x9214, 0x922C, 0x9215, 0x9211, 0x925E, 
+    0x9257, 0x9245, 0x9249, 0x9264, 0x9248, 0x9295, 0x923F, 0x924B, 0x9250, 
+    0x929C, 0x9296, 0x9293, 0x929B, 0x925A, 0x92CF, 0x92B9, 0x92B7, 0x92E9, 
+    0x930F, 0x92FA, 0x9344, 0x932E},
+    {0x9319, 0x9322, 0x931A, 0x9323, 0x933A, 0x9335, 0x933B, 0x935C, 0x9360, 
+    0x937C, 0x936E, 0x9356, 0x93B0, 0x93AC, 0x93AD, 0x9394, 0x93B9, 0x93D6, 
+    0x93D7, 0x93E8, 0x93E5, 0x93D8, 0x93C3, 0x93DD, 0x93D0, 0x93C8, 0x93E4, 
+    0x941A, 0x9414, 0x9413, 0x9403, 0x9407, 0x9410, 0x9436, 0x942B, 0x9435, 
+    0x9421, 0x943A, 0x9441, 0x9452, 0x9444, 0x945B, 0x9460, 0x9462, 0x945E, 
+    0x946A, 0x9229, 0x9470, 0x9475, 0x9477, 0x947D, 0x945A, 0x947C, 0x947E, 
+    0x9481, 0x947F, 0x9582, 0x9587, 0x958A, 0x9594, 0x9596, 0x9598, 0x9599, 
+    0x95A0, 0x95A8, 0x95A7, 0x95AD, 0x95BC, 0x95BB, 0x95B9, 0x95BE, 0x95CA, 
+    0x6FF6, 0x95C3, 0x95CD, 0x95CC, 0x95D5, 0x95D4, 0x95D6, 0x95DC, 0x95E1, 
+    0x95E5, 0x95E2, 0x9621, 0x9628, 0x962E, 0x962F, 0x9642, 0x964C, 0x964F, 
+    0x964B, 0x9677, 0x965C, 0x965E},
+    {0x965D, 0x965F, 0x9666, 0x9672, 0x966C, 0x968D, 0x9698, 0x9695, 0x9697, 
+    0x96AA, 0x96A7, 0x96B1, 0x96B2, 0x96B0, 0x96B4, 0x96B6, 0x96B8, 0x96B9, 
+    0x96CE, 0x96CB, 0x96C9, 0x96CD, 0x894D, 0x96DC, 0x970D, 0x96D5, 0x96F9, 
+    0x9704, 0x9706, 0x9708, 0x9713, 0x970E, 0x9711, 0x970F, 0x9716, 0x9719, 
+    0x9724, 0x972A, 0x9730, 0x9739, 0x973D, 0x973E, 0x9744, 0x9746, 0x9748, 
+    0x9742, 0x9749, 0x975C, 0x9760, 0x9764, 0x9766, 0x9768, 0x52D2, 0x976B, 
+    0x9771, 0x9779, 0x9785, 0x977C, 0x9781, 0x977A, 0x9786, 0x978B, 0x978F, 
+    0x9790, 0x979C, 0x97A8, 0x97A6, 0x97A3, 0x97B3, 0x97B4, 0x97C3, 0x97C6, 
+    0x97C8, 0x97CB, 0x97DC, 0x97ED, 0x9F4F, 0x97F2, 0x7ADF, 0x97F6, 0x97F5, 
+    0x980F, 0x980C, 0x9838, 0x9824, 0x9821, 0x9837, 0x983D, 0x9846, 0x984F, 
+    0x984B, 0x986B, 0x986F, 0x9870},
+    {0x9871, 0x9874, 0x9873, 0x98AA, 0x98AF, 0x98B1, 0x98B6, 0x98C4, 0x98C3, 
+    0x98C6, 0x98E9, 0x98EB, 0x9903, 0x9909, 0x9912, 0x9914, 0x9918, 0x9921, 
+    0x991D, 0x991E, 0x9924, 0x9920, 0x992C, 0x992E, 0x993D, 0x993E, 0x9942, 
+    0x9949, 0x9945, 0x9950, 0x994B, 0x9951, 0x9952, 0x994C, 0x9955, 0x9997, 
+    0x9998, 0x99A5, 0x99AD, 0x99AE, 0x99BC, 0x99DF, 0x99DB, 0x99DD, 0x99D8, 
+    0x99D1, 0x99ED, 0x99EE, 0x99F1, 0x99F2, 0x99FB, 0x99F8, 0x9A01, 0x9A0F, 
+    0x9A05, 0x99E2, 0x9A19, 0x9A2B, 0x9A37, 0x9A45, 0x9A42, 0x9A40, 0x9A43, 
+    0x9A3E, 0x9A55, 0x9A4D, 0x9A5B, 0x9A57, 0x9A5F, 0x9A62, 0x9A65, 0x9A64, 
+    0x9A69, 0x9A6B, 0x9A6A, 0x9AAD, 0x9AB0, 0x9ABC, 0x9AC0, 0x9ACF, 0x9AD1, 
+    0x9AD3, 0x9AD4, 0x9ADE, 0x9ADF, 0x9AE2, 0x9AE3, 0x9AE6, 0x9AEF, 0x9AEB, 
+    0x9AEE, 0x9AF4, 0x9AF1, 0x9AF7},
+    {0x9AFB, 0x9B06, 0x9B18, 0x9B1A, 0x9B1F, 0x9B22, 0x9B23, 0x9B25, 0x9B27, 
+    0x9B28, 0x9B29, 0x9B2A, 0x9B2E, 0x9B2F, 0x9B32, 0x9B44, 0x9B43, 0x9B4F, 
+    0x9B4D, 0x9B4E, 0x9B51, 0x9B58, 0x9B74, 0x9B93, 0x9B83, 0x9B91, 0x9B96, 
+    0x9B97, 0x9B9F, 0x9BA0, 0x9BA8, 0x9BB4, 0x9BC0, 0x9BCA, 0x9BB9, 0x9BC6, 
+    0x9BCF, 0x9BD1, 0x9BD2, 0x9BE3, 0x9BE2, 0x9BE4, 0x9BD4, 0x9BE1, 0x9C3A, 
+    0x9BF2, 0x9BF1, 0x9BF0, 0x9C15, 0x9C14, 0x9C09, 0x9C13, 0x9C0C, 0x9C06, 
+    0x9C08, 0x9C12, 0x9C0A, 0x9C04, 0x9C2E, 0x9C1B, 0x9C25, 0x9C24, 0x9C21, 
+    0x9C30, 0x9C47, 0x9C32, 0x9C46, 0x9C3E, 0x9C5A, 0x9C60, 0x9C67, 0x9C76, 
+    0x9C78, 0x9CE7, 0x9CEC, 0x9CF0, 0x9D09, 0x9D08, 0x9CEB, 0x9D03, 0x9D06, 
+    0x9D2A, 0x9D26, 0x9DAF, 0x9D23, 0x9D1F, 0x9D44, 0x9D15, 0x9D12, 0x9D41, 
+    0x9D3F, 0x9D3E, 0x9D46, 0x9D48},
+    {0x9D5D, 0x9D5E, 0x9D64, 0x9D51, 0x9D50, 0x9D59, 0x9D72, 0x9D89, 0x9D87, 
+    0x9DAB, 0x9D6F, 0x9D7A, 0x9D9A, 0x9DA4, 0x9DA9, 0x9DB2, 0x9DC4, 0x9DC1, 
+    0x9DBB, 0x9DB8, 0x9DBA, 0x9DC6, 0x9DCF, 0x9DC2, 0x9DD9, 0x9DD3, 0x9DF8, 
+    0x9DE6, 0x9DED, 0x9DEF, 0x9DFD, 0x9E1A, 0x9E1B, 0x9E1E, 0x9E75, 0x9E79, 
+    0x9E7D, 0x9E81, 0x9E88, 0x9E8B, 0x9E8C, 0x9E92, 0x9E95, 0x9E91, 0x9E9D, 
+    0x9EA5, 0x9EA9, 0x9EB8, 0x9EAA, 0x9EAD, 0x9761, 0x9ECC, 0x9ECE, 0x9ECF, 
+    0x9ED0, 0x9ED4, 0x9EDC, 0x9EDE, 0x9EDD, 0x9EE0, 0x9EE5, 0x9EE8, 0x9EEF, 
+    0x9EF4, 0x9EF6, 0x9EF7, 0x9EF9, 0x9EFB, 0x9EFC, 0x9EFD, 0x9F07, 0x9F08, 
+    0x76B7, 0x9F15, 0x9F21, 0x9F2C, 0x9F3E, 0x9F4A, 0x9F52, 0x9F54, 0x9F63, 
+    0x9F5F, 0x9F60, 0x9F61, 0x9F66, 0x9F67, 0x9F6C, 0x9F6A, 0x9F77, 0x9F72, 
+    0x9F76, 0x9F95, 0x9F9C, 0x9FA0},
+    {0x582F, 0x69C7, 0x9059, 0x7464, 0x51DC, 0x7199,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR},
+    { ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR},
+    { ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR},
+    { ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR},
+    { ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR},
+    { ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR},
+    { ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR},
+    { ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR},
+    { ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR},
+    { ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR},
+    { ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR},
+};
+
+/*
+ * Mapping from Unicode back to JIS X 0208.
+ * 
+ * This inverse is done the same way the SBCS ones are done: I
+ * provide a list of JIS X 0208 positions, sorted into ascending
+ * order of their Unicode values. Then we can binary-search through
+ * this list, referring to the above table for each comparison, to
+ * find the coordinates for a given code point.
+ * 
+ * Generated by running the following sh+Perl over JIS0208.TXT:
+
+cat JIS0208.TXT | \
+perl -ne '$a{$3}=[hex$1,hex$2] if /^[^#]\S+\s+0x(\S\S)(\S\S)\s+(0x\S+)\s/;' \
+      -e 'END {$o="    ";for $k (sort keys %a) { ($r,$c) = @{$a{$k}}; ' \
+      -e '$o .= $C; $C = ", "; (print "$o\n"), $o="    " if length $o > 70;' \
+      -e '$o .= sprintf "{%d,%d}", $r-33,$c-33; } print "$o\n"; }'
+
+ */
+
+static const struct { unsigned char r, c; } jisx0208_backward[] = {
+    {0,31}, {0,80}, {0,81}, {0,87}, {0,14}, {1,43}, {0,74}, {0,61}, {0,12}, 
+    {1,88}, {0,62}, {0,63}, {5,0}, {5,1}, {5,2}, {5,3}, {5,4}, {5,5}, {5,6}, 
+    {5,7}, {5,8}, {5,9}, {5,10}, {5,11}, {5,12}, {5,13}, {5,14}, {5,15}, 
+    {5,16}, {5,17}, {5,18}, {5,19}, {5,20}, {5,21}, {5,22}, {5,23}, {5,32}, 
+    {5,33}, {5,34}, {5,35}, {5,36}, {5,37}, {5,38}, {5,39}, {5,40}, {5,41}, 
+    {5,42}, {5,43}, {5,44}, {5,45}, {5,46}, {5,47}, {5,48}, {5,49}, {5,50}, 
+    {5,51}, {5,52}, {5,53}, {5,54}, {5,55}, {6,6}, {6,0}, {6,1}, {6,2}, 
+    {6,3}, {6,4}, {6,5}, {6,7}, {6,8}, {6,9}, {6,10}, {6,11}, {6,12}, {6,13}, 
+    {6,14}, {6,15}, {6,16}, {6,17}, {6,18}, {6,19}, {6,20}, {6,21}, {6,22}, 
+    {6,23}, {6,24}, {6,25}, {6,26}, {6,27}, {6,28}, {6,29}, {6,30}, {6,31}, 
+    {6,32}, {6,48}, {6,49}, {6,50}, {6,51}, {6,52}, {6,53}, {6,55}, {6,56}, 
+    {6,57}, {6,58}, {6,59}, {6,60}, {6,61}, {6,62}, {6,63}, {6,64}, {6,65}, 
+    {6,66}, {6,67}, {6,68}, {6,69}, {6,70}, {6,71}, {6,72}, {6,73}, {6,74}, 
+    {6,75}, {6,76}, {6,77}, {6,78}, {6,79}, {6,80}, {6,54}, {0,29}, {0,28}, 
+    {0,33}, {0,37}, {0,38}, {0,39}, {0,40}, {1,86}, {1,87}, {0,36}, {0,35}, 
+    {1,82}, {0,75}, {0,76}, {1,7}, {0,77}, {1,81}, {1,10}, {1,11}, {1,9}, 
+    {1,12}, {1,44}, {1,45}, {1,46}, {1,62}, {1,47}, {1,63}, {1,25}, {1,26}, 
+    {0,60}, {1,68}, {1,70}, {0,70}, {1,59}, {1,41}, {1,42}, {1,32}, {1,31}, 
+    {1,72}, {1,73}, {0,71}, {1,71}, {1,69}, {1,65}, {0,65}, {1,64}, {0,68}, 
+    {0,69}, {1,66}, {1,67}, {1,29}, {1,30}, {1,27}, {1,28}, {1,60}, {1,61}, 
+    {7,0}, {7,11}, {7,1}, {7,12}, {7,2}, {7,13}, {7,3}, {7,14}, {7,5}, 
+    {7,16}, {7,4}, {7,15}, {7,6}, {7,27}, {7,22}, {7,17}, {7,8}, {7,29}, 
+    {7,24}, {7,19}, {7,7}, {7,23}, {7,28}, {7,18}, {7,9}, {7,25}, {7,30}, 
+    {7,20}, {7,10}, {7,26}, {7,31}, {7,21}, {1,2}, {1,1}, {1,4}, {1,3}, 
+    {1,6}, {1,5}, {1,0}, {0,93}, {0,90}, {0,92}, {0,91}, {1,93}, {0,89}, 
+    {0,88}, {0,73}, {0,72}, {1,85}, {1,84}, {1,83}, {0,0}, {0,1}, {0,2}, 
+    {0,22}, {0,24}, {0,25}, {0,26}, {0,49}, {0,50}, {0,51}, {0,52}, {0,53}, 
+    {0,54}, {0,55}, {0,56}, {0,57}, {0,58}, {1,8}, {1,13}, {0,43}, {0,44}, 
+    {0,32}, {3,0}, {3,1}, {3,2}, {3,3}, {3,4}, {3,5}, {3,6}, {3,7}, {3,8}, 
+    {3,9}, {3,10}, {3,11}, {3,12}, {3,13}, {3,14}, {3,15}, {3,16}, {3,17}, 
+    {3,18}, {3,19}, {3,20}, {3,21}, {3,22}, {3,23}, {3,24}, {3,25}, {3,26}, 
+    {3,27}, {3,28}, {3,29}, {3,30}, {3,31}, {3,32}, {3,33}, {3,34}, {3,35}, 
+    {3,36}, {3,37}, {3,38}, {3,39}, {3,40}, {3,41}, {3,42}, {3,43}, {3,44}, 
+    {3,45}, {3,46}, {3,47}, {3,48}, {3,49}, {3,50}, {3,51}, {3,52}, {3,53}, 
+    {3,54}, {3,55}, {3,56}, {3,57}, {3,58}, {3,59}, {3,60}, {3,61}, {3,62}, 
+    {3,63}, {3,64}, {3,65}, {3,66}, {3,67}, {3,68}, {3,69}, {3,70}, {3,71}, 
+    {3,72}, {3,73}, {3,74}, {3,75}, {3,76}, {3,77}, {3,78}, {3,79}, {3,80}, 
+    {3,81}, {3,82}, {0,10}, {0,11}, {0,20}, {0,21}, {4,0}, {4,1}, {4,2}, 
+    {4,3}, {4,4}, {4,5}, {4,6}, {4,7}, {4,8}, {4,9}, {4,10}, {4,11}, {4,12}, 
+    {4,13}, {4,14}, {4,15}, {4,16}, {4,17}, {4,18}, {4,19}, {4,20}, {4,21}, 
+    {4,22}, {4,23}, {4,24}, {4,25}, {4,26}, {4,27}, {4,28}, {4,29}, {4,30}, 
+    {4,31}, {4,32}, {4,33}, {4,34}, {4,35}, {4,36}, {4,37}, {4,38}, {4,39}, 
+    {4,40}, {4,41}, {4,42}, {4,43}, {4,44}, {4,45}, {4,46}, {4,47}, {4,48}, 
+    {4,49}, {4,50}, {4,51}, {4,52}, {4,53}, {4,54}, {4,55}, {4,56}, {4,57}, 
+    {4,58}, {4,59}, {4,60}, {4,61}, {4,62}, {4,63}, {4,64}, {4,65}, {4,66}, 
+    {4,67}, {4,68}, {4,69}, {4,70}, {4,71}, {4,72}, {4,73}, {4,74}, {4,75}, 
+    {4,76}, {4,77}, {4,78}, {4,79}, {4,80}, {4,81}, {4,82}, {4,83}, {4,84}, 
+    {4,85}, {0,5}, {0,27}, {0,18}, {0,19}, {15,75}, {34,89}, {27,22}, {42,91}, 
+    {29,69}, {26,15}, {29,68}, {17,27}, {40,51}, {44,30}, {47,1}, {16,14}, 
+    {18,77}, {47,2}, {31,3}, {49,33}, {20,53}, {41,25}, {29,70}, {45,29}, 
+    {41,33}, {47,3}, {34,69}, {47,4}, {21,89}, {47,5}, {19,60}, {34,15}, 
+    {27,70}, {47,6}, {47,7}, {47,8}, {38,20}, {20,54}, {38,22}, {37,66}, 
+    {23,34}, {42,18}, {72,40}, {47,9}, {29,71}, {47,10}, {17,20}, {21,68}, 
+    {23,79}, {43,72}, {53,5}, {44,79}, {37,92}, {19,4}, {20,20}, {47,11}, 
+    {47,12}, {45,26}, {44,28}, {32,71}, {47,14}, {26,85}, {37,82}, {47,17}, 
+    {16,29}, {23,62}, {23,61}, {15,69}, {46,42}, {46,41}, {25,18}, {15,0}, 
+    {47,18}, {47,19}, {47,20}, {42,19}, {47,21}, {23,81}, {15,70}, {42,81}, 
+    {20,91}, {20,92}, {20,93}, {35,65}, {45,27}, {47,22}, {47,23}, {47,24}, 
+    {30,44}, {28,25}, {30,45}, {47,29}, {47,27}, {47,28}, {20,55}, {25,2}, 
+    {17,79}, {47,26}, {47,25}, {41,8}, {26,37}, {26,36}, {33,29}, {47,30}, 
+    {40,52}, {31,70}, {0,23}, {47,31}, {47,33}, {33,68}, {45,64}, {15,41}, 
+    {47,32}, {17,29}, {21,35}, {34,70}, {22,78}, {47,34}, {38,3}, {19,74}, 
+    {47,35}, {15,42}, {23,63}, {19,75}, {40,89}, {39,17}, {20,56}, {17,80}, 
+    {47,70}, {36,32}, {38,75}, {47,37}, {39,27}, {45,65}, {30,12}, {26,38}, 
+    {26,86}, {17,31}, {35,48}, {34,1}, {47,41}, {15,43}, {35,66}, {28,26}, 
+    {25,19}, {44,3}, {33,45}, {17,30}, {47,40}, {44,29}, {47,36}, {47,38}, 
+    {25,77}, {47,39}, {52,3}, {47,47}, {47,50}, {47,48}, {17,33}, {41,26}, 
+    {47,42}, {47,46}, {23,82}, {26,39}, {19,5}, {47,51}, {47,43}, {45,66}, 
+    {26,87}, {47,44}, {47,49}, {47,52}, {47,45}, {21,0}, {15,44}, {21,1}, 
+    {17,32}, {52,4}, {42,88}, {40,77}, {23,83}, {30,14}, {45,22}, {41,55}, 
+    {22,23}, {33,4}, {17,67}, {28,50}, {47,56}, {47,61}, {47,59}, {47,54}, 
+    {33,14}, {47,57}, {47,60}, {47,58}, {41,60}, {47,55}, {30,13}, {42,82}, 
+    {47,62}, {47,63}, {28,3}, {47,76}, {38,47}, {40,21}, {47,71}, {41,79}, 
+    {17,21}, {47,75}, {47,69}, {47,78}, {32,49}, {23,35}, {38,59}, {63,38}, 
+    {47,77}, {36,60}, {47,66}, {23,85}, {23,84}, {47,64}, {27,57}, {47,72}, 
+    {41,78}, {34,44}, {47,68}, {22,80}, {47,65}, {47,73}, {47,67}, {45,48}, 
+    {47,74}, {46,32}, {21,69}, {22,79}, {47,79}, {47,80}, {47,84}, {15,45}, 
+    {41,47}, {47,83}, {47,82}, {47,86}, {47,85}, {35,67}, {22,81}, {47,87}, 
+    {27,36}, {33,5}, {35,68}, {21,85}, {47,88}, {20,21}, {47,89}, {47,91}, 
+    {42,20}, {22,69}, {26,16}, {39,86}, {47,90}, {25,36}, {44,34}, {47,93}, 
+    {48,2}, {47,92}, {25,35}, {28,92}, {22,24}, {48,3}, {21,46}, {48,0}, 
+    {48,1}, {37,14}, {32,91}, {21,2}, {42,44}, {48,4}, {45,28}, {48,5}, 
+    {48,8}, {48,6}, {32,45}, {48,7}, {48,9}, {48,11}, {48,10}, {41,39}, 
+    {20,22}, {48,13}, {48,14}, {17,14}, {48,12}, {27,83}, {48,17}, {48,16}, 
+    {48,15}, {47,53}, {48,18}, {28,93}, {48,19}, {44,4}, {43,56}, {48,21}, 
+    {48,20}, {48,23}, {48,22}, {48,24}, {48,25}, {15,83}, {23,20}, {22,26}, 
+    {28,27}, {34,90}, {21,3}, {31,71}, {23,86}, {24,77}, {48,27}, {43,39}, 
+    {36,37}, {26,88}, {48,26}, {48,28}, {36,61}, {18,84}, {48,29}, {37,93}, 
+    {32,19}, {48,31}, {48,32}, {39,11}, {23,87}, {46,26}, {48,33}, {21,5}, 
+    {41,27}, {33,21}, {21,80}, {36,20}, {22,82}, {48,34}, {48,35}, {37,65}, 
+    {16,62}, {48,38}, {25,92}, {48,37}, {25,37}, {48,39}, {69,77}, {48,40}, 
+    {42,32}, {48,41}, {48,42}, {48,43}, {29,72}, {27,43}, {19,6}, {48,46}, 
+    {48,44}, {43,28}, {48,45}, {40,57}, {48,47}, {48,48}, {48,49}, {36,62}, 
+    {48,53}, {48,51}, {48,52}, {48,50}, {25,66}, {48,54}, {43,73}, {45,67}, 
+    {48,55}, {31,7}, {48,56}, {28,57}, {48,57}, {34,91}, {45,30}, {36,63}, 
+    {49,36}, {48,58}, {83,4}, {21,36}, {48,59}, {42,61}, {28,71}, {33,91}, 
+    {48,61}, {37,67}, {48,62}, {48,63}, {18,13}, {48,64}, {21,6}, {37,43}, 
+    {16,89}, {28,47}, {39,0}, {48,65}, {36,64}, {30,46}, {48,66}, {41,11}, 
+    {31,57}, {19,1}, {19,8}, {48,67}, {48,69}, {22,25}, {48,68}, {45,82}, 
+    {28,72}, {39,28}, {41,43}, {48,70}, {44,87}, {48,71}, {48,72}, {36,93}, 
+    {48,73}, {31,8}, {25,93}, {22,83}, {48,74}, {26,40}, {24,78}, {35,69}, 
+    {48,76}, {33,6}, {25,78}, {48,77}, {48,78}, {32,15}, {48,75}, {48,80}, 
+    {42,21}, {24,67}, {48,79}, {22,84}, {25,61}, {38,76}, {48,83}, {48,81}, 
+    {40,90}, {29,73}, {48,90}, {18,67}, {48,84}, {48,82}, {32,46}, {48,86}, 
+    {48,85}, {18,35}, {22,63}, {48,91}, {45,12}, {48,87}, {48,92}, {48,89}, 
+    {48,88}, {45,46}, {23,88}, {17,34}, {45,83}, {28,84}, {36,55}, {24,68}, 
+    {49,1}, {49,2}, {45,68}, {46,10}, {49,4}, {23,89}, {49,3}, {18,14}, 
+    {49,5}, {42,53}, {35,27}, {44,5}, {41,56}, {49,6}, {79,52}, {37,15}, 
+    {49,7}, {19,9}, {43,18}, {29,0}, {49,8}, {41,70}, {49,12}, {31,9}, 
+    {49,9}, {21,47}, {49,10}, {19,10}, {22,13}, {49,13}, {49,14}, {49,15}, 
+    {49,16}, {27,58}, {23,90}, {43,61}, {43,71}, {37,86}, {41,80}, {49,17}, 
+    {49,18}, {49,20}, {49,22}, {49,21}, {49,23}, {17,28}, {42,43}, {25,91}, 
+    {49,24}, {32,56}, {29,1}, {21,8}, {49,25}, {39,58}, {49,26}, {49,27}, 
+    {49,28}, {49,29}, {40,3}, {21,71}, {15,68}, {37,30}, {49,30}, {28,28}, 
+    {31,72}, {49,32}, {49,31}, {29,2}, {23,64}, {49,34}, {39,29}, {49,35}, 
+    {39,59}, {33,19}, {33,77}, {21,7}, {37,77}, {34,16}, {38,77}, {42,45}, 
+    {49,37}, {31,73}, {22,20}, {49,38}, {49,39}, {16,11}, {15,84}, {19,76}, 
+    {33,7}, {20,48}, {44,80}, {49,42}, {17,22}, {49,41}, {21,9}, {49,43}, 
+    {43,80}, {49,44}, {45,49}, {23,91}, {23,21}, {49,45}, {49,47}, {49,46}, 
+    {30,62}, {16,24}, {16,61}, {49,48}, {49,49}, {23,22}, {49,50}, {20,77}, 
+    {26,17}, {49,51}, {42,83}, {25,20}, {20,57}, {44,6}, {32,47}, {39,30}, 
+    {27,92}, {28,38}, {27,71}, {27,84}, {28,85}, {39,31}, {49,54}, {16,34}, 
+    {32,48}, {23,92}, {23,36}, {21,70}, {49,58}, {34,0}, {33,93}, {21,10}, 
+    {29,3}, {49,59}, {49,57}, {17,35}, {33,69}, {27,23}, {26,42}, {16,5}, 
+    {18,79}, {24,69}, {26,41}, {49,60}, {49,61}, {20,40}, {18,37}, {24,70}, 
+    {20,39}, {35,62}, {16,4}, {37,16}, {43,29}, {24,0}, {44,88}, {36,38}, 
+    {23,93}, {22,14}, {49,70}, {21,66}, {42,41}, {39,60}, {49,69}, {19,61}, 
+    {49,64}, {49,65}, {49,67}, {49,68}, {20,58}, {30,64}, {41,12}, {49,66}, 
+    {49,62}, {23,66}, {49,63}, {46,3}, {41,81}, {35,71}, {23,65}, {24,79}, 
+    {49,71}, {37,60}, {49,75}, {27,93}, {27,85}, {49,78}, {49,76}, {43,2}, 
+    {49,73}, {49,82}, {49,77}, {49,80}, {23,37}, {43,30}, {49,81}, {49,83}, 
+    {49,85}, {25,79}, {46,33}, {49,74}, {49,72}, {49,84}, {49,79}, {49,87}, 
+    {50,2}, {49,89}, {49,93}, {50,0}, {49,90}, {50,29}, {25,72}, {18,16}, 
+    {49,88}, {50,4}, {15,85}, {50,3}, {15,4}, {40,41}, {50,1}, {49,91}, 
+    {49,86}, {49,92}, {25,39}, {50,5}, {15,86}, {50,14}, {50,6}, {50,7}, 
+    {29,4}, {42,72}, {50,12}, {50,11}, {36,14}, {50,13}, {50,10}, {16,19}, 
+    {25,21}, {30,15}, {50,8}, {36,65}, {50,9}, {15,1}, {50,19}, {44,2}, 
+    {29,6}, {50,25}, {50,24}, {50,15}, {33,34}, {50,16}, {33,78}, {50,21}, 
+    {29,5}, {50,18}, {43,67}, {22,27}, {50,22}, {50,23}, {50,20}, {50,26}, 
+    {50,17}, {50,32}, {50,37}, {50,33}, {50,28}, {50,38}, {32,16}, {50,40}, 
+    {24,1}, {50,30}, {34,92}, {50,34}, {50,27}, {19,12}, {19,77}, {18,68}, 
+    {50,35}, {50,31}, {22,85}, {50,41}, {50,39}, {32,50}, {20,41}, {21,11}, 
+    {50,36}, {21,83}, {16,35}, {50,45}, {50,43}, {51,6}, {50,48}, {50,42}, 
+    {50,46}, {50,44}, {26,43}, {50,47}, {50,50}, {50,55}, {50,53}, {50,52}, 
+    {34,17}, {17,36}, {50,49}, {50,51}, {29,7}, {16,18}, {50,54}, {17,61}, 
+    {50,65}, {29,91}, {50,61}, {50,59}, {50,60}, {50,62}, {16,28}, {32,24}, 
+    {50,56}, {50,57}, {18,89}, {50,64}, {19,78}, {50,67}, {50,63}, {50,66}, 
+    {41,13}, {37,52}, {39,23}, {50,69}, {50,68}, {18,36}, {50,70}, {50,73}, 
+    {50,72}, {50,71}, {38,24}, {50,74}, {50,75}, {50,77}, {50,76}, {50,79}, 
+    {50,82}, {50,80}, {50,78}, {50,81}, {50,83}, {50,84}, {50,85}, {50,86}, 
+    {50,87}, {48,36}, {27,91}, {26,44}, {17,82}, {15,87}, {34,35}, {50,88}, 
+    {25,3}, {15,46}, {30,61}, {50,89}, {23,38}, {24,80}, {50,91}, {50,90}, 
+    {41,63}, {50,92}, {51,0}, {50,93}, {51,1}, {51,2}, {22,86}, {16,63}, 
+    {51,3}, {51,5}, {51,4}, {51,7}, {36,57}, {51,8}, {15,20}, {25,62}, 
+    {22,28}, {34,46}, {51,9}, {51,10}, {51,12}, {51,13}, {25,67}, {21,48}, 
+    {42,22}, {51,11}, {51,14}, {25,32}, {24,2}, {51,18}, {25,4}, {34,18}, 
+    {51,15}, {35,57}, {51,19}, {30,65}, {51,17}, {51,20}, {22,30}, {51,21}, 
+    {51,22}, {24,3}, {18,31}, {51,24}, {51,25}, {51,26}, {51,23}, {51,16}, 
+    {51,27}, {51,28}, {42,67}, {29,74}, {51,30}, {51,31}, {51,29}, {51,33}, 
+    {38,23}, {15,71}, {40,53}, {51,34}, {29,92}, {27,24}, {38,60}, {19,79}, 
+    {25,74}, {42,56}, {37,17}, {22,87}, {33,46}, {51,32}, {51,35}, {33,35}, 
+    {51,36}, {51,37}, {51,39}, {35,72}, {19,13}, {83,0}, {16,64}, {41,82}, 
+    {29,75}, {36,39}, {25,69}, {51,45}, {41,28}, {45,60}, {17,83}, {51,41}, 
+    {32,25}, {51,44}, {36,66}, {36,40}, {36,67}, {39,24}, {35,44}, {25,40}, 
+    {51,40}, {16,85}, {36,21}, {51,42}, {51,38}, {30,47}, {51,46}, {28,45}, 
+    {21,12}, {51,47}, {41,71}, {32,92}, {35,37}, {51,49}, {42,46}, {51,50}, 
+    {51,55}, {41,14}, {51,54}, {51,48}, {51,51}, {51,53}, {25,5}, {41,40}, 
+    {51,56}, {34,36}, {17,84}, {29,76}, {51,58}, {51,57}, {24,71}, {51,59}, 
+    {51,61}, {51,60}, {51,63}, {51,52}, {51,65}, {51,64}, {51,62}, {26,45}, 
+    {30,48}, {32,51}, {51,66}, {31,27}, {15,76}, {38,67}, {35,58}, {51,68}, 
+    {51,67}, {51,69}, {51,70}, {51,71}, {51,72}, {41,48}, {51,73}, {17,37}, 
+    {51,74}, {44,27}, {18,15}, {49,40}, {28,39}, {33,30}, {51,75}, {43,74}, 
+    {43,19}, {51,77}, {33,70}, {36,22}, {33,31}, {40,54}, {51,78}, {51,79}, 
+    {16,90}, {27,25}, {51,80}, {15,47}, {51,81}, {51,82}, {16,65}, {19,80}, 
+    {37,63}, {41,83}, {51,86}, {32,52}, {51,85}, {22,31}, {42,58}, {51,84}, 
+    {36,68}, {51,88}, {51,87}, {51,90}, {51,89}, {16,91}, {51,91}, {29,8}, 
+    {51,93}, {34,4}, {51,92}, {41,18}, {28,86}, {36,58}, {52,0}, {24,4}, 
+    {52,1}, {38,0}, {39,61}, {43,48}, {38,4}, {52,10}, {20,23}, {44,36}, 
+    {43,14}, {53,11}, {52,2}, {52,5}, {33,36}, {42,23}, {36,41}, {52,6}, 
+    {42,68}, {25,41}, {29,9}, {52,7}, {26,47}, {26,46}, {15,24}, {23,39}, 
+    {31,10}, {15,48}, {52,11}, {52,12}, {52,9}, {16,23}, {19,14}, {52,8}, 
+    {43,36}, {40,16}, {15,7}, {15,88}, {26,48}, {15,49}, {15,2}, {52,17}, 
+    {52,15}, {43,27}, {52,18}, {52,16}, {52,14}, {30,16}, {52,13}, {41,57}, 
+    {23,67}, {52,22}, {52,23}, {29,10}, {52,19}, {46,11}, {38,43}, {52,21}, 
+    {25,6}, {52,24}, {40,55}, {52,25}, {52,20}, {43,26}, {38,61}, {52,26}, 
+    {40,17}, {52,27}, {52,31}, {52,28}, {17,38}, {52,30}, {27,26}, {52,29}, 
+    {22,88}, {52,43}, {52,36}, {52,33}, {34,67}, {52,32}, {52,34}, {52,35}, 
+    {52,37}, {52,38}, {19,81}, {52,40}, {52,39}, {52,41}, {29,77}, {52,44}, 
+    {35,59}, {16,36}, {52,42}, {52,45}, {52,46}, {52,49}, {52,47}, {52,48}, 
+    {26,49}, {52,50}, {24,5}, {52,51}, {26,89}, {33,23}, {52,52}, {52,53}, 
+    {26,57}, {24,6}, {43,49}, {20,7}, {23,40}, {52,54}, {18,55}, {52,55}, 
+    {33,24}, {52,56}, {53,2}, {52,57}, {52,58}, {52,59}, {52,61}, {52,62}, 
+    {52,63}, {33,79}, {16,6}, {27,72}, {15,33}, {32,54}, {19,15}, {27,20}, 
+    {24,7}, {36,69}, {28,0}, {19,16}, {34,71}, {35,73}, {15,23}, {20,24}, 
+    {41,84}, {27,33}, {20,49}, {31,74}, {27,27}, {44,7}, {52,64}, {20,59}, 
+    {25,42}, {18,17}, {16,66}, {29,11}, {17,39}, {52,65}, {44,37}, {28,40}, 
+    {27,67}, {52,66}, {19,82}, {37,49}, {43,8}, {52,67}, {52,68}, {40,56}, 
+    {52,70}, {19,7}, {21,86}, {52,69}, {19,17}, {30,17}, {52,74}, {26,0}, 
+    {17,40}, {52,73}, {52,71}, {52,75}, {52,72}, {38,10}, {59,44}, {30,18}, 
+    {52,76}, {45,31}, {52,77}, {52,79}, {34,93}, {52,78}, {31,2}, {26,90}, 
+    {33,47}, {27,86}, {40,84}, {31,75}, {27,44}, {52,80}, {29,12}, {52,81}, 
+    {52,82}, {15,50}, {33,25}, {30,49}, {52,83}, {37,18}, {29,13}, {29,14}, 
+    {52,84}, {31,76}, {29,15}, {52,85}, {52,86}, {43,63}, {52,87}, {21,37}, 
+    {28,1}, {52,88}, {52,89}, {27,59}, {30,11}, {37,83}, {30,51}, {39,87}, 
+    {38,1}, {21,40}, {52,90}, {20,78}, {52,91}, {21,93}, {37,46}, {17,15}, 
+    {26,50}, {52,92}, {53,1}, {53,0}, {21,92}, {52,93}, {36,23}, {33,15}, 
+    {36,42}, {27,39}, {32,55}, {44,89}, {53,3}, {53,4}, {37,53}, {26,18}, 
+    {53,6}, {53,7}, {53,8}, {19,83}, {53,9}, {53,10}, {17,11}, {32,26}, 
+    {19,67}, {53,12}, {43,7}, {33,49}, {18,56}, {53,14}, {53,16}, {19,62}, 
+    {53,13}, {53,15}, {53,18}, {53,17}, {53,19}, {53,20}, {37,28}, {21,13}, 
+    {17,68}, {53,21}, {53,26}, {53,24}, {41,86}, {41,85}, {36,70}, {53,23}, 
+    {28,51}, {53,22}, {30,81}, {53,27}, {25,73}, {53,33}, {53,34}, {53,28}, 
+    {18,18}, {53,29}, {53,38}, {53,37}, {53,36}, {53,32}, {53,31}, {53,35}, 
+    {41,87}, {53,42}, {53,39}, {53,41}, {44,81}, {53,40}, {53,30}, {30,82}, 
+    {53,43}, {25,22}, {53,44}, {53,45}, {53,48}, {53,47}, {53,46}, {36,71}, 
+    {53,25}, {53,54}, {53,50}, {53,49}, {53,51}, {53,52}, {53,55}, {45,69}, 
+    {53,56}, {53,53}, {53,57}, {19,63}, {53,58}, {53,60}, {53,59}, {53,61}, 
+    {53,62}, {31,77}, {28,2}, {28,67}, {32,66}, {24,8}, {25,23}, {24,9}, 
+    {20,79}, {53,63}, {25,24}, {23,41}, {53,64}, {43,5}, {38,34}, {53,65}, 
+    {24,10}, {19,11}, {34,6}, {21,49}, {26,51}, {40,58}, {39,32}, {53,66}, 
+    {19,84}, {53,69}, {35,0}, {53,68}, {53,67}, {53,70}, {35,74}, {30,66}, 
+    {26,52}, {31,41}, {33,50}, {20,1}, {35,1}, {53,71}, {53,72}, {29,78}, 
+    {42,24}, {53,75}, {53,74}, {53,73}, {40,92}, {53,82}, {42,57}, {53,76}, 
+    {53,78}, {42,74}, {53,77}, {53,79}, {39,7}, {53,80}, {41,29}, {53,81}, 
+    {19,18}, {41,30}, {38,14}, {53,83}, {53,84}, {24,11}, {19,19}, {53,85}, 
+    {23,23}, {44,35}, {44,8}, {19,85}, {53,87}, {35,2}, {24,12}, {29,16}, 
+    {39,62}, {29,17}, {28,87}, {35,75}, {41,88}, {36,24}, {24,13}, {40,59}, 
+    {53,88}, {36,56}, {25,33}, {23,42}, {35,76}, {15,34}, {28,77}, {24,14}, 
+    {44,38}, {53,89}, {53,90}, {38,48}, {53,91}, {45,86}, {46,12}, {53,93}, 
+    {53,92}, {18,38}, {54,0}, {54,3}, {54,4}, {54,2}, {40,31}, {29,18}, 
+    {54,6}, {54,5}, {54,1}, {54,7}, {54,8}, {54,9}, {54,12}, {54,10}, {54,11}, 
+    {54,13}, {16,67}, {35,77}, {54,14}, {22,89}, {17,85}, {38,21}, {54,15}, 
+    {37,90}, {41,58}, {54,16}, {46,13}, {54,17}, {41,31}, {54,20}, {47,0}, 
+    {47,16}, {27,15}, {37,84}, {54,21}, {20,60}, {35,3}, {15,89}, {54,22}, 
+    {41,5}, {24,15}, {34,47}, {35,78}, {43,78}, {23,24}, {23,43}, {54,23}, 
+    {54,24}, {54,30}, {27,68}, {35,4}, {21,14}, {54,25}, {40,10}, {34,37}, 
+    {54,26}, {54,27}, {21,15}, {54,28}, {54,29}, {54,31}, {36,85}, {54,32}, 
+    {54,33}, {54,34}, {54,19}, {54,18}, {54,35}, {22,32}, {40,6}, {25,43}, 
+    {40,22}, {35,5}, {40,42}, {54,36}, {29,19}, {16,37}, {54,37}, {54,38}, 
+    {43,81}, {39,63}, {54,41}, {16,92}, {31,11}, {54,40}, {54,39}, {22,33}, 
+    {33,51}, {54,45}, {54,43}, {54,42}, {45,6}, {23,68}, {28,88}, {54,44}, 
+    {36,43}, {28,29}, {37,31}, {54,48}, {54,47}, {54,46}, {54,49}, {23,69}, 
+    {54,50}, {40,91}, {28,58}, {54,51}, {39,88}, {37,32}, {35,6}, {36,15}, 
+    {54,52}, {20,10}, {30,19}, {40,11}, {19,86}, {38,5}, {54,53}, {26,53}, 
+    {42,25}, {42,26}, {16,93}, {54,58}, {34,72}, {54,55}, {17,86}, {55,12}, 
+    {54,57}, {38,15}, {54,56}, {54,54}, {24,89}, {54,60}, {54,66}, {54,72}, 
+    {54,64}, {36,59}, {54,69}, {40,60}, {54,63}, {54,68}, {45,70}, {26,54}, 
+    {33,52}, {54,61}, {20,61}, {54,71}, {31,12}, {16,68}, {54,65}, {17,87}, 
+    {54,70}, {21,16}, {54,67}, {54,73}, {54,75}, {54,85}, {54,83}, {54,80}, 
+    {54,79}, {45,87}, {54,81}, {21,17}, {24,16}, {28,89}, {54,88}, {54,74}, 
+    {54,78}, {54,62}, {17,89}, {54,82}, {54,84}, {34,48}, {25,7}, {17,23}, 
+    {54,76}, {54,87}, {54,86}, {21,18}, {33,8}, {18,69}, {22,34}, {54,77}, 
+    {54,89}, {54,92}, {55,0}, {27,28}, {55,6}, {35,79}, {54,90}, {55,4}, 
+    {17,88}, {55,2}, {55,3}, {54,93}, {55,1}, {23,70}, {44,9}, {19,20}, 
+    {16,56}, {55,5}, {38,25}, {15,12}, {39,64}, {54,59}, {55,11}, {55,15}, 
+    {43,68}, {55,8}, {36,72}, {55,13}, {29,79}, {55,14}, {37,54}, {46,38}, 
+    {55,10}, {55,16}, {24,90}, {31,42}, {15,51}, {55,9}, {55,7}, {32,57}, 
+    {54,91}, {26,19}, {33,37}, {55,28}, {32,58}, {55,23}, {55,20}, {55,21}, 
+    {27,69}, {55,24}, {55,27}, {55,22}, {28,4}, {55,25}, {55,19}, {43,91}, 
+    {43,90}, {55,29}, {55,30}, {15,52}, {55,18}, {21,81}, {15,5}, {19,21}, 
+    {55,26}, {55,34}, {55,33}, {55,38}, {55,39}, {55,37}, {55,40}, {55,32}, 
+    {55,36}, {55,41}, {55,42}, {55,31}, {26,91}, {55,35}, {33,53}, {24,17}, 
+    {55,17}, {30,20}, {55,55}, {41,72}, {55,45}, {55,46}, {55,47}, {55,54}, 
+    {55,53}, {42,92}, {19,22}, {55,51}, {22,36}, {18,19}, {55,48}, {45,23}, 
+    {55,50}, {15,53}, {55,52}, {55,43}, {55,49}, {55,56}, {22,35}, {55,44}, 
+    {44,60}, {44,10}, {55,59}, {55,63}, {32,93}, {45,88}, {55,64}, {55,61}, 
+    {55,58}, {55,57}, {55,62}, {41,15}, {37,19}, {22,37}, {55,65}, {55,60}, 
+    {55,66}, {22,90}, {17,16}, {55,74}, {19,23}, {55,72}, {55,73}, {25,8}, 
+    {55,71}, {55,69}, {55,68}, {55,75}, {55,67}, {55,77}, {17,90}, {55,79}, 
+    {55,78}, {35,7}, {55,82}, {55,80}, {55,70}, {22,91}, {55,81}, {55,85}, 
+    {55,84}, {55,86}, {55,83}, {55,87}, {55,88}, {55,89}, {41,73}, {55,91}, 
+    {55,90}, {28,30}, {31,13}, {17,69}, {17,91}, {55,92}, {15,30}, {31,43}, 
+    {55,93}, {75,34}, {56,0}, {22,64}, {56,1}, {31,78}, {56,2}, {56,3}, 
+    {20,25}, {56,4}, {56,5}, {56,6}, {33,54}, {23,44}, {43,64}, {42,27}, 
+    {28,73}, {56,7}, {31,79}, {77,28}, {39,65}, {27,73}, {25,44}, {56,8}, 
+    {33,38}, {41,6}, {33,80}, {56,11}, {56,9}, {56,12}, {56,10}, {56,13}, 
+    {41,16}, {15,22}, {40,61}, {39,66}, {56,14}, {56,17}, {29,20}, {20,26}, 
+    {56,15}, {56,22}, {29,21}, {56,16}, {38,35}, {44,61}, {56,18}, {56,19}, 
+    {56,23}, {36,73}, {56,20}, {24,18}, {31,61}, {56,37}, {39,19}, {33,81}, 
+    {39,67}, {57,12}, {41,89}, {35,80}, {42,84}, {56,26}, {17,0}, {34,73}, 
+    {56,35}, {34,19}, {56,29}, {56,36}, {56,31}, {56,38}, {56,34}, {56,33}, 
+    {38,78}, {56,27}, {17,92}, {56,25}, {20,80}, {33,82}, {56,21}, {56,24}, 
+    {24,19}, {31,58}, {29,22}, {56,32}, {38,49}, {20,81}, {18,39}, {18,70}, 
+    {30,0}, {56,40}, {56,45}, {56,41}, {22,92}, {56,46}, {26,1}, {24,72}, 
+    {28,5}, {56,28}, {26,92}, {56,43}, {26,55}, {56,44}, {15,35}, {56,39}, 
+    {35,8}, {20,82}, {21,19}, {56,42}, {15,6}, {25,34}, {30,21}, {35,81}, 
+    {39,51}, {56,48}, {32,61}, {33,9}, {26,10}, {56,49}, {56,51}, {56,47}, 
+    {41,64}, {35,28}, {32,59}, {41,90}, {27,45}, {56,63}, {56,62}, {30,87}, 
+    {22,93}, {56,56}, {29,24}, {37,71}, {38,16}, {56,54}, {32,60}, {27,87}, 
+    {56,59}, {29,23}, {56,53}, {56,58}, {38,50}, {56,52}, {22,0}, {18,60}, 
+    {56,60}, {45,10}, {25,45}, {34,20}, {56,57}, {31,59}, {24,20}, {30,67}, 
+    {16,69}, {32,27}, {56,55}, {20,36}, {22,38}, {35,46}, {56,61}, {32,62}, 
+    {56,64}, {56,66}, {33,22}, {56,72}, {56,67}, {56,69}, {40,32}, {35,82}, 
+    {56,70}, {44,11}, {44,39}, {19,24}, {15,13}, {56,68}, {56,65}, {19,87}, 
+    {16,70}, {56,71}, {44,40}, {56,75}, {33,26}, {56,82}, {56,76}, {56,73}, 
+    {56,80}, {56,50}, {56,77}, {56,81}, {39,33}, {36,74}, {56,74}, {56,78}, 
+    {22,39}, {25,80}, {31,60}, {56,86}, {36,5}, {56,83}, {42,63}, {56,84}, 
+    {56,85}, {43,45}, {31,1}, {22,65}, {56,92}, {26,20}, {56,89}, {56,88}, 
+    {38,17}, {37,20}, {36,16}, {56,90}, {56,91}, {40,78}, {38,36}, {26,2}, 
+    {31,80}, {42,47}, {18,40}, {57,4}, {56,93}, {44,41}, {57,6}, {57,2}, 
+    {57,3}, {32,63}, {57,1}, {56,30}, {57,5}, {57,0}, {57,10}, {57,11}, 
+    {36,6}, {57,13}, {26,3}, {57,8}, {20,27}, {57,14}, {57,7}, {57,18}, 
+    {57,17}, {57,16}, {57,19}, {57,21}, {29,80}, {57,20}, {57,24}, {57,22}, 
+    {57,23}, {56,79}, {57,26}, {57,25}, {56,87}, {57,27}, {57,15}, {26,56}, 
+    {57,28}, {57,29}, {57,31}, {57,30}, {57,32}, {17,93}, {24,21}, {41,91}, 
+    {31,14}, {23,45}, {57,34}, {57,37}, {40,49}, {20,62}, {57,36}, {57,35}, 
+    {38,51}, {57,38}, {21,20}, {57,40}, {57,39}, {19,25}, {26,21}, {37,55}, 
+    {22,40}, {30,83}, {57,41}, {31,15}, {36,7}, {40,62}, {57,42}, {57,43}, 
+    {57,44}, {41,23}, {52,60}, {31,37}, {40,43}, {25,55}, {39,68}, {39,34}, 
+    {36,44}, {45,32}, {57,46}, {27,47}, {57,47}, {15,21}, {21,51}, {31,44}, 
+    {40,63}, {57,48}, {26,33}, {34,38}, {26,58}, {30,22}, {57,49}, {41,92}, 
+    {16,86}, {26,59}, {57,52}, {57,50}, {57,53}, {45,24}, {57,51}, {31,90}, 
+    {57,54}, {33,17}, {57,55}, {19,89}, {57,57}, {57,56}, {57,58}, {57,59}, 
+    {19,90}, {37,91}, {34,21}, {20,75}, {26,60}, {32,64}, {28,59}, {15,15}, 
+    {57,60}, {17,1}, {57,64}, {24,22}, {57,63}, {25,10}, {29,25}, {57,62}, 
+    {29,26}, {43,31}, {25,9}, {15,54}, {31,45}, {57,69}, {31,16}, {16,38}, 
+    {28,52}, {42,69}, {25,81}, {29,27}, {31,6}, {57,68}, {57,66}, {57,67}, 
+    {34,74}, {58,5}, {57,73}, {26,93}, {24,23}, {57,71}, {57,72}, {30,23}, 
+    {57,70}, {26,14}, {57,75}, {57,74}, {57,79}, {57,80}, {57,76}, {18,1}, 
+    {57,77}, {57,78}, {39,52}, {40,64}, {22,41}, {57,81}, {31,17}, {29,28}, 
+    {34,49}, {21,38}, {57,82}, {57,86}, {17,42}, {57,83}, {57,85}, {57,84}, 
+    {28,74}, {34,39}, {15,36}, {57,87}, {57,88}, {35,9}, {45,80}, {26,34}, 
+    {41,74}, {42,28}, {58,1}, {57,90}, {57,93}, {57,92}, {57,89}, {58,0}, 
+    {37,61}, {57,91}, {58,2}, {28,75}, {58,3}, {44,42}, {38,87}, {58,4}, 
+    {58,6}, {58,7}, {58,8}, {21,41}, {16,39}, {24,24}, {58,9}, {58,10}, 
+    {28,80}, {32,65}, {49,55}, {32,29}, {32,28}, {33,55}, {25,38}, {47,81}, 
+    {22,77}, {44,12}, {41,93}, {40,93}, {58,11}, {25,82}, {35,30}, {58,12}, 
+    {46,14}, {42,29}, {35,10}, {58,13}, {19,91}, {58,14}, {58,15}, {43,57}, 
+    {43,3}, {42,85}, {42,59}, {26,4}, {58,17}, {27,74}, {42,48}, {58,19}, 
+    {58,22}, {58,21}, {19,88}, {20,63}, {58,18}, {58,20}, {58,23}, {30,88}, 
+    {44,90}, {15,40}, {25,63}, {33,27}, {27,60}, {29,82}, {58,26}, {36,45}, 
+    {58,24}, {33,10}, {58,25}, {29,81}, {43,60}, {58,27}, {58,28}, {44,71}, 
+    {58,33}, {24,25}, {38,52}, {58,30}, {36,75}, {57,61}, {57,65}, {20,46}, 
+    {38,38}, {58,32}, {29,29}, {39,35}, {58,38}, {39,89}, {58,29}, {58,35}, 
+    {58,34}, {31,46}, {42,76}, {45,50}, {42,70}, {17,43}, {26,61}, {46,39}, 
+    {58,37}, {30,84}, {58,36}, {58,31}, {23,46}, {58,43}, {58,41}, {17,44}, 
+    {58,39}, {58,45}, {58,51}, {33,39}, {41,32}, {58,53}, {40,1}, {58,52}, 
+    {38,79}, {42,30}, {19,26}, {31,86}, {28,31}, {35,50}, {44,13}, {58,48}, 
+    {58,47}, {58,49}, {58,46}, {58,54}, {58,44}, {58,42}, {58,50}, {58,40}, 
+    {34,75}, {43,87}, {27,37}, {25,83}, {25,25}, {42,78}, {18,32}, {35,45}, 
+    {37,41}, {16,40}, {31,81}, {31,19}, {22,9}, {58,56}, {24,26}, {18,91}, 
+    {58,58}, {18,83}, {58,64}, {58,61}, {31,82}, {18,42}, {25,11}, {18,41}, 
+    {25,46}, {58,59}, {22,68}, {22,42}, {36,76}, {58,57}, {15,37}, {58,60}, 
+    {58,62}, {21,44}, {22,11}, {19,27}, {20,42}, {58,65}, {25,88}, {42,80}, 
+    {26,22}, {58,66}, {40,15}, {58,78}, {17,18}, {58,67}, {58,84}, {58,68}, 
+    {45,33}, {58,75}, {38,62}, {58,83}, {58,70}, {15,19}, {58,72}, {24,27}, 
+    {58,74}, {58,73}, {58,69}, {58,80}, {29,30}, {51,76}, {23,71}, {44,91}, 
+    {58,71}, {35,83}, {18,2}, {25,12}, {58,63}, {58,79}, {18,64}, {58,77}, 
+    {58,81}, {36,77}, {19,93}, {59,17}, {43,40}, {58,86}, {19,92}, {58,93}, 
+    {42,31}, {59,0}, {59,2}, {59,6}, {58,88}, {34,9}, {36,78}, {59,10}, 
+    {58,91}, {59,7}, {59,1}, {30,24}, {59,11}, {31,18}, {59,9}, {19,28}, 
+    {46,47}, {58,85}, {59,5}, {15,55}, {58,87}, {43,25}, {58,92}, {30,1}, 
+    {35,38}, {58,82}, {59,4}, {30,89}, {59,14}, {18,80}, {23,0}, {59,16}, 
+    {58,89}, {59,15}, {59,8}, {58,90}, {59,12}, {59,13}, {59,30}, {37,45}, 
+    {59,3}, {59,26}, {59,28}, {35,55}, {44,43}, {40,85}, {59,23}, {33,41}, 
+    {59,29}, {32,30}, {59,20}, {59,33}, {59,32}, {37,78}, {59,31}, {37,73}, 
+    {59,35}, {59,22}, {21,39}, {59,25}, {28,60}, {38,63}, {59,27}, {21,42}, 
+    {59,19}, {59,21}, {59,18}, {46,15}, {18,57}, {59,24}, {59,34}, {18,20}, 
+    {25,70}, {16,60}, {59,51}, {46,16}, {59,54}, {30,25}, {59,53}, {59,52}, 
+    {59,49}, {59,37}, {59,66}, {59,36}, {59,55}, {59,47}, {59,42}, {59,39}, 
+    {59,40}, {59,48}, {83,1}, {59,45}, {24,28}, {35,39}, {32,67}, {59,43}, 
+    {59,38}, {59,41}, {44,44}, {42,73}, {59,46}, {59,56}, {59,64}, {59,57}, 
+    {59,70}, {59,68}, {59,63}, {59,62}, {35,47}, {32,68}, {59,60}, {59,58}, 
+    {59,65}, {59,71}, {39,84}, {59,77}, {59,72}, {59,75}, {59,69}, {34,83}, 
+    {40,23}, {59,59}, {59,67}, {29,31}, {43,46}, {59,87}, {59,74}, {23,1}, 
+    {17,2}, {18,62}, {59,50}, {29,32}, {59,79}, {59,86}, {27,88}, {18,81}, 
+    {34,13}, {59,76}, {59,81}, {59,85}, {21,21}, {20,43}, {59,83}, {20,0}, 
+    {37,42}, {59,82}, {59,84}, {59,78}, {59,80}, {18,63}, {34,40}, {59,91}, 
+    {59,89}, {23,72}, {59,88}, {60,0}, {58,55}, {59,90}, {59,92}, {59,93}, 
+    {60,11}, {60,7}, {58,76}, {60,6}, {60,5}, {60,2}, {59,73}, {60,4}, 
+    {60,3}, {60,9}, {46,5}, {60,12}, {21,90}, {60,8}, {60,10}, {39,6}, 
+    {60,13}, {60,17}, {60,14}, {44,82}, {60,15}, {59,61}, {60,18}, {60,19}, 
+    {16,20}, {60,21}, {22,70}, {27,0}, {21,52}, {17,3}, {44,62}, {60,23}, 
+    {60,22}, {60,25}, {20,28}, {21,53}, {19,29}, {60,28}, {60,27}, {60,29}, 
+    {17,45}, {34,22}, {60,30}, {19,30}, {60,32}, {60,31}, {60,33}, {60,34}, 
+    {60,35}, {26,62}, {31,20}, {25,0}, {40,79}, {41,65}, {46,35}, {26,84}, 
+    {25,47}, {45,81}, {60,36}, {60,37}, {26,63}, {60,38}, {60,39}, {60,41}, 
+    {60,40}, {42,55}, {28,61}, {27,75}, {26,35}, {60,42}, {60,44}, {30,2}, 
+    {60,43}, {60,45}, {60,46}, {60,47}, {60,48}, {60,49}, {60,51}, {60,50}, 
+    {60,52}, {17,4}, {34,41}, {60,53}, {26,5}, {18,43}, {60,54}, {36,33}, 
+    {51,43}, {20,2}, {60,55}, {60,56}, {41,75}, {42,71}, {37,38}, {60,57}, 
+    {39,69}, {39,90}, {43,50}, {60,58}, {60,60}, {60,59}, {60,62}, {60,61}, 
+    {60,64}, {26,64}, {43,16}, {60,65}, {60,66}, {20,3}, {60,67}, {60,69}, 
+    {60,68}, {30,68}, {40,24}, {16,41}, {39,36}, {35,84}, {28,32}, {20,64}, 
+    {39,37}, {27,13}, {60,71}, {19,31}, {16,87}, {37,81}, {60,70}, {24,29}, 
+    {34,50}, {60,72}, {60,80}, {60,73}, {33,32}, {20,65}, {60,81}, {22,71}, 
+    {20,4}, {60,79}, {60,77}, {60,74}, {44,63}, {35,31}, {37,56}, {60,75}, 
+    {60,83}, {60,82}, {22,2}, {17,12}, {25,26}, {60,76}, {60,78}, {42,54}, 
+    {33,83}, {42,86}, {60,91}, {60,92}, {17,46}, {41,7}, {43,92}, {61,0}, 
+    {27,2}, {29,33}, {60,87}, {60,93}, {16,71}, {21,22}, {60,84}, {60,89}, 
+    {31,83}, {38,80}, {39,70}, {60,86}, {42,0}, {60,88}, {61,3}, {61,1}, 
+    {60,90}, {42,1}, {38,39}, {20,66}, {36,4}, {34,76}, {61,4}, {61,2}, 
+    {33,56}, {60,85}, {16,42}, {44,45}, {61,15}, {61,14}, {31,85}, {61,11}, 
+    {44,75}, {37,21}, {61,5}, {35,36}, {16,43}, {24,30}, {61,8}, {28,6}, 
+    {61,13}, {61,12}, {61,7}, {61,10}, {18,71}, {61,9}, {38,40}, {45,13}, 
+    {29,83}, {31,84}, {61,21}, {61,19}, {40,44}, {61,16}, {61,18}, {16,25}, 
+    {24,31}, {46,17}, {18,28}, {40,65}, {44,64}, {18,3}, {30,26}, {61,20}, 
+    {61,25}, {29,34}, {44,15}, {61,22}, {61,17}, {61,23}, {45,61}, {36,82}, 
+    {37,33}, {18,21}, {16,52}, {61,29}, {61,32}, {45,34}, {44,67}, {61,39}, 
+    {61,33}, {61,30}, {45,51}, {61,36}, {28,41}, {61,38}, {61,43}, {36,80}, 
+    {61,41}, {61,35}, {34,23}, {61,42}, {61,31}, {61,37}, {61,44}, {15,91}, 
+    {61,34}, {61,45}, {30,27}, {28,62}, {41,4}, {25,13}, {61,26}, {61,40}, 
+    {36,25}, {31,21}, {18,72}, {25,48}, {29,35}, {61,28}, {28,33}, {22,43}, 
+    {61,27}, {61,49}, {28,76}, {23,25}, {61,64}, {61,58}, {20,83}, {36,46}, 
+    {61,53}, {61,62}, {15,14}, {16,17}, {17,24}, {61,55}, {33,11}, {61,46}, 
+    {61,48}, {24,32}, {61,65}, {61,60}, {61,52}, {61,59}, {43,10}, {61,57}, 
+    {61,61}, {23,47}, {29,36}, {34,24}, {61,51}, {44,14}, {61,54}, {61,47}, 
+    {36,81}, {61,50}, {61,56}, {46,48}, {27,29}, {42,93}, {61,66}, {39,13}, 
+    {61,78}, {23,26}, {28,63}, {61,68}, {45,14}, {24,33}, {61,81}, {15,77}, 
+    {61,79}, {61,67}, {61,73}, {61,75}, {44,46}, {61,70}, {36,13}, {61,72}, 
+    {61,80}, {61,74}, {43,38}, {61,69}, {27,1}, {61,93}, {18,73}, {61,71}, 
+    {61,76}, {61,77}, {33,75}, {33,57}, {61,85}, {61,91}, {61,89}, {36,8}, 
+    {62,2}, {61,86}, {61,87}, {61,63}, {20,88}, {40,25}, {27,30}, {24,86}, 
+    {46,18}, {61,83}, {62,1}, {16,72}, {32,69}, {38,88}, {19,32}, {45,89}, 
+    {43,0}, {35,49}, {61,90}, {61,92}, {32,17}, {62,0}, {61,88}, {61,82}, 
+    {19,34}, {22,72}, {62,14}, {62,9}, {31,87}, {18,66}, {28,64}, {62,18}, 
+    {62,11}, {35,11}, {62,8}, {35,56}, {62,43}, {62,5}, {62,4}, {62,13}, 
+    {62,7}, {62,6}, {62,12}, {31,0}, {62,3}, {62,15}, {62,16}, {19,33}, 
+    {62,21}, {62,20}, {62,22}, {62,25}, {36,34}, {62,19}, {62,23}, {22,66}, 
+    {33,88}, {62,17}, {38,26}, {62,24}, {62,29}, {62,27}, {62,30}, {62,33}, 
+    {62,26}, {24,73}, {38,7}, {61,24}, {44,83}, {62,28}, {62,32}, {33,84}, 
+    {62,31}, {62,10}, {78,72}, {62,36}, {62,40}, {62,38}, {62,34}, {62,35}, 
+    {62,39}, {62,37}, {40,45}, {62,45}, {62,42}, {62,41}, {62,44}, {37,51}, 
+    {62,46}, {34,84}, {33,76}, {31,4}, {62,47}, {62,49}, {62,48}, {61,84}, 
+    {62,50}, {37,70}, {62,51}, {17,47}, {36,83}, {18,4}, {20,67}, {27,61}, 
+    {25,49}, {46,6}, {30,69}, {16,73}, {62,53}, {62,52}, {62,56}, {34,25}, 
+    {62,59}, {62,54}, {62,58}, {62,57}, {36,31}, {15,56}, {45,84}, {62,61}, 
+    {16,7}, {62,63}, {62,62}, {62,60}, {62,55}, {42,2}, {62,65}, {62,64}, 
+    {16,74}, {62,67}, {41,17}, {62,66}, {43,20}, {29,38}, {32,18}, {29,37}, 
+    {45,90}, {62,73}, {31,88}, {62,69}, {62,74}, {16,75}, {62,72}, {38,64}, 
+    {62,68}, {62,71}, {29,39}, {39,48}, {62,75}, {27,48}, {31,89}, {62,78}, 
+    {62,70}, {22,6}, {62,76}, {44,47}, {62,79}, {83,5}, {28,46}, {62,80}, 
+    {62,81}, {38,13}, {62,83}, {62,84}, {38,18}, {36,84}, {62,86}, {62,88}, 
+    {45,52}, {62,85}, {62,87}, {16,76}, {62,82}, {50,58}, {62,89}, {32,70}, 
+    {26,23}, {62,91}, {62,90}, {30,3}, {49,56}, {62,92}, {63,0}, {62,77}, 
+    {62,93}, {63,1}, {38,89}, {63,2}, {63,3}, {63,4}, {63,5}, {35,61}, 
+    {63,7}, {63,6}, {63,8}, {63,9}, {27,62}, {40,66}, {43,75}, {63,10}, 
+    {63,11}, {32,53}, {27,3}, {63,12}, {63,13}, {63,14}, {41,49}, {39,38}, 
+    {63,15}, {38,54}, {35,12}, {63,16}, {17,70}, {20,76}, {43,37}, {43,21}, 
+    {17,19}, {46,19}, {42,49}, {41,9}, {31,22}, {63,17}, {37,34}, {23,2}, 
+    {63,18}, {25,51}, {63,20}, {63,19}, {63,21}, {63,22}, {63,23}, {20,29}, 
+    {63,24}, {63,25}, {23,3}, {39,39}, {63,27}, {29,84}, {63,26}, {21,23}, 
+    {63,28}, {63,30}, {63,29}, {63,31}, {23,48}, {63,32}, {21,72}, {32,31}, 
+    {24,92}, {63,34}, {63,35}, {63,33}, {27,76}, {37,39}, {21,24}, {63,37}, 
+    {34,11}, {63,36}, {46,20}, {38,65}, {63,40}, {63,42}, {63,39}, {43,51}, 
+    {63,41}, {63,43}, {45,35}, {63,47}, {63,46}, {34,85}, {38,12}, {23,4}, 
+    {63,45}, {63,44}, {44,16}, {44,17}, {63,48}, {16,77}, {24,85}, {26,65}, 
+    {63,49}, {63,50}, {63,52}, {28,34}, {63,54}, {63,53}, {63,55}, {18,44}, 
+    {63,57}, {63,56}, {63,59}, {63,58}, {23,27}, {45,7}, {21,43}, {17,5}, 
+    {21,73}, {19,64}, {45,71}, {63,61}, {63,63}, {63,64}, {17,48}, {63,60}, 
+    {26,24}, {35,32}, {63,62}, {63,67}, {27,77}, {63,65}, {22,29}, {39,40}, 
+    {63,66}, {63,93}, {63,72}, {23,28}, {20,68}, {63,69}, {44,92}, {45,15}, 
+    {33,85}, {63,71}, {63,73}, {45,53}, {21,54}, {39,91}, {38,41}, {63,74}, 
+    {63,76}, {63,79}, {63,75}, {63,78}, {23,73}, {16,44}, {63,80}, {30,79}, 
+    {63,77}, {45,59}, {63,83}, {83,3}, {63,81}, {63,84}, {63,70}, {63,82}, 
+    {25,27}, {63,85}, {63,86}, {44,93}, {63,87}, {63,88}, {63,68}, {63,89}, 
+    {19,35}, {27,4}, {63,90}, {63,91}, {63,92}, {16,26}, {64,0}, {40,26}, 
+    {64,1}, {19,3}, {64,2}, {64,3}, {64,4}, {64,6}, {64,7}, {64,5}, {40,50}, 
+    {64,9}, {64,8}, {64,11}, {64,10}, {64,12}, {64,13}, {64,15}, {64,14}, 
+    {24,88}, {64,17}, {64,16}, {19,36}, {30,50}, {36,27}, {64,18}, {31,23}, 
+    {26,25}, {16,88}, {64,19}, {44,48}, {41,66}, {64,20}, {36,35}, {44,18}, 
+    {24,34}, {30,28}, {34,42}, {49,19}, {35,13}, {17,71}, {64,21}, {64,22}, 
+    {64,27}, {64,25}, {64,24}, {57,33}, {18,5}, {64,23}, {15,57}, {39,9}, 
+    {39,41}, {45,16}, {64,28}, {64,26}, {34,59}, {31,5}, {39,10}, {40,12}, 
+    {64,30}, {45,11}, {22,44}, {64,31}, {64,29}, {39,53}, {64,32}, {64,33}, 
+    {15,58}, {29,85}, {64,38}, {64,35}, {37,76}, {64,34}, {20,5}, {64,41}, 
+    {64,36}, {64,37}, {64,40}, {64,39}, {40,4}, {32,33}, {32,32}, {20,30}, 
+    {64,42}, {64,43}, {64,44}, {64,46}, {64,45}, {16,53}, {64,54}, {39,71}, 
+    {64,48}, {64,50}, {64,52}, {30,29}, {64,53}, {64,51}, {27,31}, {64,47}, 
+    {64,49}, {40,33}, {29,40}, {64,56}, {64,55}, {64,57}, {27,5}, {25,14}, 
+    {36,86}, {64,58}, {35,42}, {64,60}, {45,0}, {64,59}, {32,72}, {64,65}, 
+    {64,67}, {64,68}, {34,51}, {64,66}, {64,63}, {64,61}, {64,62}, {64,64}, 
+    {64,71}, {64,69}, {64,70}, {64,72}, {64,74}, {64,75}, {64,76}, {64,77}, 
+    {64,73}, {64,79}, {64,78}, {64,80}, {45,36}, {64,83}, {64,81}, {64,82}, 
+    {19,65}, {43,93}, {41,41}, {64,85}, {64,84}, {64,86}, {64,87}, {64,91}, 
+    {64,88}, {64,89}, {64,90}, {64,92}, {64,93}, {65,0}, {65,1}, {65,2}, 
+    {39,14}, {36,47}, {65,3}, {38,81}, {40,19}, {65,4}, {65,5}, {36,9}, 
+    {18,6}, {24,35}, {65,6}, {65,7}, {65,8}, {26,8}, {65,10}, {65,9}, {65,11}, 
+    {65,12}, {39,72}, {65,13}, {65,14}, {82,72}, {65,15}, {65,16}, {65,17}, 
+    {26,13}, {65,18}, {38,53}, {42,62}, {16,45}, {16,54}, {65,19}, {65,21}, 
+    {65,20}, {36,79}, {31,24}, {60,24}, {65,22}, {43,32}, {65,23}, {19,37}, 
+    {39,54}, {65,24}, {65,25}, {65,26}, {43,59}, {43,52}, {35,29}, {32,73}, 
+    {65,28}, {28,65}, {29,41}, {65,31}, {65,30}, {65,29}, {39,92}, {19,38}, 
+    {23,8}, {65,37}, {65,34}, {30,30}, {43,17}, {65,33}, {65,35}, {65,36}, 
+    {65,32}, {65,38}, {65,39}, {35,14}, {19,66}, {34,68}, {65,40}, {65,41}, 
+    {65,44}, {30,70}, {37,35}, {65,45}, {42,50}, {65,42}, {65,43}, {65,48}, 
+    {65,47}, {65,46}, {65,50}, {65,49}, {65,51}, {65,53}, {65,52}, {41,44}, 
+    {28,53}, {45,37}, {65,54}, {37,22}, {65,55}, {65,56}, {65,60}, {65,58}, 
+    {65,59}, {65,57}, {65,61}, {65,62}, {65,63}, {65,64}, {43,22}, {65,65}, 
+    {43,79}, {65,66}, {34,45}, {38,73}, {21,74}, {34,26}, {65,67}, {21,25}, 
+    {31,47}, {65,68}, {25,28}, {65,69}, {65,70}, {23,5}, {25,52}, {65,72}, 
+    {36,53}, {25,53}, {20,45}, {42,3}, {38,42}, {36,54}, {24,59}, {65,74}, 
+    {29,42}, {45,17}, {24,36}, {23,6}, {39,2}, {65,76}, {65,78}, {23,74}, 
+    {65,77}, {35,85}, {65,80}, {18,22}, {65,75}, {39,73}, {16,15}, {25,75}, 
+    {46,49}, {65,79}, {65,81}, {41,42}, {31,56}, {65,83}, {65,84}, {65,82}, 
+    {18,45}, {65,90}, {65,89}, {27,6}, {65,91}, {65,86}, {65,92}, {65,87}, 
+    {39,55}, {65,85}, {65,88}, {66,1}, {66,0}, {42,64}, {65,93}, {15,74}, 
+    {66,3}, {66,2}, {29,43}, {66,4}, {32,34}, {66,6}, {66,5}, {66,7}, {65,71}, 
+    {65,73}, {66,9}, {66,8}, {27,7}, {45,72}, {27,49}, {66,10}, {22,22}, 
+    {20,31}, {20,6}, {26,66}, {44,19}, {66,16}, {66,15}, {32,35}, {66,12}, 
+    {66,14}, {28,42}, {30,31}, {66,13}, {66,11}, {38,9}, {29,44}, {40,27}, 
+    {25,54}, {36,87}, {66,17}, {66,18}, {66,40}, {21,55}, {46,28}, {32,20}, 
+    {66,19}, {17,49}, {35,86}, {41,0}, {66,20}, {20,89}, {66,21}, {66,23}, 
+    {66,24}, {38,8}, {66,25}, {66,26}, {66,27}, {21,56}, {17,50}, {37,36}, 
+    {28,7}, {26,67}, {66,28}, {28,8}, {17,41}, {40,34}, {66,29}, {39,74}, 
+    {32,36}, {66,32}, {66,33}, {38,72}, {30,32}, {66,30}, {34,64}, {66,31}, 
+    {29,45}, {15,59}, {20,8}, {66,34}, {35,87}, {66,35}, {31,38}, {43,12}, 
+    {40,2}, {66,36}, {66,37}, {34,52}, {45,38}, {66,39}, {66,38}, {27,78}, 
+    {66,41}, {15,79}, {66,44}, {66,42}, {17,51}, {22,45}, {66,43}, {24,37}, 
+    {24,81}, {41,69}, {66,45}, {42,51}, {66,47}, {31,48}, {16,46}, {17,25}, 
+    {15,11}, {66,46}, {66,48}, {66,49}, {29,86}, {66,50}, {18,46}, {66,52}, 
+    {22,73}, {20,69}, {66,53}, {21,84}, {66,54}, {31,91}, {37,44}, {31,63}, 
+    {25,84}, {66,55}, {34,65}, {32,74}, {66,57}, {66,59}, {66,56}, {66,58}, 
+    {22,1}, {66,60}, {22,5}, {20,70}, {44,49}, {66,62}, {66,63}, {16,13}, 
+    {66,66}, {18,85}, {66,65}, {66,64}, {66,68}, {66,61}, {66,69}, {45,8}, 
+    {66,70}, {66,71}, {51,83}, {66,73}, {66,72}, {66,74}, {66,75}, {45,20}, 
+    {66,76}, {79,78}, {29,46}, {66,77}, {66,78}, {28,54}, {37,23}, {66,79}, 
+    {34,7}, {66,80}, {34,27}, {66,81}, {21,4}, {48,30}, {34,60}, {27,18}, 
+    {19,39}, {66,82}, {67,1}, {66,85}, {20,71}, {66,84}, {67,3}, {66,83}, 
+    {29,47}, {66,87}, {66,88}, {36,10}, {66,89}, {18,61}, {30,57}, {40,67}, 
+    {66,91}, {33,71}, {66,86}, {66,90}, {66,92}, {25,90}, {67,5}, {40,13}, 
+    {39,5}, {36,88}, {21,57}, {67,4}, {67,2}, {39,20}, {66,93}, {34,61}, 
+    {36,90}, {36,89}, {25,85}, {67,23}, {67,7}, {67,9}, {67,12}, {67,13}, 
+    {67,10}, {67,11}, {67,8}, {67,6}, {67,0}, {41,46}, {17,52}, {67,20}, 
+    {67,17}, {67,22}, {67,21}, {38,82}, {43,6}, {26,26}, {67,15}, {67,24}, 
+    {67,19}, {67,18}, {67,14}, {67,16}, {19,40}, {34,28}, {31,92}, {39,1}, 
+    {67,29}, {39,3}, {31,64}, {67,26}, {39,46}, {67,30}, {41,50}, {34,58}, 
+    {67,25}, {67,27}, {67,28}, {67,31}, {27,35}, {37,37}, {67,36}, {67,35}, 
+    {67,32}, {46,21}, {67,41}, {67,45}, {67,42}, {67,38}, {67,39}, {67,44}, 
+    {67,33}, {49,52}, {67,40}, {67,34}, {67,43}, {67,49}, {19,41}, {67,46}, 
+    {67,47}, {67,48}, {67,51}, {67,50}, {39,85}, {67,52}, {45,91}, {41,76}, 
+    {67,57}, {67,54}, {67,53}, {31,49}, {67,56}, {67,58}, {67,55}, {67,62}, 
+    {67,59}, {67,60}, {67,37}, {67,61}, {67,63}, {67,64}, {41,37}, {67,65}, 
+    {43,65}, {21,45}, {22,8}, {67,66}, {41,19}, {30,71}, {43,15}, {67,67}, 
+    {45,18}, {38,83}, {32,37}, {38,19}, {28,44}, {15,31}, {67,72}, {67,70}, 
+    {67,68}, {19,0}, {29,48}, {67,73}, {67,71}, {67,69}, {67,77}, {67,76}, 
+    {67,75}, {67,74}, {67,78}, {67,79}, {31,25}, {67,80}, {67,82}, {67,81}, 
+    {23,49}, {32,23}, {67,84}, {36,91}, {67,83}, {67,85}, {41,20}, {32,75}, 
+    {24,38}, {67,86}, {45,39}, {67,88}, {67,89}, {67,90}, {67,91}, {26,68}, 
+    {67,92}, {22,46}, {20,73}, {20,9}, {68,0}, {43,82}, {24,39}, {67,93}, 
+    {68,3}, {43,69}, {38,27}, {40,18}, {28,66}, {68,2}, {27,50}, {24,40}, 
+    {26,69}, {20,72}, {41,21}, {68,1}, {32,38}, {42,33}, {25,86}, {26,70}, 
+    {35,60}, {68,6}, {45,62}, {25,56}, {68,7}, {30,33}, {68,9}, {29,49}, 
+    {25,15}, {68,8}, {28,9}, {23,29}, {32,39}, {68,4}, {68,10}, {68,5}, 
+    {22,47}, {68,13}, {68,17}, {22,74}, {68,12}, {68,21}, {24,41}, {44,76}, 
+    {15,27}, {68,18}, {20,74}, {68,15}, {68,16}, {36,92}, {68,14}, {68,11}, 
+    {18,7}, {31,67}, {23,7}, {68,23}, {68,20}, {68,22}, {68,19}, {22,48}, 
+    {33,18}, {68,24}, {32,77}, {68,37}, {68,33}, {68,27}, {68,31}, {27,89}, 
+    {15,60}, {68,26}, {68,34}, {68,38}, {24,42}, {43,53}, {35,53}, {68,28}, 
+    {68,36}, {68,25}, {34,29}, {68,30}, {15,28}, {43,41}, {68,29}, {21,58}, 
+    {39,75}, {32,76}, {45,47}, {28,78}, {68,77}, {68,39}, {31,93}, {68,35}, 
+    {68,40}, {68,42}, {35,88}, {68,45}, {68,41}, {41,51}, {19,42}, {43,42}, 
+    {15,61}, {68,44}, {45,92}, {68,43}, {16,78}, {37,75}, {68,46}, {68,53}, 
+    {68,47}, {68,54}, {68,50}, {38,90}, {27,41}, {68,52}, {68,49}, {68,55}, 
+    {68,48}, {28,35}, {42,4}, {28,43}, {68,51}, {68,63}, {68,59}, {68,62}, 
+    {68,60}, {68,64}, {68,58}, {68,32}, {31,50}, {39,42}, {68,61}, {68,56}, 
+    {32,0}, {22,49}, {28,10}, {30,4}, {32,21}, {68,67}, {68,69}, {68,70}, 
+    {68,66}, {68,68}, {68,57}, {68,65}, {68,73}, {68,72}, {42,89}, {22,10}, 
+    {68,71}, {68,75}, {68,74}, {68,78}, {68,80}, {26,27}, {68,76}, {68,81}, 
+    {68,82}, {68,83}, {68,89}, {36,26}, {68,85}, {68,84}, {68,86}, {68,87}, 
+    {68,88}, {68,90}, {68,91}, {19,43}, {68,92}, {68,93}, {69,0}, {69,1}, 
+    {69,2}, {69,3}, {69,4}, {69,5}, {69,7}, {69,6}, {69,8}, {69,9}, {69,10}, 
+    {69,13}, {69,11}, {69,12}, {25,64}, {22,50}, {34,53}, {39,18}, {28,79}, 
+    {38,44}, {39,76}, {69,14}, {55,76}, {69,15}, {69,17}, {44,68}, {69,16}, 
+    {69,19}, {69,18}, {44,50}, {69,20}, {39,93}, {69,21}, {69,24}, {69,23}, 
+    {69,22}, {69,25}, {22,17}, {32,1}, {20,32}, {69,29}, {69,26}, {69,27}, 
+    {69,30}, {69,31}, {69,28}, {16,8}, {17,6}, {69,33}, {69,34}, {69,35}, 
+    {44,65}, {28,11}, {69,37}, {69,36}, {30,72}, {69,38}, {69,39}, {69,40}, 
+    {19,68}, {19,44}, {69,41}, {69,42}, {42,60}, {44,66}, {44,51}, {46,22}, 
+    {24,44}, {69,45}, {27,51}, {69,44}, {69,46}, {27,8}, {33,48}, {69,47}, 
+    {24,43}, {43,54}, {69,48}, {69,49}, {69,50}, {69,51}, {69,52}, {27,9}, 
+    {43,76}, {69,54}, {34,30}, {69,53}, {69,56}, {69,55}, {69,57}, {31,26}, 
+    {69,58}, {69,59}, {41,24}, {69,60}, {32,78}, {69,61}, {69,62}, {45,93}, 
+    {69,65}, {69,64}, {69,63}, {35,15}, {69,66}, {30,5}, {69,67}, {69,68}, 
+    {46,23}, {69,69}, {69,70}, {69,72}, {69,71}, {39,4}, {37,88}, {46,29}, 
+    {39,8}, {69,74}, {29,50}, {40,9}, {69,75}, {69,73}, {19,45}, {23,51}, 
+    {26,71}, {39,77}, {23,9}, {42,34}, {69,78}, {69,76}, {24,45}, {24,46}, 
+    {15,72}, {25,71}, {38,56}, {15,62}, {69,83}, {34,31}, {38,55}, {33,58}, 
+    {69,85}, {69,81}, {69,84}, {69,79}, {69,82}, {42,5}, {23,52}, {15,92}, 
+    {69,80}, {69,87}, {69,88}, {37,24}, {21,26}, {70,5}, {38,28}, {26,72}, 
+    {21,27}, {31,39}, {46,37}, {43,13}, {69,86}, {31,51}, {20,50}, {69,89}, 
+    {69,91}, {69,90}, {69,92}, {34,5}, {38,29}, {35,16}, {70,2}, {70,1}, 
+    {69,93}, {30,52}, {40,68}, {70,4}, {70,3}, {24,47}, {46,50}, {70,20}, 
+    {70,8}, {70,9}, {27,79}, {70,7}, {24,87}, {70,6}, {70,10}, {35,17}, 
+    {41,1}, {32,2}, {33,59}, {70,14}, {70,15}, {70,11}, {70,12}, {70,13}, 
+    {24,48}, {70,21}, {70,17}, {40,69}, {42,75}, {40,7}, {70,16}, {70,19}, 
+    {70,18}, {42,35}, {70,22}, {70,23}, {32,22}, {70,24}, {70,26}, {70,30}, 
+    {70,27}, {70,25}, {38,30}, {70,28}, {70,29}, {17,17}, {70,36}, {70,31}, 
+    {70,32}, {70,33}, {33,0}, {70,35}, {70,34}, {70,37}, {70,38}, {70,39}, 
+    {30,34}, {17,72}, {70,40}, {45,54}, {27,10}, {28,12}, {26,73}, {34,54}, 
+    {70,41}, {70,42}, {16,16}, {70,43}, {70,44}, {70,45}, {70,46}, {70,47}, 
+    {21,28}, {57,9}, {70,48}, {31,68}, {70,49}, {27,42}, {70,50}, {47,15}, 
+    {70,51}, {41,61}, {19,59}, {32,3}, {28,55}, {40,80}, {28,13}, {70,52}, 
+    {24,49}, {70,53}, {39,43}, {70,67}, {70,55}, {33,40}, {38,84}, {23,30}, 
+    {70,54}, {32,4}, {70,56}, {35,89}, {70,58}, {70,57}, {70,60}, {70,59}, 
+    {70,61}, {70,63}, {70,62}, {19,46}, {70,64}, {70,65}, {70,66}, {25,16}, 
+    {45,40}, {70,68}, {30,6}, {16,79}, {70,69}, {70,70}, {70,71}, {15,81}, 
+    {70,72}, {70,73}, {40,70}, {27,38}, {70,75}, {18,8}, {15,17}, {70,74}, 
+    {70,77}, {38,45}, {30,35}, {17,53}, {42,6}, {22,60}, {21,59}, {70,76}, 
+    {17,73}, {19,2}, {16,80}, {70,81}, {45,73}, {33,60}, {40,35}, {70,93}, 
+    {17,54}, {70,91}, {70,89}, {70,80}, {70,78}, {70,79}, {27,66}, {21,75}, 
+    {34,86}, {37,48}, {16,48}, {70,83}, {70,82}, {70,88}, {70,84}, {70,87}, 
+    {43,47}, {70,86}, {17,55}, {18,92}, {70,90}, {70,92}, {22,51}, {71,2}, 
+    {71,11}, {71,12}, {15,10}, {71,19}, {15,80}, {71,10}, {71,9}, {71,4}, 
+    {71,3}, {71,1}, {71,0}, {34,66}, {33,90}, {71,6}, {71,5}, {71,8}, {32,79}, 
+    {22,52}, {16,32}, {71,7}, {24,50}, {32,80}, {71,25}, {71,26}, {17,56}, 
+    {17,13}, {71,23}, {71,13}, {71,21}, {71,28}, {71,22}, {71,20}, {70,85}, 
+    {71,18}, {71,14}, {19,47}, {71,16}, {71,27}, {71,17}, {71,29}, {71,15}, 
+    {38,91}, {44,72}, {71,24}, {71,46}, {71,38}, {30,90}, {20,37}, {21,60}, 
+    {71,33}, {17,58}, {29,51}, {71,36}, {25,57}, {36,48}, {71,41}, {41,77}, 
+    {71,32}, {17,57}, {23,53}, {40,8}, {71,42}, {71,30}, {71,39}, {71,49}, 
+    {71,34}, {71,35}, {37,25}, {71,40}, {71,37}, {42,7}, {71,43}, {15,63}, 
+    {71,31}, {71,45}, {71,44}, {38,74}, {71,51}, {71,62}, {18,93}, {71,65}, 
+    {71,47}, {71,52}, {44,77}, {71,61}, {44,52}, {45,9}, {34,87}, {18,74}, 
+    {40,81}, {71,67}, {37,0}, {15,16}, {71,60}, {71,56}, {32,81}, {71,50}, 
+    {71,58}, {71,63}, {38,11}, {15,9}, {71,55}, {71,64}, {40,87}, {71,59}, 
+    {71,54}, {29,52}, {28,14}, {27,11}, {43,55}, {40,38}, {71,70}, {71,79}, 
+    {71,57}, {18,86}, {29,87}, {71,68}, {71,73}, {32,82}, {71,69}, {71,76}, 
+    {34,62}, {71,77}, {44,53}, {71,66}, {18,23}, {71,72}, {71,75}, {43,11}, 
+    {71,78}, {71,71}, {71,74}, {42,8}, {46,0}, {71,82}, {71,89}, {71,81}, 
+    {27,34}, {71,48}, {41,45}, {43,1}, {71,88}, {71,87}, {71,83}, {71,84}, 
+    {16,21}, {71,86}, {71,80}, {35,52}, {71,85}, {15,93}, {33,1}, {41,34}, 
+    {71,90}, {72,0}, {39,56}, {71,93}, {29,53}, {27,40}, {72,2}, {21,29}, 
+    {72,3}, {40,88}, {71,92}, {71,53}, {71,91}, {46,46}, {37,1}, {40,82}, 
+    {72,10}, {72,16}, {72,17}, {72,4}, {38,85}, {72,14}, {72,6}, {72,8}, 
+    {72,18}, {72,7}, {72,11}, {16,81}, {37,68}, {72,12}, {72,15}, {72,5}, 
+    {32,5}, {72,9}, {26,6}, {30,36}, {22,15}, {43,83}, {43,88}, {28,81}, 
+    {72,22}, {72,20}, {46,45}, {72,19}, {44,84}, {72,21}, {72,23}, {72,24}, 
+    {72,27}, {72,25}, {37,2}, {72,26}, {39,44}, {72,13}, {28,82}, {72,28}, 
+    {72,33}, {32,83}, {72,32}, {72,1}, {72,34}, {32,40}, {72,29}, {72,31}, 
+    {72,30}, {60,16}, {60,1}, {72,36}, {72,35}, {44,85}, {65,27}, {72,37}, 
+    {72,38}, {72,39}, {23,54}, {20,51}, {72,41}, {48,60}, {20,84}, {45,25}, 
+    {21,82}, {72,42}, {72,43}, {34,77}, {72,44}, {37,89}, {15,25}, {17,66}, 
+    {72,49}, {72,50}, {72,45}, {26,28}, {72,46}, {38,33}, {72,47}, {72,48}, 
+    {72,58}, {72,52}, {72,55}, {72,51}, {72,53}, {72,54}, {27,55}, {72,56}, 
+    {34,32}, {22,53}, {18,33}, {72,59}, {18,30}, {72,64}, {72,60}, {72,63}, 
+    {39,25}, {72,61}, {72,62}, {40,39}, {39,57}, {72,65}, {33,92}, {72,75}, 
+    {72,71}, {17,74}, {72,69}, {42,9}, {72,70}, {72,67}, {72,68}, {72,73}, 
+    {72,76}, {72,74}, {72,72}, {72,66}, {34,55}, {72,83}, {43,9}, {72,81}, 
+    {72,82}, {72,77}, {72,79}, {72,80}, {72,78}, {31,69}, {46,24}, {72,87}, 
+    {72,88}, {73,0}, {30,9}, {72,90}, {72,93}, {72,85}, {72,84}, {73,1}, 
+    {17,59}, {72,91}, {73,2}, {72,92}, {72,89}, {35,18}, {72,86}, {38,71}, 
+    {73,6}, {44,26}, {73,5}, {73,4}, {73,13}, {73,7}, {73,15}, {44,69}, 
+    {73,18}, {73,9}, {73,10}, {73,14}, {73,17}, {73,16}, {73,8}, {73,11}, 
+    {73,28}, {73,21}, {73,19}, {73,20}, {73,25}, {73,26}, {18,9}, {20,33}, 
+    {73,24}, {73,3}, {73,23}, {73,27}, {73,22}, {73,29}, {73,31}, {73,30}, 
+    {73,33}, {73,32}, {72,57}, {73,37}, {73,34}, {73,35}, {73,36}, {73,38}, 
+    {22,75}, {73,40}, {73,39}, {28,15}, {24,51}, {61,6}, {73,41}, {28,48}, 
+    {18,24}, {73,42}, {16,49}, {29,54}, {73,43}, {24,52}, {73,44}, {15,64}, 
+    {40,28}, {73,45}, {30,73}, {73,52}, {73,49}, {34,78}, {73,50}, {73,47}, 
+    {21,61}, {73,46}, {73,53}, {22,21}, {33,61}, {73,59}, {73,55}, {33,20}, 
+    {73,54}, {73,57}, {73,48}, {73,58}, {73,60}, {39,78}, {73,56}, {73,61}, 
+    {73,63}, {23,50}, {73,51}, {15,32}, {73,62}, {25,58}, {45,85}, {73,64}, 
+    {73,65}, {32,84}, {45,1}, {73,66}, {44,20}, {73,67}, {73,68}, {41,67}, 
+    {73,69}, {25,31}, {45,2}, {73,74}, {73,75}, {29,55}, {73,73}, {44,70}, 
+    {73,70}, {73,72}, {31,28}, {30,93}, {73,71}, {73,76}, {41,2}, {73,78}, 
+    {73,77}, {18,75}, {42,10}, {73,79}, {73,91}, {73,81}, {73,82}, {73,83}, 
+    {73,84}, {73,88}, {73,89}, {73,87}, {73,85}, {73,80}, {73,86}, {73,90}, 
+    {79,22}, {17,7}, {73,93}, {21,62}, {73,92}, {74,1}, {74,0}, {74,3}, 
+    {74,2}, {74,4}, {28,16}, {74,5}, {74,6}, {74,7}, {31,29}, {44,54}, 
+    {74,8}, {41,3}, {38,37}, {74,9}, {74,10}, {23,10}, {20,11}, {74,11}, 
+    {26,74}, {38,32}, {74,12}, {18,47}, {74,13}, {74,15}, {44,86}, {74,14}, 
+    {30,37}, {74,16}, {74,17}, {74,18}, {19,48}, {74,19}, {74,20}, {74,21}, 
+    {74,22}, {18,48}, {74,23}, {74,24}, {74,25}, {17,81}, {30,7}, {74,26}, 
+    {74,27}, {74,28}, {23,31}, {35,90}, {74,29}, {22,54}, {30,53}, {74,32}, 
+    {37,3}, {74,31}, {22,16}, {74,30}, {33,86}, {20,12}, {74,33}, {74,34}, 
+    {29,56}, {22,76}, {74,35}, {42,11}, {31,62}, {20,85}, {43,84}, {32,41}, 
+    {74,36}, {30,38}, {34,79}, {29,57}, {74,37}, {74,40}, {74,41}, {25,29}, 
+    {33,33}, {74,39}, {29,58}, {40,29}, {74,38}, {26,75}, {16,50}, {74,45}, 
+    {22,55}, {26,77}, {26,76}, {46,44}, {74,44}, {74,43}, {32,6}, {20,44}, 
+    {46,34}, {18,25}, {29,59}, {74,42}, {74,47}, {74,48}, {74,46}, {23,55}, 
+    {44,31}, {26,78}, {38,6}, {74,51}, {31,31}, {34,33}, {44,21}, {74,54}, 
+    {23,75}, {31,30}, {74,50}, {74,55}, {23,76}, {74,52}, {74,53}, {74,49}, 
+    {31,65}, {37,40}, {34,14}, {17,60}, {39,79}, {20,34}, {35,19}, {74,58}, 
+    {74,56}, {34,43}, {31,32}, {19,49}, {74,57}, {30,58}, {45,41}, {46,31}, 
+    {74,59}, {74,70}, {35,20}, {74,69}, {74,66}, {74,74}, {74,67}, {74,63}, 
+    {35,91}, {74,62}, {74,60}, {44,0}, {26,79}, {74,64}, {74,61}, {74,68}, 
+    {28,83}, {23,32}, {33,89}, {42,36}, {16,57}, {15,65}, {37,4}, {74,72}, 
+    {74,71}, {37,69}, {74,76}, {74,65}, {74,75}, {74,77}, {23,11}, {74,73}, 
+    {24,53}, {27,52}, {74,78}, {44,55}, {74,81}, {74,84}, {74,82}, {40,20}, 
+    {74,79}, {21,63}, {74,83}, {74,85}, {74,89}, {74,86}, {74,88}, {74,87}, 
+    {74,90}, {27,16}, {74,92}, {74,91}, {40,71}, {75,0}, {22,56}, {74,93}, 
+    {75,1}, {75,2}, {20,35}, {69,32}, {29,88}, {75,3}, {23,77}, {75,4}, 
+    {75,5}, {26,29}, {57,45}, {75,6}, {75,7}, {28,17}, {75,8}, {75,9}, 
+    {75,10}, {75,11}, {75,12}, {34,10}, {75,13}, {75,15}, {75,14}, {37,5}, 
+    {75,16}, {42,12}, {75,17}, {75,18}, {75,19}, {75,20}, {37,57}, {29,60}, 
+    {75,21}, {24,74}, {47,13}, {75,22}, {75,23}, {40,30}, {75,24}, {75,32}, 
+    {75,25}, {75,27}, {75,26}, {75,28}, {42,37}, {75,29}, {75,30}, {75,31}, 
+    {75,33}, {18,12}, {35,70}, {40,72}, {25,65}, {24,54}, {40,46}, {17,62}, 
+    {39,45}, {75,36}, {19,50}, {31,52}, {75,35}, {75,40}, {34,88}, {43,66}, 
+    {75,38}, {75,39}, {20,13}, {75,41}, {38,66}, {33,62}, {39,80}, {36,28}, 
+    {75,37}, {42,38}, {17,75}, {75,43}, {46,7}, {35,33}, {46,36}, {26,80}, 
+    {75,42}, {33,16}, {75,59}, {32,7}, {37,87}, {40,47}, {75,46}, {26,30}, 
+    {26,81}, {29,61}, {38,68}, {23,12}, {75,45}, {75,44}, {40,73}, {27,32}, 
+    {36,49}, {75,48}, {75,49}, {24,55}, {75,47}, {75,50}, {75,51}, {75,53}, 
+    {33,2}, {75,52}, {19,69}, {75,55}, {75,54}, {75,56}, {75,58}, {75,60}, 
+    {75,61}, {31,53}, {27,46}, {75,62}, {18,49}, {75,63}, {32,85}, {75,64}, 
+    {75,65}, {40,74}, {20,14}, {75,66}, {35,21}, {16,58}, {75,67}, {27,80}, 
+    {30,85}, {33,12}, {75,70}, {75,69}, {75,68}, {75,76}, {75,74}, {75,71}, 
+    {75,73}, {75,72}, {75,75}, {20,86}, {75,79}, {31,54}, {75,80}, {23,56}, 
+    {75,77}, {75,78}, {46,8}, {35,22}, {32,8}, {75,81}, {75,84}, {75,82}, 
+    {75,83}, {44,56}, {37,6}, {75,87}, {75,85}, {75,86}, {75,88}, {76,8}, 
+    {75,91}, {75,92}, {75,90}, {75,89}, {35,92}, {76,0}, {76,4}, {76,1}, 
+    {75,93}, {76,2}, {76,3}, {76,10}, {76,5}, {31,55}, {76,7}, {76,9}, 
+    {76,6}, {76,12}, {28,18}, {76,11}, {76,13}, {76,14}, {76,17}, {76,16}, 
+    {76,15}, {76,19}, {76,18}, {43,85}, {76,21}, {76,20}, {76,22}, {76,23}, 
+    {76,25}, {76,24}, {30,39}, {76,26}, {21,76}, {76,27}, {76,29}, {76,30}, 
+    {76,31}, {76,28}, {76,32}, {27,53}, {76,33}, {20,15}, {22,18}, {23,13}, 
+    {76,34}, {37,79}, {36,29}, {76,35}, {76,38}, {27,19}, {76,37}, {76,36}, 
+    {22,57}, {76,39}, {18,50}, {76,41}, {25,59}, {76,40}, {76,49}, {76,43}, 
+    {76,45}, {41,68}, {76,42}, {76,44}, {76,48}, {76,46}, {20,16}, {76,47}, 
+    {76,50}, {38,57}, {45,55}, {28,19}, {76,51}, {44,1}, {76,53}, {76,52}, 
+    {76,56}, {44,32}, {76,55}, {18,76}, {76,54}, {76,59}, {76,58}, {76,57}, 
+    {36,17}, {76,60}, {76,61}, {76,62}, {24,75}, {22,4}, {76,63}, {76,64}, 
+    {76,65}, {30,40}, {76,66}, {27,12}, {76,67}, {76,68}, {49,0}, {48,93}, 
+    {76,69}, {68,79}, {76,70}, {34,3}, {30,10}, {38,31}, {76,71}, {41,52}, 
+    {35,51}, {24,93}, {34,8}, {16,9}, {42,87}, {30,54}, {22,61}, {21,64}, 
+    {41,53}, {76,72}, {76,74}, {76,73}, {17,63}, {37,85}, {76,75}, {38,86}, 
+    {36,18}, {76,76}, {28,49}, {76,78}, {43,33}, {76,93}, {76,80}, {76,81}, 
+    {35,40}, {33,63}, {32,86}, {37,7}, {76,79}, {20,52}, {76,88}, {76,85}, 
+    {77,4}, {37,8}, {34,63}, {76,82}, {35,93}, {36,50}, {76,83}, {76,87}, 
+    {30,63}, {38,70}, {35,43}, {31,33}, {76,86}, {33,13}, {33,3}, {76,84}, 
+    {15,8}, {46,1}, {76,89}, {33,64}, {28,20}, {30,41}, {76,91}, {76,90}, 
+    {15,78}, {76,92}, {40,14}, {77,6}, {37,58}, {30,74}, {34,56}, {21,87}, 
+    {77,5}, {44,22}, {16,30}, {41,54}, {17,64}, {77,0}, {77,1}, {77,2}, 
+    {77,3}, {37,26}, {34,2}, {15,66}, {77,7}, {77,8}, {83,2}, {33,28}, 
+    {77,9}, {16,82}, {32,43}, {23,14}, {44,57}, {77,10}, {36,11}, {32,87}, 
+    {27,54}, {77,11}, {77,14}, {28,68}, {77,12}, {32,10}, {32,9}, {15,67}, 
+    {45,42}, {77,16}, {39,81}, {77,18}, {77,17}, {77,15}, {66,67}, {19,51}, 
+    {76,77}, {77,20}, {77,19}, {77,21}, {44,23}, {37,64}, {42,13}, {77,22}, 
+    {27,56}, {77,23}, {77,24}, {77,25}, {36,0}, {15,73}, {24,56}, {46,25}, 
+    {77,29}, {22,19}, {77,26}, {77,27}, {40,83}, {18,51}, {44,24}, {21,30}, 
+    {36,51}, {77,30}, {77,31}, {77,32}, {36,1}, {77,34}, {77,33}, {37,50}, 
+    {77,35}, {28,21}, {27,63}, {38,58}, {34,80}, {27,81}, {30,75}, {77,36}, 
+    {77,37}, {30,60}, {77,38}, {77,39}, {77,40}, {44,78}, {28,22}, {77,42}, 
+    {77,41}, {24,57}, {24,82}, {26,31}, {77,45}, {28,69}, {77,44}, {77,43}, 
+    {33,72}, {23,78}, {31,34}, {39,15}, {28,24}, {77,46}, {29,62}, {77,49}, 
+    {77,47}, {77,48}, {77,51}, {77,50}, {29,89}, {77,52}, {77,53}, {77,54}, 
+    {39,47}, {25,50}, {27,64}, {77,55}, {77,56}, {45,3}, {28,36}, {43,77}, 
+    {45,43}, {77,57}, {21,65}, {77,58}, {36,2}, {77,61}, {18,87}, {30,42}, 
+    {77,59}, {77,60}, {35,63}, {42,52}, {21,91}, {77,63}, {77,64}, {77,62}, 
+    {77,66}, {37,62}, {18,34}, {77,70}, {77,67}, {77,69}, {77,65}, {78,46}, 
+    {77,68}, {45,74}, {23,57}, {77,78}, {36,19}, {77,73}, {77,76}, {77,74}, 
+    {77,79}, {77,80}, {77,72}, {77,85}, {16,83}, {77,71}, {39,12}, {77,75}, 
+    {29,63}, {24,58}, {42,39}, {21,67}, {28,37}, {37,27}, {32,12}, {77,83}, 
+    {77,77}, {77,82}, {43,34}, {35,23}, {77,84}, {77,81}, {32,11}, {77,88}, 
+    {77,87}, {77,86}, {42,14}, {28,90}, {77,89}, {41,62}, {16,51}, {40,37}, 
+    {34,81}, {20,87}, {77,91}, {24,60}, {26,11}, {77,90}, {30,76}, {30,77}, 
+    {78,0}, {78,2}, {29,90}, {78,1}, {78,3}, {21,50}, {40,36}, {27,65}, 
+    {46,2}, {77,93}, {25,87}, {46,30}, {78,5}, {78,4}, {78,6}, {77,92}, 
+    {37,72}, {36,52}, {35,54}, {78,11}, {34,34}, {78,7}, {78,8}, {22,12}, 
+    {78,10}, {23,15}, {78,9}, {29,64}, {18,88}, {78,15}, {25,30}, {32,88}, 
+    {35,41}, {18,26}, {78,13}, {78,14}, {35,34}, {78,12}, {78,16}, {78,22}, 
+    {78,25}, {78,24}, {36,12}, {78,17}, {78,18}, {78,21}, {78,23}, {21,31}, 
+    {78,26}, {78,20}, {78,19}, {78,30}, {78,31}, {78,32}, {78,29}, {78,28}, 
+    {29,65}, {37,9}, {78,27}, {78,36}, {78,34}, {78,35}, {78,33}, {33,87}, 
+    {78,37}, {78,38}, {78,40}, {19,52}, {78,39}, {43,89}, {78,51}, {78,41}, 
+    {78,44}, {78,42}, {78,43}, {78,45}, {78,47}, {78,48}, {78,49}, {78,52}, 
+    {78,50}, {78,53}, {78,55}, {78,54}, {35,24}, {43,70}, {78,56}, {32,13}, 
+    {78,57}, {41,35}, {78,58}, {18,10}, {16,27}, {19,54}, {19,53}, {78,59}, 
+    {78,60}, {78,61}, {78,62}, {78,63}, {19,55}, {18,52}, {24,61}, {39,21}, 
+    {78,65}, {78,64}, {78,66}, {16,59}, {78,69}, {78,68}, {78,67}, {78,70}, 
+    {78,73}, {15,38}, {78,71}, {78,75}, {78,74}, {78,77}, {78,76}, {78,78}, 
+    {37,13}, {78,79}, {78,80}, {78,82}, {78,81}, {40,75}, {78,83}, {78,84}, 
+    {25,68}, {78,85}, {78,86}, {42,40}, {32,42}, {15,3}, {33,42}, {78,87}, 
+    {40,76}, {78,90}, {78,88}, {24,62}, {78,89}, {23,33}, {41,36}, {78,92}, 
+    {79,0}, {78,93}, {79,1}, {16,0}, {30,55}, {28,91}, {19,56}, {79,2}, 
+    {38,69}, {79,4}, {16,1}, {79,3}, {35,35}, {45,44}, {37,10}, {78,91}, 
+    {45,5}, {23,16}, {44,58}, {21,88}, {45,19}, {22,7}, {33,65}, {70,0}, 
+    {79,5}, {18,11}, {30,78}, {18,53}, {79,7}, {79,8}, {79,6}, {22,67}, 
+    {25,60}, {29,66}, {16,2}, {45,56}, {79,10}, {77,13}, {79,9}, {79,13}, 
+    {79,11}, {79,12}, {79,14}, {79,15}, {45,75}, {79,16}, {79,17}, {31,40}, 
+    {39,26}, {30,92}, {19,70}, {44,25}, {17,76}, {28,23}, {23,58}, {79,20}, 
+    {79,19}, {26,82}, {79,21}, {79,18}, {26,7}, {79,25}, {73,12}, {49,53}, 
+    {30,86}, {79,23}, {45,4}, {37,80}, {16,10}, {31,66}, {27,21}, {41,22}, 
+    {16,31}, {45,76}, {44,74}, {79,26}, {36,36}, {27,90}, {79,27}, {79,28}, 
+    {30,43}, {79,29}, {45,77}, {79,24}, {79,31}, {79,33}, {79,32}, {79,30}, 
+    {79,34}, {79,35}, {32,89}, {17,65}, {79,36}, {43,23}, {79,37}, {79,38}, 
+    {46,9}, {58,16}, {79,39}, {79,40}, {79,41}, {79,45}, {79,42}, {79,43}, 
+    {79,44}, {79,46}, {31,35}, {43,86}, {31,36}, {79,47}, {39,82}, {79,48}, 
+    {82,50}, {43,43}, {79,49}, {79,50}, {79,51}, {18,54}, {79,53}, {30,56}, 
+    {79,54}, {22,3}, {79,55}, {79,59}, {79,57}, {79,58}, {18,82}, {79,56}, 
+    {79,60}, {79,61}, {15,39}, {79,62}, {79,63}, {29,67}, {79,64}, {20,38}, 
+    {79,67}, {79,66}, {79,65}, {74,80}, {41,59}, {79,68}, {79,69}, {79,70}, 
+    {79,71}, {79,72}, {79,73}, {19,57}, {79,74}, {79,75}, {38,2}, {79,77}, 
+    {17,26}, {79,80}, {79,79}, {16,3}, {21,32}, {41,38}, {35,25}, {25,1}, 
+    {24,63}, {28,70}, {30,59}, {79,82}, {79,81}, {44,33}, {19,71}, {39,49}, 
+    {37,59}, {30,91}, {45,45}, {22,58}, {79,85}, {79,84}, {42,42}, {37,11}, 
+    {16,47}, {79,86}, {79,83}, {40,48}, {44,73}, {79,87}, {79,88}, {79,90}, 
+    {33,73}, {18,58}, {18,59}, {79,89}, {19,72}, {23,17}, {19,73}, {36,30}, 
+    {45,63}, {23,59}, {79,91}, {79,92}, {79,93}, {80,0}, {80,2}, {80,1}, 
+    {40,86}, {80,3}, {80,4}, {80,5}, {80,6}, {80,8}, {80,7}, {80,9}, {39,83}, 
+    {69,43}, {30,8}, {20,17}, {80,10}, {80,11}, {49,11}, {60,26}, {39,50}, 
+    {15,90}, {15,26}, {26,83}, {42,15}, {29,93}, {80,12}, {43,62}, {80,13}, 
+    {44,59}, {16,33}, {26,32}, {80,14}, {17,77}, {80,15}, {80,16}, {80,18}, 
+    {80,19}, {80,21}, {80,17}, {80,20}, {19,58}, {80,22}, {80,23}, {80,24}, 
+    {80,25}, {80,26}, {80,28}, {80,27}, {80,30}, {80,33}, {80,29}, {80,31}, 
+    {80,32}, {80,34}, {21,33}, {27,82}, {80,35}, {80,36}, {24,64}, {80,37}, 
+    {18,29}, {38,46}, {80,38}, {80,39}, {34,57}, {37,74}, {80,40}, {38,92}, 
+    {33,43}, {16,55}, {21,77}, {21,78}, {34,82}, {80,45}, {21,79}, {17,78}, 
+    {80,44}, {80,42}, {80,43}, {80,41}, {80,55}, {80,46}, {80,47}, {80,48}, 
+    {80,49}, {80,51}, {80,50}, {28,56}, {80,52}, {80,54}, {20,18}, {80,53}, 
+    {32,90}, {23,18}, {80,56}, {33,44}, {80,57}, {37,12}, {80,58}, {80,63}, 
+    {80,61}, {80,60}, {80,62}, {80,59}, {80,65}, {80,64}, {80,67}, {21,34}, 
+    {80,66}, {80,68}, {80,69}, {80,71}, {80,70}, {80,72}, {80,74}, {80,73}, 
+    {24,91}, {80,75}, {80,76}, {18,27}, {80,77}, {80,78}, {30,80}, {80,79}, 
+    {80,80}, {80,81}, {80,82}, {24,65}, {80,83}, {80,84}, {80,85}, {80,86}, 
+    {80,87}, {39,16}, {80,89}, {40,5}, {80,90}, {80,88}, {80,92}, {80,91}, 
+    {80,93}, {81,0}, {81,1}, {81,2}, {81,3}, {81,4}, {81,5}, {81,6}, {81,7}, 
+    {81,8}, {81,9}, {81,10}, {81,11}, {81,12}, {81,13}, {60,20}, {81,14}, 
+    {67,87}, {20,19}, {18,0}, {25,17}, {81,16}, {81,15}, {43,4}, {81,18}, 
+    {81,19}, {81,17}, {81,20}, {42,65}, {81,21}, {20,90}, {46,4}, {81,22}, 
+    {81,24}, {15,29}, {81,25}, {41,10}, {81,23}, {81,26}, {81,27}, {81,28}, 
+    {81,29}, {81,30}, {42,77}, {26,12}, {25,89}, {32,14}, {81,31}, {81,34}, 
+    {81,32}, {81,35}, {23,80}, {81,33}, {81,36}, {81,37}, {81,38}, {81,42}, 
+    {26,9}, {33,67}, {81,43}, {81,40}, {81,39}, {81,41}, {22,62}, {81,47}, 
+    {81,46}, {81,45}, {15,18}, {81,57}, {81,53}, {81,54}, {81,50}, {81,56}, 
+    {81,52}, {18,65}, {46,43}, {81,55}, {81,51}, {81,49}, {81,48}, {81,59}, 
+    {81,62}, {81,61}, {81,60}, {40,40}, {81,58}, {15,82}, {81,63}, {81,65}, 
+    {18,78}, {81,44}, {16,22}, {81,67}, {81,66}, {81,64}, {34,12}, {42,79}, 
+    {45,57}, {81,68}, {81,69}, {81,70}, {81,71}, {81,72}, {35,26}, {81,73}, 
+    {39,22}, {81,78}, {81,74}, {81,75}, {42,16}, {43,35}, {37,47}, {81,79}, 
+    {81,80}, {37,29}, {81,77}, {81,76}, {17,9}, {81,88}, {81,87}, {16,84}, 
+    {81,85}, {81,84}, {81,82}, {18,90}, {81,81}, {27,17}, {17,8}, {24,66}, 
+    {81,91}, {81,90}, {81,89}, {81,86}, {81,92}, {81,93}, {82,4}, {82,3}, 
+    {82,5}, {16,12}, {82,0}, {82,1}, {24,83}, {43,24}, {82,2}, {42,17}, 
+    {82,10}, {82,6}, {82,11}, {82,8}, {82,7}, {22,59}, {82,12}, {82,13}, 
+    {82,14}, {82,9}, {81,83}, {82,15}, {35,64}, {82,19}, {82,20}, {82,18}, 
+    {82,17}, {82,23}, {82,16}, {82,21}, {82,22}, {82,25}, {82,24}, {82,27}, 
+    {82,28}, {82,29}, {46,40}, {82,26}, {33,74}, {25,76}, {82,30}, {82,31}, 
+    {82,32}, {82,33}, {82,34}, {23,19}, {82,35}, {82,36}, {27,14}, {82,37}, 
+    {82,38}, {82,39}, {82,40}, {82,43}, {82,41}, {46,27}, {82,42}, {45,78}, 
+    {82,44}, {45,58}, {82,45}, {38,93}, {82,46}, {82,48}, {82,49}, {82,47}, 
+    {24,76}, {43,44}, {42,66}, {53,86}, {60,63}, {42,90}, {17,10}, {82,51}, 
+    {20,47}, {82,52}, {82,53}, {82,54}, {24,84}, {82,55}, {63,51}, {43,58}, 
+    {33,66}, {82,56}, {82,58}, {82,57}, {82,59}, {82,60}, {82,61}, {82,62}, 
+    {82,63}, {82,64}, {82,65}, {82,66}, {82,67}, {82,68}, {82,69}, {82,70}, 
+    {82,71}, {36,3}, {23,60}, {82,73}, {32,44}, {82,74}, {82,75}, {40,0}, 
+    {82,76}, {82,77}, {66,22}, {75,57}, {79,76}, {82,78}, {82,79}, {82,81}, 
+    {82,82}, {82,83}, {45,79}, {82,80}, {82,84}, {82,85}, {82,87}, {82,86}, 
+    {82,89}, {82,90}, {82,88}, {45,21}, {82,91}, {82,92}, {66,51}, {82,93}, 
+    {0,9}, {0,83}, {0,79}, {0,82}, {0,84}, {0,41}, {0,42}, {0,85}, {0,59}, 
+    {0,3}, {0,4}, {0,30}, {2,15}, {2,16}, {2,17}, {2,18}, {2,19}, {2,20}, 
+    {2,21}, {2,22}, {2,23}, {2,24}, {0,6}, {0,7}, {0,66}, {0,64}, {0,67}, 
+    {0,8}, {0,86}, {2,32}, {2,33}, {2,34}, {2,35}, {2,36}, {2,37}, {2,38}, 
+    {2,39}, {2,40}, {2,41}, {2,42}, {2,43}, {2,44}, {2,45}, {2,46}, {2,47}, 
+    {2,48}, {2,49}, {2,50}, {2,51}, {2,52}, {2,53}, {2,54}, {2,55}, {2,56}, 
+    {2,57}, {0,45}, {0,46}, {0,15}, {0,17}, {0,13}, {2,64}, {2,65}, {2,66}, 
+    {2,67}, {2,68}, {2,69}, {2,70}, {2,71}, {2,72}, {2,73}, {2,74}, {2,75}, 
+    {2,76}, {2,77}, {2,78}, {2,79}, {2,80}, {2,81}, {2,82}, {2,83}, {2,84}, 
+    {2,85}, {2,86}, {2,87}, {2,88}, {2,89}, {0,47}, {0,34}, {0,48}, {0,16}, 
+    {0,78}
+};
+
+/* This returns ERROR if the code point doesn't exist. */
+long int jisx0208_to_unicode(int r, int c)
+{
+    assert(r >= 0 && r < 94);
+    assert(c >= 0 && c < 94);
+    return jisx0208_forward[r][c];
+}
+
+/* This one returns 1 on success, 0 if the code point doesn't exist. */
+int unicode_to_jisx0208(long int unicode, int *r, int *c)
+{
+    int rr, cc;
+    long int uu;
+    int i, j, k;
+
+    i = -1;
+    j = lenof(jisx0208_backward);
+    while (j - i > 1) {
+       k = (i + j) / 2;
+       rr = jisx0208_backward[k].r;
+       cc = jisx0208_backward[k].c;
+       uu = jisx0208_forward[rr][cc];
+       if (unicode > uu)
+           i = k;
+       else if (unicode < uu)
+           j = k;
+       else {
+           *r = rr;
+           *c = cc;
+           return 1;
+       }
+    }
+    return 0;
+}
+
+#ifdef TESTMODE
+
+#include <stdio.h>
+
+int main(void)
+{
+    int r, c, rr, cc, ret;
+    long int u, uu;
+
+    for (r = 0; r < 94; r++) {
+       for (c = 0; c < 94; c++) {
+           u = jisx0208_to_unicode(r, c);
+           if (u != ERROR) {
+               ret = unicode_to_jisx0208(u, &rr, &cc);
+               if (!ret)
+                   printf("(%d,%d) -> U-%08lx but didn't convert back\n",
+                          r, c, u);
+               else if (rr != r || cc != c)
+                   printf("(%d,%d) -> U-%08lx -> (%d,%d)\n",
+                          r, c, u, rr, cc);
+           }
+       }
+    }
+
+    for (u = 0; u < 0x10000L; u++) {
+       ret = unicode_to_jisx0208(u, &r, &c);
+       if (ret) {
+           uu = jisx0208_to_unicode(r, c);
+           if (uu == ERROR)
+               printf("U-%08lx -> (%d,%d) but didn't convert back\n",
+                      u, r, c);
+           else if (uu != u)
+               printf("U-%08lx -> (%d,%d) -> U-%08lx\n", u, r, c, uu);
+       }
+    }
+
+    return 0;
+}
+
+#endif
diff --git a/jisx0212.c b/jisx0212.c
new file mode 100644 (file)
index 0000000..49be67f
--- /dev/null
@@ -0,0 +1,1919 @@
+/*
+ * JIS X 0212 implementation for libcharset. (This is the character
+ * set itself, not any particular multibyte encoding of it.
+ * Multibyte encodings of this character set are handled
+ * separately.)
+ */
+
+#include <assert.h>
+
+#include "charset.h"
+#include "internal.h"
+
+/*
+ * These tables are generated from the JIS X 0212 <-> Unicode
+ * character mapping found at
+ * 
+ * http://www.unicode.org/Public/MAPPINGS/OBSOLETE/EASTASIA/JIS/JIS0212.TXT
+ */
+
+/*
+ * Mapping from JIS X 0212 to Unicode. For these purposes JIS X
+ * 0212 is considered to be a 94x94 square array, with coordinates
+ * running from (0,0) to (93,93).
+ * 
+ * Generated by running the following sh+Perl over JIS0212.TXT:
+
+cat JIS0212.TXT | \
+perl -ne '$a{hex$1,hex$2}=$3 if /^0x(\S\S)(\S\S)\s+(0x\S+)\s/;' \
+      -e 'END {for $r (0..93) { $o="    {"; for $c (0..93) {' \
+      -e '$k=$a{$r+33,$c+33}; $k=" ERROR" unless defined $k;' \
+      -e '$o .= ", " if $c > 0; (print "$o\n"), $o="    " if length $o > 70;' \
+      -e '$o .= $k; } print "$o},\n"; }}'
+
+ */
+
+static const unsigned short jisx0212_forward[94][94] = {
+    { ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR},
+    { ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 0x02D8, 0x02C7, 0x00B8, 0x02D9, 
+    0x02DD, 0x00AF, 0x02DB, 0x02DA, 0x007E, 0x0384, 0x0385,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 0x00A1, 0x00A6, 0x00BF, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR, 0x00BA, 0x00AA, 0x00A9, 0x00AE, 0x2122, 0x00A4, 0x2116, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR},
+    { ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR},
+    { ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR},
+    { ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR},
+    { ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR, 0x0386, 0x0388, 0x0389, 0x038A, 0x03AA,  ERROR, 0x038C,  ERROR, 
+    0x038E, 0x03AB,  ERROR, 0x038F,  ERROR,  ERROR,  ERROR,  ERROR, 0x03AC, 
+    0x03AD, 0x03AE, 0x03AF, 0x03CA, 0x0390, 0x03CC, 0x03C2, 0x03CD, 0x03CB, 
+    0x03B0, 0x03CE,  ERROR,  ERROR},
+    { ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 0x0402, 0x0403, 0x0404, 
+    0x0405, 0x0406, 0x0407, 0x0408, 0x0409, 0x040A, 0x040B, 0x040C, 0x040E, 
+    0x040F,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+    0x0452, 0x0453, 0x0454, 0x0455, 0x0456, 0x0457, 0x0458, 0x0459, 0x045A, 
+    0x045B, 0x045C, 0x045E, 0x045F},
+    { ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR},
+    {0x00C6, 0x0110,  ERROR, 0x0126,  ERROR, 0x0132,  ERROR, 0x0141, 0x013F, 
+     ERROR, 0x014A, 0x00D8, 0x0152,  ERROR, 0x0166, 0x00DE,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 0x00E6, 0x0111, 0x00F0, 0x0127, 
+    0x0131, 0x0133, 0x0138, 0x0142, 0x0140, 0x0149, 0x014B, 0x00F8, 0x0153, 
+    0x00DF, 0x0167, 0x00FE,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR},
+    {0x00C1, 0x00C0, 0x00C4, 0x00C2, 0x0102, 0x01CD, 0x0100, 0x0104, 0x00C5, 
+    0x00C3, 0x0106, 0x0108, 0x010C, 0x00C7, 0x010A, 0x010E, 0x00C9, 0x00C8, 
+    0x00CB, 0x00CA, 0x011A, 0x0116, 0x0112, 0x0118,  ERROR, 0x011C, 0x011E, 
+    0x0122, 0x0120, 0x0124, 0x00CD, 0x00CC, 0x00CF, 0x00CE, 0x01CF, 0x0130, 
+    0x012A, 0x012E, 0x0128, 0x0134, 0x0136, 0x0139, 0x013D, 0x013B, 0x0143, 
+    0x0147, 0x0145, 0x00D1, 0x00D3, 0x00D2, 0x00D6, 0x00D4, 0x01D1, 0x0150, 
+    0x014C, 0x00D5, 0x0154, 0x0158, 0x0156, 0x015A, 0x015C, 0x0160, 0x015E, 
+    0x0164, 0x0162, 0x00DA, 0x00D9, 0x00DC, 0x00DB, 0x016C, 0x01D3, 0x0170, 
+    0x016A, 0x0172, 0x016E, 0x0168, 0x01D7, 0x01DB, 0x01D9, 0x01D5, 0x0174, 
+    0x00DD, 0x0178, 0x0176, 0x0179, 0x017D, 0x017B,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR},
+    {0x00E1, 0x00E0, 0x00E4, 0x00E2, 0x0103, 0x01CE, 0x0101, 0x0105, 0x00E5, 
+    0x00E3, 0x0107, 0x0109, 0x010D, 0x00E7, 0x010B, 0x010F, 0x00E9, 0x00E8, 
+    0x00EB, 0x00EA, 0x011B, 0x0117, 0x0113, 0x0119, 0x01F5, 0x011D, 0x011F, 
+     ERROR, 0x0121, 0x0125, 0x00ED, 0x00EC, 0x00EF, 0x00EE, 0x01D0,  ERROR, 
+    0x012B, 0x012F, 0x0129, 0x0135, 0x0137, 0x013A, 0x013E, 0x013C, 0x0144, 
+    0x0148, 0x0146, 0x00F1, 0x00F3, 0x00F2, 0x00F6, 0x00F4, 0x01D2, 0x0151, 
+    0x014D, 0x00F5, 0x0155, 0x0159, 0x0157, 0x015B, 0x015D, 0x0161, 0x015F, 
+    0x0165, 0x0163, 0x00FA, 0x00F9, 0x00FC, 0x00FB, 0x016D, 0x01D4, 0x0171, 
+    0x016B, 0x0173, 0x016F, 0x0169, 0x01D8, 0x01DC, 0x01DA, 0x01D6, 0x0175, 
+    0x00FD, 0x00FF, 0x0177, 0x017A, 0x017E, 0x017C,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR},
+    { ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR},
+    { ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR},
+    { ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR},
+    { ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR},
+    {0x4E02, 0x4E04, 0x4E05, 0x4E0C, 0x4E12, 0x4E1F, 0x4E23, 0x4E24, 0x4E28, 
+    0x4E2B, 0x4E2E, 0x4E2F, 0x4E30, 0x4E35, 0x4E40, 0x4E41, 0x4E44, 0x4E47, 
+    0x4E51, 0x4E5A, 0x4E5C, 0x4E63, 0x4E68, 0x4E69, 0x4E74, 0x4E75, 0x4E79, 
+    0x4E7F, 0x4E8D, 0x4E96, 0x4E97, 0x4E9D, 0x4EAF, 0x4EB9, 0x4EC3, 0x4ED0, 
+    0x4EDA, 0x4EDB, 0x4EE0, 0x4EE1, 0x4EE2, 0x4EE8, 0x4EEF, 0x4EF1, 0x4EF3, 
+    0x4EF5, 0x4EFD, 0x4EFE, 0x4EFF, 0x4F00, 0x4F02, 0x4F03, 0x4F08, 0x4F0B, 
+    0x4F0C, 0x4F12, 0x4F15, 0x4F16, 0x4F17, 0x4F19, 0x4F2E, 0x4F31, 0x4F60, 
+    0x4F33, 0x4F35, 0x4F37, 0x4F39, 0x4F3B, 0x4F3E, 0x4F40, 0x4F42, 0x4F48, 
+    0x4F49, 0x4F4B, 0x4F4C, 0x4F52, 0x4F54, 0x4F56, 0x4F58, 0x4F5F, 0x4F63, 
+    0x4F6A, 0x4F6C, 0x4F6E, 0x4F71, 0x4F77, 0x4F78, 0x4F79, 0x4F7A, 0x4F7D, 
+    0x4F7E, 0x4F81, 0x4F82, 0x4F84},
+    {0x4F85, 0x4F89, 0x4F8A, 0x4F8C, 0x4F8E, 0x4F90, 0x4F92, 0x4F93, 0x4F94, 
+    0x4F97, 0x4F99, 0x4F9A, 0x4F9E, 0x4F9F, 0x4FB2, 0x4FB7, 0x4FB9, 0x4FBB, 
+    0x4FBC, 0x4FBD, 0x4FBE, 0x4FC0, 0x4FC1, 0x4FC5, 0x4FC6, 0x4FC8, 0x4FC9, 
+    0x4FCB, 0x4FCC, 0x4FCD, 0x4FCF, 0x4FD2, 0x4FDC, 0x4FE0, 0x4FE2, 0x4FF0, 
+    0x4FF2, 0x4FFC, 0x4FFD, 0x4FFF, 0x5000, 0x5001, 0x5004, 0x5007, 0x500A, 
+    0x500C, 0x500E, 0x5010, 0x5013, 0x5017, 0x5018, 0x501B, 0x501C, 0x501D, 
+    0x501E, 0x5022, 0x5027, 0x502E, 0x5030, 0x5032, 0x5033, 0x5035, 0x5040, 
+    0x5041, 0x5042, 0x5045, 0x5046, 0x504A, 0x504C, 0x504E, 0x5051, 0x5052, 
+    0x5053, 0x5057, 0x5059, 0x505F, 0x5060, 0x5062, 0x5063, 0x5066, 0x5067, 
+    0x506A, 0x506D, 0x5070, 0x5071, 0x503B, 0x5081, 0x5083, 0x5084, 0x5086, 
+    0x508A, 0x508E, 0x508F, 0x5090},
+    {0x5092, 0x5093, 0x5094, 0x5096, 0x509B, 0x509C, 0x509E, 0x509F, 0x50A0, 
+    0x50A1, 0x50A2, 0x50AA, 0x50AF, 0x50B0, 0x50B9, 0x50BA, 0x50BD, 0x50C0, 
+    0x50C3, 0x50C4, 0x50C7, 0x50CC, 0x50CE, 0x50D0, 0x50D3, 0x50D4, 0x50D8, 
+    0x50DC, 0x50DD, 0x50DF, 0x50E2, 0x50E4, 0x50E6, 0x50E8, 0x50E9, 0x50EF, 
+    0x50F1, 0x50F6, 0x50FA, 0x50FE, 0x5103, 0x5106, 0x5107, 0x5108, 0x510B, 
+    0x510C, 0x510D, 0x510E, 0x50F2, 0x5110, 0x5117, 0x5119, 0x511B, 0x511C, 
+    0x511D, 0x511E, 0x5123, 0x5127, 0x5128, 0x512C, 0x512D, 0x512F, 0x5131, 
+    0x5133, 0x5134, 0x5135, 0x5138, 0x5139, 0x5142, 0x514A, 0x514F, 0x5153, 
+    0x5155, 0x5157, 0x5158, 0x515F, 0x5164, 0x5166, 0x517E, 0x5183, 0x5184, 
+    0x518B, 0x518E, 0x5198, 0x519D, 0x51A1, 0x51A3, 0x51AD, 0x51B8, 0x51BA, 
+    0x51BC, 0x51BE, 0x51BF, 0x51C2},
+    {0x51C8, 0x51CF, 0x51D1, 0x51D2, 0x51D3, 0x51D5, 0x51D8, 0x51DE, 0x51E2, 
+    0x51E5, 0x51EE, 0x51F2, 0x51F3, 0x51F4, 0x51F7, 0x5201, 0x5202, 0x5205, 
+    0x5212, 0x5213, 0x5215, 0x5216, 0x5218, 0x5222, 0x5228, 0x5231, 0x5232, 
+    0x5235, 0x523C, 0x5245, 0x5249, 0x5255, 0x5257, 0x5258, 0x525A, 0x525C, 
+    0x525F, 0x5260, 0x5261, 0x5266, 0x526E, 0x5277, 0x5278, 0x5279, 0x5280, 
+    0x5282, 0x5285, 0x528A, 0x528C, 0x5293, 0x5295, 0x5296, 0x5297, 0x5298, 
+    0x529A, 0x529C, 0x52A4, 0x52A5, 0x52A6, 0x52A7, 0x52AF, 0x52B0, 0x52B6, 
+    0x52B7, 0x52B8, 0x52BA, 0x52BB, 0x52BD, 0x52C0, 0x52C4, 0x52C6, 0x52C8, 
+    0x52CC, 0x52CF, 0x52D1, 0x52D4, 0x52D6, 0x52DB, 0x52DC, 0x52E1, 0x52E5, 
+    0x52E8, 0x52E9, 0x52EA, 0x52EC, 0x52F0, 0x52F1, 0x52F4, 0x52F6, 0x52F7, 
+    0x5300, 0x5303, 0x530A, 0x530B},
+    {0x530C, 0x5311, 0x5313, 0x5318, 0x531B, 0x531C, 0x531E, 0x531F, 0x5325, 
+    0x5327, 0x5328, 0x5329, 0x532B, 0x532C, 0x532D, 0x5330, 0x5332, 0x5335, 
+    0x533C, 0x533D, 0x533E, 0x5342, 0x534C, 0x534B, 0x5359, 0x535B, 0x5361, 
+    0x5363, 0x5365, 0x536C, 0x536D, 0x5372, 0x5379, 0x537E, 0x5383, 0x5387, 
+    0x5388, 0x538E, 0x5393, 0x5394, 0x5399, 0x539D, 0x53A1, 0x53A4, 0x53AA, 
+    0x53AB, 0x53AF, 0x53B2, 0x53B4, 0x53B5, 0x53B7, 0x53B8, 0x53BA, 0x53BD, 
+    0x53C0, 0x53C5, 0x53CF, 0x53D2, 0x53D3, 0x53D5, 0x53DA, 0x53DD, 0x53DE, 
+    0x53E0, 0x53E6, 0x53E7, 0x53F5, 0x5402, 0x5413, 0x541A, 0x5421, 0x5427, 
+    0x5428, 0x542A, 0x542F, 0x5431, 0x5434, 0x5435, 0x5443, 0x5444, 0x5447, 
+    0x544D, 0x544F, 0x545E, 0x5462, 0x5464, 0x5466, 0x5467, 0x5469, 0x546B, 
+    0x546D, 0x546E, 0x5474, 0x547F},
+    {0x5481, 0x5483, 0x5485, 0x5488, 0x5489, 0x548D, 0x5491, 0x5495, 0x5496, 
+    0x549C, 0x549F, 0x54A1, 0x54A6, 0x54A7, 0x54A9, 0x54AA, 0x54AD, 0x54AE, 
+    0x54B1, 0x54B7, 0x54B9, 0x54BA, 0x54BB, 0x54BF, 0x54C6, 0x54CA, 0x54CD, 
+    0x54CE, 0x54E0, 0x54EA, 0x54EC, 0x54EF, 0x54F6, 0x54FC, 0x54FE, 0x54FF, 
+    0x5500, 0x5501, 0x5505, 0x5508, 0x5509, 0x550C, 0x550D, 0x550E, 0x5515, 
+    0x552A, 0x552B, 0x5532, 0x5535, 0x5536, 0x553B, 0x553C, 0x553D, 0x5541, 
+    0x5547, 0x5549, 0x554A, 0x554D, 0x5550, 0x5551, 0x5558, 0x555A, 0x555B, 
+    0x555E, 0x5560, 0x5561, 0x5564, 0x5566, 0x557F, 0x5581, 0x5582, 0x5586, 
+    0x5588, 0x558E, 0x558F, 0x5591, 0x5592, 0x5593, 0x5594, 0x5597, 0x55A3, 
+    0x55A4, 0x55AD, 0x55B2, 0x55BF, 0x55C1, 0x55C3, 0x55C6, 0x55C9, 0x55CB, 
+    0x55CC, 0x55CE, 0x55D1, 0x55D2},
+    {0x55D3, 0x55D7, 0x55D8, 0x55DB, 0x55DE, 0x55E2, 0x55E9, 0x55F6, 0x55FF, 
+    0x5605, 0x5608, 0x560A, 0x560D, 0x560E, 0x560F, 0x5610, 0x5611, 0x5612, 
+    0x5619, 0x562C, 0x5630, 0x5633, 0x5635, 0x5637, 0x5639, 0x563B, 0x563C, 
+    0x563D, 0x563F, 0x5640, 0x5641, 0x5643, 0x5644, 0x5646, 0x5649, 0x564B, 
+    0x564D, 0x564F, 0x5654, 0x565E, 0x5660, 0x5661, 0x5662, 0x5663, 0x5666, 
+    0x5669, 0x566D, 0x566F, 0x5671, 0x5672, 0x5675, 0x5684, 0x5685, 0x5688, 
+    0x568B, 0x568C, 0x5695, 0x5699, 0x569A, 0x569D, 0x569E, 0x569F, 0x56A6, 
+    0x56A7, 0x56A8, 0x56A9, 0x56AB, 0x56AC, 0x56AD, 0x56B1, 0x56B3, 0x56B7, 
+    0x56BE, 0x56C5, 0x56C9, 0x56CA, 0x56CB, 0x56CF, 0x56D0, 0x56CC, 0x56CD, 
+    0x56D9, 0x56DC, 0x56DD, 0x56DF, 0x56E1, 0x56E4, 0x56E5, 0x56E6, 0x56E7, 
+    0x56E8, 0x56F1, 0x56EB, 0x56ED},
+    {0x56F6, 0x56F7, 0x5701, 0x5702, 0x5707, 0x570A, 0x570C, 0x5711, 0x5715, 
+    0x571A, 0x571B, 0x571D, 0x5720, 0x5722, 0x5723, 0x5724, 0x5725, 0x5729, 
+    0x572A, 0x572C, 0x572E, 0x572F, 0x5733, 0x5734, 0x573D, 0x573E, 0x573F, 
+    0x5745, 0x5746, 0x574C, 0x574D, 0x5752, 0x5762, 0x5765, 0x5767, 0x5768, 
+    0x576B, 0x576D, 0x576E, 0x576F, 0x5770, 0x5771, 0x5773, 0x5774, 0x5775, 
+    0x5777, 0x5779, 0x577A, 0x577B, 0x577C, 0x577E, 0x5781, 0x5783, 0x578C, 
+    0x5794, 0x5797, 0x5799, 0x579A, 0x579C, 0x579D, 0x579E, 0x579F, 0x57A1, 
+    0x5795, 0x57A7, 0x57A8, 0x57A9, 0x57AC, 0x57B8, 0x57BD, 0x57C7, 0x57C8, 
+    0x57CC, 0x57CF, 0x57D5, 0x57DD, 0x57DE, 0x57E4, 0x57E6, 0x57E7, 0x57E9, 
+    0x57ED, 0x57F0, 0x57F5, 0x57F6, 0x57F8, 0x57FD, 0x57FE, 0x57FF, 0x5803, 
+    0x5804, 0x5808, 0x5809, 0x57E1},
+    {0x580C, 0x580D, 0x581B, 0x581E, 0x581F, 0x5820, 0x5826, 0x5827, 0x582D, 
+    0x5832, 0x5839, 0x583F, 0x5849, 0x584C, 0x584D, 0x584F, 0x5850, 0x5855, 
+    0x585F, 0x5861, 0x5864, 0x5867, 0x5868, 0x5878, 0x587C, 0x587F, 0x5880, 
+    0x5881, 0x5887, 0x5888, 0x5889, 0x588A, 0x588C, 0x588D, 0x588F, 0x5890, 
+    0x5894, 0x5896, 0x589D, 0x58A0, 0x58A1, 0x58A2, 0x58A6, 0x58A9, 0x58B1, 
+    0x58B2, 0x58C4, 0x58BC, 0x58C2, 0x58C8, 0x58CD, 0x58CE, 0x58D0, 0x58D2, 
+    0x58D4, 0x58D6, 0x58DA, 0x58DD, 0x58E1, 0x58E2, 0x58E9, 0x58F3, 0x5905, 
+    0x5906, 0x590B, 0x590C, 0x5912, 0x5913, 0x5914, 0x8641, 0x591D, 0x5921, 
+    0x5923, 0x5924, 0x5928, 0x592F, 0x5930, 0x5933, 0x5935, 0x5936, 0x593F, 
+    0x5943, 0x5946, 0x5952, 0x5953, 0x5959, 0x595B, 0x595D, 0x595E, 0x595F, 
+    0x5961, 0x5963, 0x596B, 0x596D},
+    {0x596F, 0x5972, 0x5975, 0x5976, 0x5979, 0x597B, 0x597C, 0x598B, 0x598C, 
+    0x598E, 0x5992, 0x5995, 0x5997, 0x599F, 0x59A4, 0x59A7, 0x59AD, 0x59AE, 
+    0x59AF, 0x59B0, 0x59B3, 0x59B7, 0x59BA, 0x59BC, 0x59C1, 0x59C3, 0x59C4, 
+    0x59C8, 0x59CA, 0x59CD, 0x59D2, 0x59DD, 0x59DE, 0x59DF, 0x59E3, 0x59E4, 
+    0x59E7, 0x59EE, 0x59EF, 0x59F1, 0x59F2, 0x59F4, 0x59F7, 0x5A00, 0x5A04, 
+    0x5A0C, 0x5A0D, 0x5A0E, 0x5A12, 0x5A13, 0x5A1E, 0x5A23, 0x5A24, 0x5A27, 
+    0x5A28, 0x5A2A, 0x5A2D, 0x5A30, 0x5A44, 0x5A45, 0x5A47, 0x5A48, 0x5A4C, 
+    0x5A50, 0x5A55, 0x5A5E, 0x5A63, 0x5A65, 0x5A67, 0x5A6D, 0x5A77, 0x5A7A, 
+    0x5A7B, 0x5A7E, 0x5A8B, 0x5A90, 0x5A93, 0x5A96, 0x5A99, 0x5A9C, 0x5A9E, 
+    0x5A9F, 0x5AA0, 0x5AA2, 0x5AA7, 0x5AAC, 0x5AB1, 0x5AB2, 0x5AB3, 0x5AB5, 
+    0x5AB8, 0x5ABA, 0x5ABB, 0x5ABF},
+    {0x5AC4, 0x5AC6, 0x5AC8, 0x5ACF, 0x5ADA, 0x5ADC, 0x5AE0, 0x5AE5, 0x5AEA, 
+    0x5AEE, 0x5AF5, 0x5AF6, 0x5AFD, 0x5B00, 0x5B01, 0x5B08, 0x5B17, 0x5B34, 
+    0x5B19, 0x5B1B, 0x5B1D, 0x5B21, 0x5B25, 0x5B2D, 0x5B38, 0x5B41, 0x5B4B, 
+    0x5B4C, 0x5B52, 0x5B56, 0x5B5E, 0x5B68, 0x5B6E, 0x5B6F, 0x5B7C, 0x5B7D, 
+    0x5B7E, 0x5B7F, 0x5B81, 0x5B84, 0x5B86, 0x5B8A, 0x5B8E, 0x5B90, 0x5B91, 
+    0x5B93, 0x5B94, 0x5B96, 0x5BA8, 0x5BA9, 0x5BAC, 0x5BAD, 0x5BAF, 0x5BB1, 
+    0x5BB2, 0x5BB7, 0x5BBA, 0x5BBC, 0x5BC0, 0x5BC1, 0x5BCD, 0x5BCF, 0x5BD6, 
+    0x5BD7, 0x5BD8, 0x5BD9, 0x5BDA, 0x5BE0, 0x5BEF, 0x5BF1, 0x5BF4, 0x5BFD, 
+    0x5C0C, 0x5C17, 0x5C1E, 0x5C1F, 0x5C23, 0x5C26, 0x5C29, 0x5C2B, 0x5C2C, 
+    0x5C2E, 0x5C30, 0x5C32, 0x5C35, 0x5C36, 0x5C59, 0x5C5A, 0x5C5C, 0x5C62, 
+    0x5C63, 0x5C67, 0x5C68, 0x5C69},
+    {0x5C6D, 0x5C70, 0x5C74, 0x5C75, 0x5C7A, 0x5C7B, 0x5C7C, 0x5C7D, 0x5C87, 
+    0x5C88, 0x5C8A, 0x5C8F, 0x5C92, 0x5C9D, 0x5C9F, 0x5CA0, 0x5CA2, 0x5CA3, 
+    0x5CA6, 0x5CAA, 0x5CB2, 0x5CB4, 0x5CB5, 0x5CBA, 0x5CC9, 0x5CCB, 0x5CD2, 
+    0x5CDD, 0x5CD7, 0x5CEE, 0x5CF1, 0x5CF2, 0x5CF4, 0x5D01, 0x5D06, 0x5D0D, 
+    0x5D12, 0x5D2B, 0x5D23, 0x5D24, 0x5D26, 0x5D27, 0x5D31, 0x5D34, 0x5D39, 
+    0x5D3D, 0x5D3F, 0x5D42, 0x5D43, 0x5D46, 0x5D48, 0x5D55, 0x5D51, 0x5D59, 
+    0x5D4A, 0x5D5F, 0x5D60, 0x5D61, 0x5D62, 0x5D64, 0x5D6A, 0x5D6D, 0x5D70, 
+    0x5D79, 0x5D7A, 0x5D7E, 0x5D7F, 0x5D81, 0x5D83, 0x5D88, 0x5D8A, 0x5D92, 
+    0x5D93, 0x5D94, 0x5D95, 0x5D99, 0x5D9B, 0x5D9F, 0x5DA0, 0x5DA7, 0x5DAB, 
+    0x5DB0, 0x5DB4, 0x5DB8, 0x5DB9, 0x5DC3, 0x5DC7, 0x5DCB, 0x5DD0, 0x5DCE, 
+    0x5DD8, 0x5DD9, 0x5DE0, 0x5DE4},
+    {0x5DE9, 0x5DF8, 0x5DF9, 0x5E00, 0x5E07, 0x5E0D, 0x5E12, 0x5E14, 0x5E15, 
+    0x5E18, 0x5E1F, 0x5E20, 0x5E2E, 0x5E28, 0x5E32, 0x5E35, 0x5E3E, 0x5E4B, 
+    0x5E50, 0x5E49, 0x5E51, 0x5E56, 0x5E58, 0x5E5B, 0x5E5C, 0x5E5E, 0x5E68, 
+    0x5E6A, 0x5E6B, 0x5E6C, 0x5E6D, 0x5E6E, 0x5E70, 0x5E80, 0x5E8B, 0x5E8E, 
+    0x5EA2, 0x5EA4, 0x5EA5, 0x5EA8, 0x5EAA, 0x5EAC, 0x5EB1, 0x5EB3, 0x5EBD, 
+    0x5EBE, 0x5EBF, 0x5EC6, 0x5ECC, 0x5ECB, 0x5ECE, 0x5ED1, 0x5ED2, 0x5ED4, 
+    0x5ED5, 0x5EDC, 0x5EDE, 0x5EE5, 0x5EEB, 0x5F02, 0x5F06, 0x5F07, 0x5F08, 
+    0x5F0E, 0x5F19, 0x5F1C, 0x5F1D, 0x5F21, 0x5F22, 0x5F23, 0x5F24, 0x5F28, 
+    0x5F2B, 0x5F2C, 0x5F2E, 0x5F30, 0x5F34, 0x5F36, 0x5F3B, 0x5F3D, 0x5F3F, 
+    0x5F40, 0x5F44, 0x5F45, 0x5F47, 0x5F4D, 0x5F50, 0x5F54, 0x5F58, 0x5F5B, 
+    0x5F60, 0x5F63, 0x5F64, 0x5F67},
+    {0x5F6F, 0x5F72, 0x5F74, 0x5F75, 0x5F78, 0x5F7A, 0x5F7D, 0x5F7E, 0x5F89, 
+    0x5F8D, 0x5F8F, 0x5F96, 0x5F9C, 0x5F9D, 0x5FA2, 0x5FA7, 0x5FAB, 0x5FA4, 
+    0x5FAC, 0x5FAF, 0x5FB0, 0x5FB1, 0x5FB8, 0x5FC4, 0x5FC7, 0x5FC8, 0x5FC9, 
+    0x5FCB, 0x5FD0, 0x5FD1, 0x5FD2, 0x5FD3, 0x5FD4, 0x5FDE, 0x5FE1, 0x5FE2, 
+    0x5FE8, 0x5FE9, 0x5FEA, 0x5FEC, 0x5FED, 0x5FEE, 0x5FEF, 0x5FF2, 0x5FF3, 
+    0x5FF6, 0x5FFA, 0x5FFC, 0x6007, 0x600A, 0x600D, 0x6013, 0x6014, 0x6017, 
+    0x6018, 0x601A, 0x601F, 0x6024, 0x602D, 0x6033, 0x6035, 0x6040, 0x6047, 
+    0x6048, 0x6049, 0x604C, 0x6051, 0x6054, 0x6056, 0x6057, 0x605D, 0x6061, 
+    0x6067, 0x6071, 0x607E, 0x607F, 0x6082, 0x6086, 0x6088, 0x608A, 0x608E, 
+    0x6091, 0x6093, 0x6095, 0x6098, 0x609D, 0x609E, 0x60A2, 0x60A4, 0x60A5, 
+    0x60A8, 0x60B0, 0x60B1, 0x60B7},
+    {0x60BB, 0x60BE, 0x60C2, 0x60C4, 0x60C8, 0x60C9, 0x60CA, 0x60CB, 0x60CE, 
+    0x60CF, 0x60D4, 0x60D5, 0x60D9, 0x60DB, 0x60DD, 0x60DE, 0x60E2, 0x60E5, 
+    0x60F2, 0x60F5, 0x60F8, 0x60FC, 0x60FD, 0x6102, 0x6107, 0x610A, 0x610C, 
+    0x6110, 0x6111, 0x6112, 0x6113, 0x6114, 0x6116, 0x6117, 0x6119, 0x611C, 
+    0x611E, 0x6122, 0x612A, 0x612B, 0x6130, 0x6131, 0x6135, 0x6136, 0x6137, 
+    0x6139, 0x6141, 0x6145, 0x6146, 0x6149, 0x615E, 0x6160, 0x616C, 0x6172, 
+    0x6178, 0x617B, 0x617C, 0x617F, 0x6180, 0x6181, 0x6183, 0x6184, 0x618B, 
+    0x618D, 0x6192, 0x6193, 0x6197, 0x6198, 0x619C, 0x619D, 0x619F, 0x61A0, 
+    0x61A5, 0x61A8, 0x61AA, 0x61AD, 0x61B8, 0x61B9, 0x61BC, 0x61C0, 0x61C1, 
+    0x61C2, 0x61CE, 0x61CF, 0x61D5, 0x61DC, 0x61DD, 0x61DE, 0x61DF, 0x61E1, 
+    0x61E2, 0x61E7, 0x61E9, 0x61E5},
+    {0x61EC, 0x61ED, 0x61EF, 0x6201, 0x6203, 0x6204, 0x6207, 0x6213, 0x6215, 
+    0x621C, 0x6220, 0x6222, 0x6223, 0x6227, 0x6229, 0x622B, 0x6239, 0x623D, 
+    0x6242, 0x6243, 0x6244, 0x6246, 0x624C, 0x6250, 0x6251, 0x6252, 0x6254, 
+    0x6256, 0x625A, 0x625C, 0x6264, 0x626D, 0x626F, 0x6273, 0x627A, 0x627D, 
+    0x628D, 0x628E, 0x628F, 0x6290, 0x62A6, 0x62A8, 0x62B3, 0x62B6, 0x62B7, 
+    0x62BA, 0x62BE, 0x62BF, 0x62C4, 0x62CE, 0x62D5, 0x62D6, 0x62DA, 0x62EA, 
+    0x62F2, 0x62F4, 0x62FC, 0x62FD, 0x6303, 0x6304, 0x630A, 0x630B, 0x630D, 
+    0x6310, 0x6313, 0x6316, 0x6318, 0x6329, 0x632A, 0x632D, 0x6335, 0x6336, 
+    0x6339, 0x633C, 0x6341, 0x6342, 0x6343, 0x6344, 0x6346, 0x634A, 0x634B, 
+    0x634E, 0x6352, 0x6353, 0x6354, 0x6358, 0x635B, 0x6365, 0x6366, 0x636C, 
+    0x636D, 0x6371, 0x6374, 0x6375},
+    {0x6378, 0x637C, 0x637D, 0x637F, 0x6382, 0x6384, 0x6387, 0x638A, 0x6390, 
+    0x6394, 0x6395, 0x6399, 0x639A, 0x639E, 0x63A4, 0x63A6, 0x63AD, 0x63AE, 
+    0x63AF, 0x63BD, 0x63C1, 0x63C5, 0x63C8, 0x63CE, 0x63D1, 0x63D3, 0x63D4, 
+    0x63D5, 0x63DC, 0x63E0, 0x63E5, 0x63EA, 0x63EC, 0x63F2, 0x63F3, 0x63F5, 
+    0x63F8, 0x63F9, 0x6409, 0x640A, 0x6410, 0x6412, 0x6414, 0x6418, 0x641E, 
+    0x6420, 0x6422, 0x6424, 0x6425, 0x6429, 0x642A, 0x642F, 0x6430, 0x6435, 
+    0x643D, 0x643F, 0x644B, 0x644F, 0x6451, 0x6452, 0x6453, 0x6454, 0x645A, 
+    0x645B, 0x645C, 0x645D, 0x645F, 0x6460, 0x6461, 0x6463, 0x646D, 0x6473, 
+    0x6474, 0x647B, 0x647D, 0x6485, 0x6487, 0x648F, 0x6490, 0x6491, 0x6498, 
+    0x6499, 0x649B, 0x649D, 0x649F, 0x64A1, 0x64A3, 0x64A6, 0x64A8, 0x64AC, 
+    0x64B3, 0x64BD, 0x64BE, 0x64BF},
+    {0x64C4, 0x64C9, 0x64CA, 0x64CB, 0x64CC, 0x64CE, 0x64D0, 0x64D1, 0x64D5, 
+    0x64D7, 0x64E4, 0x64E5, 0x64E9, 0x64EA, 0x64ED, 0x64F0, 0x64F5, 0x64F7, 
+    0x64FB, 0x64FF, 0x6501, 0x6504, 0x6508, 0x6509, 0x650A, 0x650F, 0x6513, 
+    0x6514, 0x6516, 0x6519, 0x651B, 0x651E, 0x651F, 0x6522, 0x6526, 0x6529, 
+    0x652E, 0x6531, 0x653A, 0x653C, 0x653D, 0x6543, 0x6547, 0x6549, 0x6550, 
+    0x6552, 0x6554, 0x655F, 0x6560, 0x6567, 0x656B, 0x657A, 0x657D, 0x6581, 
+    0x6585, 0x658A, 0x6592, 0x6595, 0x6598, 0x659D, 0x65A0, 0x65A3, 0x65A6, 
+    0x65AE, 0x65B2, 0x65B3, 0x65B4, 0x65BF, 0x65C2, 0x65C8, 0x65C9, 0x65CE, 
+    0x65D0, 0x65D4, 0x65D6, 0x65D8, 0x65DF, 0x65F0, 0x65F2, 0x65F4, 0x65F5, 
+    0x65F9, 0x65FE, 0x65FF, 0x6600, 0x6604, 0x6608, 0x6609, 0x660D, 0x6611, 
+    0x6612, 0x6615, 0x6616, 0x661D},
+    {0x661E, 0x6621, 0x6622, 0x6623, 0x6624, 0x6626, 0x6629, 0x662A, 0x662B, 
+    0x662C, 0x662E, 0x6630, 0x6631, 0x6633, 0x6639, 0x6637, 0x6640, 0x6645, 
+    0x6646, 0x664A, 0x664C, 0x6651, 0x664E, 0x6657, 0x6658, 0x6659, 0x665B, 
+    0x665C, 0x6660, 0x6661, 0x66FB, 0x666A, 0x666B, 0x666C, 0x667E, 0x6673, 
+    0x6675, 0x667F, 0x6677, 0x6678, 0x6679, 0x667B, 0x6680, 0x667C, 0x668B, 
+    0x668C, 0x668D, 0x6690, 0x6692, 0x6699, 0x669A, 0x669B, 0x669C, 0x669F, 
+    0x66A0, 0x66A4, 0x66AD, 0x66B1, 0x66B2, 0x66B5, 0x66BB, 0x66BF, 0x66C0, 
+    0x66C2, 0x66C3, 0x66C8, 0x66CC, 0x66CE, 0x66CF, 0x66D4, 0x66DB, 0x66DF, 
+    0x66E8, 0x66EB, 0x66EC, 0x66EE, 0x66FA, 0x6705, 0x6707, 0x670E, 0x6713, 
+    0x6719, 0x671C, 0x6720, 0x6722, 0x6733, 0x673E, 0x6745, 0x6747, 0x6748, 
+    0x674C, 0x6754, 0x6755, 0x675D},
+    {0x6766, 0x676C, 0x676E, 0x6774, 0x6776, 0x677B, 0x6781, 0x6784, 0x678E, 
+    0x678F, 0x6791, 0x6793, 0x6796, 0x6798, 0x6799, 0x679B, 0x67B0, 0x67B1, 
+    0x67B2, 0x67B5, 0x67BB, 0x67BC, 0x67BD, 0x67F9, 0x67C0, 0x67C2, 0x67C3, 
+    0x67C5, 0x67C8, 0x67C9, 0x67D2, 0x67D7, 0x67D9, 0x67DC, 0x67E1, 0x67E6, 
+    0x67F0, 0x67F2, 0x67F6, 0x67F7, 0x6852, 0x6814, 0x6819, 0x681D, 0x681F, 
+    0x6828, 0x6827, 0x682C, 0x682D, 0x682F, 0x6830, 0x6831, 0x6833, 0x683B, 
+    0x683F, 0x6844, 0x6845, 0x684A, 0x684C, 0x6855, 0x6857, 0x6858, 0x685B, 
+    0x686B, 0x686E, 0x686F, 0x6870, 0x6871, 0x6872, 0x6875, 0x6879, 0x687A, 
+    0x687B, 0x687C, 0x6882, 0x6884, 0x6886, 0x6888, 0x6896, 0x6898, 0x689A, 
+    0x689C, 0x68A1, 0x68A3, 0x68A5, 0x68A9, 0x68AA, 0x68AE, 0x68B2, 0x68BB, 
+    0x68C5, 0x68C8, 0x68CC, 0x68CF},
+    {0x68D0, 0x68D1, 0x68D3, 0x68D6, 0x68D9, 0x68DC, 0x68DD, 0x68E5, 0x68E8, 
+    0x68EA, 0x68EB, 0x68EC, 0x68ED, 0x68F0, 0x68F1, 0x68F5, 0x68F6, 0x68FB, 
+    0x68FC, 0x68FD, 0x6906, 0x6909, 0x690A, 0x6910, 0x6911, 0x6913, 0x6916, 
+    0x6917, 0x6931, 0x6933, 0x6935, 0x6938, 0x693B, 0x6942, 0x6945, 0x6949, 
+    0x694E, 0x6957, 0x695B, 0x6963, 0x6964, 0x6965, 0x6966, 0x6968, 0x6969, 
+    0x696C, 0x6970, 0x6971, 0x6972, 0x697A, 0x697B, 0x697F, 0x6980, 0x698D, 
+    0x6992, 0x6996, 0x6998, 0x69A1, 0x69A5, 0x69A6, 0x69A8, 0x69AB, 0x69AD, 
+    0x69AF, 0x69B7, 0x69B8, 0x69BA, 0x69BC, 0x69C5, 0x69C8, 0x69D1, 0x69D6, 
+    0x69D7, 0x69E2, 0x69E5, 0x69EE, 0x69EF, 0x69F1, 0x69F3, 0x69F5, 0x69FE, 
+    0x6A00, 0x6A01, 0x6A03, 0x6A0F, 0x6A11, 0x6A15, 0x6A1A, 0x6A1D, 0x6A20, 
+    0x6A24, 0x6A28, 0x6A30, 0x6A32},
+    {0x6A34, 0x6A37, 0x6A3B, 0x6A3E, 0x6A3F, 0x6A45, 0x6A46, 0x6A49, 0x6A4A, 
+    0x6A4E, 0x6A50, 0x6A51, 0x6A52, 0x6A55, 0x6A56, 0x6A5B, 0x6A64, 0x6A67, 
+    0x6A6A, 0x6A71, 0x6A73, 0x6A7E, 0x6A81, 0x6A83, 0x6A86, 0x6A87, 0x6A89, 
+    0x6A8B, 0x6A91, 0x6A9B, 0x6A9D, 0x6A9E, 0x6A9F, 0x6AA5, 0x6AAB, 0x6AAF, 
+    0x6AB0, 0x6AB1, 0x6AB4, 0x6ABD, 0x6ABE, 0x6ABF, 0x6AC6, 0x6AC9, 0x6AC8, 
+    0x6ACC, 0x6AD0, 0x6AD4, 0x6AD5, 0x6AD6, 0x6ADC, 0x6ADD, 0x6AE4, 0x6AE7, 
+    0x6AEC, 0x6AF0, 0x6AF1, 0x6AF2, 0x6AFC, 0x6AFD, 0x6B02, 0x6B03, 0x6B06, 
+    0x6B07, 0x6B09, 0x6B0F, 0x6B10, 0x6B11, 0x6B17, 0x6B1B, 0x6B1E, 0x6B24, 
+    0x6B28, 0x6B2B, 0x6B2C, 0x6B2F, 0x6B35, 0x6B36, 0x6B3B, 0x6B3F, 0x6B46, 
+    0x6B4A, 0x6B4D, 0x6B52, 0x6B56, 0x6B58, 0x6B5D, 0x6B60, 0x6B67, 0x6B6B, 
+    0x6B6E, 0x6B70, 0x6B75, 0x6B7D},
+    {0x6B7E, 0x6B82, 0x6B85, 0x6B97, 0x6B9B, 0x6B9F, 0x6BA0, 0x6BA2, 0x6BA3, 
+    0x6BA8, 0x6BA9, 0x6BAC, 0x6BAD, 0x6BAE, 0x6BB0, 0x6BB8, 0x6BB9, 0x6BBD, 
+    0x6BBE, 0x6BC3, 0x6BC4, 0x6BC9, 0x6BCC, 0x6BD6, 0x6BDA, 0x6BE1, 0x6BE3, 
+    0x6BE6, 0x6BE7, 0x6BEE, 0x6BF1, 0x6BF7, 0x6BF9, 0x6BFF, 0x6C02, 0x6C04, 
+    0x6C05, 0x6C09, 0x6C0D, 0x6C0E, 0x6C10, 0x6C12, 0x6C19, 0x6C1F, 0x6C26, 
+    0x6C27, 0x6C28, 0x6C2C, 0x6C2E, 0x6C33, 0x6C35, 0x6C36, 0x6C3A, 0x6C3B, 
+    0x6C3F, 0x6C4A, 0x6C4B, 0x6C4D, 0x6C4F, 0x6C52, 0x6C54, 0x6C59, 0x6C5B, 
+    0x6C5C, 0x6C6B, 0x6C6D, 0x6C6F, 0x6C74, 0x6C76, 0x6C78, 0x6C79, 0x6C7B, 
+    0x6C85, 0x6C86, 0x6C87, 0x6C89, 0x6C94, 0x6C95, 0x6C97, 0x6C98, 0x6C9C, 
+    0x6C9F, 0x6CB0, 0x6CB2, 0x6CB4, 0x6CC2, 0x6CC6, 0x6CCD, 0x6CCF, 0x6CD0, 
+    0x6CD1, 0x6CD2, 0x6CD4, 0x6CD6},
+    {0x6CDA, 0x6CDC, 0x6CE0, 0x6CE7, 0x6CE9, 0x6CEB, 0x6CEC, 0x6CEE, 0x6CF2, 
+    0x6CF4, 0x6D04, 0x6D07, 0x6D0A, 0x6D0E, 0x6D0F, 0x6D11, 0x6D13, 0x6D1A, 
+    0x6D26, 0x6D27, 0x6D28, 0x6C67, 0x6D2E, 0x6D2F, 0x6D31, 0x6D39, 0x6D3C, 
+    0x6D3F, 0x6D57, 0x6D5E, 0x6D5F, 0x6D61, 0x6D65, 0x6D67, 0x6D6F, 0x6D70, 
+    0x6D7C, 0x6D82, 0x6D87, 0x6D91, 0x6D92, 0x6D94, 0x6D96, 0x6D97, 0x6D98, 
+    0x6DAA, 0x6DAC, 0x6DB4, 0x6DB7, 0x6DB9, 0x6DBD, 0x6DBF, 0x6DC4, 0x6DC8, 
+    0x6DCA, 0x6DCE, 0x6DCF, 0x6DD6, 0x6DDB, 0x6DDD, 0x6DDF, 0x6DE0, 0x6DE2, 
+    0x6DE5, 0x6DE9, 0x6DEF, 0x6DF0, 0x6DF4, 0x6DF6, 0x6DFC, 0x6E00, 0x6E04, 
+    0x6E1E, 0x6E22, 0x6E27, 0x6E32, 0x6E36, 0x6E39, 0x6E3B, 0x6E3C, 0x6E44, 
+    0x6E45, 0x6E48, 0x6E49, 0x6E4B, 0x6E4F, 0x6E51, 0x6E52, 0x6E53, 0x6E54, 
+    0x6E57, 0x6E5C, 0x6E5D, 0x6E5E},
+    {0x6E62, 0x6E63, 0x6E68, 0x6E73, 0x6E7B, 0x6E7D, 0x6E8D, 0x6E93, 0x6E99, 
+    0x6EA0, 0x6EA7, 0x6EAD, 0x6EAE, 0x6EB1, 0x6EB3, 0x6EBB, 0x6EBF, 0x6EC0, 
+    0x6EC1, 0x6EC3, 0x6EC7, 0x6EC8, 0x6ECA, 0x6ECD, 0x6ECE, 0x6ECF, 0x6EEB, 
+    0x6EED, 0x6EEE, 0x6EF9, 0x6EFB, 0x6EFD, 0x6F04, 0x6F08, 0x6F0A, 0x6F0C, 
+    0x6F0D, 0x6F16, 0x6F18, 0x6F1A, 0x6F1B, 0x6F26, 0x6F29, 0x6F2A, 0x6F2F, 
+    0x6F30, 0x6F33, 0x6F36, 0x6F3B, 0x6F3C, 0x6F2D, 0x6F4F, 0x6F51, 0x6F52, 
+    0x6F53, 0x6F57, 0x6F59, 0x6F5A, 0x6F5D, 0x6F5E, 0x6F61, 0x6F62, 0x6F68, 
+    0x6F6C, 0x6F7D, 0x6F7E, 0x6F83, 0x6F87, 0x6F88, 0x6F8B, 0x6F8C, 0x6F8D, 
+    0x6F90, 0x6F92, 0x6F93, 0x6F94, 0x6F96, 0x6F9A, 0x6F9F, 0x6FA0, 0x6FA5, 
+    0x6FA6, 0x6FA7, 0x6FA8, 0x6FAE, 0x6FAF, 0x6FB0, 0x6FB5, 0x6FB6, 0x6FBC, 
+    0x6FC5, 0x6FC7, 0x6FC8, 0x6FCA},
+    {0x6FDA, 0x6FDE, 0x6FE8, 0x6FE9, 0x6FF0, 0x6FF5, 0x6FF9, 0x6FFC, 0x6FFD, 
+    0x7000, 0x7005, 0x7006, 0x7007, 0x700D, 0x7017, 0x7020, 0x7023, 0x702F, 
+    0x7034, 0x7037, 0x7039, 0x703C, 0x7043, 0x7044, 0x7048, 0x7049, 0x704A, 
+    0x704B, 0x7054, 0x7055, 0x705D, 0x705E, 0x704E, 0x7064, 0x7065, 0x706C, 
+    0x706E, 0x7075, 0x7076, 0x707E, 0x7081, 0x7085, 0x7086, 0x7094, 0x7095, 
+    0x7096, 0x7097, 0x7098, 0x709B, 0x70A4, 0x70AB, 0x70B0, 0x70B1, 0x70B4, 
+    0x70B7, 0x70CA, 0x70D1, 0x70D3, 0x70D4, 0x70D5, 0x70D6, 0x70D8, 0x70DC, 
+    0x70E4, 0x70FA, 0x7103, 0x7104, 0x7105, 0x7106, 0x7107, 0x710B, 0x710C, 
+    0x710F, 0x711E, 0x7120, 0x712B, 0x712D, 0x712F, 0x7130, 0x7131, 0x7138, 
+    0x7141, 0x7145, 0x7146, 0x7147, 0x714A, 0x714B, 0x7150, 0x7152, 0x7157, 
+    0x715A, 0x715C, 0x715E, 0x7160},
+    {0x7168, 0x7179, 0x7180, 0x7185, 0x7187, 0x718C, 0x7192, 0x719A, 0x719B, 
+    0x71A0, 0x71A2, 0x71AF, 0x71B0, 0x71B2, 0x71B3, 0x71BA, 0x71BF, 0x71C0, 
+    0x71C1, 0x71C4, 0x71CB, 0x71CC, 0x71D3, 0x71D6, 0x71D9, 0x71DA, 0x71DC, 
+    0x71F8, 0x71FE, 0x7200, 0x7207, 0x7208, 0x7209, 0x7213, 0x7217, 0x721A, 
+    0x721D, 0x721F, 0x7224, 0x722B, 0x722F, 0x7234, 0x7238, 0x7239, 0x7241, 
+    0x7242, 0x7243, 0x7245, 0x724E, 0x724F, 0x7250, 0x7253, 0x7255, 0x7256, 
+    0x725A, 0x725C, 0x725E, 0x7260, 0x7263, 0x7268, 0x726B, 0x726E, 0x726F, 
+    0x7271, 0x7277, 0x7278, 0x727B, 0x727C, 0x727F, 0x7284, 0x7289, 0x728D, 
+    0x728E, 0x7293, 0x729B, 0x72A8, 0x72AD, 0x72AE, 0x72B1, 0x72B4, 0x72BE, 
+    0x72C1, 0x72C7, 0x72C9, 0x72CC, 0x72D5, 0x72D6, 0x72D8, 0x72DF, 0x72E5, 
+    0x72F3, 0x72F4, 0x72FA, 0x72FB},
+    {0x72FE, 0x7302, 0x7304, 0x7305, 0x7307, 0x730B, 0x730D, 0x7312, 0x7313, 
+    0x7318, 0x7319, 0x731E, 0x7322, 0x7324, 0x7327, 0x7328, 0x732C, 0x7331, 
+    0x7332, 0x7335, 0x733A, 0x733B, 0x733D, 0x7343, 0x734D, 0x7350, 0x7352, 
+    0x7356, 0x7358, 0x735D, 0x735E, 0x735F, 0x7360, 0x7366, 0x7367, 0x7369, 
+    0x736B, 0x736C, 0x736E, 0x736F, 0x7371, 0x7377, 0x7379, 0x737C, 0x7380, 
+    0x7381, 0x7383, 0x7385, 0x7386, 0x738E, 0x7390, 0x7393, 0x7395, 0x7397, 
+    0x7398, 0x739C, 0x739E, 0x739F, 0x73A0, 0x73A2, 0x73A5, 0x73A6, 0x73AA, 
+    0x73AB, 0x73AD, 0x73B5, 0x73B7, 0x73B9, 0x73BC, 0x73BD, 0x73BF, 0x73C5, 
+    0x73C6, 0x73C9, 0x73CB, 0x73CC, 0x73CF, 0x73D2, 0x73D3, 0x73D6, 0x73D9, 
+    0x73DD, 0x73E1, 0x73E3, 0x73E6, 0x73E7, 0x73E9, 0x73F4, 0x73F5, 0x73F7, 
+    0x73F9, 0x73FA, 0x73FB, 0x73FD},
+    {0x73FF, 0x7400, 0x7401, 0x7404, 0x7407, 0x740A, 0x7411, 0x741A, 0x741B, 
+    0x7424, 0x7426, 0x7428, 0x7429, 0x742A, 0x742B, 0x742C, 0x742D, 0x742E, 
+    0x742F, 0x7430, 0x7431, 0x7439, 0x7440, 0x7443, 0x7444, 0x7446, 0x7447, 
+    0x744B, 0x744D, 0x7451, 0x7452, 0x7457, 0x745D, 0x7462, 0x7466, 0x7467, 
+    0x7468, 0x746B, 0x746D, 0x746E, 0x7471, 0x7472, 0x7480, 0x7481, 0x7485, 
+    0x7486, 0x7487, 0x7489, 0x748F, 0x7490, 0x7491, 0x7492, 0x7498, 0x7499, 
+    0x749A, 0x749C, 0x749F, 0x74A0, 0x74A1, 0x74A3, 0x74A6, 0x74A8, 0x74A9, 
+    0x74AA, 0x74AB, 0x74AE, 0x74AF, 0x74B1, 0x74B2, 0x74B5, 0x74B9, 0x74BB, 
+    0x74BF, 0x74C8, 0x74C9, 0x74CC, 0x74D0, 0x74D3, 0x74D8, 0x74DA, 0x74DB, 
+    0x74DE, 0x74DF, 0x74E4, 0x74E8, 0x74EA, 0x74EB, 0x74EF, 0x74F4, 0x74FA, 
+    0x74FB, 0x74FC, 0x74FF, 0x7506},
+    {0x7512, 0x7516, 0x7517, 0x7520, 0x7521, 0x7524, 0x7527, 0x7529, 0x752A, 
+    0x752F, 0x7536, 0x7539, 0x753D, 0x753E, 0x753F, 0x7540, 0x7543, 0x7547, 
+    0x7548, 0x754E, 0x7550, 0x7552, 0x7557, 0x755E, 0x755F, 0x7561, 0x756F, 
+    0x7571, 0x7579, 0x757A, 0x757B, 0x757C, 0x757D, 0x757E, 0x7581, 0x7585, 
+    0x7590, 0x7592, 0x7593, 0x7595, 0x7599, 0x759C, 0x75A2, 0x75A4, 0x75B4, 
+    0x75BA, 0x75BF, 0x75C0, 0x75C1, 0x75C4, 0x75C6, 0x75CC, 0x75CE, 0x75CF, 
+    0x75D7, 0x75DC, 0x75DF, 0x75E0, 0x75E1, 0x75E4, 0x75E7, 0x75EC, 0x75EE, 
+    0x75EF, 0x75F1, 0x75F9, 0x7600, 0x7602, 0x7603, 0x7604, 0x7607, 0x7608, 
+    0x760A, 0x760C, 0x760F, 0x7612, 0x7613, 0x7615, 0x7616, 0x7619, 0x761B, 
+    0x761C, 0x761D, 0x761E, 0x7623, 0x7625, 0x7626, 0x7629, 0x762D, 0x7632, 
+    0x7633, 0x7635, 0x7638, 0x7639},
+    {0x763A, 0x763C, 0x764A, 0x7640, 0x7641, 0x7643, 0x7644, 0x7645, 0x7649, 
+    0x764B, 0x7655, 0x7659, 0x765F, 0x7664, 0x7665, 0x766D, 0x766E, 0x766F, 
+    0x7671, 0x7674, 0x7681, 0x7685, 0x768C, 0x768D, 0x7695, 0x769B, 0x769C, 
+    0x769D, 0x769F, 0x76A0, 0x76A2, 0x76A3, 0x76A4, 0x76A5, 0x76A6, 0x76A7, 
+    0x76A8, 0x76AA, 0x76AD, 0x76BD, 0x76C1, 0x76C5, 0x76C9, 0x76CB, 0x76CC, 
+    0x76CE, 0x76D4, 0x76D9, 0x76E0, 0x76E6, 0x76E8, 0x76EC, 0x76F0, 0x76F1, 
+    0x76F6, 0x76F9, 0x76FC, 0x7700, 0x7706, 0x770A, 0x770E, 0x7712, 0x7714, 
+    0x7715, 0x7717, 0x7719, 0x771A, 0x771C, 0x7722, 0x7728, 0x772D, 0x772E, 
+    0x772F, 0x7734, 0x7735, 0x7736, 0x7739, 0x773D, 0x773E, 0x7742, 0x7745, 
+    0x7746, 0x774A, 0x774D, 0x774E, 0x774F, 0x7752, 0x7756, 0x7757, 0x775C, 
+    0x775E, 0x775F, 0x7760, 0x7762},
+    {0x7764, 0x7767, 0x776A, 0x776C, 0x7770, 0x7772, 0x7773, 0x7774, 0x777A, 
+    0x777D, 0x7780, 0x7784, 0x778C, 0x778D, 0x7794, 0x7795, 0x7796, 0x779A, 
+    0x779F, 0x77A2, 0x77A7, 0x77AA, 0x77AE, 0x77AF, 0x77B1, 0x77B5, 0x77BE, 
+    0x77C3, 0x77C9, 0x77D1, 0x77D2, 0x77D5, 0x77D9, 0x77DE, 0x77DF, 0x77E0, 
+    0x77E4, 0x77E6, 0x77EA, 0x77EC, 0x77F0, 0x77F1, 0x77F4, 0x77F8, 0x77FB, 
+    0x7805, 0x7806, 0x7809, 0x780D, 0x780E, 0x7811, 0x781D, 0x7821, 0x7822, 
+    0x7823, 0x782D, 0x782E, 0x7830, 0x7835, 0x7837, 0x7843, 0x7844, 0x7847, 
+    0x7848, 0x784C, 0x784E, 0x7852, 0x785C, 0x785E, 0x7860, 0x7861, 0x7863, 
+    0x7864, 0x7868, 0x786A, 0x786E, 0x787A, 0x787E, 0x788A, 0x788F, 0x7894, 
+    0x7898, 0x78A1, 0x789D, 0x789E, 0x789F, 0x78A4, 0x78A8, 0x78AC, 0x78AD, 
+    0x78B0, 0x78B1, 0x78B2, 0x78B3},
+    {0x78BB, 0x78BD, 0x78BF, 0x78C7, 0x78C8, 0x78C9, 0x78CC, 0x78CE, 0x78D2, 
+    0x78D3, 0x78D5, 0x78D6, 0x78E4, 0x78DB, 0x78DF, 0x78E0, 0x78E1, 0x78E6, 
+    0x78EA, 0x78F2, 0x78F3, 0x7900, 0x78F6, 0x78F7, 0x78FA, 0x78FB, 0x78FF, 
+    0x7906, 0x790C, 0x7910, 0x791A, 0x791C, 0x791E, 0x791F, 0x7920, 0x7925, 
+    0x7927, 0x7929, 0x792D, 0x7931, 0x7934, 0x7935, 0x793B, 0x793D, 0x793F, 
+    0x7944, 0x7945, 0x7946, 0x794A, 0x794B, 0x794F, 0x7951, 0x7954, 0x7958, 
+    0x795B, 0x795C, 0x7967, 0x7969, 0x796B, 0x7972, 0x7979, 0x797B, 0x797C, 
+    0x797E, 0x798B, 0x798C, 0x7991, 0x7993, 0x7994, 0x7995, 0x7996, 0x7998, 
+    0x799B, 0x799C, 0x79A1, 0x79A8, 0x79A9, 0x79AB, 0x79AF, 0x79B1, 0x79B4, 
+    0x79B8, 0x79BB, 0x79C2, 0x79C4, 0x79C7, 0x79C8, 0x79CA, 0x79CF, 0x79D4, 
+    0x79D6, 0x79DA, 0x79DD, 0x79DE},
+    {0x79E0, 0x79E2, 0x79E5, 0x79EA, 0x79EB, 0x79ED, 0x79F1, 0x79F8, 0x79FC, 
+    0x7A02, 0x7A03, 0x7A07, 0x7A09, 0x7A0A, 0x7A0C, 0x7A11, 0x7A15, 0x7A1B, 
+    0x7A1E, 0x7A21, 0x7A27, 0x7A2B, 0x7A2D, 0x7A2F, 0x7A30, 0x7A34, 0x7A35, 
+    0x7A38, 0x7A39, 0x7A3A, 0x7A44, 0x7A45, 0x7A47, 0x7A48, 0x7A4C, 0x7A55, 
+    0x7A56, 0x7A59, 0x7A5C, 0x7A5D, 0x7A5F, 0x7A60, 0x7A65, 0x7A67, 0x7A6A, 
+    0x7A6D, 0x7A75, 0x7A78, 0x7A7E, 0x7A80, 0x7A82, 0x7A85, 0x7A86, 0x7A8A, 
+    0x7A8B, 0x7A90, 0x7A91, 0x7A94, 0x7A9E, 0x7AA0, 0x7AA3, 0x7AAC, 0x7AB3, 
+    0x7AB5, 0x7AB9, 0x7ABB, 0x7ABC, 0x7AC6, 0x7AC9, 0x7ACC, 0x7ACE, 0x7AD1, 
+    0x7ADB, 0x7AE8, 0x7AE9, 0x7AEB, 0x7AEC, 0x7AF1, 0x7AF4, 0x7AFB, 0x7AFD, 
+    0x7AFE, 0x7B07, 0x7B14, 0x7B1F, 0x7B23, 0x7B27, 0x7B29, 0x7B2A, 0x7B2B, 
+    0x7B2D, 0x7B2E, 0x7B2F, 0x7B30},
+    {0x7B31, 0x7B34, 0x7B3D, 0x7B3F, 0x7B40, 0x7B41, 0x7B47, 0x7B4E, 0x7B55, 
+    0x7B60, 0x7B64, 0x7B66, 0x7B69, 0x7B6A, 0x7B6D, 0x7B6F, 0x7B72, 0x7B73, 
+    0x7B77, 0x7B84, 0x7B89, 0x7B8E, 0x7B90, 0x7B91, 0x7B96, 0x7B9B, 0x7B9E, 
+    0x7BA0, 0x7BA5, 0x7BAC, 0x7BAF, 0x7BB0, 0x7BB2, 0x7BB5, 0x7BB6, 0x7BBA, 
+    0x7BBB, 0x7BBC, 0x7BBD, 0x7BC2, 0x7BC5, 0x7BC8, 0x7BCA, 0x7BD4, 0x7BD6, 
+    0x7BD7, 0x7BD9, 0x7BDA, 0x7BDB, 0x7BE8, 0x7BEA, 0x7BF2, 0x7BF4, 0x7BF5, 
+    0x7BF8, 0x7BF9, 0x7BFA, 0x7BFC, 0x7BFE, 0x7C01, 0x7C02, 0x7C03, 0x7C04, 
+    0x7C06, 0x7C09, 0x7C0B, 0x7C0C, 0x7C0E, 0x7C0F, 0x7C19, 0x7C1B, 0x7C20, 
+    0x7C25, 0x7C26, 0x7C28, 0x7C2C, 0x7C31, 0x7C33, 0x7C34, 0x7C36, 0x7C39, 
+    0x7C3A, 0x7C46, 0x7C4A, 0x7C55, 0x7C51, 0x7C52, 0x7C53, 0x7C59, 0x7C5A, 
+    0x7C5B, 0x7C5C, 0x7C5D, 0x7C5E},
+    {0x7C61, 0x7C63, 0x7C67, 0x7C69, 0x7C6D, 0x7C6E, 0x7C70, 0x7C72, 0x7C79, 
+    0x7C7C, 0x7C7D, 0x7C86, 0x7C87, 0x7C8F, 0x7C94, 0x7C9E, 0x7CA0, 0x7CA6, 
+    0x7CB0, 0x7CB6, 0x7CB7, 0x7CBA, 0x7CBB, 0x7CBC, 0x7CBF, 0x7CC4, 0x7CC7, 
+    0x7CC8, 0x7CC9, 0x7CCD, 0x7CCF, 0x7CD3, 0x7CD4, 0x7CD5, 0x7CD7, 0x7CD9, 
+    0x7CDA, 0x7CDD, 0x7CE6, 0x7CE9, 0x7CEB, 0x7CF5, 0x7D03, 0x7D07, 0x7D08, 
+    0x7D09, 0x7D0F, 0x7D11, 0x7D12, 0x7D13, 0x7D16, 0x7D1D, 0x7D1E, 0x7D23, 
+    0x7D26, 0x7D2A, 0x7D2D, 0x7D31, 0x7D3C, 0x7D3D, 0x7D3E, 0x7D40, 0x7D41, 
+    0x7D47, 0x7D48, 0x7D4D, 0x7D51, 0x7D53, 0x7D57, 0x7D59, 0x7D5A, 0x7D5C, 
+    0x7D5D, 0x7D65, 0x7D67, 0x7D6A, 0x7D70, 0x7D78, 0x7D7A, 0x7D7B, 0x7D7F, 
+    0x7D81, 0x7D82, 0x7D83, 0x7D85, 0x7D86, 0x7D88, 0x7D8B, 0x7D8C, 0x7D8D, 
+    0x7D91, 0x7D96, 0x7D97, 0x7D9D},
+    {0x7D9E, 0x7DA6, 0x7DA7, 0x7DAA, 0x7DB3, 0x7DB6, 0x7DB7, 0x7DB9, 0x7DC2, 
+    0x7DC3, 0x7DC4, 0x7DC5, 0x7DC6, 0x7DCC, 0x7DCD, 0x7DCE, 0x7DD7, 0x7DD9, 
+    0x7E00, 0x7DE2, 0x7DE5, 0x7DE6, 0x7DEA, 0x7DEB, 0x7DED, 0x7DF1, 0x7DF5, 
+    0x7DF6, 0x7DF9, 0x7DFA, 0x7E08, 0x7E10, 0x7E11, 0x7E15, 0x7E17, 0x7E1C, 
+    0x7E1D, 0x7E20, 0x7E27, 0x7E28, 0x7E2C, 0x7E2D, 0x7E2F, 0x7E33, 0x7E36, 
+    0x7E3F, 0x7E44, 0x7E45, 0x7E47, 0x7E4E, 0x7E50, 0x7E52, 0x7E58, 0x7E5F, 
+    0x7E61, 0x7E62, 0x7E65, 0x7E6B, 0x7E6E, 0x7E6F, 0x7E73, 0x7E78, 0x7E7E, 
+    0x7E81, 0x7E86, 0x7E87, 0x7E8A, 0x7E8D, 0x7E91, 0x7E95, 0x7E98, 0x7E9A, 
+    0x7E9D, 0x7E9E, 0x7F3C, 0x7F3B, 0x7F3D, 0x7F3E, 0x7F3F, 0x7F43, 0x7F44, 
+    0x7F47, 0x7F4F, 0x7F52, 0x7F53, 0x7F5B, 0x7F5C, 0x7F5D, 0x7F61, 0x7F63, 
+    0x7F64, 0x7F65, 0x7F66, 0x7F6D},
+    {0x7F71, 0x7F7D, 0x7F7E, 0x7F7F, 0x7F80, 0x7F8B, 0x7F8D, 0x7F8F, 0x7F90, 
+    0x7F91, 0x7F96, 0x7F97, 0x7F9C, 0x7FA1, 0x7FA2, 0x7FA6, 0x7FAA, 0x7FAD, 
+    0x7FB4, 0x7FBC, 0x7FBF, 0x7FC0, 0x7FC3, 0x7FC8, 0x7FCE, 0x7FCF, 0x7FDB, 
+    0x7FDF, 0x7FE3, 0x7FE5, 0x7FE8, 0x7FEC, 0x7FEE, 0x7FEF, 0x7FF2, 0x7FFA, 
+    0x7FFD, 0x7FFE, 0x7FFF, 0x8007, 0x8008, 0x800A, 0x800D, 0x800E, 0x800F, 
+    0x8011, 0x8013, 0x8014, 0x8016, 0x801D, 0x801E, 0x801F, 0x8020, 0x8024, 
+    0x8026, 0x802C, 0x802E, 0x8030, 0x8034, 0x8035, 0x8037, 0x8039, 0x803A, 
+    0x803C, 0x803E, 0x8040, 0x8044, 0x8060, 0x8064, 0x8066, 0x806D, 0x8071, 
+    0x8075, 0x8081, 0x8088, 0x808E, 0x809C, 0x809E, 0x80A6, 0x80A7, 0x80AB, 
+    0x80B8, 0x80B9, 0x80C8, 0x80CD, 0x80CF, 0x80D2, 0x80D4, 0x80D5, 0x80D7, 
+    0x80D8, 0x80E0, 0x80ED, 0x80EE},
+    {0x80F0, 0x80F2, 0x80F3, 0x80F6, 0x80F9, 0x80FA, 0x80FE, 0x8103, 0x810B, 
+    0x8116, 0x8117, 0x8118, 0x811C, 0x811E, 0x8120, 0x8124, 0x8127, 0x812C, 
+    0x8130, 0x8135, 0x813A, 0x813C, 0x8145, 0x8147, 0x814A, 0x814C, 0x8152, 
+    0x8157, 0x8160, 0x8161, 0x8167, 0x8168, 0x8169, 0x816D, 0x816F, 0x8177, 
+    0x8181, 0x8190, 0x8184, 0x8185, 0x8186, 0x818B, 0x818E, 0x8196, 0x8198, 
+    0x819B, 0x819E, 0x81A2, 0x81AE, 0x81B2, 0x81B4, 0x81BB, 0x81CB, 0x81C3, 
+    0x81C5, 0x81CA, 0x81CE, 0x81CF, 0x81D5, 0x81D7, 0x81DB, 0x81DD, 0x81DE, 
+    0x81E1, 0x81E4, 0x81EB, 0x81EC, 0x81F0, 0x81F1, 0x81F2, 0x81F5, 0x81F6, 
+    0x81F8, 0x81F9, 0x81FD, 0x81FF, 0x8200, 0x8203, 0x820F, 0x8213, 0x8214, 
+    0x8219, 0x821A, 0x821D, 0x8221, 0x8222, 0x8228, 0x8232, 0x8234, 0x823A, 
+    0x8243, 0x8244, 0x8245, 0x8246},
+    {0x824B, 0x824E, 0x824F, 0x8251, 0x8256, 0x825C, 0x8260, 0x8263, 0x8267, 
+    0x826D, 0x8274, 0x827B, 0x827D, 0x827F, 0x8280, 0x8281, 0x8283, 0x8284, 
+    0x8287, 0x8289, 0x828A, 0x828E, 0x8291, 0x8294, 0x8296, 0x8298, 0x829A, 
+    0x829B, 0x82A0, 0x82A1, 0x82A3, 0x82A4, 0x82A7, 0x82A8, 0x82A9, 0x82AA, 
+    0x82AE, 0x82B0, 0x82B2, 0x82B4, 0x82B7, 0x82BA, 0x82BC, 0x82BE, 0x82BF, 
+    0x82C6, 0x82D0, 0x82D5, 0x82DA, 0x82E0, 0x82E2, 0x82E4, 0x82E8, 0x82EA, 
+    0x82ED, 0x82EF, 0x82F6, 0x82F7, 0x82FD, 0x82FE, 0x8300, 0x8301, 0x8307, 
+    0x8308, 0x830A, 0x830B, 0x8354, 0x831B, 0x831D, 0x831E, 0x831F, 0x8321, 
+    0x8322, 0x832C, 0x832D, 0x832E, 0x8330, 0x8333, 0x8337, 0x833A, 0x833C, 
+    0x833D, 0x8342, 0x8343, 0x8344, 0x8347, 0x834D, 0x834E, 0x8351, 0x8355, 
+    0x8356, 0x8357, 0x8370, 0x8378},
+    {0x837D, 0x837F, 0x8380, 0x8382, 0x8384, 0x8386, 0x838D, 0x8392, 0x8394, 
+    0x8395, 0x8398, 0x8399, 0x839B, 0x839C, 0x839D, 0x83A6, 0x83A7, 0x83A9, 
+    0x83AC, 0x83BE, 0x83BF, 0x83C0, 0x83C7, 0x83C9, 0x83CF, 0x83D0, 0x83D1, 
+    0x83D4, 0x83DD, 0x8353, 0x83E8, 0x83EA, 0x83F6, 0x83F8, 0x83F9, 0x83FC, 
+    0x8401, 0x8406, 0x840A, 0x840F, 0x8411, 0x8415, 0x8419, 0x83AD, 0x842F, 
+    0x8439, 0x8445, 0x8447, 0x8448, 0x844A, 0x844D, 0x844F, 0x8451, 0x8452, 
+    0x8456, 0x8458, 0x8459, 0x845A, 0x845C, 0x8460, 0x8464, 0x8465, 0x8467, 
+    0x846A, 0x8470, 0x8473, 0x8474, 0x8476, 0x8478, 0x847C, 0x847D, 0x8481, 
+    0x8485, 0x8492, 0x8493, 0x8495, 0x849E, 0x84A6, 0x84A8, 0x84A9, 0x84AA, 
+    0x84AF, 0x84B1, 0x84B4, 0x84BA, 0x84BD, 0x84BE, 0x84C0, 0x84C2, 0x84C7, 
+    0x84C8, 0x84CC, 0x84CF, 0x84D3},
+    {0x84DC, 0x84E7, 0x84EA, 0x84EF, 0x84F0, 0x84F1, 0x84F2, 0x84F7, 0x8532, 
+    0x84FA, 0x84FB, 0x84FD, 0x8502, 0x8503, 0x8507, 0x850C, 0x850E, 0x8510, 
+    0x851C, 0x851E, 0x8522, 0x8523, 0x8524, 0x8525, 0x8527, 0x852A, 0x852B, 
+    0x852F, 0x8533, 0x8534, 0x8536, 0x853F, 0x8546, 0x854F, 0x8550, 0x8551, 
+    0x8552, 0x8553, 0x8556, 0x8559, 0x855C, 0x855D, 0x855E, 0x855F, 0x8560, 
+    0x8561, 0x8562, 0x8564, 0x856B, 0x856F, 0x8579, 0x857A, 0x857B, 0x857D, 
+    0x857F, 0x8581, 0x8585, 0x8586, 0x8589, 0x858B, 0x858C, 0x858F, 0x8593, 
+    0x8598, 0x859D, 0x859F, 0x85A0, 0x85A2, 0x85A5, 0x85A7, 0x85B4, 0x85B6, 
+    0x85B7, 0x85B8, 0x85BC, 0x85BD, 0x85BE, 0x85BF, 0x85C2, 0x85C7, 0x85CA, 
+    0x85CB, 0x85CE, 0x85AD, 0x85D8, 0x85DA, 0x85DF, 0x85E0, 0x85E6, 0x85E8, 
+    0x85ED, 0x85F3, 0x85F6, 0x85FC},
+    {0x85FF, 0x8600, 0x8604, 0x8605, 0x860D, 0x860E, 0x8610, 0x8611, 0x8612, 
+    0x8618, 0x8619, 0x861B, 0x861E, 0x8621, 0x8627, 0x8629, 0x8636, 0x8638, 
+    0x863A, 0x863C, 0x863D, 0x8640, 0x8642, 0x8646, 0x8652, 0x8653, 0x8656, 
+    0x8657, 0x8658, 0x8659, 0x865D, 0x8660, 0x8661, 0x8662, 0x8663, 0x8664, 
+    0x8669, 0x866C, 0x866F, 0x8675, 0x8676, 0x8677, 0x867A, 0x868D, 0x8691, 
+    0x8696, 0x8698, 0x869A, 0x869C, 0x86A1, 0x86A6, 0x86A7, 0x86A8, 0x86AD, 
+    0x86B1, 0x86B3, 0x86B4, 0x86B5, 0x86B7, 0x86B8, 0x86B9, 0x86BF, 0x86C0, 
+    0x86C1, 0x86C3, 0x86C5, 0x86D1, 0x86D2, 0x86D5, 0x86D7, 0x86DA, 0x86DC, 
+    0x86E0, 0x86E3, 0x86E5, 0x86E7, 0x8688, 0x86FA, 0x86FC, 0x86FD, 0x8704, 
+    0x8705, 0x8707, 0x870B, 0x870E, 0x870F, 0x8710, 0x8713, 0x8714, 0x8719, 
+    0x871E, 0x871F, 0x8721, 0x8723},
+    {0x8728, 0x872E, 0x872F, 0x8731, 0x8732, 0x8739, 0x873A, 0x873C, 0x873D, 
+    0x873E, 0x8740, 0x8743, 0x8745, 0x874D, 0x8758, 0x875D, 0x8761, 0x8764, 
+    0x8765, 0x876F, 0x8771, 0x8772, 0x877B, 0x8783, 0x8784, 0x8785, 0x8786, 
+    0x8787, 0x8788, 0x8789, 0x878B, 0x878C, 0x8790, 0x8793, 0x8795, 0x8797, 
+    0x8798, 0x8799, 0x879E, 0x87A0, 0x87A3, 0x87A7, 0x87AC, 0x87AD, 0x87AE, 
+    0x87B1, 0x87B5, 0x87BE, 0x87BF, 0x87C1, 0x87C8, 0x87C9, 0x87CA, 0x87CE, 
+    0x87D5, 0x87D6, 0x87D9, 0x87DA, 0x87DC, 0x87DF, 0x87E2, 0x87E3, 0x87E4, 
+    0x87EA, 0x87EB, 0x87ED, 0x87F1, 0x87F3, 0x87F8, 0x87FA, 0x87FF, 0x8801, 
+    0x8803, 0x8806, 0x8809, 0x880A, 0x880B, 0x8810, 0x8819, 0x8812, 0x8813, 
+    0x8814, 0x8818, 0x881A, 0x881B, 0x881C, 0x881E, 0x881F, 0x8828, 0x882D, 
+    0x882E, 0x8830, 0x8832, 0x8835},
+    {0x883A, 0x883C, 0x8841, 0x8843, 0x8845, 0x8848, 0x8849, 0x884A, 0x884B, 
+    0x884E, 0x8851, 0x8855, 0x8856, 0x8858, 0x885A, 0x885C, 0x885F, 0x8860, 
+    0x8864, 0x8869, 0x8871, 0x8879, 0x887B, 0x8880, 0x8898, 0x889A, 0x889B, 
+    0x889C, 0x889F, 0x88A0, 0x88A8, 0x88AA, 0x88BA, 0x88BD, 0x88BE, 0x88C0, 
+    0x88CA, 0x88CB, 0x88CC, 0x88CD, 0x88CE, 0x88D1, 0x88D2, 0x88D3, 0x88DB, 
+    0x88DE, 0x88E7, 0x88EF, 0x88F0, 0x88F1, 0x88F5, 0x88F7, 0x8901, 0x8906, 
+    0x890D, 0x890E, 0x890F, 0x8915, 0x8916, 0x8918, 0x8919, 0x891A, 0x891C, 
+    0x8920, 0x8926, 0x8927, 0x8928, 0x8930, 0x8931, 0x8932, 0x8935, 0x8939, 
+    0x893A, 0x893E, 0x8940, 0x8942, 0x8945, 0x8946, 0x8949, 0x894F, 0x8952, 
+    0x8957, 0x895A, 0x895B, 0x895C, 0x8961, 0x8962, 0x8963, 0x896B, 0x896E, 
+    0x8970, 0x8973, 0x8975, 0x897A},
+    {0x897B, 0x897C, 0x897D, 0x8989, 0x898D, 0x8990, 0x8994, 0x8995, 0x899B, 
+    0x899C, 0x899F, 0x89A0, 0x89A5, 0x89B0, 0x89B4, 0x89B5, 0x89B6, 0x89B7, 
+    0x89BC, 0x89D4, 0x89D5, 0x89D6, 0x89D7, 0x89D8, 0x89E5, 0x89E9, 0x89EB, 
+    0x89ED, 0x89F1, 0x89F3, 0x89F6, 0x89F9, 0x89FD, 0x89FF, 0x8A04, 0x8A05, 
+    0x8A07, 0x8A0F, 0x8A11, 0x8A12, 0x8A14, 0x8A15, 0x8A1E, 0x8A20, 0x8A22, 
+    0x8A24, 0x8A26, 0x8A2B, 0x8A2C, 0x8A2F, 0x8A35, 0x8A37, 0x8A3D, 0x8A3E, 
+    0x8A40, 0x8A43, 0x8A45, 0x8A47, 0x8A49, 0x8A4D, 0x8A4E, 0x8A53, 0x8A56, 
+    0x8A57, 0x8A58, 0x8A5C, 0x8A5D, 0x8A61, 0x8A65, 0x8A67, 0x8A75, 0x8A76, 
+    0x8A77, 0x8A79, 0x8A7A, 0x8A7B, 0x8A7E, 0x8A7F, 0x8A80, 0x8A83, 0x8A86, 
+    0x8A8B, 0x8A8F, 0x8A90, 0x8A92, 0x8A96, 0x8A97, 0x8A99, 0x8A9F, 0x8AA7, 
+    0x8AA9, 0x8AAE, 0x8AAF, 0x8AB3},
+    {0x8AB6, 0x8AB7, 0x8ABB, 0x8ABE, 0x8AC3, 0x8AC6, 0x8AC8, 0x8AC9, 0x8ACA, 
+    0x8AD1, 0x8AD3, 0x8AD4, 0x8AD5, 0x8AD7, 0x8ADD, 0x8ADF, 0x8AEC, 0x8AF0, 
+    0x8AF4, 0x8AF5, 0x8AF6, 0x8AFC, 0x8AFF, 0x8B05, 0x8B06, 0x8B0B, 0x8B11, 
+    0x8B1C, 0x8B1E, 0x8B1F, 0x8B0A, 0x8B2D, 0x8B30, 0x8B37, 0x8B3C, 0x8B42, 
+    0x8B43, 0x8B44, 0x8B45, 0x8B46, 0x8B48, 0x8B52, 0x8B53, 0x8B54, 0x8B59, 
+    0x8B4D, 0x8B5E, 0x8B63, 0x8B6D, 0x8B76, 0x8B78, 0x8B79, 0x8B7C, 0x8B7E, 
+    0x8B81, 0x8B84, 0x8B85, 0x8B8B, 0x8B8D, 0x8B8F, 0x8B94, 0x8B95, 0x8B9C, 
+    0x8B9E, 0x8B9F, 0x8C38, 0x8C39, 0x8C3D, 0x8C3E, 0x8C45, 0x8C47, 0x8C49, 
+    0x8C4B, 0x8C4F, 0x8C51, 0x8C53, 0x8C54, 0x8C57, 0x8C58, 0x8C5B, 0x8C5D, 
+    0x8C59, 0x8C63, 0x8C64, 0x8C66, 0x8C68, 0x8C69, 0x8C6D, 0x8C73, 0x8C75, 
+    0x8C76, 0x8C7B, 0x8C7E, 0x8C86},
+    {0x8C87, 0x8C8B, 0x8C90, 0x8C92, 0x8C93, 0x8C99, 0x8C9B, 0x8C9C, 0x8CA4, 
+    0x8CB9, 0x8CBA, 0x8CC5, 0x8CC6, 0x8CC9, 0x8CCB, 0x8CCF, 0x8CD6, 0x8CD5, 
+    0x8CD9, 0x8CDD, 0x8CE1, 0x8CE8, 0x8CEC, 0x8CEF, 0x8CF0, 0x8CF2, 0x8CF5, 
+    0x8CF7, 0x8CF8, 0x8CFE, 0x8CFF, 0x8D01, 0x8D03, 0x8D09, 0x8D12, 0x8D17, 
+    0x8D1B, 0x8D65, 0x8D69, 0x8D6C, 0x8D6E, 0x8D7F, 0x8D82, 0x8D84, 0x8D88, 
+    0x8D8D, 0x8D90, 0x8D91, 0x8D95, 0x8D9E, 0x8D9F, 0x8DA0, 0x8DA6, 0x8DAB, 
+    0x8DAC, 0x8DAF, 0x8DB2, 0x8DB5, 0x8DB7, 0x8DB9, 0x8DBB, 0x8DC0, 0x8DC5, 
+    0x8DC6, 0x8DC7, 0x8DC8, 0x8DCA, 0x8DCE, 0x8DD1, 0x8DD4, 0x8DD5, 0x8DD7, 
+    0x8DD9, 0x8DE4, 0x8DE5, 0x8DE7, 0x8DEC, 0x8DF0, 0x8DBC, 0x8DF1, 0x8DF2, 
+    0x8DF4, 0x8DFD, 0x8E01, 0x8E04, 0x8E05, 0x8E06, 0x8E0B, 0x8E11, 0x8E14, 
+    0x8E16, 0x8E20, 0x8E21, 0x8E22},
+    {0x8E23, 0x8E26, 0x8E27, 0x8E31, 0x8E33, 0x8E36, 0x8E37, 0x8E38, 0x8E39, 
+    0x8E3D, 0x8E40, 0x8E41, 0x8E4B, 0x8E4D, 0x8E4E, 0x8E4F, 0x8E54, 0x8E5B, 
+    0x8E5C, 0x8E5D, 0x8E5E, 0x8E61, 0x8E62, 0x8E69, 0x8E6C, 0x8E6D, 0x8E6F, 
+    0x8E70, 0x8E71, 0x8E79, 0x8E7A, 0x8E7B, 0x8E82, 0x8E83, 0x8E89, 0x8E90, 
+    0x8E92, 0x8E95, 0x8E9A, 0x8E9B, 0x8E9D, 0x8E9E, 0x8EA2, 0x8EA7, 0x8EA9, 
+    0x8EAD, 0x8EAE, 0x8EB3, 0x8EB5, 0x8EBA, 0x8EBB, 0x8EC0, 0x8EC1, 0x8EC3, 
+    0x8EC4, 0x8EC7, 0x8ECF, 0x8ED1, 0x8ED4, 0x8EDC, 0x8EE8, 0x8EEE, 0x8EF0, 
+    0x8EF1, 0x8EF7, 0x8EF9, 0x8EFA, 0x8EED, 0x8F00, 0x8F02, 0x8F07, 0x8F08, 
+    0x8F0F, 0x8F10, 0x8F16, 0x8F17, 0x8F18, 0x8F1E, 0x8F20, 0x8F21, 0x8F23, 
+    0x8F25, 0x8F27, 0x8F28, 0x8F2C, 0x8F2D, 0x8F2E, 0x8F34, 0x8F35, 0x8F36, 
+    0x8F37, 0x8F3A, 0x8F40, 0x8F41},
+    {0x8F43, 0x8F47, 0x8F4F, 0x8F51, 0x8F52, 0x8F53, 0x8F54, 0x8F55, 0x8F58, 
+    0x8F5D, 0x8F5E, 0x8F65, 0x8F9D, 0x8FA0, 0x8FA1, 0x8FA4, 0x8FA5, 0x8FA6, 
+    0x8FB5, 0x8FB6, 0x8FB8, 0x8FBE, 0x8FC0, 0x8FC1, 0x8FC6, 0x8FCA, 0x8FCB, 
+    0x8FCD, 0x8FD0, 0x8FD2, 0x8FD3, 0x8FD5, 0x8FE0, 0x8FE3, 0x8FE4, 0x8FE8, 
+    0x8FEE, 0x8FF1, 0x8FF5, 0x8FF6, 0x8FFB, 0x8FFE, 0x9002, 0x9004, 0x9008, 
+    0x900C, 0x9018, 0x901B, 0x9028, 0x9029, 0x902F, 0x902A, 0x902C, 0x902D, 
+    0x9033, 0x9034, 0x9037, 0x903F, 0x9043, 0x9044, 0x904C, 0x905B, 0x905D, 
+    0x9062, 0x9066, 0x9067, 0x906C, 0x9070, 0x9074, 0x9079, 0x9085, 0x9088, 
+    0x908B, 0x908C, 0x908E, 0x9090, 0x9095, 0x9097, 0x9098, 0x9099, 0x909B, 
+    0x90A0, 0x90A1, 0x90A2, 0x90A5, 0x90B0, 0x90B2, 0x90B3, 0x90B4, 0x90B6, 
+    0x90BD, 0x90CC, 0x90BE, 0x90C3},
+    {0x90C4, 0x90C5, 0x90C7, 0x90C8, 0x90D5, 0x90D7, 0x90D8, 0x90D9, 0x90DC, 
+    0x90DD, 0x90DF, 0x90E5, 0x90D2, 0x90F6, 0x90EB, 0x90EF, 0x90F0, 0x90F4, 
+    0x90FE, 0x90FF, 0x9100, 0x9104, 0x9105, 0x9106, 0x9108, 0x910D, 0x9110, 
+    0x9114, 0x9116, 0x9117, 0x9118, 0x911A, 0x911C, 0x911E, 0x9120, 0x9125, 
+    0x9122, 0x9123, 0x9127, 0x9129, 0x912E, 0x912F, 0x9131, 0x9134, 0x9136, 
+    0x9137, 0x9139, 0x913A, 0x913C, 0x913D, 0x9143, 0x9147, 0x9148, 0x914F, 
+    0x9153, 0x9157, 0x9159, 0x915A, 0x915B, 0x9161, 0x9164, 0x9167, 0x916D, 
+    0x9174, 0x9179, 0x917A, 0x917B, 0x9181, 0x9183, 0x9185, 0x9186, 0x918A, 
+    0x918E, 0x9191, 0x9193, 0x9194, 0x9195, 0x9198, 0x919E, 0x91A1, 0x91A6, 
+    0x91A8, 0x91AC, 0x91AD, 0x91AE, 0x91B0, 0x91B1, 0x91B2, 0x91B3, 0x91B6, 
+    0x91BB, 0x91BC, 0x91BD, 0x91BF},
+    {0x91C2, 0x91C3, 0x91C5, 0x91D3, 0x91D4, 0x91D7, 0x91D9, 0x91DA, 0x91DE, 
+    0x91E4, 0x91E5, 0x91E9, 0x91EA, 0x91EC, 0x91ED, 0x91EE, 0x91EF, 0x91F0, 
+    0x91F1, 0x91F7, 0x91F9, 0x91FB, 0x91FD, 0x9200, 0x9201, 0x9204, 0x9205, 
+    0x9206, 0x9207, 0x9209, 0x920A, 0x920C, 0x9210, 0x9212, 0x9213, 0x9216, 
+    0x9218, 0x921C, 0x921D, 0x9223, 0x9224, 0x9225, 0x9226, 0x9228, 0x922E, 
+    0x922F, 0x9230, 0x9233, 0x9235, 0x9236, 0x9238, 0x9239, 0x923A, 0x923C, 
+    0x923E, 0x9240, 0x9242, 0x9243, 0x9246, 0x9247, 0x924A, 0x924D, 0x924E, 
+    0x924F, 0x9251, 0x9258, 0x9259, 0x925C, 0x925D, 0x9260, 0x9261, 0x9265, 
+    0x9267, 0x9268, 0x9269, 0x926E, 0x926F, 0x9270, 0x9275, 0x9276, 0x9277, 
+    0x9278, 0x9279, 0x927B, 0x927C, 0x927D, 0x927F, 0x9288, 0x9289, 0x928A, 
+    0x928D, 0x928E, 0x9292, 0x9297},
+    {0x9299, 0x929F, 0x92A0, 0x92A4, 0x92A5, 0x92A7, 0x92A8, 0x92AB, 0x92AF, 
+    0x92B2, 0x92B6, 0x92B8, 0x92BA, 0x92BB, 0x92BC, 0x92BD, 0x92BF, 0x92C0, 
+    0x92C1, 0x92C2, 0x92C3, 0x92C5, 0x92C6, 0x92C7, 0x92C8, 0x92CB, 0x92CC, 
+    0x92CD, 0x92CE, 0x92D0, 0x92D3, 0x92D5, 0x92D7, 0x92D8, 0x92D9, 0x92DC, 
+    0x92DD, 0x92DF, 0x92E0, 0x92E1, 0x92E3, 0x92E5, 0x92E7, 0x92E8, 0x92EC, 
+    0x92EE, 0x92F0, 0x92F9, 0x92FB, 0x92FF, 0x9300, 0x9302, 0x9308, 0x930D, 
+    0x9311, 0x9314, 0x9315, 0x931C, 0x931D, 0x931E, 0x931F, 0x9321, 0x9324, 
+    0x9325, 0x9327, 0x9329, 0x932A, 0x9333, 0x9334, 0x9336, 0x9337, 0x9347, 
+    0x9348, 0x9349, 0x9350, 0x9351, 0x9352, 0x9355, 0x9357, 0x9358, 0x935A, 
+    0x935E, 0x9364, 0x9365, 0x9367, 0x9369, 0x936A, 0x936D, 0x936F, 0x9370, 
+    0x9371, 0x9373, 0x9374, 0x9376},
+    {0x937A, 0x937D, 0x937F, 0x9380, 0x9381, 0x9382, 0x9388, 0x938A, 0x938B, 
+    0x938D, 0x938F, 0x9392, 0x9395, 0x9398, 0x939B, 0x939E, 0x93A1, 0x93A3, 
+    0x93A4, 0x93A6, 0x93A8, 0x93AB, 0x93B4, 0x93B5, 0x93B6, 0x93BA, 0x93A9, 
+    0x93C1, 0x93C4, 0x93C5, 0x93C6, 0x93C7, 0x93C9, 0x93CA, 0x93CB, 0x93CC, 
+    0x93CD, 0x93D3, 0x93D9, 0x93DC, 0x93DE, 0x93DF, 0x93E2, 0x93E6, 0x93E7, 
+    0x93F9, 0x93F7, 0x93F8, 0x93FA, 0x93FB, 0x93FD, 0x9401, 0x9402, 0x9404, 
+    0x9408, 0x9409, 0x940D, 0x940E, 0x940F, 0x9415, 0x9416, 0x9417, 0x941F, 
+    0x942E, 0x942F, 0x9431, 0x9432, 0x9433, 0x9434, 0x943B, 0x943F, 0x943D, 
+    0x9443, 0x9445, 0x9448, 0x944A, 0x944C, 0x9455, 0x9459, 0x945C, 0x945F, 
+    0x9461, 0x9463, 0x9468, 0x946B, 0x946D, 0x946E, 0x946F, 0x9471, 0x9472, 
+    0x9484, 0x9483, 0x9578, 0x9579},
+    {0x957E, 0x9584, 0x9588, 0x958C, 0x958D, 0x958E, 0x959D, 0x959E, 0x959F, 
+    0x95A1, 0x95A6, 0x95A9, 0x95AB, 0x95AC, 0x95B4, 0x95B6, 0x95BA, 0x95BD, 
+    0x95BF, 0x95C6, 0x95C8, 0x95C9, 0x95CB, 0x95D0, 0x95D1, 0x95D2, 0x95D3, 
+    0x95D9, 0x95DA, 0x95DD, 0x95DE, 0x95DF, 0x95E0, 0x95E4, 0x95E6, 0x961D, 
+    0x961E, 0x9622, 0x9624, 0x9625, 0x9626, 0x962C, 0x9631, 0x9633, 0x9637, 
+    0x9638, 0x9639, 0x963A, 0x963C, 0x963D, 0x9641, 0x9652, 0x9654, 0x9656, 
+    0x9657, 0x9658, 0x9661, 0x966E, 0x9674, 0x967B, 0x967C, 0x967E, 0x967F, 
+    0x9681, 0x9682, 0x9683, 0x9684, 0x9689, 0x9691, 0x9696, 0x969A, 0x969D, 
+    0x969F, 0x96A4, 0x96A5, 0x96A6, 0x96A9, 0x96AE, 0x96AF, 0x96B3, 0x96BA, 
+    0x96CA, 0x96D2, 0x5DB2, 0x96D8, 0x96DA, 0x96DD, 0x96DE, 0x96DF, 0x96E9, 
+    0x96EF, 0x96F1, 0x96FA, 0x9702},
+    {0x9703, 0x9705, 0x9709, 0x971A, 0x971B, 0x971D, 0x9721, 0x9722, 0x9723, 
+    0x9728, 0x9731, 0x9733, 0x9741, 0x9743, 0x974A, 0x974E, 0x974F, 0x9755, 
+    0x9757, 0x9758, 0x975A, 0x975B, 0x9763, 0x9767, 0x976A, 0x976E, 0x9773, 
+    0x9776, 0x9777, 0x9778, 0x977B, 0x977D, 0x977F, 0x9780, 0x9789, 0x9795, 
+    0x9796, 0x9797, 0x9799, 0x979A, 0x979E, 0x979F, 0x97A2, 0x97AC, 0x97AE, 
+    0x97B1, 0x97B2, 0x97B5, 0x97B6, 0x97B8, 0x97B9, 0x97BA, 0x97BC, 0x97BE, 
+    0x97BF, 0x97C1, 0x97C4, 0x97C5, 0x97C7, 0x97C9, 0x97CA, 0x97CC, 0x97CD, 
+    0x97CE, 0x97D0, 0x97D1, 0x97D4, 0x97D7, 0x97D8, 0x97D9, 0x97DD, 0x97DE, 
+    0x97E0, 0x97DB, 0x97E1, 0x97E4, 0x97EF, 0x97F1, 0x97F4, 0x97F7, 0x97F8, 
+    0x97FA, 0x9807, 0x980A, 0x9819, 0x980D, 0x980E, 0x9814, 0x9816, 0x981C, 
+    0x981E, 0x9820, 0x9823, 0x9826},
+    {0x982B, 0x982E, 0x982F, 0x9830, 0x9832, 0x9833, 0x9835, 0x9825, 0x983E, 
+    0x9844, 0x9847, 0x984A, 0x9851, 0x9852, 0x9853, 0x9856, 0x9857, 0x9859, 
+    0x985A, 0x9862, 0x9863, 0x9865, 0x9866, 0x986A, 0x986C, 0x98AB, 0x98AD, 
+    0x98AE, 0x98B0, 0x98B4, 0x98B7, 0x98B8, 0x98BA, 0x98BB, 0x98BF, 0x98C2, 
+    0x98C5, 0x98C8, 0x98CC, 0x98E1, 0x98E3, 0x98E5, 0x98E6, 0x98E7, 0x98EA, 
+    0x98F3, 0x98F6, 0x9902, 0x9907, 0x9908, 0x9911, 0x9915, 0x9916, 0x9917, 
+    0x991A, 0x991B, 0x991C, 0x991F, 0x9922, 0x9926, 0x9927, 0x992B, 0x9931, 
+    0x9932, 0x9933, 0x9934, 0x9935, 0x9939, 0x993A, 0x993B, 0x993C, 0x9940, 
+    0x9941, 0x9946, 0x9947, 0x9948, 0x994D, 0x994E, 0x9954, 0x9958, 0x9959, 
+    0x995B, 0x995C, 0x995E, 0x995F, 0x9960, 0x999B, 0x999D, 0x999F, 0x99A6, 
+    0x99B0, 0x99B1, 0x99B2, 0x99B5},
+    {0x99B9, 0x99BA, 0x99BD, 0x99BF, 0x99C3, 0x99C9, 0x99D3, 0x99D4, 0x99D9, 
+    0x99DA, 0x99DC, 0x99DE, 0x99E7, 0x99EA, 0x99EB, 0x99EC, 0x99F0, 0x99F4, 
+    0x99F5, 0x99F9, 0x99FD, 0x99FE, 0x9A02, 0x9A03, 0x9A04, 0x9A0B, 0x9A0C, 
+    0x9A10, 0x9A11, 0x9A16, 0x9A1E, 0x9A20, 0x9A22, 0x9A23, 0x9A24, 0x9A27, 
+    0x9A2D, 0x9A2E, 0x9A33, 0x9A35, 0x9A36, 0x9A38, 0x9A47, 0x9A41, 0x9A44, 
+    0x9A4A, 0x9A4B, 0x9A4C, 0x9A4E, 0x9A51, 0x9A54, 0x9A56, 0x9A5D, 0x9AAA, 
+    0x9AAC, 0x9AAE, 0x9AAF, 0x9AB2, 0x9AB4, 0x9AB5, 0x9AB6, 0x9AB9, 0x9ABB, 
+    0x9ABE, 0x9ABF, 0x9AC1, 0x9AC3, 0x9AC6, 0x9AC8, 0x9ACE, 0x9AD0, 0x9AD2, 
+    0x9AD5, 0x9AD6, 0x9AD7, 0x9ADB, 0x9ADC, 0x9AE0, 0x9AE4, 0x9AE5, 0x9AE7, 
+    0x9AE9, 0x9AEC, 0x9AF2, 0x9AF3, 0x9AF5, 0x9AF9, 0x9AFA, 0x9AFD, 0x9AFF, 
+    0x9B00, 0x9B01, 0x9B02, 0x9B03},
+    {0x9B04, 0x9B05, 0x9B08, 0x9B09, 0x9B0B, 0x9B0C, 0x9B0D, 0x9B0E, 0x9B10, 
+    0x9B12, 0x9B16, 0x9B19, 0x9B1B, 0x9B1C, 0x9B20, 0x9B26, 0x9B2B, 0x9B2D, 
+    0x9B33, 0x9B34, 0x9B35, 0x9B37, 0x9B39, 0x9B3A, 0x9B3D, 0x9B48, 0x9B4B, 
+    0x9B4C, 0x9B55, 0x9B56, 0x9B57, 0x9B5B, 0x9B5E, 0x9B61, 0x9B63, 0x9B65, 
+    0x9B66, 0x9B68, 0x9B6A, 0x9B6B, 0x9B6C, 0x9B6D, 0x9B6E, 0x9B73, 0x9B75, 
+    0x9B77, 0x9B78, 0x9B79, 0x9B7F, 0x9B80, 0x9B84, 0x9B85, 0x9B86, 0x9B87, 
+    0x9B89, 0x9B8A, 0x9B8B, 0x9B8D, 0x9B8F, 0x9B90, 0x9B94, 0x9B9A, 0x9B9D, 
+    0x9B9E, 0x9BA6, 0x9BA7, 0x9BA9, 0x9BAC, 0x9BB0, 0x9BB1, 0x9BB2, 0x9BB7, 
+    0x9BB8, 0x9BBB, 0x9BBC, 0x9BBE, 0x9BBF, 0x9BC1, 0x9BC7, 0x9BC8, 0x9BCE, 
+    0x9BD0, 0x9BD7, 0x9BD8, 0x9BDD, 0x9BDF, 0x9BE5, 0x9BE7, 0x9BEA, 0x9BEB, 
+    0x9BEF, 0x9BF3, 0x9BF7, 0x9BF8},
+    {0x9BF9, 0x9BFA, 0x9BFD, 0x9BFF, 0x9C00, 0x9C02, 0x9C0B, 0x9C0F, 0x9C11, 
+    0x9C16, 0x9C18, 0x9C19, 0x9C1A, 0x9C1C, 0x9C1E, 0x9C22, 0x9C23, 0x9C26, 
+    0x9C27, 0x9C28, 0x9C29, 0x9C2A, 0x9C31, 0x9C35, 0x9C36, 0x9C37, 0x9C3D, 
+    0x9C41, 0x9C43, 0x9C44, 0x9C45, 0x9C49, 0x9C4A, 0x9C4E, 0x9C4F, 0x9C50, 
+    0x9C53, 0x9C54, 0x9C56, 0x9C58, 0x9C5B, 0x9C5D, 0x9C5E, 0x9C5F, 0x9C63, 
+    0x9C69, 0x9C6A, 0x9C5C, 0x9C6B, 0x9C68, 0x9C6E, 0x9C70, 0x9C72, 0x9C75, 
+    0x9C77, 0x9C7B, 0x9CE6, 0x9CF2, 0x9CF7, 0x9CF9, 0x9D0B, 0x9D02, 0x9D11, 
+    0x9D17, 0x9D18, 0x9D1C, 0x9D1D, 0x9D1E, 0x9D2F, 0x9D30, 0x9D32, 0x9D33, 
+    0x9D34, 0x9D3A, 0x9D3C, 0x9D45, 0x9D3D, 0x9D42, 0x9D43, 0x9D47, 0x9D4A, 
+    0x9D53, 0x9D54, 0x9D5F, 0x9D63, 0x9D62, 0x9D65, 0x9D69, 0x9D6A, 0x9D6B, 
+    0x9D70, 0x9D76, 0x9D77, 0x9D7B},
+    {0x9D7C, 0x9D7E, 0x9D83, 0x9D84, 0x9D86, 0x9D8A, 0x9D8D, 0x9D8E, 0x9D92, 
+    0x9D93, 0x9D95, 0x9D96, 0x9D97, 0x9D98, 0x9DA1, 0x9DAA, 0x9DAC, 0x9DAE, 
+    0x9DB1, 0x9DB5, 0x9DB9, 0x9DBC, 0x9DBF, 0x9DC3, 0x9DC7, 0x9DC9, 0x9DCA, 
+    0x9DD4, 0x9DD5, 0x9DD6, 0x9DD7, 0x9DDA, 0x9DDE, 0x9DDF, 0x9DE0, 0x9DE5, 
+    0x9DE7, 0x9DE9, 0x9DEB, 0x9DEE, 0x9DF0, 0x9DF3, 0x9DF4, 0x9DFE, 0x9E0A, 
+    0x9E02, 0x9E07, 0x9E0E, 0x9E10, 0x9E11, 0x9E12, 0x9E15, 0x9E16, 0x9E19, 
+    0x9E1C, 0x9E1D, 0x9E7A, 0x9E7B, 0x9E7C, 0x9E80, 0x9E82, 0x9E83, 0x9E84, 
+    0x9E85, 0x9E87, 0x9E8E, 0x9E8F, 0x9E96, 0x9E98, 0x9E9B, 0x9E9E, 0x9EA4, 
+    0x9EA8, 0x9EAC, 0x9EAE, 0x9EAF, 0x9EB0, 0x9EB3, 0x9EB4, 0x9EB5, 0x9EC6, 
+    0x9EC8, 0x9ECB, 0x9ED5, 0x9EDF, 0x9EE4, 0x9EE7, 0x9EEC, 0x9EED, 0x9EEE, 
+    0x9EF0, 0x9EF1, 0x9EF2, 0x9EF5},
+    {0x9EF8, 0x9EFF, 0x9F02, 0x9F03, 0x9F09, 0x9F0F, 0x9F10, 0x9F11, 0x9F12, 
+    0x9F14, 0x9F16, 0x9F17, 0x9F19, 0x9F1A, 0x9F1B, 0x9F1F, 0x9F22, 0x9F26, 
+    0x9F2A, 0x9F2B, 0x9F2F, 0x9F31, 0x9F32, 0x9F34, 0x9F37, 0x9F39, 0x9F3A, 
+    0x9F3C, 0x9F3D, 0x9F3F, 0x9F41, 0x9F43, 0x9F44, 0x9F45, 0x9F46, 0x9F47, 
+    0x9F53, 0x9F55, 0x9F56, 0x9F57, 0x9F58, 0x9F5A, 0x9F5D, 0x9F5E, 0x9F68, 
+    0x9F69, 0x9F6D, 0x9F6E, 0x9F6F, 0x9F70, 0x9F71, 0x9F73, 0x9F75, 0x9F7A, 
+    0x9F7D, 0x9F8F, 0x9F90, 0x9F91, 0x9F92, 0x9F94, 0x9F96, 0x9F97, 0x9F9E, 
+    0x9FA1, 0x9FA2, 0x9FA3, 0x9FA5,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR},
+    { ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR},
+    { ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR},
+    { ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR},
+    { ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR},
+    { ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR},
+    { ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR},
+    { ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR},
+    { ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR},
+    { ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR},
+    { ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR},
+    { ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR},
+    { ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR},
+    { ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR},
+    { ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR},
+    { ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR},
+    { ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR},
+    { ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR},
+};
+
+/*
+ * Mapping from Unicode back to JIS X 0212.
+ * 
+ * This inverse is done the same way the SBCS ones are done: I
+ * provide a list of JIS X 0212 positions, sorted into ascending
+ * order of their Unicode values. Then we can binary-search through
+ * this list, referring to the above table for each comparison, to
+ * find the coordinates for a given code point.
+ * 
+ * Generated by running the following sh+Perl over JIS0212.TXT:
+
+cat JIS0212.TXT | \
+perl -ne '$a{$3}=[hex$1,hex$2] if /^0x(\S\S)(\S\S)\s+(0x\S+)\s/;' \
+      -e 'END {$o="    ";for $k (sort keys %a) { ($r,$c) = @{$a{$k}}; ' \
+      -e '$o .= $C; $C = ", "; (print "$o\n"), $o="    " if length $o > 70;' \
+      -e '$o .= sprintf "{%d,%d}", $r-33,$c-33; } print "$o\n"; }'
+
+ */
+
+static const struct { unsigned char r, c; } jisx0212_backward[] = {
+    {1,22}, {1,33}, {1,79}, {1,34}, {1,76}, {1,75}, {1,77}, {1,19}, {1,16}, 
+    {1,74}, {1,35}, {9,1}, {9,0}, {9,3}, {9,9}, {9,2}, {9,8}, {8,0}, {9,13}, 
+    {9,17}, {9,16}, {9,19}, {9,18}, {9,31}, {9,30}, {9,33}, {9,32}, {9,47}, 
+    {9,49}, {9,48}, {9,51}, {9,55}, {9,50}, {8,11}, {9,66}, {9,65}, {9,68}, 
+    {9,67}, {9,81}, {8,15}, {8,45}, {10,1}, {10,0}, {10,3}, {10,9}, {10,2}, 
+    {10,8}, {8,32}, {10,13}, {10,17}, {10,16}, {10,19}, {10,18}, {10,31}, 
+    {10,30}, {10,33}, {10,32}, {8,34}, {10,47}, {10,49}, {10,48}, {10,51}, 
+    {10,55}, {10,50}, {8,43}, {10,66}, {10,65}, {10,68}, {10,67}, {10,81}, 
+    {8,47}, {10,82}, {9,6}, {10,6}, {9,4}, {10,4}, {9,7}, {10,7}, {9,10}, 
+    {10,10}, {9,11}, {10,11}, {9,14}, {10,14}, {9,12}, {10,12}, {9,15}, 
+    {10,15}, {8,1}, {8,33}, {9,22}, {10,22}, {9,21}, {10,21}, {9,23}, {10,23}, 
+    {9,20}, {10,20}, {9,25}, {10,25}, {9,26}, {10,26}, {9,28}, {10,28}, 
+    {9,27}, {9,29}, {10,29}, {8,3}, {8,35}, {9,38}, {10,38}, {9,36}, {10,36}, 
+    {9,37}, {10,37}, {9,35}, {8,36}, {8,5}, {8,37}, {9,39}, {10,39}, {9,40}, 
+    {10,40}, {8,38}, {9,41}, {10,41}, {9,43}, {10,43}, {9,42}, {10,42}, 
+    {8,8}, {8,40}, {8,7}, {8,39}, {9,44}, {10,44}, {9,46}, {10,46}, {9,45}, 
+    {10,45}, {8,41}, {8,10}, {8,42}, {9,54}, {10,54}, {9,53}, {10,53}, 
+    {8,12}, {8,44}, {9,56}, {10,56}, {9,58}, {10,58}, {9,57}, {10,57}, 
+    {9,59}, {10,59}, {9,60}, {10,60}, {9,62}, {10,62}, {9,61}, {10,61}, 
+    {9,64}, {10,64}, {9,63}, {10,63}, {8,14}, {8,46}, {9,75}, {10,75}, 
+    {9,72}, {10,72}, {9,69}, {10,69}, {9,74}, {10,74}, {9,71}, {10,71}, 
+    {9,73}, {10,73}, {9,80}, {10,80}, {9,83}, {10,83}, {9,82}, {9,84}, 
+    {10,84}, {9,86}, {10,86}, {9,85}, {10,85}, {9,5}, {10,5}, {9,34}, {10,34}, 
+    {9,52}, {10,52}, {9,70}, {10,70}, {9,79}, {10,79}, {9,76}, {10,76}, 
+    {9,78}, {10,78}, {9,77}, {10,77}, {10,24}, {1,15}, {1,14}, {1,17}, 
+    {1,21}, {1,20}, {1,18}, {1,23}, {1,24}, {5,64}, {5,65}, {5,66}, {5,67}, 
+    {5,70}, {5,72}, {5,75}, {5,85}, {5,68}, {5,73}, {5,80}, {5,81}, {5,82}, 
+    {5,83}, {5,90}, {5,87}, {5,84}, {5,89}, {5,86}, {5,88}, {5,91}, {6,33}, 
+    {6,34}, {6,35}, {6,36}, {6,37}, {6,38}, {6,39}, {6,40}, {6,41}, {6,42}, 
+    {6,43}, {6,44}, {6,45}, {6,81}, {6,82}, {6,83}, {6,84}, {6,85}, {6,86}, 
+    {6,87}, {6,88}, {6,89}, {6,90}, {6,91}, {6,92}, {6,93}, {1,80}, {1,78}, 
+    {15,0}, {15,1}, {15,2}, {15,3}, {15,4}, {15,5}, {15,6}, {15,7}, {15,8}, 
+    {15,9}, {15,10}, {15,11}, {15,12}, {15,13}, {15,14}, {15,15}, {15,16}, 
+    {15,17}, {15,18}, {15,19}, {15,20}, {15,21}, {15,22}, {15,23}, {15,24}, 
+    {15,25}, {15,26}, {15,27}, {15,28}, {15,29}, {15,30}, {15,31}, {15,32}, 
+    {15,33}, {15,34}, {15,35}, {15,36}, {15,37}, {15,38}, {15,39}, {15,40}, 
+    {15,41}, {15,42}, {15,43}, {15,44}, {15,45}, {15,46}, {15,47}, {15,48}, 
+    {15,49}, {15,50}, {15,51}, {15,52}, {15,53}, {15,54}, {15,55}, {15,56}, 
+    {15,57}, {15,58}, {15,59}, {15,60}, {15,61}, {15,63}, {15,64}, {15,65}, 
+    {15,66}, {15,67}, {15,68}, {15,69}, {15,70}, {15,71}, {15,72}, {15,73}, 
+    {15,74}, {15,75}, {15,76}, {15,77}, {15,78}, {15,79}, {15,62}, {15,80}, 
+    {15,81}, {15,82}, {15,83}, {15,84}, {15,85}, {15,86}, {15,87}, {15,88}, 
+    {15,89}, {15,90}, {15,91}, {15,92}, {15,93}, {16,0}, {16,1}, {16,2}, 
+    {16,3}, {16,4}, {16,5}, {16,6}, {16,7}, {16,8}, {16,9}, {16,10}, {16,11}, 
+    {16,12}, {16,13}, {16,14}, {16,15}, {16,16}, {16,17}, {16,18}, {16,19}, 
+    {16,20}, {16,21}, {16,22}, {16,23}, {16,24}, {16,25}, {16,26}, {16,27}, 
+    {16,28}, {16,29}, {16,30}, {16,31}, {16,32}, {16,33}, {16,34}, {16,35}, 
+    {16,36}, {16,37}, {16,38}, {16,39}, {16,40}, {16,41}, {16,42}, {16,43}, 
+    {16,44}, {16,45}, {16,46}, {16,47}, {16,48}, {16,49}, {16,50}, {16,51}, 
+    {16,52}, {16,53}, {16,54}, {16,55}, {16,56}, {16,57}, {16,58}, {16,59}, 
+    {16,60}, {16,61}, {16,85}, {16,62}, {16,63}, {16,64}, {16,65}, {16,66}, 
+    {16,67}, {16,68}, {16,69}, {16,70}, {16,71}, {16,72}, {16,73}, {16,74}, 
+    {16,75}, {16,76}, {16,77}, {16,78}, {16,79}, {16,80}, {16,81}, {16,82}, 
+    {16,83}, {16,84}, {16,86}, {16,87}, {16,88}, {16,89}, {16,90}, {16,91}, 
+    {16,92}, {16,93}, {17,0}, {17,1}, {17,2}, {17,3}, {17,4}, {17,5}, {17,6}, 
+    {17,7}, {17,8}, {17,9}, {17,10}, {17,11}, {17,12}, {17,13}, {17,14}, 
+    {17,15}, {17,16}, {17,17}, {17,18}, {17,19}, {17,20}, {17,21}, {17,22}, 
+    {17,23}, {17,24}, {17,25}, {17,26}, {17,27}, {17,28}, {17,29}, {17,30}, 
+    {17,31}, {17,32}, {17,33}, {17,34}, {17,35}, {17,36}, {17,48}, {17,37}, 
+    {17,38}, {17,39}, {17,40}, {17,41}, {17,42}, {17,43}, {17,44}, {17,45}, 
+    {17,46}, {17,47}, {17,49}, {17,50}, {17,51}, {17,52}, {17,53}, {17,54}, 
+    {17,55}, {17,56}, {17,57}, {17,58}, {17,59}, {17,60}, {17,61}, {17,62}, 
+    {17,63}, {17,64}, {17,65}, {17,66}, {17,67}, {17,68}, {17,69}, {17,70}, 
+    {17,71}, {17,72}, {17,73}, {17,74}, {17,75}, {17,76}, {17,77}, {17,78}, 
+    {17,79}, {17,80}, {17,81}, {17,82}, {17,83}, {17,84}, {17,85}, {17,86}, 
+    {17,87}, {17,88}, {17,89}, {17,90}, {17,91}, {17,92}, {17,93}, {18,0}, 
+    {18,1}, {18,2}, {18,3}, {18,4}, {18,5}, {18,6}, {18,7}, {18,8}, {18,9}, 
+    {18,10}, {18,11}, {18,12}, {18,13}, {18,14}, {18,15}, {18,16}, {18,17}, 
+    {18,18}, {18,19}, {18,20}, {18,21}, {18,22}, {18,23}, {18,24}, {18,25}, 
+    {18,26}, {18,27}, {18,28}, {18,29}, {18,30}, {18,31}, {18,32}, {18,33}, 
+    {18,34}, {18,35}, {18,36}, {18,37}, {18,38}, {18,39}, {18,40}, {18,41}, 
+    {18,42}, {18,43}, {18,44}, {18,45}, {18,46}, {18,47}, {18,48}, {18,49}, 
+    {18,50}, {18,51}, {18,52}, {18,53}, {18,54}, {18,55}, {18,56}, {18,57}, 
+    {18,58}, {18,59}, {18,60}, {18,61}, {18,62}, {18,63}, {18,64}, {18,65}, 
+    {18,66}, {18,67}, {18,68}, {18,69}, {18,70}, {18,71}, {18,72}, {18,73}, 
+    {18,74}, {18,75}, {18,76}, {18,77}, {18,78}, {18,79}, {18,80}, {18,81}, 
+    {18,82}, {18,83}, {18,84}, {18,85}, {18,86}, {18,87}, {18,88}, {18,89}, 
+    {18,90}, {18,91}, {18,92}, {18,93}, {19,0}, {19,1}, {19,2}, {19,3}, 
+    {19,4}, {19,5}, {19,6}, {19,7}, {19,8}, {19,9}, {19,10}, {19,11}, {19,12}, 
+    {19,13}, {19,14}, {19,15}, {19,16}, {19,17}, {19,18}, {19,19}, {19,20}, 
+    {19,21}, {19,23}, {19,22}, {19,24}, {19,25}, {19,26}, {19,27}, {19,28}, 
+    {19,29}, {19,30}, {19,31}, {19,32}, {19,33}, {19,34}, {19,35}, {19,36}, 
+    {19,37}, {19,38}, {19,39}, {19,40}, {19,41}, {19,42}, {19,43}, {19,44}, 
+    {19,45}, {19,46}, {19,47}, {19,48}, {19,49}, {19,50}, {19,51}, {19,52}, 
+    {19,53}, {19,54}, {19,55}, {19,56}, {19,57}, {19,58}, {19,59}, {19,60}, 
+    {19,61}, {19,62}, {19,63}, {19,64}, {19,65}, {19,66}, {19,67}, {19,68}, 
+    {19,69}, {19,70}, {19,71}, {19,72}, {19,73}, {19,74}, {19,75}, {19,76}, 
+    {19,77}, {19,78}, {19,79}, {19,80}, {19,81}, {19,82}, {19,83}, {19,84}, 
+    {19,85}, {19,86}, {19,87}, {19,88}, {19,89}, {19,90}, {19,91}, {19,92}, 
+    {19,93}, {20,0}, {20,1}, {20,2}, {20,3}, {20,4}, {20,5}, {20,6}, {20,7}, 
+    {20,8}, {20,9}, {20,10}, {20,11}, {20,12}, {20,13}, {20,14}, {20,15}, 
+    {20,16}, {20,17}, {20,18}, {20,19}, {20,20}, {20,21}, {20,22}, {20,23}, 
+    {20,24}, {20,25}, {20,26}, {20,27}, {20,28}, {20,29}, {20,30}, {20,31}, 
+    {20,32}, {20,33}, {20,34}, {20,35}, {20,36}, {20,37}, {20,38}, {20,39}, 
+    {20,40}, {20,41}, {20,42}, {20,43}, {20,44}, {20,45}, {20,46}, {20,47}, 
+    {20,48}, {20,49}, {20,50}, {20,51}, {20,52}, {20,53}, {20,54}, {20,55}, 
+    {20,56}, {20,57}, {20,58}, {20,59}, {20,60}, {20,61}, {20,62}, {20,63}, 
+    {20,64}, {20,65}, {20,66}, {20,67}, {20,68}, {20,69}, {20,70}, {20,71}, 
+    {20,72}, {20,73}, {20,74}, {20,75}, {20,76}, {20,77}, {20,78}, {20,79}, 
+    {20,80}, {20,81}, {20,82}, {20,83}, {20,84}, {20,85}, {20,86}, {20,87}, 
+    {20,88}, {20,89}, {20,90}, {20,91}, {20,92}, {20,93}, {21,0}, {21,1}, 
+    {21,2}, {21,3}, {21,4}, {21,5}, {21,6}, {21,7}, {21,8}, {21,9}, {21,10}, 
+    {21,11}, {21,12}, {21,13}, {21,14}, {21,15}, {21,16}, {21,17}, {21,18}, 
+    {21,19}, {21,20}, {21,21}, {21,22}, {21,23}, {21,24}, {21,25}, {21,26}, 
+    {21,27}, {21,28}, {21,29}, {21,30}, {21,31}, {21,32}, {21,33}, {21,34}, 
+    {21,35}, {21,36}, {21,37}, {21,38}, {21,39}, {21,40}, {21,41}, {21,42}, 
+    {21,43}, {21,44}, {21,45}, {21,46}, {21,47}, {21,48}, {21,49}, {21,50}, 
+    {21,51}, {21,52}, {21,53}, {21,54}, {21,55}, {21,56}, {21,57}, {21,58}, 
+    {21,59}, {21,60}, {21,61}, {21,62}, {21,63}, {21,64}, {21,65}, {21,66}, 
+    {21,67}, {21,68}, {21,69}, {21,70}, {21,71}, {21,72}, {21,73}, {21,74}, 
+    {21,75}, {21,76}, {21,79}, {21,80}, {21,77}, {21,78}, {21,81}, {21,82}, 
+    {21,83}, {21,84}, {21,85}, {21,86}, {21,87}, {21,88}, {21,89}, {21,90}, 
+    {21,92}, {21,93}, {21,91}, {22,0}, {22,1}, {22,2}, {22,3}, {22,4}, 
+    {22,5}, {22,6}, {22,7}, {22,8}, {22,9}, {22,10}, {22,11}, {22,12}, 
+    {22,13}, {22,14}, {22,15}, {22,16}, {22,17}, {22,18}, {22,19}, {22,20}, 
+    {22,21}, {22,22}, {22,23}, {22,24}, {22,25}, {22,26}, {22,27}, {22,28}, 
+    {22,29}, {22,30}, {22,31}, {22,32}, {22,33}, {22,34}, {22,35}, {22,36}, 
+    {22,37}, {22,38}, {22,39}, {22,40}, {22,41}, {22,42}, {22,43}, {22,44}, 
+    {22,45}, {22,46}, {22,47}, {22,48}, {22,49}, {22,50}, {22,51}, {22,52}, 
+    {22,53}, {22,54}, {22,63}, {22,55}, {22,56}, {22,57}, {22,58}, {22,59}, 
+    {22,60}, {22,61}, {22,62}, {22,64}, {22,65}, {22,66}, {22,67}, {22,68}, 
+    {22,69}, {22,70}, {22,71}, {22,72}, {22,73}, {22,74}, {22,75}, {22,76}, 
+    {22,93}, {22,77}, {22,78}, {22,79}, {22,80}, {22,81}, {22,82}, {22,83}, 
+    {22,84}, {22,85}, {22,86}, {22,87}, {22,88}, {22,89}, {22,90}, {22,91}, 
+    {22,92}, {23,0}, {23,1}, {23,2}, {23,3}, {23,4}, {23,5}, {23,6}, {23,7}, 
+    {23,8}, {23,9}, {23,10}, {23,11}, {23,12}, {23,13}, {23,14}, {23,15}, 
+    {23,16}, {23,17}, {23,18}, {23,19}, {23,20}, {23,21}, {23,22}, {23,23}, 
+    {23,24}, {23,25}, {23,26}, {23,27}, {23,28}, {23,29}, {23,30}, {23,31}, 
+    {23,32}, {23,33}, {23,34}, {23,35}, {23,36}, {23,37}, {23,38}, {23,39}, 
+    {23,40}, {23,41}, {23,42}, {23,43}, {23,44}, {23,45}, {23,47}, {23,48}, 
+    {23,46}, {23,49}, {23,50}, {23,51}, {23,52}, {23,53}, {23,54}, {23,55}, 
+    {23,56}, {23,57}, {23,58}, {23,59}, {23,60}, {23,61}, {23,62}, {23,63}, 
+    {23,64}, {23,65}, {23,66}, {23,67}, {23,68}, {23,70}, {23,71}, {23,72}, 
+    {23,73}, {23,74}, {23,75}, {23,76}, {23,77}, {23,78}, {23,79}, {23,80}, 
+    {23,81}, {23,82}, {23,83}, {23,84}, {23,85}, {23,86}, {23,87}, {23,88}, 
+    {23,89}, {23,90}, {23,91}, {23,92}, {23,93}, {24,0}, {24,1}, {24,2}, 
+    {24,3}, {24,4}, {24,5}, {24,6}, {24,7}, {24,8}, {24,9}, {24,10}, {24,11}, 
+    {24,12}, {24,13}, {24,14}, {24,15}, {24,16}, {24,17}, {24,18}, {24,19}, 
+    {24,20}, {24,21}, {24,22}, {24,23}, {24,24}, {24,25}, {24,26}, {24,27}, 
+    {24,28}, {24,29}, {24,30}, {24,31}, {24,32}, {24,33}, {24,34}, {24,35}, 
+    {24,36}, {24,37}, {24,38}, {24,39}, {24,40}, {24,41}, {24,42}, {24,43}, 
+    {24,44}, {24,45}, {24,46}, {24,47}, {24,48}, {24,49}, {24,50}, {24,51}, 
+    {24,52}, {24,53}, {24,54}, {24,55}, {24,56}, {24,57}, {24,58}, {24,59}, 
+    {24,60}, {24,61}, {24,62}, {24,63}, {24,64}, {24,65}, {24,66}, {24,67}, 
+    {24,68}, {24,69}, {24,70}, {24,71}, {24,72}, {24,73}, {24,74}, {24,75}, 
+    {24,76}, {24,77}, {24,78}, {24,79}, {24,80}, {24,81}, {24,82}, {24,83}, 
+    {24,84}, {24,85}, {24,86}, {24,87}, {24,88}, {24,89}, {24,90}, {24,91}, 
+    {24,92}, {24,93}, {25,0}, {25,1}, {25,2}, {25,3}, {25,4}, {25,5}, {25,6}, 
+    {25,7}, {25,8}, {25,9}, {25,10}, {25,11}, {25,12}, {25,13}, {25,14}, 
+    {25,15}, {25,16}, {25,18}, {25,19}, {25,20}, {25,21}, {25,22}, {25,23}, 
+    {25,17}, {25,24}, {25,25}, {25,26}, {25,27}, {25,28}, {25,29}, {25,30}, 
+    {25,31}, {25,32}, {25,33}, {25,34}, {25,35}, {25,36}, {25,37}, {25,38}, 
+    {25,39}, {25,40}, {25,41}, {25,42}, {25,43}, {25,44}, {25,45}, {25,46}, 
+    {25,47}, {25,48}, {25,49}, {25,50}, {25,51}, {25,52}, {25,53}, {25,54}, 
+    {25,55}, {25,56}, {25,57}, {25,58}, {25,59}, {25,60}, {25,61}, {25,62}, 
+    {25,63}, {25,64}, {25,65}, {25,66}, {25,67}, {25,68}, {25,69}, {25,70}, 
+    {25,71}, {25,72}, {25,73}, {25,74}, {25,75}, {25,76}, {25,77}, {25,78}, 
+    {25,79}, {25,80}, {25,81}, {25,82}, {25,83}, {25,84}, {25,85}, {25,86}, 
+    {25,87}, {25,88}, {25,89}, {25,90}, {25,91}, {25,92}, {25,93}, {26,0}, 
+    {26,1}, {26,2}, {26,3}, {26,4}, {26,5}, {26,6}, {26,7}, {26,8}, {26,9}, 
+    {26,10}, {26,11}, {26,12}, {26,13}, {26,14}, {26,15}, {26,16}, {26,17}, 
+    {26,18}, {26,19}, {26,20}, {26,21}, {26,22}, {26,23}, {26,24}, {26,25}, 
+    {26,26}, {26,28}, {26,27}, {26,29}, {26,30}, {26,31}, {26,32}, {26,33}, 
+    {26,34}, {26,35}, {26,36}, {26,38}, {26,39}, {26,40}, {26,41}, {26,37}, 
+    {26,42}, {26,43}, {26,44}, {26,45}, {26,46}, {26,47}, {26,48}, {26,49}, 
+    {26,50}, {26,54}, {26,52}, {26,51}, {26,53}, {26,55}, {26,56}, {26,57}, 
+    {26,58}, {26,59}, {26,60}, {26,61}, {26,62}, {26,63}, {26,64}, {26,65}, 
+    {26,66}, {26,67}, {26,68}, {26,69}, {26,70}, {26,71}, {26,72}, {26,73}, 
+    {26,74}, {26,75}, {26,76}, {26,77}, {26,78}, {26,79}, {26,80}, {26,81}, 
+    {69,83}, {26,82}, {26,83}, {26,84}, {26,85}, {26,86}, {26,87}, {26,89}, 
+    {26,88}, {26,90}, {26,91}, {26,92}, {26,93}, {27,0}, {27,1}, {27,2}, 
+    {27,3}, {27,4}, {27,5}, {27,6}, {27,7}, {27,8}, {27,9}, {27,10}, {27,11}, 
+    {27,13}, {27,12}, {27,14}, {27,15}, {27,16}, {27,19}, {27,17}, {27,18}, 
+    {27,20}, {27,21}, {27,22}, {27,23}, {27,24}, {27,25}, {27,26}, {27,27}, 
+    {27,28}, {27,29}, {27,30}, {27,31}, {27,32}, {27,33}, {27,34}, {27,35}, 
+    {27,36}, {27,37}, {27,38}, {27,39}, {27,40}, {27,41}, {27,42}, {27,43}, 
+    {27,44}, {27,45}, {27,46}, {27,47}, {27,49}, {27,48}, {27,50}, {27,51}, 
+    {27,52}, {27,53}, {27,54}, {27,55}, {27,56}, {27,57}, {27,58}, {27,59}, 
+    {27,60}, {27,61}, {27,62}, {27,63}, {27,64}, {27,65}, {27,66}, {27,67}, 
+    {27,68}, {27,69}, {27,70}, {27,71}, {27,72}, {27,73}, {27,74}, {27,75}, 
+    {27,76}, {27,77}, {27,78}, {27,79}, {27,80}, {27,81}, {27,82}, {27,83}, 
+    {27,84}, {27,85}, {27,86}, {27,87}, {27,88}, {27,89}, {27,90}, {27,91}, 
+    {27,92}, {27,93}, {28,0}, {28,1}, {28,2}, {28,3}, {28,4}, {28,5}, {28,6}, 
+    {28,7}, {28,8}, {28,9}, {28,10}, {28,11}, {28,12}, {28,13}, {28,14}, 
+    {28,17}, {28,15}, {28,16}, {28,18}, {28,19}, {28,20}, {28,21}, {28,22}, 
+    {28,23}, {28,24}, {28,25}, {28,26}, {28,27}, {28,28}, {28,29}, {28,30}, 
+    {28,31}, {28,32}, {28,33}, {28,34}, {28,35}, {28,36}, {28,37}, {28,38}, 
+    {28,39}, {28,40}, {28,41}, {28,42}, {28,43}, {28,44}, {28,45}, {28,46}, 
+    {28,47}, {28,48}, {28,49}, {28,50}, {28,51}, {28,52}, {28,53}, {28,54}, 
+    {28,55}, {28,56}, {28,57}, {28,58}, {28,59}, {28,60}, {28,61}, {28,62}, 
+    {28,63}, {28,64}, {28,65}, {28,66}, {28,67}, {28,68}, {28,69}, {28,70}, 
+    {28,71}, {28,72}, {28,73}, {28,74}, {28,75}, {28,76}, {28,77}, {28,78}, 
+    {28,79}, {28,80}, {28,81}, {28,82}, {28,83}, {28,84}, {28,85}, {28,86}, 
+    {28,87}, {28,88}, {28,89}, {28,90}, {28,91}, {28,92}, {28,93}, {29,0}, 
+    {29,1}, {29,2}, {29,3}, {29,4}, {29,5}, {29,6}, {29,7}, {29,8}, {29,9}, 
+    {29,10}, {29,11}, {29,12}, {29,13}, {29,14}, {29,15}, {29,16}, {29,17}, 
+    {29,18}, {29,19}, {29,20}, {29,21}, {29,22}, {29,23}, {29,24}, {29,25}, 
+    {29,26}, {29,27}, {29,28}, {29,29}, {29,30}, {29,31}, {29,32}, {29,33}, 
+    {29,34}, {29,35}, {29,36}, {29,37}, {29,38}, {29,39}, {29,40}, {29,41}, 
+    {29,42}, {29,43}, {29,44}, {29,45}, {29,46}, {29,47}, {29,48}, {29,49}, 
+    {29,50}, {29,51}, {29,52}, {29,53}, {29,54}, {29,55}, {29,56}, {29,57}, 
+    {29,58}, {29,59}, {29,60}, {29,61}, {29,62}, {29,63}, {29,64}, {29,65}, 
+    {29,66}, {29,67}, {29,68}, {29,69}, {29,70}, {29,71}, {29,72}, {29,73}, 
+    {29,74}, {29,75}, {29,76}, {29,77}, {29,78}, {29,79}, {29,80}, {29,81}, 
+    {29,82}, {29,83}, {29,84}, {29,85}, {29,86}, {29,87}, {29,88}, {29,89}, 
+    {29,90}, {29,93}, {29,91}, {29,92}, {30,0}, {30,1}, {30,2}, {30,3}, 
+    {30,4}, {30,5}, {30,6}, {30,7}, {30,8}, {30,9}, {30,10}, {30,11}, {30,12}, 
+    {30,13}, {30,14}, {30,15}, {30,16}, {30,17}, {30,18}, {30,19}, {30,20}, 
+    {30,21}, {30,22}, {30,23}, {30,24}, {30,25}, {30,26}, {30,27}, {30,28}, 
+    {30,29}, {30,30}, {30,31}, {30,32}, {30,33}, {30,34}, {30,35}, {30,36}, 
+    {30,37}, {30,38}, {30,39}, {30,40}, {30,41}, {30,42}, {30,43}, {30,44}, 
+    {30,45}, {30,46}, {30,47}, {30,48}, {30,49}, {30,50}, {30,51}, {30,52}, 
+    {30,53}, {30,54}, {30,55}, {30,56}, {30,57}, {30,58}, {30,59}, {30,60}, 
+    {30,61}, {30,62}, {30,63}, {30,64}, {30,65}, {30,66}, {30,67}, {30,68}, 
+    {30,69}, {30,70}, {30,71}, {30,72}, {30,73}, {30,74}, {30,75}, {30,76}, 
+    {30,77}, {30,78}, {30,79}, {30,80}, {30,81}, {30,82}, {30,83}, {30,84}, 
+    {30,85}, {30,86}, {30,87}, {30,88}, {30,89}, {30,90}, {30,91}, {30,92}, 
+    {30,93}, {31,0}, {31,1}, {31,2}, {31,3}, {31,4}, {31,5}, {31,6}, {31,7}, 
+    {31,8}, {31,9}, {31,10}, {31,11}, {31,12}, {31,13}, {31,14}, {31,15}, 
+    {31,16}, {31,17}, {31,18}, {31,19}, {31,20}, {31,21}, {31,22}, {31,23}, 
+    {31,24}, {31,25}, {31,26}, {31,27}, {31,28}, {31,29}, {31,30}, {31,31}, 
+    {31,32}, {31,33}, {31,34}, {31,35}, {31,36}, {31,37}, {31,38}, {31,39}, 
+    {31,40}, {31,41}, {31,42}, {31,43}, {31,44}, {31,45}, {31,46}, {31,47}, 
+    {31,48}, {31,49}, {31,50}, {31,51}, {31,52}, {31,53}, {31,54}, {31,55}, 
+    {31,56}, {31,57}, {31,58}, {31,59}, {31,60}, {31,61}, {31,62}, {31,63}, 
+    {31,64}, {31,65}, {31,66}, {31,67}, {31,68}, {31,69}, {31,70}, {31,71}, 
+    {31,72}, {31,73}, {31,74}, {31,75}, {31,76}, {31,77}, {31,78}, {31,79}, 
+    {31,80}, {31,81}, {31,82}, {31,83}, {31,84}, {31,85}, {31,86}, {31,87}, 
+    {31,88}, {31,89}, {31,90}, {31,91}, {31,92}, {31,93}, {32,0}, {32,1}, 
+    {32,2}, {32,3}, {32,4}, {32,5}, {32,6}, {32,7}, {32,8}, {32,9}, {32,10}, 
+    {32,11}, {32,12}, {32,13}, {32,14}, {32,15}, {32,16}, {32,17}, {32,18}, 
+    {32,19}, {32,20}, {32,21}, {32,22}, {32,23}, {32,24}, {32,25}, {32,26}, 
+    {32,27}, {32,28}, {32,29}, {32,30}, {32,31}, {32,32}, {32,33}, {32,34}, 
+    {32,35}, {32,36}, {32,37}, {32,38}, {32,39}, {32,40}, {32,41}, {32,42}, 
+    {32,43}, {32,44}, {32,45}, {32,46}, {32,47}, {32,48}, {32,49}, {32,50}, 
+    {32,51}, {32,52}, {32,53}, {32,54}, {32,55}, {32,56}, {32,57}, {32,58}, 
+    {32,59}, {32,60}, {32,61}, {32,62}, {32,63}, {32,64}, {32,65}, {32,66}, 
+    {32,67}, {32,68}, {32,69}, {32,70}, {32,71}, {32,72}, {32,73}, {32,74}, 
+    {32,75}, {32,76}, {32,77}, {32,78}, {32,79}, {32,80}, {32,81}, {32,82}, 
+    {32,83}, {32,84}, {32,85}, {32,86}, {32,87}, {32,88}, {32,89}, {32,90}, 
+    {32,91}, {32,92}, {32,93}, {33,0}, {33,1}, {33,2}, {33,3}, {33,4}, 
+    {33,5}, {33,6}, {33,7}, {33,8}, {33,9}, {33,10}, {33,11}, {33,12}, 
+    {33,13}, {33,15}, {33,14}, {33,16}, {33,17}, {33,18}, {33,19}, {33,20}, 
+    {33,22}, {33,21}, {33,23}, {33,24}, {33,25}, {33,26}, {33,27}, {33,28}, 
+    {33,29}, {33,31}, {33,32}, {33,33}, {33,35}, {33,36}, {33,38}, {33,39}, 
+    {33,40}, {33,41}, {33,43}, {33,34}, {33,37}, {33,42}, {33,44}, {33,45}, 
+    {33,46}, {33,47}, {33,48}, {33,49}, {33,50}, {33,51}, {33,52}, {33,53}, 
+    {33,54}, {33,55}, {33,56}, {33,57}, {33,58}, {33,59}, {33,60}, {33,61}, 
+    {33,62}, {33,63}, {33,64}, {33,65}, {33,66}, {33,67}, {33,68}, {33,69}, 
+    {33,70}, {33,71}, {33,72}, {33,73}, {33,74}, {33,75}, {33,76}, {33,30}, 
+    {33,77}, {33,78}, {33,79}, {33,80}, {33,81}, {33,82}, {33,83}, {33,84}, 
+    {33,85}, {33,86}, {33,87}, {33,88}, {33,89}, {33,90}, {33,91}, {33,92}, 
+    {33,93}, {34,0}, {34,1}, {34,2}, {34,3}, {34,4}, {34,5}, {34,6}, {34,7}, 
+    {34,8}, {34,9}, {34,10}, {34,11}, {34,12}, {34,13}, {34,14}, {34,15}, 
+    {34,16}, {34,17}, {34,18}, {34,19}, {34,20}, {34,21}, {34,22}, {34,24}, 
+    {34,25}, {34,26}, {34,27}, {34,28}, {34,29}, {34,30}, {34,31}, {34,32}, 
+    {34,33}, {34,34}, {34,35}, {34,36}, {34,37}, {34,38}, {34,39}, {34,23}, 
+    {34,41}, {34,42}, {34,43}, {34,44}, {34,46}, {34,45}, {34,47}, {34,48}, 
+    {34,49}, {34,50}, {34,51}, {34,52}, {34,53}, {34,54}, {34,55}, {34,56}, 
+    {34,57}, {34,58}, {34,40}, {34,59}, {34,60}, {34,61}, {34,62}, {34,63}, 
+    {34,64}, {34,65}, {34,66}, {34,67}, {34,68}, {34,69}, {34,70}, {34,71}, 
+    {34,72}, {34,73}, {34,74}, {34,75}, {34,76}, {34,77}, {34,78}, {34,79}, 
+    {34,80}, {34,81}, {34,82}, {34,83}, {34,84}, {34,85}, {34,86}, {34,87}, 
+    {34,88}, {34,89}, {34,90}, {34,91}, {34,92}, {34,93}, {35,0}, {35,1}, 
+    {35,2}, {35,3}, {35,4}, {35,5}, {35,6}, {35,7}, {35,8}, {35,9}, {35,10}, 
+    {35,11}, {35,12}, {35,13}, {35,14}, {35,15}, {35,16}, {35,17}, {35,18}, 
+    {35,19}, {35,20}, {35,21}, {35,22}, {35,23}, {35,24}, {35,25}, {35,26}, 
+    {35,27}, {35,28}, {35,29}, {35,30}, {35,31}, {35,32}, {35,33}, {35,34}, 
+    {35,35}, {35,36}, {35,37}, {35,38}, {35,39}, {35,40}, {35,41}, {35,42}, 
+    {35,43}, {35,44}, {35,45}, {35,46}, {35,47}, {35,48}, {35,49}, {35,50}, 
+    {35,51}, {35,52}, {35,53}, {35,54}, {35,55}, {35,56}, {35,57}, {35,58}, 
+    {35,59}, {35,60}, {35,61}, {35,62}, {35,63}, {35,64}, {35,65}, {35,66}, 
+    {35,67}, {35,68}, {35,69}, {35,70}, {35,71}, {35,72}, {35,73}, {35,74}, 
+    {35,75}, {35,76}, {35,77}, {35,78}, {35,79}, {35,80}, {35,81}, {35,82}, 
+    {35,83}, {35,84}, {35,85}, {35,86}, {35,87}, {35,88}, {35,89}, {35,90}, 
+    {35,91}, {35,92}, {35,93}, {36,0}, {36,1}, {36,2}, {36,3}, {36,4}, 
+    {36,5}, {36,6}, {36,7}, {36,8}, {36,9}, {36,10}, {36,11}, {36,12}, 
+    {36,13}, {36,14}, {36,15}, {36,16}, {36,17}, {36,18}, {36,19}, {36,20}, 
+    {36,21}, {36,22}, {36,23}, {36,24}, {36,25}, {36,26}, {36,27}, {36,28}, 
+    {36,29}, {36,30}, {36,31}, {36,32}, {36,33}, {36,34}, {36,35}, {36,36}, 
+    {36,37}, {36,38}, {36,39}, {36,40}, {36,41}, {36,42}, {36,44}, {36,43}, 
+    {36,45}, {36,46}, {36,47}, {36,48}, {36,49}, {36,50}, {36,51}, {36,52}, 
+    {36,53}, {36,54}, {36,55}, {36,56}, {36,57}, {36,58}, {36,59}, {36,60}, 
+    {36,61}, {36,62}, {36,63}, {36,64}, {36,65}, {36,66}, {36,67}, {36,68}, 
+    {36,69}, {36,70}, {36,71}, {36,72}, {36,73}, {36,74}, {36,75}, {36,76}, 
+    {36,77}, {36,78}, {36,79}, {36,80}, {36,81}, {36,82}, {36,83}, {36,84}, 
+    {36,85}, {36,86}, {36,87}, {36,88}, {36,89}, {36,90}, {36,91}, {36,92}, 
+    {36,93}, {37,0}, {37,1}, {37,2}, {37,3}, {37,4}, {37,5}, {37,6}, {37,7}, 
+    {37,8}, {37,9}, {37,10}, {37,11}, {37,12}, {37,13}, {37,14}, {37,15}, 
+    {37,16}, {37,17}, {37,18}, {37,19}, {37,20}, {37,21}, {37,22}, {37,23}, 
+    {37,24}, {37,25}, {37,26}, {37,27}, {37,28}, {37,29}, {37,30}, {37,31}, 
+    {37,32}, {37,33}, {37,34}, {37,35}, {37,36}, {37,37}, {37,38}, {37,39}, 
+    {37,40}, {37,41}, {37,42}, {37,43}, {37,44}, {37,45}, {37,46}, {37,47}, 
+    {37,48}, {37,49}, {37,50}, {37,51}, {37,52}, {37,53}, {37,54}, {37,55}, 
+    {37,56}, {37,57}, {37,58}, {37,59}, {37,60}, {37,61}, {37,62}, {37,63}, 
+    {38,21}, {37,64}, {37,65}, {37,66}, {37,67}, {37,68}, {37,69}, {37,70}, 
+    {37,71}, {37,72}, {37,73}, {37,74}, {37,75}, {37,76}, {37,77}, {37,78}, 
+    {37,79}, {37,80}, {37,81}, {37,82}, {37,83}, {37,84}, {37,85}, {37,86}, 
+    {37,87}, {37,88}, {37,89}, {37,90}, {37,91}, {37,92}, {37,93}, {38,0}, 
+    {38,1}, {38,2}, {38,3}, {38,4}, {38,5}, {38,6}, {38,7}, {38,8}, {38,9}, 
+    {38,10}, {38,11}, {38,12}, {38,13}, {38,14}, {38,15}, {38,16}, {38,17}, 
+    {38,18}, {38,19}, {38,20}, {38,22}, {38,23}, {38,24}, {38,25}, {38,26}, 
+    {38,27}, {38,28}, {38,29}, {38,30}, {38,31}, {38,32}, {38,33}, {38,34}, 
+    {38,35}, {38,36}, {38,37}, {38,38}, {38,39}, {38,40}, {38,41}, {38,42}, 
+    {38,43}, {38,44}, {38,45}, {38,46}, {38,47}, {38,48}, {38,49}, {38,50}, 
+    {38,51}, {38,52}, {38,53}, {38,54}, {38,55}, {38,56}, {38,57}, {38,58}, 
+    {38,59}, {38,60}, {38,61}, {38,62}, {38,63}, {38,64}, {38,65}, {38,66}, 
+    {38,67}, {38,68}, {38,69}, {38,70}, {38,71}, {38,72}, {38,73}, {38,74}, 
+    {38,75}, {38,76}, {38,77}, {38,78}, {38,79}, {38,80}, {38,81}, {38,82}, 
+    {38,83}, {38,84}, {38,85}, {38,86}, {38,87}, {38,88}, {38,89}, {38,90}, 
+    {38,91}, {38,92}, {38,93}, {39,0}, {39,1}, {39,2}, {39,3}, {39,4}, 
+    {39,5}, {39,6}, {39,7}, {39,8}, {39,9}, {39,10}, {39,11}, {39,12}, 
+    {39,13}, {39,14}, {39,15}, {39,16}, {39,17}, {39,18}, {39,19}, {39,20}, 
+    {39,21}, {39,22}, {39,23}, {39,24}, {39,25}, {39,26}, {39,27}, {39,28}, 
+    {39,29}, {39,30}, {39,31}, {39,32}, {39,33}, {39,34}, {39,35}, {39,36}, 
+    {39,37}, {39,38}, {39,39}, {39,40}, {39,41}, {39,42}, {39,43}, {39,50}, 
+    {39,44}, {39,45}, {39,46}, {39,47}, {39,48}, {39,49}, {39,51}, {39,52}, 
+    {39,53}, {39,54}, {39,55}, {39,56}, {39,57}, {39,58}, {39,59}, {39,60}, 
+    {39,61}, {39,62}, {39,63}, {39,64}, {39,65}, {39,66}, {39,67}, {39,68}, 
+    {39,69}, {39,70}, {39,71}, {39,72}, {39,73}, {39,74}, {39,75}, {39,76}, 
+    {39,77}, {39,78}, {39,79}, {39,80}, {39,81}, {39,82}, {39,83}, {39,84}, 
+    {39,85}, {39,86}, {39,87}, {39,88}, {39,89}, {39,90}, {39,91}, {39,92}, 
+    {39,93}, {40,0}, {40,1}, {40,2}, {40,3}, {40,4}, {40,5}, {40,6}, {40,7}, 
+    {40,8}, {40,9}, {40,10}, {40,11}, {40,12}, {40,13}, {40,14}, {40,15}, 
+    {40,16}, {40,17}, {40,18}, {40,19}, {40,20}, {40,21}, {40,22}, {40,23}, 
+    {40,24}, {40,25}, {40,26}, {40,27}, {40,32}, {40,28}, {40,29}, {40,30}, 
+    {40,31}, {40,33}, {40,34}, {40,35}, {40,36}, {40,37}, {40,38}, {40,39}, 
+    {40,40}, {40,41}, {40,42}, {40,43}, {40,44}, {40,45}, {40,46}, {40,47}, 
+    {40,48}, {40,49}, {40,50}, {40,51}, {40,52}, {40,53}, {40,54}, {40,55}, 
+    {40,56}, {40,57}, {40,58}, {40,59}, {40,60}, {40,61}, {40,62}, {40,63}, 
+    {40,64}, {40,65}, {40,66}, {40,67}, {40,68}, {40,69}, {40,70}, {40,71}, 
+    {40,72}, {40,73}, {40,74}, {40,75}, {40,76}, {40,77}, {40,78}, {40,79}, 
+    {40,80}, {40,81}, {40,82}, {40,83}, {40,84}, {40,85}, {40,86}, {40,87}, 
+    {40,88}, {40,89}, {40,90}, {40,91}, {40,92}, {40,93}, {41,0}, {41,1}, 
+    {41,2}, {41,3}, {41,4}, {41,5}, {41,6}, {41,7}, {41,8}, {41,9}, {41,10}, 
+    {41,11}, {41,12}, {41,13}, {41,14}, {41,15}, {41,16}, {41,17}, {41,18}, 
+    {41,19}, {41,20}, {41,21}, {41,22}, {41,23}, {41,24}, {41,25}, {41,26}, 
+    {41,27}, {41,28}, {41,29}, {41,30}, {41,31}, {41,32}, {41,33}, {41,34}, 
+    {41,35}, {41,36}, {41,37}, {41,38}, {41,39}, {41,40}, {41,41}, {41,42}, 
+    {41,43}, {41,44}, {41,45}, {41,46}, {41,47}, {41,48}, {41,49}, {41,50}, 
+    {41,51}, {41,52}, {41,53}, {41,54}, {41,55}, {41,56}, {41,57}, {41,58}, 
+    {41,59}, {41,60}, {41,61}, {41,62}, {41,63}, {41,64}, {41,65}, {41,66}, 
+    {41,67}, {41,68}, {41,69}, {41,70}, {41,71}, {41,72}, {41,73}, {41,74}, 
+    {41,75}, {41,76}, {41,77}, {41,78}, {41,79}, {41,80}, {41,81}, {41,82}, 
+    {41,83}, {41,84}, {41,85}, {41,86}, {41,87}, {41,88}, {41,89}, {41,90}, 
+    {41,91}, {41,92}, {41,93}, {42,0}, {42,1}, {42,2}, {42,3}, {42,4}, 
+    {42,5}, {42,6}, {42,7}, {42,8}, {42,9}, {42,10}, {42,11}, {42,12}, 
+    {42,13}, {42,14}, {42,15}, {42,16}, {42,17}, {42,18}, {42,19}, {42,20}, 
+    {42,21}, {42,22}, {42,23}, {42,24}, {42,25}, {42,26}, {42,27}, {42,28}, 
+    {42,29}, {42,30}, {42,31}, {42,32}, {42,33}, {42,34}, {42,35}, {42,36}, 
+    {42,37}, {42,38}, {42,39}, {42,40}, {42,41}, {42,42}, {42,43}, {42,44}, 
+    {42,45}, {42,46}, {42,47}, {42,48}, {42,49}, {42,50}, {42,51}, {42,52}, 
+    {42,53}, {42,54}, {42,55}, {42,56}, {42,57}, {42,58}, {42,59}, {42,60}, 
+    {42,61}, {42,62}, {42,63}, {42,64}, {42,65}, {42,66}, {42,67}, {42,68}, 
+    {42,69}, {42,70}, {42,71}, {42,72}, {42,73}, {42,74}, {42,75}, {42,76}, 
+    {42,77}, {42,78}, {42,79}, {42,80}, {42,81}, {42,82}, {42,83}, {42,84}, 
+    {42,85}, {42,86}, {42,87}, {42,88}, {42,89}, {42,90}, {42,91}, {42,92}, 
+    {42,93}, {43,0}, {43,1}, {43,2}, {43,3}, {43,4}, {43,5}, {43,6}, {43,7}, 
+    {43,8}, {43,9}, {43,10}, {43,11}, {43,12}, {43,13}, {43,14}, {43,15}, 
+    {43,16}, {43,17}, {43,18}, {43,19}, {43,20}, {43,21}, {43,22}, {43,23}, 
+    {43,24}, {43,25}, {43,26}, {43,27}, {43,28}, {43,29}, {43,30}, {43,31}, 
+    {43,32}, {43,33}, {43,34}, {43,35}, {43,36}, {43,37}, {43,38}, {43,39}, 
+    {43,40}, {43,41}, {43,42}, {43,43}, {43,44}, {43,45}, {43,46}, {43,47}, 
+    {43,48}, {43,49}, {43,50}, {43,51}, {43,52}, {43,53}, {43,54}, {43,55}, 
+    {43,56}, {43,57}, {43,58}, {43,59}, {43,60}, {43,61}, {43,62}, {43,63}, 
+    {43,64}, {43,65}, {43,66}, {43,67}, {43,68}, {43,69}, {43,70}, {43,71}, 
+    {43,72}, {43,73}, {43,74}, {43,75}, {43,76}, {43,77}, {43,78}, {43,79}, 
+    {43,80}, {43,81}, {43,82}, {43,83}, {43,84}, {43,85}, {43,86}, {43,87}, 
+    {43,88}, {43,89}, {43,90}, {43,91}, {43,92}, {43,93}, {44,0}, {44,1}, 
+    {44,2}, {44,3}, {44,4}, {44,5}, {44,6}, {44,7}, {44,8}, {44,9}, {44,10}, 
+    {44,11}, {44,12}, {44,13}, {44,14}, {44,15}, {44,16}, {44,17}, {44,18}, 
+    {44,19}, {44,20}, {44,21}, {44,22}, {44,23}, {44,24}, {44,25}, {44,26}, 
+    {44,27}, {44,28}, {44,29}, {44,30}, {44,31}, {44,32}, {44,33}, {44,34}, 
+    {44,35}, {44,36}, {44,37}, {44,38}, {44,39}, {44,40}, {44,41}, {44,42}, 
+    {44,43}, {44,44}, {44,45}, {44,46}, {44,47}, {44,48}, {44,49}, {44,50}, 
+    {44,51}, {44,52}, {44,53}, {44,54}, {44,55}, {44,56}, {44,57}, {44,58}, 
+    {44,59}, {44,60}, {44,61}, {44,62}, {44,63}, {44,64}, {44,65}, {44,66}, 
+    {44,67}, {44,68}, {44,69}, {44,70}, {44,71}, {44,72}, {44,73}, {44,74}, 
+    {44,75}, {44,76}, {44,77}, {44,78}, {44,79}, {44,80}, {44,81}, {44,82}, 
+    {44,83}, {44,84}, {44,85}, {44,86}, {44,87}, {44,88}, {44,89}, {44,90}, 
+    {44,91}, {44,92}, {44,93}, {45,0}, {45,1}, {45,3}, {45,4}, {45,5}, 
+    {45,6}, {45,7}, {45,8}, {45,2}, {45,9}, {45,10}, {45,11}, {45,12}, 
+    {45,13}, {45,14}, {45,15}, {45,16}, {45,17}, {45,18}, {45,19}, {45,20}, 
+    {45,21}, {45,22}, {45,23}, {45,24}, {45,25}, {45,26}, {45,27}, {45,28}, 
+    {45,29}, {45,30}, {45,31}, {45,32}, {45,33}, {45,34}, {45,35}, {45,36}, 
+    {45,37}, {45,38}, {45,39}, {45,40}, {45,41}, {45,42}, {45,43}, {45,44}, 
+    {45,45}, {45,46}, {45,47}, {45,48}, {45,49}, {45,50}, {45,51}, {45,52}, 
+    {45,53}, {45,54}, {45,55}, {45,56}, {45,57}, {45,58}, {45,59}, {45,60}, 
+    {45,61}, {45,62}, {45,63}, {45,64}, {45,65}, {45,66}, {45,67}, {45,68}, 
+    {45,69}, {45,70}, {45,71}, {45,72}, {45,73}, {45,74}, {45,75}, {45,76}, 
+    {45,77}, {45,78}, {45,79}, {45,80}, {45,81}, {45,82}, {45,83}, {45,84}, 
+    {45,85}, {45,86}, {45,87}, {45,88}, {45,89}, {45,90}, {45,91}, {45,92}, 
+    {45,93}, {46,0}, {46,1}, {46,2}, {46,3}, {46,4}, {46,5}, {46,6}, {46,7}, 
+    {46,8}, {46,9}, {46,10}, {46,11}, {46,12}, {46,13}, {46,14}, {46,15}, 
+    {46,16}, {46,17}, {46,18}, {46,19}, {46,20}, {46,21}, {46,22}, {46,23}, 
+    {46,24}, {46,25}, {46,26}, {46,27}, {46,28}, {46,29}, {46,30}, {46,31}, 
+    {46,32}, {46,33}, {46,34}, {46,35}, {46,36}, {46,37}, {46,38}, {46,39}, 
+    {46,40}, {46,41}, {46,42}, {46,43}, {46,44}, {46,45}, {46,46}, {46,47}, 
+    {46,48}, {46,49}, {46,50}, {46,51}, {46,52}, {46,53}, {46,54}, {46,55}, 
+    {46,56}, {46,57}, {46,58}, {46,59}, {46,60}, {46,61}, {46,62}, {46,63}, 
+    {46,64}, {46,65}, {46,66}, {46,67}, {46,68}, {46,69}, {46,70}, {46,71}, 
+    {46,72}, {46,73}, {46,74}, {46,75}, {46,76}, {46,77}, {46,78}, {46,79}, 
+    {46,80}, {46,81}, {46,83}, {46,84}, {46,85}, {46,82}, {46,86}, {46,87}, 
+    {46,88}, {46,89}, {46,90}, {46,91}, {46,92}, {46,93}, {47,0}, {47,1}, 
+    {47,2}, {47,3}, {47,4}, {47,5}, {47,6}, {47,7}, {47,8}, {47,9}, {47,10}, 
+    {47,11}, {47,13}, {47,14}, {47,15}, {47,16}, {47,12}, {47,17}, {47,18}, 
+    {47,19}, {47,20}, {47,22}, {47,23}, {47,24}, {47,25}, {47,26}, {47,21}, 
+    {47,27}, {47,28}, {47,29}, {47,30}, {47,31}, {47,32}, {47,33}, {47,34}, 
+    {47,35}, {47,36}, {47,37}, {47,38}, {47,39}, {47,40}, {47,41}, {47,42}, 
+    {47,43}, {47,44}, {47,45}, {47,46}, {47,47}, {47,48}, {47,49}, {47,50}, 
+    {47,51}, {47,52}, {47,53}, {47,54}, {47,55}, {47,56}, {47,57}, {47,58}, 
+    {47,59}, {47,60}, {47,61}, {47,62}, {47,63}, {47,64}, {47,65}, {47,66}, 
+    {47,67}, {47,68}, {47,69}, {47,70}, {47,71}, {47,72}, {47,73}, {47,74}, 
+    {47,75}, {47,76}, {47,77}, {47,78}, {47,79}, {47,80}, {47,81}, {47,82}, 
+    {47,83}, {47,84}, {47,85}, {47,86}, {47,87}, {47,88}, {47,89}, {47,90}, 
+    {47,91}, {47,92}, {47,93}, {48,0}, {48,1}, {48,2}, {48,3}, {48,4}, 
+    {48,5}, {48,6}, {48,7}, {48,8}, {48,9}, {48,10}, {48,11}, {48,12}, 
+    {48,13}, {48,14}, {48,15}, {48,16}, {48,17}, {48,18}, {48,19}, {48,20}, 
+    {48,21}, {48,22}, {48,23}, {48,24}, {48,25}, {48,26}, {48,27}, {48,28}, 
+    {48,29}, {48,30}, {48,31}, {48,32}, {48,33}, {48,34}, {48,35}, {48,36}, 
+    {48,37}, {48,38}, {48,39}, {48,40}, {48,41}, {48,42}, {48,43}, {48,44}, 
+    {48,45}, {48,46}, {48,47}, {48,48}, {48,49}, {48,50}, {48,51}, {48,52}, 
+    {48,53}, {48,54}, {48,55}, {48,56}, {48,57}, {48,58}, {48,59}, {48,60}, 
+    {48,61}, {48,62}, {48,63}, {48,64}, {48,65}, {48,66}, {48,67}, {48,68}, 
+    {48,69}, {48,70}, {48,71}, {48,72}, {48,73}, {48,74}, {48,75}, {48,76}, 
+    {48,77}, {48,78}, {48,79}, {48,80}, {48,81}, {48,82}, {48,83}, {48,84}, 
+    {48,85}, {48,86}, {48,87}, {48,88}, {48,89}, {48,90}, {48,91}, {48,92}, 
+    {48,93}, {49,0}, {49,1}, {49,2}, {49,3}, {49,4}, {49,5}, {49,6}, {49,7}, 
+    {49,8}, {49,9}, {49,10}, {49,11}, {49,12}, {49,13}, {49,14}, {49,15}, 
+    {49,16}, {49,17}, {49,18}, {49,19}, {49,20}, {49,21}, {49,22}, {49,23}, 
+    {49,24}, {49,25}, {49,26}, {49,27}, {49,28}, {49,29}, {49,30}, {49,31}, 
+    {49,32}, {49,33}, {49,34}, {49,35}, {49,36}, {49,37}, {49,38}, {49,39}, 
+    {49,40}, {49,41}, {49,42}, {49,43}, {49,44}, {49,45}, {49,46}, {49,47}, 
+    {49,48}, {49,49}, {49,50}, {49,51}, {49,52}, {49,53}, {49,54}, {49,55}, 
+    {49,56}, {49,57}, {49,58}, {49,59}, {49,60}, {49,61}, {49,62}, {49,63}, 
+    {49,64}, {49,65}, {49,66}, {49,67}, {49,68}, {49,69}, {49,70}, {49,71}, 
+    {49,72}, {49,73}, {49,74}, {49,75}, {49,76}, {49,77}, {49,78}, {49,79}, 
+    {49,80}, {49,81}, {49,82}, {49,83}, {49,85}, {49,86}, {49,87}, {49,84}, 
+    {49,88}, {49,89}, {49,90}, {49,91}, {49,92}, {49,93}, {50,0}, {50,1}, 
+    {50,2}, {50,3}, {50,4}, {50,5}, {50,6}, {50,7}, {50,8}, {50,9}, {50,10}, 
+    {50,11}, {50,12}, {50,13}, {50,14}, {50,15}, {50,16}, {50,17}, {50,18}, 
+    {50,19}, {50,20}, {50,21}, {50,22}, {50,23}, {50,24}, {50,25}, {50,26}, 
+    {50,27}, {50,28}, {50,29}, {50,30}, {50,31}, {50,32}, {50,33}, {50,34}, 
+    {50,35}, {50,36}, {50,37}, {50,38}, {50,39}, {50,40}, {50,41}, {50,42}, 
+    {50,43}, {50,44}, {50,45}, {50,46}, {50,47}, {50,48}, {50,49}, {50,50}, 
+    {50,51}, {50,52}, {50,53}, {50,54}, {50,55}, {50,56}, {50,57}, {50,58}, 
+    {50,59}, {50,60}, {50,61}, {50,62}, {50,63}, {50,64}, {50,65}, {50,66}, 
+    {50,67}, {50,68}, {50,69}, {50,70}, {50,71}, {50,72}, {50,73}, {50,74}, 
+    {50,75}, {50,76}, {50,77}, {50,78}, {50,79}, {50,80}, {50,81}, {50,82}, 
+    {50,83}, {50,84}, {50,85}, {50,86}, {50,87}, {50,88}, {50,89}, {50,90}, 
+    {50,91}, {50,92}, {50,93}, {51,0}, {51,1}, {51,2}, {51,3}, {51,4}, 
+    {51,5}, {51,6}, {51,7}, {51,8}, {51,9}, {51,10}, {51,11}, {51,12}, 
+    {51,13}, {51,14}, {51,15}, {51,16}, {51,17}, {51,19}, {51,20}, {51,21}, 
+    {51,22}, {51,23}, {51,24}, {51,25}, {51,26}, {51,27}, {51,28}, {51,29}, 
+    {51,18}, {51,30}, {51,31}, {51,32}, {51,33}, {51,34}, {51,35}, {51,36}, 
+    {51,37}, {51,38}, {51,39}, {51,40}, {51,41}, {51,42}, {51,43}, {51,44}, 
+    {51,45}, {51,46}, {51,47}, {51,48}, {51,49}, {51,50}, {51,51}, {51,52}, 
+    {51,53}, {51,54}, {51,55}, {51,56}, {51,57}, {51,58}, {51,59}, {51,60}, 
+    {51,61}, {51,62}, {51,63}, {51,64}, {51,65}, {51,66}, {51,67}, {51,68}, 
+    {51,69}, {51,70}, {51,71}, {51,72}, {51,73}, {51,75}, {51,74}, {51,76}, 
+    {51,77}, {51,78}, {51,79}, {51,80}, {51,81}, {51,82}, {51,83}, {51,84}, 
+    {51,85}, {51,86}, {51,87}, {51,88}, {51,89}, {51,90}, {51,91}, {51,92}, 
+    {51,93}, {52,0}, {52,1}, {52,2}, {52,3}, {52,4}, {52,5}, {52,6}, {52,7}, 
+    {52,8}, {52,9}, {52,10}, {52,11}, {52,12}, {52,13}, {52,14}, {52,15}, 
+    {52,16}, {52,17}, {52,18}, {52,19}, {52,20}, {52,21}, {52,22}, {52,23}, 
+    {52,24}, {52,25}, {52,26}, {52,27}, {52,28}, {52,29}, {52,30}, {52,31}, 
+    {52,32}, {52,33}, {52,34}, {52,35}, {52,36}, {52,37}, {52,38}, {52,39}, 
+    {52,40}, {52,41}, {52,42}, {52,43}, {52,44}, {52,45}, {52,46}, {52,47}, 
+    {52,48}, {52,49}, {52,50}, {52,51}, {52,52}, {52,53}, {52,54}, {52,55}, 
+    {52,56}, {52,57}, {52,58}, {52,59}, {52,60}, {52,61}, {52,62}, {52,63}, 
+    {52,64}, {52,65}, {52,66}, {52,67}, {52,68}, {52,69}, {52,70}, {52,71}, 
+    {52,72}, {52,73}, {52,74}, {52,75}, {52,76}, {52,77}, {52,78}, {52,79}, 
+    {52,80}, {52,81}, {52,82}, {52,83}, {52,84}, {52,85}, {52,86}, {52,87}, 
+    {52,88}, {52,89}, {52,90}, {52,91}, {52,92}, {52,93}, {53,0}, {53,1}, 
+    {53,2}, {53,3}, {53,4}, {53,5}, {53,6}, {53,7}, {53,8}, {53,9}, {53,10}, 
+    {53,11}, {53,12}, {53,13}, {53,14}, {53,15}, {53,16}, {53,17}, {53,18}, 
+    {53,19}, {53,20}, {53,21}, {53,22}, {53,23}, {53,24}, {53,25}, {53,26}, 
+    {53,27}, {53,28}, {53,29}, {53,30}, {53,31}, {53,32}, {53,33}, {53,34}, 
+    {53,35}, {53,36}, {53,38}, {53,39}, {53,40}, {53,41}, {53,42}, {53,37}, 
+    {53,43}, {53,44}, {53,45}, {53,46}, {53,47}, {53,48}, {53,49}, {53,50}, 
+    {53,51}, {53,53}, {53,54}, {53,55}, {53,52}, {53,56}, {53,57}, {53,58}, 
+    {53,59}, {53,60}, {53,61}, {53,62}, {53,63}, {53,64}, {53,65}, {53,66}, 
+    {53,67}, {53,68}, {53,69}, {53,70}, {53,71}, {53,72}, {53,73}, {53,74}, 
+    {53,75}, {53,76}, {53,77}, {53,78}, {53,79}, {53,80}, {53,81}, {53,82}, 
+    {53,83}, {53,84}, {53,85}, {53,86}, {53,87}, {53,88}, {53,89}, {53,90}, 
+    {53,91}, {53,92}, {53,93}, {54,0}, {54,1}, {54,2}, {54,3}, {54,4}, 
+    {54,5}, {54,6}, {54,7}, {54,8}, {54,9}, {54,10}, {54,11}, {54,12}, 
+    {54,13}, {54,14}, {54,15}, {54,16}, {54,17}, {54,18}, {54,19}, {54,20}, 
+    {54,21}, {54,22}, {54,23}, {54,24}, {54,25}, {54,26}, {54,27}, {54,28}, 
+    {54,29}, {54,30}, {54,31}, {54,32}, {54,33}, {54,34}, {54,35}, {54,36}, 
+    {54,37}, {54,38}, {54,39}, {54,40}, {54,41}, {54,42}, {54,43}, {54,44}, 
+    {54,45}, {54,46}, {54,47}, {54,48}, {54,49}, {54,50}, {54,51}, {54,52}, 
+    {54,53}, {54,54}, {54,55}, {54,56}, {54,57}, {54,58}, {54,59}, {54,60}, 
+    {54,61}, {54,62}, {54,63}, {54,64}, {54,65}, {54,67}, {54,68}, {54,69}, 
+    {54,70}, {54,71}, {54,72}, {54,73}, {54,74}, {54,75}, {54,76}, {54,77}, 
+    {54,78}, {54,79}, {54,80}, {54,81}, {54,82}, {54,83}, {54,84}, {54,85}, 
+    {54,86}, {54,87}, {54,88}, {55,29}, {54,66}, {54,89}, {54,90}, {54,91}, 
+    {54,92}, {54,93}, {55,0}, {55,1}, {55,2}, {55,3}, {55,4}, {55,5}, {55,6}, 
+    {55,7}, {55,8}, {55,9}, {55,10}, {55,11}, {55,12}, {55,13}, {55,14}, 
+    {55,15}, {55,16}, {55,17}, {55,18}, {55,43}, {55,19}, {55,20}, {55,21}, 
+    {55,22}, {55,23}, {55,24}, {55,25}, {55,26}, {55,27}, {55,28}, {55,30}, 
+    {55,31}, {55,32}, {55,33}, {55,34}, {55,35}, {55,36}, {55,37}, {55,38}, 
+    {55,39}, {55,40}, {55,41}, {55,42}, {55,44}, {55,45}, {55,46}, {55,47}, 
+    {55,48}, {55,49}, {55,50}, {55,51}, {55,52}, {55,53}, {55,54}, {55,55}, 
+    {55,56}, {55,57}, {55,58}, {55,59}, {55,60}, {55,61}, {55,62}, {55,63}, 
+    {55,64}, {55,65}, {55,66}, {55,67}, {55,68}, {55,69}, {55,70}, {55,71}, 
+    {55,72}, {55,73}, {55,74}, {55,75}, {55,76}, {55,77}, {55,78}, {55,79}, 
+    {55,80}, {55,81}, {55,82}, {55,83}, {55,84}, {55,85}, {55,86}, {55,87}, 
+    {55,88}, {55,89}, {55,90}, {55,91}, {55,92}, {55,93}, {56,0}, {56,1}, 
+    {56,2}, {56,3}, {56,4}, {56,5}, {56,6}, {56,7}, {56,9}, {56,10}, {56,11}, 
+    {56,12}, {56,13}, {56,14}, {56,15}, {56,16}, {56,17}, {56,18}, {56,19}, 
+    {56,20}, {56,21}, {56,22}, {56,23}, {56,24}, {56,25}, {56,26}, {56,27}, 
+    {56,8}, {56,28}, {56,29}, {56,30}, {56,31}, {56,32}, {56,33}, {56,34}, 
+    {56,35}, {56,36}, {56,37}, {56,38}, {56,39}, {56,40}, {56,41}, {56,42}, 
+    {56,43}, {56,44}, {56,45}, {56,46}, {56,47}, {56,48}, {56,49}, {56,50}, 
+    {56,51}, {56,52}, {56,53}, {56,54}, {56,55}, {56,56}, {56,57}, {56,58}, 
+    {56,59}, {56,60}, {56,61}, {56,62}, {56,63}, {56,64}, {56,65}, {56,66}, 
+    {56,67}, {56,68}, {56,69}, {56,83}, {56,70}, {56,71}, {56,72}, {56,73}, 
+    {56,74}, {56,75}, {56,76}, {56,77}, {56,78}, {56,79}, {56,80}, {56,81}, 
+    {56,82}, {56,84}, {56,85}, {56,86}, {56,87}, {56,88}, {56,89}, {56,90}, 
+    {56,91}, {56,92}, {56,93}, {57,0}, {57,1}, {57,2}, {57,3}, {57,4}, 
+    {57,5}, {57,6}, {57,7}, {57,8}, {57,9}, {57,10}, {57,11}, {57,12}, 
+    {57,13}, {57,14}, {57,15}, {57,16}, {57,17}, {57,18}, {57,19}, {57,20}, 
+    {57,21}, {23,69}, {57,22}, {57,23}, {57,24}, {57,25}, {57,26}, {57,27}, 
+    {57,28}, {57,29}, {57,30}, {57,31}, {57,32}, {57,33}, {57,34}, {57,35}, 
+    {57,36}, {57,37}, {57,38}, {57,39}, {57,40}, {57,41}, {57,42}, {57,76}, 
+    {57,43}, {57,44}, {57,45}, {57,46}, {57,47}, {57,48}, {57,49}, {57,50}, 
+    {57,51}, {57,52}, {57,53}, {57,54}, {57,55}, {57,56}, {57,57}, {57,58}, 
+    {57,59}, {57,60}, {57,61}, {57,62}, {57,63}, {57,64}, {57,65}, {57,66}, 
+    {57,67}, {57,68}, {57,69}, {57,70}, {57,71}, {57,72}, {57,73}, {57,74}, 
+    {57,75}, {57,77}, {57,78}, {57,79}, {57,80}, {57,81}, {57,82}, {57,83}, 
+    {57,84}, {57,85}, {57,86}, {57,87}, {57,88}, {57,89}, {57,90}, {57,91}, 
+    {57,92}, {57,93}, {58,0}, {58,1}, {58,2}, {58,3}, {58,4}, {58,5}, {58,6}, 
+    {58,7}, {58,8}, {58,9}, {58,10}, {58,11}, {58,12}, {58,13}, {58,14}, 
+    {58,15}, {58,16}, {58,17}, {58,18}, {58,19}, {58,20}, {58,21}, {58,22}, 
+    {58,23}, {58,24}, {58,25}, {58,26}, {58,27}, {58,28}, {58,29}, {58,30}, 
+    {58,31}, {58,32}, {58,33}, {58,34}, {58,35}, {58,36}, {58,37}, {58,38}, 
+    {58,39}, {58,40}, {58,41}, {58,42}, {58,43}, {58,44}, {58,45}, {58,46}, 
+    {58,47}, {58,48}, {58,49}, {58,50}, {58,51}, {58,52}, {58,53}, {58,54}, 
+    {58,55}, {58,56}, {58,57}, {58,58}, {58,59}, {58,60}, {58,61}, {58,62}, 
+    {58,63}, {58,64}, {58,65}, {58,66}, {58,67}, {58,68}, {58,69}, {58,70}, 
+    {58,71}, {58,72}, {58,73}, {58,74}, {58,75}, {58,76}, {58,77}, {58,79}, 
+    {58,80}, {58,81}, {58,82}, {58,78}, {58,83}, {58,84}, {58,85}, {58,86}, 
+    {58,87}, {58,88}, {58,89}, {58,90}, {58,91}, {58,92}, {58,93}, {59,0}, 
+    {59,1}, {59,2}, {59,3}, {59,4}, {59,5}, {59,6}, {59,7}, {59,8}, {59,9}, 
+    {59,10}, {59,11}, {59,12}, {59,13}, {59,14}, {59,15}, {59,16}, {59,17}, 
+    {59,18}, {59,19}, {59,20}, {59,21}, {59,22}, {59,23}, {59,24}, {59,25}, 
+    {59,26}, {59,27}, {59,28}, {59,29}, {59,30}, {59,31}, {59,32}, {59,33}, 
+    {59,34}, {59,35}, {59,36}, {59,37}, {59,38}, {59,39}, {59,40}, {59,41}, 
+    {59,42}, {59,43}, {59,44}, {59,45}, {59,46}, {59,47}, {59,48}, {59,49}, 
+    {59,50}, {59,51}, {59,52}, {59,53}, {59,54}, {59,55}, {59,56}, {59,57}, 
+    {59,58}, {59,59}, {59,60}, {59,61}, {59,62}, {59,63}, {59,64}, {59,65}, 
+    {59,66}, {59,67}, {59,68}, {59,69}, {59,70}, {59,71}, {59,72}, {59,73}, 
+    {59,74}, {59,75}, {59,76}, {59,77}, {59,78}, {59,79}, {59,80}, {59,81}, 
+    {59,82}, {59,83}, {59,84}, {59,85}, {59,86}, {59,87}, {59,88}, {59,89}, 
+    {59,90}, {59,91}, {59,92}, {59,93}, {60,0}, {60,1}, {60,2}, {60,3}, 
+    {60,4}, {60,5}, {60,6}, {60,7}, {60,8}, {60,9}, {60,10}, {60,11}, {60,12}, 
+    {60,13}, {60,14}, {60,15}, {60,16}, {60,17}, {60,18}, {60,19}, {60,20}, 
+    {60,21}, {60,22}, {60,23}, {60,24}, {60,25}, {60,26}, {60,27}, {60,28}, 
+    {60,29}, {60,30}, {60,31}, {60,32}, {60,33}, {60,34}, {60,35}, {60,36}, 
+    {60,37}, {60,38}, {60,39}, {60,40}, {60,41}, {60,42}, {60,43}, {60,44}, 
+    {60,45}, {60,46}, {60,47}, {60,48}, {60,49}, {60,50}, {60,51}, {60,52}, 
+    {60,53}, {60,54}, {60,55}, {60,56}, {60,57}, {60,58}, {60,59}, {60,60}, 
+    {60,61}, {60,62}, {60,63}, {60,64}, {60,65}, {60,66}, {60,67}, {60,68}, 
+    {60,69}, {60,70}, {60,71}, {60,72}, {60,73}, {60,74}, {60,75}, {60,76}, 
+    {60,77}, {60,78}, {60,79}, {60,80}, {60,81}, {60,82}, {60,83}, {60,84}, 
+    {60,85}, {60,86}, {60,87}, {60,88}, {60,89}, {60,90}, {60,91}, {60,92}, 
+    {60,93}, {61,0}, {61,1}, {61,2}, {61,3}, {61,4}, {61,5}, {61,6}, {61,7}, 
+    {61,8}, {61,9}, {61,10}, {61,11}, {61,12}, {61,13}, {61,14}, {61,15}, 
+    {61,16}, {61,17}, {61,18}, {61,19}, {61,20}, {61,21}, {61,22}, {61,23}, 
+    {61,24}, {61,30}, {61,25}, {61,26}, {61,27}, {61,28}, {61,29}, {61,31}, 
+    {61,32}, {61,33}, {61,34}, {61,35}, {61,36}, {61,37}, {61,38}, {61,39}, 
+    {61,40}, {61,45}, {61,41}, {61,42}, {61,43}, {61,44}, {61,46}, {61,47}, 
+    {61,48}, {61,49}, {61,50}, {61,51}, {61,52}, {61,53}, {61,54}, {61,55}, 
+    {61,56}, {61,57}, {61,58}, {61,59}, {61,60}, {61,61}, {61,62}, {61,63}, 
+    {61,64}, {61,65}, {61,66}, {61,67}, {61,68}, {61,69}, {61,70}, {61,71}, 
+    {61,72}, {61,73}, {61,74}, {61,75}, {61,76}, {61,77}, {61,78}, {61,81}, 
+    {61,79}, {61,80}, {61,82}, {61,83}, {61,84}, {61,85}, {61,86}, {61,87}, 
+    {61,88}, {61,89}, {61,90}, {61,91}, {61,92}, {61,93}, {62,0}, {62,1}, 
+    {62,2}, {62,3}, {62,4}, {62,5}, {62,6}, {62,7}, {62,8}, {62,9}, {62,10}, 
+    {62,11}, {62,12}, {62,13}, {62,14}, {62,15}, {62,17}, {62,16}, {62,18}, 
+    {62,19}, {62,20}, {62,21}, {62,22}, {62,23}, {62,24}, {62,25}, {62,26}, 
+    {62,27}, {62,28}, {62,29}, {62,30}, {62,31}, {62,32}, {62,33}, {62,34}, 
+    {62,35}, {62,36}, {62,37}, {62,38}, {62,39}, {62,40}, {62,41}, {62,42}, 
+    {62,43}, {62,44}, {62,45}, {62,46}, {62,47}, {62,48}, {62,49}, {62,50}, 
+    {62,51}, {62,52}, {62,53}, {62,54}, {62,55}, {62,56}, {62,57}, {62,58}, 
+    {62,59}, {62,60}, {62,78}, {62,61}, {62,62}, {62,63}, {62,64}, {62,65}, 
+    {62,66}, {62,67}, {62,68}, {62,69}, {62,70}, {62,71}, {62,72}, {62,73}, 
+    {62,74}, {62,75}, {62,76}, {62,77}, {62,79}, {62,80}, {62,81}, {62,82}, 
+    {62,83}, {62,84}, {62,85}, {62,86}, {62,87}, {62,88}, {62,89}, {62,90}, 
+    {62,91}, {62,92}, {62,93}, {63,0}, {63,1}, {63,2}, {63,3}, {63,4}, 
+    {63,5}, {63,6}, {63,7}, {63,8}, {63,9}, {63,10}, {63,11}, {63,12}, 
+    {63,13}, {63,14}, {63,15}, {63,16}, {63,17}, {63,18}, {63,19}, {63,20}, 
+    {63,21}, {63,22}, {63,23}, {63,24}, {63,25}, {63,26}, {63,27}, {63,28}, 
+    {63,29}, {63,30}, {63,31}, {63,32}, {63,33}, {63,34}, {63,35}, {63,36}, 
+    {63,37}, {63,38}, {63,39}, {63,40}, {63,41}, {63,42}, {63,43}, {63,44}, 
+    {63,45}, {63,46}, {63,47}, {63,48}, {63,49}, {63,50}, {63,51}, {63,52}, 
+    {63,53}, {63,54}, {63,55}, {63,56}, {63,57}, {63,58}, {63,59}, {63,60}, 
+    {63,67}, {63,61}, {63,62}, {63,63}, {63,64}, {63,65}, {63,66}, {63,68}, 
+    {63,69}, {63,70}, {63,71}, {63,72}, {63,73}, {63,74}, {63,75}, {63,76}, 
+    {63,77}, {63,78}, {63,79}, {63,80}, {63,81}, {63,82}, {63,83}, {63,84}, 
+    {63,85}, {63,86}, {63,87}, {63,88}, {63,89}, {63,90}, {63,91}, {63,92}, 
+    {63,93}, {64,0}, {64,1}, {64,2}, {64,3}, {64,4}, {64,5}, {64,6}, {64,7}, 
+    {64,8}, {64,9}, {64,10}, {64,11}, {64,12}, {64,13}, {64,14}, {64,15}, 
+    {64,16}, {64,17}, {64,18}, {64,19}, {64,20}, {64,21}, {64,22}, {64,23}, 
+    {64,24}, {64,25}, {64,26}, {64,27}, {64,28}, {64,29}, {64,30}, {64,31}, 
+    {64,32}, {64,33}, {64,34}, {64,35}, {64,36}, {64,37}, {64,38}, {64,39}, 
+    {64,40}, {64,41}, {64,42}, {64,43}, {64,44}, {64,45}, {64,46}, {64,47}, 
+    {64,48}, {64,49}, {64,51}, {64,52}, {64,53}, {64,50}, {64,54}, {64,55}, 
+    {64,56}, {64,57}, {64,58}, {64,59}, {64,60}, {64,61}, {64,62}, {64,63}, 
+    {64,64}, {64,65}, {64,66}, {64,67}, {64,68}, {64,69}, {64,70}, {64,71}, 
+    {64,72}, {64,73}, {64,74}, {64,75}, {64,76}, {64,77}, {64,78}, {64,79}, 
+    {64,80}, {64,81}, {64,82}, {64,83}, {64,84}, {64,85}, {64,86}, {64,87}, 
+    {64,88}, {64,89}, {64,90}, {64,92}, {64,93}, {65,0}, {65,1}, {65,2}, 
+    {65,3}, {64,91}, {65,12}, {65,4}, {65,5}, {65,6}, {65,7}, {65,8}, {65,9}, 
+    {65,10}, {65,11}, {65,14}, {65,15}, {65,16}, {65,17}, {65,13}, {65,18}, 
+    {65,19}, {65,20}, {65,21}, {65,22}, {65,23}, {65,24}, {65,25}, {65,26}, 
+    {65,27}, {65,28}, {65,29}, {65,30}, {65,31}, {65,32}, {65,33}, {65,34}, 
+    {65,36}, {65,37}, {65,35}, {65,38}, {65,39}, {65,40}, {65,41}, {65,42}, 
+    {65,43}, {65,44}, {65,45}, {65,46}, {65,47}, {65,48}, {65,49}, {65,50}, 
+    {65,51}, {65,52}, {65,53}, {65,54}, {65,55}, {65,56}, {65,57}, {65,58}, 
+    {65,59}, {65,60}, {65,61}, {65,62}, {65,63}, {65,64}, {65,65}, {65,66}, 
+    {65,67}, {65,68}, {65,69}, {65,70}, {65,71}, {65,72}, {65,73}, {65,74}, 
+    {65,75}, {65,76}, {65,77}, {65,78}, {65,79}, {65,80}, {65,81}, {65,82}, 
+    {65,83}, {65,84}, {65,85}, {65,86}, {65,87}, {65,88}, {65,89}, {65,90}, 
+    {65,91}, {65,92}, {65,93}, {66,0}, {66,1}, {66,2}, {66,3}, {66,4}, 
+    {66,5}, {66,6}, {66,7}, {66,8}, {66,9}, {66,10}, {66,11}, {66,12}, 
+    {66,13}, {66,14}, {66,15}, {66,16}, {66,17}, {66,18}, {66,19}, {66,20}, 
+    {66,21}, {66,22}, {66,23}, {66,24}, {66,25}, {66,26}, {66,27}, {66,28}, 
+    {66,29}, {66,30}, {66,31}, {66,32}, {66,33}, {66,34}, {66,35}, {66,36}, 
+    {66,37}, {66,38}, {66,39}, {66,40}, {66,41}, {66,42}, {66,43}, {66,44}, 
+    {66,45}, {66,46}, {66,47}, {66,48}, {66,49}, {66,50}, {66,51}, {66,52}, 
+    {66,53}, {66,54}, {66,55}, {66,56}, {66,57}, {66,58}, {66,59}, {66,60}, 
+    {66,61}, {66,62}, {66,63}, {66,64}, {66,65}, {66,66}, {66,67}, {66,68}, 
+    {66,69}, {66,70}, {66,71}, {66,72}, {66,73}, {66,74}, {66,75}, {66,76}, 
+    {66,77}, {66,78}, {66,79}, {66,80}, {66,81}, {66,82}, {66,83}, {66,84}, 
+    {66,85}, {66,86}, {66,87}, {66,88}, {66,89}, {66,90}, {66,91}, {66,92}, 
+    {66,93}, {67,0}, {67,1}, {67,2}, {67,3}, {67,4}, {67,5}, {67,6}, {67,7}, 
+    {67,8}, {67,9}, {67,10}, {67,11}, {67,12}, {67,13}, {67,14}, {67,15}, 
+    {67,16}, {67,17}, {67,18}, {67,19}, {67,20}, {67,21}, {67,22}, {67,23}, 
+    {67,24}, {67,25}, {67,26}, {67,27}, {67,28}, {67,29}, {67,30}, {67,31}, 
+    {67,32}, {67,33}, {67,34}, {67,35}, {67,36}, {67,37}, {67,38}, {67,39}, 
+    {67,40}, {67,41}, {67,42}, {67,43}, {67,44}, {67,45}, {67,46}, {67,47}, 
+    {67,48}, {67,49}, {67,50}, {67,51}, {67,52}, {67,53}, {67,54}, {67,55}, 
+    {67,56}, {67,57}, {67,58}, {67,59}, {67,60}, {67,61}, {67,62}, {67,63}, 
+    {67,64}, {67,65}, {67,66}, {67,67}, {67,68}, {67,69}, {67,70}, {67,71}, 
+    {67,72}, {67,73}, {67,74}, {67,75}, {67,76}, {67,77}, {67,78}, {67,79}, 
+    {67,80}, {67,81}, {67,82}, {67,83}, {67,84}, {67,85}, {67,86}, {67,87}, 
+    {67,88}, {67,89}, {67,90}, {67,91}, {67,92}, {67,93}, {68,0}, {68,1}, 
+    {68,2}, {68,3}, {68,4}, {68,5}, {68,6}, {68,7}, {68,8}, {68,9}, {68,10}, 
+    {68,11}, {68,12}, {68,13}, {68,14}, {68,15}, {68,16}, {68,17}, {68,18}, 
+    {68,19}, {68,20}, {68,26}, {68,21}, {68,22}, {68,23}, {68,24}, {68,25}, 
+    {68,27}, {68,28}, {68,29}, {68,30}, {68,31}, {68,32}, {68,33}, {68,34}, 
+    {68,35}, {68,36}, {68,37}, {68,38}, {68,39}, {68,40}, {68,41}, {68,42}, 
+    {68,43}, {68,44}, {68,46}, {68,47}, {68,45}, {68,48}, {68,49}, {68,50}, 
+    {68,51}, {68,52}, {68,53}, {68,54}, {68,55}, {68,56}, {68,57}, {68,58}, 
+    {68,59}, {68,60}, {68,61}, {68,62}, {68,63}, {68,64}, {68,65}, {68,66}, 
+    {68,67}, {68,68}, {68,69}, {68,71}, {68,70}, {68,72}, {68,73}, {68,74}, 
+    {68,75}, {68,76}, {68,77}, {68,78}, {68,79}, {68,80}, {68,81}, {68,82}, 
+    {68,83}, {68,84}, {68,85}, {68,86}, {68,87}, {68,88}, {68,89}, {68,91}, 
+    {68,90}, {68,92}, {68,93}, {69,0}, {69,1}, {69,2}, {69,3}, {69,4}, 
+    {69,5}, {69,6}, {69,7}, {69,8}, {69,9}, {69,10}, {69,11}, {69,12}, 
+    {69,13}, {69,14}, {69,15}, {69,16}, {69,17}, {69,18}, {69,19}, {69,20}, 
+    {69,21}, {69,22}, {69,23}, {69,24}, {69,25}, {69,26}, {69,27}, {69,28}, 
+    {69,29}, {69,30}, {69,31}, {69,32}, {69,33}, {69,34}, {69,35}, {69,36}, 
+    {69,37}, {69,38}, {69,39}, {69,40}, {69,41}, {69,42}, {69,43}, {69,44}, 
+    {69,45}, {69,46}, {69,47}, {69,48}, {69,49}, {69,50}, {69,51}, {69,52}, 
+    {69,53}, {69,54}, {69,55}, {69,56}, {69,57}, {69,58}, {69,59}, {69,60}, 
+    {69,61}, {69,62}, {69,63}, {69,64}, {69,65}, {69,66}, {69,67}, {69,68}, 
+    {69,69}, {69,70}, {69,71}, {69,72}, {69,73}, {69,74}, {69,75}, {69,76}, 
+    {69,77}, {69,78}, {69,79}, {69,80}, {69,81}, {69,82}, {69,84}, {69,85}, 
+    {69,86}, {69,87}, {69,88}, {69,89}, {69,90}, {69,91}, {69,92}, {69,93}, 
+    {70,0}, {70,1}, {70,2}, {70,3}, {70,4}, {70,5}, {70,6}, {70,7}, {70,8}, 
+    {70,9}, {70,10}, {70,11}, {70,12}, {70,13}, {70,14}, {70,15}, {70,16}, 
+    {70,17}, {70,18}, {70,19}, {70,20}, {70,21}, {70,22}, {70,23}, {70,24}, 
+    {70,25}, {70,26}, {70,27}, {70,28}, {70,29}, {70,30}, {70,31}, {70,32}, 
+    {70,33}, {70,34}, {70,35}, {70,36}, {70,37}, {70,38}, {70,39}, {70,40}, 
+    {70,41}, {70,42}, {70,43}, {70,44}, {70,45}, {70,46}, {70,47}, {70,48}, 
+    {70,49}, {70,50}, {70,51}, {70,52}, {70,53}, {70,54}, {70,55}, {70,56}, 
+    {70,57}, {70,58}, {70,59}, {70,60}, {70,61}, {70,62}, {70,63}, {70,64}, 
+    {70,65}, {70,66}, {70,67}, {70,68}, {70,69}, {70,73}, {70,70}, {70,71}, 
+    {70,72}, {70,74}, {70,75}, {70,76}, {70,77}, {70,78}, {70,79}, {70,80}, 
+    {70,81}, {70,82}, {70,83}, {70,85}, {70,86}, {70,87}, {70,88}, {70,84}, 
+    {70,89}, {70,90}, {70,91}, {70,92}, {71,7}, {70,93}, {71,0}, {71,1}, 
+    {71,2}, {71,3}, {71,4}, {71,5}, {71,6}, {71,8}, {71,9}, {71,10}, {71,11}, 
+    {71,12}, {71,13}, {71,14}, {71,15}, {71,16}, {71,17}, {71,18}, {71,19}, 
+    {71,20}, {71,21}, {71,22}, {71,23}, {71,24}, {71,25}, {71,26}, {71,27}, 
+    {71,28}, {71,29}, {71,30}, {71,31}, {71,32}, {71,33}, {71,34}, {71,35}, 
+    {71,36}, {71,37}, {71,38}, {71,39}, {71,40}, {71,41}, {71,42}, {71,43}, 
+    {71,44}, {71,45}, {71,46}, {71,47}, {71,48}, {71,49}, {71,50}, {71,51}, 
+    {71,52}, {71,53}, {71,54}, {71,55}, {71,56}, {71,57}, {71,58}, {71,59}, 
+    {71,60}, {71,61}, {71,62}, {71,63}, {71,64}, {71,65}, {71,66}, {71,67}, 
+    {71,68}, {71,69}, {71,70}, {71,71}, {71,72}, {71,73}, {71,74}, {71,75}, 
+    {71,76}, {71,77}, {71,78}, {71,79}, {71,80}, {71,81}, {71,82}, {71,83}, 
+    {71,84}, {71,85}, {71,86}, {71,87}, {71,88}, {71,89}, {71,90}, {71,91}, 
+    {71,92}, {71,93}, {72,0}, {72,1}, {72,2}, {72,3}, {72,4}, {72,5}, {72,6}, 
+    {72,7}, {72,8}, {72,9}, {72,10}, {72,11}, {72,12}, {72,13}, {72,14}, 
+    {72,15}, {72,16}, {72,17}, {72,18}, {72,19}, {72,20}, {72,21}, {72,22}, 
+    {72,23}, {72,24}, {72,25}, {72,26}, {72,27}, {72,28}, {72,29}, {72,30}, 
+    {72,31}, {72,32}, {72,33}, {72,34}, {72,35}, {72,36}, {72,37}, {72,38}, 
+    {72,39}, {72,40}, {72,41}, {72,43}, {72,44}, {72,42}, {72,45}, {72,46}, 
+    {72,47}, {72,48}, {72,49}, {72,50}, {72,51}, {72,52}, {72,53}, {72,54}, 
+    {72,55}, {72,56}, {72,57}, {72,58}, {72,59}, {72,60}, {72,61}, {72,62}, 
+    {72,63}, {72,64}, {72,65}, {72,66}, {72,67}, {72,68}, {72,69}, {72,70}, 
+    {72,71}, {72,72}, {72,73}, {72,74}, {72,75}, {72,76}, {72,77}, {72,78}, 
+    {72,79}, {72,80}, {72,81}, {72,82}, {72,83}, {72,84}, {72,85}, {72,86}, 
+    {72,87}, {72,88}, {72,89}, {72,90}, {72,91}, {72,92}, {72,93}, {73,0}, 
+    {73,1}, {73,2}, {73,3}, {73,4}, {73,5}, {73,6}, {73,7}, {73,8}, {73,9}, 
+    {73,10}, {73,11}, {73,12}, {73,13}, {73,14}, {73,15}, {73,16}, {73,17}, 
+    {73,18}, {73,19}, {73,20}, {73,21}, {73,22}, {73,23}, {73,24}, {73,25}, 
+    {73,26}, {73,27}, {73,28}, {73,29}, {73,30}, {73,31}, {73,32}, {73,33}, 
+    {73,34}, {73,35}, {73,36}, {73,37}, {73,38}, {73,39}, {73,40}, {73,41}, 
+    {73,42}, {73,43}, {73,44}, {73,45}, {73,46}, {73,47}, {73,48}, {73,49}, 
+    {73,50}, {73,51}, {73,52}, {73,53}, {73,54}, {73,55}, {73,56}, {73,57}, 
+    {73,58}, {73,59}, {73,60}, {73,61}, {73,62}, {73,63}, {73,64}, {73,65}, 
+    {73,66}, {73,67}, {73,68}, {73,69}, {73,70}, {73,71}, {73,72}, {73,73}, 
+    {73,74}, {73,75}, {73,76}, {73,77}, {73,78}, {73,79}, {73,80}, {73,81}, 
+    {73,82}, {73,83}, {73,84}, {73,85}, {73,86}, {73,87}, {73,88}, {73,89}, 
+    {73,90}, {73,91}, {73,92}, {73,93}, {74,0}, {74,1}, {74,2}, {74,3}, 
+    {74,4}, {74,5}, {74,6}, {74,7}, {74,8}, {74,9}, {74,10}, {74,11}, {74,12}, 
+    {74,13}, {74,14}, {74,15}, {74,16}, {74,17}, {74,18}, {74,19}, {74,20}, 
+    {74,21}, {74,22}, {74,23}, {74,24}, {74,25}, {74,26}, {74,27}, {74,28}, 
+    {74,29}, {74,30}, {74,31}, {74,32}, {74,33}, {74,34}, {74,35}, {74,36}, 
+    {74,37}, {74,38}, {74,39}, {74,40}, {74,47}, {74,41}, {74,42}, {74,43}, 
+    {74,44}, {74,49}, {74,45}, {74,46}, {74,48}, {74,50}, {74,51}, {74,52}, 
+    {74,53}, {74,54}, {74,55}, {74,56}, {74,57}, {74,58}, {74,59}, {74,61}, 
+    {74,60}, {74,62}, {74,63}, {74,64}, {74,65}, {74,66}, {74,67}, {74,68}, 
+    {74,69}, {74,70}, {74,71}, {74,72}, {74,73}, {74,74}, {74,76}, {74,77}, 
+    {74,78}, {74,75}, {74,79}, {74,80}, {74,81}, {74,82}, {74,83}, {74,85}, 
+    {74,84}, {74,86}, {74,87}, {74,88}, {74,89}, {74,90}, {74,91}, {74,92}, 
+    {74,93}, {75,0}, {75,1}, {75,2}, {75,3}, {75,4}, {75,5}, {75,6}, {75,7}, 
+    {75,8}, {75,9}, {75,10}, {75,11}, {75,12}, {75,13}, {75,14}, {75,15}, 
+    {75,16}, {75,17}, {75,18}, {75,19}, {75,20}, {75,21}, {75,22}, {75,23}, 
+    {75,24}, {75,25}, {75,26}, {75,27}, {75,28}, {75,29}, {75,30}, {75,31}, 
+    {75,32}, {75,33}, {75,34}, {75,35}, {75,36}, {75,37}, {75,38}, {75,39}, 
+    {75,40}, {75,41}, {75,42}, {75,43}, {75,45}, {75,46}, {75,44}, {75,47}, 
+    {75,48}, {75,49}, {75,50}, {75,51}, {75,52}, {75,53}, {75,54}, {75,55}, 
+    {75,56}, {75,57}, {75,58}, {75,59}, {75,60}, {75,61}, {75,62}, {75,63}, 
+    {75,64}, {75,65}, {75,66}, {75,67}, {75,68}, {75,69}, {75,70}, {75,71}, 
+    {75,72}, {75,73}, {75,74}, {75,75}, {75,76}, {75,77}, {75,78}, {75,79}, 
+    {75,80}, {75,81}, {75,82}, {75,83}, {75,84}, {75,85}, {75,86}, {75,87}, 
+    {75,88}, {75,89}, {75,90}, {75,91}, {75,92}, {75,93}, {76,0}, {76,1}, 
+    {76,2}, {76,3}, {76,4}, {76,5}, {76,6}, {76,7}, {76,8}, {76,9}, {76,10}, 
+    {76,11}, {76,12}, {76,13}, {76,14}, {76,15}, {76,16}, {76,17}, {76,18}, 
+    {76,19}, {76,20}, {76,21}, {76,22}, {76,23}, {76,24}, {76,25}, {76,26}, 
+    {76,27}, {76,28}, {76,29}, {76,30}, {76,31}, {76,32}, {76,33}, {76,34}, 
+    {76,35}, {76,36}, {76,37}, {76,38}, {76,39}, {76,40}, {76,41}, {76,42}, 
+    {76,43}, {76,44}, {76,45}, {76,46}, {76,47}, {76,48}, {76,49}, {76,50}, 
+    {76,51}, {76,52}, {76,53}, {76,54}, {76,55}, {76,56}, {76,57}, {76,58}, 
+    {76,59}, {76,60}, {76,61}, {76,62}, {76,63}, {76,64}, {76,65}, {76,66}
+};
+
+/* This returns ERROR if the code point doesn't exist. */
+long int jisx0212_to_unicode(int r, int c)
+{
+    assert(r >= 0 && r < 94);
+    assert(c >= 0 && c < 94);
+    return jisx0212_forward[r][c];
+}
+
+/* This one returns 1 on success, 0 if the code point doesn't exist. */
+int unicode_to_jisx0212(long int unicode, int *r, int *c)
+{
+    int rr, cc;
+    long int uu;
+    int i, j, k;
+
+    i = -1;
+    j = lenof(jisx0212_backward);
+    while (j - i > 1) {
+       k = (i + j) / 2;
+       rr = jisx0212_backward[k].r;
+       cc = jisx0212_backward[k].c;
+       uu = jisx0212_forward[rr][cc];
+       if (unicode > uu)
+           i = k;
+       else if (unicode < uu)
+           j = k;
+       else {
+           *r = rr;
+           *c = cc;
+           return 1;
+       }
+    }
+    return 0;
+}
+
+#ifdef TESTMODE
+
+#include <stdio.h>
+
+int main(void)
+{
+    int r, c, rr, cc, ret;
+    long int u, uu;
+
+    for (r = 0; r < 94; r++) {
+       for (c = 0; c < 94; c++) {
+           u = jisx0212_to_unicode(r, c);
+           if (u != ERROR) {
+               ret = unicode_to_jisx0212(u, &rr, &cc);
+               if (!ret)
+                   printf("(%d,%d) -> U-%08lx but didn't convert back\n",
+                          r, c, u);
+               else if (rr != r || cc != c)
+                   printf("(%d,%d) -> U-%08lx -> (%d,%d)\n",
+                          r, c, u, rr, cc);
+           }
+       }
+    }
+
+    for (u = 0; u < 0x10000L; u++) {
+       ret = unicode_to_jisx0212(u, &r, &c);
+       if (ret) {
+           uu = jisx0212_to_unicode(r, c);
+           if (uu == ERROR)
+               printf("U-%08lx -> (%d,%d) but didn't convert back\n",
+                      u, r, c);
+           else if (uu != u)
+               printf("U-%08lx -> (%d,%d) -> U-%08lx\n", u, r, c, uu);
+       }
+    }
+
+    return 0;
+}
+
+#endif
diff --git a/ksx1001.c b/ksx1001.c
new file mode 100644 (file)
index 0000000..3360c26
--- /dev/null
+++ b/ksx1001.c
@@ -0,0 +1,5261 @@
+/*
+ * KS X 1001 and MS CP949 implementation for libcharset.
+ */
+
+#include <assert.h>
+
+#include "charset.h"
+#include "internal.h"
+
+/*
+ * There is a KS X 1001 <-> Unicode character mapping available at
+ * http://www.unicode.org/Public/MAPPINGS/OBSOLETE/EASTASIA/KSC/KSX1001.TXT
+ * 
+ * but in fact the square (A1A1-FEFE) subset of the Microsoft CP949
+ * mapping is superior, since it's slightly more up to date
+ * (contains the Euro sign, for example). So this file actually
+ * implements a mapping between the double-byte portion of CP949
+ * and Unicode, and also provides ksx1001 conversion functions to
+ * access that square subset.
+ * 
+ * The file I'm actually working from is at
+ * http://www.unicode.org/Public/MAPPINGS/VENDORS/MICSFT/WINDOWS/CP949.TXT
+ */
+
+/*
+ * Mapping from KS X 1001 to Unicode. For these purposes KS X 1001
+ * is considered to be a 128x192 square array, with coordinates
+ * running from (0,0) to (127,191).
+ * 
+ * Generated by running the following sh+Perl over CP949.TXT:
+
+cat CP949.TXT | \
+perl -ne '$a{hex$1,hex$2}=$3 if /^0x(\S\S)(\S\S)\s+(0x\S+)\s/;' \
+      -e 'END {for $r (0..127) { $o="    {"; for $c (0..191) {' \
+      -e '$k=$a{$r+128,$c+64}; $k=" ERROR" unless defined $k;' \
+      -e '$o .= ", " if $c > 0; (print "$o\n"), $o="    " if length $o > 70;' \
+      -e '$o .= $k; } print "$o},\n"; }}'
+
+ */
+
+static const unsigned short cp949_forward[128][192] = {
+    { ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR},
+    { ERROR, 0xAC02, 0xAC03, 0xAC05, 0xAC06, 0xAC0B, 0xAC0C, 0xAC0D, 0xAC0E, 
+    0xAC0F, 0xAC18, 0xAC1E, 0xAC1F, 0xAC21, 0xAC22, 0xAC23, 0xAC25, 0xAC26, 
+    0xAC27, 0xAC28, 0xAC29, 0xAC2A, 0xAC2B, 0xAC2E, 0xAC32, 0xAC33, 0xAC34, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 0xAC35, 0xAC36, 0xAC37, 
+    0xAC3A, 0xAC3B, 0xAC3D, 0xAC3E, 0xAC3F, 0xAC41, 0xAC42, 0xAC43, 0xAC44, 
+    0xAC45, 0xAC46, 0xAC47, 0xAC48, 0xAC49, 0xAC4A, 0xAC4C, 0xAC4E, 0xAC4F, 
+    0xAC50, 0xAC51, 0xAC52, 0xAC53, 0xAC55,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR, 0xAC56, 0xAC57, 0xAC59, 0xAC5A, 0xAC5B, 0xAC5D, 0xAC5E, 
+    0xAC5F, 0xAC60, 0xAC61, 0xAC62, 0xAC63, 0xAC64, 0xAC65, 0xAC66, 0xAC67, 
+    0xAC68, 0xAC69, 0xAC6A, 0xAC6B, 0xAC6C, 0xAC6D, 0xAC6E, 0xAC6F, 0xAC72, 
+    0xAC73, 0xAC75, 0xAC76, 0xAC79, 0xAC7B, 0xAC7C, 0xAC7D, 0xAC7E, 0xAC7F, 
+    0xAC82, 0xAC87, 0xAC88, 0xAC8D, 0xAC8E, 0xAC8F, 0xAC91, 0xAC92, 0xAC93, 
+    0xAC95, 0xAC96, 0xAC97, 0xAC98, 0xAC99, 0xAC9A, 0xAC9B, 0xAC9E, 0xACA2, 
+    0xACA3, 0xACA4, 0xACA5, 0xACA6, 0xACA7, 0xACAB, 0xACAD, 0xACAE, 0xACB1, 
+    0xACB2, 0xACB3, 0xACB4, 0xACB5, 0xACB6, 0xACB7, 0xACBA, 0xACBE, 0xACBF, 
+    0xACC0, 0xACC2, 0xACC3, 0xACC5, 0xACC6, 0xACC7, 0xACC9, 0xACCA, 0xACCB, 
+    0xACCD, 0xACCE, 0xACCF, 0xACD0, 0xACD1, 0xACD2, 0xACD3, 0xACD4, 0xACD6, 
+    0xACD8, 0xACD9, 0xACDA, 0xACDB, 0xACDC, 0xACDD, 0xACDE, 0xACDF, 0xACE2, 
+    0xACE3, 0xACE5, 0xACE6, 0xACE9, 0xACEB, 0xACED, 0xACEE, 0xACF2, 0xACF4, 
+    0xACF7, 0xACF8, 0xACF9, 0xACFA, 0xACFB, 0xACFE, 0xACFF, 0xAD01, 0xAD02, 
+    0xAD03, 0xAD05, 0xAD07, 0xAD08, 0xAD09, 0xAD0A, 0xAD0B, 0xAD0E, 0xAD10, 
+    0xAD12, 0xAD13,  ERROR},
+    { ERROR, 0xAD14, 0xAD15, 0xAD16, 0xAD17, 0xAD19, 0xAD1A, 0xAD1B, 0xAD1D, 
+    0xAD1E, 0xAD1F, 0xAD21, 0xAD22, 0xAD23, 0xAD24, 0xAD25, 0xAD26, 0xAD27, 
+    0xAD28, 0xAD2A, 0xAD2B, 0xAD2E, 0xAD2F, 0xAD30, 0xAD31, 0xAD32, 0xAD33, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 0xAD36, 0xAD37, 0xAD39, 
+    0xAD3A, 0xAD3B, 0xAD3D, 0xAD3E, 0xAD3F, 0xAD40, 0xAD41, 0xAD42, 0xAD43, 
+    0xAD46, 0xAD48, 0xAD4A, 0xAD4B, 0xAD4C, 0xAD4D, 0xAD4E, 0xAD4F, 0xAD51, 
+    0xAD52, 0xAD53, 0xAD55, 0xAD56, 0xAD57,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR, 0xAD59, 0xAD5A, 0xAD5B, 0xAD5C, 0xAD5D, 0xAD5E, 0xAD5F, 
+    0xAD60, 0xAD62, 0xAD64, 0xAD65, 0xAD66, 0xAD67, 0xAD68, 0xAD69, 0xAD6A, 
+    0xAD6B, 0xAD6E, 0xAD6F, 0xAD71, 0xAD72, 0xAD77, 0xAD78, 0xAD79, 0xAD7A, 
+    0xAD7E, 0xAD80, 0xAD83, 0xAD84, 0xAD85, 0xAD86, 0xAD87, 0xAD8A, 0xAD8B, 
+    0xAD8D, 0xAD8E, 0xAD8F, 0xAD91, 0xAD92, 0xAD93, 0xAD94, 0xAD95, 0xAD96, 
+    0xAD97, 0xAD98, 0xAD99, 0xAD9A, 0xAD9B, 0xAD9E, 0xAD9F, 0xADA0, 0xADA1, 
+    0xADA2, 0xADA3, 0xADA5, 0xADA6, 0xADA7, 0xADA8, 0xADA9, 0xADAA, 0xADAB, 
+    0xADAC, 0xADAD, 0xADAE, 0xADAF, 0xADB0, 0xADB1, 0xADB2, 0xADB3, 0xADB4, 
+    0xADB5, 0xADB6, 0xADB8, 0xADB9, 0xADBA, 0xADBB, 0xADBC, 0xADBD, 0xADBE, 
+    0xADBF, 0xADC2, 0xADC3, 0xADC5, 0xADC6, 0xADC7, 0xADC9, 0xADCA, 0xADCB, 
+    0xADCC, 0xADCD, 0xADCE, 0xADCF, 0xADD2, 0xADD4, 0xADD5, 0xADD6, 0xADD7, 
+    0xADD8, 0xADD9, 0xADDA, 0xADDB, 0xADDD, 0xADDE, 0xADDF, 0xADE1, 0xADE2, 
+    0xADE3, 0xADE5, 0xADE6, 0xADE7, 0xADE8, 0xADE9, 0xADEA, 0xADEB, 0xADEC, 
+    0xADED, 0xADEE, 0xADEF, 0xADF0, 0xADF1, 0xADF2, 0xADF3, 0xADF4, 0xADF5, 
+    0xADF6, 0xADF7,  ERROR},
+    { ERROR, 0xADFA, 0xADFB, 0xADFD, 0xADFE, 0xAE02, 0xAE03, 0xAE04, 0xAE05, 
+    0xAE06, 0xAE07, 0xAE0A, 0xAE0C, 0xAE0E, 0xAE0F, 0xAE10, 0xAE11, 0xAE12, 
+    0xAE13, 0xAE15, 0xAE16, 0xAE17, 0xAE18, 0xAE19, 0xAE1A, 0xAE1B, 0xAE1C, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 0xAE1D, 0xAE1E, 0xAE1F, 
+    0xAE20, 0xAE21, 0xAE22, 0xAE23, 0xAE24, 0xAE25, 0xAE26, 0xAE27, 0xAE28, 
+    0xAE29, 0xAE2A, 0xAE2B, 0xAE2C, 0xAE2D, 0xAE2E, 0xAE2F, 0xAE32, 0xAE33, 
+    0xAE35, 0xAE36, 0xAE39, 0xAE3B, 0xAE3C,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR, 0xAE3D, 0xAE3E, 0xAE3F, 0xAE42, 0xAE44, 0xAE47, 0xAE48, 
+    0xAE49, 0xAE4B, 0xAE4F, 0xAE51, 0xAE52, 0xAE53, 0xAE55, 0xAE57, 0xAE58, 
+    0xAE59, 0xAE5A, 0xAE5B, 0xAE5E, 0xAE62, 0xAE63, 0xAE64, 0xAE66, 0xAE67, 
+    0xAE6A, 0xAE6B, 0xAE6D, 0xAE6E, 0xAE6F, 0xAE71, 0xAE72, 0xAE73, 0xAE74, 
+    0xAE75, 0xAE76, 0xAE77, 0xAE7A, 0xAE7E, 0xAE7F, 0xAE80, 0xAE81, 0xAE82, 
+    0xAE83, 0xAE86, 0xAE87, 0xAE88, 0xAE89, 0xAE8A, 0xAE8B, 0xAE8D, 0xAE8E, 
+    0xAE8F, 0xAE90, 0xAE91, 0xAE92, 0xAE93, 0xAE94, 0xAE95, 0xAE96, 0xAE97, 
+    0xAE98, 0xAE99, 0xAE9A, 0xAE9B, 0xAE9C, 0xAE9D, 0xAE9E, 0xAE9F, 0xAEA0, 
+    0xAEA1, 0xAEA2, 0xAEA3, 0xAEA4, 0xAEA5, 0xAEA6, 0xAEA7, 0xAEA8, 0xAEA9, 
+    0xAEAA, 0xAEAB, 0xAEAC, 0xAEAD, 0xAEAE, 0xAEAF, 0xAEB0, 0xAEB1, 0xAEB2, 
+    0xAEB3, 0xAEB4, 0xAEB5, 0xAEB6, 0xAEB7, 0xAEB8, 0xAEB9, 0xAEBA, 0xAEBB, 
+    0xAEBF, 0xAEC1, 0xAEC2, 0xAEC3, 0xAEC5, 0xAEC6, 0xAEC7, 0xAEC8, 0xAEC9, 
+    0xAECA, 0xAECB, 0xAECE, 0xAED2, 0xAED3, 0xAED4, 0xAED5, 0xAED6, 0xAED7, 
+    0xAEDA, 0xAEDB, 0xAEDD, 0xAEDE, 0xAEDF, 0xAEE0, 0xAEE1, 0xAEE2, 0xAEE3, 
+    0xAEE4, 0xAEE5,  ERROR},
+    { ERROR, 0xAEE6, 0xAEE7, 0xAEE9, 0xAEEA, 0xAEEC, 0xAEEE, 0xAEEF, 0xAEF0, 
+    0xAEF1, 0xAEF2, 0xAEF3, 0xAEF5, 0xAEF6, 0xAEF7, 0xAEF9, 0xAEFA, 0xAEFB, 
+    0xAEFD, 0xAEFE, 0xAEFF, 0xAF00, 0xAF01, 0xAF02, 0xAF03, 0xAF04, 0xAF05, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 0xAF06, 0xAF09, 0xAF0A, 
+    0xAF0B, 0xAF0C, 0xAF0E, 0xAF0F, 0xAF11, 0xAF12, 0xAF13, 0xAF14, 0xAF15, 
+    0xAF16, 0xAF17, 0xAF18, 0xAF19, 0xAF1A, 0xAF1B, 0xAF1C, 0xAF1D, 0xAF1E, 
+    0xAF1F, 0xAF20, 0xAF21, 0xAF22, 0xAF23,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR, 0xAF24, 0xAF25, 0xAF26, 0xAF27, 0xAF28, 0xAF29, 0xAF2A, 
+    0xAF2B, 0xAF2E, 0xAF2F, 0xAF31, 0xAF33, 0xAF35, 0xAF36, 0xAF37, 0xAF38, 
+    0xAF39, 0xAF3A, 0xAF3B, 0xAF3E, 0xAF40, 0xAF44, 0xAF45, 0xAF46, 0xAF47, 
+    0xAF4A, 0xAF4B, 0xAF4C, 0xAF4D, 0xAF4E, 0xAF4F, 0xAF51, 0xAF52, 0xAF53, 
+    0xAF54, 0xAF55, 0xAF56, 0xAF57, 0xAF58, 0xAF59, 0xAF5A, 0xAF5B, 0xAF5E, 
+    0xAF5F, 0xAF60, 0xAF61, 0xAF62, 0xAF63, 0xAF66, 0xAF67, 0xAF68, 0xAF69, 
+    0xAF6A, 0xAF6B, 0xAF6C, 0xAF6D, 0xAF6E, 0xAF6F, 0xAF70, 0xAF71, 0xAF72, 
+    0xAF73, 0xAF74, 0xAF75, 0xAF76, 0xAF77, 0xAF78, 0xAF7A, 0xAF7B, 0xAF7C, 
+    0xAF7D, 0xAF7E, 0xAF7F, 0xAF81, 0xAF82, 0xAF83, 0xAF85, 0xAF86, 0xAF87, 
+    0xAF89, 0xAF8A, 0xAF8B, 0xAF8C, 0xAF8D, 0xAF8E, 0xAF8F, 0xAF92, 0xAF93, 
+    0xAF94, 0xAF96, 0xAF97, 0xAF98, 0xAF99, 0xAF9A, 0xAF9B, 0xAF9D, 0xAF9E, 
+    0xAF9F, 0xAFA0, 0xAFA1, 0xAFA2, 0xAFA3, 0xAFA4, 0xAFA5, 0xAFA6, 0xAFA7, 
+    0xAFA8, 0xAFA9, 0xAFAA, 0xAFAB, 0xAFAC, 0xAFAD, 0xAFAE, 0xAFAF, 0xAFB0, 
+    0xAFB1, 0xAFB2, 0xAFB3, 0xAFB4, 0xAFB5, 0xAFB6, 0xAFB7, 0xAFBA, 0xAFBB, 
+    0xAFBD, 0xAFBE,  ERROR},
+    { ERROR, 0xAFBF, 0xAFC1, 0xAFC2, 0xAFC3, 0xAFC4, 0xAFC5, 0xAFC6, 0xAFCA, 
+    0xAFCC, 0xAFCF, 0xAFD0, 0xAFD1, 0xAFD2, 0xAFD3, 0xAFD5, 0xAFD6, 0xAFD7, 
+    0xAFD8, 0xAFD9, 0xAFDA, 0xAFDB, 0xAFDD, 0xAFDE, 0xAFDF, 0xAFE0, 0xAFE1, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 0xAFE2, 0xAFE3, 0xAFE4, 
+    0xAFE5, 0xAFE6, 0xAFE7, 0xAFEA, 0xAFEB, 0xAFEC, 0xAFED, 0xAFEE, 0xAFEF, 
+    0xAFF2, 0xAFF3, 0xAFF5, 0xAFF6, 0xAFF7, 0xAFF9, 0xAFFA, 0xAFFB, 0xAFFC, 
+    0xAFFD, 0xAFFE, 0xAFFF, 0xB002, 0xB003,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR, 0xB005, 0xB006, 0xB007, 0xB008, 0xB009, 0xB00A, 0xB00B, 
+    0xB00D, 0xB00E, 0xB00F, 0xB011, 0xB012, 0xB013, 0xB015, 0xB016, 0xB017, 
+    0xB018, 0xB019, 0xB01A, 0xB01B, 0xB01E, 0xB01F, 0xB020, 0xB021, 0xB022, 
+    0xB023, 0xB024, 0xB025, 0xB026, 0xB027, 0xB029, 0xB02A, 0xB02B, 0xB02C, 
+    0xB02D, 0xB02E, 0xB02F, 0xB030, 0xB031, 0xB032, 0xB033, 0xB034, 0xB035, 
+    0xB036, 0xB037, 0xB038, 0xB039, 0xB03A, 0xB03B, 0xB03C, 0xB03D, 0xB03E, 
+    0xB03F, 0xB040, 0xB041, 0xB042, 0xB043, 0xB046, 0xB047, 0xB049, 0xB04B, 
+    0xB04D, 0xB04F, 0xB050, 0xB051, 0xB052, 0xB056, 0xB058, 0xB05A, 0xB05B, 
+    0xB05C, 0xB05E, 0xB05F, 0xB060, 0xB061, 0xB062, 0xB063, 0xB064, 0xB065, 
+    0xB066, 0xB067, 0xB068, 0xB069, 0xB06A, 0xB06B, 0xB06C, 0xB06D, 0xB06E, 
+    0xB06F, 0xB070, 0xB071, 0xB072, 0xB073, 0xB074, 0xB075, 0xB076, 0xB077, 
+    0xB078, 0xB079, 0xB07A, 0xB07B, 0xB07E, 0xB07F, 0xB081, 0xB082, 0xB083, 
+    0xB085, 0xB086, 0xB087, 0xB088, 0xB089, 0xB08A, 0xB08B, 0xB08E, 0xB090, 
+    0xB092, 0xB093, 0xB094, 0xB095, 0xB096, 0xB097, 0xB09B, 0xB09D, 0xB09E, 
+    0xB0A3, 0xB0A4,  ERROR},
+    { ERROR, 0xB0A5, 0xB0A6, 0xB0A7, 0xB0AA, 0xB0B0, 0xB0B2, 0xB0B6, 0xB0B7, 
+    0xB0B9, 0xB0BA, 0xB0BB, 0xB0BD, 0xB0BE, 0xB0BF, 0xB0C0, 0xB0C1, 0xB0C2, 
+    0xB0C3, 0xB0C6, 0xB0CA, 0xB0CB, 0xB0CC, 0xB0CD, 0xB0CE, 0xB0CF, 0xB0D2, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 0xB0D3, 0xB0D5, 0xB0D6, 
+    0xB0D7, 0xB0D9, 0xB0DA, 0xB0DB, 0xB0DC, 0xB0DD, 0xB0DE, 0xB0DF, 0xB0E1, 
+    0xB0E2, 0xB0E3, 0xB0E4, 0xB0E6, 0xB0E7, 0xB0E8, 0xB0E9, 0xB0EA, 0xB0EB, 
+    0xB0EC, 0xB0ED, 0xB0EE, 0xB0EF, 0xB0F0,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR, 0xB0F1, 0xB0F2, 0xB0F3, 0xB0F4, 0xB0F5, 0xB0F6, 0xB0F7, 
+    0xB0F8, 0xB0F9, 0xB0FA, 0xB0FB, 0xB0FC, 0xB0FD, 0xB0FE, 0xB0FF, 0xB100, 
+    0xB101, 0xB102, 0xB103, 0xB104, 0xB105, 0xB106, 0xB107, 0xB10A, 0xB10D, 
+    0xB10E, 0xB10F, 0xB111, 0xB114, 0xB115, 0xB116, 0xB117, 0xB11A, 0xB11E, 
+    0xB11F, 0xB120, 0xB121, 0xB122, 0xB126, 0xB127, 0xB129, 0xB12A, 0xB12B, 
+    0xB12D, 0xB12E, 0xB12F, 0xB130, 0xB131, 0xB132, 0xB133, 0xB136, 0xB13A, 
+    0xB13B, 0xB13C, 0xB13D, 0xB13E, 0xB13F, 0xB142, 0xB143, 0xB145, 0xB146, 
+    0xB147, 0xB149, 0xB14A, 0xB14B, 0xB14C, 0xB14D, 0xB14E, 0xB14F, 0xB152, 
+    0xB153, 0xB156, 0xB157, 0xB159, 0xB15A, 0xB15B, 0xB15D, 0xB15E, 0xB15F, 
+    0xB161, 0xB162, 0xB163, 0xB164, 0xB165, 0xB166, 0xB167, 0xB168, 0xB169, 
+    0xB16A, 0xB16B, 0xB16C, 0xB16D, 0xB16E, 0xB16F, 0xB170, 0xB171, 0xB172, 
+    0xB173, 0xB174, 0xB175, 0xB176, 0xB177, 0xB17A, 0xB17B, 0xB17D, 0xB17E, 
+    0xB17F, 0xB181, 0xB183, 0xB184, 0xB185, 0xB186, 0xB187, 0xB18A, 0xB18C, 
+    0xB18E, 0xB18F, 0xB190, 0xB191, 0xB195, 0xB196, 0xB197, 0xB199, 0xB19A, 
+    0xB19B, 0xB19D,  ERROR},
+    { ERROR, 0xB19E, 0xB19F, 0xB1A0, 0xB1A1, 0xB1A2, 0xB1A3, 0xB1A4, 0xB1A5, 
+    0xB1A6, 0xB1A7, 0xB1A9, 0xB1AA, 0xB1AB, 0xB1AC, 0xB1AD, 0xB1AE, 0xB1AF, 
+    0xB1B0, 0xB1B1, 0xB1B2, 0xB1B3, 0xB1B4, 0xB1B5, 0xB1B6, 0xB1B7, 0xB1B8, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 0xB1B9, 0xB1BA, 0xB1BB, 
+    0xB1BC, 0xB1BD, 0xB1BE, 0xB1BF, 0xB1C0, 0xB1C1, 0xB1C2, 0xB1C3, 0xB1C4, 
+    0xB1C5, 0xB1C6, 0xB1C7, 0xB1C8, 0xB1C9, 0xB1CA, 0xB1CB, 0xB1CD, 0xB1CE, 
+    0xB1CF, 0xB1D1, 0xB1D2, 0xB1D3, 0xB1D5,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR, 0xB1D6, 0xB1D7, 0xB1D8, 0xB1D9, 0xB1DA, 0xB1DB, 0xB1DE, 
+    0xB1E0, 0xB1E1, 0xB1E2, 0xB1E3, 0xB1E4, 0xB1E5, 0xB1E6, 0xB1E7, 0xB1EA, 
+    0xB1EB, 0xB1ED, 0xB1EE, 0xB1EF, 0xB1F1, 0xB1F2, 0xB1F3, 0xB1F4, 0xB1F5, 
+    0xB1F6, 0xB1F7, 0xB1F8, 0xB1FA, 0xB1FC, 0xB1FE, 0xB1FF, 0xB200, 0xB201, 
+    0xB202, 0xB203, 0xB206, 0xB207, 0xB209, 0xB20A, 0xB20D, 0xB20E, 0xB20F, 
+    0xB210, 0xB211, 0xB212, 0xB213, 0xB216, 0xB218, 0xB21A, 0xB21B, 0xB21C, 
+    0xB21D, 0xB21E, 0xB21F, 0xB221, 0xB222, 0xB223, 0xB224, 0xB225, 0xB226, 
+    0xB227, 0xB228, 0xB229, 0xB22A, 0xB22B, 0xB22C, 0xB22D, 0xB22E, 0xB22F, 
+    0xB230, 0xB231, 0xB232, 0xB233, 0xB235, 0xB236, 0xB237, 0xB238, 0xB239, 
+    0xB23A, 0xB23B, 0xB23D, 0xB23E, 0xB23F, 0xB240, 0xB241, 0xB242, 0xB243, 
+    0xB244, 0xB245, 0xB246, 0xB247, 0xB248, 0xB249, 0xB24A, 0xB24B, 0xB24C, 
+    0xB24D, 0xB24E, 0xB24F, 0xB250, 0xB251, 0xB252, 0xB253, 0xB254, 0xB255, 
+    0xB256, 0xB257, 0xB259, 0xB25A, 0xB25B, 0xB25D, 0xB25E, 0xB25F, 0xB261, 
+    0xB262, 0xB263, 0xB264, 0xB265, 0xB266, 0xB267, 0xB26A, 0xB26B, 0xB26C, 
+    0xB26D, 0xB26E,  ERROR},
+    { ERROR, 0xB26F, 0xB270, 0xB271, 0xB272, 0xB273, 0xB276, 0xB277, 0xB278, 
+    0xB279, 0xB27A, 0xB27B, 0xB27D, 0xB27E, 0xB27F, 0xB280, 0xB281, 0xB282, 
+    0xB283, 0xB286, 0xB287, 0xB288, 0xB28A, 0xB28B, 0xB28C, 0xB28D, 0xB28E, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 0xB28F, 0xB292, 0xB293, 
+    0xB295, 0xB296, 0xB297, 0xB29B, 0xB29C, 0xB29D, 0xB29E, 0xB29F, 0xB2A2, 
+    0xB2A4, 0xB2A7, 0xB2A8, 0xB2A9, 0xB2AB, 0xB2AD, 0xB2AE, 0xB2AF, 0xB2B1, 
+    0xB2B2, 0xB2B3, 0xB2B5, 0xB2B6, 0xB2B7,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR, 0xB2B8, 0xB2B9, 0xB2BA, 0xB2BB, 0xB2BC, 0xB2BD, 0xB2BE, 
+    0xB2BF, 0xB2C0, 0xB2C1, 0xB2C2, 0xB2C3, 0xB2C4, 0xB2C5, 0xB2C6, 0xB2C7, 
+    0xB2CA, 0xB2CB, 0xB2CD, 0xB2CE, 0xB2CF, 0xB2D1, 0xB2D3, 0xB2D4, 0xB2D5, 
+    0xB2D6, 0xB2D7, 0xB2DA, 0xB2DC, 0xB2DE, 0xB2DF, 0xB2E0, 0xB2E1, 0xB2E3, 
+    0xB2E7, 0xB2E9, 0xB2EA, 0xB2F0, 0xB2F1, 0xB2F2, 0xB2F6, 0xB2FC, 0xB2FD, 
+    0xB2FE, 0xB302, 0xB303, 0xB305, 0xB306, 0xB307, 0xB309, 0xB30A, 0xB30B, 
+    0xB30C, 0xB30D, 0xB30E, 0xB30F, 0xB312, 0xB316, 0xB317, 0xB318, 0xB319, 
+    0xB31A, 0xB31B, 0xB31D, 0xB31E, 0xB31F, 0xB320, 0xB321, 0xB322, 0xB323, 
+    0xB324, 0xB325, 0xB326, 0xB327, 0xB328, 0xB329, 0xB32A, 0xB32B, 0xB32C, 
+    0xB32D, 0xB32E, 0xB32F, 0xB330, 0xB331, 0xB332, 0xB333, 0xB334, 0xB335, 
+    0xB336, 0xB337, 0xB338, 0xB339, 0xB33A, 0xB33B, 0xB33C, 0xB33D, 0xB33E, 
+    0xB33F, 0xB340, 0xB341, 0xB342, 0xB343, 0xB344, 0xB345, 0xB346, 0xB347, 
+    0xB348, 0xB349, 0xB34A, 0xB34B, 0xB34C, 0xB34D, 0xB34E, 0xB34F, 0xB350, 
+    0xB351, 0xB352, 0xB353, 0xB357, 0xB359, 0xB35A, 0xB35D, 0xB360, 0xB361, 
+    0xB362, 0xB363,  ERROR},
+    { ERROR, 0xB366, 0xB368, 0xB36A, 0xB36C, 0xB36D, 0xB36F, 0xB372, 0xB373, 
+    0xB375, 0xB376, 0xB377, 0xB379, 0xB37A, 0xB37B, 0xB37C, 0xB37D, 0xB37E, 
+    0xB37F, 0xB382, 0xB386, 0xB387, 0xB388, 0xB389, 0xB38A, 0xB38B, 0xB38D, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 0xB38E, 0xB38F, 0xB391, 
+    0xB392, 0xB393, 0xB395, 0xB396, 0xB397, 0xB398, 0xB399, 0xB39A, 0xB39B, 
+    0xB39C, 0xB39D, 0xB39E, 0xB39F, 0xB3A2, 0xB3A3, 0xB3A4, 0xB3A5, 0xB3A6, 
+    0xB3A7, 0xB3A9, 0xB3AA, 0xB3AB, 0xB3AD,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR, 0xB3AE, 0xB3AF, 0xB3B0, 0xB3B1, 0xB3B2, 0xB3B3, 0xB3B4, 
+    0xB3B5, 0xB3B6, 0xB3B7, 0xB3B8, 0xB3B9, 0xB3BA, 0xB3BB, 0xB3BC, 0xB3BD, 
+    0xB3BE, 0xB3BF, 0xB3C0, 0xB3C1, 0xB3C2, 0xB3C3, 0xB3C6, 0xB3C7, 0xB3C9, 
+    0xB3CA, 0xB3CD, 0xB3CF, 0xB3D1, 0xB3D2, 0xB3D3, 0xB3D6, 0xB3D8, 0xB3DA, 
+    0xB3DC, 0xB3DE, 0xB3DF, 0xB3E1, 0xB3E2, 0xB3E3, 0xB3E5, 0xB3E6, 0xB3E7, 
+    0xB3E9, 0xB3EA, 0xB3EB, 0xB3EC, 0xB3ED, 0xB3EE, 0xB3EF, 0xB3F0, 0xB3F1, 
+    0xB3F2, 0xB3F3, 0xB3F4, 0xB3F5, 0xB3F6, 0xB3F7, 0xB3F8, 0xB3F9, 0xB3FA, 
+    0xB3FB, 0xB3FD, 0xB3FE, 0xB3FF, 0xB400, 0xB401, 0xB402, 0xB403, 0xB404, 
+    0xB405, 0xB406, 0xB407, 0xB408, 0xB409, 0xB40A, 0xB40B, 0xB40C, 0xB40D, 
+    0xB40E, 0xB40F, 0xB411, 0xB412, 0xB413, 0xB414, 0xB415, 0xB416, 0xB417, 
+    0xB419, 0xB41A, 0xB41B, 0xB41D, 0xB41E, 0xB41F, 0xB421, 0xB422, 0xB423, 
+    0xB424, 0xB425, 0xB426, 0xB427, 0xB42A, 0xB42C, 0xB42D, 0xB42E, 0xB42F, 
+    0xB430, 0xB431, 0xB432, 0xB433, 0xB435, 0xB436, 0xB437, 0xB438, 0xB439, 
+    0xB43A, 0xB43B, 0xB43C, 0xB43D, 0xB43E, 0xB43F, 0xB440, 0xB441, 0xB442, 
+    0xB443, 0xB444,  ERROR},
+    { ERROR, 0xB445, 0xB446, 0xB447, 0xB448, 0xB449, 0xB44A, 0xB44B, 0xB44C, 
+    0xB44D, 0xB44E, 0xB44F, 0xB452, 0xB453, 0xB455, 0xB456, 0xB457, 0xB459, 
+    0xB45A, 0xB45B, 0xB45C, 0xB45D, 0xB45E, 0xB45F, 0xB462, 0xB464, 0xB466, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 0xB467, 0xB468, 0xB469, 
+    0xB46A, 0xB46B, 0xB46D, 0xB46E, 0xB46F, 0xB470, 0xB471, 0xB472, 0xB473, 
+    0xB474, 0xB475, 0xB476, 0xB477, 0xB478, 0xB479, 0xB47A, 0xB47B, 0xB47C, 
+    0xB47D, 0xB47E, 0xB47F, 0xB481, 0xB482,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR, 0xB483, 0xB484, 0xB485, 0xB486, 0xB487, 0xB489, 0xB48A, 
+    0xB48B, 0xB48C, 0xB48D, 0xB48E, 0xB48F, 0xB490, 0xB491, 0xB492, 0xB493, 
+    0xB494, 0xB495, 0xB496, 0xB497, 0xB498, 0xB499, 0xB49A, 0xB49B, 0xB49C, 
+    0xB49E, 0xB49F, 0xB4A0, 0xB4A1, 0xB4A2, 0xB4A3, 0xB4A5, 0xB4A6, 0xB4A7, 
+    0xB4A9, 0xB4AA, 0xB4AB, 0xB4AD, 0xB4AE, 0xB4AF, 0xB4B0, 0xB4B1, 0xB4B2, 
+    0xB4B3, 0xB4B4, 0xB4B6, 0xB4B8, 0xB4BA, 0xB4BB, 0xB4BC, 0xB4BD, 0xB4BE, 
+    0xB4BF, 0xB4C1, 0xB4C2, 0xB4C3, 0xB4C5, 0xB4C6, 0xB4C7, 0xB4C9, 0xB4CA, 
+    0xB4CB, 0xB4CC, 0xB4CD, 0xB4CE, 0xB4CF, 0xB4D1, 0xB4D2, 0xB4D3, 0xB4D4, 
+    0xB4D6, 0xB4D7, 0xB4D8, 0xB4D9, 0xB4DA, 0xB4DB, 0xB4DE, 0xB4DF, 0xB4E1, 
+    0xB4E2, 0xB4E5, 0xB4E7, 0xB4E8, 0xB4E9, 0xB4EA, 0xB4EB, 0xB4EE, 0xB4F0, 
+    0xB4F2, 0xB4F3, 0xB4F4, 0xB4F5, 0xB4F6, 0xB4F7, 0xB4F9, 0xB4FA, 0xB4FB, 
+    0xB4FC, 0xB4FD, 0xB4FE, 0xB4FF, 0xB500, 0xB501, 0xB502, 0xB503, 0xB504, 
+    0xB505, 0xB506, 0xB507, 0xB508, 0xB509, 0xB50A, 0xB50B, 0xB50C, 0xB50D, 
+    0xB50E, 0xB50F, 0xB510, 0xB511, 0xB512, 0xB513, 0xB516, 0xB517, 0xB519, 
+    0xB51A, 0xB51D,  ERROR},
+    { ERROR, 0xB51E, 0xB51F, 0xB520, 0xB521, 0xB522, 0xB523, 0xB526, 0xB52B, 
+    0xB52C, 0xB52D, 0xB52E, 0xB52F, 0xB532, 0xB533, 0xB535, 0xB536, 0xB537, 
+    0xB539, 0xB53A, 0xB53B, 0xB53C, 0xB53D, 0xB53E, 0xB53F, 0xB542, 0xB546, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 0xB547, 0xB548, 0xB549, 
+    0xB54A, 0xB54E, 0xB54F, 0xB551, 0xB552, 0xB553, 0xB555, 0xB556, 0xB557, 
+    0xB558, 0xB559, 0xB55A, 0xB55B, 0xB55E, 0xB562, 0xB563, 0xB564, 0xB565, 
+    0xB566, 0xB567, 0xB568, 0xB569, 0xB56A,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR, 0xB56B, 0xB56C, 0xB56D, 0xB56E, 0xB56F, 0xB570, 0xB571, 
+    0xB572, 0xB573, 0xB574, 0xB575, 0xB576, 0xB577, 0xB578, 0xB579, 0xB57A, 
+    0xB57B, 0xB57C, 0xB57D, 0xB57E, 0xB57F, 0xB580, 0xB581, 0xB582, 0xB583, 
+    0xB584, 0xB585, 0xB586, 0xB587, 0xB588, 0xB589, 0xB58A, 0xB58B, 0xB58C, 
+    0xB58D, 0xB58E, 0xB58F, 0xB590, 0xB591, 0xB592, 0xB593, 0xB594, 0xB595, 
+    0xB596, 0xB597, 0xB598, 0xB599, 0xB59A, 0xB59B, 0xB59C, 0xB59D, 0xB59E, 
+    0xB59F, 0xB5A2, 0xB5A3, 0xB5A5, 0xB5A6, 0xB5A7, 0xB5A9, 0xB5AC, 0xB5AD, 
+    0xB5AE, 0xB5AF, 0xB5B2, 0xB5B6, 0xB5B7, 0xB5B8, 0xB5B9, 0xB5BA, 0xB5BE, 
+    0xB5BF, 0xB5C1, 0xB5C2, 0xB5C3, 0xB5C5, 0xB5C6, 0xB5C7, 0xB5C8, 0xB5C9, 
+    0xB5CA, 0xB5CB, 0xB5CE, 0xB5D2, 0xB5D3, 0xB5D4, 0xB5D5, 0xB5D6, 0xB5D7, 
+    0xB5D9, 0xB5DA, 0xB5DB, 0xB5DC, 0xB5DD, 0xB5DE, 0xB5DF, 0xB5E0, 0xB5E1, 
+    0xB5E2, 0xB5E3, 0xB5E4, 0xB5E5, 0xB5E6, 0xB5E7, 0xB5E8, 0xB5E9, 0xB5EA, 
+    0xB5EB, 0xB5ED, 0xB5EE, 0xB5EF, 0xB5F0, 0xB5F1, 0xB5F2, 0xB5F3, 0xB5F4, 
+    0xB5F5, 0xB5F6, 0xB5F7, 0xB5F8, 0xB5F9, 0xB5FA, 0xB5FB, 0xB5FC, 0xB5FD, 
+    0xB5FE, 0xB5FF,  ERROR},
+    { ERROR, 0xB600, 0xB601, 0xB602, 0xB603, 0xB604, 0xB605, 0xB606, 0xB607, 
+    0xB608, 0xB609, 0xB60A, 0xB60B, 0xB60C, 0xB60D, 0xB60E, 0xB60F, 0xB612, 
+    0xB613, 0xB615, 0xB616, 0xB617, 0xB619, 0xB61A, 0xB61B, 0xB61C, 0xB61D, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 0xB61E, 0xB61F, 0xB620, 
+    0xB621, 0xB622, 0xB623, 0xB624, 0xB626, 0xB627, 0xB628, 0xB629, 0xB62A, 
+    0xB62B, 0xB62D, 0xB62E, 0xB62F, 0xB630, 0xB631, 0xB632, 0xB633, 0xB635, 
+    0xB636, 0xB637, 0xB638, 0xB639, 0xB63A,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR, 0xB63B, 0xB63C, 0xB63D, 0xB63E, 0xB63F, 0xB640, 0xB641, 
+    0xB642, 0xB643, 0xB644, 0xB645, 0xB646, 0xB647, 0xB649, 0xB64A, 0xB64B, 
+    0xB64C, 0xB64D, 0xB64E, 0xB64F, 0xB650, 0xB651, 0xB652, 0xB653, 0xB654, 
+    0xB655, 0xB656, 0xB657, 0xB658, 0xB659, 0xB65A, 0xB65B, 0xB65C, 0xB65D, 
+    0xB65E, 0xB65F, 0xB660, 0xB661, 0xB662, 0xB663, 0xB665, 0xB666, 0xB667, 
+    0xB669, 0xB66A, 0xB66B, 0xB66C, 0xB66D, 0xB66E, 0xB66F, 0xB670, 0xB671, 
+    0xB672, 0xB673, 0xB674, 0xB675, 0xB676, 0xB677, 0xB678, 0xB679, 0xB67A, 
+    0xB67B, 0xB67C, 0xB67D, 0xB67E, 0xB67F, 0xB680, 0xB681, 0xB682, 0xB683, 
+    0xB684, 0xB685, 0xB686, 0xB687, 0xB688, 0xB689, 0xB68A, 0xB68B, 0xB68C, 
+    0xB68D, 0xB68E, 0xB68F, 0xB690, 0xB691, 0xB692, 0xB693, 0xB694, 0xB695, 
+    0xB696, 0xB697, 0xB698, 0xB699, 0xB69A, 0xB69B, 0xB69E, 0xB69F, 0xB6A1, 
+    0xB6A2, 0xB6A3, 0xB6A5, 0xB6A6, 0xB6A7, 0xB6A8, 0xB6A9, 0xB6AA, 0xB6AD, 
+    0xB6AE, 0xB6AF, 0xB6B0, 0xB6B2, 0xB6B3, 0xB6B4, 0xB6B5, 0xB6B6, 0xB6B7, 
+    0xB6B8, 0xB6B9, 0xB6BA, 0xB6BB, 0xB6BC, 0xB6BD, 0xB6BE, 0xB6BF, 0xB6C0, 
+    0xB6C1, 0xB6C2,  ERROR},
+    { ERROR, 0xB6C3, 0xB6C4, 0xB6C5, 0xB6C6, 0xB6C7, 0xB6C8, 0xB6C9, 0xB6CA, 
+    0xB6CB, 0xB6CC, 0xB6CD, 0xB6CE, 0xB6CF, 0xB6D0, 0xB6D1, 0xB6D2, 0xB6D3, 
+    0xB6D5, 0xB6D6, 0xB6D7, 0xB6D8, 0xB6D9, 0xB6DA, 0xB6DB, 0xB6DC, 0xB6DD, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 0xB6DE, 0xB6DF, 0xB6E0, 
+    0xB6E1, 0xB6E2, 0xB6E3, 0xB6E4, 0xB6E5, 0xB6E6, 0xB6E7, 0xB6E8, 0xB6E9, 
+    0xB6EA, 0xB6EB, 0xB6EC, 0xB6ED, 0xB6EE, 0xB6EF, 0xB6F1, 0xB6F2, 0xB6F3, 
+    0xB6F5, 0xB6F6, 0xB6F7, 0xB6F9, 0xB6FA,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR, 0xB6FB, 0xB6FC, 0xB6FD, 0xB6FE, 0xB6FF, 0xB702, 0xB703, 
+    0xB704, 0xB706, 0xB707, 0xB708, 0xB709, 0xB70A, 0xB70B, 0xB70C, 0xB70D, 
+    0xB70E, 0xB70F, 0xB710, 0xB711, 0xB712, 0xB713, 0xB714, 0xB715, 0xB716, 
+    0xB717, 0xB718, 0xB719, 0xB71A, 0xB71B, 0xB71C, 0xB71D, 0xB71E, 0xB71F, 
+    0xB720, 0xB721, 0xB722, 0xB723, 0xB724, 0xB725, 0xB726, 0xB727, 0xB72A, 
+    0xB72B, 0xB72D, 0xB72E, 0xB731, 0xB732, 0xB733, 0xB734, 0xB735, 0xB736, 
+    0xB737, 0xB73A, 0xB73C, 0xB73D, 0xB73E, 0xB73F, 0xB740, 0xB741, 0xB742, 
+    0xB743, 0xB745, 0xB746, 0xB747, 0xB749, 0xB74A, 0xB74B, 0xB74D, 0xB74E, 
+    0xB74F, 0xB750, 0xB751, 0xB752, 0xB753, 0xB756, 0xB757, 0xB758, 0xB759, 
+    0xB75A, 0xB75B, 0xB75C, 0xB75D, 0xB75E, 0xB75F, 0xB761, 0xB762, 0xB763, 
+    0xB765, 0xB766, 0xB767, 0xB769, 0xB76A, 0xB76B, 0xB76C, 0xB76D, 0xB76E, 
+    0xB76F, 0xB772, 0xB774, 0xB776, 0xB777, 0xB778, 0xB779, 0xB77A, 0xB77B, 
+    0xB77E, 0xB77F, 0xB781, 0xB782, 0xB783, 0xB785, 0xB786, 0xB787, 0xB788, 
+    0xB789, 0xB78A, 0xB78B, 0xB78E, 0xB793, 0xB794, 0xB795, 0xB79A, 0xB79B, 
+    0xB79D, 0xB79E,  ERROR},
+    { ERROR, 0xB79F, 0xB7A1, 0xB7A2, 0xB7A3, 0xB7A4, 0xB7A5, 0xB7A6, 0xB7A7, 
+    0xB7AA, 0xB7AE, 0xB7AF, 0xB7B0, 0xB7B1, 0xB7B2, 0xB7B3, 0xB7B6, 0xB7B7, 
+    0xB7B9, 0xB7BA, 0xB7BB, 0xB7BC, 0xB7BD, 0xB7BE, 0xB7BF, 0xB7C0, 0xB7C1, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 0xB7C2, 0xB7C3, 0xB7C4, 
+    0xB7C5, 0xB7C6, 0xB7C8, 0xB7CA, 0xB7CB, 0xB7CC, 0xB7CD, 0xB7CE, 0xB7CF, 
+    0xB7D0, 0xB7D1, 0xB7D2, 0xB7D3, 0xB7D4, 0xB7D5, 0xB7D6, 0xB7D7, 0xB7D8, 
+    0xB7D9, 0xB7DA, 0xB7DB, 0xB7DC, 0xB7DD,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR, 0xB7DE, 0xB7DF, 0xB7E0, 0xB7E1, 0xB7E2, 0xB7E3, 0xB7E4, 
+    0xB7E5, 0xB7E6, 0xB7E7, 0xB7E8, 0xB7E9, 0xB7EA, 0xB7EB, 0xB7EE, 0xB7EF, 
+    0xB7F1, 0xB7F2, 0xB7F3, 0xB7F5, 0xB7F6, 0xB7F7, 0xB7F8, 0xB7F9, 0xB7FA, 
+    0xB7FB, 0xB7FE, 0xB802, 0xB803, 0xB804, 0xB805, 0xB806, 0xB80A, 0xB80B, 
+    0xB80D, 0xB80E, 0xB80F, 0xB811, 0xB812, 0xB813, 0xB814, 0xB815, 0xB816, 
+    0xB817, 0xB81A, 0xB81C, 0xB81E, 0xB81F, 0xB820, 0xB821, 0xB822, 0xB823, 
+    0xB826, 0xB827, 0xB829, 0xB82A, 0xB82B, 0xB82D, 0xB82E, 0xB82F, 0xB830, 
+    0xB831, 0xB832, 0xB833, 0xB836, 0xB83A, 0xB83B, 0xB83C, 0xB83D, 0xB83E, 
+    0xB83F, 0xB841, 0xB842, 0xB843, 0xB845, 0xB846, 0xB847, 0xB848, 0xB849, 
+    0xB84A, 0xB84B, 0xB84C, 0xB84D, 0xB84E, 0xB84F, 0xB850, 0xB852, 0xB854, 
+    0xB855, 0xB856, 0xB857, 0xB858, 0xB859, 0xB85A, 0xB85B, 0xB85E, 0xB85F, 
+    0xB861, 0xB862, 0xB863, 0xB865, 0xB866, 0xB867, 0xB868, 0xB869, 0xB86A, 
+    0xB86B, 0xB86E, 0xB870, 0xB872, 0xB873, 0xB874, 0xB875, 0xB876, 0xB877, 
+    0xB879, 0xB87A, 0xB87B, 0xB87D, 0xB87E, 0xB87F, 0xB880, 0xB881, 0xB882, 
+    0xB883, 0xB884,  ERROR},
+    { ERROR, 0xB885, 0xB886, 0xB887, 0xB888, 0xB889, 0xB88A, 0xB88B, 0xB88C, 
+    0xB88E, 0xB88F, 0xB890, 0xB891, 0xB892, 0xB893, 0xB894, 0xB895, 0xB896, 
+    0xB897, 0xB898, 0xB899, 0xB89A, 0xB89B, 0xB89C, 0xB89D, 0xB89E, 0xB89F, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 0xB8A0, 0xB8A1, 0xB8A2, 
+    0xB8A3, 0xB8A4, 0xB8A5, 0xB8A6, 0xB8A7, 0xB8A9, 0xB8AA, 0xB8AB, 0xB8AC, 
+    0xB8AD, 0xB8AE, 0xB8AF, 0xB8B1, 0xB8B2, 0xB8B3, 0xB8B5, 0xB8B6, 0xB8B7, 
+    0xB8B9, 0xB8BA, 0xB8BB, 0xB8BC, 0xB8BD,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR, 0xB8BE, 0xB8BF, 0xB8C2, 0xB8C4, 0xB8C6, 0xB8C7, 0xB8C8, 
+    0xB8C9, 0xB8CA, 0xB8CB, 0xB8CD, 0xB8CE, 0xB8CF, 0xB8D1, 0xB8D2, 0xB8D3, 
+    0xB8D5, 0xB8D6, 0xB8D7, 0xB8D8, 0xB8D9, 0xB8DA, 0xB8DB, 0xB8DC, 0xB8DE, 
+    0xB8E0, 0xB8E2, 0xB8E3, 0xB8E4, 0xB8E5, 0xB8E6, 0xB8E7, 0xB8EA, 0xB8EB, 
+    0xB8ED, 0xB8EE, 0xB8EF, 0xB8F1, 0xB8F2, 0xB8F3, 0xB8F4, 0xB8F5, 0xB8F6, 
+    0xB8F7, 0xB8FA, 0xB8FC, 0xB8FE, 0xB8FF, 0xB900, 0xB901, 0xB902, 0xB903, 
+    0xB905, 0xB906, 0xB907, 0xB908, 0xB909, 0xB90A, 0xB90B, 0xB90C, 0xB90D, 
+    0xB90E, 0xB90F, 0xB910, 0xB911, 0xB912, 0xB913, 0xB914, 0xB915, 0xB916, 
+    0xB917, 0xB919, 0xB91A, 0xB91B, 0xB91C, 0xB91D, 0xB91E, 0xB91F, 0xB921, 
+    0xB922, 0xB923, 0xB924, 0xB925, 0xB926, 0xB927, 0xB928, 0xB929, 0xB92A, 
+    0xB92B, 0xB92C, 0xB92D, 0xB92E, 0xB92F, 0xB930, 0xB931, 0xB932, 0xB933, 
+    0xB934, 0xB935, 0xB936, 0xB937, 0xB938, 0xB939, 0xB93A, 0xB93B, 0xB93E, 
+    0xB93F, 0xB941, 0xB942, 0xB943, 0xB945, 0xB946, 0xB947, 0xB948, 0xB949, 
+    0xB94A, 0xB94B, 0xB94D, 0xB94E, 0xB950, 0xB952, 0xB953, 0xB954, 0xB955, 
+    0xB956, 0xB957,  ERROR},
+    { ERROR, 0xB95A, 0xB95B, 0xB95D, 0xB95E, 0xB95F, 0xB961, 0xB962, 0xB963, 
+    0xB964, 0xB965, 0xB966, 0xB967, 0xB96A, 0xB96C, 0xB96E, 0xB96F, 0xB970, 
+    0xB971, 0xB972, 0xB973, 0xB976, 0xB977, 0xB979, 0xB97A, 0xB97B, 0xB97D, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 0xB97E, 0xB97F, 0xB980, 
+    0xB981, 0xB982, 0xB983, 0xB986, 0xB988, 0xB98B, 0xB98C, 0xB98F, 0xB990, 
+    0xB991, 0xB992, 0xB993, 0xB994, 0xB995, 0xB996, 0xB997, 0xB998, 0xB999, 
+    0xB99A, 0xB99B, 0xB99C, 0xB99D, 0xB99E,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR, 0xB99F, 0xB9A0, 0xB9A1, 0xB9A2, 0xB9A3, 0xB9A4, 0xB9A5, 
+    0xB9A6, 0xB9A7, 0xB9A8, 0xB9A9, 0xB9AA, 0xB9AB, 0xB9AE, 0xB9AF, 0xB9B1, 
+    0xB9B2, 0xB9B3, 0xB9B5, 0xB9B6, 0xB9B7, 0xB9B8, 0xB9B9, 0xB9BA, 0xB9BB, 
+    0xB9BE, 0xB9C0, 0xB9C2, 0xB9C3, 0xB9C4, 0xB9C5, 0xB9C6, 0xB9C7, 0xB9CA, 
+    0xB9CB, 0xB9CD, 0xB9D3, 0xB9D4, 0xB9D5, 0xB9D6, 0xB9D7, 0xB9DA, 0xB9DC, 
+    0xB9DF, 0xB9E0, 0xB9E2, 0xB9E6, 0xB9E7, 0xB9E9, 0xB9EA, 0xB9EB, 0xB9ED, 
+    0xB9EE, 0xB9EF, 0xB9F0, 0xB9F1, 0xB9F2, 0xB9F3, 0xB9F6, 0xB9FB, 0xB9FC, 
+    0xB9FD, 0xB9FE, 0xB9FF, 0xBA02, 0xBA03, 0xBA04, 0xBA05, 0xBA06, 0xBA07, 
+    0xBA09, 0xBA0A, 0xBA0B, 0xBA0C, 0xBA0D, 0xBA0E, 0xBA0F, 0xBA10, 0xBA11, 
+    0xBA12, 0xBA13, 0xBA14, 0xBA16, 0xBA17, 0xBA18, 0xBA19, 0xBA1A, 0xBA1B, 
+    0xBA1C, 0xBA1D, 0xBA1E, 0xBA1F, 0xBA20, 0xBA21, 0xBA22, 0xBA23, 0xBA24, 
+    0xBA25, 0xBA26, 0xBA27, 0xBA28, 0xBA29, 0xBA2A, 0xBA2B, 0xBA2C, 0xBA2D, 
+    0xBA2E, 0xBA2F, 0xBA30, 0xBA31, 0xBA32, 0xBA33, 0xBA34, 0xBA35, 0xBA36, 
+    0xBA37, 0xBA3A, 0xBA3B, 0xBA3D, 0xBA3E, 0xBA3F, 0xBA41, 0xBA43, 0xBA44, 
+    0xBA45, 0xBA46,  ERROR},
+    { ERROR, 0xBA47, 0xBA4A, 0xBA4C, 0xBA4F, 0xBA50, 0xBA51, 0xBA52, 0xBA56, 
+    0xBA57, 0xBA59, 0xBA5A, 0xBA5B, 0xBA5D, 0xBA5E, 0xBA5F, 0xBA60, 0xBA61, 
+    0xBA62, 0xBA63, 0xBA66, 0xBA6A, 0xBA6B, 0xBA6C, 0xBA6D, 0xBA6E, 0xBA6F, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 0xBA72, 0xBA73, 0xBA75, 
+    0xBA76, 0xBA77, 0xBA79, 0xBA7A, 0xBA7B, 0xBA7C, 0xBA7D, 0xBA7E, 0xBA7F, 
+    0xBA80, 0xBA81, 0xBA82, 0xBA86, 0xBA88, 0xBA89, 0xBA8A, 0xBA8B, 0xBA8D, 
+    0xBA8E, 0xBA8F, 0xBA90, 0xBA91, 0xBA92,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR, 0xBA93, 0xBA94, 0xBA95, 0xBA96, 0xBA97, 0xBA98, 0xBA99, 
+    0xBA9A, 0xBA9B, 0xBA9C, 0xBA9D, 0xBA9E, 0xBA9F, 0xBAA0, 0xBAA1, 0xBAA2, 
+    0xBAA3, 0xBAA4, 0xBAA5, 0xBAA6, 0xBAA7, 0xBAAA, 0xBAAD, 0xBAAE, 0xBAAF, 
+    0xBAB1, 0xBAB3, 0xBAB4, 0xBAB5, 0xBAB6, 0xBAB7, 0xBABA, 0xBABC, 0xBABE, 
+    0xBABF, 0xBAC0, 0xBAC1, 0xBAC2, 0xBAC3, 0xBAC5, 0xBAC6, 0xBAC7, 0xBAC9, 
+    0xBACA, 0xBACB, 0xBACC, 0xBACD, 0xBACE, 0xBACF, 0xBAD0, 0xBAD1, 0xBAD2, 
+    0xBAD3, 0xBAD4, 0xBAD5, 0xBAD6, 0xBAD7, 0xBADA, 0xBADB, 0xBADC, 0xBADD, 
+    0xBADE, 0xBADF, 0xBAE0, 0xBAE1, 0xBAE2, 0xBAE3, 0xBAE4, 0xBAE5, 0xBAE6, 
+    0xBAE7, 0xBAE8, 0xBAE9, 0xBAEA, 0xBAEB, 0xBAEC, 0xBAED, 0xBAEE, 0xBAEF, 
+    0xBAF0, 0xBAF1, 0xBAF2, 0xBAF3, 0xBAF4, 0xBAF5, 0xBAF6, 0xBAF7, 0xBAF8, 
+    0xBAF9, 0xBAFA, 0xBAFB, 0xBAFD, 0xBAFE, 0xBAFF, 0xBB01, 0xBB02, 0xBB03, 
+    0xBB05, 0xBB06, 0xBB07, 0xBB08, 0xBB09, 0xBB0A, 0xBB0B, 0xBB0C, 0xBB0E, 
+    0xBB10, 0xBB12, 0xBB13, 0xBB14, 0xBB15, 0xBB16, 0xBB17, 0xBB19, 0xBB1A, 
+    0xBB1B, 0xBB1D, 0xBB1E, 0xBB1F, 0xBB21, 0xBB22, 0xBB23, 0xBB24, 0xBB25, 
+    0xBB26, 0xBB27,  ERROR},
+    { ERROR, 0xBB28, 0xBB2A, 0xBB2C, 0xBB2D, 0xBB2E, 0xBB2F, 0xBB30, 0xBB31, 
+    0xBB32, 0xBB33, 0xBB37, 0xBB39, 0xBB3A, 0xBB3F, 0xBB40, 0xBB41, 0xBB42, 
+    0xBB43, 0xBB46, 0xBB48, 0xBB4A, 0xBB4B, 0xBB4C, 0xBB4E, 0xBB51, 0xBB52, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 0xBB53, 0xBB55, 0xBB56, 
+    0xBB57, 0xBB59, 0xBB5A, 0xBB5B, 0xBB5C, 0xBB5D, 0xBB5E, 0xBB5F, 0xBB60, 
+    0xBB62, 0xBB64, 0xBB65, 0xBB66, 0xBB67, 0xBB68, 0xBB69, 0xBB6A, 0xBB6B, 
+    0xBB6D, 0xBB6E, 0xBB6F, 0xBB70, 0xBB71,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR, 0xBB72, 0xBB73, 0xBB74, 0xBB75, 0xBB76, 0xBB77, 0xBB78, 
+    0xBB79, 0xBB7A, 0xBB7B, 0xBB7C, 0xBB7D, 0xBB7E, 0xBB7F, 0xBB80, 0xBB81, 
+    0xBB82, 0xBB83, 0xBB84, 0xBB85, 0xBB86, 0xBB87, 0xBB89, 0xBB8A, 0xBB8B, 
+    0xBB8D, 0xBB8E, 0xBB8F, 0xBB91, 0xBB92, 0xBB93, 0xBB94, 0xBB95, 0xBB96, 
+    0xBB97, 0xBB98, 0xBB99, 0xBB9A, 0xBB9B, 0xBB9C, 0xBB9D, 0xBB9E, 0xBB9F, 
+    0xBBA0, 0xBBA1, 0xBBA2, 0xBBA3, 0xBBA5, 0xBBA6, 0xBBA7, 0xBBA9, 0xBBAA, 
+    0xBBAB, 0xBBAD, 0xBBAE, 0xBBAF, 0xBBB0, 0xBBB1, 0xBBB2, 0xBBB3, 0xBBB5, 
+    0xBBB6, 0xBBB8, 0xBBB9, 0xBBBA, 0xBBBB, 0xBBBC, 0xBBBD, 0xBBBE, 0xBBBF, 
+    0xBBC1, 0xBBC2, 0xBBC3, 0xBBC5, 0xBBC6, 0xBBC7, 0xBBC9, 0xBBCA, 0xBBCB, 
+    0xBBCC, 0xBBCD, 0xBBCE, 0xBBCF, 0xBBD1, 0xBBD2, 0xBBD4, 0xBBD5, 0xBBD6, 
+    0xBBD7, 0xBBD8, 0xBBD9, 0xBBDA, 0xBBDB, 0xBBDC, 0xBBDD, 0xBBDE, 0xBBDF, 
+    0xBBE0, 0xBBE1, 0xBBE2, 0xBBE3, 0xBBE4, 0xBBE5, 0xBBE6, 0xBBE7, 0xBBE8, 
+    0xBBE9, 0xBBEA, 0xBBEB, 0xBBEC, 0xBBED, 0xBBEE, 0xBBEF, 0xBBF0, 0xBBF1, 
+    0xBBF2, 0xBBF3, 0xBBF4, 0xBBF5, 0xBBF6, 0xBBF7, 0xBBFA, 0xBBFB, 0xBBFD, 
+    0xBBFE, 0xBC01,  ERROR},
+    { ERROR, 0xBC03, 0xBC04, 0xBC05, 0xBC06, 0xBC07, 0xBC0A, 0xBC0E, 0xBC10, 
+    0xBC12, 0xBC13, 0xBC19, 0xBC1A, 0xBC20, 0xBC21, 0xBC22, 0xBC23, 0xBC26, 
+    0xBC28, 0xBC2A, 0xBC2B, 0xBC2C, 0xBC2E, 0xBC2F, 0xBC32, 0xBC33, 0xBC35, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 0xBC36, 0xBC37, 0xBC39, 
+    0xBC3A, 0xBC3B, 0xBC3C, 0xBC3D, 0xBC3E, 0xBC3F, 0xBC42, 0xBC46, 0xBC47, 
+    0xBC48, 0xBC4A, 0xBC4B, 0xBC4E, 0xBC4F, 0xBC51, 0xBC52, 0xBC53, 0xBC54, 
+    0xBC55, 0xBC56, 0xBC57, 0xBC58, 0xBC59,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR, 0xBC5A, 0xBC5B, 0xBC5C, 0xBC5E, 0xBC5F, 0xBC60, 0xBC61, 
+    0xBC62, 0xBC63, 0xBC64, 0xBC65, 0xBC66, 0xBC67, 0xBC68, 0xBC69, 0xBC6A, 
+    0xBC6B, 0xBC6C, 0xBC6D, 0xBC6E, 0xBC6F, 0xBC70, 0xBC71, 0xBC72, 0xBC73, 
+    0xBC74, 0xBC75, 0xBC76, 0xBC77, 0xBC78, 0xBC79, 0xBC7A, 0xBC7B, 0xBC7C, 
+    0xBC7D, 0xBC7E, 0xBC7F, 0xBC80, 0xBC81, 0xBC82, 0xBC83, 0xBC86, 0xBC87, 
+    0xBC89, 0xBC8A, 0xBC8D, 0xBC8F, 0xBC90, 0xBC91, 0xBC92, 0xBC93, 0xBC96, 
+    0xBC98, 0xBC9B, 0xBC9C, 0xBC9D, 0xBC9E, 0xBC9F, 0xBCA2, 0xBCA3, 0xBCA5, 
+    0xBCA6, 0xBCA9, 0xBCAA, 0xBCAB, 0xBCAC, 0xBCAD, 0xBCAE, 0xBCAF, 0xBCB2, 
+    0xBCB6, 0xBCB7, 0xBCB8, 0xBCB9, 0xBCBA, 0xBCBB, 0xBCBE, 0xBCBF, 0xBCC1, 
+    0xBCC2, 0xBCC3, 0xBCC5, 0xBCC6, 0xBCC7, 0xBCC8, 0xBCC9, 0xBCCA, 0xBCCB, 
+    0xBCCC, 0xBCCE, 0xBCD2, 0xBCD3, 0xBCD4, 0xBCD6, 0xBCD7, 0xBCD9, 0xBCDA, 
+    0xBCDB, 0xBCDD, 0xBCDE, 0xBCDF, 0xBCE0, 0xBCE1, 0xBCE2, 0xBCE3, 0xBCE4, 
+    0xBCE5, 0xBCE6, 0xBCE7, 0xBCE8, 0xBCE9, 0xBCEA, 0xBCEB, 0xBCEC, 0xBCED, 
+    0xBCEE, 0xBCEF, 0xBCF0, 0xBCF1, 0xBCF2, 0xBCF3, 0xBCF7, 0xBCF9, 0xBCFA, 
+    0xBCFB, 0xBCFD,  ERROR},
+    { ERROR, 0xBCFE, 0xBCFF, 0xBD00, 0xBD01, 0xBD02, 0xBD03, 0xBD06, 0xBD08, 
+    0xBD0A, 0xBD0B, 0xBD0C, 0xBD0D, 0xBD0E, 0xBD0F, 0xBD11, 0xBD12, 0xBD13, 
+    0xBD15, 0xBD16, 0xBD17, 0xBD18, 0xBD19, 0xBD1A, 0xBD1B, 0xBD1C, 0xBD1D, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 0xBD1E, 0xBD1F, 0xBD20, 
+    0xBD21, 0xBD22, 0xBD23, 0xBD25, 0xBD26, 0xBD27, 0xBD28, 0xBD29, 0xBD2A, 
+    0xBD2B, 0xBD2D, 0xBD2E, 0xBD2F, 0xBD30, 0xBD31, 0xBD32, 0xBD33, 0xBD34, 
+    0xBD35, 0xBD36, 0xBD37, 0xBD38, 0xBD39,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR, 0xBD3A, 0xBD3B, 0xBD3C, 0xBD3D, 0xBD3E, 0xBD3F, 0xBD41, 
+    0xBD42, 0xBD43, 0xBD44, 0xBD45, 0xBD46, 0xBD47, 0xBD4A, 0xBD4B, 0xBD4D, 
+    0xBD4E, 0xBD4F, 0xBD51, 0xBD52, 0xBD53, 0xBD54, 0xBD55, 0xBD56, 0xBD57, 
+    0xBD5A, 0xBD5B, 0xBD5C, 0xBD5D, 0xBD5E, 0xBD5F, 0xBD60, 0xBD61, 0xBD62, 
+    0xBD63, 0xBD65, 0xBD66, 0xBD67, 0xBD69, 0xBD6A, 0xBD6B, 0xBD6C, 0xBD6D, 
+    0xBD6E, 0xBD6F, 0xBD70, 0xBD71, 0xBD72, 0xBD73, 0xBD74, 0xBD75, 0xBD76, 
+    0xBD77, 0xBD78, 0xBD79, 0xBD7A, 0xBD7B, 0xBD7C, 0xBD7D, 0xBD7E, 0xBD7F, 
+    0xBD82, 0xBD83, 0xBD85, 0xBD86, 0xBD8B, 0xBD8C, 0xBD8D, 0xBD8E, 0xBD8F, 
+    0xBD92, 0xBD94, 0xBD96, 0xBD97, 0xBD98, 0xBD9B, 0xBD9D, 0xBD9E, 0xBD9F, 
+    0xBDA0, 0xBDA1, 0xBDA2, 0xBDA3, 0xBDA5, 0xBDA6, 0xBDA7, 0xBDA8, 0xBDA9, 
+    0xBDAA, 0xBDAB, 0xBDAC, 0xBDAD, 0xBDAE, 0xBDAF, 0xBDB1, 0xBDB2, 0xBDB3, 
+    0xBDB4, 0xBDB5, 0xBDB6, 0xBDB7, 0xBDB9, 0xBDBA, 0xBDBB, 0xBDBC, 0xBDBD, 
+    0xBDBE, 0xBDBF, 0xBDC0, 0xBDC1, 0xBDC2, 0xBDC3, 0xBDC4, 0xBDC5, 0xBDC6, 
+    0xBDC7, 0xBDC8, 0xBDC9, 0xBDCA, 0xBDCB, 0xBDCC, 0xBDCD, 0xBDCE, 0xBDCF, 
+    0xBDD0, 0xBDD1,  ERROR},
+    { ERROR, 0xBDD2, 0xBDD3, 0xBDD6, 0xBDD7, 0xBDD9, 0xBDDA, 0xBDDB, 0xBDDD, 
+    0xBDDE, 0xBDDF, 0xBDE0, 0xBDE1, 0xBDE2, 0xBDE3, 0xBDE4, 0xBDE5, 0xBDE6, 
+    0xBDE7, 0xBDE8, 0xBDEA, 0xBDEB, 0xBDEC, 0xBDED, 0xBDEE, 0xBDEF, 0xBDF1, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 0xBDF2, 0xBDF3, 0xBDF5, 
+    0xBDF6, 0xBDF7, 0xBDF9, 0xBDFA, 0xBDFB, 0xBDFC, 0xBDFD, 0xBDFE, 0xBDFF, 
+    0xBE01, 0xBE02, 0xBE04, 0xBE06, 0xBE07, 0xBE08, 0xBE09, 0xBE0A, 0xBE0B, 
+    0xBE0E, 0xBE0F, 0xBE11, 0xBE12, 0xBE13,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR, 0xBE15, 0xBE16, 0xBE17, 0xBE18, 0xBE19, 0xBE1A, 0xBE1B, 
+    0xBE1E, 0xBE20, 0xBE21, 0xBE22, 0xBE23, 0xBE24, 0xBE25, 0xBE26, 0xBE27, 
+    0xBE28, 0xBE29, 0xBE2A, 0xBE2B, 0xBE2C, 0xBE2D, 0xBE2E, 0xBE2F, 0xBE30, 
+    0xBE31, 0xBE32, 0xBE33, 0xBE34, 0xBE35, 0xBE36, 0xBE37, 0xBE38, 0xBE39, 
+    0xBE3A, 0xBE3B, 0xBE3C, 0xBE3D, 0xBE3E, 0xBE3F, 0xBE40, 0xBE41, 0xBE42, 
+    0xBE43, 0xBE46, 0xBE47, 0xBE49, 0xBE4A, 0xBE4B, 0xBE4D, 0xBE4F, 0xBE50, 
+    0xBE51, 0xBE52, 0xBE53, 0xBE56, 0xBE58, 0xBE5C, 0xBE5D, 0xBE5E, 0xBE5F, 
+    0xBE62, 0xBE63, 0xBE65, 0xBE66, 0xBE67, 0xBE69, 0xBE6B, 0xBE6C, 0xBE6D, 
+    0xBE6E, 0xBE6F, 0xBE72, 0xBE76, 0xBE77, 0xBE78, 0xBE79, 0xBE7A, 0xBE7E, 
+    0xBE7F, 0xBE81, 0xBE82, 0xBE83, 0xBE85, 0xBE86, 0xBE87, 0xBE88, 0xBE89, 
+    0xBE8A, 0xBE8B, 0xBE8E, 0xBE92, 0xBE93, 0xBE94, 0xBE95, 0xBE96, 0xBE97, 
+    0xBE9A, 0xBE9B, 0xBE9C, 0xBE9D, 0xBE9E, 0xBE9F, 0xBEA0, 0xBEA1, 0xBEA2, 
+    0xBEA3, 0xBEA4, 0xBEA5, 0xBEA6, 0xBEA7, 0xBEA9, 0xBEAA, 0xBEAB, 0xBEAC, 
+    0xBEAD, 0xBEAE, 0xBEAF, 0xBEB0, 0xBEB1, 0xBEB2, 0xBEB3, 0xBEB4, 0xBEB5, 
+    0xBEB6, 0xBEB7,  ERROR},
+    { ERROR, 0xBEB8, 0xBEB9, 0xBEBA, 0xBEBB, 0xBEBC, 0xBEBD, 0xBEBE, 0xBEBF, 
+    0xBEC0, 0xBEC1, 0xBEC2, 0xBEC3, 0xBEC4, 0xBEC5, 0xBEC6, 0xBEC7, 0xBEC8, 
+    0xBEC9, 0xBECA, 0xBECB, 0xBECC, 0xBECD, 0xBECE, 0xBECF, 0xBED2, 0xBED3, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 0xBED5, 0xBED6, 0xBED9, 
+    0xBEDA, 0xBEDB, 0xBEDC, 0xBEDD, 0xBEDE, 0xBEDF, 0xBEE1, 0xBEE2, 0xBEE6, 
+    0xBEE7, 0xBEE8, 0xBEE9, 0xBEEA, 0xBEEB, 0xBEED, 0xBEEE, 0xBEEF, 0xBEF0, 
+    0xBEF1, 0xBEF2, 0xBEF3, 0xBEF4, 0xBEF5,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR, 0xBEF6, 0xBEF7, 0xBEF8, 0xBEF9, 0xBEFA, 0xBEFB, 0xBEFC, 
+    0xBEFD, 0xBEFE, 0xBEFF, 0xBF00, 0xBF02, 0xBF03, 0xBF04, 0xBF05, 0xBF06, 
+    0xBF07, 0xBF0A, 0xBF0B, 0xBF0C, 0xBF0D, 0xBF0E, 0xBF0F, 0xBF10, 0xBF11, 
+    0xBF12, 0xBF13, 0xBF14, 0xBF15, 0xBF16, 0xBF17, 0xBF1A, 0xBF1E, 0xBF1F, 
+    0xBF20, 0xBF21, 0xBF22, 0xBF23, 0xBF24, 0xBF25, 0xBF26, 0xBF27, 0xBF28, 
+    0xBF29, 0xBF2A, 0xBF2B, 0xBF2C, 0xBF2D, 0xBF2E, 0xBF2F, 0xBF30, 0xBF31, 
+    0xBF32, 0xBF33, 0xBF34, 0xBF35, 0xBF36, 0xBF37, 0xBF38, 0xBF39, 0xBF3A, 
+    0xBF3B, 0xBF3C, 0xBF3D, 0xBF3E, 0xBF3F, 0xBF42, 0xBF43, 0xBF45, 0xBF46, 
+    0xBF47, 0xBF49, 0xBF4A, 0xBF4B, 0xBF4C, 0xBF4D, 0xBF4E, 0xBF4F, 0xBF52, 
+    0xBF53, 0xBF54, 0xBF56, 0xBF57, 0xBF58, 0xBF59, 0xBF5A, 0xBF5B, 0xBF5C, 
+    0xBF5D, 0xBF5E, 0xBF5F, 0xBF60, 0xBF61, 0xBF62, 0xBF63, 0xBF64, 0xBF65, 
+    0xBF66, 0xBF67, 0xBF68, 0xBF69, 0xBF6A, 0xBF6B, 0xBF6C, 0xBF6D, 0xBF6E, 
+    0xBF6F, 0xBF70, 0xBF71, 0xBF72, 0xBF73, 0xBF74, 0xBF75, 0xBF76, 0xBF77, 
+    0xBF78, 0xBF79, 0xBF7A, 0xBF7B, 0xBF7C, 0xBF7D, 0xBF7E, 0xBF7F, 0xBF80, 
+    0xBF81, 0xBF82,  ERROR},
+    { ERROR, 0xBF83, 0xBF84, 0xBF85, 0xBF86, 0xBF87, 0xBF88, 0xBF89, 0xBF8A, 
+    0xBF8B, 0xBF8C, 0xBF8D, 0xBF8E, 0xBF8F, 0xBF90, 0xBF91, 0xBF92, 0xBF93, 
+    0xBF95, 0xBF96, 0xBF97, 0xBF98, 0xBF99, 0xBF9A, 0xBF9B, 0xBF9C, 0xBF9D, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 0xBF9E, 0xBF9F, 0xBFA0, 
+    0xBFA1, 0xBFA2, 0xBFA3, 0xBFA4, 0xBFA5, 0xBFA6, 0xBFA7, 0xBFA8, 0xBFA9, 
+    0xBFAA, 0xBFAB, 0xBFAC, 0xBFAD, 0xBFAE, 0xBFAF, 0xBFB1, 0xBFB2, 0xBFB3, 
+    0xBFB4, 0xBFB5, 0xBFB6, 0xBFB7, 0xBFB8,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR, 0xBFB9, 0xBFBA, 0xBFBB, 0xBFBC, 0xBFBD, 0xBFBE, 0xBFBF, 
+    0xBFC0, 0xBFC1, 0xBFC2, 0xBFC3, 0xBFC4, 0xBFC6, 0xBFC7, 0xBFC8, 0xBFC9, 
+    0xBFCA, 0xBFCB, 0xBFCE, 0xBFCF, 0xBFD1, 0xBFD2, 0xBFD3, 0xBFD5, 0xBFD6, 
+    0xBFD7, 0xBFD8, 0xBFD9, 0xBFDA, 0xBFDB, 0xBFDD, 0xBFDE, 0xBFE0, 0xBFE2, 
+    0xBFE3, 0xBFE4, 0xBFE5, 0xBFE6, 0xBFE7, 0xBFE8, 0xBFE9, 0xBFEA, 0xBFEB, 
+    0xBFEC, 0xBFED, 0xBFEE, 0xBFEF, 0xBFF0, 0xBFF1, 0xBFF2, 0xBFF3, 0xBFF4, 
+    0xBFF5, 0xBFF6, 0xBFF7, 0xBFF8, 0xBFF9, 0xBFFA, 0xBFFB, 0xBFFC, 0xBFFD, 
+    0xBFFE, 0xBFFF, 0xC000, 0xC001, 0xC002, 0xC003, 0xC004, 0xC005, 0xC006, 
+    0xC007, 0xC008, 0xC009, 0xC00A, 0xC00B, 0xC00C, 0xC00D, 0xC00E, 0xC00F, 
+    0xC010, 0xC011, 0xC012, 0xC013, 0xC014, 0xC015, 0xC016, 0xC017, 0xC018, 
+    0xC019, 0xC01A, 0xC01B, 0xC01C, 0xC01D, 0xC01E, 0xC01F, 0xC020, 0xC021, 
+    0xC022, 0xC023, 0xC024, 0xC025, 0xC026, 0xC027, 0xC028, 0xC029, 0xC02A, 
+    0xC02B, 0xC02C, 0xC02D, 0xC02E, 0xC02F, 0xC030, 0xC031, 0xC032, 0xC033, 
+    0xC034, 0xC035, 0xC036, 0xC037, 0xC038, 0xC039, 0xC03A, 0xC03B, 0xC03D, 
+    0xC03E, 0xC03F,  ERROR},
+    { ERROR, 0xC040, 0xC041, 0xC042, 0xC043, 0xC044, 0xC045, 0xC046, 0xC047, 
+    0xC048, 0xC049, 0xC04A, 0xC04B, 0xC04C, 0xC04D, 0xC04E, 0xC04F, 0xC050, 
+    0xC052, 0xC053, 0xC054, 0xC055, 0xC056, 0xC057, 0xC059, 0xC05A, 0xC05B, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 0xC05D, 0xC05E, 0xC05F, 
+    0xC061, 0xC062, 0xC063, 0xC064, 0xC065, 0xC066, 0xC067, 0xC06A, 0xC06B, 
+    0xC06C, 0xC06D, 0xC06E, 0xC06F, 0xC070, 0xC071, 0xC072, 0xC073, 0xC074, 
+    0xC075, 0xC076, 0xC077, 0xC078, 0xC079,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR, 0xC07A, 0xC07B, 0xC07C, 0xC07D, 0xC07E, 0xC07F, 0xC080, 
+    0xC081, 0xC082, 0xC083, 0xC084, 0xC085, 0xC086, 0xC087, 0xC088, 0xC089, 
+    0xC08A, 0xC08B, 0xC08C, 0xC08D, 0xC08E, 0xC08F, 0xC092, 0xC093, 0xC095, 
+    0xC096, 0xC097, 0xC099, 0xC09A, 0xC09B, 0xC09C, 0xC09D, 0xC09E, 0xC09F, 
+    0xC0A2, 0xC0A4, 0xC0A6, 0xC0A7, 0xC0A8, 0xC0A9, 0xC0AA, 0xC0AB, 0xC0AE, 
+    0xC0B1, 0xC0B2, 0xC0B7, 0xC0B8, 0xC0B9, 0xC0BA, 0xC0BB, 0xC0BE, 0xC0C2, 
+    0xC0C3, 0xC0C4, 0xC0C6, 0xC0C7, 0xC0CA, 0xC0CB, 0xC0CD, 0xC0CE, 0xC0CF, 
+    0xC0D1, 0xC0D2, 0xC0D3, 0xC0D4, 0xC0D5, 0xC0D6, 0xC0D7, 0xC0DA, 0xC0DE, 
+    0xC0DF, 0xC0E0, 0xC0E1, 0xC0E2, 0xC0E3, 0xC0E6, 0xC0E7, 0xC0E9, 0xC0EA, 
+    0xC0EB, 0xC0ED, 0xC0EE, 0xC0EF, 0xC0F0, 0xC0F1, 0xC0F2, 0xC0F3, 0xC0F6, 
+    0xC0F8, 0xC0FA, 0xC0FB, 0xC0FC, 0xC0FD, 0xC0FE, 0xC0FF, 0xC101, 0xC102, 
+    0xC103, 0xC105, 0xC106, 0xC107, 0xC109, 0xC10A, 0xC10B, 0xC10C, 0xC10D, 
+    0xC10E, 0xC10F, 0xC111, 0xC112, 0xC113, 0xC114, 0xC116, 0xC117, 0xC118, 
+    0xC119, 0xC11A, 0xC11B, 0xC121, 0xC122, 0xC125, 0xC128, 0xC129, 0xC12A, 
+    0xC12B, 0xC12E,  ERROR},
+    { ERROR, 0xC132, 0xC133, 0xC134, 0xC135, 0xC137, 0xC13A, 0xC13B, 0xC13D, 
+    0xC13E, 0xC13F, 0xC141, 0xC142, 0xC143, 0xC144, 0xC145, 0xC146, 0xC147, 
+    0xC14A, 0xC14E, 0xC14F, 0xC150, 0xC151, 0xC152, 0xC153, 0xC156, 0xC157, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 0xC159, 0xC15A, 0xC15B, 
+    0xC15D, 0xC15E, 0xC15F, 0xC160, 0xC161, 0xC162, 0xC163, 0xC166, 0xC16A, 
+    0xC16B, 0xC16C, 0xC16D, 0xC16E, 0xC16F, 0xC171, 0xC172, 0xC173, 0xC175, 
+    0xC176, 0xC177, 0xC179, 0xC17A, 0xC17B,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR, 0xC17C, 0xC17D, 0xC17E, 0xC17F, 0xC180, 0xC181, 0xC182, 
+    0xC183, 0xC184, 0xC186, 0xC187, 0xC188, 0xC189, 0xC18A, 0xC18B, 0xC18F, 
+    0xC191, 0xC192, 0xC193, 0xC195, 0xC197, 0xC198, 0xC199, 0xC19A, 0xC19B, 
+    0xC19E, 0xC1A0, 0xC1A2, 0xC1A3, 0xC1A4, 0xC1A6, 0xC1A7, 0xC1AA, 0xC1AB, 
+    0xC1AD, 0xC1AE, 0xC1AF, 0xC1B1, 0xC1B2, 0xC1B3, 0xC1B4, 0xC1B5, 0xC1B6, 
+    0xC1B7, 0xC1B8, 0xC1B9, 0xC1BA, 0xC1BB, 0xC1BC, 0xC1BE, 0xC1BF, 0xC1C0, 
+    0xC1C1, 0xC1C2, 0xC1C3, 0xC1C5, 0xC1C6, 0xC1C7, 0xC1C9, 0xC1CA, 0xC1CB, 
+    0xC1CD, 0xC1CE, 0xC1CF, 0xC1D0, 0xC1D1, 0xC1D2, 0xC1D3, 0xC1D5, 0xC1D6, 
+    0xC1D9, 0xC1DA, 0xC1DB, 0xC1DC, 0xC1DD, 0xC1DE, 0xC1DF, 0xC1E1, 0xC1E2, 
+    0xC1E3, 0xC1E5, 0xC1E6, 0xC1E7, 0xC1E9, 0xC1EA, 0xC1EB, 0xC1EC, 0xC1ED, 
+    0xC1EE, 0xC1EF, 0xC1F2, 0xC1F4, 0xC1F5, 0xC1F6, 0xC1F7, 0xC1F8, 0xC1F9, 
+    0xC1FA, 0xC1FB, 0xC1FE, 0xC1FF, 0xC201, 0xC202, 0xC203, 0xC205, 0xC206, 
+    0xC207, 0xC208, 0xC209, 0xC20A, 0xC20B, 0xC20E, 0xC210, 0xC212, 0xC213, 
+    0xC214, 0xC215, 0xC216, 0xC217, 0xC21A, 0xC21B, 0xC21D, 0xC21E, 0xC221, 
+    0xC222, 0xC223,  ERROR},
+    { ERROR, 0xC224, 0xC225, 0xC226, 0xC227, 0xC22A, 0xC22C, 0xC22E, 0xC230, 
+    0xC233, 0xC235, 0xC236, 0xC237, 0xC238, 0xC239, 0xC23A, 0xC23B, 0xC23C, 
+    0xC23D, 0xC23E, 0xC23F, 0xC240, 0xC241, 0xC242, 0xC243, 0xC244, 0xC245, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 0xC246, 0xC247, 0xC249, 
+    0xC24A, 0xC24B, 0xC24C, 0xC24D, 0xC24E, 0xC24F, 0xC252, 0xC253, 0xC255, 
+    0xC256, 0xC257, 0xC259, 0xC25A, 0xC25B, 0xC25C, 0xC25D, 0xC25E, 0xC25F, 
+    0xC261, 0xC262, 0xC263, 0xC264, 0xC266,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR, 0xC267, 0xC268, 0xC269, 0xC26A, 0xC26B, 0xC26E, 0xC26F, 
+    0xC271, 0xC272, 0xC273, 0xC275, 0xC276, 0xC277, 0xC278, 0xC279, 0xC27A, 
+    0xC27B, 0xC27E, 0xC280, 0xC282, 0xC283, 0xC284, 0xC285, 0xC286, 0xC287, 
+    0xC28A, 0xC28B, 0xC28C, 0xC28D, 0xC28E, 0xC28F, 0xC291, 0xC292, 0xC293, 
+    0xC294, 0xC295, 0xC296, 0xC297, 0xC299, 0xC29A, 0xC29C, 0xC29E, 0xC29F, 
+    0xC2A0, 0xC2A1, 0xC2A2, 0xC2A3, 0xC2A6, 0xC2A7, 0xC2A9, 0xC2AA, 0xC2AB, 
+    0xC2AE, 0xC2AF, 0xC2B0, 0xC2B1, 0xC2B2, 0xC2B3, 0xC2B6, 0xC2B8, 0xC2BA, 
+    0xC2BB, 0xC2BC, 0xC2BD, 0xC2BE, 0xC2BF, 0xC2C0, 0xC2C1, 0xC2C2, 0xC2C3, 
+    0xC2C4, 0xC2C5, 0xC2C6, 0xC2C7, 0xC2C8, 0xC2C9, 0xC2CA, 0xC2CB, 0xC2CC, 
+    0xC2CD, 0xC2CE, 0xC2CF, 0xC2D0, 0xC2D1, 0xC2D2, 0xC2D3, 0xC2D4, 0xC2D5, 
+    0xC2D6, 0xC2D7, 0xC2D8, 0xC2D9, 0xC2DA, 0xC2DB, 0xC2DE, 0xC2DF, 0xC2E1, 
+    0xC2E2, 0xC2E5, 0xC2E6, 0xC2E7, 0xC2E8, 0xC2E9, 0xC2EA, 0xC2EE, 0xC2F0, 
+    0xC2F2, 0xC2F3, 0xC2F4, 0xC2F5, 0xC2F7, 0xC2FA, 0xC2FD, 0xC2FE, 0xC2FF, 
+    0xC301, 0xC302, 0xC303, 0xC304, 0xC305, 0xC306, 0xC307, 0xC30A, 0xC30B, 
+    0xC30E, 0xC30F,  ERROR},
+    { ERROR, 0xC310, 0xC311, 0xC312, 0xC316, 0xC317, 0xC319, 0xC31A, 0xC31B, 
+    0xC31D, 0xC31E, 0xC31F, 0xC320, 0xC321, 0xC322, 0xC323, 0xC326, 0xC327, 
+    0xC32A, 0xC32B, 0xC32C, 0xC32D, 0xC32E, 0xC32F, 0xC330, 0xC331, 0xC332, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 0xC333, 0xC334, 0xC335, 
+    0xC336, 0xC337, 0xC338, 0xC339, 0xC33A, 0xC33B, 0xC33C, 0xC33D, 0xC33E, 
+    0xC33F, 0xC340, 0xC341, 0xC342, 0xC343, 0xC344, 0xC346, 0xC347, 0xC348, 
+    0xC349, 0xC34A, 0xC34B, 0xC34C, 0xC34D,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR, 0xC34E, 0xC34F, 0xC350, 0xC351, 0xC352, 0xC353, 0xC354, 
+    0xC355, 0xC356, 0xC357, 0xC358, 0xC359, 0xC35A, 0xC35B, 0xC35C, 0xC35D, 
+    0xC35E, 0xC35F, 0xC360, 0xC361, 0xC362, 0xC363, 0xC364, 0xC365, 0xC366, 
+    0xC367, 0xC36A, 0xC36B, 0xC36D, 0xC36E, 0xC36F, 0xC371, 0xC373, 0xC374, 
+    0xC375, 0xC376, 0xC377, 0xC37A, 0xC37B, 0xC37E, 0xC37F, 0xC380, 0xC381, 
+    0xC382, 0xC383, 0xC385, 0xC386, 0xC387, 0xC389, 0xC38A, 0xC38B, 0xC38D, 
+    0xC38E, 0xC38F, 0xC390, 0xC391, 0xC392, 0xC393, 0xC394, 0xC395, 0xC396, 
+    0xC397, 0xC398, 0xC399, 0xC39A, 0xC39B, 0xC39C, 0xC39D, 0xC39E, 0xC39F, 
+    0xC3A0, 0xC3A1, 0xC3A2, 0xC3A3, 0xC3A4, 0xC3A5, 0xC3A6, 0xC3A7, 0xC3A8, 
+    0xC3A9, 0xC3AA, 0xC3AB, 0xC3AC, 0xC3AD, 0xC3AE, 0xC3AF, 0xC3B0, 0xC3B1, 
+    0xC3B2, 0xC3B3, 0xC3B4, 0xC3B5, 0xC3B6, 0xC3B7, 0xC3B8, 0xC3B9, 0xC3BA, 
+    0xC3BB, 0xC3BC, 0xC3BD, 0xC3BE, 0xC3BF, 0xC3C1, 0xC3C2, 0xC3C3, 0xC3C4, 
+    0xC3C5, 0xC3C6, 0xC3C7, 0xC3C8, 0xC3C9, 0xC3CA, 0xC3CB, 0xC3CC, 0xC3CD, 
+    0xC3CE, 0xC3CF, 0xC3D0, 0xC3D1, 0xC3D2, 0xC3D3, 0xC3D4, 0xC3D5, 0xC3D6, 
+    0xC3D7, 0xC3DA,  ERROR},
+    { ERROR, 0xC3DB, 0xC3DD, 0xC3DE, 0xC3E1, 0xC3E3, 0xC3E4, 0xC3E5, 0xC3E6, 
+    0xC3E7, 0xC3EA, 0xC3EB, 0xC3EC, 0xC3EE, 0xC3EF, 0xC3F0, 0xC3F1, 0xC3F2, 
+    0xC3F3, 0xC3F6, 0xC3F7, 0xC3F9, 0xC3FA, 0xC3FB, 0xC3FC, 0xC3FD, 0xC3FE, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 0xC3FF, 0xC400, 0xC401, 
+    0xC402, 0xC403, 0xC404, 0xC405, 0xC406, 0xC407, 0xC409, 0xC40A, 0xC40B, 
+    0xC40C, 0xC40D, 0xC40E, 0xC40F, 0xC411, 0xC412, 0xC413, 0xC414, 0xC415, 
+    0xC416, 0xC417, 0xC418, 0xC419, 0xC41A,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR, 0xC41B, 0xC41C, 0xC41D, 0xC41E, 0xC41F, 0xC420, 0xC421, 
+    0xC422, 0xC423, 0xC425, 0xC426, 0xC427, 0xC428, 0xC429, 0xC42A, 0xC42B, 
+    0xC42D, 0xC42E, 0xC42F, 0xC431, 0xC432, 0xC433, 0xC435, 0xC436, 0xC437, 
+    0xC438, 0xC439, 0xC43A, 0xC43B, 0xC43E, 0xC43F, 0xC440, 0xC441, 0xC442, 
+    0xC443, 0xC444, 0xC445, 0xC446, 0xC447, 0xC449, 0xC44A, 0xC44B, 0xC44C, 
+    0xC44D, 0xC44E, 0xC44F, 0xC450, 0xC451, 0xC452, 0xC453, 0xC454, 0xC455, 
+    0xC456, 0xC457, 0xC458, 0xC459, 0xC45A, 0xC45B, 0xC45C, 0xC45D, 0xC45E, 
+    0xC45F, 0xC460, 0xC461, 0xC462, 0xC463, 0xC466, 0xC467, 0xC469, 0xC46A, 
+    0xC46B, 0xC46D, 0xC46E, 0xC46F, 0xC470, 0xC471, 0xC472, 0xC473, 0xC476, 
+    0xC477, 0xC478, 0xC47A, 0xC47B, 0xC47C, 0xC47D, 0xC47E, 0xC47F, 0xC481, 
+    0xC482, 0xC483, 0xC484, 0xC485, 0xC486, 0xC487, 0xC488, 0xC489, 0xC48A, 
+    0xC48B, 0xC48C, 0xC48D, 0xC48E, 0xC48F, 0xC490, 0xC491, 0xC492, 0xC493, 
+    0xC495, 0xC496, 0xC497, 0xC498, 0xC499, 0xC49A, 0xC49B, 0xC49D, 0xC49E, 
+    0xC49F, 0xC4A0, 0xC4A1, 0xC4A2, 0xC4A3, 0xC4A4, 0xC4A5, 0xC4A6, 0xC4A7, 
+    0xC4A8, 0xC4A9,  ERROR},
+    { ERROR, 0xC4AA, 0xC4AB, 0xC4AC, 0xC4AD, 0xC4AE, 0xC4AF, 0xC4B0, 0xC4B1, 
+    0xC4B2, 0xC4B3, 0xC4B4, 0xC4B5, 0xC4B6, 0xC4B7, 0xC4B9, 0xC4BA, 0xC4BB, 
+    0xC4BD, 0xC4BE, 0xC4BF, 0xC4C0, 0xC4C1, 0xC4C2, 0xC4C3, 0xC4C4, 0xC4C5, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 0xC4C6, 0xC4C7, 0xC4C8, 
+    0xC4C9, 0xC4CA, 0xC4CB, 0xC4CC, 0xC4CD, 0xC4CE, 0xC4CF, 0xC4D0, 0xC4D1, 
+    0xC4D2, 0xC4D3, 0xC4D4, 0xC4D5, 0xC4D6, 0xC4D7, 0xC4D8, 0xC4D9, 0xC4DA, 
+    0xC4DB, 0xC4DC, 0xC4DD, 0xC4DE, 0xC4DF,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR, 0xC4E0, 0xC4E1, 0xC4E2, 0xC4E3, 0xC4E4, 0xC4E5, 0xC4E6, 
+    0xC4E7, 0xC4E8, 0xC4EA, 0xC4EB, 0xC4EC, 0xC4ED, 0xC4EE, 0xC4EF, 0xC4F2, 
+    0xC4F3, 0xC4F5, 0xC4F6, 0xC4F7, 0xC4F9, 0xC4FB, 0xC4FC, 0xC4FD, 0xC4FE, 
+    0xC502, 0xC503, 0xC504, 0xC505, 0xC506, 0xC507, 0xC508, 0xC509, 0xC50A, 
+    0xC50B, 0xC50D, 0xC50E, 0xC50F, 0xC511, 0xC512, 0xC513, 0xC515, 0xC516, 
+    0xC517, 0xC518, 0xC519, 0xC51A, 0xC51B, 0xC51D, 0xC51E, 0xC51F, 0xC520, 
+    0xC521, 0xC522, 0xC523, 0xC524, 0xC525, 0xC526, 0xC527, 0xC52A, 0xC52B, 
+    0xC52D, 0xC52E, 0xC52F, 0xC531, 0xC532, 0xC533, 0xC534, 0xC535, 0xC536, 
+    0xC537, 0xC53A, 0xC53C, 0xC53E, 0xC53F, 0xC540, 0xC541, 0xC542, 0xC543, 
+    0xC546, 0xC547, 0xC54B, 0xC54F, 0xC550, 0xC551, 0xC552, 0xC556, 0xC55A, 
+    0xC55B, 0xC55C, 0xC55F, 0xC562, 0xC563, 0xC565, 0xC566, 0xC567, 0xC569, 
+    0xC56A, 0xC56B, 0xC56C, 0xC56D, 0xC56E, 0xC56F, 0xC572, 0xC576, 0xC577, 
+    0xC578, 0xC579, 0xC57A, 0xC57B, 0xC57E, 0xC57F, 0xC581, 0xC582, 0xC583, 
+    0xC585, 0xC586, 0xC588, 0xC589, 0xC58A, 0xC58B, 0xC58E, 0xC590, 0xC592, 
+    0xC593, 0xC594,  ERROR},
+    { ERROR, 0xC596, 0xC599, 0xC59A, 0xC59B, 0xC59D, 0xC59E, 0xC59F, 0xC5A1, 
+    0xC5A2, 0xC5A3, 0xC5A4, 0xC5A5, 0xC5A6, 0xC5A7, 0xC5A8, 0xC5AA, 0xC5AB, 
+    0xC5AC, 0xC5AD, 0xC5AE, 0xC5AF, 0xC5B0, 0xC5B1, 0xC5B2, 0xC5B3, 0xC5B6, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 0xC5B7, 0xC5BA, 0xC5BF, 
+    0xC5C0, 0xC5C1, 0xC5C2, 0xC5C3, 0xC5CB, 0xC5CD, 0xC5CF, 0xC5D2, 0xC5D3, 
+    0xC5D5, 0xC5D6, 0xC5D7, 0xC5D9, 0xC5DA, 0xC5DB, 0xC5DC, 0xC5DD, 0xC5DE, 
+    0xC5DF, 0xC5E2, 0xC5E4, 0xC5E6, 0xC5E7,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR, 0xC5E8, 0xC5E9, 0xC5EA, 0xC5EB, 0xC5EF, 0xC5F1, 0xC5F2, 
+    0xC5F3, 0xC5F5, 0xC5F8, 0xC5F9, 0xC5FA, 0xC5FB, 0xC602, 0xC603, 0xC604, 
+    0xC609, 0xC60A, 0xC60B, 0xC60D, 0xC60E, 0xC60F, 0xC611, 0xC612, 0xC613, 
+    0xC614, 0xC615, 0xC616, 0xC617, 0xC61A, 0xC61D, 0xC61E, 0xC61F, 0xC620, 
+    0xC621, 0xC622, 0xC623, 0xC626, 0xC627, 0xC629, 0xC62A, 0xC62B, 0xC62F, 
+    0xC631, 0xC632, 0xC636, 0xC638, 0xC63A, 0xC63C, 0xC63D, 0xC63E, 0xC63F, 
+    0xC642, 0xC643, 0xC645, 0xC646, 0xC647, 0xC649, 0xC64A, 0xC64B, 0xC64C, 
+    0xC64D, 0xC64E, 0xC64F, 0xC652, 0xC656, 0xC657, 0xC658, 0xC659, 0xC65A, 
+    0xC65B, 0xC65E, 0xC65F, 0xC661, 0xC662, 0xC663, 0xC664, 0xC665, 0xC666, 
+    0xC667, 0xC668, 0xC669, 0xC66A, 0xC66B, 0xC66D, 0xC66E, 0xC670, 0xC672, 
+    0xC673, 0xC674, 0xC675, 0xC676, 0xC677, 0xC67A, 0xC67B, 0xC67D, 0xC67E, 
+    0xC67F, 0xC681, 0xC682, 0xC683, 0xC684, 0xC685, 0xC686, 0xC687, 0xC68A, 
+    0xC68C, 0xC68E, 0xC68F, 0xC690, 0xC691, 0xC692, 0xC693, 0xC696, 0xC697, 
+    0xC699, 0xC69A, 0xC69B, 0xC69D, 0xC69E, 0xC69F, 0xC6A0, 0xC6A1, 0xC6A2, 
+    0xC6A3, 0xC6A6,  ERROR},
+    { ERROR, 0xC6A8, 0xC6AA, 0xC6AB, 0xC6AC, 0xC6AD, 0xC6AE, 0xC6AF, 0xC6B2, 
+    0xC6B3, 0xC6B5, 0xC6B6, 0xC6B7, 0xC6BB, 0xC6BC, 0xC6BD, 0xC6BE, 0xC6BF, 
+    0xC6C2, 0xC6C4, 0xC6C6, 0xC6C7, 0xC6C8, 0xC6C9, 0xC6CA, 0xC6CB, 0xC6CE, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 0xC6CF, 0xC6D1, 0xC6D2, 
+    0xC6D3, 0xC6D5, 0xC6D6, 0xC6D7, 0xC6D8, 0xC6D9, 0xC6DA, 0xC6DB, 0xC6DE, 
+    0xC6DF, 0xC6E2, 0xC6E3, 0xC6E4, 0xC6E5, 0xC6E6, 0xC6E7, 0xC6EA, 0xC6EB, 
+    0xC6ED, 0xC6EE, 0xC6EF, 0xC6F1, 0xC6F2,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR, 0xC6F3, 0xC6F4, 0xC6F5, 0xC6F6, 0xC6F7, 0xC6FA, 0xC6FB, 
+    0xC6FC, 0xC6FE, 0xC6FF, 0xC700, 0xC701, 0xC702, 0xC703, 0xC706, 0xC707, 
+    0xC709, 0xC70A, 0xC70B, 0xC70D, 0xC70E, 0xC70F, 0xC710, 0xC711, 0xC712, 
+    0xC713, 0xC716, 0xC718, 0xC71A, 0xC71B, 0xC71C, 0xC71D, 0xC71E, 0xC71F, 
+    0xC722, 0xC723, 0xC725, 0xC726, 0xC727, 0xC729, 0xC72A, 0xC72B, 0xC72C, 
+    0xC72D, 0xC72E, 0xC72F, 0xC732, 0xC734, 0xC736, 0xC738, 0xC739, 0xC73A, 
+    0xC73B, 0xC73E, 0xC73F, 0xC741, 0xC742, 0xC743, 0xC745, 0xC746, 0xC747, 
+    0xC748, 0xC749, 0xC74B, 0xC74E, 0xC750, 0xC759, 0xC75A, 0xC75B, 0xC75D, 
+    0xC75E, 0xC75F, 0xC761, 0xC762, 0xC763, 0xC764, 0xC765, 0xC766, 0xC767, 
+    0xC769, 0xC76A, 0xC76C, 0xC76D, 0xC76E, 0xC76F, 0xC770, 0xC771, 0xC772, 
+    0xC773, 0xC776, 0xC777, 0xC779, 0xC77A, 0xC77B, 0xC77F, 0xC780, 0xC781, 
+    0xC782, 0xC786, 0xC78B, 0xC78C, 0xC78D, 0xC78F, 0xC792, 0xC793, 0xC795, 
+    0xC799, 0xC79B, 0xC79C, 0xC79D, 0xC79E, 0xC79F, 0xC7A2, 0xC7A7, 0xC7A8, 
+    0xC7A9, 0xC7AA, 0xC7AB, 0xC7AE, 0xC7AF, 0xC7B1, 0xC7B2, 0xC7B3, 0xC7B5, 
+    0xC7B6, 0xC7B7,  ERROR},
+    { ERROR, 0xC7B8, 0xC7B9, 0xC7BA, 0xC7BB, 0xC7BE, 0xC7C2, 0xC7C3, 0xC7C4, 
+    0xC7C5, 0xC7C6, 0xC7C7, 0xC7CA, 0xC7CB, 0xC7CD, 0xC7CF, 0xC7D1, 0xC7D2, 
+    0xC7D3, 0xC7D4, 0xC7D5, 0xC7D6, 0xC7D7, 0xC7D9, 0xC7DA, 0xC7DB, 0xC7DC, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 0xC7DE, 0xC7DF, 0xC7E0, 
+    0xC7E1, 0xC7E2, 0xC7E3, 0xC7E5, 0xC7E6, 0xC7E7, 0xC7E9, 0xC7EA, 0xC7EB, 
+    0xC7ED, 0xC7EE, 0xC7EF, 0xC7F0, 0xC7F1, 0xC7F2, 0xC7F3, 0xC7F4, 0xC7F5, 
+    0xC7F6, 0xC7F7, 0xC7F8, 0xC7F9, 0xC7FA,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR, 0xC7FB, 0xC7FC, 0xC7FD, 0xC7FE, 0xC7FF, 0xC802, 0xC803, 
+    0xC805, 0xC806, 0xC807, 0xC809, 0xC80B, 0xC80C, 0xC80D, 0xC80E, 0xC80F, 
+    0xC812, 0xC814, 0xC817, 0xC818, 0xC819, 0xC81A, 0xC81B, 0xC81E, 0xC81F, 
+    0xC821, 0xC822, 0xC823, 0xC825, 0xC826, 0xC827, 0xC828, 0xC829, 0xC82A, 
+    0xC82B, 0xC82E, 0xC830, 0xC832, 0xC833, 0xC834, 0xC835, 0xC836, 0xC837, 
+    0xC839, 0xC83A, 0xC83B, 0xC83D, 0xC83E, 0xC83F, 0xC841, 0xC842, 0xC843, 
+    0xC844, 0xC845, 0xC846, 0xC847, 0xC84A, 0xC84B, 0xC84E, 0xC84F, 0xC850, 
+    0xC851, 0xC852, 0xC853, 0xC855, 0xC856, 0xC857, 0xC858, 0xC859, 0xC85A, 
+    0xC85B, 0xC85C, 0xC85D, 0xC85E, 0xC85F, 0xC860, 0xC861, 0xC862, 0xC863, 
+    0xC864, 0xC865, 0xC866, 0xC867, 0xC868, 0xC869, 0xC86A, 0xC86B, 0xC86C, 
+    0xC86D, 0xC86E, 0xC86F, 0xC872, 0xC873, 0xC875, 0xC876, 0xC877, 0xC879, 
+    0xC87B, 0xC87C, 0xC87D, 0xC87E, 0xC87F, 0xC882, 0xC884, 0xC888, 0xC889, 
+    0xC88A, 0xC88E, 0xC88F, 0xC890, 0xC891, 0xC892, 0xC893, 0xC895, 0xC896, 
+    0xC897, 0xC898, 0xC899, 0xC89A, 0xC89B, 0xC89C, 0xC89E, 0xC8A0, 0xC8A2, 
+    0xC8A3, 0xC8A4,  ERROR},
+    { ERROR, 0xC8A5, 0xC8A6, 0xC8A7, 0xC8A9, 0xC8AA, 0xC8AB, 0xC8AC, 0xC8AD, 
+    0xC8AE, 0xC8AF, 0xC8B0, 0xC8B1, 0xC8B2, 0xC8B3, 0xC8B4, 0xC8B5, 0xC8B6, 
+    0xC8B7, 0xC8B8, 0xC8B9, 0xC8BA, 0xC8BB, 0xC8BE, 0xC8BF, 0xC8C0, 0xC8C1, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 0xC8C2, 0xC8C3, 0xC8C5, 
+    0xC8C6, 0xC8C7, 0xC8C9, 0xC8CA, 0xC8CB, 0xC8CD, 0xC8CE, 0xC8CF, 0xC8D0, 
+    0xC8D1, 0xC8D2, 0xC8D3, 0xC8D6, 0xC8D8, 0xC8DA, 0xC8DB, 0xC8DC, 0xC8DD, 
+    0xC8DE, 0xC8DF, 0xC8E2, 0xC8E3, 0xC8E5,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR, 0xC8E6, 0xC8E7, 0xC8E8, 0xC8E9, 0xC8EA, 0xC8EB, 0xC8EC, 
+    0xC8ED, 0xC8EE, 0xC8EF, 0xC8F0, 0xC8F1, 0xC8F2, 0xC8F3, 0xC8F4, 0xC8F6, 
+    0xC8F7, 0xC8F8, 0xC8F9, 0xC8FA, 0xC8FB, 0xC8FE, 0xC8FF, 0xC901, 0xC902, 
+    0xC903, 0xC907, 0xC908, 0xC909, 0xC90A, 0xC90B, 0xC90E, 0x3000, 0x3001, 
+    0x3002, 0x00B7, 0x2025, 0x2026, 0x00A8, 0x3003, 0x00AD, 0x2015, 0x2225, 
+    0xFF3C, 0x223C, 0x2018, 0x2019, 0x201C, 0x201D, 0x3014, 0x3015, 0x3008, 
+    0x3009, 0x300A, 0x300B, 0x300C, 0x300D, 0x300E, 0x300F, 0x3010, 0x3011, 
+    0x00B1, 0x00D7, 0x00F7, 0x2260, 0x2264, 0x2265, 0x221E, 0x2234, 0x00B0, 
+    0x2032, 0x2033, 0x2103, 0x212B, 0xFFE0, 0xFFE1, 0xFFE5, 0x2642, 0x2640, 
+    0x2220, 0x22A5, 0x2312, 0x2202, 0x2207, 0x2261, 0x2252, 0x00A7, 0x203B, 
+    0x2606, 0x2605, 0x25CB, 0x25CF, 0x25CE, 0x25C7, 0x25C6, 0x25A1, 0x25A0, 
+    0x25B3, 0x25B2, 0x25BD, 0x25BC, 0x2192, 0x2190, 0x2191, 0x2193, 0x2194, 
+    0x3013, 0x226A, 0x226B, 0x221A, 0x223D, 0x221D, 0x2235, 0x222B, 0x222C, 
+    0x2208, 0x220B, 0x2286, 0x2287, 0x2282, 0x2283, 0x222A, 0x2229, 0x2227, 
+    0x2228, 0xFFE2,  ERROR},
+    { ERROR, 0xC910, 0xC912, 0xC913, 0xC914, 0xC915, 0xC916, 0xC917, 0xC919, 
+    0xC91A, 0xC91B, 0xC91C, 0xC91D, 0xC91E, 0xC91F, 0xC920, 0xC921, 0xC922, 
+    0xC923, 0xC924, 0xC925, 0xC926, 0xC927, 0xC928, 0xC929, 0xC92A, 0xC92B, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 0xC92D, 0xC92E, 0xC92F, 
+    0xC930, 0xC931, 0xC932, 0xC933, 0xC935, 0xC936, 0xC937, 0xC938, 0xC939, 
+    0xC93A, 0xC93B, 0xC93C, 0xC93D, 0xC93E, 0xC93F, 0xC940, 0xC941, 0xC942, 
+    0xC943, 0xC944, 0xC945, 0xC946, 0xC947,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR, 0xC948, 0xC949, 0xC94A, 0xC94B, 0xC94C, 0xC94D, 0xC94E, 
+    0xC94F, 0xC952, 0xC953, 0xC955, 0xC956, 0xC957, 0xC959, 0xC95A, 0xC95B, 
+    0xC95C, 0xC95D, 0xC95E, 0xC95F, 0xC962, 0xC964, 0xC965, 0xC966, 0xC967, 
+    0xC968, 0xC969, 0xC96A, 0xC96B, 0xC96D, 0xC96E, 0xC96F, 0x21D2, 0x21D4, 
+    0x2200, 0x2203, 0x00B4, 0xFF5E, 0x02C7, 0x02D8, 0x02DD, 0x02DA, 0x02D9, 
+    0x00B8, 0x02DB, 0x00A1, 0x00BF, 0x02D0, 0x222E, 0x2211, 0x220F, 0x00A4, 
+    0x2109, 0x2030, 0x25C1, 0x25C0, 0x25B7, 0x25B6, 0x2664, 0x2660, 0x2661, 
+    0x2665, 0x2667, 0x2663, 0x2299, 0x25C8, 0x25A3, 0x25D0, 0x25D1, 0x2592, 
+    0x25A4, 0x25A5, 0x25A8, 0x25A7, 0x25A6, 0x25A9, 0x2668, 0x260F, 0x260E, 
+    0x261C, 0x261E, 0x00B6, 0x2020, 0x2021, 0x2195, 0x2197, 0x2199, 0x2196, 
+    0x2198, 0x266D, 0x2669, 0x266A, 0x266C, 0x327F, 0x321C, 0x2116, 0x33C7, 
+    0x2122, 0x33C2, 0x33D8, 0x2121, 0x20AC, 0x00AE,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR},
+    { ERROR, 0xC971, 0xC972, 0xC973, 0xC975, 0xC976, 0xC977, 0xC978, 0xC979, 
+    0xC97A, 0xC97B, 0xC97D, 0xC97E, 0xC97F, 0xC980, 0xC981, 0xC982, 0xC983, 
+    0xC984, 0xC985, 0xC986, 0xC987, 0xC98A, 0xC98B, 0xC98D, 0xC98E, 0xC98F, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 0xC991, 0xC992, 0xC993, 
+    0xC994, 0xC995, 0xC996, 0xC997, 0xC99A, 0xC99C, 0xC99E, 0xC99F, 0xC9A0, 
+    0xC9A1, 0xC9A2, 0xC9A3, 0xC9A4, 0xC9A5, 0xC9A6, 0xC9A7, 0xC9A8, 0xC9A9, 
+    0xC9AA, 0xC9AB, 0xC9AC, 0xC9AD, 0xC9AE,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR, 0xC9AF, 0xC9B0, 0xC9B1, 0xC9B2, 0xC9B3, 0xC9B4, 0xC9B5, 
+    0xC9B6, 0xC9B7, 0xC9B8, 0xC9B9, 0xC9BA, 0xC9BB, 0xC9BC, 0xC9BD, 0xC9BE, 
+    0xC9BF, 0xC9C2, 0xC9C3, 0xC9C5, 0xC9C6, 0xC9C9, 0xC9CB, 0xC9CC, 0xC9CD, 
+    0xC9CE, 0xC9CF, 0xC9D2, 0xC9D4, 0xC9D7, 0xC9D8, 0xC9DB, 0xFF01, 0xFF02, 
+    0xFF03, 0xFF04, 0xFF05, 0xFF06, 0xFF07, 0xFF08, 0xFF09, 0xFF0A, 0xFF0B, 
+    0xFF0C, 0xFF0D, 0xFF0E, 0xFF0F, 0xFF10, 0xFF11, 0xFF12, 0xFF13, 0xFF14, 
+    0xFF15, 0xFF16, 0xFF17, 0xFF18, 0xFF19, 0xFF1A, 0xFF1B, 0xFF1C, 0xFF1D, 
+    0xFF1E, 0xFF1F, 0xFF20, 0xFF21, 0xFF22, 0xFF23, 0xFF24, 0xFF25, 0xFF26, 
+    0xFF27, 0xFF28, 0xFF29, 0xFF2A, 0xFF2B, 0xFF2C, 0xFF2D, 0xFF2E, 0xFF2F, 
+    0xFF30, 0xFF31, 0xFF32, 0xFF33, 0xFF34, 0xFF35, 0xFF36, 0xFF37, 0xFF38, 
+    0xFF39, 0xFF3A, 0xFF3B, 0xFFE6, 0xFF3D, 0xFF3E, 0xFF3F, 0xFF40, 0xFF41, 
+    0xFF42, 0xFF43, 0xFF44, 0xFF45, 0xFF46, 0xFF47, 0xFF48, 0xFF49, 0xFF4A, 
+    0xFF4B, 0xFF4C, 0xFF4D, 0xFF4E, 0xFF4F, 0xFF50, 0xFF51, 0xFF52, 0xFF53, 
+    0xFF54, 0xFF55, 0xFF56, 0xFF57, 0xFF58, 0xFF59, 0xFF5A, 0xFF5B, 0xFF5C, 
+    0xFF5D, 0xFFE3,  ERROR},
+    { ERROR, 0xC9DE, 0xC9DF, 0xC9E1, 0xC9E3, 0xC9E5, 0xC9E6, 0xC9E8, 0xC9E9, 
+    0xC9EA, 0xC9EB, 0xC9EE, 0xC9F2, 0xC9F3, 0xC9F4, 0xC9F5, 0xC9F6, 0xC9F7, 
+    0xC9FA, 0xC9FB, 0xC9FD, 0xC9FE, 0xC9FF, 0xCA01, 0xCA02, 0xCA03, 0xCA04, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 0xCA05, 0xCA06, 0xCA07, 
+    0xCA0A, 0xCA0E, 0xCA0F, 0xCA10, 0xCA11, 0xCA12, 0xCA13, 0xCA15, 0xCA16, 
+    0xCA17, 0xCA19, 0xCA1A, 0xCA1B, 0xCA1C, 0xCA1D, 0xCA1E, 0xCA1F, 0xCA20, 
+    0xCA21, 0xCA22, 0xCA23, 0xCA24, 0xCA25,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR, 0xCA26, 0xCA27, 0xCA28, 0xCA2A, 0xCA2B, 0xCA2C, 0xCA2D, 
+    0xCA2E, 0xCA2F, 0xCA30, 0xCA31, 0xCA32, 0xCA33, 0xCA34, 0xCA35, 0xCA36, 
+    0xCA37, 0xCA38, 0xCA39, 0xCA3A, 0xCA3B, 0xCA3C, 0xCA3D, 0xCA3E, 0xCA3F, 
+    0xCA40, 0xCA41, 0xCA42, 0xCA43, 0xCA44, 0xCA45, 0xCA46, 0x3131, 0x3132, 
+    0x3133, 0x3134, 0x3135, 0x3136, 0x3137, 0x3138, 0x3139, 0x313A, 0x313B, 
+    0x313C, 0x313D, 0x313E, 0x313F, 0x3140, 0x3141, 0x3142, 0x3143, 0x3144, 
+    0x3145, 0x3146, 0x3147, 0x3148, 0x3149, 0x314A, 0x314B, 0x314C, 0x314D, 
+    0x314E, 0x314F, 0x3150, 0x3151, 0x3152, 0x3153, 0x3154, 0x3155, 0x3156, 
+    0x3157, 0x3158, 0x3159, 0x315A, 0x315B, 0x315C, 0x315D, 0x315E, 0x315F, 
+    0x3160, 0x3161, 0x3162, 0x3163, 0x3164, 0x3165, 0x3166, 0x3167, 0x3168, 
+    0x3169, 0x316A, 0x316B, 0x316C, 0x316D, 0x316E, 0x316F, 0x3170, 0x3171, 
+    0x3172, 0x3173, 0x3174, 0x3175, 0x3176, 0x3177, 0x3178, 0x3179, 0x317A, 
+    0x317B, 0x317C, 0x317D, 0x317E, 0x317F, 0x3180, 0x3181, 0x3182, 0x3183, 
+    0x3184, 0x3185, 0x3186, 0x3187, 0x3188, 0x3189, 0x318A, 0x318B, 0x318C, 
+    0x318D, 0x318E,  ERROR},
+    { ERROR, 0xCA47, 0xCA48, 0xCA49, 0xCA4A, 0xCA4B, 0xCA4E, 0xCA4F, 0xCA51, 
+    0xCA52, 0xCA53, 0xCA55, 0xCA56, 0xCA57, 0xCA58, 0xCA59, 0xCA5A, 0xCA5B, 
+    0xCA5E, 0xCA62, 0xCA63, 0xCA64, 0xCA65, 0xCA66, 0xCA67, 0xCA69, 0xCA6A, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 0xCA6B, 0xCA6C, 0xCA6D, 
+    0xCA6E, 0xCA6F, 0xCA70, 0xCA71, 0xCA72, 0xCA73, 0xCA74, 0xCA75, 0xCA76, 
+    0xCA77, 0xCA78, 0xCA79, 0xCA7A, 0xCA7B, 0xCA7C, 0xCA7E, 0xCA7F, 0xCA80, 
+    0xCA81, 0xCA82, 0xCA83, 0xCA85, 0xCA86,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR, 0xCA87, 0xCA88, 0xCA89, 0xCA8A, 0xCA8B, 0xCA8C, 0xCA8D, 
+    0xCA8E, 0xCA8F, 0xCA90, 0xCA91, 0xCA92, 0xCA93, 0xCA94, 0xCA95, 0xCA96, 
+    0xCA97, 0xCA99, 0xCA9A, 0xCA9B, 0xCA9C, 0xCA9D, 0xCA9E, 0xCA9F, 0xCAA0, 
+    0xCAA1, 0xCAA2, 0xCAA3, 0xCAA4, 0xCAA5, 0xCAA6, 0xCAA7, 0x2170, 0x2171, 
+    0x2172, 0x2173, 0x2174, 0x2175, 0x2176, 0x2177, 0x2178, 0x2179,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR, 0x2160, 0x2161, 0x2162, 0x2163, 0x2164, 
+    0x2165, 0x2166, 0x2167, 0x2168, 0x2169,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR, 0x0391, 0x0392, 0x0393, 0x0394, 0x0395, 0x0396, 
+    0x0397, 0x0398, 0x0399, 0x039A, 0x039B, 0x039C, 0x039D, 0x039E, 0x039F, 
+    0x03A0, 0x03A1, 0x03A3, 0x03A4, 0x03A5, 0x03A6, 0x03A7, 0x03A8, 0x03A9, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 0x03B1, 
+    0x03B2, 0x03B3, 0x03B4, 0x03B5, 0x03B6, 0x03B7, 0x03B8, 0x03B9, 0x03BA, 
+    0x03BB, 0x03BC, 0x03BD, 0x03BE, 0x03BF, 0x03C0, 0x03C1, 0x03C3, 0x03C4, 
+    0x03C5, 0x03C6, 0x03C7, 0x03C8, 0x03C9,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR},
+    { ERROR, 0xCAA8, 0xCAA9, 0xCAAA, 0xCAAB, 0xCAAC, 0xCAAD, 0xCAAE, 0xCAAF, 
+    0xCAB0, 0xCAB1, 0xCAB2, 0xCAB3, 0xCAB4, 0xCAB5, 0xCAB6, 0xCAB7, 0xCAB8, 
+    0xCAB9, 0xCABA, 0xCABB, 0xCABE, 0xCABF, 0xCAC1, 0xCAC2, 0xCAC3, 0xCAC5, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 0xCAC6, 0xCAC7, 0xCAC8, 
+    0xCAC9, 0xCACA, 0xCACB, 0xCACE, 0xCAD0, 0xCAD2, 0xCAD4, 0xCAD5, 0xCAD6, 
+    0xCAD7, 0xCADA, 0xCADB, 0xCADC, 0xCADD, 0xCADE, 0xCADF, 0xCAE1, 0xCAE2, 
+    0xCAE3, 0xCAE4, 0xCAE5, 0xCAE6, 0xCAE7,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR, 0xCAE8, 0xCAE9, 0xCAEA, 0xCAEB, 0xCAED, 0xCAEE, 0xCAEF, 
+    0xCAF0, 0xCAF1, 0xCAF2, 0xCAF3, 0xCAF5, 0xCAF6, 0xCAF7, 0xCAF8, 0xCAF9, 
+    0xCAFA, 0xCAFB, 0xCAFC, 0xCAFD, 0xCAFE, 0xCAFF, 0xCB00, 0xCB01, 0xCB02, 
+    0xCB03, 0xCB04, 0xCB05, 0xCB06, 0xCB07, 0xCB09, 0xCB0A, 0x2500, 0x2502, 
+    0x250C, 0x2510, 0x2518, 0x2514, 0x251C, 0x252C, 0x2524, 0x2534, 0x253C, 
+    0x2501, 0x2503, 0x250F, 0x2513, 0x251B, 0x2517, 0x2523, 0x2533, 0x252B, 
+    0x253B, 0x254B, 0x2520, 0x252F, 0x2528, 0x2537, 0x253F, 0x251D, 0x2530, 
+    0x2525, 0x2538, 0x2542, 0x2512, 0x2511, 0x251A, 0x2519, 0x2516, 0x2515, 
+    0x250E, 0x250D, 0x251E, 0x251F, 0x2521, 0x2522, 0x2526, 0x2527, 0x2529, 
+    0x252A, 0x252D, 0x252E, 0x2531, 0x2532, 0x2535, 0x2536, 0x2539, 0x253A, 
+    0x253D, 0x253E, 0x2540, 0x2541, 0x2543, 0x2544, 0x2545, 0x2546, 0x2547, 
+    0x2548, 0x2549, 0x254A,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR},
+    { ERROR, 0xCB0B, 0xCB0C, 0xCB0D, 0xCB0E, 0xCB0F, 0xCB11, 0xCB12, 0xCB13, 
+    0xCB15, 0xCB16, 0xCB17, 0xCB19, 0xCB1A, 0xCB1B, 0xCB1C, 0xCB1D, 0xCB1E, 
+    0xCB1F, 0xCB22, 0xCB23, 0xCB24, 0xCB25, 0xCB26, 0xCB27, 0xCB28, 0xCB29, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 0xCB2A, 0xCB2B, 0xCB2C, 
+    0xCB2D, 0xCB2E, 0xCB2F, 0xCB30, 0xCB31, 0xCB32, 0xCB33, 0xCB34, 0xCB35, 
+    0xCB36, 0xCB37, 0xCB38, 0xCB39, 0xCB3A, 0xCB3B, 0xCB3C, 0xCB3D, 0xCB3E, 
+    0xCB3F, 0xCB40, 0xCB42, 0xCB43, 0xCB44,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR, 0xCB45, 0xCB46, 0xCB47, 0xCB4A, 0xCB4B, 0xCB4D, 0xCB4E, 
+    0xCB4F, 0xCB51, 0xCB52, 0xCB53, 0xCB54, 0xCB55, 0xCB56, 0xCB57, 0xCB5A, 
+    0xCB5B, 0xCB5C, 0xCB5E, 0xCB5F, 0xCB60, 0xCB61, 0xCB62, 0xCB63, 0xCB65, 
+    0xCB66, 0xCB67, 0xCB68, 0xCB69, 0xCB6A, 0xCB6B, 0xCB6C, 0x3395, 0x3396, 
+    0x3397, 0x2113, 0x3398, 0x33C4, 0x33A3, 0x33A4, 0x33A5, 0x33A6, 0x3399, 
+    0x339A, 0x339B, 0x339C, 0x339D, 0x339E, 0x339F, 0x33A0, 0x33A1, 0x33A2, 
+    0x33CA, 0x338D, 0x338E, 0x338F, 0x33CF, 0x3388, 0x3389, 0x33C8, 0x33A7, 
+    0x33A8, 0x33B0, 0x33B1, 0x33B2, 0x33B3, 0x33B4, 0x33B5, 0x33B6, 0x33B7, 
+    0x33B8, 0x33B9, 0x3380, 0x3381, 0x3382, 0x3383, 0x3384, 0x33BA, 0x33BB, 
+    0x33BC, 0x33BD, 0x33BE, 0x33BF, 0x3390, 0x3391, 0x3392, 0x3393, 0x3394, 
+    0x2126, 0x33C0, 0x33C1, 0x338A, 0x338B, 0x338C, 0x33D6, 0x33C5, 0x33AD, 
+    0x33AE, 0x33AF, 0x33DB, 0x33A9, 0x33AA, 0x33AB, 0x33AC, 0x33DD, 0x33D0, 
+    0x33D3, 0x33C3, 0x33C9, 0x33DC, 0x33C6,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR},
+    { ERROR, 0xCB6D, 0xCB6E, 0xCB6F, 0xCB70, 0xCB71, 0xCB72, 0xCB73, 0xCB74, 
+    0xCB75, 0xCB76, 0xCB77, 0xCB7A, 0xCB7B, 0xCB7C, 0xCB7D, 0xCB7E, 0xCB7F, 
+    0xCB80, 0xCB81, 0xCB82, 0xCB83, 0xCB84, 0xCB85, 0xCB86, 0xCB87, 0xCB88, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 0xCB89, 0xCB8A, 0xCB8B, 
+    0xCB8C, 0xCB8D, 0xCB8E, 0xCB8F, 0xCB90, 0xCB91, 0xCB92, 0xCB93, 0xCB94, 
+    0xCB95, 0xCB96, 0xCB97, 0xCB98, 0xCB99, 0xCB9A, 0xCB9B, 0xCB9D, 0xCB9E, 
+    0xCB9F, 0xCBA0, 0xCBA1, 0xCBA2, 0xCBA3,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR, 0xCBA4, 0xCBA5, 0xCBA6, 0xCBA7, 0xCBA8, 0xCBA9, 0xCBAA, 
+    0xCBAB, 0xCBAC, 0xCBAD, 0xCBAE, 0xCBAF, 0xCBB0, 0xCBB1, 0xCBB2, 0xCBB3, 
+    0xCBB4, 0xCBB5, 0xCBB6, 0xCBB7, 0xCBB9, 0xCBBA, 0xCBBB, 0xCBBC, 0xCBBD, 
+    0xCBBE, 0xCBBF, 0xCBC0, 0xCBC1, 0xCBC2, 0xCBC3, 0xCBC4, 0x00C6, 0x00D0, 
+    0x00AA, 0x0126,  ERROR, 0x0132,  ERROR, 0x013F, 0x0141, 0x00D8, 0x0152, 
+    0x00BA, 0x00DE, 0x0166, 0x014A,  ERROR, 0x3260, 0x3261, 0x3262, 0x3263, 
+    0x3264, 0x3265, 0x3266, 0x3267, 0x3268, 0x3269, 0x326A, 0x326B, 0x326C, 
+    0x326D, 0x326E, 0x326F, 0x3270, 0x3271, 0x3272, 0x3273, 0x3274, 0x3275, 
+    0x3276, 0x3277, 0x3278, 0x3279, 0x327A, 0x327B, 0x24D0, 0x24D1, 0x24D2, 
+    0x24D3, 0x24D4, 0x24D5, 0x24D6, 0x24D7, 0x24D8, 0x24D9, 0x24DA, 0x24DB, 
+    0x24DC, 0x24DD, 0x24DE, 0x24DF, 0x24E0, 0x24E1, 0x24E2, 0x24E3, 0x24E4, 
+    0x24E5, 0x24E6, 0x24E7, 0x24E8, 0x24E9, 0x2460, 0x2461, 0x2462, 0x2463, 
+    0x2464, 0x2465, 0x2466, 0x2467, 0x2468, 0x2469, 0x246A, 0x246B, 0x246C, 
+    0x246D, 0x246E, 0x00BD, 0x2153, 0x2154, 0x00BC, 0x00BE, 0x215B, 0x215C, 
+    0x215D, 0x215E,  ERROR},
+    { ERROR, 0xCBC5, 0xCBC6, 0xCBC7, 0xCBC8, 0xCBC9, 0xCBCA, 0xCBCB, 0xCBCC, 
+    0xCBCD, 0xCBCE, 0xCBCF, 0xCBD0, 0xCBD1, 0xCBD2, 0xCBD3, 0xCBD5, 0xCBD6, 
+    0xCBD7, 0xCBD8, 0xCBD9, 0xCBDA, 0xCBDB, 0xCBDC, 0xCBDD, 0xCBDE, 0xCBDF, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 0xCBE0, 0xCBE1, 0xCBE2, 
+    0xCBE3, 0xCBE5, 0xCBE6, 0xCBE8, 0xCBEA, 0xCBEB, 0xCBEC, 0xCBED, 0xCBEE, 
+    0xCBEF, 0xCBF0, 0xCBF1, 0xCBF2, 0xCBF3, 0xCBF4, 0xCBF5, 0xCBF6, 0xCBF7, 
+    0xCBF8, 0xCBF9, 0xCBFA, 0xCBFB, 0xCBFC,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR, 0xCBFD, 0xCBFE, 0xCBFF, 0xCC00, 0xCC01, 0xCC02, 0xCC03, 
+    0xCC04, 0xCC05, 0xCC06, 0xCC07, 0xCC08, 0xCC09, 0xCC0A, 0xCC0B, 0xCC0E, 
+    0xCC0F, 0xCC11, 0xCC12, 0xCC13, 0xCC15, 0xCC16, 0xCC17, 0xCC18, 0xCC19, 
+    0xCC1A, 0xCC1B, 0xCC1E, 0xCC1F, 0xCC20, 0xCC23, 0xCC24, 0x00E6, 0x0111, 
+    0x00F0, 0x0127, 0x0131, 0x0133, 0x0138, 0x0140, 0x0142, 0x00F8, 0x0153, 
+    0x00DF, 0x00FE, 0x0167, 0x014B, 0x0149, 0x3200, 0x3201, 0x3202, 0x3203, 
+    0x3204, 0x3205, 0x3206, 0x3207, 0x3208, 0x3209, 0x320A, 0x320B, 0x320C, 
+    0x320D, 0x320E, 0x320F, 0x3210, 0x3211, 0x3212, 0x3213, 0x3214, 0x3215, 
+    0x3216, 0x3217, 0x3218, 0x3219, 0x321A, 0x321B, 0x249C, 0x249D, 0x249E, 
+    0x249F, 0x24A0, 0x24A1, 0x24A2, 0x24A3, 0x24A4, 0x24A5, 0x24A6, 0x24A7, 
+    0x24A8, 0x24A9, 0x24AA, 0x24AB, 0x24AC, 0x24AD, 0x24AE, 0x24AF, 0x24B0, 
+    0x24B1, 0x24B2, 0x24B3, 0x24B4, 0x24B5, 0x2474, 0x2475, 0x2476, 0x2477, 
+    0x2478, 0x2479, 0x247A, 0x247B, 0x247C, 0x247D, 0x247E, 0x247F, 0x2480, 
+    0x2481, 0x2482, 0x00B9, 0x00B2, 0x00B3, 0x2074, 0x207F, 0x2081, 0x2082, 
+    0x2083, 0x2084,  ERROR},
+    { ERROR, 0xCC25, 0xCC26, 0xCC2A, 0xCC2B, 0xCC2D, 0xCC2F, 0xCC31, 0xCC32, 
+    0xCC33, 0xCC34, 0xCC35, 0xCC36, 0xCC37, 0xCC3A, 0xCC3F, 0xCC40, 0xCC41, 
+    0xCC42, 0xCC43, 0xCC46, 0xCC47, 0xCC49, 0xCC4A, 0xCC4B, 0xCC4D, 0xCC4E, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 0xCC4F, 0xCC50, 0xCC51, 
+    0xCC52, 0xCC53, 0xCC56, 0xCC5A, 0xCC5B, 0xCC5C, 0xCC5D, 0xCC5E, 0xCC5F, 
+    0xCC61, 0xCC62, 0xCC63, 0xCC65, 0xCC67, 0xCC69, 0xCC6A, 0xCC6B, 0xCC6C, 
+    0xCC6D, 0xCC6E, 0xCC6F, 0xCC71, 0xCC72,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR, 0xCC73, 0xCC74, 0xCC76, 0xCC77, 0xCC78, 0xCC79, 0xCC7A, 
+    0xCC7B, 0xCC7C, 0xCC7D, 0xCC7E, 0xCC7F, 0xCC80, 0xCC81, 0xCC82, 0xCC83, 
+    0xCC84, 0xCC85, 0xCC86, 0xCC87, 0xCC88, 0xCC89, 0xCC8A, 0xCC8B, 0xCC8C, 
+    0xCC8D, 0xCC8E, 0xCC8F, 0xCC90, 0xCC91, 0xCC92, 0xCC93, 0x3041, 0x3042, 
+    0x3043, 0x3044, 0x3045, 0x3046, 0x3047, 0x3048, 0x3049, 0x304A, 0x304B, 
+    0x304C, 0x304D, 0x304E, 0x304F, 0x3050, 0x3051, 0x3052, 0x3053, 0x3054, 
+    0x3055, 0x3056, 0x3057, 0x3058, 0x3059, 0x305A, 0x305B, 0x305C, 0x305D, 
+    0x305E, 0x305F, 0x3060, 0x3061, 0x3062, 0x3063, 0x3064, 0x3065, 0x3066, 
+    0x3067, 0x3068, 0x3069, 0x306A, 0x306B, 0x306C, 0x306D, 0x306E, 0x306F, 
+    0x3070, 0x3071, 0x3072, 0x3073, 0x3074, 0x3075, 0x3076, 0x3077, 0x3078, 
+    0x3079, 0x307A, 0x307B, 0x307C, 0x307D, 0x307E, 0x307F, 0x3080, 0x3081, 
+    0x3082, 0x3083, 0x3084, 0x3085, 0x3086, 0x3087, 0x3088, 0x3089, 0x308A, 
+    0x308B, 0x308C, 0x308D, 0x308E, 0x308F, 0x3090, 0x3091, 0x3092, 0x3093, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR},
+    { ERROR, 0xCC94, 0xCC95, 0xCC96, 0xCC97, 0xCC9A, 0xCC9B, 0xCC9D, 0xCC9E, 
+    0xCC9F, 0xCCA1, 0xCCA2, 0xCCA3, 0xCCA4, 0xCCA5, 0xCCA6, 0xCCA7, 0xCCAA, 
+    0xCCAE, 0xCCAF, 0xCCB0, 0xCCB1, 0xCCB2, 0xCCB3, 0xCCB6, 0xCCB7, 0xCCB9, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 0xCCBA, 0xCCBB, 0xCCBD, 
+    0xCCBE, 0xCCBF, 0xCCC0, 0xCCC1, 0xCCC2, 0xCCC3, 0xCCC6, 0xCCC8, 0xCCCA, 
+    0xCCCB, 0xCCCC, 0xCCCD, 0xCCCE, 0xCCCF, 0xCCD1, 0xCCD2, 0xCCD3, 0xCCD5, 
+    0xCCD6, 0xCCD7, 0xCCD8, 0xCCD9, 0xCCDA,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR, 0xCCDB, 0xCCDC, 0xCCDD, 0xCCDE, 0xCCDF, 0xCCE0, 0xCCE1, 
+    0xCCE2, 0xCCE3, 0xCCE5, 0xCCE6, 0xCCE7, 0xCCE8, 0xCCE9, 0xCCEA, 0xCCEB, 
+    0xCCED, 0xCCEE, 0xCCEF, 0xCCF1, 0xCCF2, 0xCCF3, 0xCCF4, 0xCCF5, 0xCCF6, 
+    0xCCF7, 0xCCF8, 0xCCF9, 0xCCFA, 0xCCFB, 0xCCFC, 0xCCFD, 0x30A1, 0x30A2, 
+    0x30A3, 0x30A4, 0x30A5, 0x30A6, 0x30A7, 0x30A8, 0x30A9, 0x30AA, 0x30AB, 
+    0x30AC, 0x30AD, 0x30AE, 0x30AF, 0x30B0, 0x30B1, 0x30B2, 0x30B3, 0x30B4, 
+    0x30B5, 0x30B6, 0x30B7, 0x30B8, 0x30B9, 0x30BA, 0x30BB, 0x30BC, 0x30BD, 
+    0x30BE, 0x30BF, 0x30C0, 0x30C1, 0x30C2, 0x30C3, 0x30C4, 0x30C5, 0x30C6, 
+    0x30C7, 0x30C8, 0x30C9, 0x30CA, 0x30CB, 0x30CC, 0x30CD, 0x30CE, 0x30CF, 
+    0x30D0, 0x30D1, 0x30D2, 0x30D3, 0x30D4, 0x30D5, 0x30D6, 0x30D7, 0x30D8, 
+    0x30D9, 0x30DA, 0x30DB, 0x30DC, 0x30DD, 0x30DE, 0x30DF, 0x30E0, 0x30E1, 
+    0x30E2, 0x30E3, 0x30E4, 0x30E5, 0x30E6, 0x30E7, 0x30E8, 0x30E9, 0x30EA, 
+    0x30EB, 0x30EC, 0x30ED, 0x30EE, 0x30EF, 0x30F0, 0x30F1, 0x30F2, 0x30F3, 
+    0x30F4, 0x30F5, 0x30F6,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR},
+    { ERROR, 0xCCFE, 0xCCFF, 0xCD00, 0xCD02, 0xCD03, 0xCD04, 0xCD05, 0xCD06, 
+    0xCD07, 0xCD0A, 0xCD0B, 0xCD0D, 0xCD0E, 0xCD0F, 0xCD11, 0xCD12, 0xCD13, 
+    0xCD14, 0xCD15, 0xCD16, 0xCD17, 0xCD1A, 0xCD1C, 0xCD1E, 0xCD1F, 0xCD20, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 0xCD21, 0xCD22, 0xCD23, 
+    0xCD25, 0xCD26, 0xCD27, 0xCD29, 0xCD2A, 0xCD2B, 0xCD2D, 0xCD2E, 0xCD2F, 
+    0xCD30, 0xCD31, 0xCD32, 0xCD33, 0xCD34, 0xCD35, 0xCD36, 0xCD37, 0xCD38, 
+    0xCD3A, 0xCD3B, 0xCD3C, 0xCD3D, 0xCD3E,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR, 0xCD3F, 0xCD40, 0xCD41, 0xCD42, 0xCD43, 0xCD44, 0xCD45, 
+    0xCD46, 0xCD47, 0xCD48, 0xCD49, 0xCD4A, 0xCD4B, 0xCD4C, 0xCD4D, 0xCD4E, 
+    0xCD4F, 0xCD50, 0xCD51, 0xCD52, 0xCD53, 0xCD54, 0xCD55, 0xCD56, 0xCD57, 
+    0xCD58, 0xCD59, 0xCD5A, 0xCD5B, 0xCD5D, 0xCD5E, 0xCD5F, 0x0410, 0x0411, 
+    0x0412, 0x0413, 0x0414, 0x0415, 0x0401, 0x0416, 0x0417, 0x0418, 0x0419, 
+    0x041A, 0x041B, 0x041C, 0x041D, 0x041E, 0x041F, 0x0420, 0x0421, 0x0422, 
+    0x0423, 0x0424, 0x0425, 0x0426, 0x0427, 0x0428, 0x0429, 0x042A, 0x042B, 
+    0x042C, 0x042D, 0x042E, 0x042F,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR, 0x0430, 0x0431, 0x0432, 0x0433, 0x0434, 0x0435, 0x0451, 0x0436, 
+    0x0437, 0x0438, 0x0439, 0x043A, 0x043B, 0x043C, 0x043D, 0x043E, 0x043F, 
+    0x0440, 0x0441, 0x0442, 0x0443, 0x0444, 0x0445, 0x0446, 0x0447, 0x0448, 
+    0x0449, 0x044A, 0x044B, 0x044C, 0x044D, 0x044E, 0x044F,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR},
+    { ERROR, 0xCD61, 0xCD62, 0xCD63, 0xCD65, 0xCD66, 0xCD67, 0xCD68, 0xCD69, 
+    0xCD6A, 0xCD6B, 0xCD6E, 0xCD70, 0xCD72, 0xCD73, 0xCD74, 0xCD75, 0xCD76, 
+    0xCD77, 0xCD79, 0xCD7A, 0xCD7B, 0xCD7C, 0xCD7D, 0xCD7E, 0xCD7F, 0xCD80, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 0xCD81, 0xCD82, 0xCD83, 
+    0xCD84, 0xCD85, 0xCD86, 0xCD87, 0xCD89, 0xCD8A, 0xCD8B, 0xCD8C, 0xCD8D, 
+    0xCD8E, 0xCD8F, 0xCD90, 0xCD91, 0xCD92, 0xCD93, 0xCD96, 0xCD97, 0xCD99, 
+    0xCD9A, 0xCD9B, 0xCD9D, 0xCD9E, 0xCD9F,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR, 0xCDA0, 0xCDA1, 0xCDA2, 0xCDA3, 0xCDA6, 0xCDA8, 0xCDAA, 
+    0xCDAB, 0xCDAC, 0xCDAD, 0xCDAE, 0xCDAF, 0xCDB1, 0xCDB2, 0xCDB3, 0xCDB4, 
+    0xCDB5, 0xCDB6, 0xCDB7, 0xCDB8, 0xCDB9, 0xCDBA, 0xCDBB, 0xCDBC, 0xCDBD, 
+    0xCDBE, 0xCDBF, 0xCDC0, 0xCDC1, 0xCDC2, 0xCDC3, 0xCDC5,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR},
+    { ERROR, 0xCDC6, 0xCDC7, 0xCDC8, 0xCDC9, 0xCDCA, 0xCDCB, 0xCDCD, 0xCDCE, 
+    0xCDCF, 0xCDD1, 0xCDD2, 0xCDD3, 0xCDD4, 0xCDD5, 0xCDD6, 0xCDD7, 0xCDD8, 
+    0xCDD9, 0xCDDA, 0xCDDB, 0xCDDC, 0xCDDD, 0xCDDE, 0xCDDF, 0xCDE0, 0xCDE1, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 0xCDE2, 0xCDE3, 0xCDE4, 
+    0xCDE5, 0xCDE6, 0xCDE7, 0xCDE9, 0xCDEA, 0xCDEB, 0xCDED, 0xCDEE, 0xCDEF, 
+    0xCDF1, 0xCDF2, 0xCDF3, 0xCDF4, 0xCDF5, 0xCDF6, 0xCDF7, 0xCDFA, 0xCDFC, 
+    0xCDFE, 0xCDFF, 0xCE00, 0xCE01, 0xCE02,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR, 0xCE03, 0xCE05, 0xCE06, 0xCE07, 0xCE09, 0xCE0A, 0xCE0B, 
+    0xCE0D, 0xCE0E, 0xCE0F, 0xCE10, 0xCE11, 0xCE12, 0xCE13, 0xCE15, 0xCE16, 
+    0xCE17, 0xCE18, 0xCE1A, 0xCE1B, 0xCE1C, 0xCE1D, 0xCE1E, 0xCE1F, 0xCE22, 
+    0xCE23, 0xCE25, 0xCE26, 0xCE27, 0xCE29, 0xCE2A, 0xCE2B,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR},
+    { ERROR, 0xCE2C, 0xCE2D, 0xCE2E, 0xCE2F, 0xCE32, 0xCE34, 0xCE36, 0xCE37, 
+    0xCE38, 0xCE39, 0xCE3A, 0xCE3B, 0xCE3C, 0xCE3D, 0xCE3E, 0xCE3F, 0xCE40, 
+    0xCE41, 0xCE42, 0xCE43, 0xCE44, 0xCE45, 0xCE46, 0xCE47, 0xCE48, 0xCE49, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 0xCE4A, 0xCE4B, 0xCE4C, 
+    0xCE4D, 0xCE4E, 0xCE4F, 0xCE50, 0xCE51, 0xCE52, 0xCE53, 0xCE54, 0xCE55, 
+    0xCE56, 0xCE57, 0xCE5A, 0xCE5B, 0xCE5D, 0xCE5E, 0xCE62, 0xCE63, 0xCE64, 
+    0xCE65, 0xCE66, 0xCE67, 0xCE6A, 0xCE6C,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR, 0xCE6E, 0xCE6F, 0xCE70, 0xCE71, 0xCE72, 0xCE73, 0xCE76, 
+    0xCE77, 0xCE79, 0xCE7A, 0xCE7B, 0xCE7D, 0xCE7E, 0xCE7F, 0xCE80, 0xCE81, 
+    0xCE82, 0xCE83, 0xCE86, 0xCE88, 0xCE8A, 0xCE8B, 0xCE8C, 0xCE8D, 0xCE8E, 
+    0xCE8F, 0xCE92, 0xCE93, 0xCE95, 0xCE96, 0xCE97, 0xCE99,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR},
+    { ERROR, 0xCE9A, 0xCE9B, 0xCE9C, 0xCE9D, 0xCE9E, 0xCE9F, 0xCEA2, 0xCEA6, 
+    0xCEA7, 0xCEA8, 0xCEA9, 0xCEAA, 0xCEAB, 0xCEAE, 0xCEAF, 0xCEB0, 0xCEB1, 
+    0xCEB2, 0xCEB3, 0xCEB4, 0xCEB5, 0xCEB6, 0xCEB7, 0xCEB8, 0xCEB9, 0xCEBA, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 0xCEBB, 0xCEBC, 0xCEBD, 
+    0xCEBE, 0xCEBF, 0xCEC0, 0xCEC2, 0xCEC3, 0xCEC4, 0xCEC5, 0xCEC6, 0xCEC7, 
+    0xCEC8, 0xCEC9, 0xCECA, 0xCECB, 0xCECC, 0xCECD, 0xCECE, 0xCECF, 0xCED0, 
+    0xCED1, 0xCED2, 0xCED3, 0xCED4, 0xCED5,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR, 0xCED6, 0xCED7, 0xCED8, 0xCED9, 0xCEDA, 0xCEDB, 0xCEDC, 
+    0xCEDD, 0xCEDE, 0xCEDF, 0xCEE0, 0xCEE1, 0xCEE2, 0xCEE3, 0xCEE6, 0xCEE7, 
+    0xCEE9, 0xCEEA, 0xCEED, 0xCEEE, 0xCEEF, 0xCEF0, 0xCEF1, 0xCEF2, 0xCEF3, 
+    0xCEF6, 0xCEFA, 0xCEFB, 0xCEFC, 0xCEFD, 0xCEFE, 0xCEFF, 0xAC00, 0xAC01, 
+    0xAC04, 0xAC07, 0xAC08, 0xAC09, 0xAC0A, 0xAC10, 0xAC11, 0xAC12, 0xAC13, 
+    0xAC14, 0xAC15, 0xAC16, 0xAC17, 0xAC19, 0xAC1A, 0xAC1B, 0xAC1C, 0xAC1D, 
+    0xAC20, 0xAC24, 0xAC2C, 0xAC2D, 0xAC2F, 0xAC30, 0xAC31, 0xAC38, 0xAC39, 
+    0xAC3C, 0xAC40, 0xAC4B, 0xAC4D, 0xAC54, 0xAC58, 0xAC5C, 0xAC70, 0xAC71, 
+    0xAC74, 0xAC77, 0xAC78, 0xAC7A, 0xAC80, 0xAC81, 0xAC83, 0xAC84, 0xAC85, 
+    0xAC86, 0xAC89, 0xAC8A, 0xAC8B, 0xAC8C, 0xAC90, 0xAC94, 0xAC9C, 0xAC9D, 
+    0xAC9F, 0xACA0, 0xACA1, 0xACA8, 0xACA9, 0xACAA, 0xACAC, 0xACAF, 0xACB0, 
+    0xACB8, 0xACB9, 0xACBB, 0xACBC, 0xACBD, 0xACC1, 0xACC4, 0xACC8, 0xACCC, 
+    0xACD5, 0xACD7, 0xACE0, 0xACE1, 0xACE4, 0xACE7, 0xACE8, 0xACEA, 0xACEC, 
+    0xACEF, 0xACF0, 0xACF1, 0xACF3, 0xACF5, 0xACF6, 0xACFC, 0xACFD, 0xAD00, 
+    0xAD04, 0xAD06,  ERROR},
+    { ERROR, 0xCF02, 0xCF03, 0xCF05, 0xCF06, 0xCF07, 0xCF09, 0xCF0A, 0xCF0B, 
+    0xCF0C, 0xCF0D, 0xCF0E, 0xCF0F, 0xCF12, 0xCF14, 0xCF16, 0xCF17, 0xCF18, 
+    0xCF19, 0xCF1A, 0xCF1B, 0xCF1D, 0xCF1E, 0xCF1F, 0xCF21, 0xCF22, 0xCF23, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 0xCF25, 0xCF26, 0xCF27, 
+    0xCF28, 0xCF29, 0xCF2A, 0xCF2B, 0xCF2E, 0xCF32, 0xCF33, 0xCF34, 0xCF35, 
+    0xCF36, 0xCF37, 0xCF39, 0xCF3A, 0xCF3B, 0xCF3C, 0xCF3D, 0xCF3E, 0xCF3F, 
+    0xCF40, 0xCF41, 0xCF42, 0xCF43, 0xCF44,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR, 0xCF45, 0xCF46, 0xCF47, 0xCF48, 0xCF49, 0xCF4A, 0xCF4B, 
+    0xCF4C, 0xCF4D, 0xCF4E, 0xCF4F, 0xCF50, 0xCF51, 0xCF52, 0xCF53, 0xCF56, 
+    0xCF57, 0xCF59, 0xCF5A, 0xCF5B, 0xCF5D, 0xCF5E, 0xCF5F, 0xCF60, 0xCF61, 
+    0xCF62, 0xCF63, 0xCF66, 0xCF68, 0xCF6A, 0xCF6B, 0xCF6C, 0xAD0C, 0xAD0D, 
+    0xAD0F, 0xAD11, 0xAD18, 0xAD1C, 0xAD20, 0xAD29, 0xAD2C, 0xAD2D, 0xAD34, 
+    0xAD35, 0xAD38, 0xAD3C, 0xAD44, 0xAD45, 0xAD47, 0xAD49, 0xAD50, 0xAD54, 
+    0xAD58, 0xAD61, 0xAD63, 0xAD6C, 0xAD6D, 0xAD70, 0xAD73, 0xAD74, 0xAD75, 
+    0xAD76, 0xAD7B, 0xAD7C, 0xAD7D, 0xAD7F, 0xAD81, 0xAD82, 0xAD88, 0xAD89, 
+    0xAD8C, 0xAD90, 0xAD9C, 0xAD9D, 0xADA4, 0xADB7, 0xADC0, 0xADC1, 0xADC4, 
+    0xADC8, 0xADD0, 0xADD1, 0xADD3, 0xADDC, 0xADE0, 0xADE4, 0xADF8, 0xADF9, 
+    0xADFC, 0xADFF, 0xAE00, 0xAE01, 0xAE08, 0xAE09, 0xAE0B, 0xAE0D, 0xAE14, 
+    0xAE30, 0xAE31, 0xAE34, 0xAE37, 0xAE38, 0xAE3A, 0xAE40, 0xAE41, 0xAE43, 
+    0xAE45, 0xAE46, 0xAE4A, 0xAE4C, 0xAE4D, 0xAE4E, 0xAE50, 0xAE54, 0xAE56, 
+    0xAE5C, 0xAE5D, 0xAE5F, 0xAE60, 0xAE61, 0xAE65, 0xAE68, 0xAE69, 0xAE6C, 
+    0xAE70, 0xAE78,  ERROR},
+    { ERROR, 0xCF6D, 0xCF6E, 0xCF6F, 0xCF72, 0xCF73, 0xCF75, 0xCF76, 0xCF77, 
+    0xCF79, 0xCF7A, 0xCF7B, 0xCF7C, 0xCF7D, 0xCF7E, 0xCF7F, 0xCF81, 0xCF82, 
+    0xCF83, 0xCF84, 0xCF86, 0xCF87, 0xCF88, 0xCF89, 0xCF8A, 0xCF8B, 0xCF8D, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 0xCF8E, 0xCF8F, 0xCF90, 
+    0xCF91, 0xCF92, 0xCF93, 0xCF94, 0xCF95, 0xCF96, 0xCF97, 0xCF98, 0xCF99, 
+    0xCF9A, 0xCF9B, 0xCF9C, 0xCF9D, 0xCF9E, 0xCF9F, 0xCFA0, 0xCFA2, 0xCFA3, 
+    0xCFA4, 0xCFA5, 0xCFA6, 0xCFA7, 0xCFA9,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR, 0xCFAA, 0xCFAB, 0xCFAC, 0xCFAD, 0xCFAE, 0xCFAF, 0xCFB1, 
+    0xCFB2, 0xCFB3, 0xCFB4, 0xCFB5, 0xCFB6, 0xCFB7, 0xCFB8, 0xCFB9, 0xCFBA, 
+    0xCFBB, 0xCFBC, 0xCFBD, 0xCFBE, 0xCFBF, 0xCFC0, 0xCFC1, 0xCFC2, 0xCFC3, 
+    0xCFC5, 0xCFC6, 0xCFC7, 0xCFC8, 0xCFC9, 0xCFCA, 0xCFCB, 0xAE79, 0xAE7B, 
+    0xAE7C, 0xAE7D, 0xAE84, 0xAE85, 0xAE8C, 0xAEBC, 0xAEBD, 0xAEBE, 0xAEC0, 
+    0xAEC4, 0xAECC, 0xAECD, 0xAECF, 0xAED0, 0xAED1, 0xAED8, 0xAED9, 0xAEDC, 
+    0xAEE8, 0xAEEB, 0xAEED, 0xAEF4, 0xAEF8, 0xAEFC, 0xAF07, 0xAF08, 0xAF0D, 
+    0xAF10, 0xAF2C, 0xAF2D, 0xAF30, 0xAF32, 0xAF34, 0xAF3C, 0xAF3D, 0xAF3F, 
+    0xAF41, 0xAF42, 0xAF43, 0xAF48, 0xAF49, 0xAF50, 0xAF5C, 0xAF5D, 0xAF64, 
+    0xAF65, 0xAF79, 0xAF80, 0xAF84, 0xAF88, 0xAF90, 0xAF91, 0xAF95, 0xAF9C, 
+    0xAFB8, 0xAFB9, 0xAFBC, 0xAFC0, 0xAFC7, 0xAFC8, 0xAFC9, 0xAFCB, 0xAFCD, 
+    0xAFCE, 0xAFD4, 0xAFDC, 0xAFE8, 0xAFE9, 0xAFF0, 0xAFF1, 0xAFF4, 0xAFF8, 
+    0xB000, 0xB001, 0xB004, 0xB00C, 0xB010, 0xB014, 0xB01C, 0xB01D, 0xB028, 
+    0xB044, 0xB045, 0xB048, 0xB04A, 0xB04C, 0xB04E, 0xB053, 0xB054, 0xB055, 
+    0xB057, 0xB059,  ERROR},
+    { ERROR, 0xCFCC, 0xCFCD, 0xCFCE, 0xCFCF, 0xCFD0, 0xCFD1, 0xCFD2, 0xCFD3, 
+    0xCFD4, 0xCFD5, 0xCFD6, 0xCFD7, 0xCFD8, 0xCFD9, 0xCFDA, 0xCFDB, 0xCFDC, 
+    0xCFDD, 0xCFDE, 0xCFDF, 0xCFE2, 0xCFE3, 0xCFE5, 0xCFE6, 0xCFE7, 0xCFE9, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 0xCFEA, 0xCFEB, 0xCFEC, 
+    0xCFED, 0xCFEE, 0xCFEF, 0xCFF2, 0xCFF4, 0xCFF6, 0xCFF7, 0xCFF8, 0xCFF9, 
+    0xCFFA, 0xCFFB, 0xCFFD, 0xCFFE, 0xCFFF, 0xD001, 0xD002, 0xD003, 0xD005, 
+    0xD006, 0xD007, 0xD008, 0xD009, 0xD00A,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR, 0xD00B, 0xD00C, 0xD00D, 0xD00E, 0xD00F, 0xD010, 0xD012, 
+    0xD013, 0xD014, 0xD015, 0xD016, 0xD017, 0xD019, 0xD01A, 0xD01B, 0xD01C, 
+    0xD01D, 0xD01E, 0xD01F, 0xD020, 0xD021, 0xD022, 0xD023, 0xD024, 0xD025, 
+    0xD026, 0xD027, 0xD028, 0xD029, 0xD02A, 0xD02B, 0xD02C, 0xB05D, 0xB07C, 
+    0xB07D, 0xB080, 0xB084, 0xB08C, 0xB08D, 0xB08F, 0xB091, 0xB098, 0xB099, 
+    0xB09A, 0xB09C, 0xB09F, 0xB0A0, 0xB0A1, 0xB0A2, 0xB0A8, 0xB0A9, 0xB0AB, 
+    0xB0AC, 0xB0AD, 0xB0AE, 0xB0AF, 0xB0B1, 0xB0B3, 0xB0B4, 0xB0B5, 0xB0B8, 
+    0xB0BC, 0xB0C4, 0xB0C5, 0xB0C7, 0xB0C8, 0xB0C9, 0xB0D0, 0xB0D1, 0xB0D4, 
+    0xB0D8, 0xB0E0, 0xB0E5, 0xB108, 0xB109, 0xB10B, 0xB10C, 0xB110, 0xB112, 
+    0xB113, 0xB118, 0xB119, 0xB11B, 0xB11C, 0xB11D, 0xB123, 0xB124, 0xB125, 
+    0xB128, 0xB12C, 0xB134, 0xB135, 0xB137, 0xB138, 0xB139, 0xB140, 0xB141, 
+    0xB144, 0xB148, 0xB150, 0xB151, 0xB154, 0xB155, 0xB158, 0xB15C, 0xB160, 
+    0xB178, 0xB179, 0xB17C, 0xB180, 0xB182, 0xB188, 0xB189, 0xB18B, 0xB18D, 
+    0xB192, 0xB193, 0xB194, 0xB198, 0xB19C, 0xB1A8, 0xB1CC, 0xB1D0, 0xB1D4, 
+    0xB1DC, 0xB1DD,  ERROR},
+    { ERROR, 0xD02E, 0xD02F, 0xD030, 0xD031, 0xD032, 0xD033, 0xD036, 0xD037, 
+    0xD039, 0xD03A, 0xD03B, 0xD03D, 0xD03E, 0xD03F, 0xD040, 0xD041, 0xD042, 
+    0xD043, 0xD046, 0xD048, 0xD04A, 0xD04B, 0xD04C, 0xD04D, 0xD04E, 0xD04F, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 0xD051, 0xD052, 0xD053, 
+    0xD055, 0xD056, 0xD057, 0xD059, 0xD05A, 0xD05B, 0xD05C, 0xD05D, 0xD05E, 
+    0xD05F, 0xD061, 0xD062, 0xD063, 0xD064, 0xD065, 0xD066, 0xD067, 0xD068, 
+    0xD069, 0xD06A, 0xD06B, 0xD06E, 0xD06F,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR, 0xD071, 0xD072, 0xD073, 0xD075, 0xD076, 0xD077, 0xD078, 
+    0xD079, 0xD07A, 0xD07B, 0xD07E, 0xD07F, 0xD080, 0xD082, 0xD083, 0xD084, 
+    0xD085, 0xD086, 0xD087, 0xD088, 0xD089, 0xD08A, 0xD08B, 0xD08C, 0xD08D, 
+    0xD08E, 0xD08F, 0xD090, 0xD091, 0xD092, 0xD093, 0xD094, 0xB1DF, 0xB1E8, 
+    0xB1E9, 0xB1EC, 0xB1F0, 0xB1F9, 0xB1FB, 0xB1FD, 0xB204, 0xB205, 0xB208, 
+    0xB20B, 0xB20C, 0xB214, 0xB215, 0xB217, 0xB219, 0xB220, 0xB234, 0xB23C, 
+    0xB258, 0xB25C, 0xB260, 0xB268, 0xB269, 0xB274, 0xB275, 0xB27C, 0xB284, 
+    0xB285, 0xB289, 0xB290, 0xB291, 0xB294, 0xB298, 0xB299, 0xB29A, 0xB2A0, 
+    0xB2A1, 0xB2A3, 0xB2A5, 0xB2A6, 0xB2AA, 0xB2AC, 0xB2B0, 0xB2B4, 0xB2C8, 
+    0xB2C9, 0xB2CC, 0xB2D0, 0xB2D2, 0xB2D8, 0xB2D9, 0xB2DB, 0xB2DD, 0xB2E2, 
+    0xB2E4, 0xB2E5, 0xB2E6, 0xB2E8, 0xB2EB, 0xB2EC, 0xB2ED, 0xB2EE, 0xB2EF, 
+    0xB2F3, 0xB2F4, 0xB2F5, 0xB2F7, 0xB2F8, 0xB2F9, 0xB2FA, 0xB2FB, 0xB2FF, 
+    0xB300, 0xB301, 0xB304, 0xB308, 0xB310, 0xB311, 0xB313, 0xB314, 0xB315, 
+    0xB31C, 0xB354, 0xB355, 0xB356, 0xB358, 0xB35B, 0xB35C, 0xB35E, 0xB35F, 
+    0xB364, 0xB365,  ERROR},
+    { ERROR, 0xD095, 0xD096, 0xD097, 0xD098, 0xD099, 0xD09A, 0xD09B, 0xD09C, 
+    0xD09D, 0xD09E, 0xD09F, 0xD0A0, 0xD0A1, 0xD0A2, 0xD0A3, 0xD0A6, 0xD0A7, 
+    0xD0A9, 0xD0AA, 0xD0AB, 0xD0AD, 0xD0AE, 0xD0AF, 0xD0B0, 0xD0B1, 0xD0B2, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 0xD0B3, 0xD0B6, 0xD0B8, 
+    0xD0BA, 0xD0BB, 0xD0BC, 0xD0BD, 0xD0BE, 0xD0BF, 0xD0C2, 0xD0C3, 0xD0C5, 
+    0xD0C6, 0xD0C7, 0xD0CA, 0xD0CB, 0xD0CC, 0xD0CD, 0xD0CE, 0xD0CF, 0xD0D2, 
+    0xD0D6, 0xD0D7, 0xD0D8, 0xD0D9, 0xD0DA,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR, 0xD0DB, 0xD0DE, 0xD0DF, 0xD0E1, 0xD0E2, 0xD0E3, 0xD0E5, 
+    0xD0E6, 0xD0E7, 0xD0E8, 0xD0E9, 0xD0EA, 0xD0EB, 0xD0EE, 0xD0F2, 0xD0F3, 
+    0xD0F4, 0xD0F5, 0xD0F6, 0xD0F7, 0xD0F9, 0xD0FA, 0xD0FB, 0xD0FC, 0xD0FD, 
+    0xD0FE, 0xD0FF, 0xD100, 0xD101, 0xD102, 0xD103, 0xD104, 0xB367, 0xB369, 
+    0xB36B, 0xB36E, 0xB370, 0xB371, 0xB374, 0xB378, 0xB380, 0xB381, 0xB383, 
+    0xB384, 0xB385, 0xB38C, 0xB390, 0xB394, 0xB3A0, 0xB3A1, 0xB3A8, 0xB3AC, 
+    0xB3C4, 0xB3C5, 0xB3C8, 0xB3CB, 0xB3CC, 0xB3CE, 0xB3D0, 0xB3D4, 0xB3D5, 
+    0xB3D7, 0xB3D9, 0xB3DB, 0xB3DD, 0xB3E0, 0xB3E4, 0xB3E8, 0xB3FC, 0xB410, 
+    0xB418, 0xB41C, 0xB420, 0xB428, 0xB429, 0xB42B, 0xB434, 0xB450, 0xB451, 
+    0xB454, 0xB458, 0xB460, 0xB461, 0xB463, 0xB465, 0xB46C, 0xB480, 0xB488, 
+    0xB49D, 0xB4A4, 0xB4A8, 0xB4AC, 0xB4B5, 0xB4B7, 0xB4B9, 0xB4C0, 0xB4C4, 
+    0xB4C8, 0xB4D0, 0xB4D5, 0xB4DC, 0xB4DD, 0xB4E0, 0xB4E3, 0xB4E4, 0xB4E6, 
+    0xB4EC, 0xB4ED, 0xB4EF, 0xB4F1, 0xB4F8, 0xB514, 0xB515, 0xB518, 0xB51B, 
+    0xB51C, 0xB524, 0xB525, 0xB527, 0xB528, 0xB529, 0xB52A, 0xB530, 0xB531, 
+    0xB534, 0xB538,  ERROR},
+    { ERROR, 0xD105, 0xD106, 0xD107, 0xD108, 0xD109, 0xD10A, 0xD10B, 0xD10C, 
+    0xD10E, 0xD10F, 0xD110, 0xD111, 0xD112, 0xD113, 0xD114, 0xD115, 0xD116, 
+    0xD117, 0xD118, 0xD119, 0xD11A, 0xD11B, 0xD11C, 0xD11D, 0xD11E, 0xD11F, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 0xD120, 0xD121, 0xD122, 
+    0xD123, 0xD124, 0xD125, 0xD126, 0xD127, 0xD128, 0xD129, 0xD12A, 0xD12B, 
+    0xD12C, 0xD12D, 0xD12E, 0xD12F, 0xD132, 0xD133, 0xD135, 0xD136, 0xD137, 
+    0xD139, 0xD13B, 0xD13C, 0xD13D, 0xD13E,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR, 0xD13F, 0xD142, 0xD146, 0xD147, 0xD148, 0xD149, 0xD14A, 
+    0xD14B, 0xD14E, 0xD14F, 0xD151, 0xD152, 0xD153, 0xD155, 0xD156, 0xD157, 
+    0xD158, 0xD159, 0xD15A, 0xD15B, 0xD15E, 0xD160, 0xD162, 0xD163, 0xD164, 
+    0xD165, 0xD166, 0xD167, 0xD169, 0xD16A, 0xD16B, 0xD16D, 0xB540, 0xB541, 
+    0xB543, 0xB544, 0xB545, 0xB54B, 0xB54C, 0xB54D, 0xB550, 0xB554, 0xB55C, 
+    0xB55D, 0xB55F, 0xB560, 0xB561, 0xB5A0, 0xB5A1, 0xB5A4, 0xB5A8, 0xB5AA, 
+    0xB5AB, 0xB5B0, 0xB5B1, 0xB5B3, 0xB5B4, 0xB5B5, 0xB5BB, 0xB5BC, 0xB5BD, 
+    0xB5C0, 0xB5C4, 0xB5CC, 0xB5CD, 0xB5CF, 0xB5D0, 0xB5D1, 0xB5D8, 0xB5EC, 
+    0xB610, 0xB611, 0xB614, 0xB618, 0xB625, 0xB62C, 0xB634, 0xB648, 0xB664, 
+    0xB668, 0xB69C, 0xB69D, 0xB6A0, 0xB6A4, 0xB6AB, 0xB6AC, 0xB6B1, 0xB6D4, 
+    0xB6F0, 0xB6F4, 0xB6F8, 0xB700, 0xB701, 0xB705, 0xB728, 0xB729, 0xB72C, 
+    0xB72F, 0xB730, 0xB738, 0xB739, 0xB73B, 0xB744, 0xB748, 0xB74C, 0xB754, 
+    0xB755, 0xB760, 0xB764, 0xB768, 0xB770, 0xB771, 0xB773, 0xB775, 0xB77C, 
+    0xB77D, 0xB780, 0xB784, 0xB78C, 0xB78D, 0xB78F, 0xB790, 0xB791, 0xB792, 
+    0xB796, 0xB797,  ERROR},
+    { ERROR, 0xD16E, 0xD16F, 0xD170, 0xD171, 0xD172, 0xD173, 0xD174, 0xD175, 
+    0xD176, 0xD177, 0xD178, 0xD179, 0xD17A, 0xD17B, 0xD17D, 0xD17E, 0xD17F, 
+    0xD180, 0xD181, 0xD182, 0xD183, 0xD185, 0xD186, 0xD187, 0xD189, 0xD18A, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 0xD18B, 0xD18C, 0xD18D, 
+    0xD18E, 0xD18F, 0xD190, 0xD191, 0xD192, 0xD193, 0xD194, 0xD195, 0xD196, 
+    0xD197, 0xD198, 0xD199, 0xD19A, 0xD19B, 0xD19C, 0xD19D, 0xD19E, 0xD19F, 
+    0xD1A2, 0xD1A3, 0xD1A5, 0xD1A6, 0xD1A7,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR, 0xD1A9, 0xD1AA, 0xD1AB, 0xD1AC, 0xD1AD, 0xD1AE, 0xD1AF, 
+    0xD1B2, 0xD1B4, 0xD1B6, 0xD1B7, 0xD1B8, 0xD1B9, 0xD1BB, 0xD1BD, 0xD1BE, 
+    0xD1BF, 0xD1C1, 0xD1C2, 0xD1C3, 0xD1C4, 0xD1C5, 0xD1C6, 0xD1C7, 0xD1C8, 
+    0xD1C9, 0xD1CA, 0xD1CB, 0xD1CC, 0xD1CD, 0xD1CE, 0xD1CF, 0xB798, 0xB799, 
+    0xB79C, 0xB7A0, 0xB7A8, 0xB7A9, 0xB7AB, 0xB7AC, 0xB7AD, 0xB7B4, 0xB7B5, 
+    0xB7B8, 0xB7C7, 0xB7C9, 0xB7EC, 0xB7ED, 0xB7F0, 0xB7F4, 0xB7FC, 0xB7FD, 
+    0xB7FF, 0xB800, 0xB801, 0xB807, 0xB808, 0xB809, 0xB80C, 0xB810, 0xB818, 
+    0xB819, 0xB81B, 0xB81D, 0xB824, 0xB825, 0xB828, 0xB82C, 0xB834, 0xB835, 
+    0xB837, 0xB838, 0xB839, 0xB840, 0xB844, 0xB851, 0xB853, 0xB85C, 0xB85D, 
+    0xB860, 0xB864, 0xB86C, 0xB86D, 0xB86F, 0xB871, 0xB878, 0xB87C, 0xB88D, 
+    0xB8A8, 0xB8B0, 0xB8B4, 0xB8B8, 0xB8C0, 0xB8C1, 0xB8C3, 0xB8C5, 0xB8CC, 
+    0xB8D0, 0xB8D4, 0xB8DD, 0xB8DF, 0xB8E1, 0xB8E8, 0xB8E9, 0xB8EC, 0xB8F0, 
+    0xB8F8, 0xB8F9, 0xB8FB, 0xB8FD, 0xB904, 0xB918, 0xB920, 0xB93C, 0xB93D, 
+    0xB940, 0xB944, 0xB94C, 0xB94F, 0xB951, 0xB958, 0xB959, 0xB95C, 0xB960, 
+    0xB968, 0xB969,  ERROR},
+    { ERROR, 0xD1D0, 0xD1D1, 0xD1D2, 0xD1D3, 0xD1D4, 0xD1D5, 0xD1D6, 0xD1D7, 
+    0xD1D9, 0xD1DA, 0xD1DB, 0xD1DC, 0xD1DD, 0xD1DE, 0xD1DF, 0xD1E0, 0xD1E1, 
+    0xD1E2, 0xD1E3, 0xD1E4, 0xD1E5, 0xD1E6, 0xD1E7, 0xD1E8, 0xD1E9, 0xD1EA, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 0xD1EB, 0xD1EC, 0xD1ED, 
+    0xD1EE, 0xD1EF, 0xD1F0, 0xD1F1, 0xD1F2, 0xD1F3, 0xD1F5, 0xD1F6, 0xD1F7, 
+    0xD1F9, 0xD1FA, 0xD1FB, 0xD1FC, 0xD1FD, 0xD1FE, 0xD1FF, 0xD200, 0xD201, 
+    0xD202, 0xD203, 0xD204, 0xD205, 0xD206,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR, 0xD208, 0xD20A, 0xD20B, 0xD20C, 0xD20D, 0xD20E, 0xD20F, 
+    0xD211, 0xD212, 0xD213, 0xD214, 0xD215, 0xD216, 0xD217, 0xD218, 0xD219, 
+    0xD21A, 0xD21B, 0xD21C, 0xD21D, 0xD21E, 0xD21F, 0xD220, 0xD221, 0xD222, 
+    0xD223, 0xD224, 0xD225, 0xD226, 0xD227, 0xD228, 0xD229, 0xB96B, 0xB96D, 
+    0xB974, 0xB975, 0xB978, 0xB97C, 0xB984, 0xB985, 0xB987, 0xB989, 0xB98A, 
+    0xB98D, 0xB98E, 0xB9AC, 0xB9AD, 0xB9B0, 0xB9B4, 0xB9BC, 0xB9BD, 0xB9BF, 
+    0xB9C1, 0xB9C8, 0xB9C9, 0xB9CC, 0xB9CE, 0xB9CF, 0xB9D0, 0xB9D1, 0xB9D2, 
+    0xB9D8, 0xB9D9, 0xB9DB, 0xB9DD, 0xB9DE, 0xB9E1, 0xB9E3, 0xB9E4, 0xB9E5, 
+    0xB9E8, 0xB9EC, 0xB9F4, 0xB9F5, 0xB9F7, 0xB9F8, 0xB9F9, 0xB9FA, 0xBA00, 
+    0xBA01, 0xBA08, 0xBA15, 0xBA38, 0xBA39, 0xBA3C, 0xBA40, 0xBA42, 0xBA48, 
+    0xBA49, 0xBA4B, 0xBA4D, 0xBA4E, 0xBA53, 0xBA54, 0xBA55, 0xBA58, 0xBA5C, 
+    0xBA64, 0xBA65, 0xBA67, 0xBA68, 0xBA69, 0xBA70, 0xBA71, 0xBA74, 0xBA78, 
+    0xBA83, 0xBA84, 0xBA85, 0xBA87, 0xBA8C, 0xBAA8, 0xBAA9, 0xBAAB, 0xBAAC, 
+    0xBAB0, 0xBAB2, 0xBAB8, 0xBAB9, 0xBABB, 0xBABD, 0xBAC4, 0xBAC8, 0xBAD8, 
+    0xBAD9, 0xBAFC,  ERROR},
+    { ERROR, 0xD22A, 0xD22B, 0xD22E, 0xD22F, 0xD231, 0xD232, 0xD233, 0xD235, 
+    0xD236, 0xD237, 0xD238, 0xD239, 0xD23A, 0xD23B, 0xD23E, 0xD240, 0xD242, 
+    0xD243, 0xD244, 0xD245, 0xD246, 0xD247, 0xD249, 0xD24A, 0xD24B, 0xD24C, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 0xD24D, 0xD24E, 0xD24F, 
+    0xD250, 0xD251, 0xD252, 0xD253, 0xD254, 0xD255, 0xD256, 0xD257, 0xD258, 
+    0xD259, 0xD25A, 0xD25B, 0xD25D, 0xD25E, 0xD25F, 0xD260, 0xD261, 0xD262, 
+    0xD263, 0xD265, 0xD266, 0xD267, 0xD268,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR, 0xD269, 0xD26A, 0xD26B, 0xD26C, 0xD26D, 0xD26E, 0xD26F, 
+    0xD270, 0xD271, 0xD272, 0xD273, 0xD274, 0xD275, 0xD276, 0xD277, 0xD278, 
+    0xD279, 0xD27A, 0xD27B, 0xD27C, 0xD27D, 0xD27E, 0xD27F, 0xD282, 0xD283, 
+    0xD285, 0xD286, 0xD287, 0xD289, 0xD28A, 0xD28B, 0xD28C, 0xBB00, 0xBB04, 
+    0xBB0D, 0xBB0F, 0xBB11, 0xBB18, 0xBB1C, 0xBB20, 0xBB29, 0xBB2B, 0xBB34, 
+    0xBB35, 0xBB36, 0xBB38, 0xBB3B, 0xBB3C, 0xBB3D, 0xBB3E, 0xBB44, 0xBB45, 
+    0xBB47, 0xBB49, 0xBB4D, 0xBB4F, 0xBB50, 0xBB54, 0xBB58, 0xBB61, 0xBB63, 
+    0xBB6C, 0xBB88, 0xBB8C, 0xBB90, 0xBBA4, 0xBBA8, 0xBBAC, 0xBBB4, 0xBBB7, 
+    0xBBC0, 0xBBC4, 0xBBC8, 0xBBD0, 0xBBD3, 0xBBF8, 0xBBF9, 0xBBFC, 0xBBFF, 
+    0xBC00, 0xBC02, 0xBC08, 0xBC09, 0xBC0B, 0xBC0C, 0xBC0D, 0xBC0F, 0xBC11, 
+    0xBC14, 0xBC15, 0xBC16, 0xBC17, 0xBC18, 0xBC1B, 0xBC1C, 0xBC1D, 0xBC1E, 
+    0xBC1F, 0xBC24, 0xBC25, 0xBC27, 0xBC29, 0xBC2D, 0xBC30, 0xBC31, 0xBC34, 
+    0xBC38, 0xBC40, 0xBC41, 0xBC43, 0xBC44, 0xBC45, 0xBC49, 0xBC4C, 0xBC4D, 
+    0xBC50, 0xBC5D, 0xBC84, 0xBC85, 0xBC88, 0xBC8B, 0xBC8C, 0xBC8E, 0xBC94, 
+    0xBC95, 0xBC97,  ERROR},
+    { ERROR, 0xD28D, 0xD28E, 0xD28F, 0xD292, 0xD293, 0xD294, 0xD296, 0xD297, 
+    0xD298, 0xD299, 0xD29A, 0xD29B, 0xD29D, 0xD29E, 0xD29F, 0xD2A1, 0xD2A2, 
+    0xD2A3, 0xD2A5, 0xD2A6, 0xD2A7, 0xD2A8, 0xD2A9, 0xD2AA, 0xD2AB, 0xD2AD, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 0xD2AE, 0xD2AF, 0xD2B0, 
+    0xD2B2, 0xD2B3, 0xD2B4, 0xD2B5, 0xD2B6, 0xD2B7, 0xD2BA, 0xD2BB, 0xD2BD, 
+    0xD2BE, 0xD2C1, 0xD2C3, 0xD2C4, 0xD2C5, 0xD2C6, 0xD2C7, 0xD2CA, 0xD2CC, 
+    0xD2CD, 0xD2CE, 0xD2CF, 0xD2D0, 0xD2D1,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR, 0xD2D2, 0xD2D3, 0xD2D5, 0xD2D6, 0xD2D7, 0xD2D9, 0xD2DA, 
+    0xD2DB, 0xD2DD, 0xD2DE, 0xD2DF, 0xD2E0, 0xD2E1, 0xD2E2, 0xD2E3, 0xD2E6, 
+    0xD2E7, 0xD2E8, 0xD2E9, 0xD2EA, 0xD2EB, 0xD2EC, 0xD2ED, 0xD2EE, 0xD2EF, 
+    0xD2F2, 0xD2F3, 0xD2F5, 0xD2F6, 0xD2F7, 0xD2F9, 0xD2FA, 0xBC99, 0xBC9A, 
+    0xBCA0, 0xBCA1, 0xBCA4, 0xBCA7, 0xBCA8, 0xBCB0, 0xBCB1, 0xBCB3, 0xBCB4, 
+    0xBCB5, 0xBCBC, 0xBCBD, 0xBCC0, 0xBCC4, 0xBCCD, 0xBCCF, 0xBCD0, 0xBCD1, 
+    0xBCD5, 0xBCD8, 0xBCDC, 0xBCF4, 0xBCF5, 0xBCF6, 0xBCF8, 0xBCFC, 0xBD04, 
+    0xBD05, 0xBD07, 0xBD09, 0xBD10, 0xBD14, 0xBD24, 0xBD2C, 0xBD40, 0xBD48, 
+    0xBD49, 0xBD4C, 0xBD50, 0xBD58, 0xBD59, 0xBD64, 0xBD68, 0xBD80, 0xBD81, 
+    0xBD84, 0xBD87, 0xBD88, 0xBD89, 0xBD8A, 0xBD90, 0xBD91, 0xBD93, 0xBD95, 
+    0xBD99, 0xBD9A, 0xBD9C, 0xBDA4, 0xBDB0, 0xBDB8, 0xBDD4, 0xBDD5, 0xBDD8, 
+    0xBDDC, 0xBDE9, 0xBDF0, 0xBDF4, 0xBDF8, 0xBE00, 0xBE03, 0xBE05, 0xBE0C, 
+    0xBE0D, 0xBE10, 0xBE14, 0xBE1C, 0xBE1D, 0xBE1F, 0xBE44, 0xBE45, 0xBE48, 
+    0xBE4C, 0xBE4E, 0xBE54, 0xBE55, 0xBE57, 0xBE59, 0xBE5A, 0xBE5B, 0xBE60, 
+    0xBE61, 0xBE64,  ERROR},
+    { ERROR, 0xD2FB, 0xD2FC, 0xD2FD, 0xD2FE, 0xD2FF, 0xD302, 0xD304, 0xD306, 
+    0xD307, 0xD308, 0xD309, 0xD30A, 0xD30B, 0xD30F, 0xD311, 0xD312, 0xD313, 
+    0xD315, 0xD317, 0xD318, 0xD319, 0xD31A, 0xD31B, 0xD31E, 0xD322, 0xD323, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 0xD324, 0xD326, 0xD327, 
+    0xD32A, 0xD32B, 0xD32D, 0xD32E, 0xD32F, 0xD331, 0xD332, 0xD333, 0xD334, 
+    0xD335, 0xD336, 0xD337, 0xD33A, 0xD33E, 0xD33F, 0xD340, 0xD341, 0xD342, 
+    0xD343, 0xD346, 0xD347, 0xD348, 0xD349,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR, 0xD34A, 0xD34B, 0xD34C, 0xD34D, 0xD34E, 0xD34F, 0xD350, 
+    0xD351, 0xD352, 0xD353, 0xD354, 0xD355, 0xD356, 0xD357, 0xD358, 0xD359, 
+    0xD35A, 0xD35B, 0xD35C, 0xD35D, 0xD35E, 0xD35F, 0xD360, 0xD361, 0xD362, 
+    0xD363, 0xD364, 0xD365, 0xD366, 0xD367, 0xD368, 0xD369, 0xBE68, 0xBE6A, 
+    0xBE70, 0xBE71, 0xBE73, 0xBE74, 0xBE75, 0xBE7B, 0xBE7C, 0xBE7D, 0xBE80, 
+    0xBE84, 0xBE8C, 0xBE8D, 0xBE8F, 0xBE90, 0xBE91, 0xBE98, 0xBE99, 0xBEA8, 
+    0xBED0, 0xBED1, 0xBED4, 0xBED7, 0xBED8, 0xBEE0, 0xBEE3, 0xBEE4, 0xBEE5, 
+    0xBEEC, 0xBF01, 0xBF08, 0xBF09, 0xBF18, 0xBF19, 0xBF1B, 0xBF1C, 0xBF1D, 
+    0xBF40, 0xBF41, 0xBF44, 0xBF48, 0xBF50, 0xBF51, 0xBF55, 0xBF94, 0xBFB0, 
+    0xBFC5, 0xBFCC, 0xBFCD, 0xBFD0, 0xBFD4, 0xBFDC, 0xBFDF, 0xBFE1, 0xC03C, 
+    0xC051, 0xC058, 0xC05C, 0xC060, 0xC068, 0xC069, 0xC090, 0xC091, 0xC094, 
+    0xC098, 0xC0A0, 0xC0A1, 0xC0A3, 0xC0A5, 0xC0AC, 0xC0AD, 0xC0AF, 0xC0B0, 
+    0xC0B3, 0xC0B4, 0xC0B5, 0xC0B6, 0xC0BC, 0xC0BD, 0xC0BF, 0xC0C0, 0xC0C1, 
+    0xC0C5, 0xC0C8, 0xC0C9, 0xC0CC, 0xC0D0, 0xC0D8, 0xC0D9, 0xC0DB, 0xC0DC, 
+    0xC0DD, 0xC0E4,  ERROR},
+    { ERROR, 0xD36A, 0xD36B, 0xD36C, 0xD36D, 0xD36E, 0xD36F, 0xD370, 0xD371, 
+    0xD372, 0xD373, 0xD374, 0xD375, 0xD376, 0xD377, 0xD378, 0xD379, 0xD37A, 
+    0xD37B, 0xD37E, 0xD37F, 0xD381, 0xD382, 0xD383, 0xD385, 0xD386, 0xD387, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 0xD388, 0xD389, 0xD38A, 
+    0xD38B, 0xD38E, 0xD392, 0xD393, 0xD394, 0xD395, 0xD396, 0xD397, 0xD39A, 
+    0xD39B, 0xD39D, 0xD39E, 0xD39F, 0xD3A1, 0xD3A2, 0xD3A3, 0xD3A4, 0xD3A5, 
+    0xD3A6, 0xD3A7, 0xD3AA, 0xD3AC, 0xD3AE,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR, 0xD3AF, 0xD3B0, 0xD3B1, 0xD3B2, 0xD3B3, 0xD3B5, 0xD3B6, 
+    0xD3B7, 0xD3B9, 0xD3BA, 0xD3BB, 0xD3BD, 0xD3BE, 0xD3BF, 0xD3C0, 0xD3C1, 
+    0xD3C2, 0xD3C3, 0xD3C6, 0xD3C7, 0xD3CA, 0xD3CB, 0xD3CC, 0xD3CD, 0xD3CE, 
+    0xD3CF, 0xD3D1, 0xD3D2, 0xD3D3, 0xD3D4, 0xD3D5, 0xD3D6, 0xC0E5, 0xC0E8, 
+    0xC0EC, 0xC0F4, 0xC0F5, 0xC0F7, 0xC0F9, 0xC100, 0xC104, 0xC108, 0xC110, 
+    0xC115, 0xC11C, 0xC11D, 0xC11E, 0xC11F, 0xC120, 0xC123, 0xC124, 0xC126, 
+    0xC127, 0xC12C, 0xC12D, 0xC12F, 0xC130, 0xC131, 0xC136, 0xC138, 0xC139, 
+    0xC13C, 0xC140, 0xC148, 0xC149, 0xC14B, 0xC14C, 0xC14D, 0xC154, 0xC155, 
+    0xC158, 0xC15C, 0xC164, 0xC165, 0xC167, 0xC168, 0xC169, 0xC170, 0xC174, 
+    0xC178, 0xC185, 0xC18C, 0xC18D, 0xC18E, 0xC190, 0xC194, 0xC196, 0xC19C, 
+    0xC19D, 0xC19F, 0xC1A1, 0xC1A5, 0xC1A8, 0xC1A9, 0xC1AC, 0xC1B0, 0xC1BD, 
+    0xC1C4, 0xC1C8, 0xC1CC, 0xC1D4, 0xC1D7, 0xC1D8, 0xC1E0, 0xC1E4, 0xC1E8, 
+    0xC1F0, 0xC1F1, 0xC1F3, 0xC1FC, 0xC1FD, 0xC200, 0xC204, 0xC20C, 0xC20D, 
+    0xC20F, 0xC211, 0xC218, 0xC219, 0xC21C, 0xC21F, 0xC220, 0xC228, 0xC229, 
+    0xC22B, 0xC22D,  ERROR},
+    { ERROR, 0xD3D7, 0xD3D9, 0xD3DA, 0xD3DB, 0xD3DC, 0xD3DD, 0xD3DE, 0xD3DF, 
+    0xD3E0, 0xD3E2, 0xD3E4, 0xD3E5, 0xD3E6, 0xD3E7, 0xD3E8, 0xD3E9, 0xD3EA, 
+    0xD3EB, 0xD3EE, 0xD3EF, 0xD3F1, 0xD3F2, 0xD3F3, 0xD3F5, 0xD3F6, 0xD3F7, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 0xD3F8, 0xD3F9, 0xD3FA, 
+    0xD3FB, 0xD3FE, 0xD400, 0xD402, 0xD403, 0xD404, 0xD405, 0xD406, 0xD407, 
+    0xD409, 0xD40A, 0xD40B, 0xD40C, 0xD40D, 0xD40E, 0xD40F, 0xD410, 0xD411, 
+    0xD412, 0xD413, 0xD414, 0xD415, 0xD416,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR, 0xD417, 0xD418, 0xD419, 0xD41A, 0xD41B, 0xD41C, 0xD41E, 
+    0xD41F, 0xD420, 0xD421, 0xD422, 0xD423, 0xD424, 0xD425, 0xD426, 0xD427, 
+    0xD428, 0xD429, 0xD42A, 0xD42B, 0xD42C, 0xD42D, 0xD42E, 0xD42F, 0xD430, 
+    0xD431, 0xD432, 0xD433, 0xD434, 0xD435, 0xD436, 0xD437, 0xC22F, 0xC231, 
+    0xC232, 0xC234, 0xC248, 0xC250, 0xC251, 0xC254, 0xC258, 0xC260, 0xC265, 
+    0xC26C, 0xC26D, 0xC270, 0xC274, 0xC27C, 0xC27D, 0xC27F, 0xC281, 0xC288, 
+    0xC289, 0xC290, 0xC298, 0xC29B, 0xC29D, 0xC2A4, 0xC2A5, 0xC2A8, 0xC2AC, 
+    0xC2AD, 0xC2B4, 0xC2B5, 0xC2B7, 0xC2B9, 0xC2DC, 0xC2DD, 0xC2E0, 0xC2E3, 
+    0xC2E4, 0xC2EB, 0xC2EC, 0xC2ED, 0xC2EF, 0xC2F1, 0xC2F6, 0xC2F8, 0xC2F9, 
+    0xC2FB, 0xC2FC, 0xC300, 0xC308, 0xC309, 0xC30C, 0xC30D, 0xC313, 0xC314, 
+    0xC315, 0xC318, 0xC31C, 0xC324, 0xC325, 0xC328, 0xC329, 0xC345, 0xC368, 
+    0xC369, 0xC36C, 0xC370, 0xC372, 0xC378, 0xC379, 0xC37C, 0xC37D, 0xC384, 
+    0xC388, 0xC38C, 0xC3C0, 0xC3D8, 0xC3D9, 0xC3DC, 0xC3DF, 0xC3E0, 0xC3E2, 
+    0xC3E8, 0xC3E9, 0xC3ED, 0xC3F4, 0xC3F5, 0xC3F8, 0xC408, 0xC410, 0xC424, 
+    0xC42C, 0xC430,  ERROR},
+    { ERROR, 0xD438, 0xD439, 0xD43A, 0xD43B, 0xD43C, 0xD43D, 0xD43E, 0xD43F, 
+    0xD441, 0xD442, 0xD443, 0xD445, 0xD446, 0xD447, 0xD448, 0xD449, 0xD44A, 
+    0xD44B, 0xD44C, 0xD44D, 0xD44E, 0xD44F, 0xD450, 0xD451, 0xD452, 0xD453, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 0xD454, 0xD455, 0xD456, 
+    0xD457, 0xD458, 0xD459, 0xD45A, 0xD45B, 0xD45D, 0xD45E, 0xD45F, 0xD461, 
+    0xD462, 0xD463, 0xD465, 0xD466, 0xD467, 0xD468, 0xD469, 0xD46A, 0xD46B, 
+    0xD46C, 0xD46E, 0xD470, 0xD471, 0xD472,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR, 0xD473, 0xD474, 0xD475, 0xD476, 0xD477, 0xD47A, 0xD47B, 
+    0xD47D, 0xD47E, 0xD481, 0xD483, 0xD484, 0xD485, 0xD486, 0xD487, 0xD48A, 
+    0xD48C, 0xD48E, 0xD48F, 0xD490, 0xD491, 0xD492, 0xD493, 0xD495, 0xD496, 
+    0xD497, 0xD498, 0xD499, 0xD49A, 0xD49B, 0xD49C, 0xD49D, 0xC434, 0xC43C, 
+    0xC43D, 0xC448, 0xC464, 0xC465, 0xC468, 0xC46C, 0xC474, 0xC475, 0xC479, 
+    0xC480, 0xC494, 0xC49C, 0xC4B8, 0xC4BC, 0xC4E9, 0xC4F0, 0xC4F1, 0xC4F4, 
+    0xC4F8, 0xC4FA, 0xC4FF, 0xC500, 0xC501, 0xC50C, 0xC510, 0xC514, 0xC51C, 
+    0xC528, 0xC529, 0xC52C, 0xC530, 0xC538, 0xC539, 0xC53B, 0xC53D, 0xC544, 
+    0xC545, 0xC548, 0xC549, 0xC54A, 0xC54C, 0xC54D, 0xC54E, 0xC553, 0xC554, 
+    0xC555, 0xC557, 0xC558, 0xC559, 0xC55D, 0xC55E, 0xC560, 0xC561, 0xC564, 
+    0xC568, 0xC570, 0xC571, 0xC573, 0xC574, 0xC575, 0xC57C, 0xC57D, 0xC580, 
+    0xC584, 0xC587, 0xC58C, 0xC58D, 0xC58F, 0xC591, 0xC595, 0xC597, 0xC598, 
+    0xC59C, 0xC5A0, 0xC5A9, 0xC5B4, 0xC5B5, 0xC5B8, 0xC5B9, 0xC5BB, 0xC5BC, 
+    0xC5BD, 0xC5BE, 0xC5C4, 0xC5C5, 0xC5C6, 0xC5C7, 0xC5C8, 0xC5C9, 0xC5CA, 
+    0xC5CC, 0xC5CE,  ERROR},
+    { ERROR, 0xD49E, 0xD49F, 0xD4A0, 0xD4A1, 0xD4A2, 0xD4A3, 0xD4A4, 0xD4A5, 
+    0xD4A6, 0xD4A7, 0xD4A8, 0xD4AA, 0xD4AB, 0xD4AC, 0xD4AD, 0xD4AE, 0xD4AF, 
+    0xD4B0, 0xD4B1, 0xD4B2, 0xD4B3, 0xD4B4, 0xD4B5, 0xD4B6, 0xD4B7, 0xD4B8, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 0xD4B9, 0xD4BA, 0xD4BB, 
+    0xD4BC, 0xD4BD, 0xD4BE, 0xD4BF, 0xD4C0, 0xD4C1, 0xD4C2, 0xD4C3, 0xD4C4, 
+    0xD4C5, 0xD4C6, 0xD4C7, 0xD4C8, 0xD4C9, 0xD4CA, 0xD4CB, 0xD4CD, 0xD4CE, 
+    0xD4CF, 0xD4D1, 0xD4D2, 0xD4D3, 0xD4D5,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR, 0xD4D6, 0xD4D7, 0xD4D8, 0xD4D9, 0xD4DA, 0xD4DB, 0xD4DD, 
+    0xD4DE, 0xD4E0, 0xD4E1, 0xD4E2, 0xD4E3, 0xD4E4, 0xD4E5, 0xD4E6, 0xD4E7, 
+    0xD4E9, 0xD4EA, 0xD4EB, 0xD4ED, 0xD4EE, 0xD4EF, 0xD4F1, 0xD4F2, 0xD4F3, 
+    0xD4F4, 0xD4F5, 0xD4F6, 0xD4F7, 0xD4F9, 0xD4FA, 0xD4FC, 0xC5D0, 0xC5D1, 
+    0xC5D4, 0xC5D8, 0xC5E0, 0xC5E1, 0xC5E3, 0xC5E5, 0xC5EC, 0xC5ED, 0xC5EE, 
+    0xC5F0, 0xC5F4, 0xC5F6, 0xC5F7, 0xC5FC, 0xC5FD, 0xC5FE, 0xC5FF, 0xC600, 
+    0xC601, 0xC605, 0xC606, 0xC607, 0xC608, 0xC60C, 0xC610, 0xC618, 0xC619, 
+    0xC61B, 0xC61C, 0xC624, 0xC625, 0xC628, 0xC62C, 0xC62D, 0xC62E, 0xC630, 
+    0xC633, 0xC634, 0xC635, 0xC637, 0xC639, 0xC63B, 0xC640, 0xC641, 0xC644, 
+    0xC648, 0xC650, 0xC651, 0xC653, 0xC654, 0xC655, 0xC65C, 0xC65D, 0xC660, 
+    0xC66C, 0xC66F, 0xC671, 0xC678, 0xC679, 0xC67C, 0xC680, 0xC688, 0xC689, 
+    0xC68B, 0xC68D, 0xC694, 0xC695, 0xC698, 0xC69C, 0xC6A4, 0xC6A5, 0xC6A7, 
+    0xC6A9, 0xC6B0, 0xC6B1, 0xC6B4, 0xC6B8, 0xC6B9, 0xC6BA, 0xC6C0, 0xC6C1, 
+    0xC6C3, 0xC6C5, 0xC6CC, 0xC6CD, 0xC6D0, 0xC6D4, 0xC6DC, 0xC6DD, 0xC6E0, 
+    0xC6E1, 0xC6E8,  ERROR},
+    { ERROR, 0xD4FE, 0xD4FF, 0xD500, 0xD501, 0xD502, 0xD503, 0xD505, 0xD506, 
+    0xD507, 0xD509, 0xD50A, 0xD50B, 0xD50D, 0xD50E, 0xD50F, 0xD510, 0xD511, 
+    0xD512, 0xD513, 0xD516, 0xD518, 0xD519, 0xD51A, 0xD51B, 0xD51C, 0xD51D, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 0xD51E, 0xD51F, 0xD520, 
+    0xD521, 0xD522, 0xD523, 0xD524, 0xD525, 0xD526, 0xD527, 0xD528, 0xD529, 
+    0xD52A, 0xD52B, 0xD52C, 0xD52D, 0xD52E, 0xD52F, 0xD530, 0xD531, 0xD532, 
+    0xD533, 0xD534, 0xD535, 0xD536, 0xD537,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR, 0xD538, 0xD539, 0xD53A, 0xD53B, 0xD53E, 0xD53F, 0xD541, 
+    0xD542, 0xD543, 0xD545, 0xD546, 0xD547, 0xD548, 0xD549, 0xD54A, 0xD54B, 
+    0xD54E, 0xD550, 0xD552, 0xD553, 0xD554, 0xD555, 0xD556, 0xD557, 0xD55A, 
+    0xD55B, 0xD55D, 0xD55E, 0xD55F, 0xD561, 0xD562, 0xD563, 0xC6E9, 0xC6EC, 
+    0xC6F0, 0xC6F8, 0xC6F9, 0xC6FD, 0xC704, 0xC705, 0xC708, 0xC70C, 0xC714, 
+    0xC715, 0xC717, 0xC719, 0xC720, 0xC721, 0xC724, 0xC728, 0xC730, 0xC731, 
+    0xC733, 0xC735, 0xC737, 0xC73C, 0xC73D, 0xC740, 0xC744, 0xC74A, 0xC74C, 
+    0xC74D, 0xC74F, 0xC751, 0xC752, 0xC753, 0xC754, 0xC755, 0xC756, 0xC757, 
+    0xC758, 0xC75C, 0xC760, 0xC768, 0xC76B, 0xC774, 0xC775, 0xC778, 0xC77C, 
+    0xC77D, 0xC77E, 0xC783, 0xC784, 0xC785, 0xC787, 0xC788, 0xC789, 0xC78A, 
+    0xC78E, 0xC790, 0xC791, 0xC794, 0xC796, 0xC797, 0xC798, 0xC79A, 0xC7A0, 
+    0xC7A1, 0xC7A3, 0xC7A4, 0xC7A5, 0xC7A6, 0xC7AC, 0xC7AD, 0xC7B0, 0xC7B4, 
+    0xC7BC, 0xC7BD, 0xC7BF, 0xC7C0, 0xC7C1, 0xC7C8, 0xC7C9, 0xC7CC, 0xC7CE, 
+    0xC7D0, 0xC7D8, 0xC7DD, 0xC7E4, 0xC7E8, 0xC7EC, 0xC800, 0xC801, 0xC804, 
+    0xC808, 0xC80A,  ERROR},
+    { ERROR, 0xD564, 0xD566, 0xD567, 0xD56A, 0xD56C, 0xD56E, 0xD56F, 0xD570, 
+    0xD571, 0xD572, 0xD573, 0xD576, 0xD577, 0xD579, 0xD57A, 0xD57B, 0xD57D, 
+    0xD57E, 0xD57F, 0xD580, 0xD581, 0xD582, 0xD583, 0xD586, 0xD58A, 0xD58B, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 0xD58C, 0xD58D, 0xD58E, 
+    0xD58F, 0xD591, 0xD592, 0xD593, 0xD594, 0xD595, 0xD596, 0xD597, 0xD598, 
+    0xD599, 0xD59A, 0xD59B, 0xD59C, 0xD59D, 0xD59E, 0xD59F, 0xD5A0, 0xD5A1, 
+    0xD5A2, 0xD5A3, 0xD5A4, 0xD5A6, 0xD5A7,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR, 0xD5A8, 0xD5A9, 0xD5AA, 0xD5AB, 0xD5AC, 0xD5AD, 0xD5AE, 
+    0xD5AF, 0xD5B0, 0xD5B1, 0xD5B2, 0xD5B3, 0xD5B4, 0xD5B5, 0xD5B6, 0xD5B7, 
+    0xD5B8, 0xD5B9, 0xD5BA, 0xD5BB, 0xD5BC, 0xD5BD, 0xD5BE, 0xD5BF, 0xD5C0, 
+    0xD5C1, 0xD5C2, 0xD5C3, 0xD5C4, 0xD5C5, 0xD5C6, 0xD5C7, 0xC810, 0xC811, 
+    0xC813, 0xC815, 0xC816, 0xC81C, 0xC81D, 0xC820, 0xC824, 0xC82C, 0xC82D, 
+    0xC82F, 0xC831, 0xC838, 0xC83C, 0xC840, 0xC848, 0xC849, 0xC84C, 0xC84D, 
+    0xC854, 0xC870, 0xC871, 0xC874, 0xC878, 0xC87A, 0xC880, 0xC881, 0xC883, 
+    0xC885, 0xC886, 0xC887, 0xC88B, 0xC88C, 0xC88D, 0xC894, 0xC89D, 0xC89F, 
+    0xC8A1, 0xC8A8, 0xC8BC, 0xC8BD, 0xC8C4, 0xC8C8, 0xC8CC, 0xC8D4, 0xC8D5, 
+    0xC8D7, 0xC8D9, 0xC8E0, 0xC8E1, 0xC8E4, 0xC8F5, 0xC8FC, 0xC8FD, 0xC900, 
+    0xC904, 0xC905, 0xC906, 0xC90C, 0xC90D, 0xC90F, 0xC911, 0xC918, 0xC92C, 
+    0xC934, 0xC950, 0xC951, 0xC954, 0xC958, 0xC960, 0xC961, 0xC963, 0xC96C, 
+    0xC970, 0xC974, 0xC97C, 0xC988, 0xC989, 0xC98C, 0xC990, 0xC998, 0xC999, 
+    0xC99B, 0xC99D, 0xC9C0, 0xC9C1, 0xC9C4, 0xC9C7, 0xC9C8, 0xC9CA, 0xC9D0, 
+    0xC9D1, 0xC9D3,  ERROR},
+    { ERROR, 0xD5CA, 0xD5CB, 0xD5CD, 0xD5CE, 0xD5CF, 0xD5D1, 0xD5D3, 0xD5D4, 
+    0xD5D5, 0xD5D6, 0xD5D7, 0xD5DA, 0xD5DC, 0xD5DE, 0xD5DF, 0xD5E0, 0xD5E1, 
+    0xD5E2, 0xD5E3, 0xD5E6, 0xD5E7, 0xD5E9, 0xD5EA, 0xD5EB, 0xD5ED, 0xD5EE, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 0xD5EF, 0xD5F0, 0xD5F1, 
+    0xD5F2, 0xD5F3, 0xD5F6, 0xD5F8, 0xD5FA, 0xD5FB, 0xD5FC, 0xD5FD, 0xD5FE, 
+    0xD5FF, 0xD602, 0xD603, 0xD605, 0xD606, 0xD607, 0xD609, 0xD60A, 0xD60B, 
+    0xD60C, 0xD60D, 0xD60E, 0xD60F, 0xD612,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR, 0xD616, 0xD617, 0xD618, 0xD619, 0xD61A, 0xD61B, 0xD61D, 
+    0xD61E, 0xD61F, 0xD621, 0xD622, 0xD623, 0xD625, 0xD626, 0xD627, 0xD628, 
+    0xD629, 0xD62A, 0xD62B, 0xD62C, 0xD62E, 0xD62F, 0xD630, 0xD631, 0xD632, 
+    0xD633, 0xD634, 0xD635, 0xD636, 0xD637, 0xD63A, 0xD63B, 0xC9D5, 0xC9D6, 
+    0xC9D9, 0xC9DA, 0xC9DC, 0xC9DD, 0xC9E0, 0xC9E2, 0xC9E4, 0xC9E7, 0xC9EC, 
+    0xC9ED, 0xC9EF, 0xC9F0, 0xC9F1, 0xC9F8, 0xC9F9, 0xC9FC, 0xCA00, 0xCA08, 
+    0xCA09, 0xCA0B, 0xCA0C, 0xCA0D, 0xCA14, 0xCA18, 0xCA29, 0xCA4C, 0xCA4D, 
+    0xCA50, 0xCA54, 0xCA5C, 0xCA5D, 0xCA5F, 0xCA60, 0xCA61, 0xCA68, 0xCA7D, 
+    0xCA84, 0xCA98, 0xCABC, 0xCABD, 0xCAC0, 0xCAC4, 0xCACC, 0xCACD, 0xCACF, 
+    0xCAD1, 0xCAD3, 0xCAD8, 0xCAD9, 0xCAE0, 0xCAEC, 0xCAF4, 0xCB08, 0xCB10, 
+    0xCB14, 0xCB18, 0xCB20, 0xCB21, 0xCB41, 0xCB48, 0xCB49, 0xCB4C, 0xCB50, 
+    0xCB58, 0xCB59, 0xCB5D, 0xCB64, 0xCB78, 0xCB79, 0xCB9C, 0xCBB8, 0xCBD4, 
+    0xCBE4, 0xCBE7, 0xCBE9, 0xCC0C, 0xCC0D, 0xCC10, 0xCC14, 0xCC1C, 0xCC1D, 
+    0xCC21, 0xCC22, 0xCC27, 0xCC28, 0xCC29, 0xCC2C, 0xCC2E, 0xCC30, 0xCC38, 
+    0xCC39, 0xCC3B,  ERROR},
+    { ERROR, 0xD63D, 0xD63E, 0xD63F, 0xD641, 0xD642, 0xD643, 0xD644, 0xD646, 
+    0xD647, 0xD64A, 0xD64C, 0xD64E, 0xD64F, 0xD650, 0xD652, 0xD653, 0xD656, 
+    0xD657, 0xD659, 0xD65A, 0xD65B, 0xD65D, 0xD65E, 0xD65F, 0xD660, 0xD661, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 0xD662, 0xD663, 0xD664, 
+    0xD665, 0xD666, 0xD668, 0xD66A, 0xD66B, 0xD66C, 0xD66D, 0xD66E, 0xD66F, 
+    0xD672, 0xD673, 0xD675, 0xD676, 0xD677, 0xD678, 0xD679, 0xD67A, 0xD67B, 
+    0xD67C, 0xD67D, 0xD67E, 0xD67F, 0xD680,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR, 0xD681, 0xD682, 0xD684, 0xD686, 0xD687, 0xD688, 0xD689, 
+    0xD68A, 0xD68B, 0xD68E, 0xD68F, 0xD691, 0xD692, 0xD693, 0xD695, 0xD696, 
+    0xD697, 0xD698, 0xD699, 0xD69A, 0xD69B, 0xD69C, 0xD69E, 0xD6A0, 0xD6A2, 
+    0xD6A3, 0xD6A4, 0xD6A5, 0xD6A6, 0xD6A7, 0xD6A9, 0xD6AA, 0xCC3C, 0xCC3D, 
+    0xCC3E, 0xCC44, 0xCC45, 0xCC48, 0xCC4C, 0xCC54, 0xCC55, 0xCC57, 0xCC58, 
+    0xCC59, 0xCC60, 0xCC64, 0xCC66, 0xCC68, 0xCC70, 0xCC75, 0xCC98, 0xCC99, 
+    0xCC9C, 0xCCA0, 0xCCA8, 0xCCA9, 0xCCAB, 0xCCAC, 0xCCAD, 0xCCB4, 0xCCB5, 
+    0xCCB8, 0xCCBC, 0xCCC4, 0xCCC5, 0xCCC7, 0xCCC9, 0xCCD0, 0xCCD4, 0xCCE4, 
+    0xCCEC, 0xCCF0, 0xCD01, 0xCD08, 0xCD09, 0xCD0C, 0xCD10, 0xCD18, 0xCD19, 
+    0xCD1B, 0xCD1D, 0xCD24, 0xCD28, 0xCD2C, 0xCD39, 0xCD5C, 0xCD60, 0xCD64, 
+    0xCD6C, 0xCD6D, 0xCD6F, 0xCD71, 0xCD78, 0xCD88, 0xCD94, 0xCD95, 0xCD98, 
+    0xCD9C, 0xCDA4, 0xCDA5, 0xCDA7, 0xCDA9, 0xCDB0, 0xCDC4, 0xCDCC, 0xCDD0, 
+    0xCDE8, 0xCDEC, 0xCDF0, 0xCDF8, 0xCDF9, 0xCDFB, 0xCDFD, 0xCE04, 0xCE08, 
+    0xCE0C, 0xCE14, 0xCE19, 0xCE20, 0xCE21, 0xCE24, 0xCE28, 0xCE30, 0xCE31, 
+    0xCE33, 0xCE35,  ERROR},
+    { ERROR, 0xD6AB, 0xD6AD, 0xD6AE, 0xD6AF, 0xD6B1, 0xD6B2, 0xD6B3, 0xD6B4, 
+    0xD6B5, 0xD6B6, 0xD6B7, 0xD6B8, 0xD6BA, 0xD6BC, 0xD6BD, 0xD6BE, 0xD6BF, 
+    0xD6C0, 0xD6C1, 0xD6C2, 0xD6C3, 0xD6C6, 0xD6C7, 0xD6C9, 0xD6CA, 0xD6CB, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 0xD6CD, 0xD6CE, 0xD6CF, 
+    0xD6D0, 0xD6D2, 0xD6D3, 0xD6D5, 0xD6D6, 0xD6D8, 0xD6DA, 0xD6DB, 0xD6DC, 
+    0xD6DD, 0xD6DE, 0xD6DF, 0xD6E1, 0xD6E2, 0xD6E3, 0xD6E5, 0xD6E6, 0xD6E7, 
+    0xD6E9, 0xD6EA, 0xD6EB, 0xD6EC, 0xD6ED,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR, 0xD6EE, 0xD6EF, 0xD6F1, 0xD6F2, 0xD6F3, 0xD6F4, 0xD6F6, 
+    0xD6F7, 0xD6F8, 0xD6F9, 0xD6FA, 0xD6FB, 0xD6FE, 0xD6FF, 0xD701, 0xD702, 
+    0xD703, 0xD705, 0xD706, 0xD707, 0xD708, 0xD709, 0xD70A, 0xD70B, 0xD70C, 
+    0xD70D, 0xD70E, 0xD70F, 0xD710, 0xD712, 0xD713, 0xD714, 0xCE58, 0xCE59, 
+    0xCE5C, 0xCE5F, 0xCE60, 0xCE61, 0xCE68, 0xCE69, 0xCE6B, 0xCE6D, 0xCE74, 
+    0xCE75, 0xCE78, 0xCE7C, 0xCE84, 0xCE85, 0xCE87, 0xCE89, 0xCE90, 0xCE91, 
+    0xCE94, 0xCE98, 0xCEA0, 0xCEA1, 0xCEA3, 0xCEA4, 0xCEA5, 0xCEAC, 0xCEAD, 
+    0xCEC1, 0xCEE4, 0xCEE5, 0xCEE8, 0xCEEB, 0xCEEC, 0xCEF4, 0xCEF5, 0xCEF7, 
+    0xCEF8, 0xCEF9, 0xCF00, 0xCF01, 0xCF04, 0xCF08, 0xCF10, 0xCF11, 0xCF13, 
+    0xCF15, 0xCF1C, 0xCF20, 0xCF24, 0xCF2C, 0xCF2D, 0xCF2F, 0xCF30, 0xCF31, 
+    0xCF38, 0xCF54, 0xCF55, 0xCF58, 0xCF5C, 0xCF64, 0xCF65, 0xCF67, 0xCF69, 
+    0xCF70, 0xCF71, 0xCF74, 0xCF78, 0xCF80, 0xCF85, 0xCF8C, 0xCFA1, 0xCFA8, 
+    0xCFB0, 0xCFC4, 0xCFE0, 0xCFE1, 0xCFE4, 0xCFE8, 0xCFF0, 0xCFF1, 0xCFF3, 
+    0xCFF5, 0xCFFC, 0xD000, 0xD004, 0xD011, 0xD018, 0xD02D, 0xD034, 0xD035, 
+    0xD038, 0xD03C,  ERROR},
+    { ERROR, 0xD715, 0xD716, 0xD717, 0xD71A, 0xD71B, 0xD71D, 0xD71E, 0xD71F, 
+    0xD721, 0xD722, 0xD723, 0xD724, 0xD725, 0xD726, 0xD727, 0xD72A, 0xD72C, 
+    0xD72E, 0xD72F, 0xD730, 0xD731, 0xD732, 0xD733, 0xD736, 0xD737, 0xD739, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 0xD73A, 0xD73B, 0xD73D, 
+    0xD73E, 0xD73F, 0xD740, 0xD741, 0xD742, 0xD743, 0xD745, 0xD746, 0xD748, 
+    0xD74A, 0xD74B, 0xD74C, 0xD74D, 0xD74E, 0xD74F, 0xD752, 0xD753, 0xD755, 
+    0xD75A, 0xD75B, 0xD75C, 0xD75D, 0xD75E,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR, 0xD75F, 0xD762, 0xD764, 0xD766, 0xD767, 0xD768, 0xD76A, 
+    0xD76B, 0xD76D, 0xD76E, 0xD76F, 0xD771, 0xD772, 0xD773, 0xD775, 0xD776, 
+    0xD777, 0xD778, 0xD779, 0xD77A, 0xD77B, 0xD77E, 0xD77F, 0xD780, 0xD782, 
+    0xD783, 0xD784, 0xD785, 0xD786, 0xD787, 0xD78A, 0xD78B, 0xD044, 0xD045, 
+    0xD047, 0xD049, 0xD050, 0xD054, 0xD058, 0xD060, 0xD06C, 0xD06D, 0xD070, 
+    0xD074, 0xD07C, 0xD07D, 0xD081, 0xD0A4, 0xD0A5, 0xD0A8, 0xD0AC, 0xD0B4, 
+    0xD0B5, 0xD0B7, 0xD0B9, 0xD0C0, 0xD0C1, 0xD0C4, 0xD0C8, 0xD0C9, 0xD0D0, 
+    0xD0D1, 0xD0D3, 0xD0D4, 0xD0D5, 0xD0DC, 0xD0DD, 0xD0E0, 0xD0E4, 0xD0EC, 
+    0xD0ED, 0xD0EF, 0xD0F0, 0xD0F1, 0xD0F8, 0xD10D, 0xD130, 0xD131, 0xD134, 
+    0xD138, 0xD13A, 0xD140, 0xD141, 0xD143, 0xD144, 0xD145, 0xD14C, 0xD14D, 
+    0xD150, 0xD154, 0xD15C, 0xD15D, 0xD15F, 0xD161, 0xD168, 0xD16C, 0xD17C, 
+    0xD184, 0xD188, 0xD1A0, 0xD1A1, 0xD1A4, 0xD1A8, 0xD1B0, 0xD1B1, 0xD1B3, 
+    0xD1B5, 0xD1BA, 0xD1BC, 0xD1C0, 0xD1D8, 0xD1F4, 0xD1F8, 0xD207, 0xD209, 
+    0xD210, 0xD22C, 0xD22D, 0xD230, 0xD234, 0xD23C, 0xD23D, 0xD23F, 0xD241, 
+    0xD248, 0xD25C,  ERROR},
+    { ERROR, 0xD78D, 0xD78E, 0xD78F, 0xD791, 0xD792, 0xD793, 0xD794, 0xD795, 
+    0xD796, 0xD797, 0xD79A, 0xD79C, 0xD79E, 0xD79F, 0xD7A0, 0xD7A1, 0xD7A2, 
+    0xD7A3,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 0xD264, 0xD280, 
+    0xD281, 0xD284, 0xD288, 0xD290, 0xD291, 0xD295, 0xD29C, 0xD2A0, 0xD2A4, 
+    0xD2AC, 0xD2B1, 0xD2B8, 0xD2B9, 0xD2BC, 0xD2BF, 0xD2C0, 0xD2C2, 0xD2C8, 
+    0xD2C9, 0xD2CB, 0xD2D4, 0xD2D8, 0xD2DC, 0xD2E4, 0xD2E5, 0xD2F0, 0xD2F1, 
+    0xD2F4, 0xD2F8, 0xD300, 0xD301, 0xD303, 0xD305, 0xD30C, 0xD30D, 0xD30E, 
+    0xD310, 0xD314, 0xD316, 0xD31C, 0xD31D, 0xD31F, 0xD320, 0xD321, 0xD325, 
+    0xD328, 0xD329, 0xD32C, 0xD330, 0xD338, 0xD339, 0xD33B, 0xD33C, 0xD33D, 
+    0xD344, 0xD345, 0xD37C, 0xD37D, 0xD380, 0xD384, 0xD38C, 0xD38D, 0xD38F, 
+    0xD390, 0xD391, 0xD398, 0xD399, 0xD39C, 0xD3A0, 0xD3A8, 0xD3A9, 0xD3AB, 
+    0xD3AD, 0xD3B4, 0xD3B8, 0xD3BC, 0xD3C4, 0xD3C5, 0xD3C8, 0xD3C9, 0xD3D0, 
+    0xD3D8, 0xD3E1, 0xD3E3, 0xD3EC, 0xD3ED, 0xD3F0, 0xD3F4, 0xD3FC, 0xD3FD, 
+    0xD3FF, 0xD401,  ERROR},
+    { ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 0xD408, 0xD41D, 
+    0xD440, 0xD444, 0xD45C, 0xD460, 0xD464, 0xD46D, 0xD46F, 0xD478, 0xD479, 
+    0xD47C, 0xD47F, 0xD480, 0xD482, 0xD488, 0xD489, 0xD48B, 0xD48D, 0xD494, 
+    0xD4A9, 0xD4CC, 0xD4D0, 0xD4D4, 0xD4DC, 0xD4DF, 0xD4E8, 0xD4EC, 0xD4F0, 
+    0xD4F8, 0xD4FB, 0xD4FD, 0xD504, 0xD508, 0xD50C, 0xD514, 0xD515, 0xD517, 
+    0xD53C, 0xD53D, 0xD540, 0xD544, 0xD54C, 0xD54D, 0xD54F, 0xD551, 0xD558, 
+    0xD559, 0xD55C, 0xD560, 0xD565, 0xD568, 0xD569, 0xD56B, 0xD56D, 0xD574, 
+    0xD575, 0xD578, 0xD57C, 0xD584, 0xD585, 0xD587, 0xD588, 0xD589, 0xD590, 
+    0xD5A5, 0xD5C8, 0xD5C9, 0xD5CC, 0xD5D0, 0xD5D2, 0xD5D8, 0xD5D9, 0xD5DB, 
+    0xD5DD, 0xD5E4, 0xD5E5, 0xD5E8, 0xD5EC, 0xD5F4, 0xD5F5, 0xD5F7, 0xD5F9, 
+    0xD600, 0xD601, 0xD604, 0xD608, 0xD610, 0xD611, 0xD613, 0xD614, 0xD615, 
+    0xD61C, 0xD620,  ERROR},
+    { ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 0xD624, 0xD62D, 
+    0xD638, 0xD639, 0xD63C, 0xD640, 0xD645, 0xD648, 0xD649, 0xD64B, 0xD64D, 
+    0xD651, 0xD654, 0xD655, 0xD658, 0xD65C, 0xD667, 0xD669, 0xD670, 0xD671, 
+    0xD674, 0xD683, 0xD685, 0xD68C, 0xD68D, 0xD690, 0xD694, 0xD69D, 0xD69F, 
+    0xD6A1, 0xD6A8, 0xD6AC, 0xD6B0, 0xD6B9, 0xD6BB, 0xD6C4, 0xD6C5, 0xD6C8, 
+    0xD6CC, 0xD6D1, 0xD6D4, 0xD6D7, 0xD6D9, 0xD6E0, 0xD6E4, 0xD6E8, 0xD6F0, 
+    0xD6F5, 0xD6FC, 0xD6FD, 0xD700, 0xD704, 0xD711, 0xD718, 0xD719, 0xD71C, 
+    0xD720, 0xD728, 0xD729, 0xD72B, 0xD72D, 0xD734, 0xD735, 0xD738, 0xD73C, 
+    0xD744, 0xD747, 0xD749, 0xD750, 0xD751, 0xD754, 0xD756, 0xD757, 0xD758, 
+    0xD759, 0xD760, 0xD761, 0xD763, 0xD765, 0xD769, 0xD76C, 0xD770, 0xD774, 
+    0xD77C, 0xD77D, 0xD781, 0xD788, 0xD789, 0xD78C, 0xD790, 0xD798, 0xD799, 
+    0xD79B, 0xD79D,  ERROR},
+    { ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR},
+    { ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 0x4F3D, 0x4F73, 
+    0x5047, 0x50F9, 0x52A0, 0x53EF, 0x5475, 0x54E5, 0x5609, 0x5AC1, 0x5BB6, 
+    0x6687, 0x67B6, 0x67B7, 0x67EF, 0x6B4C, 0x73C2, 0x75C2, 0x7A3C, 0x82DB, 
+    0x8304, 0x8857, 0x8888, 0x8A36, 0x8CC8, 0x8DCF, 0x8EFB, 0x8FE6, 0x99D5, 
+    0x523B, 0x5374, 0x5404, 0x606A, 0x6164, 0x6BBC, 0x73CF, 0x811A, 0x89BA, 
+    0x89D2, 0x95A3, 0x4F83, 0x520A, 0x58BE, 0x5978, 0x59E6, 0x5E72, 0x5E79, 
+    0x61C7, 0x63C0, 0x6746, 0x67EC, 0x687F, 0x6F97, 0x764E, 0x770B, 0x78F5, 
+    0x7A08, 0x7AFF, 0x7C21, 0x809D, 0x826E, 0x8271, 0x8AEB, 0x9593, 0x4E6B, 
+    0x559D, 0x66F7, 0x6E34, 0x78A3, 0x7AED, 0x845B, 0x8910, 0x874E, 0x97A8, 
+    0x52D8, 0x574E, 0x582A, 0x5D4C, 0x611F, 0x61BE, 0x6221, 0x6562, 0x67D1, 
+    0x6A44, 0x6E1B, 0x7518, 0x75B3, 0x76E3, 0x77B0, 0x7D3A, 0x90AF, 0x9451, 
+    0x9452, 0x9F95,  ERROR},
+    { ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 0x5323, 0x5CAC, 
+    0x7532, 0x80DB, 0x9240, 0x9598, 0x525B, 0x5808, 0x59DC, 0x5CA1, 0x5D17, 
+    0x5EB7, 0x5F3A, 0x5F4A, 0x6177, 0x6C5F, 0x757A, 0x7586, 0x7CE0, 0x7D73, 
+    0x7DB1, 0x7F8C, 0x8154, 0x8221, 0x8591, 0x8941, 0x8B1B, 0x92FC, 0x964D, 
+    0x9C47, 0x4ECB, 0x4EF7, 0x500B, 0x51F1, 0x584F, 0x6137, 0x613E, 0x6168, 
+    0x6539, 0x69EA, 0x6F11, 0x75A5, 0x7686, 0x76D6, 0x7B87, 0x82A5, 0x84CB, 
+    0xF900, 0x93A7, 0x958B, 0x5580, 0x5BA2, 0x5751, 0xF901, 0x7CB3, 0x7FB9, 
+    0x91B5, 0x5028, 0x53BB, 0x5C45, 0x5DE8, 0x62D2, 0x636E, 0x64DA, 0x64E7, 
+    0x6E20, 0x70AC, 0x795B, 0x8DDD, 0x8E1E, 0xF902, 0x907D, 0x9245, 0x92F8, 
+    0x4E7E, 0x4EF6, 0x5065, 0x5DFE, 0x5EFA, 0x6106, 0x6957, 0x8171, 0x8654, 
+    0x8E47, 0x9375, 0x9A2B, 0x4E5E, 0x5091, 0x6770, 0x6840, 0x5109, 0x528D, 
+    0x5292, 0x6AA2,  ERROR},
+    { ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 0x77BC, 0x9210, 
+    0x9ED4, 0x52AB, 0x602F, 0x8FF2, 0x5048, 0x61A9, 0x63ED, 0x64CA, 0x683C, 
+    0x6A84, 0x6FC0, 0x8188, 0x89A1, 0x9694, 0x5805, 0x727D, 0x72AC, 0x7504, 
+    0x7D79, 0x7E6D, 0x80A9, 0x898B, 0x8B74, 0x9063, 0x9D51, 0x6289, 0x6C7A, 
+    0x6F54, 0x7D50, 0x7F3A, 0x8A23, 0x517C, 0x614A, 0x7B9D, 0x8B19, 0x9257, 
+    0x938C, 0x4EAC, 0x4FD3, 0x501E, 0x50BE, 0x5106, 0x52C1, 0x52CD, 0x537F, 
+    0x5770, 0x5883, 0x5E9A, 0x5F91, 0x6176, 0x61AC, 0x64CE, 0x656C, 0x666F, 
+    0x66BB, 0x66F4, 0x6897, 0x6D87, 0x7085, 0x70F1, 0x749F, 0x74A5, 0x74CA, 
+    0x75D9, 0x786C, 0x78EC, 0x7ADF, 0x7AF6, 0x7D45, 0x7D93, 0x8015, 0x803F, 
+    0x811B, 0x8396, 0x8B66, 0x8F15, 0x9015, 0x93E1, 0x9803, 0x9838, 0x9A5A, 
+    0x9BE8, 0x4FC2, 0x5553, 0x583A, 0x5951, 0x5B63, 0x5C46, 0x60B8, 0x6212, 
+    0x6842, 0x68B0,  ERROR},
+    { ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 0x68E8, 0x6EAA, 
+    0x754C, 0x7678, 0x78CE, 0x7A3D, 0x7CFB, 0x7E6B, 0x7E7C, 0x8A08, 0x8AA1, 
+    0x8C3F, 0x968E, 0x9DC4, 0x53E4, 0x53E9, 0x544A, 0x5471, 0x56FA, 0x59D1, 
+    0x5B64, 0x5C3B, 0x5EAB, 0x62F7, 0x6537, 0x6545, 0x6572, 0x66A0, 0x67AF, 
+    0x69C1, 0x6CBD, 0x75FC, 0x7690, 0x777E, 0x7A3F, 0x7F94, 0x8003, 0x80A1, 
+    0x818F, 0x82E6, 0x82FD, 0x83F0, 0x85C1, 0x8831, 0x88B4, 0x8AA5, 0xF903, 
+    0x8F9C, 0x932E, 0x96C7, 0x9867, 0x9AD8, 0x9F13, 0x54ED, 0x659B, 0x66F2, 
+    0x688F, 0x7A40, 0x8C37, 0x9D60, 0x56F0, 0x5764, 0x5D11, 0x6606, 0x68B1, 
+    0x68CD, 0x6EFE, 0x7428, 0x889E, 0x9BE4, 0x6C68, 0xF904, 0x9AA8, 0x4F9B, 
+    0x516C, 0x5171, 0x529F, 0x5B54, 0x5DE5, 0x6050, 0x606D, 0x62F1, 0x63A7, 
+    0x653B, 0x73D9, 0x7A7A, 0x86A3, 0x8CA2, 0x978F, 0x4E32, 0x5BE1, 0x6208, 
+    0x679C, 0x74DC,  ERROR},
+    { ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 0x79D1, 0x83D3, 
+    0x8A87, 0x8AB2, 0x8DE8, 0x904E, 0x934B, 0x9846, 0x5ED3, 0x69E8, 0x85FF, 
+    0x90ED, 0xF905, 0x51A0, 0x5B98, 0x5BEC, 0x6163, 0x68FA, 0x6B3E, 0x704C, 
+    0x742F, 0x74D8, 0x7BA1, 0x7F50, 0x83C5, 0x89C0, 0x8CAB, 0x95DC, 0x9928, 
+    0x522E, 0x605D, 0x62EC, 0x9002, 0x4F8A, 0x5149, 0x5321, 0x58D9, 0x5EE3, 
+    0x66E0, 0x6D38, 0x709A, 0x72C2, 0x73D6, 0x7B50, 0x80F1, 0x945B, 0x5366, 
+    0x639B, 0x7F6B, 0x4E56, 0x5080, 0x584A, 0x58DE, 0x602A, 0x6127, 0x62D0, 
+    0x69D0, 0x9B41, 0x5B8F, 0x7D18, 0x80B1, 0x8F5F, 0x4EA4, 0x50D1, 0x54AC, 
+    0x55AC, 0x5B0C, 0x5DA0, 0x5DE7, 0x652A, 0x654E, 0x6821, 0x6A4B, 0x72E1, 
+    0x768E, 0x77EF, 0x7D5E, 0x7FF9, 0x81A0, 0x854E, 0x86DF, 0x8F03, 0x8F4E, 
+    0x90CA, 0x9903, 0x9A55, 0x9BAB, 0x4E18, 0x4E45, 0x4E5D, 0x4EC7, 0x4FF1, 
+    0x5177, 0x52FE,  ERROR},
+    { ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 0x5340, 0x53E3, 
+    0x53E5, 0x548E, 0x5614, 0x5775, 0x57A2, 0x5BC7, 0x5D87, 0x5ED0, 0x61FC, 
+    0x62D8, 0x6551, 0x67B8, 0x67E9, 0x69CB, 0x6B50, 0x6BC6, 0x6BEC, 0x6C42, 
+    0x6E9D, 0x7078, 0x72D7, 0x7396, 0x7403, 0x77BF, 0x77E9, 0x7A76, 0x7D7F, 
+    0x8009, 0x81FC, 0x8205, 0x820A, 0x82DF, 0x8862, 0x8B33, 0x8CFC, 0x8EC0, 
+    0x9011, 0x90B1, 0x9264, 0x92B6, 0x99D2, 0x9A45, 0x9CE9, 0x9DD7, 0x9F9C, 
+    0x570B, 0x5C40, 0x83CA, 0x97A0, 0x97AB, 0x9EB4, 0x541B, 0x7A98, 0x7FA4, 
+    0x88D9, 0x8ECD, 0x90E1, 0x5800, 0x5C48, 0x6398, 0x7A9F, 0x5BAE, 0x5F13, 
+    0x7A79, 0x7AAE, 0x828E, 0x8EAC, 0x5026, 0x5238, 0x52F8, 0x5377, 0x5708, 
+    0x62F3, 0x6372, 0x6B0A, 0x6DC3, 0x7737, 0x53A5, 0x7357, 0x8568, 0x8E76, 
+    0x95D5, 0x673A, 0x6AC3, 0x6F70, 0x8A6D, 0x8ECC, 0x994B, 0xF906, 0x6677, 
+    0x6B78, 0x8CB4,  ERROR},
+    { ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 0x9B3C, 0xF907, 
+    0x53EB, 0x572D, 0x594E, 0x63C6, 0x69FB, 0x73EA, 0x7845, 0x7ABA, 0x7AC5, 
+    0x7CFE, 0x8475, 0x898F, 0x8D73, 0x9035, 0x95A8, 0x52FB, 0x5747, 0x7547, 
+    0x7B60, 0x83CC, 0x921E, 0xF908, 0x6A58, 0x514B, 0x524B, 0x5287, 0x621F, 
+    0x68D8, 0x6975, 0x9699, 0x50C5, 0x52A4, 0x52E4, 0x61C3, 0x65A4, 0x6839, 
+    0x69FF, 0x747E, 0x7B4B, 0x82B9, 0x83EB, 0x89B2, 0x8B39, 0x8FD1, 0x9949, 
+    0xF909, 0x4ECA, 0x5997, 0x64D2, 0x6611, 0x6A8E, 0x7434, 0x7981, 0x79BD, 
+    0x82A9, 0x887E, 0x887F, 0x895F, 0xF90A, 0x9326, 0x4F0B, 0x53CA, 0x6025, 
+    0x6271, 0x6C72, 0x7D1A, 0x7D66, 0x4E98, 0x5162, 0x77DC, 0x80AF, 0x4F01, 
+    0x4F0E, 0x5176, 0x5180, 0x55DC, 0x5668, 0x573B, 0x57FA, 0x57FC, 0x5914, 
+    0x5947, 0x5993, 0x5BC4, 0x5C90, 0x5D0E, 0x5DF1, 0x5E7E, 0x5FCC, 0x6280, 
+    0x65D7, 0x65E3,  ERROR},
+    { ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 0x671E, 0x671F, 
+    0x675E, 0x68CB, 0x68C4, 0x6A5F, 0x6B3A, 0x6C23, 0x6C7D, 0x6C82, 0x6DC7, 
+    0x7398, 0x7426, 0x742A, 0x7482, 0x74A3, 0x7578, 0x757F, 0x7881, 0x78EF, 
+    0x7941, 0x7947, 0x7948, 0x797A, 0x7B95, 0x7D00, 0x7DBA, 0x7F88, 0x8006, 
+    0x802D, 0x808C, 0x8A18, 0x8B4F, 0x8C48, 0x8D77, 0x9321, 0x9324, 0x98E2, 
+    0x9951, 0x9A0E, 0x9A0F, 0x9A65, 0x9E92, 0x7DCA, 0x4F76, 0x5409, 0x62EE, 
+    0x6854, 0x91D1, 0x55AB, 0x513A, 0xF90B, 0xF90C, 0x5A1C, 0x61E6, 0xF90D, 
+    0x62CF, 0x62FF, 0xF90E, 0xF90F, 0xF910, 0xF911, 0xF912, 0xF913, 0x90A3, 
+    0xF914, 0xF915, 0xF916, 0xF917, 0xF918, 0x8AFE, 0xF919, 0xF91A, 0xF91B, 
+    0xF91C, 0x6696, 0xF91D, 0x7156, 0xF91E, 0xF91F, 0x96E3, 0xF920, 0x634F, 
+    0x637A, 0x5357, 0xF921, 0x678F, 0x6960, 0x6E73, 0xF922, 0x7537, 0xF923, 
+    0xF924, 0xF925,  ERROR},
+    { ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 0x7D0D, 0xF926, 
+    0xF927, 0x8872, 0x56CA, 0x5A18, 0xF928, 0xF929, 0xF92A, 0xF92B, 0xF92C, 
+    0x4E43, 0xF92D, 0x5167, 0x5948, 0x67F0, 0x8010, 0xF92E, 0x5973, 0x5E74, 
+    0x649A, 0x79CA, 0x5FF5, 0x606C, 0x62C8, 0x637B, 0x5BE7, 0x5BD7, 0x52AA, 
+    0xF92F, 0x5974, 0x5F29, 0x6012, 0xF930, 0xF931, 0xF932, 0x7459, 0xF933, 
+    0xF934, 0xF935, 0xF936, 0xF937, 0xF938, 0x99D1, 0xF939, 0xF93A, 0xF93B, 
+    0xF93C, 0xF93D, 0xF93E, 0xF93F, 0xF940, 0xF941, 0xF942, 0xF943, 0x6FC3, 
+    0xF944, 0xF945, 0x81BF, 0x8FB2, 0x60F1, 0xF946, 0xF947, 0x8166, 0xF948, 
+    0xF949, 0x5C3F, 0xF94A, 0xF94B, 0xF94C, 0xF94D, 0xF94E, 0xF94F, 0xF950, 
+    0xF951, 0x5AE9, 0x8A25, 0x677B, 0x7D10, 0xF952, 0xF953, 0xF954, 0xF955, 
+    0xF956, 0xF957, 0x80FD, 0xF958, 0xF959, 0x5C3C, 0x6CE5, 0x533F, 0x6EBA, 
+    0x591A, 0x8336,  ERROR},
+    { ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 0x4E39, 0x4EB6, 
+    0x4F46, 0x55AE, 0x5718, 0x58C7, 0x5F56, 0x65B7, 0x65E6, 0x6A80, 0x6BB5, 
+    0x6E4D, 0x77ED, 0x7AEF, 0x7C1E, 0x7DDE, 0x86CB, 0x8892, 0x9132, 0x935B, 
+    0x64BB, 0x6FBE, 0x737A, 0x75B8, 0x9054, 0x5556, 0x574D, 0x61BA, 0x64D4, 
+    0x66C7, 0x6DE1, 0x6E5B, 0x6F6D, 0x6FB9, 0x75F0, 0x8043, 0x81BD, 0x8541, 
+    0x8983, 0x8AC7, 0x8B5A, 0x931F, 0x6C93, 0x7553, 0x7B54, 0x8E0F, 0x905D, 
+    0x5510, 0x5802, 0x5858, 0x5E62, 0x6207, 0x649E, 0x68E0, 0x7576, 0x7CD6, 
+    0x87B3, 0x9EE8, 0x4EE3, 0x5788, 0x576E, 0x5927, 0x5C0D, 0x5CB1, 0x5E36, 
+    0x5F85, 0x6234, 0x64E1, 0x73B3, 0x81FA, 0x888B, 0x8CB8, 0x968A, 0x9EDB, 
+    0x5B85, 0x5FB7, 0x60B3, 0x5012, 0x5200, 0x5230, 0x5716, 0x5835, 0x5857, 
+    0x5C0E, 0x5C60, 0x5CF6, 0x5D8B, 0x5EA6, 0x5F92, 0x60BC, 0x6311, 0x6389, 
+    0x6417, 0x6843,  ERROR},
+    { ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 0x68F9, 0x6AC2, 
+    0x6DD8, 0x6E21, 0x6ED4, 0x6FE4, 0x71FE, 0x76DC, 0x7779, 0x79B1, 0x7A3B, 
+    0x8404, 0x89A9, 0x8CED, 0x8DF3, 0x8E48, 0x9003, 0x9014, 0x9053, 0x90FD, 
+    0x934D, 0x9676, 0x97DC, 0x6BD2, 0x7006, 0x7258, 0x72A2, 0x7368, 0x7763, 
+    0x79BF, 0x7BE4, 0x7E9B, 0x8B80, 0x58A9, 0x60C7, 0x6566, 0x65FD, 0x66BE, 
+    0x6C8C, 0x711E, 0x71C9, 0x8C5A, 0x9813, 0x4E6D, 0x7A81, 0x4EDD, 0x51AC, 
+    0x51CD, 0x52D5, 0x540C, 0x61A7, 0x6771, 0x6850, 0x68DF, 0x6D1E, 0x6F7C, 
+    0x75BC, 0x77B3, 0x7AE5, 0x80F4, 0x8463, 0x9285, 0x515C, 0x6597, 0x675C, 
+    0x6793, 0x75D8, 0x7AC7, 0x8373, 0xF95A, 0x8C46, 0x9017, 0x982D, 0x5C6F, 
+    0x81C0, 0x829A, 0x9041, 0x906F, 0x920D, 0x5F97, 0x5D9D, 0x6A59, 0x71C8, 
+    0x767B, 0x7B49, 0x85E4, 0x8B04, 0x9127, 0x9A30, 0x5587, 0x61F6, 0xF95B, 
+    0x7669, 0x7F85,  ERROR},
+    { ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 0x863F, 0x87BA, 
+    0x88F8, 0x908F, 0xF95C, 0x6D1B, 0x70D9, 0x73DE, 0x7D61, 0x843D, 0xF95D, 
+    0x916A, 0x99F1, 0xF95E, 0x4E82, 0x5375, 0x6B04, 0x6B12, 0x703E, 0x721B, 
+    0x862D, 0x9E1E, 0x524C, 0x8FA3, 0x5D50, 0x64E5, 0x652C, 0x6B16, 0x6FEB, 
+    0x7C43, 0x7E9C, 0x85CD, 0x8964, 0x89BD, 0x62C9, 0x81D8, 0x881F, 0x5ECA, 
+    0x6717, 0x6D6A, 0x72FC, 0x7405, 0x746F, 0x8782, 0x90DE, 0x4F86, 0x5D0D, 
+    0x5FA0, 0x840A, 0x51B7, 0x63A0, 0x7565, 0x4EAE, 0x5006, 0x5169, 0x51C9, 
+    0x6881, 0x6A11, 0x7CAE, 0x7CB1, 0x7CE7, 0x826F, 0x8AD2, 0x8F1B, 0x91CF, 
+    0x4FB6, 0x5137, 0x52F5, 0x5442, 0x5EEC, 0x616E, 0x623E, 0x65C5, 0x6ADA, 
+    0x6FFE, 0x792A, 0x85DC, 0x8823, 0x95AD, 0x9A62, 0x9A6A, 0x9E97, 0x9ECE, 
+    0x529B, 0x66C6, 0x6B77, 0x701D, 0x792B, 0x8F62, 0x9742, 0x6190, 0x6200, 
+    0x6523, 0x6F23,  ERROR},
+    { ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 0x7149, 0x7489, 
+    0x7DF4, 0x806F, 0x84EE, 0x8F26, 0x9023, 0x934A, 0x51BD, 0x5217, 0x52A3, 
+    0x6D0C, 0x70C8, 0x88C2, 0x5EC9, 0x6582, 0x6BAE, 0x6FC2, 0x7C3E, 0x7375, 
+    0x4EE4, 0x4F36, 0x56F9, 0xF95F, 0x5CBA, 0x5DBA, 0x601C, 0x73B2, 0x7B2D, 
+    0x7F9A, 0x7FCE, 0x8046, 0x901E, 0x9234, 0x96F6, 0x9748, 0x9818, 0x9F61, 
+    0x4F8B, 0x6FA7, 0x79AE, 0x91B4, 0x96B7, 0x52DE, 0xF960, 0x6488, 0x64C4, 
+    0x6AD3, 0x6F5E, 0x7018, 0x7210, 0x76E7, 0x8001, 0x8606, 0x865C, 0x8DEF, 
+    0x8F05, 0x9732, 0x9B6F, 0x9DFA, 0x9E75, 0x788C, 0x797F, 0x7DA0, 0x83C9, 
+    0x9304, 0x9E7F, 0x9E93, 0x8AD6, 0x58DF, 0x5F04, 0x6727, 0x7027, 0x74CF, 
+    0x7C60, 0x807E, 0x5121, 0x7028, 0x7262, 0x78CA, 0x8CC2, 0x8CDA, 0x8CF4, 
+    0x96F7, 0x4E86, 0x50DA, 0x5BEE, 0x5ED6, 0x6599, 0x71CE, 0x7642, 0x77AD, 
+    0x804A, 0x84FC,  ERROR},
+    { ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 0x907C, 0x9B27, 
+    0x9F8D, 0x58D8, 0x5A41, 0x5C62, 0x6A13, 0x6DDA, 0x6F0F, 0x763B, 0x7D2F, 
+    0x7E37, 0x851E, 0x8938, 0x93E4, 0x964B, 0x5289, 0x65D2, 0x67F3, 0x69B4, 
+    0x6D41, 0x6E9C, 0x700F, 0x7409, 0x7460, 0x7559, 0x7624, 0x786B, 0x8B2C, 
+    0x985E, 0x516D, 0x622E, 0x9678, 0x4F96, 0x502B, 0x5D19, 0x6DEA, 0x7DB8, 
+    0x8F2A, 0x5F8B, 0x6144, 0x6817, 0xF961, 0x9686, 0x52D2, 0x808B, 0x51DC, 
+    0x51CC, 0x695E, 0x7A1C, 0x7DBE, 0x83F1, 0x9675, 0x4FDA, 0x5229, 0x5398, 
+    0x540F, 0x550E, 0x5C65, 0x60A7, 0x674E, 0x68A8, 0x6D6C, 0x7281, 0x72F8, 
+    0x7406, 0x7483, 0xF962, 0x75E2, 0x7C6C, 0x7F79, 0x7FB8, 0x8389, 0x88CF, 
+    0x88E1, 0x91CC, 0x91D0, 0x96E2, 0x9BC9, 0x541D, 0x6F7E, 0x71D0, 0x7498, 
+    0x85FA, 0x8EAA, 0x96A3, 0x9C57, 0x9E9F, 0x6797, 0x6DCB, 0x7433, 0x81E8, 
+    0x9716, 0x782C,  ERROR},
+    { ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 0x7ACB, 0x7B20, 
+    0x7C92, 0x6469, 0x746A, 0x75F2, 0x78BC, 0x78E8, 0x99AC, 0x9B54, 0x9EBB, 
+    0x5BDE, 0x5E55, 0x6F20, 0x819C, 0x83AB, 0x9088, 0x4E07, 0x534D, 0x5A29, 
+    0x5DD2, 0x5F4E, 0x6162, 0x633D, 0x6669, 0x66FC, 0x6EFF, 0x6F2B, 0x7063, 
+    0x779E, 0x842C, 0x8513, 0x883B, 0x8F13, 0x9945, 0x9C3B, 0x551C, 0x62B9, 
+    0x672B, 0x6CAB, 0x8309, 0x896A, 0x977A, 0x4EA1, 0x5984, 0x5FD8, 0x5FD9, 
+    0x671B, 0x7DB2, 0x7F54, 0x8292, 0x832B, 0x83BD, 0x8F1E, 0x9099, 0x57CB, 
+    0x59B9, 0x5A92, 0x5BD0, 0x6627, 0x679A, 0x6885, 0x6BCF, 0x7164, 0x7F75, 
+    0x8CB7, 0x8CE3, 0x9081, 0x9B45, 0x8108, 0x8C8A, 0x964C, 0x9A40, 0x9EA5, 
+    0x5B5F, 0x6C13, 0x731B, 0x76F2, 0x76DF, 0x840C, 0x51AA, 0x8993, 0x514D, 
+    0x5195, 0x52C9, 0x68C9, 0x6C94, 0x7704, 0x7720, 0x7DBF, 0x7DEC, 0x9762, 
+    0x9EB5, 0x6EC5,  ERROR},
+    { ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 0x8511, 0x51A5, 
+    0x540D, 0x547D, 0x660E, 0x669D, 0x6927, 0x6E9F, 0x76BF, 0x7791, 0x8317, 
+    0x84C2, 0x879F, 0x9169, 0x9298, 0x9CF4, 0x8882, 0x4FAE, 0x5192, 0x52DF, 
+    0x59C6, 0x5E3D, 0x6155, 0x6478, 0x6479, 0x66AE, 0x67D0, 0x6A21, 0x6BCD, 
+    0x6BDB, 0x725F, 0x7261, 0x7441, 0x7738, 0x77DB, 0x8017, 0x82BC, 0x8305, 
+    0x8B00, 0x8B28, 0x8C8C, 0x6728, 0x6C90, 0x7267, 0x76EE, 0x7766, 0x7A46, 
+    0x9DA9, 0x6B7F, 0x6C92, 0x5922, 0x6726, 0x8499, 0x536F, 0x5893, 0x5999, 
+    0x5EDF, 0x63CF, 0x6634, 0x6773, 0x6E3A, 0x732B, 0x7AD7, 0x82D7, 0x9328, 
+    0x52D9, 0x5DEB, 0x61AE, 0x61CB, 0x620A, 0x62C7, 0x64AB, 0x65E0, 0x6959, 
+    0x6B66, 0x6BCB, 0x7121, 0x73F7, 0x755D, 0x7E46, 0x821E, 0x8302, 0x856A, 
+    0x8AA3, 0x8CBF, 0x9727, 0x9D61, 0x58A8, 0x9ED8, 0x5011, 0x520E, 0x543B, 
+    0x554F, 0x6587,  ERROR},
+    { ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 0x6C76, 0x7D0A, 
+    0x7D0B, 0x805E, 0x868A, 0x9580, 0x96EF, 0x52FF, 0x6C95, 0x7269, 0x5473, 
+    0x5A9A, 0x5C3E, 0x5D4B, 0x5F4C, 0x5FAE, 0x672A, 0x68B6, 0x6963, 0x6E3C, 
+    0x6E44, 0x7709, 0x7C73, 0x7F8E, 0x8587, 0x8B0E, 0x8FF7, 0x9761, 0x9EF4, 
+    0x5CB7, 0x60B6, 0x610D, 0x61AB, 0x654F, 0x65FB, 0x65FC, 0x6C11, 0x6CEF, 
+    0x739F, 0x73C9, 0x7DE1, 0x9594, 0x5BC6, 0x871C, 0x8B10, 0x525D, 0x535A, 
+    0x62CD, 0x640F, 0x64B2, 0x6734, 0x6A38, 0x6CCA, 0x73C0, 0x749E, 0x7B94, 
+    0x7C95, 0x7E1B, 0x818A, 0x8236, 0x8584, 0x8FEB, 0x96F9, 0x99C1, 0x4F34, 
+    0x534A, 0x53CD, 0x53DB, 0x62CC, 0x642C, 0x6500, 0x6591, 0x69C3, 0x6CEE, 
+    0x6F58, 0x73ED, 0x7554, 0x7622, 0x76E4, 0x76FC, 0x78D0, 0x78FB, 0x792C, 
+    0x7D46, 0x822C, 0x87E0, 0x8FD4, 0x9812, 0x98EF, 0x52C3, 0x62D4, 0x64A5, 
+    0x6E24, 0x6F51,  ERROR},
+    { ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 0x767C, 0x8DCB, 
+    0x91B1, 0x9262, 0x9AEE, 0x9B43, 0x5023, 0x508D, 0x574A, 0x59A8, 0x5C28, 
+    0x5E47, 0x5F77, 0x623F, 0x653E, 0x65B9, 0x65C1, 0x6609, 0x678B, 0x699C, 
+    0x6EC2, 0x78C5, 0x7D21, 0x80AA, 0x8180, 0x822B, 0x82B3, 0x84A1, 0x868C, 
+    0x8A2A, 0x8B17, 0x90A6, 0x9632, 0x9F90, 0x500D, 0x4FF3, 0xF963, 0x57F9, 
+    0x5F98, 0x62DC, 0x6392, 0x676F, 0x6E43, 0x7119, 0x76C3, 0x80CC, 0x80DA, 
+    0x88F4, 0x88F5, 0x8919, 0x8CE0, 0x8F29, 0x914D, 0x966A, 0x4F2F, 0x4F70, 
+    0x5E1B, 0x67CF, 0x6822, 0x767D, 0x767E, 0x9B44, 0x5E61, 0x6A0A, 0x7169, 
+    0x71D4, 0x756A, 0xF964, 0x7E41, 0x8543, 0x85E9, 0x98DC, 0x4F10, 0x7B4F, 
+    0x7F70, 0x95A5, 0x51E1, 0x5E06, 0x68B5, 0x6C3E, 0x6C4E, 0x6CDB, 0x72AF, 
+    0x7BC4, 0x8303, 0x6CD5, 0x743A, 0x50FB, 0x5288, 0x58C1, 0x64D8, 0x6A97, 
+    0x74A7, 0x7656,  ERROR},
+    { ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 0x78A7, 0x8617, 
+    0x95E2, 0x9739, 0xF965, 0x535E, 0x5F01, 0x8B8A, 0x8FA8, 0x8FAF, 0x908A, 
+    0x5225, 0x77A5, 0x9C49, 0x9F08, 0x4E19, 0x5002, 0x5175, 0x5C5B, 0x5E77, 
+    0x661E, 0x663A, 0x67C4, 0x68C5, 0x70B3, 0x7501, 0x75C5, 0x79C9, 0x7ADD, 
+    0x8F27, 0x9920, 0x9A08, 0x4FDD, 0x5821, 0x5831, 0x5BF6, 0x666E, 0x6B65, 
+    0x6D11, 0x6E7A, 0x6F7D, 0x73E4, 0x752B, 0x83E9, 0x88DC, 0x8913, 0x8B5C, 
+    0x8F14, 0x4F0F, 0x50D5, 0x5310, 0x535C, 0x5B93, 0x5FA9, 0x670D, 0x798F, 
+    0x8179, 0x832F, 0x8514, 0x8907, 0x8986, 0x8F39, 0x8F3B, 0x99A5, 0x9C12, 
+    0x672C, 0x4E76, 0x4FF8, 0x5949, 0x5C01, 0x5CEF, 0x5CF0, 0x6367, 0x68D2, 
+    0x70FD, 0x71A2, 0x742B, 0x7E2B, 0x84EC, 0x8702, 0x9022, 0x92D2, 0x9CF3, 
+    0x4E0D, 0x4ED8, 0x4FEF, 0x5085, 0x5256, 0x526F, 0x5426, 0x5490, 0x57E0, 
+    0x592B, 0x5A66,  ERROR},
+    { ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 0x5B5A, 0x5B75, 
+    0x5BCC, 0x5E9C, 0xF966, 0x6276, 0x6577, 0x65A7, 0x6D6E, 0x6EA5, 0x7236, 
+    0x7B26, 0x7C3F, 0x7F36, 0x8150, 0x8151, 0x819A, 0x8240, 0x8299, 0x83A9, 
+    0x8A03, 0x8CA0, 0x8CE6, 0x8CFB, 0x8D74, 0x8DBA, 0x90E8, 0x91DC, 0x961C, 
+    0x9644, 0x99D9, 0x9CE7, 0x5317, 0x5206, 0x5429, 0x5674, 0x58B3, 0x5954, 
+    0x596E, 0x5FFF, 0x61A4, 0x626E, 0x6610, 0x6C7E, 0x711A, 0x76C6, 0x7C89, 
+    0x7CDE, 0x7D1B, 0x82AC, 0x8CC1, 0x96F0, 0xF967, 0x4F5B, 0x5F17, 0x5F7F, 
+    0x62C2, 0x5D29, 0x670B, 0x68DA, 0x787C, 0x7E43, 0x9D6C, 0x4E15, 0x5099, 
+    0x5315, 0x532A, 0x5351, 0x5983, 0x5A62, 0x5E87, 0x60B2, 0x618A, 0x6249, 
+    0x6279, 0x6590, 0x6787, 0x69A7, 0x6BD4, 0x6BD6, 0x6BD7, 0x6BD8, 0x6CB8, 
+    0xF968, 0x7435, 0x75FA, 0x7812, 0x7891, 0x79D5, 0x79D8, 0x7C83, 0x7DCB, 
+    0x7FE1, 0x80A5,  ERROR},
+    { ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 0x813E, 0x81C2, 
+    0x83F2, 0x871A, 0x88E8, 0x8AB9, 0x8B6C, 0x8CBB, 0x9119, 0x975E, 0x98DB, 
+    0x9F3B, 0x56AC, 0x5B2A, 0x5F6C, 0x658C, 0x6AB3, 0x6BAF, 0x6D5C, 0x6FF1, 
+    0x7015, 0x725D, 0x73AD, 0x8CA7, 0x8CD3, 0x983B, 0x6191, 0x6C37, 0x8058, 
+    0x9A01, 0x4E4D, 0x4E8B, 0x4E9B, 0x4ED5, 0x4F3A, 0x4F3C, 0x4F7F, 0x4FDF, 
+    0x50FF, 0x53F2, 0x53F8, 0x5506, 0x55E3, 0x56DB, 0x58EB, 0x5962, 0x5A11, 
+    0x5BEB, 0x5BFA, 0x5C04, 0x5DF3, 0x5E2B, 0x5F99, 0x601D, 0x6368, 0x659C, 
+    0x65AF, 0x67F6, 0x67FB, 0x68AD, 0x6B7B, 0x6C99, 0x6CD7, 0x6E23, 0x7009, 
+    0x7345, 0x7802, 0x793E, 0x7940, 0x7960, 0x79C1, 0x7BE9, 0x7D17, 0x7D72, 
+    0x8086, 0x820D, 0x838E, 0x84D1, 0x86C7, 0x88DF, 0x8A50, 0x8A5E, 0x8B1D, 
+    0x8CDC, 0x8D66, 0x8FAD, 0x90AA, 0x98FC, 0x99DF, 0x9E9D, 0x524A, 0xF969, 
+    0x6714, 0xF96A,  ERROR},
+    { ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 0x5098, 0x522A, 
+    0x5C71, 0x6563, 0x6C55, 0x73CA, 0x7523, 0x759D, 0x7B97, 0x849C, 0x9178, 
+    0x9730, 0x4E77, 0x6492, 0x6BBA, 0x715E, 0x85A9, 0x4E09, 0xF96B, 0x6749, 
+    0x68EE, 0x6E17, 0x829F, 0x8518, 0x886B, 0x63F7, 0x6F81, 0x9212, 0x98AF, 
+    0x4E0A, 0x50B7, 0x50CF, 0x511F, 0x5546, 0x55AA, 0x5617, 0x5B40, 0x5C19, 
+    0x5CE0, 0x5E38, 0x5E8A, 0x5EA0, 0x5EC2, 0x60F3, 0x6851, 0x6A61, 0x6E58, 
+    0x723D, 0x7240, 0x72C0, 0x76F8, 0x7965, 0x7BB1, 0x7FD4, 0x88F3, 0x89F4, 
+    0x8A73, 0x8C61, 0x8CDE, 0x971C, 0x585E, 0x74BD, 0x8CFD, 0x55C7, 0xF96C, 
+    0x7A61, 0x7D22, 0x8272, 0x7272, 0x751F, 0x7525, 0xF96D, 0x7B19, 0x5885, 
+    0x58FB, 0x5DBC, 0x5E8F, 0x5EB6, 0x5F90, 0x6055, 0x6292, 0x637F, 0x654D, 
+    0x6691, 0x66D9, 0x66F8, 0x6816, 0x68F2, 0x7280, 0x745E, 0x7B6E, 0x7D6E, 
+    0x7DD6, 0x7F72,  ERROR},
+    { ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 0x80E5, 0x8212, 
+    0x85AF, 0x897F, 0x8A93, 0x901D, 0x92E4, 0x9ECD, 0x9F20, 0x5915, 0x596D, 
+    0x5E2D, 0x60DC, 0x6614, 0x6673, 0x6790, 0x6C50, 0x6DC5, 0x6F5F, 0x77F3, 
+    0x78A9, 0x84C6, 0x91CB, 0x932B, 0x4ED9, 0x50CA, 0x5148, 0x5584, 0x5B0B, 
+    0x5BA3, 0x6247, 0x657E, 0x65CB, 0x6E32, 0x717D, 0x7401, 0x7444, 0x7487, 
+    0x74BF, 0x766C, 0x79AA, 0x7DDA, 0x7E55, 0x7FA8, 0x817A, 0x81B3, 0x8239, 
+    0x861A, 0x87EC, 0x8A75, 0x8DE3, 0x9078, 0x9291, 0x9425, 0x994D, 0x9BAE, 
+    0x5368, 0x5C51, 0x6954, 0x6CC4, 0x6D29, 0x6E2B, 0x820C, 0x859B, 0x893B, 
+    0x8A2D, 0x8AAA, 0x96EA, 0x9F67, 0x5261, 0x66B9, 0x6BB2, 0x7E96, 0x87FE, 
+    0x8D0D, 0x9583, 0x965D, 0x651D, 0x6D89, 0x71EE, 0xF96E, 0x57CE, 0x59D3, 
+    0x5BAC, 0x6027, 0x60FA, 0x6210, 0x661F, 0x665F, 0x7329, 0x73F9, 0x76DB, 
+    0x7701, 0x7B6C,  ERROR},
+    { ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 0x8056, 0x8072, 
+    0x8165, 0x8AA0, 0x9192, 0x4E16, 0x52E2, 0x6B72, 0x6D17, 0x7A05, 0x7B39, 
+    0x7D30, 0xF96F, 0x8CB0, 0x53EC, 0x562F, 0x5851, 0x5BB5, 0x5C0F, 0x5C11, 
+    0x5DE2, 0x6240, 0x6383, 0x6414, 0x662D, 0x68B3, 0x6CBC, 0x6D88, 0x6EAF, 
+    0x701F, 0x70A4, 0x71D2, 0x7526, 0x758F, 0x758E, 0x7619, 0x7B11, 0x7BE0, 
+    0x7C2B, 0x7D20, 0x7D39, 0x852C, 0x856D, 0x8607, 0x8A34, 0x900D, 0x9061, 
+    0x90B5, 0x92B7, 0x97F6, 0x9A37, 0x4FD7, 0x5C6C, 0x675F, 0x6D91, 0x7C9F, 
+    0x7E8C, 0x8B16, 0x8D16, 0x901F, 0x5B6B, 0x5DFD, 0x640D, 0x84C0, 0x905C, 
+    0x98E1, 0x7387, 0x5B8B, 0x609A, 0x677E, 0x6DDE, 0x8A1F, 0x8AA6, 0x9001, 
+    0x980C, 0x5237, 0xF970, 0x7051, 0x788E, 0x9396, 0x8870, 0x91D7, 0x4FEE, 
+    0x53D7, 0x55FD, 0x56DA, 0x5782, 0x58FD, 0x5AC2, 0x5B88, 0x5CAB, 0x5CC0, 
+    0x5E25, 0x6101,  ERROR},
+    { ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 0x620D, 0x624B, 
+    0x6388, 0x641C, 0x6536, 0x6578, 0x6A39, 0x6B8A, 0x6C34, 0x6D19, 0x6F31, 
+    0x71E7, 0x72E9, 0x7378, 0x7407, 0x74B2, 0x7626, 0x7761, 0x79C0, 0x7A57, 
+    0x7AEA, 0x7CB9, 0x7D8F, 0x7DAC, 0x7E61, 0x7F9E, 0x8129, 0x8331, 0x8490, 
+    0x84DA, 0x85EA, 0x8896, 0x8AB0, 0x8B90, 0x8F38, 0x9042, 0x9083, 0x916C, 
+    0x9296, 0x92B9, 0x968B, 0x96A7, 0x96A8, 0x96D6, 0x9700, 0x9808, 0x9996, 
+    0x9AD3, 0x9B1A, 0x53D4, 0x587E, 0x5919, 0x5B70, 0x5BBF, 0x6DD1, 0x6F5A, 
+    0x719F, 0x7421, 0x74B9, 0x8085, 0x83FD, 0x5DE1, 0x5F87, 0x5FAA, 0x6042, 
+    0x65EC, 0x6812, 0x696F, 0x6A53, 0x6B89, 0x6D35, 0x6DF3, 0x73E3, 0x76FE, 
+    0x77AC, 0x7B4D, 0x7D14, 0x8123, 0x821C, 0x8340, 0x84F4, 0x8563, 0x8A62, 
+    0x8AC4, 0x9187, 0x931E, 0x9806, 0x99B4, 0x620C, 0x8853, 0x8FF0, 0x9265, 
+    0x5D07, 0x5D27,  ERROR},
+    { ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 0x5D69, 0x745F, 
+    0x819D, 0x8768, 0x6FD5, 0x62FE, 0x7FD2, 0x8936, 0x8972, 0x4E1E, 0x4E58, 
+    0x50E7, 0x52DD, 0x5347, 0x627F, 0x6607, 0x7E69, 0x8805, 0x965E, 0x4F8D, 
+    0x5319, 0x5636, 0x59CB, 0x5AA4, 0x5C38, 0x5C4E, 0x5C4D, 0x5E02, 0x5F11, 
+    0x6043, 0x65BD, 0x662F, 0x6642, 0x67BE, 0x67F4, 0x731C, 0x77E2, 0x793A, 
+    0x7FC5, 0x8494, 0x84CD, 0x8996, 0x8A66, 0x8A69, 0x8AE1, 0x8C55, 0x8C7A, 
+    0x57F4, 0x5BD4, 0x5F0F, 0x606F, 0x62ED, 0x690D, 0x6B96, 0x6E5C, 0x7184, 
+    0x7BD2, 0x8755, 0x8B58, 0x8EFE, 0x98DF, 0x98FE, 0x4F38, 0x4F81, 0x4FE1, 
+    0x547B, 0x5A20, 0x5BB8, 0x613C, 0x65B0, 0x6668, 0x71FC, 0x7533, 0x795E, 
+    0x7D33, 0x814E, 0x81E3, 0x8398, 0x85AA, 0x85CE, 0x8703, 0x8A0A, 0x8EAB, 
+    0x8F9B, 0xF971, 0x8FC5, 0x5931, 0x5BA4, 0x5BE6, 0x6089, 0x5BE9, 0x5C0B, 
+    0x5FC3, 0x6C81,  ERROR},
+    { ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 0xF972, 0x6DF1, 
+    0x700B, 0x751A, 0x82AF, 0x8AF6, 0x4EC0, 0x5341, 0xF973, 0x96D9, 0x6C0F, 
+    0x4E9E, 0x4FC4, 0x5152, 0x555E, 0x5A25, 0x5CE8, 0x6211, 0x7259, 0x82BD, 
+    0x83AA, 0x86FE, 0x8859, 0x8A1D, 0x963F, 0x96C5, 0x9913, 0x9D09, 0x9D5D, 
+    0x580A, 0x5CB3, 0x5DBD, 0x5E44, 0x60E1, 0x6115, 0x63E1, 0x6A02, 0x6E25, 
+    0x9102, 0x9354, 0x984E, 0x9C10, 0x9F77, 0x5B89, 0x5CB8, 0x6309, 0x664F, 
+    0x6848, 0x773C, 0x96C1, 0x978D, 0x9854, 0x9B9F, 0x65A1, 0x8B01, 0x8ECB, 
+    0x95BC, 0x5535, 0x5CA9, 0x5DD6, 0x5EB5, 0x6697, 0x764C, 0x83F4, 0x95C7, 
+    0x58D3, 0x62BC, 0x72CE, 0x9D28, 0x4EF0, 0x592E, 0x600F, 0x663B, 0x6B83, 
+    0x79E7, 0x9D26, 0x5393, 0x54C0, 0x57C3, 0x5D16, 0x611B, 0x66D6, 0x6DAF, 
+    0x788D, 0x827E, 0x9698, 0x9744, 0x5384, 0x627C, 0x6396, 0x6DB2, 0x7E0A, 
+    0x814B, 0x984D,  ERROR},
+    { ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 0x6AFB, 0x7F4C, 
+    0x9DAF, 0x9E1A, 0x4E5F, 0x503B, 0x51B6, 0x591C, 0x60F9, 0x63F6, 0x6930, 
+    0x723A, 0x8036, 0xF974, 0x91CE, 0x5F31, 0xF975, 0xF976, 0x7D04, 0x82E5, 
+    0x846F, 0x84BB, 0x85E5, 0x8E8D, 0xF977, 0x4F6F, 0xF978, 0xF979, 0x58E4, 
+    0x5B43, 0x6059, 0x63DA, 0x6518, 0x656D, 0x6698, 0xF97A, 0x694A, 0x6A23, 
+    0x6D0B, 0x7001, 0x716C, 0x75D2, 0x760D, 0x79B3, 0x7A70, 0xF97B, 0x7F8A, 
+    0xF97C, 0x8944, 0xF97D, 0x8B93, 0x91C0, 0x967D, 0xF97E, 0x990A, 0x5704, 
+    0x5FA1, 0x65BC, 0x6F01, 0x7600, 0x79A6, 0x8A9E, 0x99AD, 0x9B5A, 0x9F6C, 
+    0x5104, 0x61B6, 0x6291, 0x6A8D, 0x81C6, 0x5043, 0x5830, 0x5F66, 0x7109, 
+    0x8A00, 0x8AFA, 0x5B7C, 0x8616, 0x4FFA, 0x513C, 0x56B4, 0x5944, 0x63A9, 
+    0x6DF9, 0x5DAA, 0x696D, 0x5186, 0x4E88, 0x4F59, 0xF97F, 0xF980, 0xF981, 
+    0x5982, 0xF982,  ERROR},
+    { ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 0xF983, 0x6B5F, 
+    0x6C5D, 0xF984, 0x74B5, 0x7916, 0xF985, 0x8207, 0x8245, 0x8339, 0x8F3F, 
+    0x8F5D, 0xF986, 0x9918, 0xF987, 0xF988, 0xF989, 0x4EA6, 0xF98A, 0x57DF, 
+    0x5F79, 0x6613, 0xF98B, 0xF98C, 0x75AB, 0x7E79, 0x8B6F, 0xF98D, 0x9006, 
+    0x9A5B, 0x56A5, 0x5827, 0x59F8, 0x5A1F, 0x5BB4, 0xF98E, 0x5EF6, 0xF98F, 
+    0xF990, 0x6350, 0x633B, 0xF991, 0x693D, 0x6C87, 0x6CBF, 0x6D8E, 0x6D93, 
+    0x6DF5, 0x6F14, 0xF992, 0x70DF, 0x7136, 0x7159, 0xF993, 0x71C3, 0x71D5, 
+    0xF994, 0x784F, 0x786F, 0xF995, 0x7B75, 0x7DE3, 0xF996, 0x7E2F, 0xF997, 
+    0x884D, 0x8EDF, 0xF998, 0xF999, 0xF99A, 0x925B, 0xF99B, 0x9CF6, 0xF99C, 
+    0xF99D, 0xF99E, 0x6085, 0x6D85, 0xF99F, 0x71B1, 0xF9A0, 0xF9A1, 0x95B1, 
+    0x53AD, 0xF9A2, 0xF9A3, 0xF9A4, 0x67D3, 0xF9A5, 0x708E, 0x7130, 0x7430, 
+    0x8276, 0x82D2,  ERROR},
+    { ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 0xF9A6, 0x95BB, 
+    0x9AE5, 0x9E7D, 0x66C4, 0xF9A7, 0x71C1, 0x8449, 0xF9A8, 0xF9A9, 0x584B, 
+    0xF9AA, 0xF9AB, 0x5DB8, 0x5F71, 0xF9AC, 0x6620, 0x668E, 0x6979, 0x69AE, 
+    0x6C38, 0x6CF3, 0x6E36, 0x6F41, 0x6FDA, 0x701B, 0x702F, 0x7150, 0x71DF, 
+    0x7370, 0xF9AD, 0x745B, 0xF9AE, 0x74D4, 0x76C8, 0x7A4E, 0x7E93, 0xF9AF, 
+    0xF9B0, 0x82F1, 0x8A60, 0x8FCE, 0xF9B1, 0x9348, 0xF9B2, 0x9719, 0xF9B3, 
+    0xF9B4, 0x4E42, 0x502A, 0xF9B5, 0x5208, 0x53E1, 0x66F3, 0x6C6D, 0x6FCA, 
+    0x730A, 0x777F, 0x7A62, 0x82AE, 0x85DD, 0x8602, 0xF9B6, 0x88D4, 0x8A63, 
+    0x8B7D, 0x8C6B, 0xF9B7, 0x92B3, 0xF9B8, 0x9713, 0x9810, 0x4E94, 0x4F0D, 
+    0x4FC9, 0x50B2, 0x5348, 0x543E, 0x5433, 0x55DA, 0x5862, 0x58BA, 0x5967, 
+    0x5A1B, 0x5BE4, 0x609F, 0xF9B9, 0x61CA, 0x6556, 0x65FF, 0x6664, 0x68A7, 
+    0x6C5A, 0x6FB3,  ERROR},
+    { ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 0x70CF, 0x71AC, 
+    0x7352, 0x7B7D, 0x8708, 0x8AA4, 0x9C32, 0x9F07, 0x5C4B, 0x6C83, 0x7344, 
+    0x7389, 0x923A, 0x6EAB, 0x7465, 0x761F, 0x7A69, 0x7E15, 0x860A, 0x5140, 
+    0x58C5, 0x64C1, 0x74EE, 0x7515, 0x7670, 0x7FC1, 0x9095, 0x96CD, 0x9954, 
+    0x6E26, 0x74E6, 0x7AA9, 0x7AAA, 0x81E5, 0x86D9, 0x8778, 0x8A1B, 0x5A49, 
+    0x5B8C, 0x5B9B, 0x68A1, 0x6900, 0x6D63, 0x73A9, 0x7413, 0x742C, 0x7897, 
+    0x7DE9, 0x7FEB, 0x8118, 0x8155, 0x839E, 0x8C4C, 0x962E, 0x9811, 0x66F0, 
+    0x5F80, 0x65FA, 0x6789, 0x6C6A, 0x738B, 0x502D, 0x5A03, 0x6B6A, 0x77EE, 
+    0x5916, 0x5D6C, 0x5DCD, 0x7325, 0x754F, 0xF9BA, 0xF9BB, 0x50E5, 0x51F9, 
+    0x582F, 0x592D, 0x5996, 0x59DA, 0x5BE5, 0xF9BC, 0xF9BD, 0x5DA2, 0x62D7, 
+    0x6416, 0x6493, 0x64FE, 0xF9BE, 0x66DC, 0xF9BF, 0x6A48, 0xF9C0, 0x71FF, 
+    0x7464, 0xF9C1,  ERROR},
+    { ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 0x7A88, 0x7AAF, 
+    0x7E47, 0x7E5E, 0x8000, 0x8170, 0xF9C2, 0x87EF, 0x8981, 0x8B20, 0x9059, 
+    0xF9C3, 0x9080, 0x9952, 0x617E, 0x6B32, 0x6D74, 0x7E1F, 0x8925, 0x8FB1, 
+    0x4FD1, 0x50AD, 0x5197, 0x52C7, 0x57C7, 0x5889, 0x5BB9, 0x5EB8, 0x6142, 
+    0x6995, 0x6D8C, 0x6E67, 0x6EB6, 0x7194, 0x7462, 0x7528, 0x752C, 0x8073, 
+    0x8338, 0x84C9, 0x8E0A, 0x9394, 0x93DE, 0xF9C4, 0x4E8E, 0x4F51, 0x5076, 
+    0x512A, 0x53C8, 0x53CB, 0x53F3, 0x5B87, 0x5BD3, 0x5C24, 0x611A, 0x6182, 
+    0x65F4, 0x725B, 0x7397, 0x7440, 0x76C2, 0x7950, 0x7991, 0x79B9, 0x7D06, 
+    0x7FBD, 0x828B, 0x85D5, 0x865E, 0x8FC2, 0x9047, 0x90F5, 0x91EA, 0x9685, 
+    0x96E8, 0x96E9, 0x52D6, 0x5F67, 0x65ED, 0x6631, 0x682F, 0x715C, 0x7A36, 
+    0x90C1, 0x980A, 0x4E91, 0xF9C5, 0x6A52, 0x6B9E, 0x6F90, 0x7189, 0x8018, 
+    0x82B8, 0x8553,  ERROR},
+    { ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 0x904B, 0x9695, 
+    0x96F2, 0x97FB, 0x851A, 0x9B31, 0x4E90, 0x718A, 0x96C4, 0x5143, 0x539F, 
+    0x54E1, 0x5713, 0x5712, 0x57A3, 0x5A9B, 0x5AC4, 0x5BC3, 0x6028, 0x613F, 
+    0x63F4, 0x6C85, 0x6D39, 0x6E72, 0x6E90, 0x7230, 0x733F, 0x7457, 0x82D1, 
+    0x8881, 0x8F45, 0x9060, 0xF9C6, 0x9662, 0x9858, 0x9D1B, 0x6708, 0x8D8A, 
+    0x925E, 0x4F4D, 0x5049, 0x50DE, 0x5371, 0x570D, 0x59D4, 0x5A01, 0x5C09, 
+    0x6170, 0x6690, 0x6E2D, 0x7232, 0x744B, 0x7DEF, 0x80C3, 0x840E, 0x8466, 
+    0x853F, 0x875F, 0x885B, 0x8918, 0x8B02, 0x9055, 0x97CB, 0x9B4F, 0x4E73, 
+    0x4F91, 0x5112, 0x516A, 0xF9C7, 0x552F, 0x55A9, 0x5B7A, 0x5BA5, 0x5E7C, 
+    0x5E7D, 0x5EBE, 0x60A0, 0x60DF, 0x6108, 0x6109, 0x63C4, 0x6538, 0x6709, 
+    0xF9C8, 0x67D4, 0x67DA, 0xF9C9, 0x6961, 0x6962, 0x6CB9, 0x6D27, 0xF9CA, 
+    0x6E38, 0xF9CB,  ERROR},
+    { ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 0x6FE1, 0x7336, 
+    0x7337, 0xF9CC, 0x745C, 0x7531, 0xF9CD, 0x7652, 0xF9CE, 0xF9CF, 0x7DAD, 
+    0x81FE, 0x8438, 0x88D5, 0x8A98, 0x8ADB, 0x8AED, 0x8E30, 0x8E42, 0x904A, 
+    0x903E, 0x907A, 0x9149, 0x91C9, 0x936E, 0xF9D0, 0xF9D1, 0x5809, 0xF9D2, 
+    0x6BD3, 0x8089, 0x80B2, 0xF9D3, 0xF9D4, 0x5141, 0x596B, 0x5C39, 0xF9D5, 
+    0xF9D6, 0x6F64, 0x73A7, 0x80E4, 0x8D07, 0xF9D7, 0x9217, 0x958F, 0xF9D8, 
+    0xF9D9, 0xF9DA, 0xF9DB, 0x807F, 0x620E, 0x701C, 0x7D68, 0x878D, 0xF9DC, 
+    0x57A0, 0x6069, 0x6147, 0x6BB7, 0x8ABE, 0x9280, 0x96B1, 0x4E59, 0x541F, 
+    0x6DEB, 0x852D, 0x9670, 0x97F3, 0x98EE, 0x63D6, 0x6CE3, 0x9091, 0x51DD, 
+    0x61C9, 0x81BA, 0x9DF9, 0x4F9D, 0x501A, 0x5100, 0x5B9C, 0x610F, 0x61FF, 
+    0x64EC, 0x6905, 0x6BC5, 0x7591, 0x77E3, 0x7FA9, 0x8264, 0x858F, 0x87FB, 
+    0x8863, 0x8ABC,  ERROR},
+    { ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 0x8B70, 0x91AB, 
+    0x4E8C, 0x4EE5, 0x4F0A, 0xF9DD, 0xF9DE, 0x5937, 0x59E8, 0xF9DF, 0x5DF2, 
+    0x5F1B, 0x5F5B, 0x6021, 0xF9E0, 0xF9E1, 0xF9E2, 0xF9E3, 0x723E, 0x73E5, 
+    0xF9E4, 0x7570, 0x75CD, 0xF9E5, 0x79FB, 0xF9E6, 0x800C, 0x8033, 0x8084, 
+    0x82E1, 0x8351, 0xF9E7, 0xF9E8, 0x8CBD, 0x8CB3, 0x9087, 0xF9E9, 0xF9EA, 
+    0x98F4, 0x990C, 0xF9EB, 0xF9EC, 0x7037, 0x76CA, 0x7FCA, 0x7FCC, 0x7FFC, 
+    0x8B1A, 0x4EBA, 0x4EC1, 0x5203, 0x5370, 0xF9ED, 0x54BD, 0x56E0, 0x59FB, 
+    0x5BC5, 0x5F15, 0x5FCD, 0x6E6E, 0xF9EE, 0xF9EF, 0x7D6A, 0x8335, 0xF9F0, 
+    0x8693, 0x8A8D, 0xF9F1, 0x976D, 0x9777, 0xF9F2, 0xF9F3, 0x4E00, 0x4F5A, 
+    0x4F7E, 0x58F9, 0x65E5, 0x6EA2, 0x9038, 0x93B0, 0x99B9, 0x4EFB, 0x58EC, 
+    0x598A, 0x59D9, 0x6041, 0xF9F4, 0xF9F5, 0x7A14, 0xF9F6, 0x834F, 0x8CC3, 
+    0x5165, 0x5344,  ERROR},
+    { ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 0xF9F7, 0xF9F8, 
+    0xF9F9, 0x4ECD, 0x5269, 0x5B55, 0x82BF, 0x4ED4, 0x523A, 0x54A8, 0x59C9, 
+    0x59FF, 0x5B50, 0x5B57, 0x5B5C, 0x6063, 0x6148, 0x6ECB, 0x7099, 0x716E, 
+    0x7386, 0x74F7, 0x75B5, 0x78C1, 0x7D2B, 0x8005, 0x81EA, 0x8328, 0x8517, 
+    0x85C9, 0x8AEE, 0x8CC7, 0x96CC, 0x4F5C, 0x52FA, 0x56BC, 0x65AB, 0x6628, 
+    0x707C, 0x70B8, 0x7235, 0x7DBD, 0x828D, 0x914C, 0x96C0, 0x9D72, 0x5B71, 
+    0x68E7, 0x6B98, 0x6F7A, 0x76DE, 0x5C91, 0x66AB, 0x6F5B, 0x7BB4, 0x7C2A, 
+    0x8836, 0x96DC, 0x4E08, 0x4ED7, 0x5320, 0x5834, 0x58BB, 0x58EF, 0x596C, 
+    0x5C07, 0x5E33, 0x5E84, 0x5F35, 0x638C, 0x66B2, 0x6756, 0x6A1F, 0x6AA3, 
+    0x6B0C, 0x6F3F, 0x7246, 0xF9FA, 0x7350, 0x748B, 0x7AE0, 0x7CA7, 0x8178, 
+    0x81DF, 0x81E7, 0x838A, 0x846C, 0x8523, 0x8594, 0x85CF, 0x88DD, 0x8D13, 
+    0x91AC, 0x9577,  ERROR},
+    { ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 0x969C, 0x518D, 
+    0x54C9, 0x5728, 0x5BB0, 0x624D, 0x6750, 0x683D, 0x6893, 0x6E3D, 0x6ED3, 
+    0x707D, 0x7E21, 0x88C1, 0x8CA1, 0x8F09, 0x9F4B, 0x9F4E, 0x722D, 0x7B8F, 
+    0x8ACD, 0x931A, 0x4F47, 0x4F4E, 0x5132, 0x5480, 0x59D0, 0x5E95, 0x62B5, 
+    0x6775, 0x696E, 0x6A17, 0x6CAE, 0x6E1A, 0x72D9, 0x732A, 0x75BD, 0x7BB8, 
+    0x7D35, 0x82E7, 0x83F9, 0x8457, 0x85F7, 0x8A5B, 0x8CAF, 0x8E87, 0x9019, 
+    0x90B8, 0x96CE, 0x9F5F, 0x52E3, 0x540A, 0x5AE1, 0x5BC2, 0x6458, 0x6575, 
+    0x6EF4, 0x72C4, 0xF9FB, 0x7684, 0x7A4D, 0x7B1B, 0x7C4D, 0x7E3E, 0x7FDF, 
+    0x837B, 0x8B2B, 0x8CCA, 0x8D64, 0x8DE1, 0x8E5F, 0x8FEA, 0x8FF9, 0x9069, 
+    0x93D1, 0x4F43, 0x4F7A, 0x50B3, 0x5168, 0x5178, 0x524D, 0x526A, 0x5861, 
+    0x587C, 0x5960, 0x5C08, 0x5C55, 0x5EDB, 0x609B, 0x6230, 0x6813, 0x6BBF, 
+    0x6C08, 0x6FB1,  ERROR},
+    { ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 0x714E, 0x7420, 
+    0x7530, 0x7538, 0x7551, 0x7672, 0x7B4C, 0x7B8B, 0x7BAD, 0x7BC6, 0x7E8F, 
+    0x8A6E, 0x8F3E, 0x8F49, 0x923F, 0x9293, 0x9322, 0x942B, 0x96FB, 0x985A, 
+    0x986B, 0x991E, 0x5207, 0x622A, 0x6298, 0x6D59, 0x7664, 0x7ACA, 0x7BC0, 
+    0x7D76, 0x5360, 0x5CBE, 0x5E97, 0x6F38, 0x70B9, 0x7C98, 0x9711, 0x9B8E, 
+    0x9EDE, 0x63A5, 0x647A, 0x8776, 0x4E01, 0x4E95, 0x4EAD, 0x505C, 0x5075, 
+    0x5448, 0x59C3, 0x5B9A, 0x5E40, 0x5EAD, 0x5EF7, 0x5F81, 0x60C5, 0x633A, 
+    0x653F, 0x6574, 0x65CC, 0x6676, 0x6678, 0x67FE, 0x6968, 0x6A89, 0x6B63, 
+    0x6C40, 0x6DC0, 0x6DE8, 0x6E1F, 0x6E5E, 0x701E, 0x70A1, 0x738E, 0x73FD, 
+    0x753A, 0x775B, 0x7887, 0x798E, 0x7A0B, 0x7A7D, 0x7CBE, 0x7D8E, 0x8247, 
+    0x8A02, 0x8AEA, 0x8C9E, 0x912D, 0x914A, 0x91D8, 0x9266, 0x92CC, 0x9320, 
+    0x9706, 0x9756,  ERROR},
+    { ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 0x975C, 0x9802, 
+    0x9F0E, 0x5236, 0x5291, 0x557C, 0x5824, 0x5E1D, 0x5F1F, 0x608C, 0x63D0, 
+    0x68AF, 0x6FDF, 0x796D, 0x7B2C, 0x81CD, 0x85BA, 0x88FD, 0x8AF8, 0x8E44, 
+    0x918D, 0x9664, 0x969B, 0x973D, 0x984C, 0x9F4A, 0x4FCE, 0x5146, 0x51CB, 
+    0x52A9, 0x5632, 0x5F14, 0x5F6B, 0x63AA, 0x64CD, 0x65E9, 0x6641, 0x66FA, 
+    0x66F9, 0x671D, 0x689D, 0x68D7, 0x69FD, 0x6F15, 0x6F6E, 0x7167, 0x71E5, 
+    0x722A, 0x74AA, 0x773A, 0x7956, 0x795A, 0x79DF, 0x7A20, 0x7A95, 0x7C97, 
+    0x7CDF, 0x7D44, 0x7E70, 0x8087, 0x85FB, 0x86A4, 0x8A54, 0x8ABF, 0x8D99, 
+    0x8E81, 0x9020, 0x906D, 0x91E3, 0x963B, 0x96D5, 0x9CE5, 0x65CF, 0x7C07, 
+    0x8DB3, 0x93C3, 0x5B58, 0x5C0A, 0x5352, 0x62D9, 0x731D, 0x5027, 0x5B97, 
+    0x5F9E, 0x60B0, 0x616B, 0x68D5, 0x6DD9, 0x742E, 0x7A2E, 0x7D42, 0x7D9C, 
+    0x7E31, 0x816B,  ERROR},
+    { ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 0x8E2A, 0x8E35, 
+    0x937E, 0x9418, 0x4F50, 0x5750, 0x5DE6, 0x5EA7, 0x632B, 0x7F6A, 0x4E3B, 
+    0x4F4F, 0x4F8F, 0x505A, 0x59DD, 0x80C4, 0x546A, 0x5468, 0x55FE, 0x594F, 
+    0x5B99, 0x5DDE, 0x5EDA, 0x665D, 0x6731, 0x67F1, 0x682A, 0x6CE8, 0x6D32, 
+    0x6E4A, 0x6F8D, 0x70B7, 0x73E0, 0x7587, 0x7C4C, 0x7D02, 0x7D2C, 0x7DA2, 
+    0x821F, 0x86DB, 0x8A3B, 0x8A85, 0x8D70, 0x8E8A, 0x8F33, 0x9031, 0x914E, 
+    0x9152, 0x9444, 0x99D0, 0x7AF9, 0x7CA5, 0x4FCA, 0x5101, 0x51C6, 0x57C8, 
+    0x5BEF, 0x5CFB, 0x6659, 0x6A3D, 0x6D5A, 0x6E96, 0x6FEC, 0x710C, 0x756F, 
+    0x7AE3, 0x8822, 0x9021, 0x9075, 0x96CB, 0x99FF, 0x8301, 0x4E2D, 0x4EF2, 
+    0x8846, 0x91CD, 0x537D, 0x6ADB, 0x696B, 0x6C41, 0x847A, 0x589E, 0x618E, 
+    0x66FE, 0x62EF, 0x70DD, 0x7511, 0x75C7, 0x7E52, 0x84B8, 0x8B49, 0x8D08, 
+    0x4E4B, 0x53EA,  ERROR},
+    { ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 0x54AB, 0x5730, 
+    0x5740, 0x5FD7, 0x6301, 0x6307, 0x646F, 0x652F, 0x65E8, 0x667A, 0x679D, 
+    0x67B3, 0x6B62, 0x6C60, 0x6C9A, 0x6F2C, 0x77E5, 0x7825, 0x7949, 0x7957, 
+    0x7D19, 0x80A2, 0x8102, 0x81F3, 0x829D, 0x82B7, 0x8718, 0x8A8C, 0xF9FC, 
+    0x8D04, 0x8DBE, 0x9072, 0x76F4, 0x7A19, 0x7A37, 0x7E54, 0x8077, 0x5507, 
+    0x55D4, 0x5875, 0x632F, 0x6422, 0x6649, 0x664B, 0x686D, 0x699B, 0x6B84, 
+    0x6D25, 0x6EB1, 0x73CD, 0x7468, 0x74A1, 0x755B, 0x75B9, 0x76E1, 0x771E, 
+    0x778B, 0x79E6, 0x7E09, 0x7E1D, 0x81FB, 0x852F, 0x8897, 0x8A3A, 0x8CD1, 
+    0x8EEB, 0x8FB0, 0x9032, 0x93AD, 0x9663, 0x9673, 0x9707, 0x4F84, 0x53F1, 
+    0x59EA, 0x5AC9, 0x5E19, 0x684E, 0x74C6, 0x75BE, 0x79E9, 0x7A92, 0x81A3, 
+    0x86ED, 0x8CEA, 0x8DCC, 0x8FED, 0x659F, 0x6715, 0xF9FD, 0x57F7, 0x6F57, 
+    0x7DDD, 0x8F2F,  ERROR},
+    { ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 0x93F6, 0x96C6, 
+    0x5FB5, 0x61F2, 0x6F84, 0x4E14, 0x4F98, 0x501F, 0x53C9, 0x55DF, 0x5D6F, 
+    0x5DEE, 0x6B21, 0x6B64, 0x78CB, 0x7B9A, 0xF9FE, 0x8E49, 0x8ECA, 0x906E, 
+    0x6349, 0x643E, 0x7740, 0x7A84, 0x932F, 0x947F, 0x9F6A, 0x64B0, 0x6FAF, 
+    0x71E6, 0x74A8, 0x74DA, 0x7AC4, 0x7C12, 0x7E82, 0x7CB2, 0x7E98, 0x8B9A, 
+    0x8D0A, 0x947D, 0x9910, 0x994C, 0x5239, 0x5BDF, 0x64E6, 0x672D, 0x7D2E, 
+    0x50ED, 0x53C3, 0x5879, 0x6158, 0x6159, 0x61FA, 0x65AC, 0x7AD9, 0x8B92, 
+    0x8B96, 0x5009, 0x5021, 0x5275, 0x5531, 0x5A3C, 0x5EE0, 0x5F70, 0x6134, 
+    0x655E, 0x660C, 0x6636, 0x66A2, 0x69CD, 0x6EC4, 0x6F32, 0x7316, 0x7621, 
+    0x7A93, 0x8139, 0x8259, 0x83D6, 0x84BC, 0x50B5, 0x57F0, 0x5BC0, 0x5BE8, 
+    0x5F69, 0x63A1, 0x7826, 0x7DB5, 0x83DC, 0x8521, 0x91C7, 0x91F5, 0x518A, 
+    0x67F5, 0x7B56,  ERROR},
+    { ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 0x8CAC, 0x51C4, 
+    0x59BB, 0x60BD, 0x8655, 0x501C, 0xF9FF, 0x5254, 0x5C3A, 0x617D, 0x621A, 
+    0x62D3, 0x64F2, 0x65A5, 0x6ECC, 0x7620, 0x810A, 0x8E60, 0x965F, 0x96BB, 
+    0x4EDF, 0x5343, 0x5598, 0x5929, 0x5DDD, 0x64C5, 0x6CC9, 0x6DFA, 0x7394, 
+    0x7A7F, 0x821B, 0x85A6, 0x8CE4, 0x8E10, 0x9077, 0x91E7, 0x95E1, 0x9621, 
+    0x97C6, 0x51F8, 0x54F2, 0x5586, 0x5FB9, 0x64A4, 0x6F88, 0x7DB4, 0x8F1F, 
+    0x8F4D, 0x9435, 0x50C9, 0x5C16, 0x6CBE, 0x6DFB, 0x751B, 0x77BB, 0x7C3D, 
+    0x7C64, 0x8A79, 0x8AC2, 0x581E, 0x59BE, 0x5E16, 0x6377, 0x7252, 0x758A, 
+    0x776B, 0x8ADC, 0x8CBC, 0x8F12, 0x5EF3, 0x6674, 0x6DF8, 0x807D, 0x83C1, 
+    0x8ACB, 0x9751, 0x9BD6, 0xFA00, 0x5243, 0x66FF, 0x6D95, 0x6EEF, 0x7DE0, 
+    0x8AE6, 0x902E, 0x905E, 0x9AD4, 0x521D, 0x527F, 0x54E8, 0x6194, 0x6284, 
+    0x62DB, 0x68A2,  ERROR},
+    { ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 0x6912, 0x695A, 
+    0x6A35, 0x7092, 0x7126, 0x785D, 0x7901, 0x790E, 0x79D2, 0x7A0D, 0x8096, 
+    0x8278, 0x82D5, 0x8349, 0x8549, 0x8C82, 0x8D85, 0x9162, 0x918B, 0x91AE, 
+    0x4FC3, 0x56D1, 0x71ED, 0x77D7, 0x8700, 0x89F8, 0x5BF8, 0x5FD6, 0x6751, 
+    0x90A8, 0x53E2, 0x585A, 0x5BF5, 0x60A4, 0x6181, 0x6460, 0x7E3D, 0x8070, 
+    0x8525, 0x9283, 0x64AE, 0x50AC, 0x5D14, 0x6700, 0x589C, 0x62BD, 0x63A8, 
+    0x690E, 0x6978, 0x6A1E, 0x6E6B, 0x76BA, 0x79CB, 0x82BB, 0x8429, 0x8ACF, 
+    0x8DA8, 0x8FFD, 0x9112, 0x914B, 0x919C, 0x9310, 0x9318, 0x939A, 0x96DB, 
+    0x9A36, 0x9C0D, 0x4E11, 0x755C, 0x795D, 0x7AFA, 0x7B51, 0x7BC9, 0x7E2E, 
+    0x84C4, 0x8E59, 0x8E74, 0x8EF8, 0x9010, 0x6625, 0x693F, 0x7443, 0x51FA, 
+    0x672E, 0x9EDC, 0x5145, 0x5FE0, 0x6C96, 0x87F2, 0x885D, 0x8877, 0x60B4, 
+    0x81B5, 0x8403,  ERROR},
+    { ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 0x8D05, 0x53D6, 
+    0x5439, 0x5634, 0x5A36, 0x5C31, 0x708A, 0x7FE0, 0x805A, 0x8106, 0x81ED, 
+    0x8DA3, 0x9189, 0x9A5F, 0x9DF2, 0x5074, 0x4EC4, 0x53A0, 0x60FB, 0x6E2C, 
+    0x5C64, 0x4F88, 0x5024, 0x55E4, 0x5CD9, 0x5E5F, 0x6065, 0x6894, 0x6CBB, 
+    0x6DC4, 0x71BE, 0x75D4, 0x75F4, 0x7661, 0x7A1A, 0x7A49, 0x7DC7, 0x7DFB, 
+    0x7F6E, 0x81F4, 0x86A9, 0x8F1C, 0x96C9, 0x99B3, 0x9F52, 0x5247, 0x52C5, 
+    0x98ED, 0x89AA, 0x4E03, 0x67D2, 0x6F06, 0x4FB5, 0x5BE2, 0x6795, 0x6C88, 
+    0x6D78, 0x741B, 0x7827, 0x91DD, 0x937C, 0x87C4, 0x79E4, 0x7A31, 0x5FEB, 
+    0x4ED6, 0x54A4, 0x553E, 0x58AE, 0x59A5, 0x60F0, 0x6253, 0x62D6, 0x6736, 
+    0x6955, 0x8235, 0x9640, 0x99B1, 0x99DD, 0x502C, 0x5353, 0x5544, 0x577C, 
+    0xFA01, 0x6258, 0xFA02, 0x64E2, 0x666B, 0x67DD, 0x6FC1, 0x6FEF, 0x7422, 
+    0x7438, 0x8A17,  ERROR},
+    { ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 0x9438, 0x5451, 
+    0x5606, 0x5766, 0x5F48, 0x619A, 0x6B4E, 0x7058, 0x70AD, 0x7DBB, 0x8A95, 
+    0x596A, 0x812B, 0x63A2, 0x7708, 0x803D, 0x8CAA, 0x5854, 0x642D, 0x69BB, 
+    0x5B95, 0x5E11, 0x6E6F, 0xFA03, 0x8569, 0x514C, 0x53F0, 0x592A, 0x6020, 
+    0x614B, 0x6B86, 0x6C70, 0x6CF0, 0x7B1E, 0x80CE, 0x82D4, 0x8DC6, 0x90B0, 
+    0x98B1, 0xFA04, 0x64C7, 0x6FA4, 0x6491, 0x6504, 0x514E, 0x5410, 0x571F, 
+    0x8A0E, 0x615F, 0x6876, 0xFA05, 0x75DB, 0x7B52, 0x7D71, 0x901A, 0x5806, 
+    0x69CC, 0x817F, 0x892A, 0x9000, 0x9839, 0x5078, 0x5957, 0x59AC, 0x6295, 
+    0x900F, 0x9B2A, 0x615D, 0x7279, 0x95D6, 0x5761, 0x5A46, 0x5DF4, 0x628A, 
+    0x64AD, 0x64FA, 0x6777, 0x6CE2, 0x6D3E, 0x722C, 0x7436, 0x7834, 0x7F77, 
+    0x82AD, 0x8DDB, 0x9817, 0x5224, 0x5742, 0x677F, 0x7248, 0x74E3, 0x8CA9, 
+    0x8FA6, 0x9211,  ERROR},
+    { ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 0x962A, 0x516B, 
+    0x53ED, 0x634C, 0x4F69, 0x5504, 0x6096, 0x6557, 0x6C9B, 0x6D7F, 0x724C, 
+    0x72FD, 0x7A17, 0x8987, 0x8C9D, 0x5F6D, 0x6F8E, 0x70F9, 0x81A8, 0x610E, 
+    0x4FBF, 0x504F, 0x6241, 0x7247, 0x7BC7, 0x7DE8, 0x7FE9, 0x904D, 0x97AD, 
+    0x9A19, 0x8CB6, 0x576A, 0x5E73, 0x67B0, 0x840D, 0x8A55, 0x5420, 0x5B16, 
+    0x5E63, 0x5EE2, 0x5F0A, 0x6583, 0x80BA, 0x853D, 0x9589, 0x965B, 0x4F48, 
+    0x5305, 0x530D, 0x530F, 0x5486, 0x54FA, 0x5703, 0x5E03, 0x6016, 0x629B, 
+    0x62B1, 0x6355, 0xFA06, 0x6CE1, 0x6D66, 0x75B1, 0x7832, 0x80DE, 0x812F, 
+    0x82DE, 0x8461, 0x84B2, 0x888D, 0x8912, 0x900B, 0x92EA, 0x98FD, 0x9B91, 
+    0x5E45, 0x66B4, 0x66DD, 0x7011, 0x7206, 0xFA07, 0x4FF5, 0x527D, 0x5F6A, 
+    0x6153, 0x6753, 0x6A19, 0x6F02, 0x74E2, 0x7968, 0x8868, 0x8C79, 0x98C7, 
+    0x98C4, 0x9A43,  ERROR},
+    { ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 0x54C1, 0x7A1F, 
+    0x6953, 0x8AF7, 0x8C4A, 0x98A8, 0x99AE, 0x5F7C, 0x62AB, 0x75B2, 0x76AE, 
+    0x88AB, 0x907F, 0x9642, 0x5339, 0x5F3C, 0x5FC5, 0x6CCC, 0x73CC, 0x7562, 
+    0x758B, 0x7B46, 0x82FE, 0x999D, 0x4E4F, 0x903C, 0x4E0B, 0x4F55, 0x53A6, 
+    0x590F, 0x5EC8, 0x6630, 0x6CB3, 0x7455, 0x8377, 0x8766, 0x8CC0, 0x9050, 
+    0x971E, 0x9C15, 0x58D1, 0x5B78, 0x8650, 0x8B14, 0x9DB4, 0x5BD2, 0x6068, 
+    0x608D, 0x65F1, 0x6C57, 0x6F22, 0x6FA3, 0x701A, 0x7F55, 0x7FF0, 0x9591, 
+    0x9592, 0x9650, 0x97D3, 0x5272, 0x8F44, 0x51FD, 0x542B, 0x54B8, 0x5563, 
+    0x558A, 0x6ABB, 0x6DB5, 0x7DD8, 0x8266, 0x929C, 0x9677, 0x9E79, 0x5408, 
+    0x54C8, 0x76D2, 0x86E4, 0x95A4, 0x95D4, 0x965C, 0x4EA2, 0x4F09, 0x59EE, 
+    0x5AE6, 0x5DF7, 0x6052, 0x6297, 0x676D, 0x6841, 0x6C86, 0x6E2F, 0x7F38, 
+    0x809B, 0x822A,  ERROR},
+    { ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 0xFA08, 0xFA09, 
+    0x9805, 0x4EA5, 0x5055, 0x54B3, 0x5793, 0x595A, 0x5B69, 0x5BB3, 0x61C8, 
+    0x6977, 0x6D77, 0x7023, 0x87F9, 0x89E3, 0x8A72, 0x8AE7, 0x9082, 0x99ED, 
+    0x9AB8, 0x52BE, 0x6838, 0x5016, 0x5E78, 0x674F, 0x8347, 0x884C, 0x4EAB, 
+    0x5411, 0x56AE, 0x73E6, 0x9115, 0x97FF, 0x9909, 0x9957, 0x9999, 0x5653, 
+    0x589F, 0x865B, 0x8A31, 0x61B2, 0x6AF6, 0x737B, 0x8ED2, 0x6B47, 0x96AA, 
+    0x9A57, 0x5955, 0x7200, 0x8D6B, 0x9769, 0x4FD4, 0x5CF4, 0x5F26, 0x61F8, 
+    0x665B, 0x6CEB, 0x70AB, 0x7384, 0x73B9, 0x73FE, 0x7729, 0x774D, 0x7D43, 
+    0x7D62, 0x7E23, 0x8237, 0x8852, 0xFA0A, 0x8CE2, 0x9249, 0x986F, 0x5B51, 
+    0x7A74, 0x8840, 0x9801, 0x5ACC, 0x4FE0, 0x5354, 0x593E, 0x5CFD, 0x633E, 
+    0x6D79, 0x72F9, 0x8105, 0x8107, 0x83A2, 0x92CF, 0x9830, 0x4EA8, 0x5144, 
+    0x5211, 0x578B,  ERROR},
+    { ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 0x5F62, 0x6CC2, 
+    0x6ECE, 0x7005, 0x7050, 0x70AF, 0x7192, 0x73E9, 0x7469, 0x834A, 0x87A2, 
+    0x8861, 0x9008, 0x90A2, 0x93A3, 0x99A8, 0x516E, 0x5F57, 0x60E0, 0x6167, 
+    0x66B3, 0x8559, 0x8E4A, 0x91AF, 0x978B, 0x4E4E, 0x4E92, 0x547C, 0x58D5, 
+    0x58FA, 0x597D, 0x5CB5, 0x5F27, 0x6236, 0x6248, 0x660A, 0x6667, 0x6BEB, 
+    0x6D69, 0x6DCF, 0x6E56, 0x6EF8, 0x6F94, 0x6FE0, 0x6FE9, 0x705D, 0x72D0, 
+    0x7425, 0x745A, 0x74E0, 0x7693, 0x795C, 0x7CCA, 0x7E1E, 0x80E1, 0x82A6, 
+    0x846B, 0x84BF, 0x864E, 0x865F, 0x8774, 0x8B77, 0x8C6A, 0x93AC, 0x9800, 
+    0x9865, 0x60D1, 0x6216, 0x9177, 0x5A5A, 0x660F, 0x6DF7, 0x6E3E, 0x743F, 
+    0x9B42, 0x5FFD, 0x60DA, 0x7B0F, 0x54C4, 0x5F18, 0x6C5E, 0x6CD3, 0x6D2A, 
+    0x70D8, 0x7D05, 0x8679, 0x8A0C, 0x9D3B, 0x5316, 0x548C, 0x5B05, 0x6A3A, 
+    0x706B, 0x7575,  ERROR},
+    { ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 0x798D, 0x79BE, 
+    0x82B1, 0x83EF, 0x8A71, 0x8B41, 0x8CA8, 0x9774, 0xFA0B, 0x64F4, 0x652B, 
+    0x78BA, 0x78BB, 0x7A6B, 0x4E38, 0x559A, 0x5950, 0x5BA6, 0x5E7B, 0x60A3, 
+    0x63DB, 0x6B61, 0x6665, 0x6853, 0x6E19, 0x7165, 0x74B0, 0x7D08, 0x9084, 
+    0x9A69, 0x9C25, 0x6D3B, 0x6ED1, 0x733E, 0x8C41, 0x95CA, 0x51F0, 0x5E4C, 
+    0x5FA8, 0x604D, 0x60F6, 0x6130, 0x614C, 0x6643, 0x6644, 0x69A5, 0x6CC1, 
+    0x6E5F, 0x6EC9, 0x6F62, 0x714C, 0x749C, 0x7687, 0x7BC1, 0x7C27, 0x8352, 
+    0x8757, 0x9051, 0x968D, 0x9EC3, 0x532F, 0x56DE, 0x5EFB, 0x5F8A, 0x6062, 
+    0x6094, 0x61F7, 0x6666, 0x6703, 0x6A9C, 0x6DEE, 0x6FAE, 0x7070, 0x736A, 
+    0x7E6A, 0x81BE, 0x8334, 0x86D4, 0x8AA8, 0x8CC4, 0x5283, 0x7372, 0x5B96, 
+    0x6A6B, 0x9404, 0x54EE, 0x5686, 0x5B5D, 0x6548, 0x6585, 0x66C9, 0x689F, 
+    0x6D8D, 0x6DC6,  ERROR},
+    { ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 0x723B, 0x80B4, 
+    0x9175, 0x9A4D, 0x4FAF, 0x5019, 0x539A, 0x540E, 0x543C, 0x5589, 0x55C5, 
+    0x5E3F, 0x5F8C, 0x673D, 0x7166, 0x73DD, 0x9005, 0x52DB, 0x52F3, 0x5864, 
+    0x58CE, 0x7104, 0x718F, 0x71FB, 0x85B0, 0x8A13, 0x6688, 0x85A8, 0x55A7, 
+    0x6684, 0x714A, 0x8431, 0x5349, 0x5599, 0x6BC1, 0x5F59, 0x5FBD, 0x63EE, 
+    0x6689, 0x7147, 0x8AF1, 0x8F1D, 0x9EBE, 0x4F11, 0x643A, 0x70CB, 0x7566, 
+    0x8667, 0x6064, 0x8B4E, 0x9DF8, 0x5147, 0x51F6, 0x5308, 0x6D36, 0x80F8, 
+    0x9ED1, 0x6615, 0x6B23, 0x7098, 0x75D5, 0x5403, 0x5C79, 0x7D07, 0x8A16, 
+    0x6B20, 0x6B3D, 0x6B46, 0x5438, 0x6070, 0x6D3D, 0x7FD5, 0x8208, 0x50D6, 
+    0x51DE, 0x559C, 0x566B, 0x56CD, 0x59EC, 0x5B09, 0x5E0C, 0x6199, 0x6198, 
+    0x6231, 0x665E, 0x66E6, 0x7199, 0x71B9, 0x71BA, 0x72A7, 0x79A7, 0x7A00, 
+    0x7FB2, 0x8A70,  ERROR},
+    { ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR},
+    { ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR,  ERROR, 
+     ERROR,  ERROR,  ERROR},
+};
+
+/*
+ * Mapping from Unicode back to KS X 1001.
+ * 
+ * This inverse is done the same way the SBCS ones are done: I
+ * provide a list of KS X 1001 positions, sorted into ascending
+ * order of their Unicode values. Then we can binary-search through
+ * this list, referring to the above table for each comparison, to
+ * find the coordinates for a given code point.
+ * 
+ * Generated by running the following sh+Perl over KSX1001.TXT:
+
+cat CP949.TXT | \
+perl -ne '$a{$3}=[hex$1,hex$2] if /^0x(\S\S)(\S\S)\s+(0x\S+)\s/;' \
+      -e 'END {$o="    ";for $k (sort keys %a) { ($r,$c) = @{$a{$k}}; ' \
+      -e '$o .= $C; $C = ", "; (print "$o\n"), $o="    " if length $o > 70;' \
+      -e '$o .= sprintf "{%d,%d}", $r-128,$c-64; } print "$o\n"; }'
+
+ */
+
+static const struct { unsigned char r, c; } cp949_backward[] = {
+    {34,110}, {34,116}, {33,151}, {33,103}, {40,99}, {33,105}, {34,167}, 
+    {33,134}, {33,126}, {41,183}, {41,184}, {34,101}, {34,146}, {33,100}, 
+    {34,108}, {41,182}, {40,108}, {40,185}, {40,182}, {40,186}, {34,111}, 
+    {40,97}, {40,98}, {33,127}, {40,106}, {40,109}, {41,108}, {41,97}, 
+    {41,99}, {33,128}, {41,106}, {41,109}, {41,98}, {40,100}, {41,100}, 
+    {41,101}, {40,102}, {41,102}, {41,103}, {40,104}, {41,104}, {40,105}, 
+    {41,105}, {41,112}, {40,111}, {41,111}, {40,107}, {41,107}, {40,110}, 
+    {41,110}, {34,103}, {34,112}, {34,104}, {34,107}, {34,106}, {34,109}, 
+    {34,105}, {37,129}, {37,130}, {37,131}, {37,132}, {37,133}, {37,134}, 
+    {37,135}, {37,136}, {37,137}, {37,138}, {37,139}, {37,140}, {37,141}, 
+    {37,142}, {37,143}, {37,144}, {37,145}, {37,146}, {37,147}, {37,148}, 
+    {37,149}, {37,150}, {37,151}, {37,152}, {37,161}, {37,162}, {37,163}, 
+    {37,164}, {37,165}, {37,166}, {37,167}, {37,168}, {37,169}, {37,170}, 
+    {37,171}, {37,172}, {37,173}, {37,174}, {37,175}, {37,176}, {37,177}, 
+    {37,178}, {37,179}, {37,180}, {37,181}, {37,182}, {37,183}, {37,184}, 
+    {44,103}, {44,97}, {44,98}, {44,99}, {44,100}, {44,101}, {44,102}, 
+    {44,104}, {44,105}, {44,106}, {44,107}, {44,108}, {44,109}, {44,110}, 
+    {44,111}, {44,112}, {44,113}, {44,114}, {44,115}, {44,116}, {44,117}, 
+    {44,118}, {44,119}, {44,120}, {44,121}, {44,122}, {44,123}, {44,124}, 
+    {44,125}, {44,126}, {44,127}, {44,128}, {44,129}, {44,145}, {44,146}, 
+    {44,147}, {44,148}, {44,149}, {44,150}, {44,152}, {44,153}, {44,154}, 
+    {44,155}, {44,156}, {44,157}, {44,158}, {44,159}, {44,160}, {44,161}, 
+    {44,162}, {44,163}, {44,164}, {44,165}, {44,166}, {44,167}, {44,168}, 
+    {44,169}, {44,170}, {44,171}, {44,172}, {44,173}, {44,174}, {44,175}, 
+    {44,176}, {44,177}, {44,151}, {33,106}, {33,110}, {33,111}, {33,112}, 
+    {33,113}, {34,147}, {34,148}, {33,101}, {33,102}, {34,118}, {33,135}, 
+    {33,136}, {33,152}, {41,185}, {41,186}, {41,187}, {41,188}, {41,189}, 
+    {41,190}, {34,166}, {33,137}, {34,117}, {39,100}, {34,160}, {34,165}, 
+    {34,162}, {39,153}, {33,138}, {40,183}, {40,184}, {40,187}, {40,188}, 
+    {40,189}, {40,190}, {37,112}, {37,113}, {37,114}, {37,115}, {37,116}, 
+    {37,117}, {37,118}, {37,119}, {37,120}, {37,121}, {37,97}, {37,98}, 
+    {37,99}, {37,100}, {37,101}, {37,102}, {37,103}, {37,104}, {37,105}, 
+    {37,106}, {33,167}, {33,168}, {33,166}, {33,169}, {33,170}, {34,149}, 
+    {34,152}, {34,150}, {34,153}, {34,151}, {34,97}, {34,98}, {34,99}, 
+    {33,147}, {34,100}, {33,148}, {33,180}, {33,181}, {34,115}, {34,114}, 
+    {33,174}, {33,176}, {33,132}, {33,144}, {33,107}, {33,188}, {33,189}, 
+    {33,187}, {33,186}, {33,178}, {33,179}, {34,113}, {33,133}, {33,177}, 
+    {33,109}, {33,175}, {33,150}, {33,129}, {33,149}, {33,130}, {33,131}, 
+    {33,172}, {33,173}, {33,184}, {33,185}, {33,182}, {33,183}, {34,129}, 
+    {33,145}, {33,146}, {40,167}, {40,168}, {40,169}, {40,170}, {40,171}, 
+    {40,172}, {40,173}, {40,174}, {40,175}, {40,176}, {40,177}, {40,178}, 
+    {40,179}, {40,180}, {40,181}, {41,167}, {41,168}, {41,169}, {41,170}, 
+    {41,171}, {41,172}, {41,173}, {41,174}, {41,175}, {41,176}, {41,177}, 
+    {41,178}, {41,179}, {41,180}, {41,181}, {41,141}, {41,142}, {41,143}, 
+    {41,144}, {41,145}, {41,146}, {41,147}, {41,148}, {41,149}, {41,150}, 
+    {41,151}, {41,152}, {41,153}, {41,154}, {41,155}, {41,156}, {41,157}, 
+    {41,158}, {41,159}, {41,160}, {41,161}, {41,162}, {41,163}, {41,164}, 
+    {41,165}, {41,166}, {40,141}, {40,142}, {40,143}, {40,144}, {40,145}, 
+    {40,146}, {40,147}, {40,148}, {40,149}, {40,150}, {40,151}, {40,152}, 
+    {40,153}, {40,154}, {40,155}, {40,156}, {40,157}, {40,158}, {40,159}, 
+    {40,160}, {40,161}, {40,162}, {40,163}, {40,164}, {40,165}, {40,166}, 
+    {38,97}, {38,108}, {38,98}, {38,109}, {38,99}, {38,136}, {38,135}, 
+    {38,110}, {38,100}, {38,130}, {38,129}, {38,111}, {38,102}, {38,134}, 
+    {38,133}, {38,113}, {38,101}, {38,132}, {38,131}, {38,112}, {38,103}, 
+    {38,124}, {38,137}, {38,138}, {38,119}, {38,139}, {38,140}, {38,114}, 
+    {38,105}, {38,126}, {38,141}, {38,142}, {38,121}, {38,143}, {38,144}, 
+    {38,116}, {38,104}, {38,145}, {38,146}, {38,120}, {38,125}, {38,147}, 
+    {38,148}, {38,115}, {38,106}, {38,149}, {38,150}, {38,122}, {38,127}, 
+    {38,151}, {38,152}, {38,117}, {38,107}, {38,153}, {38,154}, {38,123}, 
+    {38,155}, {38,156}, {38,128}, {38,157}, {38,158}, {38,159}, {38,160}, 
+    {38,161}, {38,162}, {38,163}, {38,164}, {38,118}, {34,134}, {33,161}, 
+    {33,160}, {34,131}, {34,135}, {34,136}, {34,139}, {34,138}, {34,137}, 
+    {34,140}, {33,163}, {33,162}, {34,122}, {34,121}, {33,165}, {33,164}, 
+    {34,120}, {34,119}, {33,159}, {33,158}, {34,130}, {33,155}, {33,157}, 
+    {33,156}, {34,132}, {34,133}, {33,154}, {33,153}, {34,143}, {34,142}, 
+    {34,144}, {34,145}, {33,143}, {33,142}, {34,124}, {34,125}, {34,128}, 
+    {34,123}, {34,126}, {34,127}, {34,141}, {34,155}, {34,156}, {34,157}, 
+    {34,154}, {33,97}, {33,98}, {33,99}, {33,104}, {33,116}, {33,117}, 
+    {33,118}, {33,119}, {33,120}, {33,121}, {33,122}, {33,123}, {33,124}, 
+    {33,125}, {33,171}, {33,114}, {33,115}, {42,97}, {42,98}, {42,99}, 
+    {42,100}, {42,101}, {42,102}, {42,103}, {42,104}, {42,105}, {42,106}, 
+    {42,107}, {42,108}, {42,109}, {42,110}, {42,111}, {42,112}, {42,113}, 
+    {42,114}, {42,115}, {42,116}, {42,117}, {42,118}, {42,119}, {42,120}, 
+    {42,121}, {42,122}, {42,123}, {42,124}, {42,125}, {42,126}, {42,127}, 
+    {42,128}, {42,129}, {42,130}, {42,131}, {42,132}, {42,133}, {42,134}, 
+    {42,135}, {42,136}, {42,137}, {42,138}, {42,139}, {42,140}, {42,141}, 
+    {42,142}, {42,143}, {42,144}, {42,145}, {42,146}, {42,147}, {42,148}, 
+    {42,149}, {42,150}, {42,151}, {42,152}, {42,153}, {42,154}, {42,155}, 
+    {42,156}, {42,157}, {42,158}, {42,159}, {42,160}, {42,161}, {42,162}, 
+    {42,163}, {42,164}, {42,165}, {42,166}, {42,167}, {42,168}, {42,169}, 
+    {42,170}, {42,171}, {42,172}, {42,173}, {42,174}, {42,175}, {42,176}, 
+    {42,177}, {42,178}, {42,179}, {43,97}, {43,98}, {43,99}, {43,100}, 
+    {43,101}, {43,102}, {43,103}, {43,104}, {43,105}, {43,106}, {43,107}, 
+    {43,108}, {43,109}, {43,110}, {43,111}, {43,112}, {43,113}, {43,114}, 
+    {43,115}, {43,116}, {43,117}, {43,118}, {43,119}, {43,120}, {43,121}, 
+    {43,122}, {43,123}, {43,124}, {43,125}, {43,126}, {43,127}, {43,128}, 
+    {43,129}, {43,130}, {43,131}, {43,132}, {43,133}, {43,134}, {43,135}, 
+    {43,136}, {43,137}, {43,138}, {43,139}, {43,140}, {43,141}, {43,142}, 
+    {43,143}, {43,144}, {43,145}, {43,146}, {43,147}, {43,148}, {43,149}, 
+    {43,150}, {43,151}, {43,152}, {43,153}, {43,154}, {43,155}, {43,156}, 
+    {43,157}, {43,158}, {43,159}, {43,160}, {43,161}, {43,162}, {43,163}, 
+    {43,164}, {43,165}, {43,166}, {43,167}, {43,168}, {43,169}, {43,170}, 
+    {43,171}, {43,172}, {43,173}, {43,174}, {43,175}, {43,176}, {43,177}, 
+    {43,178}, {43,179}, {43,180}, {43,181}, {43,182}, {36,97}, {36,98}, 
+    {36,99}, {36,100}, {36,101}, {36,102}, {36,103}, {36,104}, {36,105}, 
+    {36,106}, {36,107}, {36,108}, {36,109}, {36,110}, {36,111}, {36,112}, 
+    {36,113}, {36,114}, {36,115}, {36,116}, {36,117}, {36,118}, {36,119}, 
+    {36,120}, {36,121}, {36,122}, {36,123}, {36,124}, {36,125}, {36,126}, 
+    {36,127}, {36,128}, {36,129}, {36,130}, {36,131}, {36,132}, {36,133}, 
+    {36,134}, {36,135}, {36,136}, {36,137}, {36,138}, {36,139}, {36,140}, 
+    {36,141}, {36,142}, {36,143}, {36,144}, {36,145}, {36,146}, {36,147}, 
+    {36,148}, {36,149}, {36,150}, {36,151}, {36,152}, {36,153}, {36,154}, 
+    {36,155}, {36,156}, {36,157}, {36,158}, {36,159}, {36,160}, {36,161}, 
+    {36,162}, {36,163}, {36,164}, {36,165}, {36,166}, {36,167}, {36,168}, 
+    {36,169}, {36,170}, {36,171}, {36,172}, {36,173}, {36,174}, {36,175}, 
+    {36,176}, {36,177}, {36,178}, {36,179}, {36,180}, {36,181}, {36,182}, 
+    {36,183}, {36,184}, {36,185}, {36,186}, {36,187}, {36,188}, {36,189}, 
+    {36,190}, {41,113}, {41,114}, {41,115}, {41,116}, {41,117}, {41,118}, 
+    {41,119}, {41,120}, {41,121}, {41,122}, {41,123}, {41,124}, {41,125}, 
+    {41,126}, {41,127}, {41,128}, {41,129}, {41,130}, {41,131}, {41,132}, 
+    {41,133}, {41,134}, {41,135}, {41,136}, {41,137}, {41,138}, {41,139}, 
+    {41,140}, {34,159}, {40,113}, {40,114}, {40,115}, {40,116}, {40,117}, 
+    {40,118}, {40,119}, {40,120}, {40,121}, {40,122}, {40,123}, {40,124}, 
+    {40,125}, {40,126}, {40,127}, {40,128}, {40,129}, {40,130}, {40,131}, 
+    {40,132}, {40,133}, {40,134}, {40,135}, {40,136}, {40,137}, {40,138}, 
+    {40,139}, {40,140}, {34,158}, {39,137}, {39,138}, {39,139}, {39,140}, 
+    {39,141}, {39,122}, {39,123}, {39,156}, {39,157}, {39,158}, {39,118}, 
+    {39,119}, {39,120}, {39,148}, {39,149}, {39,150}, {39,151}, {39,152}, 
+    {39,97}, {39,98}, {39,99}, {39,101}, {39,107}, {39,108}, {39,109}, 
+    {39,110}, {39,111}, {39,112}, {39,113}, {39,114}, {39,115}, {39,116}, 
+    {39,103}, {39,104}, {39,105}, {39,106}, {39,125}, {39,126}, {39,165}, 
+    {39,166}, {39,167}, {39,168}, {39,161}, {39,162}, {39,163}, {39,127}, 
+    {39,128}, {39,129}, {39,130}, {39,131}, {39,132}, {39,133}, {39,134}, 
+    {39,135}, {39,136}, {39,142}, {39,143}, {39,144}, {39,145}, {39,146}, 
+    {39,147}, {39,154}, {39,155}, {34,163}, {39,172}, {39,102}, {39,160}, 
+    {39,175}, {34,161}, {39,124}, {39,173}, {39,117}, {39,121}, {39,170}, 
+    {39,171}, {39,159}, {34,164}, {39,164}, {39,174}, {39,169}, {108,169}, 
+    {111,139}, {118,146}, {88,114}, {109,155}, {95,114}, {95,126}, {121,123}, 
+    {92,180}, {117,164}, {115,102}, {93,160}, {97,102}, {78,184}, {92,112}, 
+    {99,106}, {113,169}, {77,186}, {124,111}, {83,97}, {113,107}, {103,145}, 
+    {82,108}, {78,185}, {113,189}, {94,127}, {123,122}, {121,121}, {78,146}, 
+    {99,107}, {107,160}, {78,186}, {75,183}, {101,101}, {74,161}, {84,140}, 
+    {106,161}, {92,163}, {95,109}, {75,171}, {85,111}, {86,181}, {101,184}, 
+    {94,128}, {108,99}, {105,141}, {106,103}, {105,182}, {123,123}, {103,169}, 
+    {111,140}, {80,166}, {94,129}, {100,108}, {88,140}, {121,177}, {78,159}, 
+    {122,100}, {102,114}, {122,187}, {122,125}, {76,136}, {111,141}, {85,149}, 
+    {83,98}, {108,145}, {100,103}, {108,146}, {118,113}, {78,187}, {80,145}, 
+    {75,127}, {109,100}, {109,104}, {94,130}, {118,162}, {109,156}, {92,181}, 
+    {96,121}, {84,142}, {116,117}, {83,155}, {86,117}, {108,100}, {100,166}, 
+    {113,170}, {75,172}, {75,128}, {108,178}, {80,170}, {121,178}, {108,101}, 
+    {80,159}, {103,170}, {80,171}, {92,145}, {91,169}, {125,140}, {91,151}, 
+    {90,161}, {86,118}, {99,159}, {94,131}, {94,132}, {74,97}, {110,172}, 
+    {83,99}, {110,119}, {120,143}, {106,136}, {110,120}, {113,108}, {113,101}, 
+    {105,142}, {121,124}, {101,185}, {108,170}, {93,150}, {109,130}, {120,101}, 
+    {101,122}, {91,152}, {74,98}, {81,141}, {110,173}, {108,171}, {94,133}, 
+    {99,160}, {74,137}, {114,169}, {85,142}, {118,118}, {78,130}, {86,135}, 
+    {99,116}, {113,109}, {106,162}, {87,130}, {115,103}, {77,170}, {107,174}, 
+    {89,114}, {125,101}, {118,149}, {85,162}, {120,117}, {76,181}, {117,117}, 
+    {100,109}, {103,171}, {113,149}, {112,123}, {105,117}, {76,137}, {122,149}, 
+    {97,148}, {87,150}, {92,129}, {94,134}, {122,175}, {99,161}, {97,179}, 
+    {92,182}, {78,188}, {91,132}, {120,177}, {92,164}, {101,175}, {92,113}, 
+    {85,150}, {115,154}, {75,129}, {91,131}, {89,186}, {83,174}, {122,120}, 
+    {125,102}, {107,175}, {116,102}, {76,138}, {115,104}, {115,155}, {91,103}, 
+    {118,119}, {79,166}, {112,178}, {75,154}, {103,146}, {87,131}, {118,176}, 
+    {104,158}, {101,102}, {101,167}, {74,99}, {76,103}, {106,137}, {120,118}, 
+    {122,101}, {113,110}, {111,142}, {75,173}, {118,112}, {111,143}, {105,143}, 
+    {119,158}, {78,147}, {92,183}, {91,104}, {75,184}, {95,97}, {93,161}, 
+    {117,138}, {105,118}, {103,172}, {110,174}, {115,176}, {95,127}, {76,139}, 
+    {80,129}, {116,146}, {96,122}, {95,128}, {78,160}, {92,146}, {125,170}, 
+    {86,182}, {106,138}, {104,169}, {99,108}, {115,144}, {74,100}, {91,184}, 
+    {94,135}, {107,176}, {113,150}, {101,162}, {76,140}, {75,187}, {106,163}, 
+    {95,129}, {86,173}, {105,144}, {110,121}, {85,163}, {81,147}, {101,176}, 
+    {104,116}, {107,131}, {106,106}, {122,188}, {117,182}, {112,124}, {125,148}, 
+    {96,123}, {78,131}, {80,122}, {119,122}, {88,179}, {119,141}, {100,110}, 
+    {84,159}, {80,167}, {108,189}, {82,110}, {110,175}, {85,151}, {106,164}, 
+    {120,98}, {77,171}, {87,127}, {123,113}, {77,172}, {92,114}, {80,172}, 
+    {78,189}, {110,176}, {76,130}, {80,173}, {101,183}, {115,188}, {110,98}, 
+    {89,115}, {88,180}, {105,119}, {78,110}, {89,98}, {88,177}, {84,143}, 
+    {101,103}, {85,146}, {86,105}, {116,98}, {113,151}, {85,152}, {112,125}, 
+    {87,144}, {84,144}, {87,143}, {107,170}, {125,171}, {91,173}, {124,133}, 
+    {75,130}, {125,149}, {116,136}, {104,170}, {117,179}, {121,158}, {83,175}, 
+    {108,147}, {93,130}, {111,119}, {103,148}, {74,138}, {89,187}, {122,189}, 
+    {86,106}, {116,184}, {119,183}, {92,108}, {87,151}, {95,98}, {78,126}, 
+    {83,176}, {112,100}, {97,172}, {79,167}, {115,139}, {109,105}, {74,126}, 
+    {116,175}, {118,142}, {94,187}, {80,123}, {85,119}, {110,177}, {116,104}, 
+    {92,184}, {75,103}, {90,142}, {96,166}, {109,101}, {110,178}, {92,185}, 
+    {121,156}, {115,156}, {120,178}, {116,185}, {124,177}, {80,124}, {91,185}, 
+    {87,113}, {75,188}, {112,101}, {75,189}, {85,180}, {77,173}, {74,101}, 
+    {86,107}, {80,130}, {112,126}, {82,125}, {76,100}, {122,118}, {76,141}, 
+    {90,186}, {118,143}, {105,120}, {88,181}, {76,142}, {87,141}, {84,145}, 
+    {105,173}, {74,171}, {89,162}, {125,114}, {99,109}, {86,140}, {89,116}, 
+    {97,103}, {110,147}, {80,131}, {125,115}, {85,164}, {79,168}, {109,131}, 
+    {80,114}, {78,190}, {90,104}, {120,144}, {125,150}, {120,145}, {120,146}, 
+    {92,147}, {93,162}, {123,185}, {93,129}, {99,117}, {109,157}, {78,132}, 
+    {75,97}, {93,163}, {124,157}, {121,111}, {82,187}, {79,97}, {100,104}, 
+    {116,118}, {108,190}, {99,110}, {103,173}, {125,129}, {90,162}, {88,115}, 
+    {93,164}, {112,175}, {118,177}, {122,176}, {81,181}, {90,143}, {92,148}, 
+    {92,102}, {111,127}, {78,143}, {96,153}, {89,150}, {108,148}, {106,139}, 
+    {74,127}, {85,112}, {79,169}, {113,173}, {76,143}, {100,184}, {100,173}, 
+    {87,152}, {125,103}, {106,107}, {118,114}, {79,176}, {121,125}, {102,180}, 
+    {75,155}, {115,145}, {105,145}, {115,105}, {80,160}, {105,146}, {90,163}, 
+    {98,146}, {118,98}, {97,180}, {90,164}, {103,149}, {117,127}, {79,98}, 
+    {77,111}, {79,99}, {77,112}, {113,190}, {80,99}, {97,111}, {120,99}, 
+    {74,102}, {119,123}, {114,170}, {94,136}, {105,147}, {94,137}, {125,158}, 
+    {74,128}, {121,170}, {81,142}, {110,148}, {84,146}, {89,99}, {125,104}, 
+    {87,153}, {119,142}, {122,126}, {79,150}, {87,176}, {107,161}, {120,133}, 
+    {92,186}, {93,131}, {121,159}, {103,175}, {125,165}, {118,99}, {89,188}, 
+    {125,105}, {103,174}, {85,165}, {111,144}, {77,113}, {119,98}, {113,114}, 
+    {113,113}, {77,114}, {90,107}, {74,103}, {99,162}, {123,124}, {89,100}, 
+    {110,122}, {120,147}, {123,186}, {79,100}, {92,187}, {118,163}, {109,106}, 
+    {114,97}, {78,161}, {122,102}, {121,160}, {108,150}, {100,174}, {121,97}, 
+    {123,175}, {121,171}, {110,99}, {106,108}, {74,104}, {116,186}, {77,150}, 
+    {124,182}, {116,137}, {120,148}, {120,102}, {94,138}, {114,134}, {87,154}, 
+    {83,144}, {88,133}, {106,166}, {115,157}, {100,154}, {118,164}, {118,178}, 
+    {95,130}, {89,189}, {76,182}, {83,122}, {100,111}, {121,161}, {112,102}, 
+    {75,147}, {96,124}, {116,138}, {84,186}, {125,106}, {121,162}, {116,119}, 
+    {125,130}, {124,112}, {125,172}, {74,162}, {125,125}, {106,167}, {95,131}, 
+    {81,146}, {78,162}, {83,100}, {125,107}, {95,160}, {114,135}, {103,176}, 
+    {80,174}, {115,106}, {94,139}, {118,120}, {97,181}, {113,115}, {119,99}, 
+    {74,105}, {79,101}, {95,132}, {97,112}, {112,127}, {118,100}, {99,118}, 
+    {122,134}, {80,175}, {125,173}, {93,132}, {124,183}, {102,127}, {94,109}, 
+    {122,127}, {101,177}, {109,132}, {82,101}, {125,174}, {117,118}, {97,182}, 
+    {94,140}, {124,158}, {108,151}, {77,157}, {86,119}, {77,115}, {120,149}, 
+    {101,152}, {79,170}, {79,144}, {106,140}, {106,110}, {106,109}, {83,177}, 
+    {83,101}, {119,143}, {110,100}, {80,100}, {114,98}, {80,176}, {114,99}, 
+    {119,184}, {80,115}, {91,105}, {83,123}, {74,172}, {113,102}, {75,149}, 
+    {119,167}, {77,158}, {119,100}, {120,128}, {83,157}, {76,144}, {79,102}, 
+    {118,179}, {97,183}, {83,156}, {122,190}, {122,103}, {107,153}, {79,103}, 
+    {106,111}, {100,175}, {105,121}, {113,152}, {88,152}, {96,178}, {102,116}, 
+    {92,188}, {115,177}, {99,144}, {114,187}, {91,134}, {80,177}, {80,178}, 
+    {79,156}, {83,145}, {76,113}, {119,152}, {75,104}, {107,124}, {100,126}, 
+    {116,156}, {92,130}, {112,103}, {102,128}, {74,173}, {104,171}, {101,168}, 
+    {92,131}, {109,158}, {83,178}, {76,183}, {78,148}, {103,107}, {75,131}, 
+    {97,113}, {119,114}, {83,179}, {83,146}, {117,128}, {95,157}, {110,179}, 
+    {103,177}, {125,116}, {114,136}, {115,146}, {110,180}, {98,147}, {76,145}, 
+    {95,170}, {105,122}, {89,151}, {117,141}, {113,178}, {122,135}, {89,184}, 
+    {84,130}, {118,165}, {93,133}, {103,178}, {109,159}, {74,139}, {91,186}, 
+    {104,117}, {83,102}, {125,117}, {121,137}, {100,162}, {123,125}, {87,100}, 
+    {78,133}, {78,149}, {86,166}, {101,125}, {94,141}, {108,179}, {109,160}, 
+    {108,172}, {123,126}, {95,171}, {97,184}, {121,126}, {80,179}, {96,106}, 
+    {104,162}, {98,148}, {82,189}, {101,104}, {89,147}, {83,158}, {116,120}, 
+    {119,124}, {92,189}, {104,172}, {100,167}, {99,183}, {108,104}, {122,177}, 
+    {101,178}, {80,180}, {82,111}, {92,165}, {80,101}, {113,116}, {124,113}, 
+    {76,184}, {93,134}, {122,145}, {119,159}, {122,104}, {110,181}, {94,142}, 
+    {103,179}, {119,108}, {107,132}, {109,161}, {96,107}, {93,135}, {82,115}, 
+    {82,127}, {74,140}, {123,127}, {101,189}, {93,165}, {88,141}, {108,180}, 
+    {80,181}, {104,173}, {80,146}, {89,152}, {118,166}, {91,106}, {119,160}, 
+    {88,153}, {116,99}, {116,157}, {111,145}, {89,117}, {109,107}, {99,119}, 
+    {110,123}, {77,116}, {96,179}, {106,141}, {108,181}, {104,174}, {75,105}, 
+    {113,111}, {74,141}, {108,105}, {114,171}, {125,175}, {121,179}, {102,129}, 
+    {108,152}, {109,108}, {106,142}, {104,159}, {94,143}, {82,102}, {103,180}, 
+    {81,150}, {102,130}, {99,163}, {100,112}, {88,116}, {118,101}, {115,158}, 
+    {87,101}, {119,168}, {104,134}, {123,166}, {93,166}, {92,190}, {88,154}, 
+    {90,108}, {106,112}, {99,120}, {74,106}, {97,185}, {106,113}, {114,172}, 
+    {122,174}, {110,149}, {121,180}, {82,172}, {123,187}, {125,176}, {96,125}, 
+    {78,163}, {120,134}, {94,110}, {95,133}, {101,126}, {109,109}, {122,170}, 
+    {77,174}, {109,102}, {109,110}, {112,173}, {93,97}, {109,111}, {124,184}, 
+    {88,171}, {76,185}, {77,117}, {122,105}, {97,157}, {98,149}, {109,143}, 
+    {93,98}, {121,138}, {106,168}, {101,173}, {83,171}, {105,148}, {97,186}, 
+    {100,140}, {97,164}, {104,135}, {78,155}, {92,149}, {119,117}, {124,179}, 
+    {112,179}, {78,111}, {113,117}, {111,146}, {104,136}, {107,177}, {75,148}, 
+    {96,126}, {99,184}, {106,169}, {124,114}, {96,180}, {79,160}, {110,101}, 
+    {122,106}, {102,131}, {97,114}, {74,107}, {99,164}, {105,123}, {98,150}, 
+    {115,178}, {110,150}, {106,114}, {80,182}, {108,153}, {90,139}, {79,104}, 
+    {93,99}, {88,155}, {121,142}, {105,149}, {99,145}, {82,124}, {88,108}, 
+    {115,140}, {77,187}, {118,150}, {103,181}, {104,175}, {99,185}, {82,123}, 
+    {115,179}, {99,187}, {94,144}, {78,112}, {86,183}, {113,153}, {117,129}, 
+    {92,132}, {117,123}, {94,145}, {92,166}, {94,146}, {109,162}, {110,182}, 
+    {106,143}, {112,174}, {99,188}, {83,159}, {83,180}, {97,115}, {97,116}, 
+    {116,147}, {95,134}, {105,150}, {91,107}, {118,102}, {99,121}, {107,133}, 
+    {116,105}, {77,118}, {82,185}, {90,109}, {82,163}, {79,145}, {75,156}, 
+    {76,186}, {79,157}, {104,105}, {99,123}, {99,122}, {96,154}, {110,183}, 
+    {92,115}, {83,181}, {87,102}, {118,117}, {87,155}, {97,149}, {84,170}, 
+    {95,99}, {125,159}, {80,183}, {109,148}, {75,106}, {100,155}, {97,187}, 
+    {75,98}, {83,160}, {100,127}, {123,128}, {90,126}, {100,141}, {86,121}, 
+    {111,128}, {97,188}, {118,121}, {95,135}, {100,113}, {92,167}, {92,168}, 
+    {122,150}, {83,182}, {113,154}, {122,178}, {98,189}, {85,143}, {80,184}, 
+    {77,159}, {117,139}, {100,176}, {75,107}, {87,132}, {98,190}, {93,154}, 
+    {90,110}, {74,174}, {85,121}, {99,97}, {104,163}, {115,107}, {79,105}, 
+    {83,183}, {84,177}, {78,164}, {104,178}, {101,181}, {103,110}, {86,122}, 
+    {95,172}, {100,128}, {104,164}, {88,117}, {100,156}, {116,121}, {113,118}, 
+    {98,158}, {97,117}, {77,175}, {113,103}, {78,165}, {75,157}, {89,163}, 
+    {115,108}, {80,185}, {108,107}, {94,147}, {119,169}, {121,181}, {97,158}, 
+    {75,174}, {99,124}, {120,150}, {91,174}, {125,177}, {119,118}, {116,158}, 
+    {114,173}, {91,153}, {112,104}, {97,189}, {94,148}, {96,108}, {109,163}, 
+    {83,161}, {95,136}, {89,118}, {125,108}, {111,147}, {100,129}, {120,171}, 
+    {91,108}, {124,134}, {88,109}, {118,122}, {91,159}, {83,147}, {120,135}, 
+    {74,142}, {120,129}, {82,116}, {92,116}, {122,121}, {74,143}, {124,115}, 
+    {106,170}, {106,171}, {80,186}, {109,164}, {93,167}, {95,137}, {95,173}, 
+    {110,124}, {111,129}, {76,146}, {93,100}, {95,138}, {83,184}, {113,104}, 
+    {77,119}, {111,148}, {100,157}, {95,174}, {75,108}, {105,124}, {106,172}, 
+    {95,139}, {121,127}, {86,111}, {85,134}, {79,106}, {78,105}, {86,184}, 
+    {113,119}, {110,184}, {89,153}, {115,159}, {120,136}, {78,134}, {85,166}, 
+    {116,166}, {102,133}, {111,149}, {75,175}, {124,159}, {92,103}, {86,167}, 
+    {120,137}, {99,146}, {99,125}, {79,161}, {112,128}, {108,154}, {93,151}, 
+    {123,176}, {108,108}, {112,105}, {122,151}, {123,129}, {82,128}, {101,112}, 
+    {109,165}, {75,109}, {121,112}, {119,101}, {75,110}, {90,111}, {88,118}, 
+    {83,103}, {123,114}, {125,132}, {108,109}, {123,97}, {101,169}, {105,174}, 
+    {115,180}, {120,179}, {112,129}, {94,111}, {120,112}, {115,160}, {103,111}, 
+    {91,109}, {102,117}, {121,104}, {93,152}, {104,153}, {111,150}, {83,162}, 
+    {98,159}, {124,160}, {87,136}, {125,109}, {95,175}, {76,147}, {83,185}, 
+    {84,176}, {91,135}, {94,149}, {112,180}, {85,144}, {101,153}, {124,135}, 
+    {92,150}, {98,160}, {90,112}, {115,99}, {83,172}, {116,139}, {125,133}, 
+    {99,189}, {121,113}, {80,187}, {108,155}, {117,124}, {114,100}, {88,142}, 
+    {88,143}, {117,183}, {118,161}, {82,119}, {123,172}, {93,136}, {100,168}, 
+    {82,129}, {120,151}, {86,123}, {94,150}, {119,125}, {108,110}, {80,161}, 
+    {96,181}, {106,115}, {78,150}, {76,101}, {108,182}, {98,161}, {99,126}, 
+    {124,136}, {77,176}, {121,182}, {95,176}, {101,127}, {78,127}, {124,161}, 
+    {109,112}, {125,145}, {118,123}, {121,143}, {107,154}, {74,129}, {82,120}, 
+    {77,177}, {99,147}, {125,166}, {102,173}, {99,186}, {112,106}, {121,144}, 
+    {124,162}, {120,103}, {97,165}, {110,185}, {103,182}, {106,173}, {124,116}, 
+    {117,130}, {87,156}, {112,181}, {93,168}, {83,173}, {117,188}, {90,127}, 
+    {76,187}, {83,186}, {116,100}, {111,151}, {84,131}, {123,163}, {123,173}, 
+    {96,109}, {106,174}, {123,115}, {100,130}, {118,167}, {82,157}, {95,140}, 
+    {124,137}, {101,105}, {96,182}, {118,115}, {97,190}, {75,176}, {106,175}, 
+    {106,176}, {90,128}, {120,116}, {107,178}, {100,131}, {105,151}, {100,177}, 
+    {74,175}, {78,151}, {124,138}, {115,161}, {75,132}, {99,165}, {75,133}, 
+    {106,116}, {105,125}, {87,137}, {107,155}, {109,113}, {76,131}, {119,126}, 
+    {124,139}, {120,180}, {89,119}, {115,147}, {115,148}, {119,164}, {119,145}, 
+    {88,119}, {78,113}, {74,130}, {123,116}, {75,134}, {112,182}, {85,167}, 
+    {106,144}, {76,148}, {75,111}, {116,106}, {105,111}, {117,131}, {105,152}, 
+    {93,169}, {113,179}, {85,187}, {94,123}, {116,187}, {125,179}, {125,178}, 
+    {119,102}, {93,137}, {84,147}, {76,104}, {90,129}, {76,149}, {89,164}, 
+    {122,138}, {101,163}, {83,124}, {74,176}, {80,132}, {74,144}, {122,107}, 
+    {107,171}, {103,184}, {89,165}, {81,151}, {115,100}, {84,187}, {124,163}, 
+    {122,152}, {115,149}, {79,107}, {107,179}, {85,188}, {83,148}, {77,188}, 
+    {89,166}, {98,185}, {98,97}, {107,148}, {96,183}, {100,114}, {76,188}, 
+    {123,164}, {116,107}, {80,125}, {74,177}, {111,120}, {87,128}, {110,186}, 
+    {125,180}, {83,163}, {123,130}, {85,168}, {91,110}, {97,118}, {120,119}, 
+    {96,127}, {123,131}, {93,170}, {98,98}, {110,102}, {118,168}, {118,181}, 
+    {93,138}, {80,162}, {93,102}, {93,171}, {100,185}, {99,111}, {80,188}, 
+    {116,188}, {76,124}, {119,170}, {101,164}, {95,177}, {119,161}, {121,183}, 
+    {111,121}, {120,152}, {121,105}, {120,153}, {110,125}, {88,134}, {100,163}, 
+    {117,142}, {93,153}, {89,167}, {82,121}, {85,131}, {90,165}, {90,144}, 
+    {81,153}, {78,152}, {75,158}, {116,108}, {90,187}, {118,169}, {104,179}, 
+    {79,108}, {112,176}, {116,189}, {91,136}, {78,128}, {99,148}, {81,143}, 
+    {113,181}, {77,178}, {79,171}, {77,120}, {99,102}, {81,154}, {114,101}, 
+    {114,102}, {100,142}, {83,187}, {113,105}, {114,137}, {111,152}, {102,137}, 
+    {88,120}, {122,179}, {115,117}, {120,100}, {81,179}, {102,136}, {120,154}, 
+    {92,169}, {94,151}, {75,159}, {79,172}, {116,159}, {81,180}, {82,122}, 
+    {95,178}, {97,119}, {98,99}, {83,188}, {109,166}, {91,137}, {100,186}, 
+    {79,158}, {78,144}, {85,147}, {115,181}, {119,110}, {111,136}, {77,179}, 
+    {117,143}, {101,179}, {112,130}, {74,145}, {106,177}, {80,102}, {89,154}, 
+    {112,107}, {107,167}, {101,128}, {124,117}, {100,132}, {76,105}, {125,134}, 
+    {106,117}, {101,106}, {95,122}, {97,159}, {90,145}, {97,120}, {104,180}, 
+    {83,189}, {98,100}, {114,138}, {90,166}, {119,115}, {125,141}, {115,118}, 
+    {110,151}, {117,132}, {88,100}, {114,103}, {89,120}, {89,121}, {111,137}, 
+    {86,142}, {119,139}, {95,110}, {104,181}, {82,117}, {83,149}, {116,140}, 
+    {90,188}, {89,168}, {119,171}, {117,137}, {115,124}, {90,146}, {83,117}, 
+    {104,118}, {86,143}, {116,122}, {119,137}, {76,106}, {112,131}, {76,150}, 
+    {80,147}, {83,125}, {91,187}, {75,160}, {83,164}, {118,183}, {85,122}, 
+    {115,141}, {75,161}, {107,180}, {116,109}, {124,106}, {119,172}, {104,182}, 
+    {90,167}, {119,140}, {101,129}, {96,174}, {85,189}, {78,166}, {124,107}, 
+    {85,123}, {114,104}, {98,101}, {77,121}, {106,178}, {75,135}, {77,180}, 
+    {91,111}, {111,153}, {77,122}, {124,185}, {95,179}, {78,167}, {90,130}, 
+    {79,109}, {103,185}, {120,104}, {115,162}, {74,178}, {95,100}, {84,132}, 
+    {76,151}, {101,130}, {77,123}, {111,154}, {110,152}, {93,103}, {98,102}, 
+    {96,128}, {86,112}, {120,138}, {124,186}, {89,190}, {94,112}, {93,172}, 
+    {90,168}, {84,160}, {86,185}, {77,151}, {94,152}, {114,184}, {100,150}, 
+    {80,133}, {116,110}, {93,104}, {109,133}, {115,150}, {94,153}, {99,166}, 
+    {83,104}, {91,112}, {101,154}, {99,127}, {91,113}, {85,169}, {96,129}, 
+    {111,155}, {112,169}, {87,114}, {80,189}, {89,169}, {80,190}, {108,173}, 
+    {83,105}, {114,105}, {112,132}, {98,162}, {105,175}, {121,145}, {105,153}, 
+    {104,154}, {90,131}, {90,132}, {84,133}, {103,186}, {77,160}, {99,112}, 
+    {91,114}, {123,132}, {115,163}, {89,101}, {123,167}, {93,139}, {80,148}, 
+    {102,118}, {96,110}, {125,154}, {92,117}, {96,184}, {103,113}, {117,176}, 
+    {88,156}, {109,134}, {97,121}, {99,128}, {121,128}, {105,176}, {89,155}, 
+    {115,164}, {92,118}, {100,169}, {112,133}, {99,129}, {124,140}, {124,141}, 
+    {114,139}, {114,140}, {100,143}, {113,155}, {122,153}, {113,120}, {125,181}, 
+    {96,185}, {103,187}, {124,119}, {124,164}, {123,133}, {99,167}, {88,121}, 
+    {118,184}, {92,133}, {76,152}, {96,111}, {116,167}, {111,156}, {79,188}, 
+    {111,157}, {114,106}, {125,126}, {74,108}, {125,123}, {125,135}, {103,114}, 
+    {106,145}, {95,180}, {81,172}, {100,158}, {101,131}, {89,102}, {77,124}, 
+    {115,165}, {109,149}, {89,122}, {109,167}, {123,117}, {120,172}, {96,167}, 
+    {76,153}, {84,134}, {103,101}, {85,181}, {83,126}, {124,187}, {100,178}, 
+    {95,181}, {104,184}, {120,173}, {78,135}, {125,182}, {104,152}, {77,152}, 
+    {103,150}, {76,154}, {74,163}, {95,182}, {112,135}, {112,134}, {88,122}, 
+    {113,180}, {116,176}, {117,140}, {124,165}, {106,133}, {106,179}, {93,155}, 
+    {92,151}, {94,189}, {114,185}, {85,135}, {88,144}, {112,136}, {81,97}, 
+    {81,98}, {89,148}, {86,168}, {89,138}, {90,113}, {88,135}, {92,162}, 
+    {115,142}, {117,180}, {113,121}, {90,147}, {118,170}, {79,181}, {125,110}, 
+    {74,146}, {95,116}, {87,157}, {122,122}, {110,103}, {117,125}, {120,181}, 
+    {109,168}, {84,161}, {81,99}, {97,150}, {121,184}, {91,138}, {75,185}, 
+    {84,148}, {89,156}, {110,126}, {119,173}, {82,174}, {97,166}, {119,185}, 
+    {93,173}, {104,155}, {91,115}, {81,183}, {96,112}, {84,162}, {118,151}, 
+    {87,185}, {88,157}, {77,189}, {114,107}, {77,125}, {120,130}, {114,108}, 
+    {74,109}, {74,110}, {79,110}, {99,130}, {92,119}, {91,154}, {89,123}, 
+    {74,179}, {118,147}, {102,184}, {106,181}, {106,182}, {118,185}, {79,111}, 
+    {74,147}, {74,111}, {82,112}, {113,122}, {87,115}, {99,131}, {115,189}, 
+    {94,154}, {94,155}, {111,158}, {98,163}, {110,187}, {95,183}, {87,138}, 
+    {78,168}, {91,155}, {113,123}, {105,177}, {122,119}, {80,134}, {76,107}, 
+    {110,104}, {75,186}, {121,185}, {76,189}, {83,190}, {100,144}, {114,174}, 
+    {84,149}, {95,141}, {124,120}, {81,144}, {114,141}, {119,146}, {74,148}, 
+    {85,153}, {88,158}, {77,153}, {110,105}, {118,124}, {76,155}, {112,137}, 
+    {124,188}, {104,137}, {116,190}, {103,188}, {87,158}, {94,156}, {112,108}, 
+    {76,190}, {77,161}, {97,122}, {91,175}, {90,114}, {81,101}, {92,120}, 
+    {88,182}, {81,100}, {77,162}, {92,170}, {112,183}, {112,138}, {80,126}, 
+    {93,156}, {84,150}, {83,150}, {109,144}, {77,97}, {95,117}, {95,184}, 
+    {84,97}, {78,114}, {104,138}, {107,181}, {99,149}, {117,144}, {117,97}, 
+    {89,103}, {101,107}, {102,139}, {117,177}, {101,133}, {121,99}, {96,155}, 
+    {118,171}, {75,177}, {89,170}, {117,98}, {87,145}, {81,184}, {106,184}, 
+    {106,185}, {90,115}, {111,159}, {113,175}, {101,182}, {110,127}, {98,164}, 
+    {80,127}, {122,108}, {117,145}, {103,115}, {105,126}, {114,142}, {91,116}, 
+    {124,142}, {93,174}, {103,116}, {87,116}, {119,116}, {77,126}, {90,169}, 
+    {79,112}, {119,153}, {115,166}, {78,153}, {78,106}, {75,136}, {80,103}, 
+    {112,139}, {80,135}, {100,133}, {91,160}, {85,154}, {87,103}, {110,128}, 
+    {120,182}, {117,146}, {109,169}, {89,124}, {101,134}, {117,99}, {90,148}, 
+    {98,103}, {123,188}, {113,156}, {74,180}, {104,186}, {78,169}, {105,184}, 
+    {98,165}, {80,121}, {84,178}, {81,102}, {95,142}, {124,180}, {83,106}, 
+    {76,108}, {111,160}, {101,165}, {80,149}, {91,188}, {124,166}, {75,190}, 
+    {109,170}, {94,113}, {121,163}, {84,98}, {79,182}, {86,144}, {85,170}, 
+    {113,174}, {122,139}, {101,97}, {85,113}, {79,173}, {109,171}, {85,114}, 
+    {85,124}, {125,162}, {115,109}, {125,155}, {105,112}, {81,103}, {125,163}, 
+    {78,115}, {125,164}, {122,142}, {74,112}, {119,103}, {79,113}, {102,98}, 
+    {124,118}, {114,109}, {111,161}, {115,110}, {92,134}, {89,171}, {104,160}, 
+    {97,104}, {85,182}, {79,189}, {94,157}, {89,145}, {100,170}, {114,143}, 
+    {119,127}, {98,166}, {98,104}, {99,150}, {109,145}, {105,185}, {86,113}, 
+    {94,114}, {96,168}, {83,107}, {107,156}, {95,111}, {74,131}, {110,188}, 
+    {125,131}, {107,182}, {79,114}, {89,172}, {89,125}, {88,159}, {84,120}, 
+    {107,126}, {93,175}, {93,176}, {93,177}, {93,178}, {89,126}, {123,134}, 
+    {79,115}, {110,189}, {100,107}, {90,133}, {88,172}, {81,104}, {98,105}, 
+    {94,124}, {103,117}, {91,176}, {111,162}, {113,176}, {79,116}, {91,177}, 
+    {96,113}, {95,101}, {121,146}, {103,189}, {102,99}, {123,177}, {75,112}, 
+    {114,110}, {77,167}, {104,156}, {103,151}, {119,128}, {80,163}, {90,97}, 
+    {76,125}, {81,105}, {93,140}, {99,190}, {81,106}, {104,106}, {106,118}, 
+    {121,186}, {102,140}, {118,152}, {84,135}, {89,139}, {89,146}, {83,139}, 
+    {88,183}, {90,105}, {117,184}, {94,158}, {114,111}, {120,105}, {88,136}, 
+    {110,129}, {121,129}, {93,179}, {106,186}, {118,125}, {97,123}, {77,127}, 
+    {116,148}, {102,141}, {124,143}, {123,98}, {96,156}, {116,123}, {90,149}, 
+    {121,114}, {123,178}, {91,182}, {94,159}, {91,178}, {120,156}, {119,174}, 
+    {107,168}, {82,186}, {113,124}, {122,154}, {90,170}, {90,134}, {119,129}, 
+    {103,118}, {101,135}, {86,108}, {92,135}, {97,105}, {98,106}, {85,102}, 
+    {84,151}, {114,144}, {106,187}, {96,157}, {123,179}, {113,125}, {98,167}, 
+    {125,151}, {78,136}, {106,119}, {124,128}, {125,167}, {119,175}, {87,117}, 
+    {111,122}, {113,157}, {94,115}, {104,139}, {120,157}, {123,135}, {85,136}, 
+    {87,159}, {93,105}, {105,113}, {122,109}, {118,153}, {122,180}, {120,106}, 
+    {102,174}, {76,156}, {97,124}, {96,175}, {105,127}, {124,189}, {102,142}, 
+    {97,151}, {102,143}, {116,177}, {100,179}, {100,187}, {121,164}, {111,163}, 
+    {79,174}, {118,126}, {96,114}, {124,190}, {81,107}, {87,186}, {123,136}, 
+    {98,151}, {84,99}, {112,184}, {87,104}, {97,167}, {83,127}, {111,164}, 
+    {87,133}, {107,162}, {124,167}, {100,98}, {98,168}, {102,144}, {123,168}, 
+    {116,168}, {101,180}, {116,124}, {116,149}, {95,118}, {124,121}, {110,130}, 
+    {74,181}, {111,165}, {75,162}, {84,100}, {94,160}, {90,189}, {100,134}, 
+    {104,126}, {96,158}, {118,116}, {106,146}, {121,187}, {96,130}, {74,164}, 
+    {103,119}, {106,189}, {89,157}, {90,116}, {110,106}, {123,169}, {91,139}, 
+    {90,117}, {113,126}, {83,108}, {123,137}, {95,143}, {83,128}, {99,151}, 
+    {111,166}, {124,144}, {105,128}, {117,147}, {108,156}, {119,119}, {106,120}, 
+    {81,185}, {92,136}, {106,121}, {113,158}, {87,118}, {79,117}, {89,104}, 
+    {108,174}, {93,106}, {77,98}, {104,110}, {97,125}, {114,145}, {105,129}, 
+    {82,188}, {91,117}, {115,167}, {88,190}, {124,145}, {109,114}, {116,111}, 
+    {123,99}, {124,129}, {110,107}, {84,101}, {116,178}, {110,153}, {123,138}, 
+    {77,163}, {88,123}, {101,155}, {120,183}, {118,148}, {87,105}, {75,137}, 
+    {102,145}, {112,140}, {88,110}, {121,147}, {85,190}, {88,124}, {114,112}, 
+    {98,107}, {115,168}, {111,130}, {109,172}, {103,120}, {90,190}, {76,126}, 
+    {114,188}, {90,171}, {98,152}, {109,150}, {86,145}, {96,115}, {124,146}, 
+    {107,136}, {83,129}, {112,141}, {79,183}, {109,146}, {84,152}, {92,137}, 
+    {87,177}, {95,123}, {115,101}, {116,141}, {113,127}, {120,113}, {105,186}, 
+    {123,139}, {74,149}, {121,148}, {119,138}, {86,136}, {124,168}, {115,125}, 
+    {110,190}, {103,190}, {83,130}, {83,118}, {76,109}, {118,186}, {86,114}, 
+    {82,152}, {103,152}, {99,101}, {103,121}, {112,109}, {123,140}, {107,97}, 
+    {84,102}, {123,141}, {85,125}, {113,159}, {118,187}, {94,116}, {85,171}, 
+    {101,136}, {123,100}, {84,121}, {94,161}, {100,99}, {87,119}, {120,174}, 
+    {94,117}, {86,146}, {121,149}, {103,122}, {107,149}, {85,183}, {111,167}, 
+    {97,126}, {122,110}, {86,169}, {86,174}, {103,123}, {108,139}, {85,115}, 
+    {78,116}, {123,101}, {97,174}, {119,104}, {123,142}, {88,125}, {123,189}, 
+    {124,169}, {79,118}, {109,135}, {110,108}, {76,157}, {118,103}, {102,186}, 
+    {117,100}, {125,156}, {109,115}, {78,137}, {111,168}, {97,127}, {122,155}, 
+    {75,163}, {119,105}, {123,102}, {92,121}, {113,128}, {109,136}, {111,131}, 
+    {86,109}, {125,142}, {104,97}, {123,180}, {85,103}, {113,182}, {102,147}, 
+    {76,158}, {120,114}, {92,171}, {125,118}, {101,170}, {113,160}, {91,140}, 
+    {93,141}, {84,136}, {89,173}, {117,101}, {102,187}, {102,148}, {125,136}, 
+    {86,97}, {125,127}, {124,147}, {111,97}, {103,124}, {81,174}, {102,149}, 
+    {105,178}, {95,112}, {88,160}, {124,122}, {125,111}, {112,142}, {91,161}, 
+    {101,137}, {109,116}, {96,131}, {99,152}, {105,187}, {106,104}, {125,119}, 
+    {123,103}, {105,130}, {125,183}, {98,153}, {92,172}, {104,98}, {102,176}, 
+    {125,184}, {125,185}, {118,127}, {103,103}, {102,151}, {84,179}, {84,137}, 
+    {86,186}, {87,178}, {97,128}, {91,162}, {102,152}, {103,125}, {112,143}, 
+    {115,126}, {98,108}, {117,119}, {96,176}, {125,120}, {99,168}, {84,103}, 
+    {104,188}, {122,146}, {120,175}, {86,147}, {85,116}, {112,144}, {119,176}, 
+    {110,115}, {106,122}, {106,147}, {109,137}, {93,107}, {101,108}, {125,97}, 
+    {95,144}, {108,115}, {95,145}, {109,173}, {120,120}, {119,186}, {120,107}, 
+    {116,160}, {84,122}, {100,115}, {105,154}, {94,118}, {89,127}, {89,128}, 
+    {86,175}, {89,140}, {90,106}, {95,165}, {119,165}, {76,114}, {95,185}, 
+    {87,160}, {84,123}, {125,186}, {76,115}, {91,179}, {95,146}, {78,138}, 
+    {110,154}, {100,164}, {123,143}, {79,119}, {110,131}, {78,170}, {98,109}, 
+    {87,161}, {122,181}, {85,137}, {120,108}, {103,153}, {115,169}, {88,173}, 
+    {99,132}, {112,177}, {104,165}, {96,186}, {110,132}, {89,158}, {107,98}, 
+    {107,99}, {124,130}, {106,123}, {104,107}, {94,162}, {109,175}, {104,99}, 
+    {79,177}, {84,124}, {124,170}, {103,126}, {124,178}, {86,116}, {98,110}, 
+    {83,119}, {122,140}, {122,156}, {109,117}, {97,163}, {104,108}, {104,157}, 
+    {111,169}, {116,125}, {79,120}, {105,155}, {81,108}, {90,135}, {107,137}, 
+    {104,140}, {94,119}, {86,124}, {83,165}, {122,157}, {90,150}, {74,113}, 
+    {90,136}, {95,102}, {121,115}, {114,146}, {74,132}, {78,139}, {77,181}, 
+    {125,112}, {85,104}, {113,129}, {98,169}, {92,138}, {108,116}, {122,128}, 
+    {123,104}, {80,104}, {90,172}, {89,174}, {96,187}, {111,170}, {122,158}, 
+    {96,132}, {79,121}, {85,138}, {87,162}, {98,111}, {87,120}, {104,141}, 
+    {118,154}, {111,98}, {98,154}, {118,188}, {123,144}, {81,109}, {77,164}, 
+    {81,110}, {92,173}, {104,142}, {112,185}, {78,117}, {102,188}, {87,187}, 
+    {80,150}, {93,181}, {119,177}, {118,189}, {91,183}, {123,170}, {105,156}, 
+    {89,129}, {117,178}, {96,133}, {106,148}, {121,130}, {106,124}, {82,133}, 
+    {123,145}, {103,128}, {107,101}, {95,186}, {99,98}, {87,121}, {105,131}, 
+    {104,189}, {104,111}, {114,147}, {123,105}, {88,101}, {85,139}, {80,136}, 
+    {81,111}, {87,163}, {96,134}, {86,98}, {109,176}, {87,179}, {124,148}, 
+    {90,151}, {76,159}, {114,148}, {81,112}, {76,160}, {91,189}, {115,127}, 
+    {112,145}, {124,123}, {98,112}, {102,101}, {98,155}, {95,158}, {96,135}, 
+    {114,175}, {76,161}, {86,170}, {103,130}, {78,118}, {115,128}, {77,190}, 
+    {123,146}, {120,184}, {119,187}, {104,127}, {104,119}, {109,118}, {92,122}, 
+    {76,116}, {113,183}, {104,120}, {74,182}, {100,100}, {116,150}, {95,166}, 
+    {95,103}, {95,167}, {97,129}, {105,132}, {92,139}, {105,133}, {111,99}, 
+    {107,102}, {75,99}, {99,169}, {81,187}, {111,100}, {111,171}, {80,116}, 
+    {77,99}, {104,166}, {111,101}, {83,140}, {90,173}, {87,122}, {114,149}, 
+    {117,165}, {89,175}, {121,116}, {85,148}, {125,143}, {91,163}, {113,161}, 
+    {108,118}, {123,190}, {83,151}, {81,113}, {75,113}, {81,114}, {75,114}, 
+    {113,130}, {116,161}, {121,117}, {97,131}, {97,130}, {107,183}, {95,104}, 
+    {75,138}, {102,121}, {120,158}, {121,106}, {74,183}, {109,119}, {83,120}, 
+    {114,150}, {84,153}, {110,133}, {114,176}, {74,114}, {92,123}, {113,184}, 
+    {108,119}, {101,138}, {118,128}, {125,157}, {84,163}, {76,162}, {119,148}, 
+    {87,165}, {83,131}, {88,102}, {118,129}, {93,182}, {77,128}, {101,156}, 
+    {101,139}, {97,132}, {104,112}, {116,112}, {115,170}, {90,174}, {87,123}, 
+    {98,113}, {87,106}, {86,187}, {100,159}, {74,150}, {107,104}, {91,190}, 
+    {118,130}, {111,123}, {84,189}, {96,136}, {104,121}, {111,102}, {77,100}, 
+    {84,180}, {91,97}, {91,156}, {91,157}, {110,156}, {75,139}, {124,149}, 
+    {78,171}, {77,129}, {123,147}, {121,107}, {117,148}, {89,105}, {105,157}, 
+    {91,141}, {93,142}, {103,131}, {108,140}, {121,172}, {75,140}, {96,188}, 
+    {84,104}, {109,147}, {88,175}, {114,151}, {74,184}, {90,175}, {86,148}, 
+    {89,141}, {88,174}, {114,129}, {95,147}, {90,176}, {98,170}, {96,189}, 
+    {88,184}, {119,111}, {90,118}, {74,151}, {114,152}, {88,185}, {122,159}, 
+    {79,175}, {89,130}, {112,146}, {100,145}, {115,119}, {122,160}, {111,172}, 
+    {98,114}, {84,125}, {89,142}, {116,162}, {84,105}, {77,130}, {103,154}, 
+    {114,153}, {89,106}, {88,126}, {92,109}, {98,171}, {86,188}, {74,185}, 
+    {84,154}, {116,151}, {76,97}, {79,122}, {117,120}, {89,131}, {80,168}, 
+    {99,133}, {107,184}, {114,113}, {79,123}, {83,109}, {104,161}, {78,172}, 
+    {96,116}, {94,163}, {93,183}, {114,114}, {115,182}, {118,155}, {87,190}, 
+    {120,159}, {119,178}, {80,105}, {102,154}, {117,102}, {87,124}, {76,163}, 
+    {102,155}, {93,157}, {81,115}, {111,173}, {86,158}, {100,180}, {97,175}, 
+    {93,184}, {104,143}, {74,165}, {92,97}, {96,117}, {124,108}, {124,109}, 
+    {88,103}, {109,120}, {91,118}, {86,176}, {115,111}, {77,101}, {90,177}, 
+    {88,104}, {76,164}, {81,116}, {74,152}, {90,178}, {117,103}, {117,104}, 
+    {102,102}, {85,172}, {85,184}, {90,179}, {99,134}, {94,164}, {94,165}, 
+    {81,117}, {81,118}, {81,119}, {114,115}, {105,158}, {112,147}, {114,116}, 
+    {112,148}, {75,164}, {123,148}, {117,166}, {99,170}, {94,166}, {95,148}, 
+    {120,185}, {112,110}, {81,120}, {86,159}, {80,151}, {124,97}, {111,174}, 
+    {92,152}, {105,159}, {101,157}, {125,187}, {96,137}, {86,137}, {84,106}, 
+    {101,140}, {105,160}, {80,152}, {124,98}, {84,126}, {98,115}, {94,167}, 
+    {92,124}, {82,118}, {117,149}, {78,97}, {117,105}, {93,185}, {93,186}, 
+    {112,149}, {118,159}, {114,154}, {100,171}, {114,177}, {108,121}, {125,188}, 
+    {97,106}, {74,153}, {111,175}, {117,106}, {108,185}, {120,109}, {114,130}, 
+    {118,131}, {87,146}, {121,98}, {112,150}, {112,186}, {118,160}, {105,179}, 
+    {114,131}, {84,107}, {74,115}, {77,102}, {77,131}, {77,154}, {89,143}, 
+    {118,132}, {110,157}, {103,132}, {98,116}, {95,162}, {103,155}, {104,113}, 
+    {124,110}, {101,141}, {122,171}, {79,124}, {79,162}, {77,182}, {111,176}, 
+    {116,126}, {84,141}, {115,120}, {105,97}, {114,178}, {115,171}, {112,151}, 
+    {79,151}, {79,159}, {104,128}, {104,129}, {79,163}, {105,98}, {80,106}, 
+    {115,129}, {80,107}, {84,164}, {111,124}, {88,97}, {89,159}, {115,151}, 
+    {92,125}, {76,165}, {109,177}, {113,162}, {84,155}, {98,117}, {74,166}, 
+    {83,110}, {76,166}, {113,147}, {117,167}, {74,154}, {123,174}, {97,133}, 
+    {95,169}, {110,158}, {119,130}, {88,98}, {93,108}, {112,111}, {86,125}, 
+    {97,107}, {121,118}, {84,181}, {80,137}, {111,103}, {98,172}, {91,170}, 
+    {78,140}, {117,168}, {119,149}, {83,141}, {115,190}, {80,117}, {96,190}, 
+    {95,187}, {102,157}, {104,100}, {75,141}, {111,104}, {110,116}, {90,152}, 
+    {81,121}, {95,105}, {115,112}, {76,132}, {78,119}, {111,105}, {95,149}, 
+    {109,151}, {110,134}, {111,125}, {124,150}, {91,180}, {111,106}, {120,121}, 
+    {117,169}, {99,153}, {97,134}, {84,127}, {94,168}, {112,170}, {115,130}, 
+    {83,111}, {74,155}, {124,151}, {109,152}, {97,135}, {116,152}, {86,115}, 
+    {93,109}, {85,126}, {113,131}, {110,159}, {86,171}, {116,153}, {87,166}, 
+    {90,119}, {93,187}, {93,143}, {88,99}, {90,153}, {112,152}, {111,132}, 
+    {97,152}, {113,148}, {109,178}, {85,155}, {85,156}, {115,132}, {75,151}, 
+    {98,118}, {111,177}, {123,149}, {83,152}, {93,144}, {112,153}, {75,115}, 
+    {85,157}, {77,103}, {80,108}, {81,122}, {113,132}, {101,115}, {123,181}, 
+    {105,161}, {125,160}, {124,124}, {90,98}, {90,99}, {82,97}, {82,175}, 
+    {98,173}, {94,169}, {78,156}, {114,117}, {80,164}, {93,145}, {97,136}, 
+    {91,119}, {95,163}, {109,121}, {113,133}, {115,143}, {87,107}, {97,108}, 
+    {99,171}, {110,135}, {97,137}, {74,186}, {112,187}, {122,161}, {112,154}, 
+    {76,167}, {90,180}, {76,127}, {78,173}, {85,105}, {122,162}, {80,165}, 
+    {107,150}, {108,159}, {95,188}, {119,150}, {94,170}, {75,116}, {111,126}, 
+    {76,117}, {79,125}, {111,178}, {98,119}, {76,168}, {112,188}, {86,160}, 
+    {113,134}, {98,120}, {107,107}, {75,117}, {88,145}, {116,142}, {115,183}, 
+    {87,134}, {81,123}, {119,106}, {109,138}, {87,147}, {88,186}, {118,133}, 
+    {81,140}, {93,188}, {95,189}, {121,165}, {96,138}, {114,189}, {83,112}, 
+    {116,179}, {90,137}, {102,158}, {120,122}, {104,144}, {88,187}, {106,149}, 
+    {86,99}, {118,134}, {114,155}, {100,188}, {104,114}, {90,154}, {114,156}, 
+    {123,150}, {105,114}, {110,109}, {122,163}, {92,174}, {117,170}, {102,160}, 
+    {112,189}, {87,108}, {117,133}, {110,160}, {91,165}, {93,158}, {89,176}, 
+    {105,99}, {113,185}, {114,132}, {96,139}, {105,100}, {98,121}, {99,113}, 
+    {124,171}, {77,104}, {76,118}, {112,155}, {102,122}, {77,105}, {115,131}, 
+    {97,153}, {111,107}, {103,133}, {96,169}, {115,133}, {84,128}, {85,127}, 
+    {93,110}, {121,188}, {76,128}, {101,98}, {78,120}, {88,146}, {121,150}, 
+    {113,106}, {78,145}, {118,135}, {91,171}, {95,190}, {88,161}, {119,179}, 
+    {87,167}, {84,190}, {81,124}, {101,143}, {75,118}, {90,120}, {77,132}, 
+    {86,126}, {98,122}, {79,152}, {96,140}, {107,185}, {125,189}, {87,168}, 
+    {75,152}, {105,162}, {104,122}, {99,135}, {108,141}, {108,142}, {86,127}, 
+    {99,103}, {95,150}, {125,168}, {110,161}, {118,104}, {93,189}, {120,123}, 
+    {104,145}, {121,151}, {78,174}, {108,143}, {105,101}, {86,149}, {77,133}, 
+    {109,122}, {81,125}, {79,126}, {108,123}, {82,113}, {76,169}, {89,132}, 
+    {105,188}, {81,126}, {108,124}, {101,109}, {119,112}, {76,170}, {83,132}, 
+    {86,128}, {86,189}, {97,97}, {94,125}, {118,105}, {90,100}, {86,100}, 
+    {117,134}, {97,98}, {105,134}, {114,133}, {116,169}, {86,172}, {107,147}, 
+    {108,125}, {98,156}, {94,171}, {112,156}, {107,127}, {87,142}, {81,127}, 
+    {117,107}, {121,189}, {74,156}, {77,134}, {114,118}, {93,190}, {76,119}, 
+    {91,120}, {80,169}, {78,157}, {107,128}, {125,98}, {120,139}, {106,150}, 
+    {113,112}, {91,142}, {119,131}, {91,143}, {75,100}, {120,160}, {123,151}, 
+    {107,138}, {96,97}, {78,141}, {84,156}, {125,152}, {82,182}, {114,119}, 
+    {122,182}, {118,106}, {122,183}, {88,166}, {116,113}, {104,146}, {74,133}, 
+    {76,171}, {98,174}, {98,123}, {119,109}, {120,161}, {115,172}, {94,97}, 
+    {100,189}, {99,172}, {93,111}, {93,112}, {75,119}, {104,147}, {97,99}, 
+    {82,160}, {112,190}, {105,102}, {75,178}, {109,179}, {92,153}, {96,141}, 
+    {119,154}, {91,121}, {76,110}, {90,155}, {77,135}, {93,113}, {88,111}, 
+    {99,99}, {78,175}, {114,179}, {120,115}, {96,142}, {117,189}, {107,172}, 
+    {83,133}, {124,172}, {82,155}, {84,171}, {94,98}, {101,166}, {112,112}, 
+    {85,132}, {109,180}, {99,173}, {104,130}, {109,181}, {87,188}, {109,123}, 
+    {118,107}, {114,120}, {118,136}, {83,166}, {114,157}, {79,127}, {107,108}, 
+    {79,128}, {102,104}, {125,169}, {79,129}, {96,159}, {94,172}, {96,98}, 
+    {116,127}, {98,175}, {89,177}, {113,135}, {75,120}, {121,190}, {91,122}, 
+    {90,181}, {118,172}, {90,156}, {122,164}, {96,143}, {93,114}, {102,105}, 
+    {111,179}, {115,173}, {107,186}, {121,166}, {74,157}, {85,158}, {74,158}, 
+    {95,164}, {102,189}, {117,108}, {100,181}, {105,163}, {109,139}, {79,164}, 
+    {88,147}, {93,115}, {84,172}, {114,121}, {95,119}, {75,142}, {123,152}, 
+    {80,153}, {93,146}, {119,180}, {103,156}, {100,101}, {124,99}, {91,123}, 
+    {114,122}, {105,189}, {80,138}, {117,150}, {89,133}, {100,116}, {109,103}, 
+    {106,125}, {102,190}, {119,132}, {117,109}, {89,160}, {74,116}, {120,162}, 
+    {79,130}, {108,126}, {101,116}, {77,136}, {110,136}, {103,136}, {77,137}, 
+    {121,119}, {113,168}, {89,178}, {91,181}, {74,117}, {89,134}, {88,137}, 
+    {89,107}, {109,124}, {88,148}, {92,154}, {98,124}, {124,173}, {108,160}, 
+    {82,190}, {105,135}, {102,106}, {98,176}, {122,123}, {117,110}, {123,106}, 
+    {108,187}, {108,127}, {124,152}, {84,165}, {121,131}, {110,162}, {87,169}, 
+    {109,182}, {94,173}, {76,172}, {99,174}, {104,148}, {122,184}, {93,116}, 
+    {100,117}, {88,112}, {88,149}, {116,170}, {78,121}, {86,161}, {79,146}, 
+    {80,118}, {78,98}, {115,174}, {115,184}, {92,140}, {80,139}, {124,100}, 
+    {77,138}, {87,148}, {94,99}, {100,160}, {110,137}, {98,157}, {117,190}, 
+    {84,108}, {85,145}, {88,176}, {120,131}, {106,151}, {117,151}, {88,127}, 
+    {125,128}, {107,109}, {85,106}, {103,104}, {110,138}, {74,167}, {120,163}, 
+    {84,157}, {106,152}, {123,153}, {109,183}, {101,117}, {80,109}, {113,177}, 
+    {98,125}, {99,136}, {89,149}, {95,106}, {91,124}, {120,164}, {113,186}, 
+    {101,118}, {115,175}, {123,154}, {97,160}, {89,108}, {117,171}, {96,118}, 
+    {105,136}, {75,143}, {99,137}, {94,174}, {98,126}, {92,175}, {86,101}, 
+    {98,177}, {86,190}, {89,97}, {88,128}, {92,155}, {109,125}, {95,120}, 
+    {106,101}, {87,109}, {115,185}, {109,184}, {117,135}, {97,138}, {107,163}, 
+    {114,158}, {120,140}, {106,153}, {83,134}, {91,166}, {117,111}, {78,176}, 
+    {105,190}, {123,118}, {98,178}, {79,178}, {119,121}, {89,179}, {97,139}, 
+    {90,157}, {90,121}, {107,187}, {75,121}, {109,185}, {96,160}, {116,128}, 
+    {125,124}, {95,113}, {99,175}, {96,99}, {125,121}, {112,113}, {77,139}, 
+    {109,126}, {85,128}, {99,176}, {109,186}, {105,164}, {85,173}, {103,157}, 
+    {84,182}, {101,119}, {91,167}, {98,127}, {110,139}, {87,180}, {112,157}, 
+    {78,107}, {103,158}, {86,150}, {97,140}, {104,115}, {101,174}, {92,98}, 
+    {96,144}, {85,117}, {85,97}, {123,155}, {121,139}, {75,179}, {116,101}, 
+    {122,136}, {86,151}, {105,165}, {123,156}, {125,144}, {123,182}, {90,101}, 
+    {91,125}, {108,162}, {77,183}, {112,158}, {118,137}, {94,175}, {83,113}, 
+    {124,174}, {104,131}, {113,136}, {78,177}, {121,173}, {114,180}, {100,118}, 
+    {117,121}, {92,176}, {99,177}, {104,101}, {114,123}, {94,100}, {90,140}, 
+    {74,169}, {99,154}, {124,153}, {106,154}, {121,132}, {99,100}, {123,157}, 
+    {111,138}, {104,132}, {85,140}, {107,151}, {89,109}, {123,107}, {83,153}, 
+    {85,98}, {118,158}, {90,182}, {96,145}, {105,104}, {117,185}, {122,111}, 
+    {107,188}, {96,170}, {99,114}, {85,133}, {113,163}, {85,174}, {77,140}, 
+    {109,153}, {88,129}, {122,172}, {113,171}, {122,124}, {102,162}, {122,165}, 
+    {98,186}, {74,118}, {100,119}, {106,155}, {117,186}, {123,108}, {79,131}, 
+    {107,189}, {120,186}, {95,121}, {97,177}, {82,100}, {117,187}, {80,154}, 
+    {80,155}, {106,126}, {89,113}, {74,119}, {83,167}, {120,165}, {83,114}, 
+    {98,128}, {114,159}, {77,165}, {121,108}, {77,141}, {110,110}, {86,110}, 
+    {87,170}, {103,160}, {107,110}, {79,153}, {92,141}, {109,187}, {94,176}, 
+    {87,171}, {94,101}, {95,151}, {91,144}, {91,145}, {85,99}, {112,114}, 
+    {92,156}, {74,168}, {120,166}, {92,142}, {106,156}, {91,146}, {105,115}, 
+    {119,155}, {99,104}, {87,110}, {96,161}, {75,122}, {101,145}, {80,156}, 
+    {85,129}, {88,138}, {99,105}, {96,100}, {105,105}, {83,135}, {92,157}, 
+    {120,110}, {76,120}, {80,110}, {88,178}, {99,138}, {76,111}, {84,109}, 
+    {118,145}, {80,140}, {74,134}, {85,130}, {78,122}, {74,135}, {122,112}, 
+    {95,152}, {117,122}, {101,171}, {111,180}, {93,117}, {77,106}, {99,178}, 
+    {123,183}, {119,144}, {125,122}, {125,161}, {118,190}, {81,128}, {104,133}, 
+    {100,120}, {97,168}, {76,129}, {82,173}, {91,126}, {96,162}, {122,137}, 
+    {97,141}, {74,120}, {114,160}, {113,137}, {94,177}, {112,159}, {120,132}, 
+    {110,140}, {94,178}, {103,137}, {98,179}, {103,161}, {99,139}, {99,140}, 
+    {79,184}, {111,108}, {125,190}, {124,101}, {122,113}, {95,153}, {96,146}, 
+    {116,154}, {113,138}, {78,99}, {114,124}, {108,163}, {96,101}, {119,107}, 
+    {107,111}, {101,158}, {97,100}, {77,107}, {89,180}, {104,102}, {77,142}, 
+    {97,169}, {124,175}, {96,163}, {98,129}, {78,100}, {94,102}, {107,190}, 
+    {107,157}, {112,160}, {116,155}, {98,180}, {83,136}, {116,171}, {110,117}, 
+    {117,152}, {85,159}, {86,165}, {107,112}, {116,163}, {99,141}, {116,180}, 
+    {122,114}, {111,181}, {74,159}, {107,113}, {109,127}, {125,137}, {100,102}, 
+    {121,100}, {112,115}, {101,172}, {81,167}, {89,135}, {100,151}, {106,157}, 
+    {84,183}, {90,122}, {90,141}, {121,140}, {97,154}, {91,127}, {76,133}, 
+    {108,144}, {75,123}, {94,179}, {105,106}, {89,136}, {110,163}, {87,125}, 
+    {79,132}, {80,141}, {124,102}, {113,187}, {125,146}, {81,129}, {99,155}, 
+    {83,137}, {92,143}, {76,173}, {94,103}, {102,123}, {108,97}, {76,121}, 
+    {123,158}, {103,162}, {84,129}, {92,104}, {98,130}, {115,152}, {101,147}, 
+    {115,153}, {115,134}, {77,155}, {77,108}, {124,131}, {84,167}, {81,130}, 
+    {121,101}, {104,149}, {99,142}, {84,138}, {95,154}, {123,159}, {103,163}, 
+    {120,187}, {99,143}, {117,112}, {88,167}, {89,137}, {120,111}, {111,182}, 
+    {93,118}, {110,111}, {77,184}, {94,120}, {124,103}, {119,188}, {119,113}, 
+    {78,123}, {116,97}, {110,141}, {97,110}, {108,131}, {79,190}, {120,127}, 
+    {88,162}, {83,168}, {94,104}, {116,164}, {108,130}, {89,181}, {121,133}, 
+    {93,147}, {86,177}, {108,188}, {124,176}, {109,128}, {74,121}, {110,164}, 
+    {114,161}, {94,121}, {86,178}, {94,180}, {95,155}, {91,147}, {122,167}, 
+    {88,163}, {116,129}, {93,119}, {114,181}, {84,110}, {86,179}, {93,120}, 
+    {79,133}, {95,159}, {114,126}, {118,97}, {107,139}, {113,188}, {115,135}, 
+    {96,171}, {109,188}, {97,155}, {110,165}, {94,181}, {122,147}, {113,139}, 
+    {80,111}, {93,121}, {81,131}, {117,113}, {106,134}, {112,161}, {118,108}, 
+    {117,153}, {112,171}, {93,122}, {114,127}, {119,133}, {91,98}, {114,182}, 
+    {74,122}, {119,181}, {75,165}, {110,166}, {96,147}, {78,101}, {86,152}, 
+    {84,111}, {105,137}, {83,142}, {116,130}, {75,166}, {113,97}, {107,114}, 
+    {113,98}, {107,115}, {112,116}, {75,180}, {84,112}, {115,114}, {123,119}, 
+    {117,172}, {110,167}, {116,114}, {117,173}, {79,179}, {112,162}, {110,142}, 
+    {113,140}, {101,120}, {87,181}, {99,179}, {79,165}, {79,134}, {115,115}, 
+    {100,152}, {79,185}, {79,154}, {122,141}, {102,163}, {114,162}, {117,174}, 
+    {74,123}, {99,156}, {78,178}, {86,153}, {110,112}, {116,165}, {88,130}, 
+    {92,144}, {76,174}, {85,160}, {118,138}, {125,138}, {88,150}, {116,143}, 
+    {86,102}, {92,126}, {91,148}, {87,135}, {114,190}, {113,141}, {98,131}, 
+    {92,158}, {92,159}, {111,109}, {102,107}, {121,157}, {106,127}, {111,110}, 
+    {116,144}, {78,179}, {102,108}, {78,158}, {85,185}, {99,180}, {77,144}, 
+    {85,120}, {119,189}, {92,105}, {94,182}, {92,106}, {114,163}, {105,116}, 
+    {82,156}, {105,166}, {99,182}, {103,138}, {80,142}, {90,183}, {74,124}, 
+    {110,168}, {90,158}, {114,183}, {98,187}, {76,102}, {90,123}, {110,169}, 
+    {117,154}, {119,156}, {97,170}, {78,129}, {84,113}, {125,113}, {102,125}, 
+    {123,109}, {120,167}, {97,142}, {119,162}, {117,175}, {79,135}, {84,114}, 
+    {76,175}, {84,168}, {110,143}, {119,151}, {96,102}, {86,129}, {97,156}, 
+    {112,163}, {113,164}, {92,177}, {86,103}, {116,181}, {113,142}, {114,164}, 
+    {80,112}, {108,175}, {121,122}, {107,117}, {84,173}, {98,132}, {105,167}, 
+    {107,116}, {106,97}, {120,124}, {78,102}, {121,134}, {124,154}, {84,115}, 
+    {83,121}, {106,158}, {105,107}, {97,161}, {83,143}, {116,182}, {106,128}, 
+    {97,143}, {76,122}, {110,170}, {112,164}, {115,116}, {84,174}, {114,128}, 
+    {113,165}, {116,131}, {96,148}, {107,118}, {87,97}, {75,168}, {121,109}, 
+    {105,109}, {88,164}, {122,115}, {98,133}, {124,125}, {108,132}, {88,113}, 
+    {92,107}, {85,100}, {107,169}, {104,123}, {88,151}, {123,110}, {81,161}, 
+    {91,128}, {117,126}, {94,183}, {74,187}, {119,134}, {79,136}, {97,144}, 
+    {110,144}, {105,180}, {78,180}, {85,141}, {79,155}, {93,123}, {78,108}, 
+    {105,168}, {84,116}, {100,135}, {117,155}, {122,129}, {94,105}, {84,184}, 
+    {111,183}, {83,115}, {107,119}, {111,184}, {117,156}, {109,140}, {91,149}, 
+    {113,143}, {113,144}, {117,114}, {89,110}, {85,108}, {98,134}, {125,99}, 
+    {123,165}, {95,107}, {98,181}, {118,109}, {117,115}, {112,117}, {97,101}, 
+    {117,157}, {108,98}, {109,189}, {117,116}, {123,120}, {91,99}, {86,138}, 
+    {75,153}, {101,148}, {115,186}, {107,120}, {96,119}, {87,172}, {113,172}, 
+    {101,111}, {85,161}, {87,173}, {81,145}, {97,178}, {111,185}, {93,124}, 
+    {118,156}, {112,165}, {116,132}, {105,169}, {115,187}, {84,175}, {76,98}, 
+    {119,190}, {95,124}, {107,141}, {80,119}, {86,130}, {104,109}, {111,111}, 
+    {75,101}, {75,169}, {122,168}, {76,134}, {102,167}, {106,135}, {91,100}, 
+    {79,137}, {98,188}, {111,186}, {107,158}, {117,136}, {84,158}, {96,149}, 
+    {111,112}, {98,135}, {89,111}, {121,167}, {103,165}, {79,138}, {97,145}, 
+    {98,136}, {111,187}, {122,185}, {92,178}, {96,103}, {120,168}, {75,170}, 
+    {75,124}, {86,162}, {117,158}, {117,159}, {110,118}, {98,182}, {83,138}, 
+    {111,188}, {81,132}, {111,113}, {81,133}, {80,158}, {89,161}, {96,120}, 
+    {77,145}, {115,121}, {103,140}, {86,104}, {78,103}, {84,117}, {100,136}, 
+    {83,116}, {107,121}, {75,181}, {118,157}, {113,99}, {76,135}, {105,138}, 
+    {97,176}, {117,160}, {123,111}, {75,145}, {123,160}, {114,165}, {108,176}, 
+    {112,172}, {110,171}, {105,139}, {76,176}, {87,111}, {115,97}, {124,181}, 
+    {113,100}, {96,150}, {111,114}, {116,145}, {119,97}, {113,145}, {74,188}, 
+    {74,189}, {78,142}, {115,136}, {115,122}, {109,190}, {90,102}, {96,172}, 
+    {120,141}, {75,146}, {107,142}, {121,152}, {121,153}, {74,160}, {90,138}, 
+    {75,102}, {74,136}, {121,174}, {91,172}, {80,113}, {85,175}, {102,179}, 
+    {103,98}, {100,153}, {100,161}, {124,132}, {121,175}, {79,180}, {119,166}, 
+    {78,124}, {116,133}, {92,99}, {93,125}, {116,134}, {120,97}, {104,150}, 
+    {91,129}, {112,166}, {100,121}, {118,173}, {121,110}, {93,126}, {87,112}, 
+    {88,168}, {75,125}, {121,154}, {120,142}, {121,176}, {96,173}, {99,115}, 
+    {116,115}, {106,130}, {114,166}, {112,118}, {91,150}, {107,164}, {114,167}, 
+    {87,149}, {84,118}, {121,168}, {87,129}, {101,149}, {105,170}, {87,140}, 
+    {83,169}, {98,137}, {124,155}, {77,109}, {76,112}, {106,98}, {100,182}, 
+    {80,128}, {112,119}, {110,97}, {87,182}, {98,138}, {98,139}, {122,143}, 
+    {107,159}, {86,139}, {116,116}, {109,141}, {100,146}, {106,105}, {100,122}, 
+    {115,98}, {77,146}, {118,139}, {113,166}, {109,129}, {104,124}, {110,145}, 
+    {112,167}, {98,140}, {100,106}, {117,161}, {109,154}, {87,174}, {81,177}, 
+    {105,171}, {105,172}, {96,164}, {90,103}, {93,148}, {106,99}, {86,131}, 
+    {86,180}, {90,159}, {111,115}, {98,141}, {111,189}, {114,168}, {111,133}, 
+    {103,167}, {87,189}, {103,142}, {95,156}, {121,135}, {89,182}, {95,108}, 
+    {86,154}, {92,100}, {112,120}, {85,186}, {100,183}, {86,132}, {116,172}, 
+    {111,190}, {112,97}, {94,106}, {90,124}, {88,188}, {122,148}, {108,165}, 
+    {124,104}, {108,166}, {88,139}, {123,121}, {100,147}, {77,185}, {79,147}, 
+    {74,170}, {79,148}, {120,125}, {116,135}, {106,159}, {121,155}, {84,119}, 
+    {107,165}, {97,146}, {106,100}, {122,130}, {123,161}, {122,173}, {112,98}, 
+    {76,177}, {122,99}, {98,183}, {98,142}, {105,181}, {97,171}, {103,168}, 
+    {104,151}, {90,184}, {84,139}, {119,182}, {86,133}, {84,169}, {122,186}, 
+    {76,178}, {119,157}, {94,122}, {78,104}, {112,121}, {100,190}, {100,137}, 
+    {100,148}, {106,131}, {111,116}, {87,126}, {123,162}, {77,147}, {111,117}, 
+    {122,169}, {121,102}, {95,125}, {119,135}, {120,189}, {120,188}, {94,107}, 
+    {91,168}, {99,157}, {97,162}, {81,134}, {118,144}, {107,166}, {90,185}, 
+    {108,135}, {94,184}, {120,169}, {99,158}, {78,181}, {122,131}, {101,151}, 
+    {108,136}, {115,137}, {100,123}, {102,110}, {111,118}, {92,127}, {78,125}, 
+    {88,131}, {80,143}, {79,186}, {115,138}, {96,151}, {81,135}, {105,110}, 
+    {104,125}, {122,132}, {98,143}, {122,133}, {121,120}, {92,160}, {123,112}, 
+    {88,105}, {101,159}, {121,103}, {118,174}, {118,140}, {98,184}, {108,177}, 
+    {90,160}, {113,146}, {82,140}, {79,139}, {74,125}, {93,127}, {118,175}, 
+    {94,185}, {122,116}, {85,109}, {113,167}, {94,126}, {92,128}, {81,136}, 
+    {81,137}, {120,126}, {75,182}, {84,185}, {117,162}, {97,147}, {88,169}, 
+    {120,190}, {79,140}, {125,100}, {78,182}, {122,144}, {76,179}, {102,126}, 
+    {118,110}, {85,176}, {81,138}, {124,126}, {85,177}, {77,169}, {122,117}, 
+    {98,144}, {116,183}, {77,148}, {103,99}, {91,101}, {98,145}, {87,98}, 
+    {119,163}, {106,102}, {80,97}, {78,154}, {123,171}, {91,102}, {91,158}, 
+    {88,165}, {106,160}, {88,106}, {101,160}, {86,155}, {111,134}, {120,170}, 
+    {100,149}, {78,183}, {96,152}, {87,175}, {116,173}, {77,166}, {76,180}, 
+    {117,163}, {100,138}, {92,161}, {121,136}, {124,127}, {104,103}, {88,132}, 
+    {75,126}, {92,110}, {87,183}, {112,168}, {93,128}, {79,141}, {92,179}, 
+    {89,112}, {102,169}, {100,124}, {106,132}, {100,172}, {100,165}, {123,184}, 
+    {76,123}, {100,125}, {77,156}, {89,183}, {93,159}, {109,142}, {89,144}, 
+    {101,99}, {121,141}, {77,110}, {79,142}, {118,111}, {125,147}, {107,173}, 
+    {86,156}, {101,100}, {85,118}, {86,157}, {121,169}, {103,100}, {86,163}, 
+    {81,139}, {86,164}, {85,178}, {94,186}, {87,184}, {88,170}, {79,149}, 
+    {88,189}, {88,107}, {125,139}, {124,156}, {96,104}, {85,179}, {125,153}, 
+    {76,99}, {89,185}, {83,170}, {117,181}, {111,135}, {83,154}, {90,125}, 
+    {104,104}, {92,111}, {112,99}, {77,149}, {96,105}, {94,108}, {112,122}, 
+    {110,113}, {110,114}, {118,141}, {110,146}, {86,134}, {96,165}, {115,123}, 
+    {101,161}, {100,139}, {87,99}, {91,130}, {74,190}, {79,143}, {48,97}, 
+    {48,98}, {1,1}, {1,2}, {48,99}, {1,3}, {1,4}, {48,100}, {48,101}, {48,102}, 
+    {48,103}, {1,5}, {1,6}, {1,7}, {1,8}, {1,9}, {48,104}, {48,105}, {48,106}, 
+    {48,107}, {48,108}, {48,109}, {48,110}, {48,111}, {1,10}, {48,112}, 
+    {48,113}, {48,114}, {48,115}, {48,116}, {1,11}, {1,12}, {48,117}, {1,13}, 
+    {1,14}, {1,15}, {48,118}, {1,16}, {1,17}, {1,18}, {1,19}, {1,20}, {1,21}, 
+    {1,22}, {48,119}, {48,120}, {1,23}, {48,121}, {48,122}, {48,123}, {1,24}, 
+    {1,25}, {1,26}, {1,33}, {1,34}, {1,35}, {48,124}, {48,125}, {1,36}, 
+    {1,37}, {48,126}, {1,38}, {1,39}, {1,40}, {48,127}, {1,41}, {1,42}, 
+    {1,43}, {1,44}, {1,45}, {1,46}, {1,47}, {1,48}, {1,49}, {1,50}, {48,128}, 
+    {1,51}, {48,129}, {1,52}, {1,53}, {1,54}, {1,55}, {1,56}, {1,57}, {48,130}, 
+    {1,58}, {1,65}, {1,66}, {48,131}, {1,67}, {1,68}, {1,69}, {48,132}, 
+    {1,70}, {1,71}, {1,72}, {1,73}, {1,74}, {1,75}, {1,76}, {1,77}, {1,78}, 
+    {1,79}, {1,80}, {1,81}, {1,82}, {1,83}, {1,84}, {1,85}, {1,86}, {1,87}, 
+    {1,88}, {48,133}, {48,134}, {1,89}, {1,90}, {48,135}, {1,91}, {1,92}, 
+    {48,136}, {48,137}, {1,93}, {48,138}, {1,94}, {1,95}, {1,96}, {1,97}, 
+    {1,98}, {48,139}, {48,140}, {1,99}, {48,141}, {48,142}, {48,143}, {48,144}, 
+    {1,100}, {1,101}, {48,145}, {48,146}, {48,147}, {48,148}, {1,102}, 
+    {1,103}, {1,104}, {48,149}, {1,105}, {1,106}, {1,107}, {48,150}, {1,108}, 
+    {1,109}, {1,110}, {1,111}, {1,112}, {1,113}, {1,114}, {48,151}, {48,152}, 
+    {1,115}, {48,153}, {48,154}, {48,155}, {1,116}, {1,117}, {1,118}, {1,119}, 
+    {1,120}, {1,121}, {48,156}, {48,157}, {48,158}, {1,122}, {48,159}, 
+    {1,123}, {1,124}, {48,160}, {48,161}, {1,125}, {1,126}, {1,127}, {1,128}, 
+    {1,129}, {1,130}, {1,131}, {48,162}, {48,163}, {1,132}, {48,164}, {48,165}, 
+    {48,166}, {1,133}, {1,134}, {1,135}, {48,167}, {1,136}, {1,137}, {48,168}, 
+    {1,138}, {1,139}, {1,140}, {48,169}, {1,141}, {1,142}, {1,143}, {48,170}, 
+    {1,144}, {1,145}, {1,146}, {1,147}, {1,148}, {1,149}, {1,150}, {1,151}, 
+    {48,171}, {1,152}, {48,172}, {1,153}, {1,154}, {1,155}, {1,156}, {1,157}, 
+    {1,158}, {1,159}, {1,160}, {48,173}, {48,174}, {1,161}, {1,162}, {48,175}, 
+    {1,163}, {1,164}, {48,176}, {48,177}, {1,165}, {48,178}, {1,166}, {48,179}, 
+    {1,167}, {1,168}, {48,180}, {48,181}, {48,182}, {1,169}, {48,183}, 
+    {1,170}, {48,184}, {48,185}, {1,171}, {1,172}, {1,173}, {1,174}, {1,175}, 
+    {48,186}, {48,187}, {1,176}, {1,177}, {48,188}, {1,178}, {1,179}, {1,180}, 
+    {48,189}, {1,181}, {48,190}, {1,182}, {1,183}, {1,184}, {1,185}, {1,186}, 
+    {49,97}, {49,98}, {1,187}, {49,99}, {1,188}, {49,100}, {1,189}, {1,190}, 
+    {2,1}, {2,2}, {2,3}, {2,4}, {49,101}, {2,5}, {2,6}, {2,7}, {49,102}, 
+    {2,8}, {2,9}, {2,10}, {49,103}, {2,11}, {2,12}, {2,13}, {2,14}, {2,15}, 
+    {2,16}, {2,17}, {2,18}, {49,104}, {2,19}, {2,20}, {49,105}, {49,106}, 
+    {2,21}, {2,22}, {2,23}, {2,24}, {2,25}, {2,26}, {49,107}, {49,108}, 
+    {2,33}, {2,34}, {49,109}, {2,35}, {2,36}, {2,37}, {49,110}, {2,38}, 
+    {2,39}, {2,40}, {2,41}, {2,42}, {2,43}, {2,44}, {49,111}, {49,112}, 
+    {2,45}, {49,113}, {2,46}, {49,114}, {2,47}, {2,48}, {2,49}, {2,50}, 
+    {2,51}, {2,52}, {49,115}, {2,53}, {2,54}, {2,55}, {49,116}, {2,56}, 
+    {2,57}, {2,58}, {49,117}, {2,65}, {2,66}, {2,67}, {2,68}, {2,69}, {2,70}, 
+    {2,71}, {2,72}, {49,118}, {2,73}, {49,119}, {2,74}, {2,75}, {2,76}, 
+    {2,77}, {2,78}, {2,79}, {2,80}, {2,81}, {49,120}, {49,121}, {2,82}, 
+    {2,83}, {49,122}, {2,84}, {2,85}, {49,123}, {49,124}, {49,125}, {49,126}, 
+    {2,86}, {2,87}, {2,88}, {2,89}, {49,127}, {49,128}, {49,129}, {2,90}, 
+    {49,130}, {2,91}, {49,131}, {49,132}, {2,92}, {2,93}, {2,94}, {2,95}, 
+    {2,96}, {49,133}, {49,134}, {2,97}, {2,98}, {49,135}, {2,99}, {2,100}, 
+    {2,101}, {49,136}, {2,102}, {2,103}, {2,104}, {2,105}, {2,106}, {2,107}, 
+    {2,108}, {2,109}, {2,110}, {2,111}, {2,112}, {49,137}, {49,138}, {2,113}, 
+    {2,114}, {2,115}, {2,116}, {2,117}, {2,118}, {49,139}, {2,119}, {2,120}, 
+    {2,121}, {2,122}, {2,123}, {2,124}, {2,125}, {2,126}, {2,127}, {2,128}, 
+    {2,129}, {2,130}, {2,131}, {2,132}, {2,133}, {2,134}, {2,135}, {2,136}, 
+    {49,140}, {2,137}, {2,138}, {2,139}, {2,140}, {2,141}, {2,142}, {2,143}, 
+    {2,144}, {49,141}, {49,142}, {2,145}, {2,146}, {49,143}, {2,147}, {2,148}, 
+    {2,149}, {49,144}, {2,150}, {2,151}, {2,152}, {2,153}, {2,154}, {2,155}, 
+    {2,156}, {49,145}, {49,146}, {2,157}, {49,147}, {2,158}, {2,159}, {2,160}, 
+    {2,161}, {2,162}, {2,163}, {2,164}, {2,165}, {49,148}, {2,166}, {2,167}, 
+    {2,168}, {49,149}, {2,169}, {2,170}, {2,171}, {49,150}, {2,172}, {2,173}, 
+    {2,174}, {2,175}, {2,176}, {2,177}, {2,178}, {2,179}, {2,180}, {2,181}, 
+    {2,182}, {2,183}, {2,184}, {2,185}, {2,186}, {2,187}, {2,188}, {2,189}, 
+    {2,190}, {49,151}, {49,152}, {3,1}, {3,2}, {49,153}, {3,3}, {3,4}, 
+    {49,154}, {49,155}, {49,156}, {3,5}, {3,6}, {3,7}, {3,8}, {3,9}, {3,10}, 
+    {49,157}, {49,158}, {3,11}, {49,159}, {3,12}, {49,160}, {3,13}, {3,14}, 
+    {3,15}, {3,16}, {3,17}, {3,18}, {49,161}, {3,19}, {3,20}, {3,21}, {3,22}, 
+    {3,23}, {3,24}, {3,25}, {3,26}, {3,33}, {3,34}, {3,35}, {3,36}, {3,37}, 
+    {3,38}, {3,39}, {3,40}, {3,41}, {3,42}, {3,43}, {3,44}, {3,45}, {3,46}, 
+    {3,47}, {3,48}, {3,49}, {3,50}, {3,51}, {49,162}, {49,163}, {3,52}, 
+    {3,53}, {49,164}, {3,54}, {3,55}, {49,165}, {49,166}, {3,56}, {49,167}, 
+    {3,57}, {3,58}, {3,65}, {3,66}, {3,67}, {49,168}, {49,169}, {3,68}, 
+    {49,170}, {3,69}, {49,171}, {49,172}, {3,70}, {3,71}, {3,72}, {49,173}, 
+    {3,73}, {49,174}, {49,175}, {49,176}, {3,74}, {49,177}, {3,75}, {3,76}, 
+    {3,77}, {49,178}, {3,78}, {49,179}, {3,79}, {3,80}, {3,81}, {3,82}, 
+    {3,83}, {49,180}, {49,181}, {3,84}, {49,182}, {49,183}, {49,184}, {3,85}, 
+    {3,86}, {3,87}, {49,185}, {3,88}, {3,89}, {49,186}, {49,187}, {3,90}, 
+    {3,91}, {49,188}, {3,92}, {3,93}, {3,94}, {49,189}, {3,95}, {3,96}, 
+    {3,97}, {3,98}, {3,99}, {3,100}, {3,101}, {49,190}, {50,97}, {3,102}, 
+    {50,98}, {50,99}, {50,100}, {3,103}, {3,104}, {3,105}, {3,106}, {3,107}, 
+    {3,108}, {50,101}, {50,102}, {3,109}, {3,110}, {3,111}, {3,112}, {3,113}, 
+    {3,114}, {50,103}, {3,115}, {3,116}, {3,117}, {3,118}, {3,119}, {3,120}, 
+    {3,121}, {3,122}, {3,123}, {3,124}, {3,125}, {3,126}, {3,127}, {3,128}, 
+    {3,129}, {3,130}, {3,131}, {3,132}, {3,133}, {3,134}, {3,135}, {3,136}, 
+    {3,137}, {3,138}, {3,139}, {3,140}, {3,141}, {3,142}, {3,143}, {3,144}, 
+    {3,145}, {3,146}, {3,147}, {3,148}, {3,149}, {3,150}, {3,151}, {3,152}, 
+    {3,153}, {3,154}, {3,155}, {3,156}, {3,157}, {3,158}, {3,159}, {3,160}, 
+    {3,161}, {50,104}, {50,105}, {50,106}, {3,162}, {50,107}, {3,163}, 
+    {3,164}, {3,165}, {50,108}, {3,166}, {3,167}, {3,168}, {3,169}, {3,170}, 
+    {3,171}, {3,172}, {50,109}, {50,110}, {3,173}, {50,111}, {50,112}, 
+    {50,113}, {3,174}, {3,175}, {3,176}, {3,177}, {3,178}, {3,179}, {50,114}, 
+    {50,115}, {3,180}, {3,181}, {50,116}, {3,182}, {3,183}, {3,184}, {3,185}, 
+    {3,186}, {3,187}, {3,188}, {3,189}, {3,190}, {4,1}, {4,2}, {50,117}, 
+    {4,3}, {4,4}, {50,118}, {4,5}, {50,119}, {4,6}, {4,7}, {4,8}, {4,9}, 
+    {4,10}, {4,11}, {50,120}, {4,12}, {4,13}, {4,14}, {50,121}, {4,15}, 
+    {4,16}, {4,17}, {50,122}, {4,18}, {4,19}, {4,20}, {4,21}, {4,22}, {4,23}, 
+    {4,24}, {4,25}, {4,26}, {4,33}, {50,123}, {50,124}, {4,34}, {4,35}, 
+    {4,36}, {4,37}, {50,125}, {4,38}, {4,39}, {50,126}, {4,40}, {4,41}, 
+    {4,42}, {4,43}, {4,44}, {4,45}, {4,46}, {4,47}, {4,48}, {4,49}, {4,50}, 
+    {4,51}, {4,52}, {4,53}, {4,54}, {4,55}, {4,56}, {4,57}, {4,58}, {4,65}, 
+    {4,66}, {4,67}, {4,68}, {4,69}, {4,70}, {4,71}, {4,72}, {50,127}, {50,128}, 
+    {4,73}, {4,74}, {50,129}, {4,75}, {50,130}, {4,76}, {50,131}, {4,77}, 
+    {4,78}, {4,79}, {4,80}, {4,81}, {4,82}, {4,83}, {50,132}, {50,133}, 
+    {4,84}, {50,134}, {4,85}, {50,135}, {50,136}, {50,137}, {4,86}, {4,87}, 
+    {4,88}, {4,89}, {50,138}, {50,139}, {4,90}, {4,91}, {4,92}, {4,93}, 
+    {4,94}, {4,95}, {50,140}, {4,96}, {4,97}, {4,98}, {4,99}, {4,100}, 
+    {4,101}, {4,102}, {4,103}, {4,104}, {4,105}, {4,106}, {50,141}, {50,142}, 
+    {4,107}, {4,108}, {4,109}, {4,110}, {4,111}, {4,112}, {50,143}, {50,144}, 
+    {4,113}, {4,114}, {4,115}, {4,116}, {4,117}, {4,118}, {4,119}, {4,120}, 
+    {4,121}, {4,122}, {4,123}, {4,124}, {4,125}, {4,126}, {4,127}, {4,128}, 
+    {4,129}, {4,130}, {4,131}, {50,145}, {4,132}, {4,133}, {4,134}, {4,135}, 
+    {4,136}, {4,137}, {50,146}, {4,138}, {4,139}, {4,140}, {50,147}, {4,141}, 
+    {4,142}, {4,143}, {50,148}, {4,144}, {4,145}, {4,146}, {4,147}, {4,148}, 
+    {4,149}, {4,150}, {50,149}, {50,150}, {4,151}, {4,152}, {4,153}, {50,151}, 
+    {4,154}, {4,155}, {4,156}, {4,157}, {4,158}, {4,159}, {50,152}, {4,160}, 
+    {4,161}, {4,162}, {4,163}, {4,164}, {4,165}, {4,166}, {4,167}, {4,168}, 
+    {4,169}, {4,170}, {4,171}, {4,172}, {4,173}, {4,174}, {4,175}, {4,176}, 
+    {4,177}, {4,178}, {4,179}, {4,180}, {4,181}, {4,182}, {4,183}, {4,184}, 
+    {4,185}, {4,186}, {50,153}, {50,154}, {4,187}, {4,188}, {50,155}, {4,189}, 
+    {4,190}, {5,1}, {50,156}, {5,2}, {5,3}, {5,4}, {5,5}, {5,6}, {5,7}, 
+    {50,157}, {50,158}, {50,159}, {5,8}, {50,160}, {5,9}, {50,161}, {50,162}, 
+    {5,10}, {5,11}, {5,12}, {5,13}, {5,14}, {50,163}, {5,15}, {5,16}, {5,17}, 
+    {5,18}, {5,19}, {5,20}, {5,21}, {50,164}, {5,22}, {5,23}, {5,24}, {5,25}, 
+    {5,26}, {5,33}, {5,34}, {5,35}, {5,36}, {5,37}, {5,38}, {50,165}, {50,166}, 
+    {5,39}, {5,40}, {5,41}, {5,42}, {5,43}, {5,44}, {50,167}, {50,168}, 
+    {5,45}, {5,46}, {50,169}, {5,47}, {5,48}, {5,49}, {50,170}, {5,50}, 
+    {5,51}, {5,52}, {5,53}, {5,54}, {5,55}, {5,56}, {50,171}, {50,172}, 
+    {5,57}, {5,58}, {50,173}, {5,65}, {5,66}, {5,67}, {5,68}, {5,69}, {5,70}, 
+    {5,71}, {50,174}, {5,72}, {5,73}, {5,74}, {50,175}, {5,75}, {5,76}, 
+    {5,77}, {50,176}, {5,78}, {5,79}, {5,80}, {5,81}, {5,82}, {5,83}, {5,84}, 
+    {50,177}, {50,178}, {5,85}, {5,86}, {5,87}, {5,88}, {5,89}, {5,90}, 
+    {5,91}, {5,92}, {5,93}, {5,94}, {50,179}, {5,95}, {5,96}, {5,97}, {5,98}, 
+    {5,99}, {5,100}, {5,101}, {5,102}, {5,103}, {5,104}, {5,105}, {5,106}, 
+    {5,107}, {5,108}, {5,109}, {5,110}, {5,111}, {5,112}, {5,113}, {5,114}, 
+    {5,115}, {5,116}, {5,117}, {5,118}, {5,119}, {5,120}, {5,121}, {50,180}, 
+    {50,181}, {5,122}, {5,123}, {50,182}, {5,124}, {50,183}, {5,125}, {50,184}, 
+    {5,126}, {50,185}, {5,127}, {5,128}, {5,129}, {5,130}, {50,186}, {50,187}, 
+    {50,188}, {5,131}, {50,189}, {5,132}, {50,190}, {5,133}, {5,134}, {5,135}, 
+    {51,97}, {5,136}, {5,137}, {5,138}, {5,139}, {5,140}, {5,141}, {5,142}, 
+    {5,143}, {5,144}, {5,145}, {5,146}, {5,147}, {5,148}, {5,149}, {5,150}, 
+    {5,151}, {5,152}, {5,153}, {5,154}, {5,155}, {5,156}, {5,157}, {5,158}, 
+    {5,159}, {5,160}, {5,161}, {5,162}, {5,163}, {5,164}, {5,165}, {51,98}, 
+    {51,99}, {5,166}, {5,167}, {51,100}, {5,168}, {5,169}, {5,170}, {51,101}, 
+    {5,171}, {5,172}, {5,173}, {5,174}, {5,175}, {5,176}, {5,177}, {51,102}, 
+    {51,103}, {5,178}, {51,104}, {5,179}, {51,105}, {5,180}, {5,181}, {5,182}, 
+    {5,183}, {5,184}, {5,185}, {51,106}, {51,107}, {51,108}, {5,186}, {51,109}, 
+    {5,187}, {5,188}, {51,110}, {51,111}, {51,112}, {51,113}, {5,189}, 
+    {5,190}, {6,1}, {6,2}, {6,3}, {51,114}, {51,115}, {6,4}, {51,116}, 
+    {51,117}, {51,118}, {51,119}, {51,120}, {6,5}, {51,121}, {6,6}, {51,122}, 
+    {51,123}, {51,124}, {6,7}, {6,8}, {51,125}, {6,9}, {6,10}, {6,11}, 
+    {51,126}, {6,12}, {6,13}, {6,14}, {6,15}, {6,16}, {6,17}, {6,18}, {51,127}, 
+    {51,128}, {6,19}, {51,129}, {51,130}, {51,131}, {6,20}, {6,21}, {6,22}, 
+    {6,23}, {6,24}, {6,25}, {51,132}, {51,133}, {6,26}, {6,33}, {51,134}, 
+    {6,34}, {6,35}, {6,36}, {51,135}, {6,37}, {6,38}, {6,39}, {6,40}, {6,41}, 
+    {6,42}, {6,43}, {51,136}, {6,44}, {6,45}, {6,46}, {6,47}, {51,137}, 
+    {6,48}, {6,49}, {6,50}, {6,51}, {6,52}, {6,53}, {6,54}, {6,55}, {6,56}, 
+    {6,57}, {6,58}, {6,65}, {6,66}, {6,67}, {6,68}, {6,69}, {6,70}, {6,71}, 
+    {6,72}, {6,73}, {6,74}, {6,75}, {6,76}, {6,77}, {6,78}, {6,79}, {6,80}, 
+    {6,81}, {6,82}, {6,83}, {6,84}, {6,85}, {6,86}, {6,87}, {51,138}, {51,139}, 
+    {6,88}, {51,140}, {51,141}, {6,89}, {6,90}, {6,91}, {51,142}, {6,92}, 
+    {51,143}, {51,144}, {6,93}, {6,94}, {6,95}, {6,96}, {51,145}, {51,146}, 
+    {6,97}, {51,147}, {51,148}, {51,149}, {6,98}, {6,99}, {6,100}, {6,101}, 
+    {6,102}, {51,150}, {51,151}, {51,152}, {6,103}, {6,104}, {51,153}, 
+    {6,105}, {6,106}, {6,107}, {51,154}, {6,108}, {6,109}, {6,110}, {6,111}, 
+    {6,112}, {6,113}, {6,114}, {51,155}, {51,156}, {6,115}, {51,157}, {51,158}, 
+    {51,159}, {6,116}, {6,117}, {6,118}, {6,119}, {6,120}, {6,121}, {51,160}, 
+    {51,161}, {6,122}, {6,123}, {51,162}, {6,124}, {6,125}, {6,126}, {51,163}, 
+    {6,127}, {6,128}, {6,129}, {6,130}, {6,131}, {6,132}, {6,133}, {51,164}, 
+    {51,165}, {6,134}, {6,135}, {51,166}, {51,167}, {6,136}, {6,137}, {51,168}, 
+    {6,138}, {6,139}, {6,140}, {51,169}, {6,141}, {6,142}, {6,143}, {51,170}, 
+    {6,144}, {6,145}, {6,146}, {6,147}, {6,148}, {6,149}, {6,150}, {6,151}, 
+    {6,152}, {6,153}, {6,154}, {6,155}, {6,156}, {6,157}, {6,158}, {6,159}, 
+    {6,160}, {6,161}, {6,162}, {6,163}, {6,164}, {6,165}, {6,166}, {51,171}, 
+    {51,172}, {6,167}, {6,168}, {51,173}, {6,169}, {6,170}, {6,171}, {51,174}, 
+    {6,172}, {51,175}, {6,173}, {6,174}, {6,175}, {6,176}, {6,177}, {51,176}, 
+    {51,177}, {6,178}, {51,178}, {6,179}, {51,179}, {6,180}, {6,181}, {6,182}, 
+    {6,183}, {51,180}, {51,181}, {51,182}, {6,184}, {6,185}, {6,186}, {51,183}, 
+    {6,187}, {6,188}, {6,189}, {51,184}, {6,190}, {7,1}, {7,2}, {7,3}, 
+    {7,4}, {7,5}, {7,6}, {7,7}, {7,8}, {7,9}, {7,10}, {51,185}, {7,11}, 
+    {7,12}, {7,13}, {7,14}, {7,15}, {7,16}, {7,17}, {7,18}, {7,19}, {7,20}, 
+    {7,21}, {7,22}, {7,23}, {7,24}, {7,25}, {7,26}, {7,33}, {7,34}, {7,35}, 
+    {7,36}, {7,37}, {7,38}, {7,39}, {7,40}, {7,41}, {7,42}, {7,43}, {7,44}, 
+    {7,45}, {7,46}, {7,47}, {7,48}, {7,49}, {7,50}, {7,51}, {51,186}, {7,52}, 
+    {7,53}, {7,54}, {51,187}, {7,55}, {7,56}, {7,57}, {51,188}, {7,58}, 
+    {7,65}, {7,66}, {7,67}, {7,68}, {7,69}, {7,70}, {51,189}, {51,190}, 
+    {7,71}, {52,97}, {7,72}, {7,73}, {7,74}, {7,75}, {7,76}, {7,77}, {7,78}, 
+    {7,79}, {52,98}, {52,99}, {7,80}, {7,81}, {52,100}, {7,82}, {7,83}, 
+    {7,84}, {52,101}, {7,85}, {7,86}, {7,87}, {7,88}, {7,89}, {7,90}, {7,91}, 
+    {7,92}, {52,102}, {7,93}, {52,103}, {7,94}, {52,104}, {7,95}, {7,96}, 
+    {7,97}, {7,98}, {7,99}, {7,100}, {52,105}, {52,106}, {7,101}, {7,102}, 
+    {52,107}, {7,103}, {7,104}, {52,108}, {52,109}, {7,105}, {7,106}, {7,107}, 
+    {7,108}, {7,109}, {7,110}, {7,111}, {52,110}, {52,111}, {7,112}, {52,112}, 
+    {7,113}, {52,113}, {7,114}, {7,115}, {7,116}, {7,117}, {7,118}, {7,119}, 
+    {52,114}, {7,120}, {7,121}, {7,122}, {7,123}, {7,124}, {7,125}, {7,126}, 
+    {7,127}, {7,128}, {7,129}, {7,130}, {7,131}, {7,132}, {7,133}, {7,134}, 
+    {7,135}, {7,136}, {7,137}, {7,138}, {52,115}, {7,139}, {7,140}, {7,141}, 
+    {7,142}, {7,143}, {7,144}, {7,145}, {52,116}, {7,146}, {7,147}, {7,148}, 
+    {7,149}, {7,150}, {7,151}, {7,152}, {7,153}, {7,154}, {7,155}, {7,156}, 
+    {7,157}, {7,158}, {7,159}, {7,160}, {7,161}, {7,162}, {7,163}, {7,164}, 
+    {7,165}, {7,166}, {7,167}, {7,168}, {7,169}, {7,170}, {7,171}, {7,172}, 
+    {52,117}, {7,173}, {7,174}, {7,175}, {52,118}, {7,176}, {7,177}, {7,178}, 
+    {52,119}, {7,179}, {7,180}, {7,181}, {7,182}, {7,183}, {7,184}, {7,185}, 
+    {52,120}, {52,121}, {7,186}, {7,187}, {7,188}, {7,189}, {7,190}, {8,1}, 
+    {8,2}, {8,3}, {8,4}, {8,5}, {52,122}, {52,123}, {8,6}, {8,7}, {8,8}, 
+    {8,9}, {8,10}, {8,11}, {52,124}, {8,12}, {8,13}, {8,14}, {8,15}, {8,16}, 
+    {8,17}, {8,18}, {52,125}, {52,126}, {8,19}, {8,20}, {8,21}, {52,127}, 
+    {8,22}, {8,23}, {8,24}, {8,25}, {8,26}, {8,33}, {52,128}, {52,129}, 
+    {8,34}, {8,35}, {52,130}, {8,36}, {8,37}, {8,38}, {52,131}, {52,132}, 
+    {52,133}, {8,39}, {8,40}, {8,41}, {8,42}, {8,43}, {52,134}, {52,135}, 
+    {8,44}, {52,136}, {8,45}, {52,137}, {52,138}, {8,46}, {8,47}, {8,48}, 
+    {52,139}, {8,49}, {52,140}, {8,50}, {8,51}, {8,52}, {52,141}, {8,53}, 
+    {8,54}, {8,55}, {52,142}, {8,56}, {8,57}, {8,58}, {8,65}, {8,66}, {8,67}, 
+    {8,68}, {8,69}, {8,70}, {8,71}, {8,72}, {8,73}, {8,74}, {8,75}, {8,76}, 
+    {8,77}, {8,78}, {8,79}, {8,80}, {52,143}, {52,144}, {8,81}, {8,82}, 
+    {52,145}, {8,83}, {8,84}, {8,85}, {52,146}, {8,86}, {52,147}, {8,87}, 
+    {8,88}, {8,89}, {8,90}, {8,91}, {52,148}, {52,149}, {8,92}, {52,150}, 
+    {8,93}, {52,151}, {8,94}, {8,95}, {8,96}, {8,97}, {52,152}, {8,98}, 
+    {52,153}, {52,154}, {52,155}, {8,99}, {52,156}, {8,100}, {8,101}, {52,157}, 
+    {52,158}, {52,159}, {52,160}, {52,161}, {8,102}, {8,103}, {8,104}, 
+    {52,162}, {52,163}, {52,164}, {8,105}, {52,165}, {52,166}, {52,167}, 
+    {52,168}, {52,169}, {8,106}, {8,107}, {8,108}, {52,170}, {52,171}, 
+    {52,172}, {8,109}, {8,110}, {52,173}, {8,111}, {8,112}, {8,113}, {52,174}, 
+    {8,114}, {8,115}, {8,116}, {8,117}, {8,118}, {8,119}, {8,120}, {52,175}, 
+    {52,176}, {8,121}, {52,177}, {52,178}, {52,179}, {8,122}, {8,123}, 
+    {8,124}, {8,125}, {8,126}, {8,127}, {52,180}, {8,128}, {8,129}, {8,130}, 
+    {8,131}, {8,132}, {8,133}, {8,134}, {8,135}, {8,136}, {8,137}, {8,138}, 
+    {8,139}, {8,140}, {8,141}, {8,142}, {8,143}, {8,144}, {8,145}, {8,146}, 
+    {8,147}, {8,148}, {8,149}, {8,150}, {8,151}, {8,152}, {8,153}, {8,154}, 
+    {8,155}, {8,156}, {8,157}, {8,158}, {8,159}, {8,160}, {8,161}, {8,162}, 
+    {8,163}, {8,164}, {8,165}, {8,166}, {8,167}, {8,168}, {8,169}, {8,170}, 
+    {8,171}, {8,172}, {8,173}, {8,174}, {8,175}, {8,176}, {8,177}, {8,178}, 
+    {8,179}, {8,180}, {8,181}, {8,182}, {52,181}, {52,182}, {52,183}, {8,183}, 
+    {52,184}, {8,184}, {8,185}, {52,185}, {52,186}, {8,186}, {52,187}, 
+    {52,188}, {8,187}, {8,188}, {8,189}, {8,190}, {52,189}, {52,190}, {9,1}, 
+    {53,97}, {9,2}, {53,98}, {9,3}, {53,99}, {9,4}, {9,5}, {53,100}, {9,6}, 
+    {53,101}, {53,102}, {9,7}, {9,8}, {53,103}, {9,9}, {9,10}, {9,11}, 
+    {53,104}, {9,12}, {9,13}, {9,14}, {9,15}, {9,16}, {9,17}, {9,18}, {53,105}, 
+    {53,106}, {9,19}, {53,107}, {53,108}, {53,109}, {9,20}, {9,21}, {9,22}, 
+    {9,23}, {9,24}, {9,25}, {53,110}, {9,26}, {9,33}, {9,34}, {53,111}, 
+    {9,35}, {9,36}, {9,37}, {53,112}, {9,38}, {9,39}, {9,40}, {9,41}, {9,42}, 
+    {9,43}, {9,44}, {9,45}, {9,46}, {9,47}, {9,48}, {53,113}, {53,114}, 
+    {9,49}, {9,50}, {9,51}, {9,52}, {9,53}, {9,54}, {53,115}, {9,55}, {9,56}, 
+    {9,57}, {53,116}, {9,58}, {9,65}, {9,66}, {9,67}, {9,68}, {9,69}, {9,70}, 
+    {9,71}, {9,72}, {9,73}, {9,74}, {9,75}, {9,76}, {9,77}, {9,78}, {9,79}, 
+    {9,80}, {9,81}, {9,82}, {9,83}, {9,84}, {9,85}, {9,86}, {53,117}, {53,118}, 
+    {9,87}, {9,88}, {53,119}, {9,89}, {9,90}, {53,120}, {53,121}, {9,91}, 
+    {53,122}, {9,92}, {53,123}, {9,93}, {9,94}, {9,95}, {53,124}, {53,125}, 
+    {9,96}, {53,126}, {9,97}, {53,127}, {9,98}, {53,128}, {9,99}, {53,129}, 
+    {9,100}, {9,101}, {53,130}, {9,102}, {9,103}, {9,104}, {53,131}, {9,105}, 
+    {9,106}, {9,107}, {53,132}, {9,108}, {9,109}, {9,110}, {9,111}, {9,112}, 
+    {9,113}, {9,114}, {9,115}, {9,116}, {9,117}, {9,118}, {9,119}, {9,120}, 
+    {9,121}, {9,122}, {9,123}, {9,124}, {9,125}, {9,126}, {53,133}, {9,127}, 
+    {9,128}, {9,129}, {9,130}, {9,131}, {9,132}, {9,133}, {9,134}, {9,135}, 
+    {9,136}, {9,137}, {9,138}, {9,139}, {9,140}, {9,141}, {9,142}, {9,143}, 
+    {9,144}, {9,145}, {53,134}, {9,146}, {9,147}, {9,148}, {9,149}, {9,150}, 
+    {9,151}, {9,152}, {53,135}, {9,153}, {9,154}, {9,155}, {53,136}, {9,156}, 
+    {9,157}, {9,158}, {53,137}, {9,159}, {9,160}, {9,161}, {9,162}, {9,163}, 
+    {9,164}, {9,165}, {53,138}, {53,139}, {9,166}, {53,140}, {9,167}, {9,168}, 
+    {9,169}, {9,170}, {9,171}, {9,172}, {9,173}, {9,174}, {53,141}, {9,175}, 
+    {9,176}, {9,177}, {9,178}, {9,179}, {9,180}, {9,181}, {9,182}, {9,183}, 
+    {9,184}, {9,185}, {9,186}, {9,187}, {9,188}, {9,189}, {9,190}, {10,1}, 
+    {10,2}, {10,3}, {10,4}, {10,5}, {10,6}, {10,7}, {10,8}, {10,9}, {10,10}, 
+    {10,11}, {53,142}, {53,143}, {10,12}, {10,13}, {53,144}, {10,14}, {10,15}, 
+    {10,16}, {53,145}, {10,17}, {10,18}, {10,19}, {10,20}, {10,21}, {10,22}, 
+    {10,23}, {53,146}, {53,147}, {10,24}, {53,148}, {10,25}, {53,149}, 
+    {10,26}, {10,33}, {10,34}, {10,35}, {10,36}, {10,37}, {53,150}, {10,38}, 
+    {10,39}, {10,40}, {10,41}, {10,42}, {10,43}, {10,44}, {10,45}, {10,46}, 
+    {10,47}, {10,48}, {10,49}, {10,50}, {10,51}, {10,52}, {10,53}, {10,54}, 
+    {10,55}, {10,56}, {53,151}, {10,57}, {10,58}, {10,65}, {10,66}, {10,67}, 
+    {10,68}, {10,69}, {53,152}, {10,70}, {10,71}, {10,72}, {10,73}, {10,74}, 
+    {10,75}, {10,76}, {10,77}, {10,78}, {10,79}, {10,80}, {10,81}, {10,82}, 
+    {10,83}, {10,84}, {10,85}, {10,86}, {10,87}, {10,88}, {10,89}, {53,153}, 
+    {10,90}, {10,91}, {10,92}, {10,93}, {10,94}, {10,95}, {53,154}, {10,96}, 
+    {10,97}, {10,98}, {53,155}, {10,99}, {10,100}, {10,101}, {53,156}, 
+    {10,102}, {10,103}, {10,104}, {10,105}, {10,106}, {10,107}, {10,108}, 
+    {10,109}, {53,157}, {10,110}, {53,158}, {10,111}, {53,159}, {10,112}, 
+    {10,113}, {10,114}, {10,115}, {10,116}, {10,117}, {53,160}, {10,118}, 
+    {10,119}, {10,120}, {53,161}, {10,121}, {10,122}, {10,123}, {53,162}, 
+    {10,124}, {10,125}, {10,126}, {10,127}, {10,128}, {10,129}, {10,130}, 
+    {53,163}, {10,131}, {10,132}, {10,133}, {10,134}, {53,164}, {10,135}, 
+    {10,136}, {10,137}, {10,138}, {10,139}, {10,140}, {53,165}, {53,166}, 
+    {10,141}, {10,142}, {53,167}, {10,143}, {10,144}, {53,168}, {53,169}, 
+    {10,145}, {53,170}, {10,146}, {10,147}, {10,148}, {10,149}, {10,150}, 
+    {53,171}, {53,172}, {10,151}, {53,173}, {10,152}, {53,174}, {10,153}, 
+    {10,154}, {10,155}, {10,156}, {10,157}, {10,158}, {53,175}, {10,159}, 
+    {10,160}, {10,161}, {10,162}, {10,163}, {10,164}, {10,165}, {10,166}, 
+    {10,167}, {10,168}, {10,169}, {10,170}, {10,171}, {10,172}, {10,173}, 
+    {10,174}, {10,175}, {10,176}, {10,177}, {10,178}, {10,179}, {10,180}, 
+    {10,181}, {10,182}, {10,183}, {10,184}, {10,185}, {53,176}, {53,177}, 
+    {10,186}, {10,187}, {53,178}, {10,188}, {10,189}, {53,179}, {53,180}, 
+    {10,190}, {11,1}, {11,2}, {11,3}, {11,4}, {11,5}, {11,6}, {53,181}, 
+    {53,182}, {11,7}, {53,183}, {53,184}, {53,185}, {53,186}, {11,8}, {11,9}, 
+    {11,10}, {11,11}, {11,12}, {53,187}, {53,188}, {11,13}, {11,14}, {53,189}, 
+    {11,15}, {11,16}, {11,17}, {53,190}, {11,18}, {11,19}, {11,20}, {11,21}, 
+    {11,22}, {11,23}, {11,24}, {54,97}, {54,98}, {11,25}, {54,99}, {54,100}, 
+    {54,101}, {11,26}, {11,33}, {11,34}, {11,35}, {11,36}, {54,102}, {54,103}, 
+    {54,104}, {11,37}, {11,38}, {54,105}, {11,39}, {11,40}, {11,41}, {54,106}, 
+    {11,42}, {11,43}, {11,44}, {11,45}, {11,46}, {11,47}, {11,48}, {54,107}, 
+    {54,108}, {11,49}, {54,109}, {54,110}, {54,111}, {11,50}, {11,51}, 
+    {11,52}, {11,53}, {11,54}, {11,55}, {11,56}, {11,57}, {11,58}, {11,65}, 
+    {11,66}, {11,67}, {11,68}, {11,69}, {11,70}, {11,71}, {11,72}, {11,73}, 
+    {11,74}, {11,75}, {11,76}, {11,77}, {11,78}, {11,79}, {11,80}, {11,81}, 
+    {11,82}, {11,83}, {11,84}, {11,85}, {11,86}, {11,87}, {11,88}, {11,89}, 
+    {11,90}, {11,91}, {11,92}, {11,93}, {11,94}, {11,95}, {11,96}, {11,97}, 
+    {11,98}, {11,99}, {11,100}, {11,101}, {11,102}, {11,103}, {11,104}, 
+    {11,105}, {11,106}, {11,107}, {11,108}, {11,109}, {11,110}, {11,111}, 
+    {11,112}, {11,113}, {11,114}, {11,115}, {11,116}, {11,117}, {54,112}, 
+    {54,113}, {11,118}, {11,119}, {54,114}, {11,120}, {11,121}, {11,122}, 
+    {54,115}, {11,123}, {54,116}, {54,117}, {11,124}, {11,125}, {11,126}, 
+    {11,127}, {54,118}, {54,119}, {11,128}, {54,120}, {54,121}, {54,122}, 
+    {11,129}, {11,130}, {11,131}, {11,132}, {11,133}, {54,123}, {54,124}, 
+    {54,125}, {11,134}, {11,135}, {54,126}, {11,136}, {11,137}, {11,138}, 
+    {54,127}, {11,139}, {11,140}, {11,141}, {11,142}, {11,143}, {11,144}, 
+    {11,145}, {54,128}, {54,129}, {11,146}, {54,130}, {54,131}, {54,132}, 
+    {11,147}, {11,148}, {11,149}, {11,150}, {11,151}, {11,152}, {54,133}, 
+    {11,153}, {11,154}, {11,155}, {11,156}, {11,157}, {11,158}, {11,159}, 
+    {11,160}, {11,161}, {11,162}, {11,163}, {11,164}, {11,165}, {11,166}, 
+    {11,167}, {11,168}, {11,169}, {11,170}, {11,171}, {54,134}, {11,172}, 
+    {11,173}, {11,174}, {11,175}, {11,176}, {11,177}, {11,178}, {11,179}, 
+    {11,180}, {11,181}, {11,182}, {11,183}, {11,184}, {11,185}, {11,186}, 
+    {11,187}, {11,188}, {11,189}, {11,190}, {12,1}, {12,2}, {12,3}, {12,4}, 
+    {12,5}, {12,6}, {12,7}, {12,8}, {12,9}, {12,10}, {12,11}, {12,12}, 
+    {12,13}, {12,14}, {12,15}, {12,16}, {54,135}, {54,136}, {12,17}, {12,18}, 
+    {54,137}, {12,19}, {12,20}, {12,21}, {54,138}, {12,22}, {12,23}, {12,24}, 
+    {12,25}, {12,26}, {12,33}, {12,34}, {12,35}, {12,36}, {12,37}, {12,38}, 
+    {12,39}, {54,139}, {12,40}, {12,41}, {12,42}, {12,43}, {12,44}, {12,45}, 
+    {54,140}, {12,46}, {12,47}, {12,48}, {12,49}, {12,50}, {12,51}, {12,52}, 
+    {54,141}, {12,53}, {12,54}, {12,55}, {12,56}, {12,57}, {12,58}, {12,65}, 
+    {12,66}, {12,67}, {12,68}, {12,69}, {12,70}, {12,71}, {12,72}, {12,73}, 
+    {12,74}, {12,75}, {12,76}, {12,77}, {54,142}, {12,78}, {12,79}, {12,80}, 
+    {12,81}, {12,82}, {12,83}, {12,84}, {12,85}, {12,86}, {12,87}, {12,88}, 
+    {12,89}, {12,90}, {12,91}, {12,92}, {12,93}, {12,94}, {12,95}, {12,96}, 
+    {12,97}, {12,98}, {12,99}, {12,100}, {12,101}, {12,102}, {12,103}, 
+    {12,104}, {54,143}, {12,105}, {12,106}, {12,107}, {54,144}, {12,108}, 
+    {12,109}, {12,110}, {12,111}, {12,112}, {12,113}, {12,114}, {12,115}, 
+    {12,116}, {12,117}, {12,118}, {12,119}, {12,120}, {12,121}, {12,122}, 
+    {12,123}, {12,124}, {12,125}, {12,126}, {12,127}, {12,128}, {12,129}, 
+    {12,130}, {12,131}, {12,132}, {12,133}, {12,134}, {12,135}, {12,136}, 
+    {12,137}, {12,138}, {12,139}, {12,140}, {12,141}, {12,142}, {12,143}, 
+    {12,144}, {12,145}, {12,146}, {12,147}, {12,148}, {12,149}, {12,150}, 
+    {12,151}, {12,152}, {12,153}, {12,154}, {12,155}, {12,156}, {12,157}, 
+    {12,158}, {54,145}, {54,146}, {12,159}, {12,160}, {54,147}, {12,161}, 
+    {12,162}, {12,163}, {54,148}, {12,164}, {12,165}, {12,166}, {12,167}, 
+    {12,168}, {12,169}, {54,149}, {54,150}, {12,170}, {12,171}, {12,172}, 
+    {12,173}, {54,151}, {12,174}, {12,175}, {12,176}, {12,177}, {12,178}, 
+    {12,179}, {12,180}, {12,181}, {12,182}, {12,183}, {12,184}, {12,185}, 
+    {12,186}, {12,187}, {12,188}, {12,189}, {12,190}, {13,1}, {13,2}, {13,3}, 
+    {13,4}, {13,5}, {13,6}, {13,7}, {13,8}, {13,9}, {13,10}, {13,11}, {13,12}, 
+    {13,13}, {13,14}, {13,15}, {13,16}, {13,17}, {54,152}, {13,18}, {13,19}, 
+    {13,20}, {13,21}, {13,22}, {13,23}, {13,24}, {13,25}, {13,26}, {13,33}, 
+    {13,34}, {13,35}, {13,36}, {13,37}, {13,38}, {13,39}, {13,40}, {13,41}, 
+    {13,42}, {13,43}, {13,44}, {13,45}, {13,46}, {13,47}, {13,48}, {13,49}, 
+    {13,50}, {54,153}, {13,51}, {13,52}, {13,53}, {54,154}, {13,54}, {13,55}, 
+    {13,56}, {54,155}, {13,57}, {13,58}, {13,65}, {13,66}, {13,67}, {13,68}, 
+    {13,69}, {54,156}, {54,157}, {13,70}, {13,71}, {13,72}, {54,158}, {13,73}, 
+    {13,74}, {13,75}, {13,76}, {13,77}, {13,78}, {13,79}, {13,80}, {13,81}, 
+    {13,82}, {13,83}, {13,84}, {13,85}, {13,86}, {13,87}, {13,88}, {13,89}, 
+    {13,90}, {13,91}, {13,92}, {13,93}, {13,94}, {13,95}, {13,96}, {13,97}, 
+    {13,98}, {13,99}, {13,100}, {13,101}, {13,102}, {13,103}, {13,104}, 
+    {13,105}, {13,106}, {54,159}, {54,160}, {13,107}, {13,108}, {54,161}, 
+    {13,109}, {13,110}, {54,162}, {54,163}, {13,111}, {13,112}, {13,113}, 
+    {13,114}, {13,115}, {13,116}, {13,117}, {54,164}, {54,165}, {13,118}, 
+    {54,166}, {13,119}, {13,120}, {13,121}, {13,122}, {13,123}, {13,124}, 
+    {13,125}, {13,126}, {54,167}, {13,127}, {13,128}, {13,129}, {54,168}, 
+    {13,130}, {13,131}, {13,132}, {54,169}, {13,133}, {13,134}, {13,135}, 
+    {13,136}, {13,137}, {13,138}, {13,139}, {54,170}, {54,171}, {13,140}, 
+    {13,141}, {13,142}, {13,143}, {13,144}, {13,145}, {13,146}, {13,147}, 
+    {13,148}, {13,149}, {54,172}, {13,150}, {13,151}, {13,152}, {54,173}, 
+    {13,153}, {13,154}, {13,155}, {54,174}, {13,156}, {13,157}, {13,158}, 
+    {13,159}, {13,160}, {13,161}, {13,162}, {54,175}, {54,176}, {13,163}, 
+    {54,177}, {13,164}, {54,178}, {13,165}, {13,166}, {13,167}, {13,168}, 
+    {13,169}, {13,170}, {54,179}, {54,180}, {13,171}, {13,172}, {54,181}, 
+    {13,173}, {13,174}, {13,175}, {54,182}, {13,176}, {13,177}, {13,178}, 
+    {13,179}, {13,180}, {13,181}, {13,182}, {54,183}, {54,184}, {13,183}, 
+    {54,185}, {54,186}, {54,187}, {54,188}, {13,184}, {13,185}, {13,186}, 
+    {54,189}, {54,190}, {55,97}, {55,98}, {13,187}, {13,188}, {55,99}, 
+    {13,189}, {13,190}, {14,1}, {55,100}, {14,2}, {14,3}, {14,4}, {14,5}, 
+    {14,6}, {14,7}, {14,8}, {55,101}, {55,102}, {14,9}, {55,103}, {55,104}, 
+    {55,105}, {14,10}, {14,11}, {14,12}, {14,13}, {14,14}, {14,15}, {55,106}, 
+    {55,107}, {14,16}, {14,17}, {55,108}, {14,18}, {14,19}, {14,20}, {14,21}, 
+    {14,22}, {14,23}, {14,24}, {14,25}, {14,26}, {14,33}, {14,34}, {14,35}, 
+    {14,36}, {14,37}, {55,109}, {14,38}, {55,110}, {14,39}, {14,40}, {14,41}, 
+    {14,42}, {14,43}, {14,44}, {14,45}, {14,46}, {14,47}, {14,48}, {14,49}, 
+    {14,50}, {14,51}, {14,52}, {14,53}, {14,54}, {14,55}, {14,56}, {14,57}, 
+    {14,58}, {14,65}, {14,66}, {14,67}, {14,68}, {14,69}, {14,70}, {14,71}, 
+    {14,72}, {14,73}, {14,74}, {14,75}, {14,76}, {14,77}, {14,78}, {55,111}, 
+    {55,112}, {14,79}, {14,80}, {55,113}, {14,81}, {14,82}, {14,83}, {55,114}, 
+    {14,84}, {14,85}, {14,86}, {14,87}, {14,88}, {14,89}, {14,90}, {55,115}, 
+    {55,116}, {14,91}, {55,117}, {55,118}, {55,119}, {14,92}, {14,93}, 
+    {14,94}, {14,95}, {14,96}, {55,120}, {55,121}, {55,122}, {14,97}, {14,98}, 
+    {55,123}, {14,99}, {14,100}, {14,101}, {55,124}, {14,102}, {14,103}, 
+    {14,104}, {14,105}, {14,106}, {14,107}, {14,108}, {55,125}, {55,126}, 
+    {14,109}, {55,127}, {14,110}, {55,128}, {14,111}, {14,112}, {14,113}, 
+    {14,114}, {14,115}, {14,116}, {55,129}, {55,130}, {14,117}, {14,118}, 
+    {55,131}, {14,119}, {14,120}, {14,121}, {55,132}, {14,122}, {14,123}, 
+    {14,124}, {14,125}, {14,126}, {14,127}, {14,128}, {55,133}, {55,134}, 
+    {14,129}, {55,135}, {55,136}, {55,137}, {14,130}, {14,131}, {14,132}, 
+    {14,133}, {14,134}, {14,135}, {55,138}, {14,136}, {14,137}, {14,138}, 
+    {55,139}, {14,139}, {14,140}, {14,141}, {14,142}, {14,143}, {14,144}, 
+    {14,145}, {14,146}, {14,147}, {14,148}, {14,149}, {14,150}, {55,140}, 
+    {14,151}, {55,141}, {14,152}, {14,153}, {14,154}, {14,155}, {14,156}, 
+    {14,157}, {14,158}, {14,159}, {55,142}, {55,143}, {14,160}, {14,161}, 
+    {55,144}, {14,162}, {14,163}, {14,164}, {55,145}, {14,165}, {14,166}, 
+    {14,167}, {14,168}, {14,169}, {14,170}, {14,171}, {55,146}, {55,147}, 
+    {14,172}, {55,148}, {14,173}, {55,149}, {14,174}, {14,175}, {14,176}, 
+    {14,177}, {14,178}, {14,179}, {55,150}, {14,180}, {14,181}, {14,182}, 
+    {55,151}, {14,183}, {14,184}, {14,185}, {14,186}, {14,187}, {14,188}, 
+    {14,189}, {14,190}, {15,1}, {15,2}, {15,3}, {15,4}, {15,5}, {15,6}, 
+    {15,7}, {15,8}, {55,152}, {15,9}, {15,10}, {15,11}, {15,12}, {15,13}, 
+    {15,14}, {15,15}, {15,16}, {15,17}, {15,18}, {15,19}, {15,20}, {15,21}, 
+    {15,22}, {15,23}, {15,24}, {15,25}, {15,26}, {15,33}, {15,34}, {15,35}, 
+    {15,36}, {15,37}, {15,38}, {15,39}, {15,40}, {55,153}, {15,41}, {15,42}, 
+    {15,43}, {15,44}, {15,45}, {15,46}, {15,47}, {55,154}, {15,48}, {15,49}, 
+    {15,50}, {55,155}, {15,51}, {15,52}, {15,53}, {55,156}, {15,54}, {15,55}, 
+    {15,56}, {15,57}, {15,58}, {15,65}, {15,66}, {55,157}, {55,158}, {15,67}, 
+    {55,159}, {15,68}, {55,160}, {15,69}, {15,70}, {15,71}, {15,72}, {15,73}, 
+    {15,74}, {55,161}, {15,75}, {15,76}, {15,77}, {55,162}, {15,78}, {15,79}, 
+    {15,80}, {55,163}, {15,81}, {15,82}, {15,83}, {15,84}, {15,85}, {15,86}, 
+    {15,87}, {15,88}, {55,164}, {15,89}, {55,165}, {15,90}, {55,166}, {15,91}, 
+    {15,92}, {15,93}, {15,94}, {15,95}, {15,96}, {55,167}, {55,168}, {15,97}, 
+    {15,98}, {55,169}, {15,99}, {15,100}, {15,101}, {55,170}, {15,102}, 
+    {15,103}, {15,104}, {15,105}, {15,106}, {15,107}, {15,108}, {55,171}, 
+    {55,172}, {15,109}, {55,173}, {15,110}, {55,174}, {15,111}, {15,112}, 
+    {15,113}, {15,114}, {15,115}, {15,116}, {55,175}, {15,117}, {15,118}, 
+    {15,119}, {15,120}, {15,121}, {15,122}, {15,123}, {15,124}, {15,125}, 
+    {15,126}, {15,127}, {15,128}, {15,129}, {15,130}, {15,131}, {15,132}, 
+    {15,133}, {15,134}, {15,135}, {55,176}, {15,136}, {15,137}, {15,138}, 
+    {15,139}, {15,140}, {15,141}, {15,142}, {55,177}, {15,143}, {15,144}, 
+    {15,145}, {15,146}, {15,147}, {15,148}, {15,149}, {15,150}, {15,151}, 
+    {15,152}, {15,153}, {15,154}, {15,155}, {15,156}, {15,157}, {15,158}, 
+    {15,159}, {15,160}, {15,161}, {15,162}, {15,163}, {15,164}, {15,165}, 
+    {15,166}, {15,167}, {15,168}, {15,169}, {55,178}, {55,179}, {15,170}, 
+    {15,171}, {55,180}, {15,172}, {15,173}, {15,174}, {55,181}, {15,175}, 
+    {15,176}, {15,177}, {15,178}, {15,179}, {15,180}, {15,181}, {55,182}, 
+    {15,182}, {15,183}, {55,183}, {15,184}, {55,184}, {15,185}, {15,186}, 
+    {15,187}, {15,188}, {15,189}, {15,190}, {55,185}, {55,186}, {16,1}, 
+    {16,2}, {55,187}, {16,3}, {16,4}, {16,5}, {55,188}, {16,6}, {16,7}, 
+    {16,8}, {16,9}, {16,10}, {16,11}, {16,12}, {55,189}, {55,190}, {16,13}, 
+    {56,97}, {16,14}, {56,98}, {16,15}, {16,16}, {16,17}, {16,18}, {16,19}, 
+    {16,20}, {56,99}, {56,100}, {16,21}, {16,22}, {56,101}, {16,23}, {16,24}, 
+    {16,25}, {56,102}, {16,26}, {16,33}, {16,34}, {16,35}, {16,36}, {16,37}, 
+    {16,38}, {56,103}, {56,104}, {16,39}, {56,105}, {16,40}, {56,106}, 
+    {56,107}, {16,41}, {16,42}, {56,108}, {56,109}, {16,43}, {16,44}, {16,45}, 
+    {16,46}, {16,47}, {16,48}, {16,49}, {16,50}, {16,51}, {16,52}, {16,53}, 
+    {16,54}, {16,55}, {16,56}, {16,57}, {16,58}, {16,65}, {16,66}, {16,67}, 
+    {16,68}, {16,69}, {16,70}, {16,71}, {16,72}, {16,73}, {16,74}, {16,75}, 
+    {16,76}, {16,77}, {56,110}, {56,111}, {16,78}, {16,79}, {56,112}, {16,80}, 
+    {16,81}, {16,82}, {56,113}, {16,83}, {16,84}, {16,85}, {16,86}, {16,87}, 
+    {16,88}, {16,89}, {56,114}, {56,115}, {16,90}, {56,116}, {16,91}, {56,117}, 
+    {16,92}, {16,93}, {16,94}, {16,95}, {16,96}, {16,97}, {56,118}, {56,119}, 
+    {16,98}, {16,99}, {56,120}, {16,100}, {56,121}, {56,122}, {56,123}, 
+    {56,124}, {56,125}, {16,101}, {16,102}, {16,103}, {16,104}, {16,105}, 
+    {56,126}, {56,127}, {16,106}, {56,128}, {16,107}, {56,129}, {56,130}, 
+    {16,108}, {16,109}, {56,131}, {16,110}, {56,132}, {56,133}, {56,134}, 
+    {16,111}, {16,112}, {56,135}, {16,113}, {16,114}, {16,115}, {56,136}, 
+    {16,116}, {16,117}, {16,118}, {16,119}, {16,120}, {16,121}, {16,122}, 
+    {56,137}, {56,138}, {16,123}, {56,139}, {56,140}, {56,141}, {56,142}, 
+    {16,124}, {16,125}, {16,126}, {16,127}, {16,128}, {56,143}, {56,144}, 
+    {16,129}, {16,130}, {16,131}, {16,132}, {16,133}, {16,134}, {56,145}, 
+    {16,135}, {16,136}, {16,137}, {16,138}, {16,139}, {16,140}, {16,141}, 
+    {16,142}, {16,143}, {16,144}, {16,145}, {16,146}, {56,146}, {16,147}, 
+    {16,148}, {16,149}, {16,150}, {16,151}, {16,152}, {16,153}, {16,154}, 
+    {16,155}, {16,156}, {16,157}, {16,158}, {16,159}, {16,160}, {16,161}, 
+    {16,162}, {16,163}, {16,164}, {16,165}, {16,166}, {16,167}, {16,168}, 
+    {16,169}, {16,170}, {16,171}, {16,172}, {16,173}, {16,174}, {16,175}, 
+    {16,176}, {16,177}, {16,178}, {16,179}, {16,180}, {56,147}, {56,148}, 
+    {16,181}, {16,182}, {56,149}, {16,183}, {16,184}, {16,185}, {56,150}, 
+    {16,186}, {56,151}, {16,187}, {16,188}, {16,189}, {16,190}, {17,1}, 
+    {56,152}, {56,153}, {17,2}, {56,154}, {17,3}, {56,155}, {56,156}, {17,4}, 
+    {17,5}, {17,6}, {17,7}, {56,157}, {56,158}, {56,159}, {17,8}, {17,9}, 
+    {56,160}, {17,10}, {17,11}, {17,12}, {56,161}, {17,13}, {17,14}, {17,15}, 
+    {17,16}, {17,17}, {17,18}, {17,19}, {56,162}, {56,163}, {17,20}, {56,164}, 
+    {56,165}, {56,166}, {17,21}, {17,22}, {17,23}, {17,24}, {17,25}, {17,26}, 
+    {56,167}, {56,168}, {17,33}, {17,34}, {56,169}, {17,35}, {17,36}, {17,37}, 
+    {56,170}, {17,38}, {17,39}, {17,40}, {17,41}, {17,42}, {17,43}, {17,44}, 
+    {17,45}, {17,46}, {17,47}, {56,171}, {56,172}, {56,173}, {17,48}, {56,174}, 
+    {17,49}, {17,50}, {17,51}, {17,52}, {56,175}, {17,53}, {17,54}, {17,55}, 
+    {17,56}, {17,57}, {17,58}, {17,65}, {17,66}, {17,67}, {17,68}, {17,69}, 
+    {17,70}, {17,71}, {17,72}, {17,73}, {17,74}, {17,75}, {17,76}, {17,77}, 
+    {17,78}, {17,79}, {17,80}, {17,81}, {17,82}, {17,83}, {17,84}, {17,85}, 
+    {56,176}, {56,177}, {17,86}, {56,178}, {56,179}, {17,87}, {17,88}, 
+    {17,89}, {56,180}, {17,90}, {56,181}, {17,91}, {17,92}, {17,93}, {17,94}, 
+    {17,95}, {56,182}, {56,183}, {17,96}, {56,184}, {17,97}, {56,185}, 
+    {17,98}, {17,99}, {17,100}, {17,101}, {17,102}, {17,103}, {56,186}, 
+    {17,104}, {17,105}, {17,106}, {56,187}, {17,107}, {17,108}, {17,109}, 
+    {17,110}, {17,111}, {17,112}, {17,113}, {17,114}, {17,115}, {17,116}, 
+    {17,117}, {17,118}, {17,119}, {17,120}, {17,121}, {56,188}, {56,189}, 
+    {17,122}, {17,123}, {17,124}, {17,125}, {17,126}, {17,127}, {17,128}, 
+    {17,129}, {17,130}, {17,131}, {17,132}, {17,133}, {17,134}, {17,135}, 
+    {17,136}, {17,137}, {17,138}, {17,139}, {17,140}, {17,141}, {17,142}, 
+    {17,143}, {17,144}, {17,145}, {17,146}, {17,147}, {17,148}, {17,149}, 
+    {17,150}, {17,151}, {17,152}, {17,153}, {17,154}, {17,155}, {56,190}, 
+    {17,156}, {17,157}, {17,158}, {57,97}, {17,159}, {17,160}, {17,161}, 
+    {57,98}, {17,162}, {17,163}, {17,164}, {17,165}, {17,166}, {17,167}, 
+    {17,168}, {17,169}, {57,99}, {17,170}, {57,100}, {17,171}, {57,101}, 
+    {17,172}, {17,173}, {17,174}, {17,175}, {17,176}, {17,177}, {57,102}, 
+    {17,178}, {17,179}, {17,180}, {57,103}, {17,181}, {17,182}, {17,183}, 
+    {57,104}, {17,184}, {17,185}, {17,186}, {17,187}, {17,188}, {17,189}, 
+    {17,190}, {18,1}, {57,105}, {18,2}, {57,106}, {18,3}, {18,4}, {18,5}, 
+    {18,6}, {18,7}, {18,8}, {18,9}, {18,10}, {57,107}, {57,108}, {57,109}, 
+    {18,11}, {57,110}, {18,12}, {18,13}, {57,111}, {57,112}, {57,113}, 
+    {57,114}, {18,14}, {18,15}, {18,16}, {18,17}, {18,18}, {57,115}, {57,116}, 
+    {18,19}, {57,117}, {18,20}, {57,118}, {18,21}, {18,22}, {18,23}, {57,119}, 
+    {18,24}, {57,120}, {57,121}, {18,25}, {18,26}, {18,33}, {57,122}, {18,34}, 
+    {18,35}, {18,36}, {57,123}, {18,37}, {18,38}, {18,39}, {18,40}, {18,41}, 
+    {18,42}, {18,43}, {18,44}, {57,124}, {18,45}, {57,125}, {18,46}, {18,47}, 
+    {18,48}, {18,49}, {18,50}, {18,51}, {18,52}, {18,53}, {57,126}, {18,54}, 
+    {18,55}, {18,56}, {18,57}, {18,58}, {18,65}, {18,66}, {18,67}, {18,68}, 
+    {18,69}, {18,70}, {18,71}, {18,72}, {18,73}, {18,74}, {18,75}, {18,76}, 
+    {18,77}, {18,78}, {18,79}, {18,80}, {18,81}, {18,82}, {18,83}, {18,84}, 
+    {18,85}, {18,86}, {57,127}, {18,87}, {18,88}, {18,89}, {57,128}, {18,90}, 
+    {18,91}, {18,92}, {57,129}, {18,93}, {18,94}, {18,95}, {18,96}, {18,97}, 
+    {18,98}, {18,99}, {18,100}, {18,101}, {18,102}, {18,103}, {18,104}, 
+    {18,105}, {18,106}, {18,107}, {18,108}, {18,109}, {18,110}, {18,111}, 
+    {57,130}, {18,112}, {18,113}, {18,114}, {57,131}, {18,115}, {18,116}, 
+    {18,117}, {57,132}, {18,118}, {18,119}, {18,120}, {18,121}, {18,122}, 
+    {18,123}, {18,124}, {57,133}, {18,125}, {18,126}, {57,134}, {18,127}, 
+    {18,128}, {18,129}, {18,130}, {18,131}, {18,132}, {18,133}, {18,134}, 
+    {57,135}, {18,135}, {18,136}, {18,137}, {57,136}, {18,138}, {18,139}, 
+    {18,140}, {57,137}, {18,141}, {18,142}, {18,143}, {18,144}, {18,145}, 
+    {18,146}, {18,147}, {57,138}, {18,148}, {18,149}, {57,139}, {18,150}, 
+    {18,151}, {18,152}, {18,153}, {18,154}, {18,155}, {18,156}, {18,157}, 
+    {18,158}, {18,159}, {18,160}, {18,161}, {18,162}, {18,163}, {18,164}, 
+    {18,165}, {18,166}, {18,167}, {18,168}, {18,169}, {18,170}, {18,171}, 
+    {18,172}, {18,173}, {18,174}, {18,175}, {18,176}, {18,177}, {18,178}, 
+    {18,179}, {18,180}, {18,181}, {18,182}, {18,183}, {18,184}, {18,185}, 
+    {57,140}, {57,141}, {18,186}, {18,187}, {57,142}, {18,188}, {18,189}, 
+    {57,143}, {57,144}, {18,190}, {57,145}, {19,1}, {19,2}, {19,3}, {19,4}, 
+    {19,5}, {57,146}, {57,147}, {19,6}, {57,148}, {57,149}, {57,150}, {19,7}, 
+    {57,151}, {19,8}, {57,152}, {19,9}, {19,10}, {57,153}, {57,154}, {57,155}, 
+    {57,156}, {57,157}, {19,11}, {19,12}, {57,158}, {57,159}, {57,160}, 
+    {57,161}, {57,162}, {19,13}, {19,14}, {19,15}, {19,16}, {57,163}, {57,164}, 
+    {19,17}, {57,165}, {19,18}, {57,166}, {19,19}, {19,20}, {19,21}, {57,167}, 
+    {19,22}, {19,23}, {57,168}, {57,169}, {19,24}, {19,25}, {57,170}, {19,26}, 
+    {19,33}, {19,34}, {57,171}, {19,35}, {19,36}, {19,37}, {19,38}, {19,39}, 
+    {19,40}, {19,41}, {57,172}, {57,173}, {19,42}, {57,174}, {57,175}, 
+    {57,176}, {19,43}, {19,44}, {19,45}, {57,177}, {19,46}, {19,47}, {57,178}, 
+    {57,179}, {19,48}, {19,49}, {57,180}, {19,50}, {19,51}, {19,52}, {19,53}, 
+    {19,54}, {19,55}, {19,56}, {19,57}, {19,58}, {19,65}, {19,66}, {19,67}, 
+    {57,181}, {19,68}, {19,69}, {19,70}, {19,71}, {19,72}, {19,73}, {19,74}, 
+    {19,75}, {19,76}, {19,77}, {19,78}, {19,79}, {19,80}, {19,81}, {19,82}, 
+    {19,83}, {19,84}, {19,85}, {19,86}, {19,87}, {19,88}, {19,89}, {19,90}, 
+    {19,91}, {19,92}, {19,93}, {19,94}, {19,95}, {19,96}, {19,97}, {19,98}, 
+    {19,99}, {19,100}, {19,101}, {19,102}, {19,103}, {19,104}, {19,105}, 
+    {57,182}, {57,183}, {19,106}, {19,107}, {57,184}, {19,108}, {19,109}, 
+    {57,185}, {57,186}, {19,110}, {57,187}, {19,111}, {19,112}, {19,113}, 
+    {19,114}, {19,115}, {57,188}, {57,189}, {19,116}, {57,190}, {19,117}, 
+    {58,97}, {58,98}, {19,118}, {19,119}, {19,120}, {19,121}, {19,122}, 
+    {58,99}, {58,100}, {19,123}, {19,124}, {58,101}, {19,125}, {19,126}, 
+    {58,102}, {58,103}, {19,127}, {19,128}, {19,129}, {19,130}, {19,131}, 
+    {19,132}, {19,133}, {58,104}, {58,105}, {19,134}, {58,106}, {58,107}, 
+    {58,108}, {19,135}, {19,136}, {19,137}, {19,138}, {19,139}, {19,140}, 
+    {58,109}, {58,110}, {19,141}, {19,142}, {58,111}, {19,143}, {19,144}, 
+    {19,145}, {58,112}, {19,146}, {19,147}, {19,148}, {19,149}, {19,150}, 
+    {19,151}, {19,152}, {19,153}, {58,113}, {19,154}, {58,114}, {58,115}, 
+    {58,116}, {19,155}, {19,156}, {19,157}, {58,117}, {19,158}, {19,159}, 
+    {58,118}, {19,160}, {19,161}, {19,162}, {58,119}, {19,163}, {19,164}, 
+    {19,165}, {19,166}, {19,167}, {19,168}, {19,169}, {19,170}, {19,171}, 
+    {19,172}, {19,173}, {19,174}, {19,175}, {19,176}, {19,177}, {19,178}, 
+    {19,179}, {19,180}, {19,181}, {19,182}, {19,183}, {19,184}, {19,185}, 
+    {58,120}, {58,121}, {58,122}, {19,186}, {58,123}, {19,187}, {19,188}, 
+    {19,189}, {58,124}, {19,190}, {20,1}, {20,2}, {20,3}, {20,4}, {20,5}, 
+    {20,6}, {58,125}, {58,126}, {20,7}, {58,127}, {20,8}, {58,128}, {20,9}, 
+    {20,10}, {20,11}, {20,12}, {20,13}, {20,14}, {58,129}, {20,15}, {20,16}, 
+    {20,17}, {58,130}, {20,18}, {20,19}, {20,20}, {20,21}, {20,22}, {20,23}, 
+    {20,24}, {20,25}, {20,26}, {20,33}, {20,34}, {20,35}, {20,36}, {20,37}, 
+    {20,38}, {58,131}, {20,39}, {20,40}, {20,41}, {20,42}, {20,43}, {20,44}, 
+    {20,45}, {58,132}, {20,46}, {20,47}, {20,48}, {20,49}, {20,50}, {20,51}, 
+    {20,52}, {20,53}, {20,54}, {20,55}, {20,56}, {20,57}, {20,58}, {20,65}, 
+    {20,66}, {20,67}, {20,68}, {20,69}, {20,70}, {58,133}, {20,71}, {20,72}, 
+    {20,73}, {20,74}, {20,75}, {20,76}, {20,77}, {58,134}, {58,135}, {20,78}, 
+    {20,79}, {58,136}, {20,80}, {20,81}, {20,82}, {58,137}, {20,83}, {20,84}, 
+    {20,85}, {20,86}, {20,87}, {20,88}, {20,89}, {58,138}, {58,139}, {20,90}, 
+    {20,91}, {20,92}, {20,93}, {20,94}, {20,95}, {20,96}, {20,97}, {20,98}, 
+    {20,99}, {58,140}, {20,100}, {20,101}, {20,102}, {58,141}, {20,103}, 
+    {20,104}, {20,105}, {20,106}, {20,107}, {20,108}, {20,109}, {20,110}, 
+    {20,111}, {20,112}, {20,113}, {20,114}, {20,115}, {20,116}, {20,117}, 
+    {20,118}, {20,119}, {20,120}, {20,121}, {20,122}, {20,123}, {20,124}, 
+    {20,125}, {58,142}, {58,143}, {20,126}, {20,127}, {58,144}, {20,128}, 
+    {20,129}, {58,145}, {58,146}, {58,147}, {58,148}, {20,130}, {20,131}, 
+    {20,132}, {20,133}, {20,134}, {58,149}, {58,150}, {20,135}, {58,151}, 
+    {20,136}, {58,152}, {20,137}, {20,138}, {20,139}, {58,153}, {58,154}, 
+    {20,140}, {58,155}, {20,141}, {20,142}, {20,143}, {20,144}, {20,145}, 
+    {20,146}, {20,147}, {58,156}, {20,148}, {20,149}, {20,150}, {20,151}, 
+    {20,152}, {20,153}, {20,154}, {20,155}, {20,156}, {20,157}, {20,158}, 
+    {58,157}, {20,159}, {20,160}, {20,161}, {20,162}, {20,163}, {20,164}, 
+    {20,165}, {58,158}, {20,166}, {20,167}, {20,168}, {20,169}, {20,170}, 
+    {20,171}, {20,172}, {20,173}, {20,174}, {20,175}, {20,176}, {20,177}, 
+    {20,178}, {20,179}, {20,180}, {20,181}, {20,182}, {20,183}, {20,184}, 
+    {20,185}, {20,186}, {20,187}, {20,188}, {20,189}, {20,190}, {21,1}, 
+    {21,2}, {58,159}, {58,160}, {21,3}, {21,4}, {58,161}, {21,5}, {21,6}, 
+    {21,7}, {58,162}, {21,8}, {21,9}, {21,10}, {21,11}, {21,12}, {21,13}, 
+    {21,14}, {21,15}, {21,16}, {21,17}, {21,18}, {21,19}, {58,163}, {21,20}, 
+    {21,21}, {21,22}, {21,23}, {21,24}, {21,25}, {58,164}, {21,26}, {21,33}, 
+    {21,34}, {58,165}, {21,35}, {21,36}, {21,37}, {58,166}, {21,38}, {21,39}, 
+    {21,40}, {21,41}, {21,42}, {21,43}, {21,44}, {58,167}, {21,45}, {21,46}, 
+    {58,168}, {21,47}, {58,169}, {21,48}, {21,49}, {21,50}, {21,51}, {21,52}, 
+    {21,53}, {58,170}, {58,171}, {21,54}, {21,55}, {58,172}, {21,56}, {21,57}, 
+    {21,58}, {58,173}, {21,65}, {21,66}, {21,67}, {21,68}, {21,69}, {21,70}, 
+    {21,71}, {58,174}, {58,175}, {21,72}, {58,176}, {21,73}, {21,74}, {21,75}, 
+    {21,76}, {21,77}, {21,78}, {21,79}, {21,80}, {21,81}, {21,82}, {21,83}, 
+    {21,84}, {21,85}, {21,86}, {21,87}, {21,88}, {21,89}, {21,90}, {21,91}, 
+    {21,92}, {21,93}, {21,94}, {21,95}, {21,96}, {21,97}, {21,98}, {21,99}, 
+    {21,100}, {21,101}, {21,102}, {21,103}, {21,104}, {21,105}, {21,106}, 
+    {21,107}, {21,108}, {58,177}, {58,178}, {21,109}, {21,110}, {58,179}, 
+    {21,111}, {21,112}, {21,113}, {58,180}, {21,114}, {58,181}, {21,115}, 
+    {21,116}, {21,117}, {21,118}, {21,119}, {58,182}, {58,183}, {21,120}, 
+    {58,184}, {21,121}, {58,185}, {58,186}, {58,187}, {21,122}, {21,123}, 
+    {21,124}, {21,125}, {58,188}, {58,189}, {21,126}, {21,127}, {58,190}, 
+    {21,128}, {21,129}, {21,130}, {59,97}, {21,131}, {59,98}, {21,132}, 
+    {21,133}, {21,134}, {21,135}, {21,136}, {59,99}, {59,100}, {21,137}, 
+    {59,101}, {59,102}, {59,103}, {21,138}, {21,139}, {21,140}, {21,141}, 
+    {21,142}, {59,104}, {59,105}, {59,106}, {21,143}, {21,144}, {59,107}, 
+    {21,145}, {21,146}, {21,147}, {59,108}, {21,148}, {21,149}, {21,150}, 
+    {21,151}, {21,152}, {21,153}, {21,154}, {59,109}, {59,110}, {21,155}, 
+    {59,111}, {59,112}, {59,113}, {21,156}, {21,157}, {21,158}, {21,159}, 
+    {21,160}, {21,161}, {59,114}, {59,115}, {21,162}, {21,163}, {21,164}, 
+    {21,165}, {21,166}, {21,167}, {21,168}, {21,169}, {21,170}, {21,171}, 
+    {21,172}, {21,173}, {21,174}, {21,175}, {59,116}, {21,176}, {21,177}, 
+    {21,178}, {21,179}, {21,180}, {21,181}, {21,182}, {21,183}, {21,184}, 
+    {21,185}, {21,186}, {21,187}, {21,188}, {21,189}, {21,190}, {22,1}, 
+    {22,2}, {22,3}, {22,4}, {22,5}, {22,6}, {22,7}, {22,8}, {22,9}, {22,10}, 
+    {22,11}, {22,12}, {22,13}, {22,14}, {22,15}, {22,16}, {22,17}, {22,18}, 
+    {22,19}, {22,20}, {22,21}, {22,22}, {22,23}, {22,24}, {59,117}, {59,118}, 
+    {22,25}, {22,26}, {59,119}, {22,33}, {22,34}, {59,120}, {59,121}, {22,35}, 
+    {22,36}, {22,37}, {22,38}, {22,39}, {22,40}, {22,41}, {59,122}, {22,42}, 
+    {22,43}, {59,123}, {59,124}, {59,125}, {22,44}, {22,45}, {22,46}, {22,47}, 
+    {22,48}, {22,49}, {59,126}, {22,50}, {22,51}, {22,52}, {22,53}, {22,54}, 
+    {22,55}, {22,56}, {22,57}, {22,58}, {22,65}, {22,66}, {22,67}, {22,68}, 
+    {22,69}, {22,70}, {22,71}, {22,72}, {22,73}, {22,74}, {22,75}, {59,127}, 
+    {22,76}, {22,77}, {22,78}, {22,79}, {22,80}, {22,81}, {59,128}, {59,129}, 
+    {22,82}, {22,83}, {22,84}, {22,85}, {22,86}, {22,87}, {22,88}, {22,89}, 
+    {22,90}, {22,91}, {22,92}, {22,93}, {22,94}, {22,95}, {59,130}, {59,131}, 
+    {22,96}, {59,132}, {59,133}, {59,134}, {22,97}, {22,98}, {22,99}, {22,100}, 
+    {22,101}, {22,102}, {22,103}, {22,104}, {22,105}, {22,106}, {22,107}, 
+    {22,108}, {22,109}, {22,110}, {22,111}, {22,112}, {22,113}, {22,114}, 
+    {22,115}, {22,116}, {22,117}, {22,118}, {22,119}, {22,120}, {22,121}, 
+    {22,122}, {22,123}, {22,124}, {22,125}, {22,126}, {22,127}, {22,128}, 
+    {22,129}, {22,130}, {59,135}, {59,136}, {22,131}, {22,132}, {59,137}, 
+    {22,133}, {22,134}, {22,135}, {59,138}, {22,136}, {22,137}, {22,138}, 
+    {22,139}, {22,140}, {22,141}, {22,142}, {59,139}, {59,140}, {22,143}, 
+    {22,144}, {22,145}, {59,141}, {22,146}, {22,147}, {22,148}, {22,149}, 
+    {22,150}, {22,151}, {22,152}, {22,153}, {22,154}, {22,155}, {22,156}, 
+    {22,157}, {22,158}, {22,159}, {22,160}, {22,161}, {22,162}, {22,163}, 
+    {22,164}, {22,165}, {22,166}, {22,167}, {22,168}, {22,169}, {22,170}, 
+    {22,171}, {22,172}, {22,173}, {22,174}, {22,175}, {22,176}, {22,177}, 
+    {22,178}, {22,179}, {22,180}, {22,181}, {22,182}, {22,183}, {22,184}, 
+    {22,185}, {22,186}, {22,187}, {22,188}, {22,189}, {22,190}, {23,1}, 
+    {23,2}, {23,3}, {23,4}, {23,5}, {23,6}, {23,7}, {23,8}, {23,9}, {23,10}, 
+    {23,11}, {23,12}, {23,13}, {23,14}, {23,15}, {23,16}, {23,17}, {59,142}, 
+    {23,18}, {23,19}, {23,20}, {23,21}, {23,22}, {23,23}, {23,24}, {23,25}, 
+    {23,26}, {23,33}, {23,34}, {23,35}, {23,36}, {23,37}, {23,38}, {23,39}, 
+    {23,40}, {23,41}, {23,42}, {23,43}, {23,44}, {23,45}, {23,46}, {23,47}, 
+    {23,48}, {23,49}, {23,50}, {59,143}, {23,51}, {23,52}, {23,53}, {23,54}, 
+    {23,55}, {23,56}, {23,57}, {23,58}, {23,65}, {23,66}, {23,67}, {23,68}, 
+    {23,69}, {23,70}, {23,71}, {23,72}, {23,73}, {23,74}, {23,75}, {23,76}, 
+    {59,144}, {23,77}, {23,78}, {23,79}, {23,80}, {23,81}, {23,82}, {59,145}, 
+    {59,146}, {23,83}, {23,84}, {59,147}, {23,85}, {23,86}, {23,87}, {59,148}, 
+    {23,88}, {23,89}, {23,90}, {23,91}, {23,92}, {23,93}, {23,94}, {59,149}, 
+    {23,95}, {23,96}, {59,150}, {23,97}, {59,151}, {23,98}, {23,99}, {23,100}, 
+    {23,101}, {23,102}, {23,103}, {23,104}, {23,105}, {23,106}, {23,107}, 
+    {23,108}, {23,109}, {23,110}, {23,111}, {23,112}, {23,113}, {23,114}, 
+    {23,115}, {23,116}, {23,117}, {23,118}, {23,119}, {23,120}, {23,121}, 
+    {23,122}, {23,123}, {23,124}, {23,125}, {23,126}, {23,127}, {23,128}, 
+    {23,129}, {23,130}, {23,131}, {23,132}, {23,133}, {23,134}, {23,135}, 
+    {23,136}, {23,137}, {23,138}, {23,139}, {23,140}, {23,141}, {23,142}, 
+    {23,143}, {23,144}, {23,145}, {23,146}, {23,147}, {23,148}, {23,149}, 
+    {23,150}, {23,151}, {23,152}, {23,153}, {23,154}, {23,155}, {23,156}, 
+    {23,157}, {23,158}, {23,159}, {23,160}, {23,161}, {23,162}, {23,163}, 
+    {23,164}, {23,165}, {23,166}, {23,167}, {23,168}, {23,169}, {23,170}, 
+    {23,171}, {23,172}, {23,173}, {23,174}, {23,175}, {23,176}, {23,177}, 
+    {23,178}, {23,179}, {23,180}, {23,181}, {23,182}, {23,183}, {23,184}, 
+    {23,185}, {23,186}, {23,187}, {59,152}, {23,188}, {23,189}, {23,190}, 
+    {24,1}, {24,2}, {24,3}, {24,4}, {24,5}, {24,6}, {24,7}, {24,8}, {24,9}, 
+    {24,10}, {24,11}, {24,12}, {24,13}, {24,14}, {24,15}, {24,16}, {24,17}, 
+    {59,153}, {24,18}, {24,19}, {24,20}, {24,21}, {24,22}, {24,23}, {59,154}, 
+    {24,24}, {24,25}, {24,26}, {59,155}, {24,33}, {24,34}, {24,35}, {59,156}, 
+    {24,36}, {24,37}, {24,38}, {24,39}, {24,40}, {24,41}, {24,42}, {59,157}, 
+    {59,158}, {24,43}, {24,44}, {24,45}, {24,46}, {24,47}, {24,48}, {24,49}, 
+    {24,50}, {24,51}, {24,52}, {24,53}, {24,54}, {24,55}, {24,56}, {24,57}, 
+    {24,58}, {24,65}, {24,66}, {24,67}, {24,68}, {24,69}, {24,70}, {24,71}, 
+    {24,72}, {24,73}, {24,74}, {24,75}, {24,76}, {24,77}, {24,78}, {24,79}, 
+    {24,80}, {24,81}, {24,82}, {24,83}, {24,84}, {24,85}, {24,86}, {59,159}, 
+    {59,160}, {24,87}, {24,88}, {59,161}, {24,89}, {24,90}, {24,91}, {59,162}, 
+    {24,92}, {24,93}, {24,94}, {24,95}, {24,96}, {24,97}, {24,98}, {59,163}, 
+    {59,164}, {24,99}, {59,165}, {24,100}, {59,166}, {24,101}, {24,102}, 
+    {24,103}, {24,104}, {24,105}, {24,106}, {59,167}, {59,168}, {24,107}, 
+    {59,169}, {59,170}, {24,108}, {24,109}, {59,171}, {59,172}, {59,173}, 
+    {59,174}, {24,110}, {24,111}, {24,112}, {24,113}, {24,114}, {59,175}, 
+    {59,176}, {24,115}, {59,177}, {59,178}, {59,179}, {24,116}, {24,117}, 
+    {24,118}, {59,180}, {24,119}, {24,120}, {59,181}, {59,182}, {24,121}, 
+    {24,122}, {59,183}, {24,123}, {24,124}, {24,125}, {59,184}, {24,126}, 
+    {24,127}, {24,128}, {24,129}, {24,130}, {24,131}, {24,132}, {59,185}, 
+    {59,186}, {24,133}, {59,187}, {59,188}, {59,189}, {24,134}, {24,135}, 
+    {24,136}, {24,137}, {24,138}, {24,139}, {59,190}, {60,97}, {24,140}, 
+    {24,141}, {60,98}, {24,142}, {24,143}, {24,144}, {60,99}, {24,145}, 
+    {24,146}, {24,147}, {24,148}, {24,149}, {24,150}, {24,151}, {60,100}, 
+    {60,101}, {24,152}, {60,102}, {24,153}, {60,103}, {24,154}, {24,155}, 
+    {24,156}, {24,157}, {24,158}, {24,159}, {60,104}, {24,160}, {24,161}, 
+    {24,162}, {60,105}, {24,163}, {24,164}, {24,165}, {60,106}, {24,166}, 
+    {24,167}, {24,168}, {24,169}, {24,170}, {24,171}, {24,172}, {60,107}, 
+    {24,173}, {24,174}, {24,175}, {24,176}, {60,108}, {24,177}, {24,178}, 
+    {24,179}, {24,180}, {24,181}, {24,182}, {60,109}, {60,110}, {60,111}, 
+    {60,112}, {60,113}, {24,183}, {24,184}, {60,114}, {60,115}, {24,185}, 
+    {60,116}, {60,117}, {24,186}, {24,187}, {24,188}, {24,189}, {60,118}, 
+    {60,119}, {24,190}, {60,120}, {60,121}, {60,122}, {25,1}, {25,2}, {25,3}, 
+    {25,4}, {60,123}, {25,5}, {60,124}, {60,125}, {25,6}, {25,7}, {60,126}, 
+    {25,8}, {25,9}, {25,10}, {60,127}, {25,11}, {25,12}, {25,13}, {25,14}, 
+    {25,15}, {25,16}, {25,17}, {60,128}, {60,129}, {25,18}, {60,130}, {60,131}, 
+    {60,132}, {25,19}, {25,20}, {25,21}, {25,22}, {25,23}, {25,24}, {60,133}, 
+    {60,134}, {25,25}, {25,26}, {60,135}, {25,33}, {25,34}, {25,35}, {60,136}, 
+    {25,36}, {25,37}, {25,38}, {25,39}, {25,40}, {25,41}, {25,42}, {60,137}, 
+    {60,138}, {25,43}, {60,139}, {60,140}, {60,141}, {25,44}, {25,45}, 
+    {25,46}, {25,47}, {25,48}, {25,49}, {60,142}, {25,50}, {25,51}, {25,52}, 
+    {60,143}, {25,53}, {25,54}, {25,55}, {60,144}, {25,56}, {25,57}, {25,58}, 
+    {25,65}, {25,66}, {25,67}, {25,68}, {25,69}, {25,70}, {25,71}, {25,72}, 
+    {25,73}, {60,145}, {25,74}, {25,75}, {25,76}, {25,77}, {25,78}, {25,79}, 
+    {60,146}, {60,147}, {60,148}, {25,80}, {60,149}, {25,81}, {25,82}, 
+    {25,83}, {60,150}, {25,84}, {60,151}, {25,85}, {25,86}, {25,87}, {25,88}, 
+    {25,89}, {60,152}, {60,153}, {25,90}, {60,154}, {25,91}, {60,155}, 
+    {25,92}, {25,93}, {25,94}, {60,156}, {25,95}, {25,96}, {60,157}, {60,158}, 
+    {25,97}, {25,98}, {60,159}, {25,99}, {25,100}, {25,101}, {60,160}, 
+    {25,102}, {25,103}, {25,104}, {25,105}, {25,106}, {25,107}, {25,108}, 
+    {25,109}, {25,110}, {25,111}, {25,112}, {25,113}, {60,161}, {25,114}, 
+    {25,115}, {25,116}, {25,117}, {25,118}, {25,119}, {60,162}, {25,120}, 
+    {25,121}, {25,122}, {60,163}, {25,123}, {25,124}, {25,125}, {60,164}, 
+    {25,126}, {25,127}, {25,128}, {25,129}, {25,130}, {25,131}, {25,132}, 
+    {60,165}, {25,133}, {25,134}, {60,166}, {60,167}, {25,135}, {25,136}, 
+    {25,137}, {25,138}, {25,139}, {25,140}, {25,141}, {60,168}, {25,142}, 
+    {25,143}, {25,144}, {60,169}, {25,145}, {25,146}, {25,147}, {60,170}, 
+    {25,148}, {25,149}, {25,150}, {25,151}, {25,152}, {25,153}, {25,154}, 
+    {60,171}, {60,172}, {25,155}, {60,173}, {25,156}, {25,157}, {25,158}, 
+    {25,159}, {25,160}, {25,161}, {25,162}, {25,163}, {60,174}, {60,175}, 
+    {25,164}, {25,165}, {60,176}, {25,166}, {25,167}, {25,168}, {60,177}, 
+    {25,169}, {25,170}, {25,171}, {25,172}, {25,173}, {25,174}, {25,175}, 
+    {60,178}, {60,179}, {25,176}, {60,180}, {25,177}, {60,181}, {25,178}, 
+    {25,179}, {25,180}, {25,181}, {25,182}, {25,183}, {60,182}, {60,183}, 
+    {25,184}, {25,185}, {60,184}, {25,186}, {25,187}, {60,185}, {60,186}, 
+    {25,188}, {25,189}, {25,190}, {26,1}, {26,2}, {26,3}, {26,4}, {60,187}, 
+    {60,188}, {26,5}, {60,189}, {26,6}, {60,190}, {26,7}, {61,97}, {26,8}, 
+    {61,98}, {61,99}, {26,9}, {61,100}, {26,10}, {26,11}, {26,12}, {26,13}, 
+    {26,14}, {26,15}, {26,16}, {26,17}, {26,18}, {26,19}, {26,20}, {26,21}, 
+    {26,22}, {26,23}, {26,24}, {26,25}, {26,26}, {26,33}, {26,34}, {61,101}, 
+    {26,35}, {26,36}, {26,37}, {26,38}, {26,39}, {26,40}, {26,41}, {61,102}, 
+    {61,103}, {26,42}, {26,43}, {61,104}, {26,44}, {26,45}, {26,46}, {61,105}, 
+    {26,47}, {26,48}, {26,49}, {26,50}, {26,51}, {26,52}, {26,53}, {61,106}, 
+    {26,54}, {26,55}, {26,56}, {26,57}, {61,107}, {26,58}, {26,65}, {26,66}, 
+    {26,67}, {26,68}, {26,69}, {61,108}, {61,109}, {26,70}, {26,71}, {61,110}, 
+    {26,72}, {26,73}, {26,74}, {61,111}, {26,75}, {26,76}, {26,77}, {26,78}, 
+    {26,79}, {26,80}, {26,81}, {61,112}, {61,113}, {26,82}, {61,114}, {26,83}, 
+    {61,115}, {26,84}, {26,85}, {26,86}, {26,87}, {26,88}, {26,89}, {61,116}, 
+    {61,117}, {26,90}, {26,91}, {26,92}, {26,93}, {26,94}, {26,95}, {61,118}, 
+    {26,96}, {26,97}, {26,98}, {26,99}, {26,100}, {26,101}, {26,102}, {61,119}, 
+    {26,103}, {26,104}, {61,120}, {26,105}, {61,121}, {26,106}, {26,107}, 
+    {26,108}, {26,109}, {26,110}, {26,111}, {61,122}, {61,123}, {26,112}, 
+    {26,113}, {61,124}, {26,114}, {26,115}, {26,116}, {61,125}, {61,126}, 
+    {26,117}, {26,118}, {26,119}, {26,120}, {26,121}, {26,122}, {61,127}, 
+    {61,128}, {26,123}, {61,129}, {26,124}, {61,130}, {26,125}, {26,126}, 
+    {26,127}, {26,128}, {26,129}, {26,130}, {26,131}, {26,132}, {26,133}, 
+    {26,134}, {26,135}, {26,136}, {26,137}, {26,138}, {26,139}, {26,140}, 
+    {26,141}, {26,142}, {26,143}, {26,144}, {26,145}, {26,146}, {26,147}, 
+    {26,148}, {26,149}, {26,150}, {26,151}, {26,152}, {26,153}, {26,154}, 
+    {26,155}, {26,156}, {26,157}, {26,158}, {61,131}, {61,132}, {26,159}, 
+    {26,160}, {61,133}, {26,161}, {26,162}, {61,134}, {61,135}, {26,163}, 
+    {26,164}, {26,165}, {26,166}, {26,167}, {26,168}, {61,136}, {61,137}, 
+    {61,138}, {26,169}, {61,139}, {26,170}, {61,140}, {26,171}, {26,172}, 
+    {26,173}, {26,174}, {61,141}, {26,175}, {61,142}, {61,143}, {26,176}, 
+    {61,144}, {61,145}, {26,177}, {26,178}, {26,179}, {61,146}, {26,180}, 
+    {26,181}, {26,182}, {26,183}, {26,184}, {26,185}, {26,186}, {61,147}, 
+    {61,148}, {26,187}, {26,188}, {61,149}, {61,150}, {26,189}, {26,190}, 
+    {27,1}, {27,2}, {27,3}, {61,151}, {61,152}, {61,153}, {27,4}, {27,5}, 
+    {61,154}, {27,6}, {27,7}, {27,8}, {61,155}, {27,9}, {27,10}, {27,11}, 
+    {27,12}, {27,13}, {27,14}, {27,15}, {61,156}, {61,157}, {27,16}, {27,17}, 
+    {61,158}, {61,159}, {27,18}, {27,19}, {27,20}, {27,21}, {27,22}, {27,23}, 
+    {27,24}, {27,25}, {27,26}, {27,33}, {27,34}, {27,35}, {27,36}, {27,37}, 
+    {27,38}, {27,39}, {27,40}, {27,41}, {27,42}, {27,43}, {27,44}, {27,45}, 
+    {27,46}, {27,47}, {27,48}, {27,49}, {27,50}, {61,160}, {27,51}, {27,52}, 
+    {27,53}, {27,54}, {27,55}, {27,56}, {27,57}, {27,58}, {27,65}, {27,66}, 
+    {27,67}, {27,68}, {27,69}, {27,70}, {27,71}, {27,72}, {27,73}, {27,74}, 
+    {27,75}, {27,76}, {27,77}, {27,78}, {27,79}, {27,80}, {27,81}, {27,82}, 
+    {27,83}, {27,84}, {27,85}, {27,86}, {27,87}, {27,88}, {27,89}, {27,90}, 
+    {61,161}, {61,162}, {27,91}, {27,92}, {61,163}, {27,93}, {27,94}, {27,95}, 
+    {61,164}, {27,96}, {61,165}, {27,97}, {27,98}, {27,99}, {27,100}, {27,101}, 
+    {61,166}, {61,167}, {27,102}, {27,103}, {61,168}, {61,169}, {27,104}, 
+    {27,105}, {27,106}, {27,107}, {27,108}, {27,109}, {61,170}, {27,110}, 
+    {27,111}, {27,112}, {61,171}, {27,113}, {27,114}, {27,115}, {61,172}, 
+    {27,116}, {27,117}, {27,118}, {27,119}, {27,120}, {27,121}, {27,122}, 
+    {27,123}, {27,124}, {27,125}, {27,126}, {27,127}, {27,128}, {27,129}, 
+    {27,130}, {27,131}, {27,132}, {27,133}, {27,134}, {27,135}, {27,136}, 
+    {27,137}, {27,138}, {27,139}, {27,140}, {27,141}, {27,142}, {27,143}, 
+    {27,144}, {27,145}, {27,146}, {27,147}, {27,148}, {27,149}, {27,150}, 
+    {27,151}, {27,152}, {27,153}, {27,154}, {27,155}, {27,156}, {27,157}, 
+    {27,158}, {27,159}, {27,160}, {27,161}, {27,162}, {27,163}, {27,164}, 
+    {27,165}, {27,166}, {61,173}, {27,167}, {27,168}, {27,169}, {27,170}, 
+    {27,171}, {27,172}, {27,173}, {27,174}, {27,175}, {27,176}, {27,177}, 
+    {27,178}, {27,179}, {27,180}, {27,181}, {27,182}, {27,183}, {27,184}, 
+    {27,185}, {27,186}, {27,187}, {27,188}, {27,189}, {61,174}, {61,175}, 
+    {27,190}, {28,1}, {61,176}, {28,2}, {28,3}, {61,177}, {61,178}, {28,4}, 
+    {61,179}, {28,5}, {28,6}, {28,7}, {28,8}, {28,9}, {61,180}, {61,181}, 
+    {28,10}, {28,11}, {28,12}, {61,182}, {28,13}, {28,14}, {28,15}, {28,16}, 
+    {28,17}, {28,18}, {61,183}, {61,184}, {28,19}, {28,20}, {61,185}, {28,21}, 
+    {28,22}, {28,23}, {28,24}, {28,25}, {28,26}, {28,33}, {28,34}, {28,35}, 
+    {28,36}, {28,37}, {28,38}, {28,39}, {28,40}, {28,41}, {61,186}, {28,42}, 
+    {28,43}, {28,44}, {28,45}, {28,46}, {28,47}, {28,48}, {61,187}, {28,49}, 
+    {28,50}, {28,51}, {28,52}, {28,53}, {28,54}, {28,55}, {28,56}, {28,57}, 
+    {28,58}, {28,65}, {28,66}, {28,67}, {28,68}, {28,69}, {28,70}, {28,71}, 
+    {28,72}, {28,73}, {61,188}, {28,74}, {28,75}, {28,76}, {28,77}, {28,78}, 
+    {28,79}, {28,80}, {61,189}, {28,81}, {28,82}, {28,83}, {61,190}, {28,84}, 
+    {28,85}, {28,86}, {62,97}, {28,87}, {28,88}, {28,89}, {28,90}, {28,91}, 
+    {28,92}, {28,93}, {62,98}, {62,99}, {28,94}, {28,95}, {28,96}, {28,97}, 
+    {28,98}, {28,99}, {28,100}, {28,101}, {28,102}, {28,103}, {62,100}, 
+    {28,104}, {28,105}, {28,106}, {28,107}, {28,108}, {28,109}, {28,110}, 
+    {28,111}, {28,112}, {28,113}, {28,114}, {28,115}, {28,116}, {28,117}, 
+    {28,118}, {28,119}, {28,120}, {28,121}, {28,122}, {28,123}, {28,124}, 
+    {28,125}, {28,126}, {28,127}, {28,128}, {28,129}, {28,130}, {62,101}, 
+    {62,102}, {28,131}, {28,132}, {62,103}, {28,133}, {28,134}, {28,135}, 
+    {62,104}, {28,136}, {28,137}, {28,138}, {28,139}, {28,140}, {28,141}, 
+    {28,142}, {62,105}, {62,106}, {28,143}, {28,144}, {28,145}, {62,107}, 
+    {28,146}, {28,147}, {28,148}, {28,149}, {28,150}, {28,151}, {62,108}, 
+    {28,152}, {28,153}, {28,154}, {28,155}, {28,156}, {28,157}, {28,158}, 
+    {28,159}, {28,160}, {28,161}, {28,162}, {28,163}, {28,164}, {28,165}, 
+    {28,166}, {28,167}, {28,168}, {28,169}, {28,170}, {62,109}, {28,171}, 
+    {28,172}, {28,173}, {28,174}, {28,175}, {28,176}, {28,177}, {62,110}, 
+    {28,178}, {28,179}, {28,180}, {28,181}, {28,182}, {28,183}, {28,184}, 
+    {28,185}, {28,186}, {28,187}, {28,188}, {28,189}, {28,190}, {29,1}, 
+    {29,2}, {29,3}, {29,4}, {29,5}, {29,6}, {29,7}, {29,8}, {29,9}, {29,10}, 
+    {29,11}, {29,12}, {29,13}, {29,14}, {62,111}, {29,15}, {29,16}, {29,17}, 
+    {62,112}, {29,18}, {29,19}, {29,20}, {29,21}, {29,22}, {29,23}, {29,24}, 
+    {29,25}, {29,26}, {29,33}, {29,34}, {29,35}, {29,36}, {29,37}, {29,38}, 
+    {29,39}, {29,40}, {29,41}, {29,42}, {29,43}, {29,44}, {29,45}, {29,46}, 
+    {29,47}, {29,48}, {29,49}, {29,50}, {29,51}, {29,52}, {29,53}, {29,54}, 
+    {29,55}, {29,56}, {29,57}, {29,58}, {29,65}, {29,66}, {29,67}, {29,68}, 
+    {29,69}, {29,70}, {29,71}, {29,72}, {29,73}, {62,113}, {29,74}, {29,75}, 
+    {29,76}, {29,77}, {29,78}, {29,79}, {62,114}, {62,115}, {29,80}, {29,81}, 
+    {62,116}, {29,82}, {29,83}, {29,84}, {62,117}, {29,85}, {62,118}, {29,86}, 
+    {29,87}, {29,88}, {29,89}, {62,119}, {62,120}, {62,121}, {29,90}, {29,91}, 
+    {29,92}, {29,93}, {29,94}, {29,95}, {29,96}, {29,97}, {29,98}, {29,99}, 
+    {62,122}, {29,100}, {29,101}, {29,102}, {62,123}, {29,103}, {29,104}, 
+    {29,105}, {62,124}, {29,106}, {29,107}, {29,108}, {29,109}, {29,110}, 
+    {29,111}, {29,112}, {62,125}, {29,113}, {29,114}, {29,115}, {29,116}, 
+    {29,117}, {29,118}, {29,119}, {29,120}, {29,121}, {29,122}, {29,123}, 
+    {62,126}, {62,127}, {29,124}, {29,125}, {62,128}, {29,126}, {29,127}, 
+    {29,128}, {62,129}, {29,129}, {29,130}, {29,131}, {29,132}, {29,133}, 
+    {29,134}, {29,135}, {62,130}, {62,131}, {29,136}, {62,132}, {29,137}, 
+    {62,133}, {29,138}, {29,139}, {29,140}, {29,141}, {29,142}, {29,143}, 
+    {62,134}, {62,135}, {29,144}, {29,145}, {62,136}, {62,137}, {62,138}, 
+    {29,146}, {62,139}, {62,140}, {62,141}, {29,147}, {29,148}, {29,149}, 
+    {29,150}, {62,142}, {62,143}, {62,144}, {29,151}, {62,145}, {62,146}, 
+    {62,147}, {29,152}, {29,153}, {29,154}, {62,148}, {62,149}, {29,155}, 
+    {62,150}, {62,151}, {29,156}, {29,157}, {62,152}, {29,158}, {29,159}, 
+    {29,160}, {62,153}, {29,161}, {29,162}, {29,163}, {29,164}, {29,165}, 
+    {29,166}, {29,167}, {62,154}, {62,155}, {29,168}, {62,156}, {62,157}, 
+    {62,158}, {29,169}, {29,170}, {29,171}, {29,172}, {29,173}, {29,174}, 
+    {62,159}, {62,160}, {29,175}, {29,176}, {62,161}, {29,177}, {29,178}, 
+    {29,179}, {62,162}, {29,180}, {29,181}, {62,163}, {29,182}, {29,183}, 
+    {29,184}, {29,185}, {62,164}, {62,165}, {29,186}, {62,166}, {29,187}, 
+    {62,167}, {29,188}, {29,189}, {29,190}, {62,168}, {30,1}, {62,169}, 
+    {62,170}, {30,2}, {30,3}, {30,4}, {62,171}, {30,5}, {30,6}, {30,7}, 
+    {62,172}, {30,8}, {30,9}, {30,10}, {30,11}, {30,12}, {30,13}, {30,14}, 
+    {30,15}, {62,173}, {30,16}, {30,17}, {30,18}, {30,19}, {30,20}, {30,21}, 
+    {30,22}, {30,23}, {30,24}, {30,25}, {62,174}, {62,175}, {30,26}, {30,33}, 
+    {62,176}, {62,177}, {30,34}, {62,178}, {62,179}, {62,180}, {62,181}, 
+    {30,35}, {30,36}, {30,37}, {30,38}, {30,39}, {62,182}, {62,183}, {62,184}, 
+    {62,185}, {62,186}, {62,187}, {62,188}, {30,40}, {62,189}, {30,41}, 
+    {62,190}, {30,42}, {63,97}, {63,98}, {30,43}, {30,44}, {63,99}, {30,45}, 
+    {30,46}, {30,47}, {63,100}, {30,48}, {30,49}, {30,50}, {30,51}, {30,52}, 
+    {30,53}, {30,54}, {63,101}, {63,102}, {30,55}, {63,103}, {30,56}, {63,104}, 
+    {30,57}, {30,58}, {30,65}, {30,66}, {30,67}, {30,68}, {63,105}, {63,106}, 
+    {63,107}, {30,69}, {63,108}, {30,70}, {30,71}, {30,72}, {63,109}, {30,73}, 
+    {63,110}, {63,111}, {30,74}, {30,75}, {30,76}, {30,77}, {63,112}, {63,113}, 
+    {63,114}, {63,115}, {63,116}, {63,117}, {30,78}, {30,79}, {30,80}, 
+    {63,118}, {63,119}, {63,120}, {63,121}, {30,81}, {30,82}, {30,83}, 
+    {63,122}, {30,84}, {30,85}, {30,86}, {63,123}, {30,87}, {30,88}, {30,89}, 
+    {30,90}, {30,91}, {30,92}, {30,93}, {63,124}, {63,125}, {30,94}, {63,126}, 
+    {63,127}, {30,95}, {30,96}, {30,97}, {30,98}, {30,99}, {30,100}, {30,101}, 
+    {63,128}, {63,129}, {30,102}, {30,103}, {63,130}, {30,104}, {30,105}, 
+    {30,106}, {63,131}, {63,132}, {63,133}, {30,107}, {63,134}, {30,108}, 
+    {30,109}, {63,135}, {63,136}, {63,137}, {30,110}, {63,138}, {30,111}, 
+    {63,139}, {30,112}, {63,140}, {30,113}, {30,114}, {30,115}, {30,116}, 
+    {63,141}, {63,142}, {30,117}, {30,118}, {63,143}, {30,119}, {30,120}, 
+    {30,121}, {63,144}, {30,122}, {30,123}, {30,124}, {30,125}, {30,126}, 
+    {30,127}, {30,128}, {63,145}, {63,146}, {30,129}, {63,147}, {63,148}, 
+    {63,149}, {30,130}, {30,131}, {30,132}, {30,133}, {30,134}, {30,135}, 
+    {63,150}, {63,151}, {30,136}, {30,137}, {63,152}, {30,138}, {30,139}, 
+    {30,140}, {30,141}, {30,142}, {30,143}, {30,144}, {30,145}, {30,146}, 
+    {30,147}, {30,148}, {63,153}, {30,149}, {30,150}, {63,154}, {30,151}, 
+    {63,155}, {30,152}, {30,153}, {30,154}, {30,155}, {30,156}, {30,157}, 
+    {63,156}, {63,157}, {30,158}, {30,159}, {63,158}, {30,160}, {30,161}, 
+    {30,162}, {63,159}, {30,163}, {30,164}, {30,165}, {30,166}, {30,167}, 
+    {30,168}, {30,169}, {63,160}, {63,161}, {30,170}, {63,162}, {30,171}, 
+    {63,163}, {30,172}, {30,173}, {30,174}, {30,175}, {30,176}, {30,177}, 
+    {63,164}, {63,165}, {30,178}, {30,179}, {63,166}, {30,180}, {30,181}, 
+    {30,182}, {63,167}, {30,183}, {30,184}, {30,185}, {30,186}, {30,187}, 
+    {30,188}, {30,189}, {63,168}, {63,169}, {30,190}, {63,170}, {31,1}, 
+    {63,171}, {31,2}, {31,3}, {31,4}, {31,5}, {31,6}, {31,7}, {63,172}, 
+    {63,173}, {31,8}, {31,9}, {63,174}, {31,10}, {31,11}, {31,12}, {63,175}, 
+    {63,176}, {63,177}, {31,13}, {31,14}, {31,15}, {31,16}, {31,17}, {63,178}, 
+    {63,179}, {31,18}, {63,180}, {31,19}, {63,181}, {31,20}, {31,21}, {31,22}, 
+    {31,23}, {31,24}, {31,25}, {63,182}, {63,183}, {31,26}, {31,33}, {63,184}, 
+    {31,34}, {31,35}, {31,36}, {63,185}, {31,37}, {31,38}, {31,39}, {31,40}, 
+    {31,41}, {31,42}, {31,43}, {63,186}, {63,187}, {31,44}, {31,45}, {63,188}, 
+    {63,189}, {31,46}, {31,47}, {31,48}, {31,49}, {31,50}, {31,51}, {63,190}, 
+    {64,97}, {31,52}, {31,53}, {64,98}, {31,54}, {31,55}, {31,56}, {64,99}, 
+    {31,57}, {31,58}, {31,65}, {31,66}, {31,67}, {31,68}, {31,69}, {64,100}, 
+    {64,101}, {31,70}, {31,71}, {31,72}, {64,102}, {31,73}, {31,74}, {31,75}, 
+    {31,76}, {31,77}, {31,78}, {64,103}, {64,104}, {31,79}, {31,80}, {64,105}, 
+    {31,81}, {31,82}, {31,83}, {64,106}, {31,84}, {31,85}, {31,86}, {31,87}, 
+    {31,88}, {31,89}, {31,90}, {64,107}, {64,108}, {31,91}, {64,109}, {31,92}, 
+    {64,110}, {31,93}, {31,94}, {31,95}, {31,96}, {31,97}, {31,98}, {64,111}, 
+    {64,112}, {31,99}, {31,100}, {64,113}, {31,101}, {31,102}, {31,103}, 
+    {64,114}, {31,104}, {31,105}, {31,106}, {31,107}, {31,108}, {31,109}, 
+    {31,110}, {64,115}, {64,116}, {31,111}, {64,117}, {31,112}, {64,118}, 
+    {31,113}, {64,119}, {31,114}, {31,115}, {31,116}, {31,117}, {64,120}, 
+    {64,121}, {31,118}, {31,119}, {64,122}, {31,120}, {31,121}, {31,122}, 
+    {64,123}, {31,123}, {31,124}, {31,125}, {31,126}, {31,127}, {64,124}, 
+    {31,128}, {64,125}, {64,126}, {31,129}, {64,127}, {31,130}, {64,128}, 
+    {64,129}, {64,130}, {64,131}, {64,132}, {64,133}, {64,134}, {64,135}, 
+    {31,131}, {31,132}, {31,133}, {64,136}, {31,134}, {31,135}, {31,136}, 
+    {64,137}, {31,137}, {31,138}, {31,139}, {31,140}, {31,141}, {31,142}, 
+    {31,143}, {64,138}, {31,144}, {31,145}, {64,139}, {31,146}, {31,147}, 
+    {31,148}, {31,149}, {31,150}, {31,151}, {31,152}, {31,153}, {64,140}, 
+    {64,141}, {31,154}, {31,155}, {64,142}, {31,156}, {31,157}, {31,158}, 
+    {64,143}, {64,144}, {64,145}, {31,159}, {31,160}, {31,161}, {31,162}, 
+    {64,146}, {64,147}, {64,148}, {31,163}, {64,149}, {64,150}, {64,151}, 
+    {64,152}, {31,164}, {31,165}, {31,166}, {64,153}, {31,167}, {64,154}, 
+    {64,155}, {31,168}, {31,169}, {64,156}, {31,170}, {64,157}, {64,158}, 
+    {64,159}, {31,171}, {64,160}, {31,172}, {31,173}, {31,174}, {31,175}, 
+    {31,176}, {64,161}, {64,162}, {31,177}, {64,163}, {64,164}, {64,165}, 
+    {64,166}, {31,178}, {31,179}, {31,180}, {31,181}, {31,182}, {64,167}, 
+    {64,168}, {31,183}, {31,184}, {64,169}, {31,185}, {31,186}, {31,187}, 
+    {64,170}, {31,188}, {31,189}, {31,190}, {32,1}, {32,2}, {32,3}, {32,4}, 
+    {64,171}, {64,172}, {32,5}, {64,173}, {64,174}, {64,175}, {32,6}, {32,7}, 
+    {32,8}, {32,9}, {32,10}, {32,11}, {64,176}, {64,177}, {32,12}, {32,13}, 
+    {64,178}, {32,14}, {64,179}, {32,15}, {64,180}, {32,16}, {32,17}, {32,18}, 
+    {32,19}, {32,20}, {32,21}, {32,22}, {64,181}, {32,23}, {32,24}, {32,25}, 
+    {32,26}, {64,182}, {32,33}, {32,34}, {32,35}, {32,36}, {32,37}, {32,38}, 
+    {64,183}, {32,39}, {32,40}, {32,41}, {64,184}, {32,42}, {32,43}, {32,44}, 
+    {64,185}, {32,45}, {32,46}, {32,47}, {32,48}, {32,49}, {32,50}, {32,51}, 
+    {32,52}, {32,53}, {32,54}, {32,55}, {32,56}, {32,57}, {32,58}, {32,65}, 
+    {32,66}, {32,67}, {32,68}, {32,69}, {64,186}, {64,187}, {32,70}, {32,71}, 
+    {64,188}, {32,72}, {32,73}, {32,74}, {64,189}, {32,75}, {64,190}, {32,76}, 
+    {32,77}, {32,78}, {32,79}, {32,80}, {65,97}, {65,98}, {32,81}, {65,99}, 
+    {32,82}, {65,100}, {65,101}, {32,83}, {32,84}, {32,85}, {32,86}, {32,87}, 
+    {65,102}, {65,103}, {32,88}, {32,89}, {65,104}, {32,90}, {32,91}, {32,92}, 
+    {65,105}, {32,93}, {32,94}, {32,95}, {32,96}, {32,97}, {32,98}, {32,99}, 
+    {65,106}, {65,107}, {32,100}, {65,108}, {32,101}, {65,109}, {32,102}, 
+    {32,103}, {32,104}, {32,105}, {32,106}, {32,107}, {65,110}, {32,108}, 
+    {32,109}, {32,110}, {65,111}, {32,111}, {32,112}, {32,113}, {65,112}, 
+    {32,114}, {32,115}, {32,116}, {32,117}, {32,118}, {32,119}, {32,120}, 
+    {65,113}, {65,114}, {32,121}, {32,122}, {65,115}, {65,116}, {32,123}, 
+    {32,124}, {32,125}, {32,126}, {32,127}, {32,128}, {65,117}, {32,129}, 
+    {32,130}, {32,131}, {32,132}, {32,133}, {32,134}, {32,135}, {32,136}, 
+    {32,137}, {32,138}, {32,139}, {32,140}, {32,141}, {32,142}, {32,143}, 
+    {32,144}, {32,145}, {32,146}, {32,147}, {32,148}, {32,149}, {32,150}, 
+    {32,151}, {32,152}, {32,153}, {32,154}, {32,155}, {65,118}, {65,119}, 
+    {32,156}, {32,157}, {65,120}, {32,158}, {32,159}, {32,160}, {65,121}, 
+    {32,161}, {65,122}, {32,162}, {32,163}, {32,164}, {32,165}, {32,166}, 
+    {65,123}, {65,124}, {32,167}, {65,125}, {32,168}, {65,126}, {65,127}, 
+    {65,128}, {32,169}, {32,170}, {32,171}, {65,129}, {65,130}, {65,131}, 
+    {32,172}, {32,173}, {32,174}, {32,175}, {32,176}, {32,177}, {65,132}, 
+    {32,178}, {32,179}, {32,180}, {32,181}, {32,182}, {32,183}, {32,184}, 
+    {32,185}, {65,133}, {32,186}, {65,134}, {32,187}, {65,135}, {32,188}, 
+    {32,189}, {32,190}, {33,1}, {33,2}, {33,3}, {65,136}, {33,4}, {33,5}, 
+    {33,6}, {33,7}, {33,8}, {33,9}, {33,10}, {33,11}, {33,12}, {33,13}, 
+    {33,14}, {33,15}, {33,16}, {33,17}, {33,18}, {33,19}, {33,20}, {33,21}, 
+    {33,22}, {65,137}, {65,138}, {33,23}, {33,24}, {33,25}, {33,26}, {33,33}, 
+    {33,34}, {65,139}, {33,35}, {33,36}, {33,37}, {65,140}, {33,38}, {33,39}, 
+    {33,40}, {65,141}, {33,41}, {33,42}, {33,43}, {33,44}, {33,45}, {33,46}, 
+    {33,47}, {65,142}, {65,143}, {33,48}, {65,144}, {33,49}, {65,145}, 
+    {33,50}, {33,51}, {33,52}, {33,53}, {33,54}, {33,55}, {65,146}, {65,147}, 
+    {33,56}, {33,57}, {65,148}, {33,58}, {33,65}, {33,66}, {33,67}, {33,68}, 
+    {33,69}, {33,70}, {33,71}, {33,72}, {33,73}, {33,74}, {33,75}, {33,76}, 
+    {33,77}, {33,78}, {33,79}, {65,149}, {33,80}, {33,81}, {33,82}, {33,83}, 
+    {33,84}, {33,85}, {65,150}, {65,151}, {33,86}, {33,87}, {65,152}, {33,88}, 
+    {33,89}, {33,90}, {65,153}, {65,154}, {65,155}, {33,91}, {33,92}, {33,93}, 
+    {33,94}, {33,95}, {65,156}, {65,157}, {33,96}, {65,158}, {34,1}, {65,159}, 
+    {34,2}, {34,3}, {34,4}, {34,5}, {34,6}, {34,7}, {65,160}, {34,8}, {34,9}, 
+    {34,10}, {34,11}, {34,12}, {34,13}, {34,14}, {34,15}, {34,16}, {34,17}, 
+    {34,18}, {34,19}, {34,20}, {34,21}, {34,22}, {34,23}, {34,24}, {34,25}, 
+    {34,26}, {65,161}, {34,33}, {34,34}, {34,35}, {34,36}, {34,37}, {34,38}, 
+    {34,39}, {65,162}, {34,40}, {34,41}, {34,42}, {34,43}, {34,44}, {34,45}, 
+    {34,46}, {34,47}, {34,48}, {34,49}, {34,50}, {34,51}, {34,52}, {34,53}, 
+    {34,54}, {34,55}, {34,56}, {34,57}, {34,58}, {34,65}, {34,66}, {34,67}, 
+    {34,68}, {34,69}, {34,70}, {34,71}, {34,72}, {65,163}, {65,164}, {34,73}, 
+    {34,74}, {65,165}, {34,75}, {34,76}, {34,77}, {65,166}, {34,78}, {34,79}, 
+    {34,80}, {34,81}, {34,82}, {34,83}, {34,84}, {65,167}, {65,168}, {34,85}, 
+    {65,169}, {34,86}, {34,87}, {34,88}, {34,89}, {34,90}, {34,91}, {34,92}, 
+    {34,93}, {65,170}, {34,94}, {34,95}, {34,96}, {65,171}, {35,1}, {35,2}, 
+    {35,3}, {65,172}, {35,4}, {35,5}, {35,6}, {35,7}, {35,8}, {35,9}, {35,10}, 
+    {65,173}, {35,11}, {35,12}, {35,13}, {35,14}, {35,15}, {35,16}, {35,17}, 
+    {35,18}, {35,19}, {35,20}, {35,21}, {65,174}, {65,175}, {35,22}, {35,23}, 
+    {65,176}, {35,24}, {35,25}, {35,26}, {65,177}, {35,33}, {35,34}, {35,35}, 
+    {35,36}, {35,37}, {35,38}, {35,39}, {65,178}, {65,179}, {35,40}, {65,180}, 
+    {35,41}, {65,181}, {35,42}, {35,43}, {35,44}, {35,45}, {35,46}, {35,47}, 
+    {35,48}, {35,49}, {35,50}, {35,51}, {35,52}, {35,53}, {35,54}, {35,55}, 
+    {35,56}, {35,57}, {35,58}, {35,65}, {35,66}, {35,67}, {35,68}, {35,69}, 
+    {35,70}, {35,71}, {35,72}, {35,73}, {35,74}, {35,75}, {35,76}, {35,77}, 
+    {35,78}, {35,79}, {35,80}, {35,81}, {65,182}, {65,183}, {35,82}, {35,83}, 
+    {65,184}, {35,84}, {35,85}, {65,185}, {65,186}, {35,86}, {65,187}, 
+    {35,87}, {35,88}, {35,89}, {35,90}, {35,91}, {65,188}, {65,189}, {35,92}, 
+    {65,190}, {35,93}, {66,97}, {66,98}, {35,94}, {35,95}, {66,99}, {66,100}, 
+    {35,96}, {66,101}, {66,102}, {36,1}, {36,2}, {66,103}, {36,3}, {66,104}, 
+    {36,4}, {66,105}, {36,5}, {36,6}, {66,106}, {36,7}, {36,8}, {36,9}, 
+    {36,10}, {66,107}, {66,108}, {36,11}, {66,109}, {66,110}, {66,111}, 
+    {36,12}, {36,13}, {36,14}, {36,15}, {36,16}, {36,17}, {66,112}, {66,113}, 
+    {36,18}, {36,19}, {66,114}, {36,20}, {36,21}, {36,22}, {66,115}, {36,23}, 
+    {36,24}, {36,25}, {36,26}, {36,33}, {36,34}, {36,35}, {66,116}, {66,117}, 
+    {36,36}, {66,118}, {66,119}, {66,120}, {36,37}, {36,38}, {36,39}, {36,40}, 
+    {36,41}, {36,42}, {66,121}, {36,43}, {36,44}, {36,45}, {66,122}, {36,46}, 
+    {36,47}, {36,48}, {36,49}, {36,50}, {36,51}, {36,52}, {36,53}, {36,54}, 
+    {36,55}, {36,56}, {36,57}, {36,58}, {36,65}, {36,66}, {36,67}, {66,123}, 
+    {36,68}, {36,69}, {36,70}, {36,71}, {36,72}, {36,73}, {36,74}, {36,75}, 
+    {36,76}, {36,77}, {36,78}, {36,79}, {36,80}, {36,81}, {36,82}, {36,83}, 
+    {36,84}, {36,85}, {36,86}, {36,87}, {36,88}, {36,89}, {36,90}, {36,91}, 
+    {36,92}, {36,93}, {36,94}, {36,95}, {36,96}, {37,1}, {37,2}, {37,3}, 
+    {37,4}, {37,5}, {66,124}, {66,125}, {37,6}, {37,7}, {66,126}, {37,8}, 
+    {37,9}, {37,10}, {66,127}, {37,11}, {37,12}, {37,13}, {37,14}, {37,15}, 
+    {37,16}, {37,17}, {66,128}, {66,129}, {37,18}, {66,130}, {66,131}, 
+    {66,132}, {37,19}, {37,20}, {37,21}, {37,22}, {37,23}, {37,24}, {66,133}, 
+    {37,25}, {37,26}, {37,33}, {37,34}, {37,35}, {37,36}, {37,37}, {37,38}, 
+    {37,39}, {37,40}, {37,41}, {37,42}, {37,43}, {37,44}, {37,45}, {37,46}, 
+    {37,47}, {37,48}, {37,49}, {37,50}, {66,134}, {37,51}, {37,52}, {37,53}, 
+    {37,54}, {37,55}, {37,56}, {66,135}, {37,57}, {37,58}, {37,65}, {37,66}, 
+    {37,67}, {37,68}, {37,69}, {37,70}, {37,71}, {37,72}, {37,73}, {37,74}, 
+    {37,75}, {37,76}, {37,77}, {37,78}, {37,79}, {37,80}, {37,81}, {66,136}, 
+    {37,82}, {37,83}, {37,84}, {37,85}, {37,86}, {37,87}, {37,88}, {37,89}, 
+    {37,90}, {37,91}, {37,92}, {37,93}, {37,94}, {37,95}, {37,96}, {38,1}, 
+    {38,2}, {38,3}, {38,4}, {38,5}, {38,6}, {38,7}, {38,8}, {38,9}, {38,10}, 
+    {38,11}, {38,12}, {38,13}, {38,14}, {38,15}, {38,16}, {38,17}, {38,18}, 
+    {38,19}, {38,20}, {66,137}, {66,138}, {38,21}, {38,22}, {66,139}, {38,23}, 
+    {38,24}, {38,25}, {66,140}, {38,26}, {38,33}, {38,34}, {38,35}, {38,36}, 
+    {38,37}, {38,38}, {66,141}, {66,142}, {38,39}, {66,143}, {38,40}, {66,144}, 
+    {38,41}, {66,145}, {38,42}, {38,43}, {38,44}, {38,45}, {66,146}, {66,147}, 
+    {38,46}, {38,47}, {38,48}, {38,49}, {38,50}, {38,51}, {66,148}, {38,52}, 
+    {38,53}, {38,54}, {38,55}, {38,56}, {38,57}, {38,58}, {38,65}, {38,66}, 
+    {38,67}, {38,68}, {66,149}, {38,69}, {38,70}, {38,71}, {38,72}, {38,73}, 
+    {38,74}, {38,75}, {66,150}, {38,76}, {38,77}, {38,78}, {38,79}, {38,80}, 
+    {38,81}, {38,82}, {38,83}, {38,84}, {38,85}, {38,86}, {38,87}, {38,88}, 
+    {38,89}, {38,90}, {38,91}, {38,92}, {38,93}, {38,94}, {66,151}, {38,95}, 
+    {38,96}, {39,1}, {39,2}, {39,3}, {39,4}, {39,5}, {66,152}, {39,6}, 
+    {39,7}, {39,8}, {66,153}, {39,9}, {39,10}, {39,11}, {66,154}, {39,12}, 
+    {39,13}, {39,14}, {39,15}, {39,16}, {39,17}, {39,18}, {66,155}, {66,156}, 
+    {39,19}, {39,20}, {39,21}, {39,22}, {39,23}, {39,24}, {39,25}, {39,26}, 
+    {39,33}, {39,34}, {39,35}, {39,36}, {39,37}, {39,38}, {39,39}, {39,40}, 
+    {39,41}, {39,42}, {39,43}, {39,44}, {39,45}, {39,46}, {39,47}, {39,48}, 
+    {39,49}, {39,50}, {39,51}, {39,52}, {39,53}, {39,54}, {39,55}, {66,157}, 
+    {39,56}, {39,57}, {39,58}, {39,65}, {39,66}, {39,67}, {66,158}, {66,159}, 
+    {39,68}, {39,69}, {66,160}, {39,70}, {39,71}, {39,72}, {66,161}, {39,73}, 
+    {39,74}, {39,75}, {39,76}, {39,77}, {39,78}, {39,79}, {66,162}, {66,163}, 
+    {39,80}, {39,81}, {39,82}, {66,164}, {39,83}, {39,84}, {39,85}, {39,86}, 
+    {39,87}, {39,88}, {66,165}, {39,89}, {39,90}, {39,91}, {39,92}, {39,93}, 
+    {39,94}, {39,95}, {39,96}, {40,1}, {40,2}, {40,3}, {40,4}, {40,5}, 
+    {40,6}, {40,7}, {40,8}, {40,9}, {40,10}, {40,11}, {66,166}, {66,167}, 
+    {40,12}, {40,13}, {40,14}, {40,15}, {40,16}, {40,17}, {40,18}, {40,19}, 
+    {40,20}, {40,21}, {40,22}, {40,23}, {40,24}, {40,25}, {40,26}, {40,33}, 
+    {40,34}, {40,35}, {40,36}, {40,37}, {40,38}, {40,39}, {40,40}, {40,41}, 
+    {40,42}, {40,43}, {40,44}, {40,45}, {40,46}, {40,47}, {40,48}, {40,49}, 
+    {40,50}, {40,51}, {66,168}, {40,52}, {40,53}, {40,54}, {40,55}, {40,56}, 
+    {40,57}, {40,58}, {40,65}, {40,66}, {40,67}, {40,68}, {40,69}, {40,70}, 
+    {40,71}, {40,72}, {40,73}, {40,74}, {40,75}, {40,76}, {40,77}, {40,78}, 
+    {40,79}, {40,80}, {40,81}, {40,82}, {40,83}, {40,84}, {66,169}, {40,85}, 
+    {40,86}, {40,87}, {40,88}, {40,89}, {40,90}, {40,91}, {40,92}, {40,93}, 
+    {40,94}, {40,95}, {40,96}, {41,1}, {41,2}, {41,3}, {41,4}, {41,5}, 
+    {41,6}, {41,7}, {41,8}, {41,9}, {41,10}, {41,11}, {41,12}, {41,13}, 
+    {41,14}, {41,15}, {66,170}, {41,16}, {41,17}, {41,18}, {41,19}, {41,20}, 
+    {41,21}, {41,22}, {41,23}, {41,24}, {41,25}, {41,26}, {41,33}, {41,34}, 
+    {41,35}, {41,36}, {66,171}, {41,37}, {41,38}, {66,172}, {41,39}, {66,173}, 
+    {41,40}, {41,41}, {41,42}, {41,43}, {41,44}, {41,45}, {41,46}, {41,47}, 
+    {41,48}, {41,49}, {41,50}, {41,51}, {41,52}, {41,53}, {41,54}, {41,55}, 
+    {41,56}, {41,57}, {41,58}, {41,65}, {41,66}, {41,67}, {41,68}, {41,69}, 
+    {41,70}, {41,71}, {41,72}, {41,73}, {41,74}, {41,75}, {41,76}, {41,77}, 
+    {41,78}, {41,79}, {66,174}, {66,175}, {41,80}, {41,81}, {66,176}, {41,82}, 
+    {41,83}, {41,84}, {66,177}, {41,85}, {41,86}, {41,87}, {41,88}, {41,89}, 
+    {41,90}, {41,91}, {66,178}, {66,179}, {41,92}, {41,93}, {41,94}, {66,180}, 
+    {66,181}, {41,95}, {41,96}, {42,1}, {42,2}, {66,182}, {66,183}, {66,184}, 
+    {42,3}, {42,4}, {66,185}, {42,5}, {66,186}, {42,6}, {66,187}, {42,7}, 
+    {42,8}, {42,9}, {42,10}, {42,11}, {42,12}, {42,13}, {66,188}, {66,189}, 
+    {42,14}, {66,190}, {67,97}, {67,98}, {67,99}, {42,15}, {42,16}, {42,17}, 
+    {42,18}, {42,19}, {67,100}, {67,101}, {42,20}, {42,21}, {67,102}, {42,22}, 
+    {42,23}, {42,24}, {67,103}, {42,25}, {42,26}, {42,33}, {42,34}, {42,35}, 
+    {42,36}, {42,37}, {67,104}, {67,105}, {42,38}, {67,106}, {67,107}, 
+    {67,108}, {42,39}, {42,40}, {42,41}, {42,42}, {42,43}, {42,44}, {67,109}, 
+    {42,45}, {42,46}, {42,47}, {67,110}, {42,48}, {67,111}, {42,49}, {67,112}, 
+    {42,50}, {42,51}, {42,52}, {42,53}, {42,54}, {42,55}, {42,56}, {67,113}, 
+    {42,57}, {42,58}, {42,65}, {42,66}, {67,114}, {42,67}, {42,68}, {42,69}, 
+    {42,70}, {42,71}, {42,72}, {42,73}, {42,74}, {42,75}, {42,76}, {42,77}, 
+    {42,78}, {42,79}, {42,80}, {42,81}, {42,82}, {42,83}, {42,84}, {42,85}, 
+    {42,86}, {42,87}, {42,88}, {42,89}, {42,90}, {42,91}, {42,92}, {42,93}, 
+    {42,94}, {42,95}, {42,96}, {43,1}, {43,2}, {43,3}, {43,4}, {67,115}, 
+    {67,116}, {43,5}, {43,6}, {67,117}, {43,7}, {43,8}, {43,9}, {67,118}, 
+    {43,10}, {43,11}, {43,12}, {43,13}, {43,14}, {43,15}, {43,16}, {67,119}, 
+    {67,120}, {43,17}, {67,121}, {67,122}, {67,123}, {43,18}, {43,19}, 
+    {43,20}, {43,21}, {43,22}, {43,23}, {67,124}, {67,125}, {43,24}, {43,25}, 
+    {67,126}, {43,26}, {43,33}, {43,34}, {67,127}, {43,35}, {43,36}, {43,37}, 
+    {43,38}, {43,39}, {43,40}, {43,41}, {67,128}, {67,129}, {43,42}, {67,130}, 
+    {43,43}, {67,131}, {43,44}, {43,45}, {43,46}, {43,47}, {43,48}, {43,49}, 
+    {67,132}, {43,50}, {43,51}, {43,52}, {67,133}, {43,53}, {43,54}, {43,55}, 
+    {43,56}, {43,57}, {43,58}, {43,65}, {43,66}, {43,67}, {43,68}, {43,69}, 
+    {43,70}, {43,71}, {43,72}, {43,73}, {67,134}, {43,74}, {43,75}, {43,76}, 
+    {43,77}, {43,78}, {43,79}, {43,80}, {67,135}, {43,81}, {43,82}, {43,83}, 
+    {67,136}, {43,84}, {43,85}, {43,86}, {43,87}, {43,88}, {43,89}, {43,90}, 
+    {43,91}, {43,92}, {43,93}, {43,94}, {43,95}, {43,96}, {44,1}, {44,2}, 
+    {44,3}, {67,137}, {44,4}, {44,5}, {44,6}, {44,7}, {44,8}, {44,9}, {67,138}, 
+    {67,139}, {44,10}, {44,11}, {67,140}, {44,12}, {44,13}, {44,14}, {67,141}, 
+    {44,15}, {44,16}, {44,17}, {44,18}, {44,19}, {44,20}, {44,21}, {67,142}, 
+    {67,143}, {44,22}, {67,144}, {44,23}, {67,145}, {44,24}, {44,25}, {44,26}, 
+    {44,33}, {44,34}, {44,35}, {67,146}, {44,36}, {44,37}, {44,38}, {67,147}, 
+    {44,39}, {44,40}, {44,41}, {67,148}, {44,42}, {44,43}, {44,44}, {44,45}, 
+    {44,46}, {44,47}, {44,48}, {44,49}, {44,50}, {44,51}, {44,52}, {44,53}, 
+    {67,149}, {44,54}, {44,55}, {44,56}, {44,57}, {44,58}, {44,65}, {44,66}, 
+    {44,67}, {44,68}, {44,69}, {44,70}, {44,71}, {44,72}, {44,73}, {44,74}, 
+    {44,75}, {44,76}, {44,77}, {44,78}, {44,79}, {44,80}, {44,81}, {44,82}, 
+    {44,83}, {44,84}, {44,85}, {44,86}, {44,87}, {44,88}, {44,89}, {44,90}, 
+    {44,91}, {44,92}, {44,93}, {67,150}, {44,94}, {44,95}, {44,96}, {67,151}, 
+    {45,1}, {45,2}, {45,3}, {67,152}, {45,4}, {45,5}, {45,6}, {45,7}, {45,8}, 
+    {45,9}, {45,10}, {67,153}, {67,154}, {45,11}, {67,155}, {45,12}, {67,156}, 
+    {45,13}, {45,14}, {45,15}, {45,16}, {45,17}, {45,18}, {67,157}, {45,19}, 
+    {45,20}, {45,21}, {45,22}, {45,23}, {45,24}, {45,25}, {45,26}, {45,33}, 
+    {45,34}, {45,35}, {45,36}, {45,37}, {45,38}, {45,39}, {67,158}, {45,40}, 
+    {45,41}, {45,42}, {45,43}, {45,44}, {45,45}, {45,46}, {45,47}, {45,48}, 
+    {45,49}, {45,50}, {67,159}, {67,160}, {45,51}, {45,52}, {67,161}, {45,53}, 
+    {45,54}, {45,55}, {67,162}, {45,56}, {45,57}, {45,58}, {45,65}, {45,66}, 
+    {45,67}, {45,68}, {67,163}, {67,164}, {45,69}, {67,165}, {45,70}, {67,166}, 
+    {45,71}, {45,72}, {45,73}, {45,74}, {45,75}, {45,76}, {67,167}, {45,77}, 
+    {45,78}, {45,79}, {45,80}, {45,81}, {45,82}, {45,83}, {45,84}, {45,85}, 
+    {45,86}, {45,87}, {45,88}, {45,89}, {45,90}, {45,91}, {45,92}, {45,93}, 
+    {45,94}, {45,95}, {67,168}, {45,96}, {46,1}, {46,2}, {46,3}, {46,4}, 
+    {46,5}, {46,6}, {67,169}, {46,7}, {46,8}, {46,9}, {67,170}, {46,10}, 
+    {46,11}, {46,12}, {46,13}, {46,14}, {46,15}, {46,16}, {46,17}, {46,18}, 
+    {46,19}, {46,20}, {46,21}, {46,22}, {46,23}, {46,24}, {46,25}, {46,26}, 
+    {46,33}, {46,34}, {46,35}, {46,36}, {46,37}, {46,38}, {67,171}, {46,39}, 
+    {46,40}, {46,41}, {67,172}, {46,42}, {46,43}, {46,44}, {67,173}, {46,45}, 
+    {46,46}, {46,47}, {46,48}, {46,49}, {46,50}, {46,51}, {67,174}, {67,175}, 
+    {46,52}, {67,176}, {46,53}, {67,177}, {46,54}, {46,55}, {46,56}, {46,57}, 
+    {46,58}, {46,65}, {67,178}, {46,66}, {46,67}, {46,68}, {67,179}, {46,69}, 
+    {46,70}, {46,71}, {67,180}, {46,72}, {46,73}, {46,74}, {46,75}, {46,76}, 
+    {46,77}, {46,78}, {67,181}, {46,79}, {46,80}, {46,81}, {46,82}, {67,182}, 
+    {46,83}, {46,84}, {46,85}, {46,86}, {46,87}, {46,88}, {67,183}, {67,184}, 
+    {46,89}, {46,90}, {67,185}, {46,91}, {46,92}, {46,93}, {67,186}, {46,94}, 
+    {46,95}, {46,96}, {47,1}, {47,2}, {47,3}, {47,4}, {67,187}, {67,188}, 
+    {47,5}, {67,189}, {47,6}, {67,190}, {47,7}, {47,8}, {47,9}, {47,10}, 
+    {47,11}, {47,12}, {47,13}, {47,14}, {47,15}, {47,16}, {47,17}, {47,18}, 
+    {47,19}, {47,20}, {47,21}, {47,22}, {47,23}, {47,24}, {47,25}, {47,26}, 
+    {47,33}, {47,34}, {47,35}, {47,36}, {47,37}, {47,38}, {47,39}, {47,40}, 
+    {47,41}, {47,42}, {47,43}, {47,44}, {47,45}, {47,46}, {68,97}, {68,98}, 
+    {47,47}, {47,48}, {68,99}, {47,49}, {47,50}, {68,100}, {68,101}, {68,102}, 
+    {47,51}, {47,52}, {47,53}, {47,54}, {47,55}, {47,56}, {68,103}, {68,104}, 
+    {47,57}, {68,105}, {47,58}, {68,106}, {47,65}, {47,66}, {47,67}, {47,68}, 
+    {47,69}, {47,70}, {68,107}, {68,108}, {47,71}, {47,72}, {68,109}, {47,73}, 
+    {47,74}, {47,75}, {68,110}, {47,76}, {47,77}, {47,78}, {47,79}, {47,80}, 
+    {47,81}, {47,82}, {68,111}, {68,112}, {47,83}, {68,113}, {47,84}, {68,114}, 
+    {47,85}, {47,86}, {47,87}, {47,88}, {47,89}, {47,90}, {68,115}, {68,116}, 
+    {47,91}, {47,92}, {68,117}, {47,93}, {47,94}, {47,95}, {68,118}, {47,96}, 
+    {48,1}, {48,2}, {48,3}, {48,4}, {48,5}, {48,6}, {68,119}, {68,120}, 
+    {48,7}, {68,121}, {68,122}, {68,123}, {48,8}, {48,9}, {48,10}, {48,11}, 
+    {48,12}, {48,13}, {68,124}, {68,125}, {48,14}, {48,15}, {48,16}, {48,17}, 
+    {48,18}, {48,19}, {48,20}, {48,21}, {48,22}, {48,23}, {48,24}, {48,25}, 
+    {48,26}, {48,33}, {48,34}, {48,35}, {48,36}, {48,37}, {48,38}, {68,126}, 
+    {48,39}, {48,40}, {48,41}, {48,42}, {48,43}, {48,44}, {48,45}, {48,46}, 
+    {48,47}, {48,48}, {48,49}, {48,50}, {48,51}, {48,52}, {48,53}, {48,54}, 
+    {48,55}, {48,56}, {48,57}, {48,58}, {48,65}, {48,66}, {48,67}, {48,68}, 
+    {48,69}, {48,70}, {48,71}, {48,72}, {48,73}, {48,74}, {48,75}, {48,76}, 
+    {48,77}, {48,78}, {68,127}, {68,128}, {48,79}, {48,80}, {68,129}, {48,81}, 
+    {48,82}, {68,130}, {68,131}, {48,83}, {48,84}, {48,85}, {48,86}, {48,87}, 
+    {48,88}, {48,89}, {68,132}, {68,133}, {48,90}, {68,134}, {68,135}, 
+    {68,136}, {48,91}, {48,92}, {48,93}, {48,94}, {48,95}, {48,96}, {68,137}, 
+    {68,138}, {49,1}, {49,2}, {68,139}, {49,3}, {49,4}, {49,5}, {68,140}, 
+    {49,6}, {49,7}, {49,8}, {49,9}, {49,10}, {49,11}, {49,12}, {68,141}, 
+    {68,142}, {49,13}, {68,143}, {49,14}, {68,144}, {49,15}, {49,16}, {49,17}, 
+    {49,18}, {49,19}, {49,20}, {68,145}, {49,21}, {49,22}, {49,23}, {68,146}, 
+    {49,24}, {49,25}, {49,26}, {68,147}, {49,33}, {49,34}, {49,35}, {49,36}, 
+    {49,37}, {49,38}, {49,39}, {68,148}, {68,149}, {49,40}, {68,150}, {68,151}, 
+    {68,152}, {49,41}, {49,42}, {49,43}, {49,44}, {49,45}, {49,46}, {68,153}, 
+    {49,47}, {49,48}, {49,49}, {49,50}, {49,51}, {49,52}, {49,53}, {49,54}, 
+    {49,55}, {49,56}, {49,57}, {49,58}, {49,65}, {49,66}, {49,67}, {49,68}, 
+    {49,69}, {49,70}, {49,71}, {49,72}, {49,73}, {49,74}, {49,75}, {49,76}, 
+    {49,77}, {49,78}, {49,79}, {68,154}, {68,155}, {49,80}, {49,81}, {68,156}, 
+    {49,82}, {49,83}, {49,84}, {68,157}, {49,85}, {49,86}, {49,87}, {49,88}, 
+    {49,89}, {49,90}, {49,91}, {68,158}, {68,159}, {49,92}, {68,160}, {49,93}, 
+    {68,161}, {49,94}, {49,95}, {49,96}, {50,1}, {50,2}, {50,3}, {68,162}, 
+    {68,163}, {50,4}, {50,5}, {68,164}, {50,6}, {50,7}, {50,8}, {68,165}, 
+    {50,9}, {50,10}, {50,11}, {50,12}, {50,13}, {50,14}, {50,15}, {68,166}, 
+    {50,16}, {50,17}, {50,18}, {50,19}, {68,167}, {50,20}, {50,21}, {50,22}, 
+    {50,23}, {50,24}, {50,25}, {68,168}, {50,26}, {50,33}, {50,34}, {50,35}, 
+    {50,36}, {50,37}, {50,38}, {50,39}, {50,40}, {50,41}, {50,42}, {50,43}, 
+    {50,44}, {50,45}, {50,46}, {50,47}, {50,48}, {50,49}, {50,50}, {50,51}, 
+    {68,169}, {50,52}, {50,53}, {50,54}, {50,55}, {50,56}, {50,57}, {68,170}, 
+    {50,58}, {50,65}, {50,66}, {50,67}, {50,68}, {50,69}, {50,70}, {68,171}, 
+    {50,71}, {50,72}, {50,73}, {50,74}, {50,75}, {50,76}, {50,77}, {50,78}, 
+    {50,79}, {50,80}, {50,81}, {50,82}, {50,83}, {50,84}, {50,85}, {50,86}, 
+    {50,87}, {50,88}, {50,89}, {68,172}, {50,90}, {50,91}, {50,92}, {50,93}, 
+    {50,94}, {50,95}, {50,96}, {51,1}, {51,2}, {51,3}, {51,4}, {51,5}, 
+    {51,6}, {51,7}, {51,8}, {51,9}, {51,10}, {51,11}, {51,12}, {51,13}, 
+    {51,14}, {51,15}, {51,16}, {51,17}, {51,18}, {51,19}, {51,20}, {68,173}, 
+    {68,174}, {51,21}, {51,22}, {68,175}, {51,23}, {51,24}, {51,25}, {68,176}, 
+    {51,26}, {51,33}, {51,34}, {51,35}, {51,36}, {51,37}, {51,38}, {68,177}, 
+    {68,178}, {51,39}, {68,179}, {51,40}, {68,180}, {51,41}, {51,42}, {51,43}, 
+    {51,44}, {51,45}, {51,46}, {68,181}, {51,47}, {51,48}, {51,49}, {68,182}, 
+    {51,50}, {51,51}, {51,52}, {68,183}, {51,53}, {51,54}, {51,55}, {51,56}, 
+    {51,57}, {51,58}, {51,65}, {51,66}, {51,67}, {51,68}, {51,69}, {51,70}, 
+    {68,184}, {51,71}, {51,72}, {51,73}, {51,74}, {51,75}, {51,76}, {68,185}, 
+    {51,77}, {51,78}, {51,79}, {51,80}, {51,81}, {51,82}, {51,83}, {51,84}, 
+    {51,85}, {51,86}, {51,87}, {51,88}, {51,89}, {51,90}, {51,91}, {51,92}, 
+    {51,93}, {51,94}, {51,95}, {51,96}, {68,186}, {52,1}, {52,2}, {52,3}, 
+    {52,4}, {52,5}, {52,6}, {68,187}, {68,188}, {52,7}, {52,8}, {68,189}, 
+    {52,9}, {52,10}, {52,11}, {68,190}, {52,12}, {52,13}, {52,14}, {52,15}, 
+    {52,16}, {52,17}, {52,18}, {69,97}, {69,98}, {52,19}, {69,99}, {52,20}, 
+    {69,100}, {52,21}, {52,22}, {52,23}, {52,24}, {52,25}, {52,26}, {69,101}, 
+    {52,33}, {52,34}, {52,35}, {69,102}, {52,36}, {52,37}, {52,38}, {69,103}, 
+    {52,39}, {52,40}, {52,41}, {52,42}, {52,43}, {52,44}, {52,45}, {69,104}, 
+    {52,46}, {52,47}, {52,48}, {52,49}, {52,50}, {52,51}, {52,52}, {52,53}, 
+    {52,54}, {52,55}, {52,56}, {69,105}, {69,106}, {52,57}, {52,58}, {69,107}, 
+    {52,65}, {52,66}, {52,67}, {69,108}, {52,68}, {52,69}, {52,70}, {52,71}, 
+    {52,72}, {52,73}, {52,74}, {69,109}, {69,110}, {52,75}, {52,76}, {52,77}, 
+    {69,111}, {52,78}, {52,79}, {52,80}, {52,81}, {52,82}, {52,83}, {52,84}, 
+    {52,85}, {52,86}, {52,87}, {52,88}, {52,89}, {52,90}, {52,91}, {52,92}, 
+    {52,93}, {52,94}, {52,95}, {52,96}, {53,1}, {53,2}, {53,3}, {53,4}, 
+    {53,5}, {53,6}, {53,7}, {53,8}, {53,9}, {53,10}, {53,11}, {53,12}, 
+    {53,13}, {53,14}, {53,15}, {69,112}, {69,113}, {53,16}, {53,17}, {69,114}, 
+    {53,18}, {53,19}, {53,20}, {69,115}, {53,21}, {53,22}, {53,23}, {53,24}, 
+    {53,25}, {53,26}, {53,33}, {69,116}, {69,117}, {53,34}, {69,118}, {53,35}, 
+    {69,119}, {53,36}, {53,37}, {53,38}, {53,39}, {53,40}, {53,41}, {69,120}, 
+    {69,121}, {53,42}, {53,43}, {69,122}, {53,44}, {53,45}, {53,46}, {69,123}, 
+    {69,124}, {53,47}, {53,48}, {53,49}, {53,50}, {53,51}, {53,52}, {69,125}, 
+    {69,126}, {53,53}, {69,127}, {69,128}, {69,129}, {53,54}, {53,55}, 
+    {53,56}, {53,57}, {53,58}, {53,65}, {69,130}, {69,131}, {53,66}, {53,67}, 
+    {69,132}, {53,68}, {53,69}, {53,70}, {69,133}, {53,71}, {53,72}, {53,73}, 
+    {53,74}, {53,75}, {53,76}, {53,77}, {69,134}, {69,135}, {53,78}, {69,136}, 
+    {69,137}, {69,138}, {53,79}, {53,80}, {53,81}, {53,82}, {53,83}, {53,84}, 
+    {69,139}, {53,85}, {53,86}, {53,87}, {53,88}, {53,89}, {53,90}, {53,91}, 
+    {53,92}, {53,93}, {53,94}, {53,95}, {53,96}, {54,1}, {54,2}, {54,3}, 
+    {54,4}, {54,5}, {54,6}, {54,7}, {54,8}, {69,140}, {54,9}, {54,10}, 
+    {54,11}, {54,12}, {54,13}, {54,14}, {54,15}, {54,16}, {54,17}, {54,18}, 
+    {54,19}, {54,20}, {54,21}, {54,22}, {54,23}, {54,24}, {54,25}, {54,26}, 
+    {54,33}, {54,34}, {54,35}, {54,36}, {54,37}, {54,38}, {54,39}, {54,40}, 
+    {54,41}, {54,42}, {54,43}, {54,44}, {54,45}, {54,46}, {54,47}, {54,48}, 
+    {69,141}, {69,142}, {54,49}, {54,50}, {69,143}, {54,51}, {54,52}, {54,53}, 
+    {69,144}, {54,54}, {69,145}, {54,55}, {54,56}, {54,57}, {54,58}, {54,65}, 
+    {69,146}, {69,147}, {54,66}, {69,148}, {69,149}, {69,150}, {54,67}, 
+    {54,68}, {54,69}, {54,70}, {54,71}, {54,72}, {69,151}, {69,152}, {54,73}, 
+    {54,74}, {69,153}, {54,75}, {54,76}, {54,77}, {69,154}, {54,78}, {54,79}, 
+    {54,80}, {54,81}, {54,82}, {54,83}, {54,84}, {69,155}, {69,156}, {54,85}, 
+    {69,157}, {54,86}, {69,158}, {54,87}, {54,88}, {54,89}, {54,90}, {54,91}, 
+    {54,92}, {69,159}, {54,93}, {54,94}, {54,95}, {69,160}, {54,96}, {55,1}, 
+    {55,2}, {55,3}, {55,4}, {55,5}, {55,6}, {55,7}, {55,8}, {55,9}, {55,10}, 
+    {55,11}, {55,12}, {55,13}, {55,14}, {69,161}, {55,15}, {55,16}, {55,17}, 
+    {55,18}, {55,19}, {55,20}, {55,21}, {69,162}, {55,22}, {55,23}, {55,24}, 
+    {69,163}, {55,25}, {55,26}, {55,33}, {55,34}, {55,35}, {55,36}, {55,37}, 
+    {55,38}, {55,39}, {55,40}, {55,41}, {55,42}, {55,43}, {55,44}, {55,45}, 
+    {55,46}, {55,47}, {55,48}, {55,49}, {55,50}, {55,51}, {55,52}, {55,53}, 
+    {69,164}, {69,165}, {55,54}, {55,55}, {69,166}, {55,56}, {55,57}, {55,58}, 
+    {69,167}, {55,65}, {55,66}, {55,67}, {55,68}, {55,69}, {55,70}, {55,71}, 
+    {69,168}, {69,169}, {55,72}, {69,170}, {55,73}, {69,171}, {55,74}, 
+    {55,75}, {55,76}, {55,77}, {69,172}, {55,78}, {69,173}, {55,79}, {55,80}, 
+    {55,81}, {69,174}, {55,82}, {55,83}, {55,84}, {55,85}, {55,86}, {55,87}, 
+    {55,88}, {55,89}, {55,90}, {55,91}, {55,92}, {55,93}, {55,94}, {55,95}, 
+    {55,96}, {56,1}, {56,2}, {56,3}, {56,4}, {56,5}, {56,6}, {56,7}, {56,8}, 
+    {69,175}, {56,9}, {56,10}, {56,11}, {56,12}, {56,13}, {56,14}, {56,15}, 
+    {56,16}, {56,17}, {56,18}, {56,19}, {56,20}, {56,21}, {56,22}, {56,23}, 
+    {56,24}, {56,25}, {56,26}, {56,33}, {56,34}, {56,35}, {56,36}, {56,37}, 
+    {56,38}, {56,39}, {56,40}, {56,41}, {69,176}, {56,42}, {56,43}, {56,44}, 
+    {69,177}, {56,45}, {56,46}, {56,47}, {56,48}, {56,49}, {56,50}, {56,51}, 
+    {56,52}, {56,53}, {56,54}, {56,55}, {56,56}, {56,57}, {56,58}, {69,178}, 
+    {56,65}, {69,179}, {56,66}, {56,67}, {56,68}, {56,69}, {56,70}, {56,71}, 
+    {69,180}, {56,72}, {56,73}, {56,74}, {56,75}, {56,76}, {56,77}, {56,78}, 
+    {56,79}, {56,80}, {56,81}, {56,82}, {56,83}, {56,84}, {56,85}, {56,86}, 
+    {56,87}, {56,88}, {56,89}, {56,90}, {56,91}, {56,92}, {56,93}, {56,94}, 
+    {56,95}, {56,96}, {57,1}, {57,2}, {69,181}, {69,182}, {57,3}, {57,4}, 
+    {69,183}, {57,5}, {57,6}, {57,7}, {69,184}, {57,8}, {57,9}, {57,10}, 
+    {57,11}, {57,12}, {57,13}, {57,14}, {69,185}, {69,186}, {57,15}, {69,187}, 
+    {57,16}, {69,188}, {57,17}, {57,18}, {57,19}, {57,20}, {57,21}, {57,22}, 
+    {69,189}, {57,23}, {57,24}, {57,25}, {57,26}, {57,33}, {57,34}, {57,35}, 
+    {57,36}, {57,37}, {57,38}, {57,39}, {57,40}, {57,41}, {57,42}, {57,43}, 
+    {57,44}, {57,45}, {57,46}, {57,47}, {69,190}, {57,48}, {57,49}, {57,50}, 
+    {57,51}, {57,52}, {57,53}, {57,54}, {70,97}, {57,55}, {57,56}, {57,57}, 
+    {57,58}, {57,65}, {57,66}, {57,67}, {57,68}, {57,69}, {57,70}, {57,71}, 
+    {57,72}, {57,73}, {57,74}, {57,75}, {57,76}, {57,77}, {57,78}, {57,79}, 
+    {57,80}, {57,81}, {57,82}, {57,83}, {57,84}, {57,85}, {57,86}, {57,87}, 
+    {70,98}, {70,99}, {57,88}, {57,89}, {70,100}, {57,90}, {57,91}, {57,92}, 
+    {70,101}, {57,93}, {57,94}, {57,95}, {57,96}, {58,1}, {58,2}, {58,3}, 
+    {70,102}, {70,103}, {58,4}, {58,5}, {58,6}, {70,104}, {58,7}, {58,8}, 
+    {58,9}, {58,10}, {58,11}, {58,12}, {70,105}, {58,13}, {58,14}, {58,15}, 
+    {70,106}, {58,16}, {58,17}, {58,18}, {70,107}, {58,19}, {58,20}, {58,21}, 
+    {58,22}, {58,23}, {58,24}, {58,25}, {70,108}, {58,26}, {58,33}, {58,34}, 
+    {58,35}, {70,109}, {58,36}, {58,37}, {58,38}, {58,39}, {58,40}, {58,41}, 
+    {70,110}, {70,111}, {58,42}, {58,43}, {70,112}, {58,44}, {58,45}, {70,113}, 
+    {70,114}, {58,46}, {70,115}, {58,47}, {58,48}, {58,49}, {58,50}, {58,51}, 
+    {70,116}, {70,117}, {58,52}, {70,118}, {58,53}, {58,54}, {58,55}, {58,56}, 
+    {58,57}, {58,58}, {58,65}, {58,66}, {70,119}, {58,67}, {58,68}, {58,69}, 
+    {70,120}, {58,70}, {58,71}, {58,72}, {70,121}, {58,73}, {58,74}, {58,75}, 
+    {58,76}, {58,77}, {58,78}, {58,79}, {70,122}, {70,123}, {58,80}, {58,81}, 
+    {58,82}, {58,83}, {58,84}, {58,85}, {58,86}, {58,87}, {58,88}, {58,89}, 
+    {70,124}, {70,125}, {58,90}, {58,91}, {70,126}, {58,92}, {58,93}, {58,94}, 
+    {70,127}, {58,95}, {58,96}, {59,1}, {59,2}, {59,3}, {59,4}, {59,5}, 
+    {70,128}, {70,129}, {59,6}, {70,130}, {59,7}, {70,131}, {59,8}, {59,9}, 
+    {59,10}, {59,11}, {59,12}, {59,13}, {70,132}, {70,133}, {70,134}, {59,14}, 
+    {70,135}, {59,15}, {59,16}, {59,17}, {70,136}, {59,18}, {70,137}, {59,19}, 
+    {59,20}, {59,21}, {59,22}, {59,23}, {70,138}, {70,139}, {59,24}, {70,140}, 
+    {70,141}, {70,142}, {59,25}, {59,26}, {59,33}, {70,143}, {59,34}, {59,35}, 
+    {70,144}, {70,145}, {59,36}, {59,37}, {70,146}, {59,38}, {59,39}, {59,40}, 
+    {70,147}, {59,41}, {59,42}, {59,43}, {59,44}, {59,45}, {59,46}, {59,47}, 
+    {70,148}, {70,149}, {59,48}, {70,150}, {70,151}, {70,152}, {59,49}, 
+    {59,50}, {59,51}, {59,52}, {59,53}, {59,54}, {70,153}, {70,154}, {59,55}, 
+    {59,56}, {59,57}, {59,58}, {59,65}, {59,66}, {59,67}, {59,68}, {59,69}, 
+    {59,70}, {59,71}, {59,72}, {59,73}, {59,74}, {59,75}, {59,76}, {59,77}, 
+    {59,78}, {59,79}, {59,80}, {59,81}, {59,82}, {59,83}, {59,84}, {59,85}, 
+    {59,86}, {59,87}, {59,88}, {59,89}, {59,90}, {59,91}, {59,92}, {59,93}, 
+    {59,94}, {59,95}, {59,96}, {60,1}, {60,2}, {60,3}, {60,4}, {60,5}, 
+    {60,6}, {60,7}, {60,8}, {60,9}, {60,10}, {60,11}, {60,12}, {60,13}, 
+    {60,14}, {60,15}, {60,16}, {60,17}, {60,18}, {70,155}, {70,156}, {60,19}, 
+    {60,20}, {70,157}, {60,21}, {60,22}, {60,23}, {70,158}, {60,24}, {60,25}, 
+    {60,26}, {60,33}, {60,34}, {60,35}, {60,36}, {70,159}, {70,160}, {60,37}, 
+    {70,161}, {70,162}, {70,163}, {60,38}, {60,39}, {60,40}, {60,41}, {60,42}, 
+    {60,43}, {70,164}, {70,165}, {60,44}, {60,45}, {70,166}, {60,46}, {60,47}, 
+    {60,48}, {70,167}, {60,49}, {60,50}, {60,51}, {60,52}, {60,53}, {60,54}, 
+    {60,55}, {70,168}, {70,169}, {60,56}, {70,170}, {60,57}, {70,171}, 
+    {60,58}, {60,65}, {60,66}, {60,67}, {60,68}, {60,69}, {70,172}, {60,70}, 
+    {60,71}, {60,72}, {70,173}, {60,73}, {60,74}, {60,75}, {70,174}, {60,76}, 
+    {60,77}, {60,78}, {60,79}, {60,80}, {60,81}, {60,82}, {70,175}, {70,176}, 
+    {60,83}, {60,84}, {70,177}, {70,178}, {60,85}, {60,86}, {60,87}, {60,88}, 
+    {60,89}, {60,90}, {70,179}, {60,91}, {60,92}, {60,93}, {60,94}, {60,95}, 
+    {60,96}, {61,1}, {70,180}, {61,2}, {61,3}, {61,4}, {61,5}, {61,6}, 
+    {61,7}, {61,8}, {61,9}, {70,181}, {61,10}, {70,182}, {61,11}, {61,12}, 
+    {61,13}, {61,14}, {61,15}, {61,16}, {61,17}, {61,18}, {70,183}, {70,184}, 
+    {61,19}, {61,20}, {70,185}, {61,21}, {61,22}, {61,23}, {70,186}, {61,24}, 
+    {61,25}, {61,26}, {61,33}, {61,34}, {61,35}, {61,36}, {70,187}, {70,188}, 
+    {61,37}, {70,189}, {61,38}, {70,190}, {61,39}, {61,40}, {61,41}, {61,42}, 
+    {61,43}, {61,44}, {71,97}, {61,45}, {61,46}, {61,47}, {61,48}, {61,49}, 
+    {61,50}, {61,51}, {61,52}, {61,53}, {61,54}, {61,55}, {61,56}, {61,57}, 
+    {61,58}, {61,65}, {61,66}, {61,67}, {61,68}, {61,69}, {61,70}, {71,98}, 
+    {61,71}, {61,72}, {61,73}, {61,74}, {61,75}, {61,76}, {61,77}, {61,78}, 
+    {61,79}, {61,80}, {61,81}, {61,82}, {61,83}, {61,84}, {61,85}, {61,86}, 
+    {61,87}, {61,88}, {61,89}, {61,90}, {61,91}, {61,92}, {61,93}, {61,94}, 
+    {61,95}, {61,96}, {62,1}, {62,2}, {62,3}, {62,4}, {62,5}, {62,6}, {62,7}, 
+    {62,8}, {71,99}, {62,9}, {62,10}, {62,11}, {71,100}, {62,12}, {62,13}, 
+    {62,14}, {62,15}, {62,16}, {62,17}, {62,18}, {62,19}, {62,20}, {62,21}, 
+    {62,22}, {62,23}, {62,24}, {62,25}, {62,26}, {62,33}, {62,34}, {62,35}, 
+    {62,36}, {62,37}, {62,38}, {62,39}, {62,40}, {71,101}, {62,41}, {62,42}, 
+    {62,43}, {71,102}, {62,44}, {62,45}, {62,46}, {71,103}, {62,47}, {62,48}, 
+    {62,49}, {62,50}, {62,51}, {62,52}, {62,53}, {62,54}, {71,104}, {62,55}, 
+    {71,105}, {62,56}, {62,57}, {62,58}, {62,65}, {62,66}, {62,67}, {62,68}, 
+    {62,69}, {71,106}, {71,107}, {62,70}, {62,71}, {71,108}, {62,72}, {62,73}, 
+    {71,109}, {71,110}, {62,74}, {71,111}, {62,75}, {62,76}, {62,77}, {62,78}, 
+    {62,79}, {71,112}, {71,113}, {62,80}, {71,114}, {62,81}, {71,115}, 
+    {62,82}, {62,83}, {62,84}, {62,85}, {62,86}, {62,87}, {71,116}, {62,88}, 
+    {62,89}, {62,90}, {62,91}, {62,92}, {62,93}, {62,94}, {62,95}, {62,96}, 
+    {63,1}, {63,2}, {63,3}, {63,4}, {63,5}, {63,6}, {63,7}, {63,8}, {63,9}, 
+    {63,10}, {63,11}, {71,117}, {63,12}, {63,13}, {63,14}, {63,15}, {63,16}, 
+    {63,17}, {63,18}, {63,19}, {63,20}, {63,21}, {63,22}, {63,23}, {63,24}, 
+    {63,25}, {63,26}, {63,33}, {63,34}, {63,35}, {63,36}, {63,37}, {63,38}, 
+    {63,39}, {63,40}, {63,41}, {63,42}, {63,43}, {63,44}, {63,45}, {63,46}, 
+    {63,47}, {63,48}, {63,49}, {63,50}, {63,51}, {71,118}, {63,52}, {63,53}, 
+    {63,54}, {71,119}, {63,55}, {63,56}, {63,57}, {71,120}, {63,58}, {63,65}, 
+    {63,66}, {63,67}, {63,68}, {63,69}, {63,70}, {71,121}, {63,71}, {63,72}, 
+    {71,122}, {63,73}, {63,74}, {63,75}, {63,76}, {63,77}, {63,78}, {63,79}, 
+    {63,80}, {71,123}, {63,81}, {63,82}, {63,83}, {71,124}, {63,84}, {63,85}, 
+    {63,86}, {71,125}, {63,87}, {63,88}, {63,89}, {63,90}, {63,91}, {63,92}, 
+    {63,93}, {71,126}, {63,94}, {63,95}, {71,127}, {63,96}, {71,128}, {64,1}, 
+    {64,2}, {64,3}, {64,4}, {64,5}, {64,6}, {71,129}, {64,7}, {64,8}, {64,9}, 
+    {71,130}, {64,10}, {64,11}, {64,12}, {71,131}, {64,13}, {64,14}, {64,15}, 
+    {64,16}, {64,17}, {64,18}, {64,19}, {71,132}, {71,133}, {64,20}, {71,134}, 
+    {64,21}, {64,22}, {64,23}, {64,24}, {64,25}, {64,26}, {64,33}, {64,34}, 
+    {64,35}, {64,36}, {64,37}, {64,38}, {64,39}, {64,40}, {64,41}, {64,42}, 
+    {64,43}, {64,44}, {64,45}, {64,46}, {64,47}, {64,48}, {64,49}, {64,50}, 
+    {64,51}, {64,52}, {64,53}, {64,54}, {64,55}, {64,56}, {64,57}, {64,58}, 
+    {64,65}, {64,66}, {64,67}, {64,68}, {71,135}, {71,136}, {64,69}, {64,70}, 
+    {71,137}, {64,71}, {64,72}, {64,73}, {71,138}, {64,74}, {64,75}, {64,76}, 
+    {64,77}, {64,78}, {64,79}, {64,80}, {71,139}, {71,140}, {64,81}, {71,141}, 
+    {64,82}, {71,142}, {64,83}, {64,84}, {64,85}, {64,86}, {64,87}, {64,88}, 
+    {71,143}, {71,144}, {64,89}, {64,90}, {71,145}, {64,91}, {64,92}, {64,93}, 
+    {71,146}, {64,94}, {64,95}, {64,96}, {65,1}, {71,147}, {65,2}, {65,3}, 
+    {71,148}, {71,149}, {65,4}, {71,150}, {65,5}, {71,151}, {65,6}, {65,7}, 
+    {65,8}, {65,9}, {65,10}, {65,11}, {71,152}, {71,153}, {65,12}, {65,13}, 
+    {71,154}, {65,14}, {65,15}, {65,16}, {71,155}, {65,17}, {65,18}, {65,19}, 
+    {65,20}, {65,21}, {65,22}, {65,23}, {71,156}, {71,157}, {65,24}, {71,158}, 
+    {71,159}, {71,160}, {65,25}, {65,26}, {65,33}, {65,34}, {65,35}, {65,36}, 
+    {71,161}, {65,37}, {65,38}, {65,39}, {65,40}, {65,41}, {65,42}, {65,43}, 
+    {65,44}, {65,45}, {65,46}, {65,47}, {65,48}, {65,49}, {65,50}, {65,51}, 
+    {65,52}, {65,53}, {65,54}, {65,55}, {65,56}, {71,162}, {65,57}, {65,58}, 
+    {65,65}, {65,66}, {65,67}, {65,68}, {65,69}, {65,70}, {65,71}, {65,72}, 
+    {65,73}, {65,74}, {65,75}, {65,76}, {65,77}, {65,78}, {65,79}, {65,80}, 
+    {65,81}, {65,82}, {65,83}, {65,84}, {65,85}, {65,86}, {65,87}, {65,88}, 
+    {65,89}, {65,90}, {65,91}, {65,92}, {65,93}, {65,94}, {65,95}, {65,96}, 
+    {71,163}, {71,164}, {66,1}, {66,2}, {71,165}, {66,3}, {66,4}, {66,5}, 
+    {71,166}, {66,6}, {71,167}, {66,7}, {66,8}, {66,9}, {66,10}, {66,11}, 
+    {71,168}, {71,169}, {66,12}, {71,170}, {66,13}, {71,171}, {66,14}, 
+    {66,15}, {66,16}, {66,17}, {66,18}, {66,19}, {71,172}, {71,173}, {66,20}, 
+    {66,21}, {71,174}, {66,22}, {66,23}, {66,24}, {71,175}, {66,25}, {66,26}, 
+    {66,33}, {66,34}, {66,35}, {66,36}, {66,37}, {71,176}, {71,177}, {66,38}, 
+    {71,178}, {66,39}, {71,179}, {66,40}, {66,41}, {66,42}, {66,43}, {66,44}, 
+    {66,45}, {71,180}, {71,181}, {66,46}, {66,47}, {71,182}, {66,48}, {66,49}, 
+    {66,50}, {71,183}, {66,51}, {66,52}, {66,53}, {66,54}, {66,55}, {66,56}, 
+    {66,57}, {71,184}, {71,185}, {66,58}, {71,186}, {71,187}, {71,188}, 
+    {66,65}, {66,66}, {66,67}, {66,68}, {66,69}, {66,70}, {71,189}, {66,71}, 
+    {66,72}, {66,73}, {71,190}, {66,74}, {66,75}, {66,76}, {72,97}, {66,77}, 
+    {66,78}, {66,79}, {66,80}, {66,81}, {66,82}, {66,83}, {66,84}, {72,98}, 
+    {66,85}, {66,86}, {66,87}, {66,88}, {66,89}, {66,90}, {66,91}, {66,92}, 
+    {66,93}, {66,94}, {72,99}, {72,100}, {66,95}, {66,96}, {72,101}, {67,1}, 
+    {67,2}, {67,3}, {72,102}, {67,4}, {67,5}, {67,6}, {67,7}, {72,103}, 
+    {67,8}, {67,9}, {72,104}, {72,105}, {67,10}, {72,106}, {67,11}, {72,107}, 
+    {67,12}, {67,13}, {67,14}, {72,108}, {67,15}, {67,16}, {72,109}, {72,110}, 
+    {67,17}, {67,18}, {72,111}, {67,19}, {67,20}, {67,21}, {72,112}, {67,22}, 
+    {67,23}, {67,24}, {67,25}, {67,26}, {67,33}, {67,34}, {67,35}, {67,36}, 
+    {67,37}, {72,113}, {67,38}, {72,114}, {67,39}, {67,40}, {67,41}, {67,42}, 
+    {67,43}, {67,44}, {72,115}, {72,116}, {67,45}, {67,46}, {72,117}, {67,47}, 
+    {67,48}, {67,49}, {67,50}, {67,51}, {67,52}, {67,53}, {67,54}, {67,55}, 
+    {67,56}, {67,57}, {67,58}, {67,65}, {67,66}, {72,118}, {67,67}, {72,119}, 
+    {67,68}, {67,69}, {67,70}, {67,71}, {67,72}, {67,73}, {72,120}, {72,121}, 
+    {67,74}, {67,75}, {72,122}, {67,76}, {67,77}, {67,78}, {72,123}, {67,79}, 
+    {67,80}, {67,81}, {67,82}, {67,83}, {67,84}, {67,85}, {67,86}, {72,124}, 
+    {67,87}, {72,125}, {67,88}, {72,126}, {67,89}, {67,90}, {67,91}, {67,92}, 
+    {67,93}, {67,94}, {72,127}, {67,95}, {67,96}, {68,1}, {72,128}, {68,2}, 
+    {68,3}, {68,4}, {72,129}, {68,5}, {68,6}, {68,7}, {68,8}, {68,9}, {68,10}, 
+    {68,11}, {68,12}, {72,130}, {68,13}, {72,131}, {68,14}, {68,15}, {68,16}, 
+    {68,17}, {68,18}, {68,19}, {68,20}, {68,21}, {72,132}, {72,133}, {68,22}, 
+    {68,23}, {72,134}, {68,24}, {68,25}, {68,26}, {72,135}, {68,33}, {68,34}, 
+    {68,35}, {68,36}, {72,136}, {68,37}, {68,38}, {72,137}, {68,39}, {68,40}, 
+    {72,138}, {68,41}, {72,139}, {68,42}, {68,43}, {68,44}, {68,45}, {68,46}, 
+    {68,47}, {72,140}, {68,48}, {68,49}, {68,50}, {72,141}, {68,51}, {68,52}, 
+    {68,53}, {72,142}, {68,54}, {68,55}, {68,56}, {68,57}, {68,58}, {68,65}, 
+    {68,66}, {72,143}, {68,67}, {68,68}, {68,69}, {68,70}, {72,144}, {68,71}, 
+    {68,72}, {68,73}, {68,74}, {68,75}, {68,76}, {72,145}, {72,146}, {68,77}, 
+    {68,78}, {72,147}, {68,79}, {68,80}, {68,81}, {72,148}, {68,82}, {68,83}, 
+    {68,84}, {68,85}, {68,86}, {68,87}, {68,88}, {68,89}, {68,90}, {68,91}, 
+    {68,92}, {68,93}, {72,149}, {68,94}, {68,95}, {68,96}, {69,1}, {69,2}, 
+    {69,3}, {72,150}, {72,151}, {69,4}, {69,5}, {72,152}, {69,6}, {69,7}, 
+    {69,8}, {72,153}, {69,9}, {69,10}, {69,11}, {69,12}, {69,13}, {69,14}, 
+    {69,15}, {72,154}, {72,155}, {69,16}, {72,156}, {69,17}, {72,157}, 
+    {69,18}, {69,19}, {69,20}, {69,21}, {69,22}, {69,23}, {72,158}, {72,159}, 
+    {69,24}, {69,25}, {72,160}, {69,26}, {69,33}, {69,34}, {72,161}, {69,35}, 
+    {69,36}, {69,37}, {69,38}, {69,39}, {69,40}, {69,41}, {72,162}, {69,42}, 
+    {69,43}, {72,163}, {69,44}, {72,164}, {69,45}, {69,46}, {69,47}, {69,48}, 
+    {69,49}, {69,50}, {72,165}, {72,166}, {69,51}, {69,52}, {72,167}, {69,53}, 
+    {72,168}, {72,169}, {72,170}, {72,171}, {69,54}, {69,55}, {69,56}, 
+    {69,57}, {69,58}, {69,65}, {72,172}, {72,173}, {69,66}, {72,174}, {69,67}, 
+    {72,175}, {69,68}, {69,69}, {69,70}, {72,176}, {69,71}, {69,72}, {72,177}, 
+    {69,73}, {69,74}, {69,75}, {72,178}, {69,76}, {69,77}, {69,78}, {72,179}, 
+    {69,79}, {69,80}, {69,81}, {69,82}, {69,83}, {69,84}, {69,85}, {72,180}, 
+    {72,181}, {69,86}, {69,87}, {69,88}, {72,182}, {69,89}, {69,90}, {69,91}, 
+    {69,92}, {69,93}, {69,94}, {72,183}, {72,184}, {69,95}, {69,96}, {72,185}, 
+    {70,1}, {70,2}, {70,3}, {72,186}, {70,4}, {70,5}, {70,6}, {70,7}, {70,8}, 
+    {70,9}, {70,10}, {72,187}, {72,188}, {70,11}, {72,189}, {70,12}, {72,190}, 
+    {70,13}, {70,14}, {70,15}, {70,16}, {70,17}, {70,18}, {75,144}, {75,150}, 
+    {75,167}, {77,143}, {77,168}, {78,109}, {79,187}, {80,98}, {80,120}, 
+    {80,144}, {80,157}, {81,148}, {81,149}, {81,152}, {81,155}, {81,156}, 
+    {81,157}, {81,158}, {81,159}, {81,160}, {81,162}, {81,163}, {81,164}, 
+    {81,165}, {81,166}, {81,168}, {81,169}, {81,170}, {81,171}, {81,173}, 
+    {81,175}, {81,176}, {81,178}, {81,182}, {81,186}, {81,188}, {81,189}, 
+    {81,190}, {82,98}, {82,99}, {82,103}, {82,104}, {82,105}, {82,106}, 
+    {82,107}, {82,109}, {82,114}, {82,126}, {82,130}, {82,131}, {82,132}, 
+    {82,134}, {82,135}, {82,136}, {82,137}, {82,138}, {82,139}, {82,141}, 
+    {82,142}, {82,143}, {82,144}, {82,145}, {82,146}, {82,147}, {82,148}, 
+    {82,149}, {82,150}, {82,151}, {82,153}, {82,154}, {82,158}, {82,159}, 
+    {82,161}, {82,162}, {82,164}, {82,165}, {82,166}, {82,167}, {82,168}, 
+    {82,169}, {82,170}, {82,171}, {82,176}, {82,177}, {82,178}, {82,179}, 
+    {82,180}, {82,181}, {82,183}, {82,184}, {84,166}, {84,188}, {85,101}, 
+    {85,107}, {85,110}, {86,120}, {86,141}, {87,139}, {87,164}, {91,133}, 
+    {91,164}, {92,101}, {93,101}, {93,149}, {93,180}, {94,188}, {94,190}, 
+    {95,115}, {95,161}, {95,168}, {96,177}, {97,109}, {97,173}, {99,181}, 
+    {100,97}, {100,105}, {101,110}, {101,113}, {101,114}, {101,121}, {101,123}, 
+    {101,124}, {101,132}, {101,142}, {101,144}, {101,146}, {101,150}, {101,186}, 
+    {101,187}, {101,188}, {101,190}, {102,97}, {102,100}, {102,103}, {102,109}, 
+    {102,111}, {102,112}, {102,113}, {102,115}, {102,119}, {102,120}, {102,124}, 
+    {102,132}, {102,134}, {102,135}, {102,138}, {102,146}, {102,150}, {102,153}, 
+    {102,156}, {102,159}, {102,161}, {102,164}, {102,165}, {102,166}, {102,168}, 
+    {102,170}, {102,171}, {102,172}, {102,175}, {102,177}, {102,178}, {102,181}, 
+    {102,182}, {102,183}, {102,185}, {103,97}, {103,102}, {103,105}, {103,106}, 
+    {103,108}, {103,109}, {103,112}, {103,127}, {103,129}, {103,134}, {103,135}, 
+    {103,139}, {103,141}, {103,143}, {103,144}, {103,147}, {103,159}, {103,164}, 
+    {103,166}, {103,183}, {104,167}, {104,168}, {104,176}, {104,177}, {104,183}, 
+    {104,185}, {104,187}, {104,190}, {105,103}, {105,108}, {105,140}, {105,183}, 
+    {106,129}, {106,165}, {106,180}, {106,183}, {106,188}, {106,190}, {107,100}, 
+    {107,103}, {107,105}, {107,106}, {107,122}, {107,123}, {107,125}, {107,129}, 
+    {107,130}, {107,134}, {107,135}, {107,140}, {107,143}, {107,144}, {107,145}, 
+    {107,146}, {107,152}, {108,102}, {108,103}, {108,106}, {108,111}, {108,112}, 
+    {108,113}, {108,114}, {108,117}, {108,120}, {108,122}, {108,128}, {108,129}, 
+    {108,133}, {108,134}, {108,137}, {108,138}, {108,149}, {108,157}, {108,158}, 
+    {108,161}, {108,164}, {108,167}, {108,168}, {108,183}, {108,184}, {108,186}, 
+    {109,97}, {109,98}, {109,99}, {109,174}, {110,155}, {114,125}, {114,186}, 
+    {115,113}, {116,103}, {116,174}, {118,180}, {118,182}, {119,120}, {119,136}, 
+    {119,147}, {120,155}, {120,176}, {122,97}, {122,98}, {122,166}, {124,105}, 
+    {35,97}, {35,98}, {35,99}, {35,100}, {35,101}, {35,102}, {35,103}, 
+    {35,104}, {35,105}, {35,106}, {35,107}, {35,108}, {35,109}, {35,110}, 
+    {35,111}, {35,112}, {35,113}, {35,114}, {35,115}, {35,116}, {35,117}, 
+    {35,118}, {35,119}, {35,120}, {35,121}, {35,122}, {35,123}, {35,124}, 
+    {35,125}, {35,126}, {35,127}, {35,128}, {35,129}, {35,130}, {35,131}, 
+    {35,132}, {35,133}, {35,134}, {35,135}, {35,136}, {35,137}, {35,138}, 
+    {35,139}, {35,140}, {35,141}, {35,142}, {35,143}, {35,144}, {35,145}, 
+    {35,146}, {35,147}, {35,148}, {35,149}, {35,150}, {35,151}, {35,152}, 
+    {35,153}, {35,154}, {35,155}, {33,108}, {35,157}, {35,158}, {35,159}, 
+    {35,160}, {35,161}, {35,162}, {35,163}, {35,164}, {35,165}, {35,166}, 
+    {35,167}, {35,168}, {35,169}, {35,170}, {35,171}, {35,172}, {35,173}, 
+    {35,174}, {35,175}, {35,176}, {35,177}, {35,178}, {35,179}, {35,180}, 
+    {35,181}, {35,182}, {35,183}, {35,184}, {35,185}, {35,186}, {35,187}, 
+    {35,188}, {35,189}, {34,102}, {33,139}, {33,140}, {33,190}, {35,190}, 
+    {33,141}, {35,156}
+};
+
+/* This returns ERROR if the code point doesn't exist. */
+long int cp949_to_unicode(int r, int c)
+{
+    assert(r >= 0 && r < 128);
+    assert(c >= 0 && c < 192);
+    return cp949_forward[r][c];
+}
+
+/* This one returns 1 on success, 0 if the code point doesn't exist. */
+int unicode_to_cp949(long int unicode, int *r, int *c)
+{
+    int rr, cc;
+    long int uu;
+    int i, j, k;
+
+    i = -1;
+    j = lenof(cp949_backward);
+    while (j - i > 1) {
+       k = (i + j) / 2;
+       rr = cp949_backward[k].r;
+       cc = cp949_backward[k].c;
+       uu = cp949_forward[rr][cc];
+       if (unicode > uu)
+           i = k;
+       else if (unicode < uu)
+           j = k;
+       else {
+           *r = rr;
+           *c = cc;
+           return 1;
+       }
+    }
+    return 0;
+}
+
+/* Functions dealing with the KS X 1001 square subset */
+long int ksx1001_to_unicode(int r, int c)
+{
+    assert(r >= 0 && r < 94);
+    assert(c >= 0 && c < 94);
+    return cp949_forward[r+0x21][c+0x61];
+}
+
+/* This one returns 1 on success, 0 if the code point doesn't exist. */
+int unicode_to_ksx1001(long int unicode, int *r, int *c)
+{
+    int rr, cc;
+    if (!unicode_to_cp949(unicode, &rr, &cc))
+       return 0;
+    rr -= 0x21;
+    cc -= 0x61;
+    if (rr < 0 || rr >= 94 || cc < 0 || cc >= 94)
+       return 0;
+    *r = rr;
+    *c = cc;
+    return 1;
+}
+
+#ifdef TESTMODE
+
+#include <stdio.h>
+
+int main(void)
+{
+    int r, c, rr, cc, ret;
+    long int u, uu;
+
+    for (r = 0; r < 128; r++) {
+       for (c = 0; c < 192; c++) {
+           u = cp949_to_unicode(r, c);
+           if (u != ERROR) {
+               ret = unicode_to_cp949(u, &rr, &cc);
+               if (!ret)
+                   printf("(%d,%d) -> U-%08lx but didn't convert back\n",
+                          r, c, u);
+               else if (rr != r || cc != c)
+                   printf("(%d,%d) -> U-%08lx -> (%d,%d)\n",
+                          r, c, u, rr, cc);
+           }
+       }
+    }
+
+    for (u = 0; u < 0x10000L; u++) {
+       ret = unicode_to_cp949(u, &r, &c);
+       if (ret) {
+           uu = cp949_to_unicode(r, c);
+           if (uu == ERROR)
+               printf("U-%08lx -> (%d,%d) but didn't convert back\n",
+                      u, r, c);
+           else if (uu != u)
+               printf("U-%08lx -> (%d,%d) -> U-%08lx\n", u, r, c, uu);
+       }
+    }
+
+    return 0;
+}
+
+#endif
diff --git a/localenc.c b/localenc.c
new file mode 100644 (file)
index 0000000..967da7e
--- /dev/null
@@ -0,0 +1,140 @@
+/*
+ * local.c - translate our internal character set codes to and from
+ * our own set of plausibly legible character-set names. Also
+ * provides a canonical name for each encoding (useful for software
+ * announcing what character set it will be using), and a set of
+ * enumeration functions which return a list of supported
+ * encodings one by one.
+ * 
+ * charset_from_localenc will attempt all other text translations
+ * as well as this table, to maximise the number of different ways
+ * you can select a supported charset.
+ */
+
+#include <ctype.h>
+#include "charset.h"
+#include "internal.h"
+
+static const struct {
+    const char *name;
+    int charset;
+    int return_in_enum;   /* enumeration misses some charsets */
+} localencs[] = {
+    { "<UNKNOWN>", CS_NONE, 0 },
+    { "ASCII", CS_ASCII, 1 },
+    { "ISO-8859-1", CS_ISO8859_1, 1 },
+    { "ISO-8859-1 with X11 line drawing", CS_ISO8859_1_X11, 0 },
+    { "ISO-8859-2", CS_ISO8859_2, 1 },
+    { "ISO-8859-3", CS_ISO8859_3, 1 },
+    { "ISO-8859-4", CS_ISO8859_4, 1 },
+    { "ISO-8859-5", CS_ISO8859_5, 1 },
+    { "ISO-8859-6", CS_ISO8859_6, 1 },
+    { "ISO-8859-7", CS_ISO8859_7, 1 },
+    { "ISO-8859-8", CS_ISO8859_8, 1 },
+    { "ISO-8859-9", CS_ISO8859_9, 1 },
+    { "ISO-8859-10", CS_ISO8859_10, 1 },
+    { "ISO-8859-11", CS_ISO8859_11, 1 },
+    { "ISO-8859-13", CS_ISO8859_13, 1 },
+    { "ISO-8859-14", CS_ISO8859_14, 1 },
+    { "ISO-8859-15", CS_ISO8859_15, 1 },
+    { "ISO-8859-16", CS_ISO8859_16, 1 },
+    { "CP437", CS_CP437, 1 },
+    { "CP850", CS_CP850, 1 },
+    { "CP1250", CS_CP1250, 1 },
+    { "CP1251", CS_CP1251, 1 },
+    { "CP1252", CS_CP1252, 1 },
+    { "CP1253", CS_CP1253, 1 },
+    { "CP1254", CS_CP1254, 1 },
+    { "CP1255", CS_CP1255, 1 },
+    { "CP1256", CS_CP1256, 1 },
+    { "CP1257", CS_CP1257, 1 },
+    { "CP1258", CS_CP1258, 1 },
+    { "KOI8-R", CS_KOI8_R, 1 },
+    { "KOI8-U", CS_KOI8_U, 1 },
+    { "KOI8-RU", CS_KOI8_RU, 1 },
+    { "Mac Roman", CS_MAC_ROMAN, 1 },
+    { "Mac Turkish", CS_MAC_TURKISH, 1 },
+    { "Mac Croatian", CS_MAC_CROATIAN, 1 },
+    { "Mac Iceland", CS_MAC_ICELAND, 1 },
+    { "Mac Romanian", CS_MAC_ROMANIAN, 1 },
+    { "Mac Greek", CS_MAC_GREEK, 1 },
+    { "Mac Cyrillic", CS_MAC_CYRILLIC, 1 },
+    { "Mac Thai", CS_MAC_THAI, 1 },
+    { "Mac Centeuro", CS_MAC_CENTEURO, 1 },
+    { "Mac Symbol", CS_MAC_SYMBOL, 1 },
+    { "Mac Dingbats", CS_MAC_DINGBATS, 1 },
+    { "Mac Roman (old)", CS_MAC_ROMAN_OLD, 0 },
+    { "Mac Croatian (old)", CS_MAC_CROATIAN_OLD, 0 },
+    { "Mac Iceland (old)", CS_MAC_ICELAND_OLD, 0 },
+    { "Mac Romanian (old)", CS_MAC_ROMANIAN_OLD, 0 },
+    { "Mac Greek (old)", CS_MAC_GREEK_OLD, 0 },
+    { "Mac Cyrillic (old)", CS_MAC_CYRILLIC_OLD, 0 },
+    { "Mac Ukraine", CS_MAC_UKRAINE, 1 },
+    { "Mac VT100", CS_MAC_VT100, 1 },
+    { "Mac VT100 (old)", CS_MAC_VT100_OLD, 0 },
+    { "VISCII", CS_VISCII, 1 },
+    { "HP ROMAN8", CS_HP_ROMAN8, 1 },
+    { "DEC MCS", CS_DEC_MCS, 1 },
+    { "UTF-8", CS_UTF8, 1 },
+    { "UTF-7", CS_UTF7, 1 },
+    { "UTF-7-conservative", CS_UTF7_CONSERVATIVE, 0 },
+    { "EUC-CN", CS_EUC_CN, 1 },
+    { "EUC-KR", CS_EUC_KR, 1 },
+    { "EUC-JP", CS_EUC_JP, 1 },
+    { "ISO-2022-JP", CS_ISO2022_JP, 1 },
+    { "ISO-2022-KR", CS_ISO2022_KR, 1 },
+    { "Big5", CS_BIG5, 1 },
+    { "Shift-JIS", CS_SHIFT_JIS, 1 },
+    { "HZ", CS_HZ, 1 },
+    { "UTF-16BE", CS_UTF16BE, 1 },
+    { "UTF-16LE", CS_UTF16LE, 1 },
+    { "UTF-16", CS_UTF16, 1 },
+    { "CP949", CS_CP949, 1 },
+};
+
+const char *charset_to_localenc(int charset)
+{
+    int i;
+
+    for (i = 0; i < (int)lenof(localencs); i++)
+       if (charset == localencs[i].charset)
+           return localencs[i].name;
+
+    return NULL;                      /* not found */
+}
+
+int charset_from_localenc(const char *name)
+{
+    int i;
+
+    if ( (i = charset_from_mimeenc(name)) != CS_NONE)
+       return i;
+    if ( (i = charset_from_xenc(name)) != CS_NONE)
+       return i;
+
+    for (i = 0; i < (int)lenof(localencs); i++) {
+       const char *p, *q;
+       p = name;
+       q = localencs[i].name;
+       while (*p || *q) {
+           if (tolower(*p) != tolower(*q))
+               break;
+           p++; q++;
+       }
+       if (!*p && !*q)
+           return localencs[i].charset;
+    }
+
+    return CS_NONE;                   /* not found */
+}
+
+int charset_localenc_nth(int n)
+{
+    int i;
+
+    for (i = 0; i < (int)lenof(localencs); i++)
+       if (localencs[i].return_in_enum && !n--)
+           return localencs[i].charset;
+
+    return CS_NONE;                   /* end of list */
+}
diff --git a/macenc.c b/macenc.c
new file mode 100644 (file)
index 0000000..0f1d44a
--- /dev/null
+++ b/macenc.c
@@ -0,0 +1,169 @@
+/* $Id: macenc.c,v 1.1 2003/12/03 20:48:32 simon Exp $ */
+/*
+ * Copyright (c) 2003 Ben Harris
+ * All rights reserved.
+ *
+ * Permission is hereby granted, free of charge, to any person
+ * obtaining a copy of this software and associated documentation
+ * files (the "Software"), to deal in the Software without
+ * restriction, including without limitation the rights to use,
+ * copy, modify, merge, publish, distribute, sublicense, and/or
+ * sell copies of the Software, and to permit persons to whom the
+ * Software is furnished to do so, subject to the following
+ * conditions:
+ * 
+ * The above copyright notice and this permission notice shall be
+ * included in all copies or substantial portions of the Software.
+ * 
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+ * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+ * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+ * NONINFRINGEMENT.  IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR
+ * ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF
+ * CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
+ * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+ * SOFTWARE.
+ */
+/*
+ * macenc.c -- Convert a Mac OS script/region/font combination to our
+ * internal charset code.
+ */
+
+#include <string.h>
+
+#include "charset.h"
+#include "internal.h"
+
+/*
+ * These are defined by Mac OS's <Script.h>, but we'd like to be
+ * independent of that.
+ */
+
+#define smRoman                        0
+#define smJapanese             1
+#define smTradChinese          2
+#define smKorean               3
+#define smArabic               4
+#define smHebrew               5
+#define smCyrillic             7
+#define smDevenagari           9
+#define smGurmukhi             10
+#define smGujurati             11
+#define smThai                 21
+#define smSimpChinese          25
+#define smTibetan              26
+#define smEthiopic             28
+#define smCentralEuroRoman     29
+
+#define verGreece              20
+#define verIceland             21
+#define verTurkey              24
+#define verYugoCroatian                25
+#define verRomania             39
+#define verFaroeIsl            47
+#define verIran                        48
+#define verRussia              49
+#define verSlovenian           66
+#define verCroatia             68
+#define verBulgaria            72
+#define verScottishGaelic      75
+#define verManxGaelic          76
+#define verBreton              77
+#define verNunavut             78
+#define verWelsh               79
+#define verIrishGaelicScript   81
+
+static const struct {
+    int script;
+    int region;
+    int sysvermin;
+    char const *fontname;
+    int charset;
+} macencs[] = {
+    { smRoman, -1,                   0x850, "VT100", CS_MAC_VT100 },
+    { smRoman, -1,                   0,     "VT100", CS_MAC_VT100_OLD },
+    /*
+     * From here on, this table is largely derived from
+     * <http://www.unicode.org/Public/MAPPINGS/VENDORS/APPLE/README.TXT>,
+     * with _OLD version added based on the comments in individual
+     * mapping files.
+     */
+    { smRoman, -1,                   0,     "Symbol", CS_MAC_SYMBOL },
+    { smRoman, -1,                   0,     "Zapf Dingbats", CS_MAC_DINGBATS },
+    { smRoman, verTurkey,            0,     NULL,    CS_MAC_TURKISH },
+    { smRoman, verYugoCroatian,      0x850, NULL,    CS_MAC_CROATIAN },
+    { smRoman, verYugoCroatian,      0,     NULL,    CS_MAC_CROATIAN_OLD },
+    { smRoman, verSlovenian,         0x850, NULL,    CS_MAC_CROATIAN },
+    { smRoman, verSlovenian,         0,     NULL,    CS_MAC_CROATIAN_OLD },
+    { smRoman, verCroatia,           0x850, NULL,    CS_MAC_CROATIAN },
+    { smRoman, verCroatia,           0,     NULL,    CS_MAC_CROATIAN_OLD },
+    { smRoman, verIceland,           0x850, NULL,    CS_MAC_ICELAND },
+    { smRoman, verIceland,           0,     NULL,    CS_MAC_ICELAND_OLD },
+    { smRoman, verFaroeIsl,          0x850, NULL,    CS_MAC_ICELAND },
+    { smRoman, verFaroeIsl,          0,     NULL,    CS_MAC_ICELAND_OLD },
+    { smRoman, verRomania,           0x850, NULL,    CS_MAC_ROMANIAN },
+    { smRoman, verRomania,           0,     NULL,    CS_MAC_ROMANIAN_OLD },
+#if 0 /* No mapping table on ftp.unicode.org */
+    { smRoman, verIreland,           0x850, NULL,    CS_MAC_CELTIC },
+    { smRoman, verIreland,           0,     NULL,    CS_MAC_CELTIC_OLD },
+    { smRoman, verScottishGaelic,    0x850, NULL,    CS_MAC_CELTIC },
+    { smRoman, verScottishGaelic,    0,     NULL,    CS_MAC_CELTIC_OLD },
+    { smRoman, verManxGaelic,        0x850, NULL,    CS_MAC_CELTIC },
+    { smRoman, verManxGaelic,        0,     NULL,    CS_MAC_CELTIC_OLD },
+    { smRoman, verBreton,            0x850, NULL,    CS_MAC_CELTIC },
+    { smRoman, verBreton,            0,     NULL,    CS_MAC_CELTIC_OLD },
+    { smRoman, verWelsh,             0x850, NULL,    CS_MAC_CELTIC },
+    { smRoman, verWelsh,             0,     NULL,    CS_MAC_CELTIC_OLD },
+    { smRoman, verIrishGaelicScript, 0x850, NULL,    CS_MAC_GAELIC },
+    { smRoman, verIrishGaelicScript, 0,     NULL,    CS_MAC_GAELIC_OLD },
+#endif
+    { smRoman, verGreece,            0x922, NULL,    CS_MAC_GREEK },
+    { smRoman, verGreece,            0,     NULL,    CS_MAC_GREEK_OLD },
+    { smRoman, -1,                   0x850, NULL,    CS_MAC_ROMAN },
+    { smRoman, -1,                   0,     NULL,    CS_MAC_ROMAN_OLD },
+#if 0 /* Multi-byte encodings, not yet supported */
+    { smJapanese,    -1,             0,     NULL,    CS_MAC_JAPANESE },
+    { smTradChinese, -1,             0,     NULL,    CS_MAC_CHINTRAD },
+    { smKorean,      -1,             0,     NULL,    CS_MAC_KOREAN },
+#endif
+#if 0 /* Bidirectional encodings, not yet supported */
+    { smArabic, verIran,             0,     NULL,    CS_MAC_FARSI },
+    { smArabic, -1,                  0,     NULL,    CS_MAC_ARABIC },
+    { smHebrew, -1,                  0,     NULL,    CS_MAC_HEBREW },
+#endif
+    { smCyrillic, -1,                0x900, NULL,    CS_MAC_CYRILLIC },
+    { smCyrillic, verRussia,         0,     NULL,    CS_MAC_CYRILLIC_OLD },
+    { smCyrillic, verBulgaria,       0,     NULL,    CS_MAC_CYRILLIC_OLD },
+    { smCyrillic, -1,                0,     NULL,    CS_MAC_UKRAINE },
+#if 0 /* Complex Indic scripts, not yet supported */
+    { smDevanagari, -1,              0,     NULL,    CS_MAC_DEVENAGA },
+    { smGurmukhi, -1,                0,     NULL,    CS_MAC_GURMUKHI },
+    { smGujurati, -1,                0,     NULL,    CS_MAC_GUJURATI },
+#endif
+    { smThai,  -1,                   0,     NULL,    CS_MAC_THAI },
+#if 0 /* Multi-byte encoding, not yet supported */
+    { smSimpChinese, -1,             0,     NULL,    CS_MAC_CHINSIMP },
+#endif
+#if 0 /* No mapping table on ftp.unicode.org */
+    { smTibetan, -1,                 0,     NULL,    CS_MAC_TIBETAN },
+    { smEthiopic, -1,                0,     NULL,    CS_MAC_ETHIOPIC },
+    { smEthiopic, verNanavut,        0,     NULL,    CS_MAC_INUIT },
+#endif
+    { smCentralEuroRoman, -1,        0,     NULL,    CS_MAC_CENTEURO },
+};
+
+int charset_from_macenc(int script, int region, int sysvers,
+                       char const *fontname)
+{
+    int i;
+
+    for (i = 0; i < (int)lenof(macencs); i++)
+       if ((macencs[i].script == script) &&
+           (macencs[i].region < 0 || macencs[i].region == region) &&
+           (macencs[i].sysvermin <= sysvers) &&
+           (macencs[i].fontname == NULL ||
+            (fontname != NULL && strcmp(macencs[i].fontname, fontname) == 0)))
+           return macencs[i].charset;
+
+    return CS_NONE;
+}
diff --git a/mimeenc.c b/mimeenc.c
new file mode 100644 (file)
index 0000000..4f76e89
--- /dev/null
+++ b/mimeenc.c
@@ -0,0 +1,317 @@
+/*
+ * mimeenc.c - translate our internal character set codes to and
+ * from MIME standard character-set names.
+ * 
+ */
+
+#include <ctype.h>
+#include "charset.h"
+#include "internal.h"
+
+static const struct {
+    const char *name;
+    int charset;
+} mimeencs[] = {
+    /*
+     * Most of these names are taken from
+     * 
+     *   http://www.iana.org/assignments/character-sets
+     * 
+     * Where multiple encoding names map to the same encoding id
+     * (such as the variety of aliases for ISO-8859-1), the first
+     * is considered canonical and will be returned when
+     * translating the id to a string.
+     * 
+     * I also list here a few names which aren't in the above web
+     * page, but which I've seen in the wild in real mail. These
+     * are marked with a comment saying WILD.
+     */
+
+    { "ANSI_X3.4-1968", CS_ASCII },
+    { "iso-ir-6", CS_ASCII },
+    { "ANSI_X3.4-1986", CS_ASCII },
+    { "ISO_646.irv:1991", CS_ASCII },
+    { "ASCII", CS_ASCII },
+    { "ISO646-US", CS_ASCII },
+    { "US-ASCII", CS_ASCII },
+    { "us", CS_ASCII },
+    { "IBM367", CS_ASCII },
+    { "cp367", CS_ASCII },
+    { "csASCII", CS_ASCII },
+    { "646", CS_ASCII },              /* WILD */
+
+    { "ISO-8859-1", CS_ISO8859_1 },
+    { "ISO8859-1", CS_ISO8859_1 },     /* WILD */
+    { "iso-ir-100", CS_ISO8859_1 },
+    { "ISO_8859-1", CS_ISO8859_1 },
+    { "ISO_8859-1:1987", CS_ISO8859_1 },
+    { "latin1", CS_ISO8859_1 },
+    { "l1", CS_ISO8859_1 },
+    { "IBM819", CS_ISO8859_1 },
+    { "CP819", CS_ISO8859_1 },
+    { "csISOLatin1", CS_ISO8859_1 },
+
+    { "ISO-8859-2", CS_ISO8859_2 },
+    { "ISO8859-2", CS_ISO8859_2 },     /* WILD */
+    { "ISO_8859-2:1987", CS_ISO8859_2 },
+    { "iso-ir-101", CS_ISO8859_2 },
+    { "ISO_8859-2", CS_ISO8859_2 },
+    { "latin2", CS_ISO8859_2 },
+    { "l2", CS_ISO8859_2 },
+    { "csISOLatin2", CS_ISO8859_2 },
+
+    { "ISO-8859-3", CS_ISO8859_3 },
+    { "ISO8859-3", CS_ISO8859_3 },     /* WILD */
+    { "ISO_8859-3:1988", CS_ISO8859_3 },
+    { "iso-ir-109", CS_ISO8859_3 },
+    { "ISO_8859-3", CS_ISO8859_3 },
+    { "latin3", CS_ISO8859_3 },
+    { "l3", CS_ISO8859_3 },
+    { "csISOLatin3", CS_ISO8859_3 },
+
+    { "ISO-8859-4", CS_ISO8859_4 },
+    { "ISO8859-4", CS_ISO8859_4 },     /* WILD */
+    { "ISO_8859-4:1988", CS_ISO8859_4 },
+    { "iso-ir-110", CS_ISO8859_4 },
+    { "ISO_8859-4", CS_ISO8859_4 },
+    { "latin4", CS_ISO8859_4 },
+    { "l4", CS_ISO8859_4 },
+    { "csISOLatin4", CS_ISO8859_4 },
+
+    { "ISO-8859-5", CS_ISO8859_5 },
+    { "ISO8859-5", CS_ISO8859_5 },     /* WILD */
+    { "ISO_8859-5:1988", CS_ISO8859_5 },
+    { "iso-ir-144", CS_ISO8859_5 },
+    { "ISO_8859-5", CS_ISO8859_5 },
+    { "cyrillic", CS_ISO8859_5 },
+    { "csISOLatinCyrillic", CS_ISO8859_5 },
+
+    { "ISO-8859-6", CS_ISO8859_6 },
+    { "ISO8859-6", CS_ISO8859_6 },     /* WILD */
+    { "ISO_8859-6:1987", CS_ISO8859_6 },
+    { "iso-ir-127", CS_ISO8859_6 },
+    { "ISO_8859-6", CS_ISO8859_6 },
+    { "ECMA-114", CS_ISO8859_6 },
+    { "ASMO-708", CS_ISO8859_6 },
+    { "arabic", CS_ISO8859_6 },
+    { "csISOLatinArabic", CS_ISO8859_6 },
+
+    { "ISO-8859-7", CS_ISO8859_7 },
+    { "ISO8859-7", CS_ISO8859_7 },     /* WILD */
+    { "ISO_8859-7:1987", CS_ISO8859_7 },
+    { "iso-ir-126", CS_ISO8859_7 },
+    { "ISO_8859-7", CS_ISO8859_7 },
+    { "ELOT_928", CS_ISO8859_7 },
+    { "ECMA-118", CS_ISO8859_7 },
+    { "greek", CS_ISO8859_7 },
+    { "greek8", CS_ISO8859_7 },
+    { "csISOLatinGreek", CS_ISO8859_7 },
+
+    { "ISO-8859-8", CS_ISO8859_8 },
+    { "ISO8859-8", CS_ISO8859_8 },     /* WILD */
+    { "ISO_8859-8:1988", CS_ISO8859_8 },
+    { "iso-ir-138", CS_ISO8859_8 },
+    { "ISO_8859-8", CS_ISO8859_8 },
+    { "hebrew", CS_ISO8859_8 },
+    { "csISOLatinHebrew", CS_ISO8859_8 },
+
+    { "ISO-8859-9", CS_ISO8859_9 },
+    { "ISO8859-9", CS_ISO8859_9 },     /* WILD */
+    { "ISO_8859-9:1989", CS_ISO8859_9 },
+    { "iso-ir-148", CS_ISO8859_9 },
+    { "ISO_8859-9", CS_ISO8859_9 },
+    { "latin5", CS_ISO8859_9 },
+    { "l5", CS_ISO8859_9 },
+    { "csISOLatin5", CS_ISO8859_9 },
+
+    { "ISO-8859-10", CS_ISO8859_10 },
+    { "ISO8859-10", CS_ISO8859_10 },   /* WILD */
+    { "iso-ir-157", CS_ISO8859_10 },
+    { "l6", CS_ISO8859_10 },
+    { "ISO_8859-10:1992", CS_ISO8859_10 },
+    { "csISOLatin6", CS_ISO8859_10 },
+    { "latin6", CS_ISO8859_10 },
+
+    { "ISO-8859-13", CS_ISO8859_13 },
+    { "ISO8859-13", CS_ISO8859_13 },   /* WILD */
+
+    { "ISO-8859-14", CS_ISO8859_14 },
+    { "ISO8859-14", CS_ISO8859_14 },   /* WILD */
+    { "iso-ir-199", CS_ISO8859_14 },
+    { "ISO_8859-14:1998", CS_ISO8859_14 },
+    { "ISO_8859-14", CS_ISO8859_14 },
+    { "latin8", CS_ISO8859_14 },
+    { "iso-celtic", CS_ISO8859_14 },
+    { "l8", CS_ISO8859_14 },
+
+    { "ISO-8859-15", CS_ISO8859_15 },
+    { "ISO8859-15", CS_ISO8859_15 },   /* WILD */
+    { "ISO_8859-15", CS_ISO8859_15 },
+    { "Latin-9", CS_ISO8859_15 },
+
+    { "ISO-8859-16", CS_ISO8859_16 },
+    { "ISO8859-16", CS_ISO8859_16 },   /* WILD */
+    { "iso-ir-226", CS_ISO8859_16 },
+    { "ISO_8859-16", CS_ISO8859_16 },
+    { "ISO_8859-16:2001", CS_ISO8859_16 },
+    { "latin10", CS_ISO8859_16 },
+    { "l10", CS_ISO8859_16 },
+
+    { "IBM437", CS_CP437 },
+    { "cp437", CS_CP437 },
+    { "437", CS_CP437 },
+    { "csPC8CodePage437", CS_CP437 },
+
+    { "IBM850", CS_CP850 },
+    { "cp850", CS_CP850 },
+    { "850", CS_CP850 },
+    { "csPC850Multilingual", CS_CP850 },
+
+    { "windows-1250", CS_CP1250 },
+    { "win-1250", CS_CP1250 },        /* WILD */
+
+    { "windows-1251", CS_CP1251 },
+    { "win-1251", CS_CP1251 },        /* WILD */
+
+    { "windows-1252", CS_CP1252 },
+    { "win-1252", CS_CP1252 },        /* WILD */
+
+    { "windows-1253", CS_CP1253 },
+    { "win-1253", CS_CP1253 },        /* WILD */
+
+    { "windows-1254", CS_CP1254 },
+    { "win-1254", CS_CP1254 },        /* WILD */
+
+    { "windows-1255", CS_CP1255 },
+    { "win-1255", CS_CP1255 },        /* WILD */
+
+    { "windows-1256", CS_CP1256 },
+    { "win-1256", CS_CP1256 },        /* WILD */
+
+    { "windows-1257", CS_CP1257 },
+    { "win-1257", CS_CP1257 },        /* WILD */
+
+    { "windows-1258", CS_CP1258 },
+    { "win-1258", CS_CP1258 },        /* WILD */
+
+    { "KOI8-R", CS_KOI8_R },
+    { "csKOI8R", CS_KOI8_R },
+
+    { "KOI8-U", CS_KOI8_U },
+
+    { "KOI8-RU", CS_KOI8_RU },        /* WILD */
+
+    { "macintosh", CS_MAC_ROMAN_OLD },
+    { "mac", CS_MAC_ROMAN_OLD },
+    { "csMacintosh", CS_MAC_ROMAN_OLD },
+
+    { "VISCII", CS_VISCII },
+    { "csVISCII", CS_VISCII },
+
+    { "hp-roman8", CS_HP_ROMAN8 },
+    { "roman8", CS_HP_ROMAN8 },
+    { "r8", CS_HP_ROMAN8 },
+    { "csHPRoman8", CS_HP_ROMAN8 },
+
+    { "DEC-MCS", CS_DEC_MCS },
+    { "dec", CS_DEC_MCS },
+    { "csDECMCS", CS_DEC_MCS },
+
+    { "UTF-8", CS_UTF8 },
+
+    { "UTF-7", CS_UTF7 },
+    { "UNICODE-1-1-UTF-7", CS_UTF7 },
+    { "csUnicode11UTF7", CS_UTF7 },
+
+    /*
+     * Quite why the EUC-CN encoding is known to MIME by the name
+     * of its underlying character set, I'm not entirely sure, but
+     * it is. Shrug.
+     */
+    { "GB2312", CS_EUC_CN },
+    { "csGB2312", CS_EUC_CN },
+
+    { "EUC-KR", CS_EUC_KR },
+    { "csEUCKR", CS_EUC_KR },
+
+    { "EUC-JP", CS_EUC_JP },
+    { "csEUCPkdFmtJapanese", CS_EUC_JP },
+    { "Extended_UNIX_Code_Packed_Format_for_Japanese", CS_EUC_JP },
+
+    { "ISO-2022-JP", CS_ISO2022_JP },
+    { "csISO2022JP", CS_ISO2022_JP },
+
+    { "ISO-2022-KR", CS_ISO2022_KR },
+    { "csISO2022KR", CS_ISO2022_KR },
+
+    { "Big5", CS_BIG5 },
+    { "csBig5", CS_BIG5 },
+    /* The following two names are not listed on the above web page, but
+     * I've seen them in the wild in real e-mail. */
+    { "Big-5", CS_BIG5 },
+    { "ChineseBig5", CS_BIG5 },
+
+    { "Shift_JIS", CS_SHIFT_JIS },
+    { "MS_Kanji", CS_SHIFT_JIS },
+    { "csShiftJIS", CS_SHIFT_JIS },
+
+    { "HZ-GB-2312", CS_HZ },
+
+    { "UTF-16BE", CS_UTF16BE },
+
+    { "UTF-16LE", CS_UTF16LE },
+
+    { "UTF-16", CS_UTF16 },
+
+    /*
+     * This bit is fiddly and possibly technically incorrect; but
+     * rumour has it that the KSC 5601 encoding is a subset of
+     * Microsoft CP949, and that MS products tend to announce CP949
+     * as KSC 5601 in much the same way they seem willing to
+     * announce CP1252 as its subset ISO 8859-1. So I cheat
+     * shamelessly here by letting KSC 5601 map to CP949.
+     */
+    { "KS_C_5601-1987", CS_CP949 },
+    { "iso-ir-149", CS_CP949 },
+    { "KS_C_5601-1989", CS_CP949 },
+    { "KSC_5601", CS_CP949 },
+    { "korean", CS_CP949 },
+    { "csKSC56011987", CS_CP949 },
+    { "KSC5601", CS_CP949 },          /* WILD */
+
+#if 0
+    { "ISO-2022-JP-2", CS_ISO2022_JP_2 },
+    { "csISO2022JP2", CS_ISO2022_JP_2 },
+#endif
+};
+
+const char *charset_to_mimeenc(int charset)
+{
+    int i;
+
+    for (i = 0; i < (int)lenof(mimeencs); i++)
+       if (charset == mimeencs[i].charset)
+           return mimeencs[i].name;
+
+    return NULL;                      /* not found */
+}
+
+int charset_from_mimeenc(const char *name)
+{
+    int i;
+
+    for (i = 0; i < (int)lenof(mimeencs); i++) {
+       const char *p, *q;
+       p = name;
+       q = mimeencs[i].name;
+       while (*p || *q) {
+           if (tolower(*p) != tolower(*q))
+               break;
+           p++; q++;
+       }
+       if (!*p && !*q)
+           return mimeencs[i].charset;
+    }
+
+    return CS_NONE;                   /* not found */
+}
diff --git a/sbcs.c b/sbcs.c
new file mode 100644 (file)
index 0000000..e15708c
--- /dev/null
+++ b/sbcs.c
@@ -0,0 +1,56 @@
+/*
+ * sbcs.c - routines to handle single-byte character sets.
+ */
+
+#include "charset.h"
+#include "internal.h"
+
+/*
+ * The charset_spec for any single-byte character set should
+ * provide read_sbcs() as its read function, and its `data' field
+ * should be a wchar_t string constant containing the 256 entries
+ * of the translation table.
+ */
+
+void read_sbcs(charset_spec const *charset, long int input_chr,
+              charset_state *state,
+              void (*emit)(void *ctx, long int output), void *emitctx)
+{
+    const struct sbcs_data *sd = charset->data;
+
+    UNUSEDARG(state);
+
+    emit(emitctx, sd->sbcs2ucs[input_chr]);
+}
+
+int write_sbcs(charset_spec const *charset, long int input_chr,
+              charset_state *state,
+              void (*emit)(void *ctx, long int output), void *emitctx)
+{
+    const struct sbcs_data *sd = charset->data;
+    int i, j, k, c;
+
+    UNUSEDARG(state);
+
+    if (input_chr == -1)
+       return TRUE;                   /* stateless; no cleanup required */
+
+    /*
+     * Binary-search in the ucs2sbcs table.
+     */
+    i = -1;
+    j = sd->nvalid;
+    while (i+1 < j) {
+       k = (i+j)/2;
+       c = sd->ucs2sbcs[k];
+       if (input_chr < sd->sbcs2ucs[c])
+           j = k;
+       else if (input_chr > sd->sbcs2ucs[c])
+           i = k;
+       else {
+           emit(emitctx, c);
+           return TRUE;
+       }
+    }
+    return FALSE;
+}
diff --git a/sbcs.dat b/sbcs.dat
new file mode 100644 (file)
index 0000000..918c688
--- /dev/null
+++ b/sbcs.dat
@@ -0,0 +1,1144 @@
+  Data file defining single-byte character sets.
+  All lines which begin with whitespace are considered comments.
+
+  Firstly, good old US-ASCII. Positions 00-7F map to the first 128
+  code points of Unicode; anything above that is an error.
+
+charset CS_ASCII
+0000 0001 0002 0003 0004 0005 0006 0007 0008 0009 000a 000b 000c 000d 000e 000f
+0010 0011 0012 0013 0014 0015 0016 0017 0018 0019 001a 001b 001c 001d 001e 001f
+0020 0021 0022 0023 0024 0025 0026 0027 0028 0029 002a 002b 002c 002d 002e 002f
+0030 0031 0032 0033 0034 0035 0036 0037 0038 0039 003a 003b 003c 003d 003e 003f
+0040 0041 0042 0043 0044 0045 0046 0047 0048 0049 004a 004b 004c 004d 004e 004f
+0050 0051 0052 0053 0054 0055 0056 0057 0058 0059 005a 005b 005c 005d 005e 005f
+0060 0061 0062 0063 0064 0065 0066 0067 0068 0069 006a 006b 006c 006d 006e 006f
+0070 0071 0072 0073 0074 0075 0076 0077 0078 0079 007a 007b 007c 007d 007e 007f
+XXXX XXXX XXXX XXXX XXXX XXXX XXXX XXXX XXXX XXXX XXXX XXXX XXXX XXXX XXXX XXXX
+XXXX XXXX XXXX XXXX XXXX XXXX XXXX XXXX XXXX XXXX XXXX XXXX XXXX XXXX XXXX XXXX
+XXXX XXXX XXXX XXXX XXXX XXXX XXXX XXXX XXXX XXXX XXXX XXXX XXXX XXXX XXXX XXXX
+XXXX XXXX XXXX XXXX XXXX XXXX XXXX XXXX XXXX XXXX XXXX XXXX XXXX XXXX XXXX XXXX
+XXXX XXXX XXXX XXXX XXXX XXXX XXXX XXXX XXXX XXXX XXXX XXXX XXXX XXXX XXXX XXXX
+XXXX XXXX XXXX XXXX XXXX XXXX XXXX XXXX XXXX XXXX XXXX XXXX XXXX XXXX XXXX XXXX
+XXXX XXXX XXXX XXXX XXXX XXXX XXXX XXXX XXXX XXXX XXXX XXXX XXXX XXXX XXXX XXXX
+XXXX XXXX XXXX XXXX XXXX XXXX XXXX XXXX XXXX XXXX XXXX XXXX XXXX XXXX XXXX XXXX
+
+  To generate an SBCS table from a unicode.org mapping table:
+
+  gensbcs() {
+  wget -q -O - "$1" | tr '\r' '\n' | \
+  perl -ne '/^(0x.*)\s+(0x.*)\s+/ and $a[hex $1]=sprintf "%04x", hex $2;' \
+   -e 'BEGIN{for($i=0;$i<256;$i++){$a[$i]="XXXX";' \
+   -e '      if ($i < 32 or $i == 127) {$a[$i]=sprintf "%04x", $i}}}' \
+   -e 'END{for($i=0;$i<256;$i++){printf"%s%s",$a[$i],$i%16==15?"\n":" "}}'
+  }
+
+  (A couple of noteworthy ickinesses here. For a start, any
+  undefined characters in the control-code regions (00-1F and 7F)
+  are assumed to be the Unicode code point corresponding to their
+  index, since the Mac Roman mapping table declines to define them
+  but realistically you don't want to be messing with that sort of
+  thing. Secondly, the Mac mapping tables are shipped with Mac line
+  endings, so note the `tr' to turn them into something legible to
+  Perl...)
+
+  Here are the ISO-8859-x tables, generated by this piece of Bourne
+  shell:
+
+  for i in 1 2 3 4 5 6 7 8 9 10 11 13 14 15 16; do
+    echo charset CS_ISO8859_$i
+    gensbcs http://www.unicode.org/Public/MAPPINGS/ISO8859/8859-$i.TXT
+    echo
+  done
+
+charset CS_ISO8859_1
+0000 0001 0002 0003 0004 0005 0006 0007 0008 0009 000a 000b 000c 000d 000e 000f
+0010 0011 0012 0013 0014 0015 0016 0017 0018 0019 001a 001b 001c 001d 001e 001f
+0020 0021 0022 0023 0024 0025 0026 0027 0028 0029 002a 002b 002c 002d 002e 002f
+0030 0031 0032 0033 0034 0035 0036 0037 0038 0039 003a 003b 003c 003d 003e 003f
+0040 0041 0042 0043 0044 0045 0046 0047 0048 0049 004a 004b 004c 004d 004e 004f
+0050 0051 0052 0053 0054 0055 0056 0057 0058 0059 005a 005b 005c 005d 005e 005f
+0060 0061 0062 0063 0064 0065 0066 0067 0068 0069 006a 006b 006c 006d 006e 006f
+0070 0071 0072 0073 0074 0075 0076 0077 0078 0079 007a 007b 007c 007d 007e 007f
+0080 0081 0082 0083 0084 0085 0086 0087 0088 0089 008a 008b 008c 008d 008e 008f
+0090 0091 0092 0093 0094 0095 0096 0097 0098 0099 009a 009b 009c 009d 009e 009f
+00a0 00a1 00a2 00a3 00a4 00a5 00a6 00a7 00a8 00a9 00aa 00ab 00ac 00ad 00ae 00af
+00b0 00b1 00b2 00b3 00b4 00b5 00b6 00b7 00b8 00b9 00ba 00bb 00bc 00bd 00be 00bf
+00c0 00c1 00c2 00c3 00c4 00c5 00c6 00c7 00c8 00c9 00ca 00cb 00cc 00cd 00ce 00cf
+00d0 00d1 00d2 00d3 00d4 00d5 00d6 00d7 00d8 00d9 00da 00db 00dc 00dd 00de 00df
+00e0 00e1 00e2 00e3 00e4 00e5 00e6 00e7 00e8 00e9 00ea 00eb 00ec 00ed 00ee 00ef
+00f0 00f1 00f2 00f3 00f4 00f5 00f6 00f7 00f8 00f9 00fa 00fb 00fc 00fd 00fe 00ff
+
+charset CS_ISO8859_2
+0000 0001 0002 0003 0004 0005 0006 0007 0008 0009 000a 000b 000c 000d 000e 000f
+0010 0011 0012 0013 0014 0015 0016 0017 0018 0019 001a 001b 001c 001d 001e 001f
+0020 0021 0022 0023 0024 0025 0026 0027 0028 0029 002a 002b 002c 002d 002e 002f
+0030 0031 0032 0033 0034 0035 0036 0037 0038 0039 003a 003b 003c 003d 003e 003f
+0040 0041 0042 0043 0044 0045 0046 0047 0048 0049 004a 004b 004c 004d 004e 004f
+0050 0051 0052 0053 0054 0055 0056 0057 0058 0059 005a 005b 005c 005d 005e 005f
+0060 0061 0062 0063 0064 0065 0066 0067 0068 0069 006a 006b 006c 006d 006e 006f
+0070 0071 0072 0073 0074 0075 0076 0077 0078 0079 007a 007b 007c 007d 007e 007f
+0080 0081 0082 0083 0084 0085 0086 0087 0088 0089 008a 008b 008c 008d 008e 008f
+0090 0091 0092 0093 0094 0095 0096 0097 0098 0099 009a 009b 009c 009d 009e 009f
+00a0 0104 02d8 0141 00a4 013d 015a 00a7 00a8 0160 015e 0164 0179 00ad 017d 017b
+00b0 0105 02db 0142 00b4 013e 015b 02c7 00b8 0161 015f 0165 017a 02dd 017e 017c
+0154 00c1 00c2 0102 00c4 0139 0106 00c7 010c 00c9 0118 00cb 011a 00cd 00ce 010e
+0110 0143 0147 00d3 00d4 0150 00d6 00d7 0158 016e 00da 0170 00dc 00dd 0162 00df
+0155 00e1 00e2 0103 00e4 013a 0107 00e7 010d 00e9 0119 00eb 011b 00ed 00ee 010f
+0111 0144 0148 00f3 00f4 0151 00f6 00f7 0159 016f 00fa 0171 00fc 00fd 0163 02d9
+
+charset CS_ISO8859_3
+0000 0001 0002 0003 0004 0005 0006 0007 0008 0009 000a 000b 000c 000d 000e 000f
+0010 0011 0012 0013 0014 0015 0016 0017 0018 0019 001a 001b 001c 001d 001e 001f
+0020 0021 0022 0023 0024 0025 0026 0027 0028 0029 002a 002b 002c 002d 002e 002f
+0030 0031 0032 0033 0034 0035 0036 0037 0038 0039 003a 003b 003c 003d 003e 003f
+0040 0041 0042 0043 0044 0045 0046 0047 0048 0049 004a 004b 004c 004d 004e 004f
+0050 0051 0052 0053 0054 0055 0056 0057 0058 0059 005a 005b 005c 005d 005e 005f
+0060 0061 0062 0063 0064 0065 0066 0067 0068 0069 006a 006b 006c 006d 006e 006f
+0070 0071 0072 0073 0074 0075 0076 0077 0078 0079 007a 007b 007c 007d 007e 007f
+0080 0081 0082 0083 0084 0085 0086 0087 0088 0089 008a 008b 008c 008d 008e 008f
+0090 0091 0092 0093 0094 0095 0096 0097 0098 0099 009a 009b 009c 009d 009e 009f
+00a0 0126 02d8 00a3 00a4 XXXX 0124 00a7 00a8 0130 015e 011e 0134 00ad XXXX 017b
+00b0 0127 00b2 00b3 00b4 00b5 0125 00b7 00b8 0131 015f 011f 0135 00bd XXXX 017c
+00c0 00c1 00c2 XXXX 00c4 010a 0108 00c7 00c8 00c9 00ca 00cb 00cc 00cd 00ce 00cf
+XXXX 00d1 00d2 00d3 00d4 0120 00d6 00d7 011c 00d9 00da 00db 00dc 016c 015c 00df
+00e0 00e1 00e2 XXXX 00e4 010b 0109 00e7 00e8 00e9 00ea 00eb 00ec 00ed 00ee 00ef
+XXXX 00f1 00f2 00f3 00f4 0121 00f6 00f7 011d 00f9 00fa 00fb 00fc 016d 015d 02d9
+
+charset CS_ISO8859_4
+0000 0001 0002 0003 0004 0005 0006 0007 0008 0009 000a 000b 000c 000d 000e 000f
+0010 0011 0012 0013 0014 0015 0016 0017 0018 0019 001a 001b 001c 001d 001e 001f
+0020 0021 0022 0023 0024 0025 0026 0027 0028 0029 002a 002b 002c 002d 002e 002f
+0030 0031 0032 0033 0034 0035 0036 0037 0038 0039 003a 003b 003c 003d 003e 003f
+0040 0041 0042 0043 0044 0045 0046 0047 0048 0049 004a 004b 004c 004d 004e 004f
+0050 0051 0052 0053 0054 0055 0056 0057 0058 0059 005a 005b 005c 005d 005e 005f
+0060 0061 0062 0063 0064 0065 0066 0067 0068 0069 006a 006b 006c 006d 006e 006f
+0070 0071 0072 0073 0074 0075 0076 0077 0078 0079 007a 007b 007c 007d 007e 007f
+0080 0081 0082 0083 0084 0085 0086 0087 0088 0089 008a 008b 008c 008d 008e 008f
+0090 0091 0092 0093 0094 0095 0096 0097 0098 0099 009a 009b 009c 009d 009e 009f
+00a0 0104 0138 0156 00a4 0128 013b 00a7 00a8 0160 0112 0122 0166 00ad 017d 00af
+00b0 0105 02db 0157 00b4 0129 013c 02c7 00b8 0161 0113 0123 0167 014a 017e 014b
+0100 00c1 00c2 00c3 00c4 00c5 00c6 012e 010c 00c9 0118 00cb 0116 00cd 00ce 012a
+0110 0145 014c 0136 00d4 00d5 00d6 00d7 00d8 0172 00da 00db 00dc 0168 016a 00df
+0101 00e1 00e2 00e3 00e4 00e5 00e6 012f 010d 00e9 0119 00eb 0117 00ed 00ee 012b
+0111 0146 014d 0137 00f4 00f5 00f6 00f7 00f8 0173 00fa 00fb 00fc 0169 016b 02d9
+
+charset CS_ISO8859_5
+0000 0001 0002 0003 0004 0005 0006 0007 0008 0009 000a 000b 000c 000d 000e 000f
+0010 0011 0012 0013 0014 0015 0016 0017 0018 0019 001a 001b 001c 001d 001e 001f
+0020 0021 0022 0023 0024 0025 0026 0027 0028 0029 002a 002b 002c 002d 002e 002f
+0030 0031 0032 0033 0034 0035 0036 0037 0038 0039 003a 003b 003c 003d 003e 003f
+0040 0041 0042 0043 0044 0045 0046 0047 0048 0049 004a 004b 004c 004d 004e 004f
+0050 0051 0052 0053 0054 0055 0056 0057 0058 0059 005a 005b 005c 005d 005e 005f
+0060 0061 0062 0063 0064 0065 0066 0067 0068 0069 006a 006b 006c 006d 006e 006f
+0070 0071 0072 0073 0074 0075 0076 0077 0078 0079 007a 007b 007c 007d 007e 007f
+0080 0081 0082 0083 0084 0085 0086 0087 0088 0089 008a 008b 008c 008d 008e 008f
+0090 0091 0092 0093 0094 0095 0096 0097 0098 0099 009a 009b 009c 009d 009e 009f
+00a0 0401 0402 0403 0404 0405 0406 0407 0408 0409 040a 040b 040c 00ad 040e 040f
+0410 0411 0412 0413 0414 0415 0416 0417 0418 0419 041a 041b 041c 041d 041e 041f
+0420 0421 0422 0423 0424 0425 0426 0427 0428 0429 042a 042b 042c 042d 042e 042f
+0430 0431 0432 0433 0434 0435 0436 0437 0438 0439 043a 043b 043c 043d 043e 043f
+0440 0441 0442 0443 0444 0445 0446 0447 0448 0449 044a 044b 044c 044d 044e 044f
+2116 0451 0452 0453 0454 0455 0456 0457 0458 0459 045a 045b 045c 00a7 045e 045f
+
+charset CS_ISO8859_6
+0000 0001 0002 0003 0004 0005 0006 0007 0008 0009 000a 000b 000c 000d 000e 000f
+0010 0011 0012 0013 0014 0015 0016 0017 0018 0019 001a 001b 001c 001d 001e 001f
+0020 0021 0022 0023 0024 0025 0026 0027 0028 0029 002a 002b 002c 002d 002e 002f
+0030 0031 0032 0033 0034 0035 0036 0037 0038 0039 003a 003b 003c 003d 003e 003f
+0040 0041 0042 0043 0044 0045 0046 0047 0048 0049 004a 004b 004c 004d 004e 004f
+0050 0051 0052 0053 0054 0055 0056 0057 0058 0059 005a 005b 005c 005d 005e 005f
+0060 0061 0062 0063 0064 0065 0066 0067 0068 0069 006a 006b 006c 006d 006e 006f
+0070 0071 0072 0073 0074 0075 0076 0077 0078 0079 007a 007b 007c 007d 007e 007f
+0080 0081 0082 0083 0084 0085 0086 0087 0088 0089 008a 008b 008c 008d 008e 008f
+0090 0091 0092 0093 0094 0095 0096 0097 0098 0099 009a 009b 009c 009d 009e 009f
+00a0 XXXX XXXX XXXX 00a4 XXXX XXXX XXXX XXXX XXXX XXXX XXXX 060c 00ad XXXX XXXX
+XXXX XXXX XXXX XXXX XXXX XXXX XXXX XXXX XXXX XXXX XXXX 061b XXXX XXXX XXXX 061f
+XXXX 0621 0622 0623 0624 0625 0626 0627 0628 0629 062a 062b 062c 062d 062e 062f
+0630 0631 0632 0633 0634 0635 0636 0637 0638 0639 063a XXXX XXXX XXXX XXXX XXXX
+0640 0641 0642 0643 0644 0645 0646 0647 0648 0649 064a 064b 064c 064d 064e 064f
+0650 0651 0652 XXXX XXXX XXXX XXXX XXXX XXXX XXXX XXXX XXXX XXXX XXXX XXXX XXXX
+
+charset CS_ISO8859_7
+0000 0001 0002 0003 0004 0005 0006 0007 0008 0009 000a 000b 000c 000d 000e 000f
+0010 0011 0012 0013 0014 0015 0016 0017 0018 0019 001a 001b 001c 001d 001e 001f
+0020 0021 0022 0023 0024 0025 0026 0027 0028 0029 002a 002b 002c 002d 002e 002f
+0030 0031 0032 0033 0034 0035 0036 0037 0038 0039 003a 003b 003c 003d 003e 003f
+0040 0041 0042 0043 0044 0045 0046 0047 0048 0049 004a 004b 004c 004d 004e 004f
+0050 0051 0052 0053 0054 0055 0056 0057 0058 0059 005a 005b 005c 005d 005e 005f
+0060 0061 0062 0063 0064 0065 0066 0067 0068 0069 006a 006b 006c 006d 006e 006f
+0070 0071 0072 0073 0074 0075 0076 0077 0078 0079 007a 007b 007c 007d 007e 007f
+0080 0081 0082 0083 0084 0085 0086 0087 0088 0089 008a 008b 008c 008d 008e 008f
+0090 0091 0092 0093 0094 0095 0096 0097 0098 0099 009a 009b 009c 009d 009e 009f
+00a0 2018 2019 00a3 XXXX XXXX 00a6 00a7 00a8 00a9 XXXX 00ab 00ac 00ad XXXX 2015
+00b0 00b1 00b2 00b3 0384 0385 0386 00b7 0388 0389 038a 00bb 038c 00bd 038e 038f
+0390 0391 0392 0393 0394 0395 0396 0397 0398 0399 039a 039b 039c 039d 039e 039f
+03a0 03a1 XXXX 03a3 03a4 03a5 03a6 03a7 03a8 03a9 03aa 03ab 03ac 03ad 03ae 03af
+03b0 03b1 03b2 03b3 03b4 03b5 03b6 03b7 03b8 03b9 03ba 03bb 03bc 03bd 03be 03bf
+03c0 03c1 03c2 03c3 03c4 03c5 03c6 03c7 03c8 03c9 03ca 03cb 03cc 03cd 03ce XXXX
+
+charset CS_ISO8859_8
+0000 0001 0002 0003 0004 0005 0006 0007 0008 0009 000a 000b 000c 000d 000e 000f
+0010 0011 0012 0013 0014 0015 0016 0017 0018 0019 001a 001b 001c 001d 001e 001f
+0020 0021 0022 0023 0024 0025 0026 0027 0028 0029 002a 002b 002c 002d 002e 002f
+0030 0031 0032 0033 0034 0035 0036 0037 0038 0039 003a 003b 003c 003d 003e 003f
+0040 0041 0042 0043 0044 0045 0046 0047 0048 0049 004a 004b 004c 004d 004e 004f
+0050 0051 0052 0053 0054 0055 0056 0057 0058 0059 005a 005b 005c 005d 005e 005f
+0060 0061 0062 0063 0064 0065 0066 0067 0068 0069 006a 006b 006c 006d 006e 006f
+0070 0071 0072 0073 0074 0075 0076 0077 0078 0079 007a 007b 007c 007d 007e 007f
+0080 0081 0082 0083 0084 0085 0086 0087 0088 0089 008a 008b 008c 008d 008e 008f
+0090 0091 0092 0093 0094 0095 0096 0097 0098 0099 009a 009b 009c 009d 009e 009f
+00a0 XXXX 00a2 00a3 00a4 00a5 00a6 00a7 00a8 00a9 00d7 00ab 00ac 00ad 00ae 00af
+00b0 00b1 00b2 00b3 00b4 00b5 00b6 00b7 00b8 00b9 00f7 00bb 00bc 00bd 00be XXXX
+XXXX XXXX XXXX XXXX XXXX XXXX XXXX XXXX XXXX XXXX XXXX XXXX XXXX XXXX XXXX XXXX
+XXXX XXXX XXXX XXXX XXXX XXXX XXXX XXXX XXXX XXXX XXXX XXXX XXXX XXXX XXXX 2017
+05d0 05d1 05d2 05d3 05d4 05d5 05d6 05d7 05d8 05d9 05da 05db 05dc 05dd 05de 05df
+05e0 05e1 05e2 05e3 05e4 05e5 05e6 05e7 05e8 05e9 05ea XXXX XXXX 200e 200f XXXX
+
+charset CS_ISO8859_9
+0000 0001 0002 0003 0004 0005 0006 0007 0008 0009 000a 000b 000c 000d 000e 000f
+0010 0011 0012 0013 0014 0015 0016 0017 0018 0019 001a 001b 001c 001d 001e 001f
+0020 0021 0022 0023 0024 0025 0026 0027 0028 0029 002a 002b 002c 002d 002e 002f
+0030 0031 0032 0033 0034 0035 0036 0037 0038 0039 003a 003b 003c 003d 003e 003f
+0040 0041 0042 0043 0044 0045 0046 0047 0048 0049 004a 004b 004c 004d 004e 004f
+0050 0051 0052 0053 0054 0055 0056 0057 0058 0059 005a 005b 005c 005d 005e 005f
+0060 0061 0062 0063 0064 0065 0066 0067 0068 0069 006a 006b 006c 006d 006e 006f
+0070 0071 0072 0073 0074 0075 0076 0077 0078 0079 007a 007b 007c 007d 007e 007f
+0080 0081 0082 0083 0084 0085 0086 0087 0088 0089 008a 008b 008c 008d 008e 008f
+0090 0091 0092 0093 0094 0095 0096 0097 0098 0099 009a 009b 009c 009d 009e 009f
+00a0 00a1 00a2 00a3 00a4 00a5 00a6 00a7 00a8 00a9 00aa 00ab 00ac 00ad 00ae 00af
+00b0 00b1 00b2 00b3 00b4 00b5 00b6 00b7 00b8 00b9 00ba 00bb 00bc 00bd 00be 00bf
+00c0 00c1 00c2 00c3 00c4 00c5 00c6 00c7 00c8 00c9 00ca 00cb 00cc 00cd 00ce 00cf
+011e 00d1 00d2 00d3 00d4 00d5 00d6 00d7 00d8 00d9 00da 00db 00dc 0130 015e 00df
+00e0 00e1 00e2 00e3 00e4 00e5 00e6 00e7 00e8 00e9 00ea 00eb 00ec 00ed 00ee 00ef
+011f 00f1 00f2 00f3 00f4 00f5 00f6 00f7 00f8 00f9 00fa 00fb 00fc 0131 015f 00ff
+
+charset CS_ISO8859_10
+0000 0001 0002 0003 0004 0005 0006 0007 0008 0009 000a 000b 000c 000d 000e 000f
+0010 0011 0012 0013 0014 0015 0016 0017 0018 0019 001a 001b 001c 001d 001e 001f
+0020 0021 0022 0023 0024 0025 0026 0027 0028 0029 002a 002b 002c 002d 002e 002f
+0030 0031 0032 0033 0034 0035 0036 0037 0038 0039 003a 003b 003c 003d 003e 003f
+0040 0041 0042 0043 0044 0045 0046 0047 0048 0049 004a 004b 004c 004d 004e 004f
+0050 0051 0052 0053 0054 0055 0056 0057 0058 0059 005a 005b 005c 005d 005e 005f
+0060 0061 0062 0063 0064 0065 0066 0067 0068 0069 006a 006b 006c 006d 006e 006f
+0070 0071 0072 0073 0074 0075 0076 0077 0078 0079 007a 007b 007c 007d 007e 007f
+0080 0081 0082 0083 0084 0085 0086 0087 0088 0089 008a 008b 008c 008d 008e 008f
+0090 0091 0092 0093 0094 0095 0096 0097 0098 0099 009a 009b 009c 009d 009e 009f
+00a0 0104 0112 0122 012a 0128 0136 00a7 013b 0110 0160 0166 017d 00ad 016a 014a
+00b0 0105 0113 0123 012b 0129 0137 00b7 013c 0111 0161 0167 017e 2015 016b 014b
+0100 00c1 00c2 00c3 00c4 00c5 00c6 012e 010c 00c9 0118 00cb 0116 00cd 00ce 00cf
+00d0 0145 014c 00d3 00d4 00d5 00d6 0168 00d8 0172 00da 00db 00dc 00dd 00de 00df
+0101 00e1 00e2 00e3 00e4 00e5 00e6 012f 010d 00e9 0119 00eb 0117 00ed 00ee 00ef
+00f0 0146 014d 00f3 00f4 00f5 00f6 0169 00f8 0173 00fa 00fb 00fc 00fd 00fe 0138
+
+charset CS_ISO8859_11
+0000 0001 0002 0003 0004 0005 0006 0007 0008 0009 000a 000b 000c 000d 000e 000f
+0010 0011 0012 0013 0014 0015 0016 0017 0018 0019 001a 001b 001c 001d 001e 001f
+0020 0021 0022 0023 0024 0025 0026 0027 0028 0029 002a 002b 002c 002d 002e 002f
+0030 0031 0032 0033 0034 0035 0036 0037 0038 0039 003a 003b 003c 003d 003e 003f
+0040 0041 0042 0043 0044 0045 0046 0047 0048 0049 004a 004b 004c 004d 004e 004f
+0050 0051 0052 0053 0054 0055 0056 0057 0058 0059 005a 005b 005c 005d 005e 005f
+0060 0061 0062 0063 0064 0065 0066 0067 0068 0069 006a 006b 006c 006d 006e 006f
+0070 0071 0072 0073 0074 0075 0076 0077 0078 0079 007a 007b 007c 007d 007e 007f
+0080 0081 0082 0083 0084 0085 0086 0087 0088 0089 008a 008b 008c 008d 008e 008f
+0090 0091 0092 0093 0094 0095 0096 0097 0098 0099 009a 009b 009c 009d 009e 009f
+00a0 0e01 0e02 0e03 0e04 0e05 0e06 0e07 0e08 0e09 0e0a 0e0b 0e0c 0e0d 0e0e 0e0f
+0e10 0e11 0e12 0e13 0e14 0e15 0e16 0e17 0e18 0e19 0e1a 0e1b 0e1c 0e1d 0e1e 0e1f
+0e20 0e21 0e22 0e23 0e24 0e25 0e26 0e27 0e28 0e29 0e2a 0e2b 0e2c 0e2d 0e2e 0e2f
+0e30 0e31 0e32 0e33 0e34 0e35 0e36 0e37 0e38 0e39 0e3a XXXX XXXX XXXX XXXX 0e3f
+0e40 0e41 0e42 0e43 0e44 0e45 0e46 0e47 0e48 0e49 0e4a 0e4b 0e4c 0e4d 0e4e 0e4f
+0e50 0e51 0e52 0e53 0e54 0e55 0e56 0e57 0e58 0e59 0e5a 0e5b XXXX XXXX XXXX XXXX
+
+charset CS_ISO8859_13
+0000 0001 0002 0003 0004 0005 0006 0007 0008 0009 000a 000b 000c 000d 000e 000f
+0010 0011 0012 0013 0014 0015 0016 0017 0018 0019 001a 001b 001c 001d 001e 001f
+0020 0021 0022 0023 0024 0025 0026 0027 0028 0029 002a 002b 002c 002d 002e 002f
+0030 0031 0032 0033 0034 0035 0036 0037 0038 0039 003a 003b 003c 003d 003e 003f
+0040 0041 0042 0043 0044 0045 0046 0047 0048 0049 004a 004b 004c 004d 004e 004f
+0050 0051 0052 0053 0054 0055 0056 0057 0058 0059 005a 005b 005c 005d 005e 005f
+0060 0061 0062 0063 0064 0065 0066 0067 0068 0069 006a 006b 006c 006d 006e 006f
+0070 0071 0072 0073 0074 0075 0076 0077 0078 0079 007a 007b 007c 007d 007e 007f
+0080 0081 0082 0083 0084 0085 0086 0087 0088 0089 008a 008b 008c 008d 008e 008f
+0090 0091 0092 0093 0094 0095 0096 0097 0098 0099 009a 009b 009c 009d 009e 009f
+00a0 201d 00a2 00a3 00a4 201e 00a6 00a7 00d8 00a9 0156 00ab 00ac 00ad 00ae 00c6
+00b0 00b1 00b2 00b3 201c 00b5 00b6 00b7 00f8 00b9 0157 00bb 00bc 00bd 00be 00e6
+0104 012e 0100 0106 00c4 00c5 0118 0112 010c 00c9 0179 0116 0122 0136 012a 013b
+0160 0143 0145 00d3 014c 00d5 00d6 00d7 0172 0141 015a 016a 00dc 017b 017d 00df
+0105 012f 0101 0107 00e4 00e5 0119 0113 010d 00e9 017a 0117 0123 0137 012b 013c
+0161 0144 0146 00f3 014d 00f5 00f6 00f7 0173 0142 015b 016b 00fc 017c 017e 2019
+
+charset CS_ISO8859_14
+0000 0001 0002 0003 0004 0005 0006 0007 0008 0009 000a 000b 000c 000d 000e 000f
+0010 0011 0012 0013 0014 0015 0016 0017 0018 0019 001a 001b 001c 001d 001e 001f
+0020 0021 0022 0023 0024 0025 0026 0027 0028 0029 002a 002b 002c 002d 002e 002f
+0030 0031 0032 0033 0034 0035 0036 0037 0038 0039 003a 003b 003c 003d 003e 003f
+0040 0041 0042 0043 0044 0045 0046 0047 0048 0049 004a 004b 004c 004d 004e 004f
+0050 0051 0052 0053 0054 0055 0056 0057 0058 0059 005a 005b 005c 005d 005e 005f
+0060 0061 0062 0063 0064 0065 0066 0067 0068 0069 006a 006b 006c 006d 006e 006f
+0070 0071 0072 0073 0074 0075 0076 0077 0078 0079 007a 007b 007c 007d 007e 007f
+0080 0081 0082 0083 0084 0085 0086 0087 0088 0089 008a 008b 008c 008d 008e 008f
+0090 0091 0092 0093 0094 0095 0096 0097 0098 0099 009a 009b 009c 009d 009e 009f
+00a0 1e02 1e03 00a3 010a 010b 1e0a 00a7 1e80 00a9 1e82 1e0b 1ef2 00ad 00ae 0178
+1e1e 1e1f 0120 0121 1e40 1e41 00b6 1e56 1e81 1e57 1e83 1e60 1ef3 1e84 1e85 1e61
+00c0 00c1 00c2 00c3 00c4 00c5 00c6 00c7 00c8 00c9 00ca 00cb 00cc 00cd 00ce 00cf
+0174 00d1 00d2 00d3 00d4 00d5 00d6 1e6a 00d8 00d9 00da 00db 00dc 00dd 0176 00df
+00e0 00e1 00e2 00e3 00e4 00e5 00e6 00e7 00e8 00e9 00ea 00eb 00ec 00ed 00ee 00ef
+0175 00f1 00f2 00f3 00f4 00f5 00f6 1e6b 00f8 00f9 00fa 00fb 00fc 00fd 0177 00ff
+
+charset CS_ISO8859_15
+0000 0001 0002 0003 0004 0005 0006 0007 0008 0009 000a 000b 000c 000d 000e 000f
+0010 0011 0012 0013 0014 0015 0016 0017 0018 0019 001a 001b 001c 001d 001e 001f
+0020 0021 0022 0023 0024 0025 0026 0027 0028 0029 002a 002b 002c 002d 002e 002f
+0030 0031 0032 0033 0034 0035 0036 0037 0038 0039 003a 003b 003c 003d 003e 003f
+0040 0041 0042 0043 0044 0045 0046 0047 0048 0049 004a 004b 004c 004d 004e 004f
+0050 0051 0052 0053 0054 0055 0056 0057 0058 0059 005a 005b 005c 005d 005e 005f
+0060 0061 0062 0063 0064 0065 0066 0067 0068 0069 006a 006b 006c 006d 006e 006f
+0070 0071 0072 0073 0074 0075 0076 0077 0078 0079 007a 007b 007c 007d 007e 007f
+0080 0081 0082 0083 0084 0085 0086 0087 0088 0089 008a 008b 008c 008d 008e 008f
+0090 0091 0092 0093 0094 0095 0096 0097 0098 0099 009a 009b 009c 009d 009e 009f
+00a0 00a1 00a2 00a3 20ac 00a5 0160 00a7 0161 00a9 00aa 00ab 00ac 00ad 00ae 00af
+00b0 00b1 00b2 00b3 017d 00b5 00b6 00b7 017e 00b9 00ba 00bb 0152 0153 0178 00bf
+00c0 00c1 00c2 00c3 00c4 00c5 00c6 00c7 00c8 00c9 00ca 00cb 00cc 00cd 00ce 00cf
+00d0 00d1 00d2 00d3 00d4 00d5 00d6 00d7 00d8 00d9 00da 00db 00dc 00dd 00de 00df
+00e0 00e1 00e2 00e3 00e4 00e5 00e6 00e7 00e8 00e9 00ea 00eb 00ec 00ed 00ee 00ef
+00f0 00f1 00f2 00f3 00f4 00f5 00f6 00f7 00f8 00f9 00fa 00fb 00fc 00fd 00fe 00ff
+
+charset CS_ISO8859_16
+0000 0001 0002 0003 0004 0005 0006 0007 0008 0009 000a 000b 000c 000d 000e 000f
+0010 0011 0012 0013 0014 0015 0016 0017 0018 0019 001a 001b 001c 001d 001e 001f
+0020 0021 0022 0023 0024 0025 0026 0027 0028 0029 002a 002b 002c 002d 002e 002f
+0030 0031 0032 0033 0034 0035 0036 0037 0038 0039 003a 003b 003c 003d 003e 003f
+0040 0041 0042 0043 0044 0045 0046 0047 0048 0049 004a 004b 004c 004d 004e 004f
+0050 0051 0052 0053 0054 0055 0056 0057 0058 0059 005a 005b 005c 005d 005e 005f
+0060 0061 0062 0063 0064 0065 0066 0067 0068 0069 006a 006b 006c 006d 006e 006f
+0070 0071 0072 0073 0074 0075 0076 0077 0078 0079 007a 007b 007c 007d 007e 007f
+0080 0081 0082 0083 0084 0085 0086 0087 0088 0089 008a 008b 008c 008d 008e 008f
+0090 0091 0092 0093 0094 0095 0096 0097 0098 0099 009a 009b 009c 009d 009e 009f
+00a0 0104 0105 0141 20ac 201e 0160 00a7 0161 00a9 0218 00ab 0179 00ad 017a 017b
+00b0 00b1 010c 0142 017d 201d 00b6 00b7 017e 010d 0219 00bb 0152 0153 0178 017c
+00c0 00c1 00c2 0102 00c4 0106 00c6 00c7 00c8 00c9 00ca 00cb 00cc 00cd 00ce 00cf
+0110 0143 00d2 00d3 00d4 0150 00d6 015a 0170 00d9 00da 00db 00dc 0118 021a 00df
+00e0 00e1 00e2 0103 00e4 0107 00e6 00e7 00e8 00e9 00ea 00eb 00ec 00ed 00ee 00ef
+0111 0144 00f2 00f3 00f4 0151 00f6 015b 0171 00f9 00fa 00fb 00fc 0119 021b 00ff
+
+  Some X fonts are encoded in a variant form of ISO8859-1:
+  everything above 0x20 (space) is as normal, but the first 32
+  characters contain the VT100 line drawing glyphs as they would
+  appear from positions 0x5F to 0x7E inclusive. Here is the modified
+  ISO8859-1 code table.
+
+  Since this table contains a few duplicated positions, we use the
+  `sortpriority' hint to indicate that things in the main part of
+  the code table (0x20-0xFF) should be generated preferentially when
+  converting _from_ Unicode. Hence, U+00b0 (for example) will yield
+  0xb0 rather than 0x07.
+
+charset CS_ISO8859_1_X11
+sortpriority 00-1F -1
+0020 2666 2592 2409 240c 240d 240a 00b0 00b1 2424 240b 2518 2510 250c 2514 253c
+23ba 23bb 2500 23bc 23bd 251c 2524 2534 252c 2502 2264 2265 03c0 2260 00a3 00b7
+0020 0021 0022 0023 0024 0025 0026 0027 0028 0029 002a 002b 002c 002d 002e 002f
+0030 0031 0032 0033 0034 0035 0036 0037 0038 0039 003a 003b 003c 003d 003e 003f
+0040 0041 0042 0043 0044 0045 0046 0047 0048 0049 004a 004b 004c 004d 004e 004f
+0050 0051 0052 0053 0054 0055 0056 0057 0058 0059 005a 005b 005c 005d 005e 005f
+0060 0061 0062 0063 0064 0065 0066 0067 0068 0069 006a 006b 006c 006d 006e 006f
+0070 0071 0072 0073 0074 0075 0076 0077 0078 0079 007a 007b 007c 007d 007e 007f
+0080 0081 0082 0083 0084 0085 0086 0087 0088 0089 008a 008b 008c 008d 008e 008f
+0090 0091 0092 0093 0094 0095 0096 0097 0098 0099 009a 009b 009c 009d 009e 009f
+00a0 00a1 00a2 00a3 00a4 00a5 00a6 00a7 00a8 00a9 00aa 00ab 00ac 00ad 00ae 00af
+00b0 00b1 00b2 00b3 00b4 00b5 00b6 00b7 00b8 00b9 00ba 00bb 00bc 00bd 00be 00bf
+00c0 00c1 00c2 00c3 00c4 00c5 00c6 00c7 00c8 00c9 00ca 00cb 00cc 00cd 00ce 00cf
+00d0 00d1 00d2 00d3 00d4 00d5 00d6 00d7 00d8 00d9 00da 00db 00dc 00dd 00de 00df
+00e0 00e1 00e2 00e3 00e4 00e5 00e6 00e7 00e8 00e9 00ea 00eb 00ec 00ed 00ee 00ef
+00f0 00f1 00f2 00f3 00f4 00f5 00f6 00f7 00f8 00f9 00fa 00fb 00fc 00fd 00fe 00ff
+
+  Here are some PC (old DOS) code pages, generated by this piece of
+  Bourne shell:
+
+  for i in 437 850; do
+    echo charset CS_CP$i
+    gensbcs http://www.unicode.org/Public/MAPPINGS/VENDORS/MICSFT/PC/CP$i.TXT
+    echo
+  done
+
+charset CS_CP437
+0000 0001 0002 0003 0004 0005 0006 0007 0008 0009 000a 000b 000c 000d 000e 000f
+0010 0011 0012 0013 0014 0015 0016 0017 0018 0019 001a 001b 001c 001d 001e 001f
+0020 0021 0022 0023 0024 0025 0026 0027 0028 0029 002a 002b 002c 002d 002e 002f
+0030 0031 0032 0033 0034 0035 0036 0037 0038 0039 003a 003b 003c 003d 003e 003f
+0040 0041 0042 0043 0044 0045 0046 0047 0048 0049 004a 004b 004c 004d 004e 004f
+0050 0051 0052 0053 0054 0055 0056 0057 0058 0059 005a 005b 005c 005d 005e 005f
+0060 0061 0062 0063 0064 0065 0066 0067 0068 0069 006a 006b 006c 006d 006e 006f
+0070 0071 0072 0073 0074 0075 0076 0077 0078 0079 007a 007b 007c 007d 007e 007f
+00c7 00fc 00e9 00e2 00e4 00e0 00e5 00e7 00ea 00eb 00e8 00ef 00ee 00ec 00c4 00c5
+00c9 00e6 00c6 00f4 00f6 00f2 00fb 00f9 00ff 00d6 00dc 00a2 00a3 00a5 20a7 0192
+00e1 00ed 00f3 00fa 00f1 00d1 00aa 00ba 00bf 2310 00ac 00bd 00bc 00a1 00ab 00bb
+2591 2592 2593 2502 2524 2561 2562 2556 2555 2563 2551 2557 255d 255c 255b 2510
+2514 2534 252c 251c 2500 253c 255e 255f 255a 2554 2569 2566 2560 2550 256c 2567
+2568 2564 2565 2559 2558 2552 2553 256b 256a 2518 250c 2588 2584 258c 2590 2580
+03b1 00df 0393 03c0 03a3 03c3 00b5 03c4 03a6 0398 03a9 03b4 221e 03c6 03b5 2229
+2261 00b1 2265 2264 2320 2321 00f7 2248 00b0 2219 00b7 221a 207f 00b2 25a0 00a0
+
+charset CS_CP850
+0000 0001 0002 0003 0004 0005 0006 0007 0008 0009 000a 000b 000c 000d 000e 000f
+0010 0011 0012 0013 0014 0015 0016 0017 0018 0019 001a 001b 001c 001d 001e 001f
+0020 0021 0022 0023 0024 0025 0026 0027 0028 0029 002a 002b 002c 002d 002e 002f
+0030 0031 0032 0033 0034 0035 0036 0037 0038 0039 003a 003b 003c 003d 003e 003f
+0040 0041 0042 0043 0044 0045 0046 0047 0048 0049 004a 004b 004c 004d 004e 004f
+0050 0051 0052 0053 0054 0055 0056 0057 0058 0059 005a 005b 005c 005d 005e 005f
+0060 0061 0062 0063 0064 0065 0066 0067 0068 0069 006a 006b 006c 006d 006e 006f
+0070 0071 0072 0073 0074 0075 0076 0077 0078 0079 007a 007b 007c 007d 007e 007f
+00c7 00fc 00e9 00e2 00e4 00e0 00e5 00e7 00ea 00eb 00e8 00ef 00ee 00ec 00c4 00c5
+00c9 00e6 00c6 00f4 00f6 00f2 00fb 00f9 00ff 00d6 00dc 00f8 00a3 00d8 00d7 0192
+00e1 00ed 00f3 00fa 00f1 00d1 00aa 00ba 00bf 00ae 00ac 00bd 00bc 00a1 00ab 00bb
+2591 2592 2593 2502 2524 00c1 00c2 00c0 00a9 2563 2551 2557 255d 00a2 00a5 2510
+2514 2534 252c 251c 2500 253c 00e3 00c3 255a 2554 2569 2566 2560 2550 256c 00a4
+00f0 00d0 00ca 00cb 00c8 0131 00cd 00ce 00cf 2518 250c 2588 2584 00a6 00cc 2580
+00d3 00df 00d4 00d2 00f5 00d5 00b5 00fe 00de 00da 00db 00d9 00fd 00dd 00af 00b4
+00ad 00b1 2017 00be 00b6 00a7 00f7 00b8 00b0 00a8 00b7 00b9 00b3 00b2 25a0 00a0
+
+  Here are some Windows code pages, generated by this piece of
+  Bourne shell:
+
+  for i in 1250 1251 1252 1253 1254 1255 1256 1257 1258; do
+    echo charset CS_CP$i
+    gensbcs http://www.unicode.org/Public/MAPPINGS/VENDORS/MICSFT/WINDOWS/CP$i.TXT
+    echo
+  done
+
+charset CS_CP1250
+0000 0001 0002 0003 0004 0005 0006 0007 0008 0009 000a 000b 000c 000d 000e 000f
+0010 0011 0012 0013 0014 0015 0016 0017 0018 0019 001a 001b 001c 001d 001e 001f
+0020 0021 0022 0023 0024 0025 0026 0027 0028 0029 002a 002b 002c 002d 002e 002f
+0030 0031 0032 0033 0034 0035 0036 0037 0038 0039 003a 003b 003c 003d 003e 003f
+0040 0041 0042 0043 0044 0045 0046 0047 0048 0049 004a 004b 004c 004d 004e 004f
+0050 0051 0052 0053 0054 0055 0056 0057 0058 0059 005a 005b 005c 005d 005e 005f
+0060 0061 0062 0063 0064 0065 0066 0067 0068 0069 006a 006b 006c 006d 006e 006f
+0070 0071 0072 0073 0074 0075 0076 0077 0078 0079 007a 007b 007c 007d 007e 007f
+20ac XXXX 201a XXXX 201e 2026 2020 2021 XXXX 2030 0160 2039 015a 0164 017d 0179
+XXXX 2018 2019 201c 201d 2022 2013 2014 XXXX 2122 0161 203a 015b 0165 017e 017a
+00a0 02c7 02d8 0141 00a4 0104 00a6 00a7 00a8 00a9 015e 00ab 00ac 00ad 00ae 017b
+00b0 00b1 02db 0142 00b4 00b5 00b6 00b7 00b8 0105 015f 00bb 013d 02dd 013e 017c
+0154 00c1 00c2 0102 00c4 0139 0106 00c7 010c 00c9 0118 00cb 011a 00cd 00ce 010e
+0110 0143 0147 00d3 00d4 0150 00d6 00d7 0158 016e 00da 0170 00dc 00dd 0162 00df
+0155 00e1 00e2 0103 00e4 013a 0107 00e7 010d 00e9 0119 00eb 011b 00ed 00ee 010f
+0111 0144 0148 00f3 00f4 0151 00f6 00f7 0159 016f 00fa 0171 00fc 00fd 0163 02d9
+
+charset CS_CP1251
+0000 0001 0002 0003 0004 0005 0006 0007 0008 0009 000a 000b 000c 000d 000e 000f
+0010 0011 0012 0013 0014 0015 0016 0017 0018 0019 001a 001b 001c 001d 001e 001f
+0020 0021 0022 0023 0024 0025 0026 0027 0028 0029 002a 002b 002c 002d 002e 002f
+0030 0031 0032 0033 0034 0035 0036 0037 0038 0039 003a 003b 003c 003d 003e 003f
+0040 0041 0042 0043 0044 0045 0046 0047 0048 0049 004a 004b 004c 004d 004e 004f
+0050 0051 0052 0053 0054 0055 0056 0057 0058 0059 005a 005b 005c 005d 005e 005f
+0060 0061 0062 0063 0064 0065 0066 0067 0068 0069 006a 006b 006c 006d 006e 006f
+0070 0071 0072 0073 0074 0075 0076 0077 0078 0079 007a 007b 007c 007d 007e 007f
+0402 0403 201a 0453 201e 2026 2020 2021 20ac 2030 0409 2039 040a 040c 040b 040f
+0452 2018 2019 201c 201d 2022 2013 2014 XXXX 2122 0459 203a 045a 045c 045b 045f
+00a0 040e 045e 0408 00a4 0490 00a6 00a7 0401 00a9 0404 00ab 00ac 00ad 00ae 0407
+00b0 00b1 0406 0456 0491 00b5 00b6 00b7 0451 2116 0454 00bb 0458 0405 0455 0457
+0410 0411 0412 0413 0414 0415 0416 0417 0418 0419 041a 041b 041c 041d 041e 041f
+0420 0421 0422 0423 0424 0425 0426 0427 0428 0429 042a 042b 042c 042d 042e 042f
+0430 0431 0432 0433 0434 0435 0436 0437 0438 0439 043a 043b 043c 043d 043e 043f
+0440 0441 0442 0443 0444 0445 0446 0447 0448 0449 044a 044b 044c 044d 044e 044f
+
+charset CS_CP1252
+0000 0001 0002 0003 0004 0005 0006 0007 0008 0009 000a 000b 000c 000d 000e 000f
+0010 0011 0012 0013 0014 0015 0016 0017 0018 0019 001a 001b 001c 001d 001e 001f
+0020 0021 0022 0023 0024 0025 0026 0027 0028 0029 002a 002b 002c 002d 002e 002f
+0030 0031 0032 0033 0034 0035 0036 0037 0038 0039 003a 003b 003c 003d 003e 003f
+0040 0041 0042 0043 0044 0045 0046 0047 0048 0049 004a 004b 004c 004d 004e 004f
+0050 0051 0052 0053 0054 0055 0056 0057 0058 0059 005a 005b 005c 005d 005e 005f
+0060 0061 0062 0063 0064 0065 0066 0067 0068 0069 006a 006b 006c 006d 006e 006f
+0070 0071 0072 0073 0074 0075 0076 0077 0078 0079 007a 007b 007c 007d 007e 007f
+20ac XXXX 201a 0192 201e 2026 2020 2021 02c6 2030 0160 2039 0152 XXXX 017d XXXX
+XXXX 2018 2019 201c 201d 2022 2013 2014 02dc 2122 0161 203a 0153 XXXX 017e 0178
+00a0 00a1 00a2 00a3 00a4 00a5 00a6 00a7 00a8 00a9 00aa 00ab 00ac 00ad 00ae 00af
+00b0 00b1 00b2 00b3 00b4 00b5 00b6 00b7 00b8 00b9 00ba 00bb 00bc 00bd 00be 00bf
+00c0 00c1 00c2 00c3 00c4 00c5 00c6 00c7 00c8 00c9 00ca 00cb 00cc 00cd 00ce 00cf
+00d0 00d1 00d2 00d3 00d4 00d5 00d6 00d7 00d8 00d9 00da 00db 00dc 00dd 00de 00df
+00e0 00e1 00e2 00e3 00e4 00e5 00e6 00e7 00e8 00e9 00ea 00eb 00ec 00ed 00ee 00ef
+00f0 00f1 00f2 00f3 00f4 00f5 00f6 00f7 00f8 00f9 00fa 00fb 00fc 00fd 00fe 00ff
+
+charset CS_CP1253
+0000 0001 0002 0003 0004 0005 0006 0007 0008 0009 000a 000b 000c 000d 000e 000f
+0010 0011 0012 0013 0014 0015 0016 0017 0018 0019 001a 001b 001c 001d 001e 001f
+0020 0021 0022 0023 0024 0025 0026 0027 0028 0029 002a 002b 002c 002d 002e 002f
+0030 0031 0032 0033 0034 0035 0036 0037 0038 0039 003a 003b 003c 003d 003e 003f
+0040 0041 0042 0043 0044 0045 0046 0047 0048 0049 004a 004b 004c 004d 004e 004f
+0050 0051 0052 0053 0054 0055 0056 0057 0058 0059 005a 005b 005c 005d 005e 005f
+0060 0061 0062 0063 0064 0065 0066 0067 0068 0069 006a 006b 006c 006d 006e 006f
+0070 0071 0072 0073 0074 0075 0076 0077 0078 0079 007a 007b 007c 007d 007e 007f
+20ac XXXX 201a 0192 201e 2026 2020 2021 XXXX 2030 XXXX 2039 XXXX XXXX XXXX XXXX
+XXXX 2018 2019 201c 201d 2022 2013 2014 XXXX 2122 XXXX 203a XXXX XXXX XXXX XXXX
+00a0 0385 0386 00a3 00a4 00a5 00a6 00a7 00a8 00a9 XXXX 00ab 00ac 00ad 00ae 2015
+00b0 00b1 00b2 00b3 0384 00b5 00b6 00b7 0388 0389 038a 00bb 038c 00bd 038e 038f
+0390 0391 0392 0393 0394 0395 0396 0397 0398 0399 039a 039b 039c 039d 039e 039f
+03a0 03a1 XXXX 03a3 03a4 03a5 03a6 03a7 03a8 03a9 03aa 03ab 03ac 03ad 03ae 03af
+03b0 03b1 03b2 03b3 03b4 03b5 03b6 03b7 03b8 03b9 03ba 03bb 03bc 03bd 03be 03bf
+03c0 03c1 03c2 03c3 03c4 03c5 03c6 03c7 03c8 03c9 03ca 03cb 03cc 03cd 03ce XXXX
+
+charset CS_CP1254
+0000 0001 0002 0003 0004 0005 0006 0007 0008 0009 000a 000b 000c 000d 000e 000f
+0010 0011 0012 0013 0014 0015 0016 0017 0018 0019 001a 001b 001c 001d 001e 001f
+0020 0021 0022 0023 0024 0025 0026 0027 0028 0029 002a 002b 002c 002d 002e 002f
+0030 0031 0032 0033 0034 0035 0036 0037 0038 0039 003a 003b 003c 003d 003e 003f
+0040 0041 0042 0043 0044 0045 0046 0047 0048 0049 004a 004b 004c 004d 004e 004f
+0050 0051 0052 0053 0054 0055 0056 0057 0058 0059 005a 005b 005c 005d 005e 005f
+0060 0061 0062 0063 0064 0065 0066 0067 0068 0069 006a 006b 006c 006d 006e 006f
+0070 0071 0072 0073 0074 0075 0076 0077 0078 0079 007a 007b 007c 007d 007e 007f
+20ac XXXX 201a 0192 201e 2026 2020 2021 02c6 2030 0160 2039 0152 XXXX XXXX XXXX
+XXXX 2018 2019 201c 201d 2022 2013 2014 02dc 2122 0161 203a 0153 XXXX XXXX 0178
+00a0 00a1 00a2 00a3 00a4 00a5 00a6 00a7 00a8 00a9 00aa 00ab 00ac 00ad 00ae 00af
+00b0 00b1 00b2 00b3 00b4 00b5 00b6 00b7 00b8 00b9 00ba 00bb 00bc 00bd 00be 00bf
+00c0 00c1 00c2 00c3 00c4 00c5 00c6 00c7 00c8 00c9 00ca 00cb 00cc 00cd 00ce 00cf
+011e 00d1 00d2 00d3 00d4 00d5 00d6 00d7 00d8 00d9 00da 00db 00dc 0130 015e 00df
+00e0 00e1 00e2 00e3 00e4 00e5 00e6 00e7 00e8 00e9 00ea 00eb 00ec 00ed 00ee 00ef
+011f 00f1 00f2 00f3 00f4 00f5 00f6 00f7 00f8 00f9 00fa 00fb 00fc 0131 015f 00ff
+
+charset CS_CP1255
+0000 0001 0002 0003 0004 0005 0006 0007 0008 0009 000a 000b 000c 000d 000e 000f
+0010 0011 0012 0013 0014 0015 0016 0017 0018 0019 001a 001b 001c 001d 001e 001f
+0020 0021 0022 0023 0024 0025 0026 0027 0028 0029 002a 002b 002c 002d 002e 002f
+0030 0031 0032 0033 0034 0035 0036 0037 0038 0039 003a 003b 003c 003d 003e 003f
+0040 0041 0042 0043 0044 0045 0046 0047 0048 0049 004a 004b 004c 004d 004e 004f
+0050 0051 0052 0053 0054 0055 0056 0057 0058 0059 005a 005b 005c 005d 005e 005f
+0060 0061 0062 0063 0064 0065 0066 0067 0068 0069 006a 006b 006c 006d 006e 006f
+0070 0071 0072 0073 0074 0075 0076 0077 0078 0079 007a 007b 007c 007d 007e 007f
+20ac XXXX 201a 0192 201e 2026 2020 2021 02c6 2030 XXXX 2039 XXXX XXXX XXXX XXXX
+XXXX 2018 2019 201c 201d 2022 2013 2014 02dc 2122 XXXX 203a XXXX XXXX XXXX XXXX
+00a0 00a1 00a2 00a3 20aa 00a5 00a6 00a7 00a8 00a9 00d7 00ab 00ac 00ad 00ae 00af
+00b0 00b1 00b2 00b3 00b4 00b5 00b6 00b7 00b8 00b9 00f7 00bb 00bc 00bd 00be 00bf
+05b0 05b1 05b2 05b3 05b4 05b5 05b6 05b7 05b8 05b9 XXXX 05bb 05bc 05bd 05be 05bf
+05c0 05c1 05c2 05c3 05f0 05f1 05f2 05f3 05f4 XXXX XXXX XXXX XXXX XXXX XXXX XXXX
+05d0 05d1 05d2 05d3 05d4 05d5 05d6 05d7 05d8 05d9 05da 05db 05dc 05dd 05de 05df
+05e0 05e1 05e2 05e3 05e4 05e5 05e6 05e7 05e8 05e9 05ea XXXX XXXX 200e 200f XXXX
+
+charset CS_CP1256
+0000 0001 0002 0003 0004 0005 0006 0007 0008 0009 000a 000b 000c 000d 000e 000f
+0010 0011 0012 0013 0014 0015 0016 0017 0018 0019 001a 001b 001c 001d 001e 001f
+0020 0021 0022 0023 0024 0025 0026 0027 0028 0029 002a 002b 002c 002d 002e 002f
+0030 0031 0032 0033 0034 0035 0036 0037 0038 0039 003a 003b 003c 003d 003e 003f
+0040 0041 0042 0043 0044 0045 0046 0047 0048 0049 004a 004b 004c 004d 004e 004f
+0050 0051 0052 0053 0054 0055 0056 0057 0058 0059 005a 005b 005c 005d 005e 005f
+0060 0061 0062 0063 0064 0065 0066 0067 0068 0069 006a 006b 006c 006d 006e 006f
+0070 0071 0072 0073 0074 0075 0076 0077 0078 0079 007a 007b 007c 007d 007e 007f
+20ac 067e 201a 0192 201e 2026 2020 2021 02c6 2030 0679 2039 0152 0686 0698 0688
+06af 2018 2019 201c 201d 2022 2013 2014 06a9 2122 0691 203a 0153 200c 200d 06ba
+00a0 060c 00a2 00a3 00a4 00a5 00a6 00a7 00a8 00a9 06be 00ab 00ac 00ad 00ae 00af
+00b0 00b1 00b2 00b3 00b4 00b5 00b6 00b7 00b8 00b9 061b 00bb 00bc 00bd 00be 061f
+06c1 0621 0622 0623 0624 0625 0626 0627 0628 0629 062a 062b 062c 062d 062e 062f
+0630 0631 0632 0633 0634 0635 0636 00d7 0637 0638 0639 063a 0640 0641 0642 0643
+00e0 0644 00e2 0645 0646 0647 0648 00e7 00e8 00e9 00ea 00eb 0649 064a 00ee 00ef
+064b 064c 064d 064e 00f4 064f 0650 00f7 0651 00f9 0652 00fb 00fc 200e 200f 06d2
+
+charset CS_CP1257
+0000 0001 0002 0003 0004 0005 0006 0007 0008 0009 000a 000b 000c 000d 000e 000f
+0010 0011 0012 0013 0014 0015 0016 0017 0018 0019 001a 001b 001c 001d 001e 001f
+0020 0021 0022 0023 0024 0025 0026 0027 0028 0029 002a 002b 002c 002d 002e 002f
+0030 0031 0032 0033 0034 0035 0036 0037 0038 0039 003a 003b 003c 003d 003e 003f
+0040 0041 0042 0043 0044 0045 0046 0047 0048 0049 004a 004b 004c 004d 004e 004f
+0050 0051 0052 0053 0054 0055 0056 0057 0058 0059 005a 005b 005c 005d 005e 005f
+0060 0061 0062 0063 0064 0065 0066 0067 0068 0069 006a 006b 006c 006d 006e 006f
+0070 0071 0072 0073 0074 0075 0076 0077 0078 0079 007a 007b 007c 007d 007e 007f
+20ac XXXX 201a XXXX 201e 2026 2020 2021 XXXX 2030 XXXX 2039 XXXX 00a8 02c7 00b8
+XXXX 2018 2019 201c 201d 2022 2013 2014 XXXX 2122 XXXX 203a XXXX 00af 02db XXXX
+00a0 XXXX 00a2 00a3 00a4 XXXX 00a6 00a7 00d8 00a9 0156 00ab 00ac 00ad 00ae 00c6
+00b0 00b1 00b2 00b3 00b4 00b5 00b6 00b7 00f8 00b9 0157 00bb 00bc 00bd 00be 00e6
+0104 012e 0100 0106 00c4 00c5 0118 0112 010c 00c9 0179 0116 0122 0136 012a 013b
+0160 0143 0145 00d3 014c 00d5 00d6 00d7 0172 0141 015a 016a 00dc 017b 017d 00df
+0105 012f 0101 0107 00e4 00e5 0119 0113 010d 00e9 017a 0117 0123 0137 012b 013c
+0161 0144 0146 00f3 014d 00f5 00f6 00f7 0173 0142 015b 016b 00fc 017c 017e 02d9
+
+charset CS_CP1258
+0000 0001 0002 0003 0004 0005 0006 0007 0008 0009 000a 000b 000c 000d 000e 000f
+0010 0011 0012 0013 0014 0015 0016 0017 0018 0019 001a 001b 001c 001d 001e 001f
+0020 0021 0022 0023 0024 0025 0026 0027 0028 0029 002a 002b 002c 002d 002e 002f
+0030 0031 0032 0033 0034 0035 0036 0037 0038 0039 003a 003b 003c 003d 003e 003f
+0040 0041 0042 0043 0044 0045 0046 0047 0048 0049 004a 004b 004c 004d 004e 004f
+0050 0051 0052 0053 0054 0055 0056 0057 0058 0059 005a 005b 005c 005d 005e 005f
+0060 0061 0062 0063 0064 0065 0066 0067 0068 0069 006a 006b 006c 006d 006e 006f
+0070 0071 0072 0073 0074 0075 0076 0077 0078 0079 007a 007b 007c 007d 007e 007f
+20ac XXXX 201a 0192 201e 2026 2020 2021 02c6 2030 XXXX 2039 0152 XXXX XXXX XXXX
+XXXX 2018 2019 201c 201d 2022 2013 2014 02dc 2122 XXXX 203a 0153 XXXX XXXX 0178
+00a0 00a1 00a2 00a3 00a4 00a5 00a6 00a7 00a8 00a9 00aa 00ab 00ac 00ad 00ae 00af
+00b0 00b1 00b2 00b3 00b4 00b5 00b6 00b7 00b8 00b9 00ba 00bb 00bc 00bd 00be 00bf
+00c0 00c1 00c2 0102 00c4 00c5 00c6 00c7 00c8 00c9 00ca 00cb 0300 00cd 00ce 00cf
+0110 00d1 0309 00d3 00d4 01a0 00d6 00d7 00d8 00d9 00da 00db 00dc 01af 0303 00df
+00e0 00e1 00e2 0103 00e4 00e5 00e6 00e7 00e8 00e9 00ea 00eb 0301 00ed 00ee 00ef
+0111 00f1 0323 00f3 00f4 01a1 00f6 00f7 00f8 00f9 00fa 00fb 00fc 01b0 20ab 00ff
+
+  KOI8-R, generated by this code:
+  
+  { echo charset CS_KOI8_R;
+    gensbcs http://www.unicode.org/Public/MAPPINGS/VENDORS/MISC/KOI8-R.TXT; }
+
+charset CS_KOI8_R
+0000 0001 0002 0003 0004 0005 0006 0007 0008 0009 000a 000b 000c 000d 000e 000f
+0010 0011 0012 0013 0014 0015 0016 0017 0018 0019 001a 001b 001c 001d 001e 001f
+0020 0021 0022 0023 0024 0025 0026 0027 0028 0029 002a 002b 002c 002d 002e 002f
+0030 0031 0032 0033 0034 0035 0036 0037 0038 0039 003a 003b 003c 003d 003e 003f
+0040 0041 0042 0043 0044 0045 0046 0047 0048 0049 004a 004b 004c 004d 004e 004f
+0050 0051 0052 0053 0054 0055 0056 0057 0058 0059 005a 005b 005c 005d 005e 005f
+0060 0061 0062 0063 0064 0065 0066 0067 0068 0069 006a 006b 006c 006d 006e 006f
+0070 0071 0072 0073 0074 0075 0076 0077 0078 0079 007a 007b 007c 007d 007e 007f
+2500 2502 250c 2510 2514 2518 251c 2524 252c 2534 253c 2580 2584 2588 258c 2590
+2591 2592 2593 2320 25a0 2219 221a 2248 2264 2265 00a0 2321 00b0 00b2 00b7 00f7
+2550 2551 2552 0451 2553 2554 2555 2556 2557 2558 2559 255a 255b 255c 255d 255e
+255f 2560 2561 0401 2562 2563 2564 2565 2566 2567 2568 2569 256a 256b 256c 00a9
+044e 0430 0431 0446 0434 0435 0444 0433 0445 0438 0439 043a 043b 043c 043d 043e
+043f 044f 0440 0441 0442 0443 0436 0432 044c 044b 0437 0448 044d 0449 0447 044a
+042e 0410 0411 0426 0414 0415 0424 0413 0425 0418 0419 041a 041b 041c 041d 041e
+041f 042f 0420 0421 0422 0423 0416 0412 042c 042b 0417 0428 042d 0429 0427 042a
+
+  KOI8-U: I can't find an easily machine-processable mapping table
+  for this one, so I've created it by hand-editing the KOI8-R
+  mapping table in accordance with the list of differences specified
+  in RFC2319. Note that RFC2319 has an apparent error: position B4
+  is listed as U+0404 in the main character set list, but as U+0403
+  in Appendix A (differences from KOI8-R). Both agree that it should
+  be CYRILLIC CAPITAL LETTER UKRAINIAN IE, however, and the Unicode
+  character database says that therefore U+0404 is the correct value.
+
+charset CS_KOI8_U
+0000 0001 0002 0003 0004 0005 0006 0007 0008 0009 000a 000b 000c 000d 000e 000f
+0010 0011 0012 0013 0014 0015 0016 0017 0018 0019 001a 001b 001c 001d 001e 001f
+0020 0021 0022 0023 0024 0025 0026 0027 0028 0029 002a 002b 002c 002d 002e 002f
+0030 0031 0032 0033 0034 0035 0036 0037 0038 0039 003a 003b 003c 003d 003e 003f
+0040 0041 0042 0043 0044 0045 0046 0047 0048 0049 004a 004b 004c 004d 004e 004f
+0050 0051 0052 0053 0054 0055 0056 0057 0058 0059 005a 005b 005c 005d 005e 005f
+0060 0061 0062 0063 0064 0065 0066 0067 0068 0069 006a 006b 006c 006d 006e 006f
+0070 0071 0072 0073 0074 0075 0076 0077 0078 0079 007a 007b 007c 007d 007e 007f
+2500 2502 250c 2510 2514 2518 251c 2524 252c 2534 253c 2580 2584 2588 258c 2590
+2591 2592 2593 2320 25a0 2219 221a 2248 2264 2265 00a0 2321 00b0 00b2 00b7 00f7
+2550 2551 2552 0451 0454 2554 0456 0457 2557 2558 2559 255a 255b 0491 255d 255e
+255f 2560 2561 0401 0404 2563 0406 0407 2566 2567 2568 2569 256a 0490 256c 00a9
+044e 0430 0431 0446 0434 0435 0444 0433 0445 0438 0439 043a 043b 043c 043d 043e
+043f 044f 0440 0441 0442 0443 0436 0432 044c 044b 0437 0448 044d 0449 0447 044a
+042e 0410 0411 0426 0414 0415 0424 0413 0425 0418 0419 041a 041b 041c 041d 041e
+041f 042f 0420 0421 0422 0423 0416 0412 042c 042b 0417 0428 042d 0429 0427 042a
+
+  KOI8-RU is apparently a Belarussian character set, with no obvious
+  RFC definition.
+
+  I'm somewhat confused by exactly what this character set is; the
+  top few Google hits appear to agree with the IETF-style draft I
+  found at
+
+    http://cad.ntu-kpi.kiev.ua/multiling/koi8-ru/rfc-draft-koi8-ru.txt
+
+  which defines lots of interesting characters in the 0x90-9f range
+  (nice quote marks etc), but GNU iconv and the Linux kernel patch
+  agree that none of this actually happened and that in fact KOI8-RU
+  only differs from KOI8-U in positions 0xAE (U+045E) and 0xBE
+  (U+040E). I've gone with existing software, so that -U and -RU are
+  almost identical. The table below was constructed by hand-editing
+  the above KOI8-U table at those two code positions.
+
+charset CS_KOI8_RU
+0000 0001 0002 0003 0004 0005 0006 0007 0008 0009 000a 000b 000c 000d 000e 000f
+0010 0011 0012 0013 0014 0015 0016 0017 0018 0019 001a 001b 001c 001d 001e 001f
+0020 0021 0022 0023 0024 0025 0026 0027 0028 0029 002a 002b 002c 002d 002e 002f
+0030 0031 0032 0033 0034 0035 0036 0037 0038 0039 003a 003b 003c 003d 003e 003f
+0040 0041 0042 0043 0044 0045 0046 0047 0048 0049 004a 004b 004c 004d 004e 004f
+0050 0051 0052 0053 0054 0055 0056 0057 0058 0059 005a 005b 005c 005d 005e 005f
+0060 0061 0062 0063 0064 0065 0066 0067 0068 0069 006a 006b 006c 006d 006e 006f
+0070 0071 0072 0073 0074 0075 0076 0077 0078 0079 007a 007b 007c 007d 007e 007f
+2500 2502 250c 2510 2514 2518 251c 2524 252c 2534 253c 2580 2584 2588 258c 2590
+2591 2592 2593 2320 25a0 2219 221a 2248 2264 2265 00a0 2321 00b0 00b2 00b7 00f7
+2550 2551 2552 0451 0454 2554 0456 0457 2557 2558 2559 255a 255b 0491 045e 255e
+255f 2560 2561 0401 0404 2563 0406 0407 2566 2567 2568 2569 256a 0490 040e 00a9
+044e 0430 0431 0446 0434 0435 0444 0433 0445 0438 0439 043a 043b 043c 043d 043e
+043f 044f 0440 0441 0442 0443 0436 0432 044c 044b 0437 0448 044d 0449 0447 044a
+042e 0410 0411 0426 0414 0415 0424 0413 0425 0418 0419 041a 041b 041c 041d 041e
+041f 042f 0420 0421 0422 0423 0416 0412 042c 042b 0417 0428 042d 0429 0427 042a
+
+  Various Mac character sets, generated by:
+
+  for i in ROMAN TURKISH CROATIAN ICELAND ROMANIAN GREEK CYRILLIC THAI \
+        CENTEURO SYMBOL DINGBATS; do
+    echo charset CS_MAC_$i
+    gensbcs http://www.unicode.org/Public/MAPPINGS/VENDORS/APPLE/$i.TXT | \
+        sed s/f8a0/XXXX/
+    echo
+  done
+
+  The code point F8FF at position F0 in Mac OS Roman an interesting
+  one. In Unicode, it's the last of the Private Use section. The
+  mapping table states that it should be an Apple logo. I suppose we
+  should just leave it as it is; there's bound to be some software out
+  there that understands U+F8FF to be an Apple logo!
+
+  Code point F8A0 at position F5 in Mac OS Turkish is actually just an
+  undefined character, so we make it properly undefined.
+
+charset CS_MAC_ROMAN
+0000 0001 0002 0003 0004 0005 0006 0007 0008 0009 000a 000b 000c 000d 000e 000f
+0010 0011 0012 0013 0014 0015 0016 0017 0018 0019 001a 001b 001c 001d 001e 001f
+0020 0021 0022 0023 0024 0025 0026 0027 0028 0029 002a 002b 002c 002d 002e 002f
+0030 0031 0032 0033 0034 0035 0036 0037 0038 0039 003a 003b 003c 003d 003e 003f
+0040 0041 0042 0043 0044 0045 0046 0047 0048 0049 004a 004b 004c 004d 004e 004f
+0050 0051 0052 0053 0054 0055 0056 0057 0058 0059 005a 005b 005c 005d 005e 005f
+0060 0061 0062 0063 0064 0065 0066 0067 0068 0069 006a 006b 006c 006d 006e 006f
+0070 0071 0072 0073 0074 0075 0076 0077 0078 0079 007a 007b 007c 007d 007e 007f
+00c4 00c5 00c7 00c9 00d1 00d6 00dc 00e1 00e0 00e2 00e4 00e3 00e5 00e7 00e9 00e8
+00ea 00eb 00ed 00ec 00ee 00ef 00f1 00f3 00f2 00f4 00f6 00f5 00fa 00f9 00fb 00fc
+2020 00b0 00a2 00a3 00a7 2022 00b6 00df 00ae 00a9 2122 00b4 00a8 2260 00c6 00d8
+221e 00b1 2264 2265 00a5 00b5 2202 2211 220f 03c0 222b 00aa 00ba 03a9 00e6 00f8
+00bf 00a1 00ac 221a 0192 2248 2206 00ab 00bb 2026 00a0 00c0 00c3 00d5 0152 0153
+2013 2014 201c 201d 2018 2019 00f7 25ca 00ff 0178 2044 20ac 2039 203a fb01 fb02
+2021 00b7 201a 201e 2030 00c2 00ca 00c1 00cb 00c8 00cd 00ce 00cf 00cc 00d3 00d4
+f8ff 00d2 00da 00db 00d9 0131 02c6 02dc 00af 02d8 02d9 02da 00b8 02dd 02db 02c7
+
+charset CS_MAC_TURKISH
+0000 0001 0002 0003 0004 0005 0006 0007 0008 0009 000a 000b 000c 000d 000e 000f
+0010 0011 0012 0013 0014 0015 0016 0017 0018 0019 001a 001b 001c 001d 001e 001f
+0020 0021 0022 0023 0024 0025 0026 0027 0028 0029 002a 002b 002c 002d 002e 002f
+0030 0031 0032 0033 0034 0035 0036 0037 0038 0039 003a 003b 003c 003d 003e 003f
+0040 0041 0042 0043 0044 0045 0046 0047 0048 0049 004a 004b 004c 004d 004e 004f
+0050 0051 0052 0053 0054 0055 0056 0057 0058 0059 005a 005b 005c 005d 005e 005f
+0060 0061 0062 0063 0064 0065 0066 0067 0068 0069 006a 006b 006c 006d 006e 006f
+0070 0071 0072 0073 0074 0075 0076 0077 0078 0079 007a 007b 007c 007d 007e 007f
+00c4 00c5 00c7 00c9 00d1 00d6 00dc 00e1 00e0 00e2 00e4 00e3 00e5 00e7 00e9 00e8
+00ea 00eb 00ed 00ec 00ee 00ef 00f1 00f3 00f2 00f4 00f6 00f5 00fa 00f9 00fb 00fc
+2020 00b0 00a2 00a3 00a7 2022 00b6 00df 00ae 00a9 2122 00b4 00a8 2260 00c6 00d8
+221e 00b1 2264 2265 00a5 00b5 2202 2211 220f 03c0 222b 00aa 00ba 03a9 00e6 00f8
+00bf 00a1 00ac 221a 0192 2248 2206 00ab 00bb 2026 00a0 00c0 00c3 00d5 0152 0153
+2013 2014 201c 201d 2018 2019 00f7 25ca 00ff 0178 011e 011f 0130 0131 015e 015f
+2021 00b7 201a 201e 2030 00c2 00ca 00c1 00cb 00c8 00cd 00ce 00cf 00cc 00d3 00d4
+f8ff 00d2 00da 00db 00d9 XXXX 02c6 02dc 00af 02d8 02d9 02da 00b8 02dd 02db 02c7
+
+charset CS_MAC_CROATIAN
+0000 0001 0002 0003 0004 0005 0006 0007 0008 0009 000a 000b 000c 000d 000e 000f
+0010 0011 0012 0013 0014 0015 0016 0017 0018 0019 001a 001b 001c 001d 001e 001f
+0020 0021 0022 0023 0024 0025 0026 0027 0028 0029 002a 002b 002c 002d 002e 002f
+0030 0031 0032 0033 0034 0035 0036 0037 0038 0039 003a 003b 003c 003d 003e 003f
+0040 0041 0042 0043 0044 0045 0046 0047 0048 0049 004a 004b 004c 004d 004e 004f
+0050 0051 0052 0053 0054 0055 0056 0057 0058 0059 005a 005b 005c 005d 005e 005f
+0060 0061 0062 0063 0064 0065 0066 0067 0068 0069 006a 006b 006c 006d 006e 006f
+0070 0071 0072 0073 0074 0075 0076 0077 0078 0079 007a 007b 007c 007d 007e 007f
+00c4 00c5 00c7 00c9 00d1 00d6 00dc 00e1 00e0 00e2 00e4 00e3 00e5 00e7 00e9 00e8
+00ea 00eb 00ed 00ec 00ee 00ef 00f1 00f3 00f2 00f4 00f6 00f5 00fa 00f9 00fb 00fc
+2020 00b0 00a2 00a3 00a7 2022 00b6 00df 00ae 0160 2122 00b4 00a8 2260 017d 00d8
+221e 00b1 2264 2265 2206 00b5 2202 2211 220f 0161 222b 00aa 00ba 03a9 017e 00f8
+00bf 00a1 00ac 221a 0192 2248 0106 00ab 010c 2026 00a0 00c0 00c3 00d5 0152 0153
+0110 2014 201c 201d 2018 2019 00f7 25ca f8ff 00a9 2044 20ac 2039 203a 00c6 00bb
+2013 00b7 201a 201e 2030 00c2 0107 00c1 010d 00c8 00cd 00ce 00cf 00cc 00d3 00d4
+0111 00d2 00da 00db 00d9 0131 02c6 02dc 00af 03c0 00cb 02da 00b8 00ca 00e6 02c7
+
+charset CS_MAC_ICELAND
+0000 0001 0002 0003 0004 0005 0006 0007 0008 0009 000a 000b 000c 000d 000e 000f
+0010 0011 0012 0013 0014 0015 0016 0017 0018 0019 001a 001b 001c 001d 001e 001f
+0020 0021 0022 0023 0024 0025 0026 0027 0028 0029 002a 002b 002c 002d 002e 002f
+0030 0031 0032 0033 0034 0035 0036 0037 0038 0039 003a 003b 003c 003d 003e 003f
+0040 0041 0042 0043 0044 0045 0046 0047 0048 0049 004a 004b 004c 004d 004e 004f
+0050 0051 0052 0053 0054 0055 0056 0057 0058 0059 005a 005b 005c 005d 005e 005f
+0060 0061 0062 0063 0064 0065 0066 0067 0068 0069 006a 006b 006c 006d 006e 006f
+0070 0071 0072 0073 0074 0075 0076 0077 0078 0079 007a 007b 007c 007d 007e 007f
+00c4 00c5 00c7 00c9 00d1 00d6 00dc 00e1 00e0 00e2 00e4 00e3 00e5 00e7 00e9 00e8
+00ea 00eb 00ed 00ec 00ee 00ef 00f1 00f3 00f2 00f4 00f6 00f5 00fa 00f9 00fb 00fc
+00dd 00b0 00a2 00a3 00a7 2022 00b6 00df 00ae 00a9 2122 00b4 00a8 2260 00c6 00d8
+221e 00b1 2264 2265 00a5 00b5 2202 2211 220f 03c0 222b 00aa 00ba 03a9 00e6 00f8
+00bf 00a1 00ac 221a 0192 2248 2206 00ab 00bb 2026 00a0 00c0 00c3 00d5 0152 0153
+2013 2014 201c 201d 2018 2019 00f7 25ca 00ff 0178 2044 20ac 00d0 00f0 00de 00fe
+00fd 00b7 201a 201e 2030 00c2 00ca 00c1 00cb 00c8 00cd 00ce 00cf 00cc 00d3 00d4
+f8ff 00d2 00da 00db 00d9 0131 02c6 02dc 00af 02d8 02d9 02da 00b8 02dd 02db 02c7
+
+charset CS_MAC_ROMANIAN
+0000 0001 0002 0003 0004 0005 0006 0007 0008 0009 000a 000b 000c 000d 000e 000f
+0010 0011 0012 0013 0014 0015 0016 0017 0018 0019 001a 001b 001c 001d 001e 001f
+0020 0021 0022 0023 0024 0025 0026 0027 0028 0029 002a 002b 002c 002d 002e 002f
+0030 0031 0032 0033 0034 0035 0036 0037 0038 0039 003a 003b 003c 003d 003e 003f
+0040 0041 0042 0043 0044 0045 0046 0047 0048 0049 004a 004b 004c 004d 004e 004f
+0050 0051 0052 0053 0054 0055 0056 0057 0058 0059 005a 005b 005c 005d 005e 005f
+0060 0061 0062 0063 0064 0065 0066 0067 0068 0069 006a 006b 006c 006d 006e 006f
+0070 0071 0072 0073 0074 0075 0076 0077 0078 0079 007a 007b 007c 007d 007e 007f
+00c4 00c5 00c7 00c9 00d1 00d6 00dc 00e1 00e0 00e2 00e4 00e3 00e5 00e7 00e9 00e8
+00ea 00eb 00ed 00ec 00ee 00ef 00f1 00f3 00f2 00f4 00f6 00f5 00fa 00f9 00fb 00fc
+2020 00b0 00a2 00a3 00a7 2022 00b6 00df 00ae 00a9 2122 00b4 00a8 2260 0102 0218
+221e 00b1 2264 2265 00a5 00b5 2202 2211 220f 03c0 222b 00aa 00ba 03a9 0103 0219
+00bf 00a1 00ac 221a 0192 2248 2206 00ab 00bb 2026 00a0 00c0 00c3 00d5 0152 0153
+2013 2014 201c 201d 2018 2019 00f7 25ca 00ff 0178 2044 20ac 2039 203a 021a 021b
+2021 00b7 201a 201e 2030 00c2 00ca 00c1 00cb 00c8 00cd 00ce 00cf 00cc 00d3 00d4
+f8ff 00d2 00da 00db 00d9 0131 02c6 02dc 00af 02d8 02d9 02da 00b8 02dd 02db 02c7
+
+charset CS_MAC_GREEK
+0000 0001 0002 0003 0004 0005 0006 0007 0008 0009 000a 000b 000c 000d 000e 000f
+0010 0011 0012 0013 0014 0015 0016 0017 0018 0019 001a 001b 001c 001d 001e 001f
+0020 0021 0022 0023 0024 0025 0026 0027 0028 0029 002a 002b 002c 002d 002e 002f
+0030 0031 0032 0033 0034 0035 0036 0037 0038 0039 003a 003b 003c 003d 003e 003f
+0040 0041 0042 0043 0044 0045 0046 0047 0048 0049 004a 004b 004c 004d 004e 004f
+0050 0051 0052 0053 0054 0055 0056 0057 0058 0059 005a 005b 005c 005d 005e 005f
+0060 0061 0062 0063 0064 0065 0066 0067 0068 0069 006a 006b 006c 006d 006e 006f
+0070 0071 0072 0073 0074 0075 0076 0077 0078 0079 007a 007b 007c 007d 007e 007f
+00c4 00b9 00b2 00c9 00b3 00d6 00dc 0385 00e0 00e2 00e4 0384 00a8 00e7 00e9 00e8
+00ea 00eb 00a3 2122 00ee 00ef 2022 00bd 2030 00f4 00f6 00a6 20ac 00f9 00fb 00fc
+2020 0393 0394 0398 039b 039e 03a0 00df 00ae 00a9 03a3 03aa 00a7 2260 00b0 00b7
+0391 00b1 2264 2265 00a5 0392 0395 0396 0397 0399 039a 039c 03a6 03ab 03a8 03a9
+03ac 039d 00ac 039f 03a1 2248 03a4 00ab 00bb 2026 00a0 03a5 03a7 0386 0388 0153
+2013 2015 201c 201d 2018 2019 00f7 0389 038a 038c 038e 03ad 03ae 03af 03cc 038f
+03cd 03b1 03b2 03c8 03b4 03b5 03c6 03b3 03b7 03b9 03be 03ba 03bb 03bc 03bd 03bf
+03c0 03ce 03c1 03c3 03c4 03b8 03c9 03c2 03c7 03c5 03b6 03ca 03cb 0390 03b0 00ad
+
+charset CS_MAC_CYRILLIC
+0000 0001 0002 0003 0004 0005 0006 0007 0008 0009 000a 000b 000c 000d 000e 000f
+0010 0011 0012 0013 0014 0015 0016 0017 0018 0019 001a 001b 001c 001d 001e 001f
+0020 0021 0022 0023 0024 0025 0026 0027 0028 0029 002a 002b 002c 002d 002e 002f
+0030 0031 0032 0033 0034 0035 0036 0037 0038 0039 003a 003b 003c 003d 003e 003f
+0040 0041 0042 0043 0044 0045 0046 0047 0048 0049 004a 004b 004c 004d 004e 004f
+0050 0051 0052 0053 0054 0055 0056 0057 0058 0059 005a 005b 005c 005d 005e 005f
+0060 0061 0062 0063 0064 0065 0066 0067 0068 0069 006a 006b 006c 006d 006e 006f
+0070 0071 0072 0073 0074 0075 0076 0077 0078 0079 007a 007b 007c 007d 007e 007f
+0410 0411 0412 0413 0414 0415 0416 0417 0418 0419 041a 041b 041c 041d 041e 041f
+0420 0421 0422 0423 0424 0425 0426 0427 0428 0429 042a 042b 042c 042d 042e 042f
+2020 00b0 0490 00a3 00a7 2022 00b6 0406 00ae 00a9 2122 0402 0452 2260 0403 0453
+221e 00b1 2264 2265 0456 00b5 0491 0408 0404 0454 0407 0457 0409 0459 040a 045a
+0458 0405 00ac 221a 0192 2248 2206 00ab 00bb 2026 00a0 040b 045b 040c 045c 0455
+2013 2014 201c 201d 2018 2019 00f7 201e 040e 045e 040f 045f 2116 0401 0451 044f
+0430 0431 0432 0433 0434 0435 0436 0437 0438 0439 043a 043b 043c 043d 043e 043f
+0440 0441 0442 0443 0444 0445 0446 0447 0448 0449 044a 044b 044c 044d 044e 20ac
+
+charset CS_MAC_THAI
+0000 0001 0002 0003 0004 0005 0006 0007 0008 0009 000a 000b 000c 000d 000e 000f
+0010 0011 0012 0013 0014 0015 0016 0017 0018 0019 001a 001b 001c 001d 001e 001f
+0020 0021 0022 0023 0024 0025 0026 0027 0028 0029 002a 002b 002c 002d 002e 002f
+0030 0031 0032 0033 0034 0035 0036 0037 0038 0039 003a 003b 003c 003d 003e 003f
+0040 0041 0042 0043 0044 0045 0046 0047 0048 0049 004a 004b 004c 004d 004e 004f
+0050 0051 0052 0053 0054 0055 0056 0057 0058 0059 005a 005b 005c 005d 005e 005f
+0060 0061 0062 0063 0064 0065 0066 0067 0068 0069 006a 006b 006c 006d 006e 006f
+0070 0071 0072 0073 0074 0075 0076 0077 0078 0079 007a 007b 007c 007d 007e 007f
+00ab 00bb 2026 0e48 0e49 0e4a 0e4b 0e4c 0e48 0e49 0e4a 0e4b 0e4c 201c 201d 0e4d
+XXXX 2022 0e31 0e47 0e34 0e35 0e36 0e37 0e48 0e49 0e4a 0e4b 0e4c 2018 2019 XXXX
+00a0 0e01 0e02 0e03 0e04 0e05 0e06 0e07 0e08 0e09 0e0a 0e0b 0e0c 0e0d 0e0e 0e0f
+0e10 0e11 0e12 0e13 0e14 0e15 0e16 0e17 0e18 0e19 0e1a 0e1b 0e1c 0e1d 0e1e 0e1f
+0e20 0e21 0e22 0e23 0e24 0e25 0e26 0e27 0e28 0e29 0e2a 0e2b 0e2c 0e2d 0e2e 0e2f
+0e30 0e31 0e32 0e33 0e34 0e35 0e36 0e37 0e38 0e39 0e3a 2060 200b 2013 2014 0e3f
+0e40 0e41 0e42 0e43 0e44 0e45 0e46 0e47 0e48 0e49 0e4a 0e4b 0e4c 0e4d 2122 0e4f
+0e50 0e51 0e52 0e53 0e54 0e55 0e56 0e57 0e58 0e59 00ae 00a9 XXXX XXXX XXXX XXXX
+
+charset CS_MAC_CENTEURO
+0000 0001 0002 0003 0004 0005 0006 0007 0008 0009 000a 000b 000c 000d 000e 000f
+0010 0011 0012 0013 0014 0015 0016 0017 0018 0019 001a 001b 001c 001d 001e 001f
+0020 0021 0022 0023 0024 0025 0026 0027 0028 0029 002a 002b 002c 002d 002e 002f
+0030 0031 0032 0033 0034 0035 0036 0037 0038 0039 003a 003b 003c 003d 003e 003f
+0040 0041 0042 0043 0044 0045 0046 0047 0048 0049 004a 004b 004c 004d 004e 004f
+0050 0051 0052 0053 0054 0055 0056 0057 0058 0059 005a 005b 005c 005d 005e 005f
+0060 0061 0062 0063 0064 0065 0066 0067 0068 0069 006a 006b 006c 006d 006e 006f
+0070 0071 0072 0073 0074 0075 0076 0077 0078 0079 007a 007b 007c 007d 007e 007f
+00c4 0100 0101 00c9 0104 00d6 00dc 00e1 0105 010c 00e4 010d 0106 0107 00e9 0179
+017a 010e 00ed 010f 0112 0113 0116 00f3 0117 00f4 00f6 00f5 00fa 011a 011b 00fc
+2020 00b0 0118 00a3 00a7 2022 00b6 00df 00ae 00a9 2122 0119 00a8 2260 0123 012e
+012f 012a 2264 2265 012b 0136 2202 2211 0142 013b 013c 013d 013e 0139 013a 0145
+0146 0143 00ac 221a 0144 0147 2206 00ab 00bb 2026 00a0 0148 0150 00d5 0151 014c
+2013 2014 201c 201d 2018 2019 00f7 25ca 014d 0154 0155 0158 2039 203a 0159 0156
+0157 0160 201a 201e 0161 015a 015b 00c1 0164 0165 00cd 017d 017e 016a 00d3 00d4
+016b 016e 00da 016f 0170 0171 0172 0173 00dd 00fd 0137 017b 0141 017c 0122 02c7
+
+charset CS_MAC_SYMBOL
+0000 0001 0002 0003 0004 0005 0006 0007 0008 0009 000a 000b 000c 000d 000e 000f
+0010 0011 0012 0013 0014 0015 0016 0017 0018 0019 001a 001b 001c 001d 001e 001f
+0020 0021 2200 0023 2203 0025 0026 220d 0028 0029 2217 002b 002c 2212 002e 002f
+0030 0031 0032 0033 0034 0035 0036 0037 0038 0039 003a 003b 003c 003d 003e 003f
+2245 0391 0392 03a7 0394 0395 03a6 0393 0397 0399 03d1 039a 039b 039c 039d 039f
+03a0 0398 03a1 03a3 03a4 03a5 03c2 03a9 039e 03a8 0396 005b 2234 005d 22a5 005f
+f8e5 03b1 03b2 03c7 03b4 03b5 03c6 03b3 03b7 03b9 03d5 03ba 03bb 03bc 03bd 03bf
+03c0 03b8 03c1 03c3 03c4 03c5 03d6 03c9 03be 03c8 03b6 007b 007c 007d 223c 007f
+XXXX XXXX XXXX XXXX XXXX XXXX XXXX XXXX XXXX XXXX XXXX XXXX XXXX XXXX XXXX XXXX
+XXXX XXXX XXXX XXXX XXXX XXXX XXXX XXXX XXXX XXXX XXXX XXXX XXXX XXXX XXXX XXXX
+20ac 03d2 2032 2264 2044 221e 0192 2663 2666 2665 2660 2194 2190 2191 2192 2193
+00b0 00b1 2033 2265 00d7 221d 2202 2022 00f7 2260 2261 2248 2026 f8e6 23af 21b5
+2135 2111 211c 2118 2297 2295 2205 2229 222a 2283 2287 2284 2282 2286 2208 2209
+2220 2207 00ae 00a9 2122 220f 221a 22c5 00ac 2227 2228 21d4 21d0 21d1 21d2 21d3
+22c4 3008 00ae 00a9 2122 2211 239b 239c 239d 23a1 23a2 23a3 23a7 23a8 23a9 23aa
+f8ff 3009 222b 2320 23ae 2321 239e 239f 23a0 23a4 23a5 23a6 23ab 23ac 23ad XXXX
+
+charset CS_MAC_DINGBATS
+0000 0001 0002 0003 0004 0005 0006 0007 0008 0009 000a 000b 000c 000d 000e 000f
+0010 0011 0012 0013 0014 0015 0016 0017 0018 0019 001a 001b 001c 001d 001e 001f
+0020 2701 2702 2703 2704 260e 2706 2707 2708 2709 261b 261e 270c 270d 270e 270f
+2710 2711 2712 2713 2714 2715 2716 2717 2718 2719 271a 271b 271c 271d 271e 271f
+2720 2721 2722 2723 2724 2725 2726 2727 2605 2729 272a 272b 272c 272d 272e 272f
+2730 2731 2732 2733 2734 2735 2736 2737 2738 2739 273a 273b 273c 273d 273e 273f
+2740 2741 2742 2743 2744 2745 2746 2747 2748 2749 274a 274b 25cf 274d 25a0 274f
+2750 2751 2752 25b2 25bc 25c6 2756 25d7 2758 2759 275a 275b 275c 275d 275e 007f
+2768 2769 276a 276b 276c 276d 276e 276f 2770 2771 2772 2773 2774 2775 XXXX XXXX
+XXXX XXXX XXXX XXXX XXXX XXXX XXXX XXXX XXXX XXXX XXXX XXXX XXXX XXXX XXXX XXXX
+XXXX 2761 2762 2763 2764 2765 2766 2767 2663 2666 2665 2660 2460 2461 2462 2463
+2464 2465 2466 2467 2468 2469 2776 2777 2778 2779 277a 277b 277c 277d 277e 277f
+2780 2781 2782 2783 2784 2785 2786 2787 2788 2789 278a 278b 278c 278d 278e 278f
+2790 2791 2792 2793 2794 2192 2194 2195 2798 2799 279a 279b 279c 279d 279e 279f
+27a0 27a1 27a2 27a3 27a4 27a5 27a6 27a7 27a8 27a9 27aa 27ab 27ac 27ad 27ae 27af
+XXXX 27b1 27b2 27b3 27b4 27b5 27b6 27b7 27b8 27b9 27ba 27bb 27bc 27bd 27be XXXX
+
+  Various Mac character sets have older (usually pre-Euro) variants
+  which are documented in the comments in their mapping tables.  I've
+  manually applied these changes below.
+
+  Mac OS Roman variants before Mac OS 8.5 (CURRENCY SIGN rather than
+  EURO SIGN):
+
+charset CS_MAC_ROMAN_OLD
+0000 0001 0002 0003 0004 0005 0006 0007 0008 0009 000a 000b 000c 000d 000e 000f
+0010 0011 0012 0013 0014 0015 0016 0017 0018 0019 001a 001b 001c 001d 001e 001f
+0020 0021 0022 0023 0024 0025 0026 0027 0028 0029 002a 002b 002c 002d 002e 002f
+0030 0031 0032 0033 0034 0035 0036 0037 0038 0039 003a 003b 003c 003d 003e 003f
+0040 0041 0042 0043 0044 0045 0046 0047 0048 0049 004a 004b 004c 004d 004e 004f
+0050 0051 0052 0053 0054 0055 0056 0057 0058 0059 005a 005b 005c 005d 005e 005f
+0060 0061 0062 0063 0064 0065 0066 0067 0068 0069 006a 006b 006c 006d 006e 006f
+0070 0071 0072 0073 0074 0075 0076 0077 0078 0079 007a 007b 007c 007d 007e 007f
+00c4 00c5 00c7 00c9 00d1 00d6 00dc 00e1 00e0 00e2 00e4 00e3 00e5 00e7 00e9 00e8
+00ea 00eb 00ed 00ec 00ee 00ef 00f1 00f3 00f2 00f4 00f6 00f5 00fa 00f9 00fb 00fc
+2020 00b0 00a2 00a3 00a7 2022 00b6 00df 00ae 00a9 2122 00b4 00a8 2260 00c6 00d8
+221e 00b1 2264 2265 00a5 00b5 2202 2211 220f 03c0 222b 00aa 00ba 03a9 00e6 00f8
+00bf 00a1 00ac 221a 0192 2248 2206 00ab 00bb 2026 00a0 00c0 00c3 00d5 0152 0153
+2013 2014 201c 201d 2018 2019 00f7 25ca 00ff 0178 2044 00a4 2039 203a fb01 fb02
+2021 00b7 201a 201e 2030 00c2 00ca 00c1 00cb 00c8 00cd 00ce 00cf 00cc 00d3 00d4
+f8ff 00d2 00da 00db 00d9 0131 02c6 02dc 00af 02d8 02d9 02da 00b8 02dd 02db 02c7
+
+charset CS_MAC_CROATIAN_OLD
+0000 0001 0002 0003 0004 0005 0006 0007 0008 0009 000a 000b 000c 000d 000e 000f
+0010 0011 0012 0013 0014 0015 0016 0017 0018 0019 001a 001b 001c 001d 001e 001f
+0020 0021 0022 0023 0024 0025 0026 0027 0028 0029 002a 002b 002c 002d 002e 002f
+0030 0031 0032 0033 0034 0035 0036 0037 0038 0039 003a 003b 003c 003d 003e 003f
+0040 0041 0042 0043 0044 0045 0046 0047 0048 0049 004a 004b 004c 004d 004e 004f
+0050 0051 0052 0053 0054 0055 0056 0057 0058 0059 005a 005b 005c 005d 005e 005f
+0060 0061 0062 0063 0064 0065 0066 0067 0068 0069 006a 006b 006c 006d 006e 006f
+0070 0071 0072 0073 0074 0075 0076 0077 0078 0079 007a 007b 007c 007d 007e 007f
+00c4 00c5 00c7 00c9 00d1 00d6 00dc 00e1 00e0 00e2 00e4 00e3 00e5 00e7 00e9 00e8
+00ea 00eb 00ed 00ec 00ee 00ef 00f1 00f3 00f2 00f4 00f6 00f5 00fa 00f9 00fb 00fc
+2020 00b0 00a2 00a3 00a7 2022 00b6 00df 00ae 0160 2122 00b4 00a8 2260 017d 00d8
+221e 00b1 2264 2265 2206 00b5 2202 2211 220f 0161 222b 00aa 00ba 03a9 017e 00f8
+00bf 00a1 00ac 221a 0192 2248 0106 00ab 010c 2026 00a0 00c0 00c3 00d5 0152 0153
+0110 2014 201c 201d 2018 2019 00f7 25ca f8ff 00a9 2044 00a4 2039 203a 00c6 00bb
+2013 00b7 201a 201e 2030 00c2 0107 00c1 010d 00c8 00cd 00ce 00cf 00cc 00d3 00d4
+0111 00d2 00da 00db 00d9 0131 02c6 02dc 00af 03c0 00cb 02da 00b8 00ca 00e6 02c7
+
+charset CS_MAC_ICELAND_OLD
+0000 0001 0002 0003 0004 0005 0006 0007 0008 0009 000a 000b 000c 000d 000e 000f
+0010 0011 0012 0013 0014 0015 0016 0017 0018 0019 001a 001b 001c 001d 001e 001f
+0020 0021 0022 0023 0024 0025 0026 0027 0028 0029 002a 002b 002c 002d 002e 002f
+0030 0031 0032 0033 0034 0035 0036 0037 0038 0039 003a 003b 003c 003d 003e 003f
+0040 0041 0042 0043 0044 0045 0046 0047 0048 0049 004a 004b 004c 004d 004e 004f
+0050 0051 0052 0053 0054 0055 0056 0057 0058 0059 005a 005b 005c 005d 005e 005f
+0060 0061 0062 0063 0064 0065 0066 0067 0068 0069 006a 006b 006c 006d 006e 006f
+0070 0071 0072 0073 0074 0075 0076 0077 0078 0079 007a 007b 007c 007d 007e 007f
+00c4 00c5 00c7 00c9 00d1 00d6 00dc 00e1 00e0 00e2 00e4 00e3 00e5 00e7 00e9 00e8
+00ea 00eb 00ed 00ec 00ee 00ef 00f1 00f3 00f2 00f4 00f6 00f5 00fa 00f9 00fb 00fc
+00dd 00b0 00a2 00a3 00a7 2022 00b6 00df 00ae 00a9 2122 00b4 00a8 2260 00c6 00d8
+221e 00b1 2264 2265 00a5 00b5 2202 2211 220f 03c0 222b 00aa 00ba 03a9 00e6 00f8
+00bf 00a1 00ac 221a 0192 2248 2206 00ab 00bb 2026 00a0 00c0 00c3 00d5 0152 0153
+2013 2014 201c 201d 2018 2019 00f7 25ca 00ff 0178 2044 00a4 00d0 00f0 00de 00fe
+00fd 00b7 201a 201e 2030 00c2 00ca 00c1 00cb 00c8 00cd 00ce 00cf 00cc 00d3 00d4
+f8ff 00d2 00da 00db 00d9 0131 02c6 02dc 00af 02d8 02d9 02da 00b8 02dd 02db 02c7
+
+charset CS_MAC_ROMANIAN_OLD
+0000 0001 0002 0003 0004 0005 0006 0007 0008 0009 000a 000b 000c 000d 000e 000f
+0010 0011 0012 0013 0014 0015 0016 0017 0018 0019 001a 001b 001c 001d 001e 001f
+0020 0021 0022 0023 0024 0025 0026 0027 0028 0029 002a 002b 002c 002d 002e 002f
+0030 0031 0032 0033 0034 0035 0036 0037 0038 0039 003a 003b 003c 003d 003e 003f
+0040 0041 0042 0043 0044 0045 0046 0047 0048 0049 004a 004b 004c 004d 004e 004f
+0050 0051 0052 0053 0054 0055 0056 0057 0058 0059 005a 005b 005c 005d 005e 005f
+0060 0061 0062 0063 0064 0065 0066 0067 0068 0069 006a 006b 006c 006d 006e 006f
+0070 0071 0072 0073 0074 0075 0076 0077 0078 0079 007a 007b 007c 007d 007e 007f
+00c4 00c5 00c7 00c9 00d1 00d6 00dc 00e1 00e0 00e2 00e4 00e3 00e5 00e7 00e9 00e8
+00ea 00eb 00ed 00ec 00ee 00ef 00f1 00f3 00f2 00f4 00f6 00f5 00fa 00f9 00fb 00fc
+2020 00b0 00a2 00a3 00a7 2022 00b6 00df 00ae 00a9 2122 00b4 00a8 2260 0102 0218
+221e 00b1 2264 2265 00a5 00b5 2202 2211 220f 03c0 222b 00aa 00ba 03a9 0103 0219
+00bf 00a1 00ac 221a 0192 2248 2206 00ab 00bb 2026 00a0 00c0 00c3 00d5 0152 0153
+2013 2014 201c 201d 2018 2019 00f7 25ca 00ff 0178 2044 00a4 2039 203a 021a 021b
+2021 00b7 201a 201e 2030 00c2 00ca 00c1 00cb 00c8 00cd 00ce 00cf 00cc 00d3 00d4
+f8ff 00d2 00da 00db 00d9 0131 02c6 02dc 00af 02d8 02d9 02da 00b8 02dd 02db 02c7
+
+  Mac OS Greek before Mac OS 9.2.2 (SOFT HYPHEN instead of EURO SIGN,
+  and undefined instead of SOFT HYPHEN).
+
+charset CS_MAC_GREEK_OLD
+0000 0001 0002 0003 0004 0005 0006 0007 0008 0009 000a 000b 000c 000d 000e 000f
+0010 0011 0012 0013 0014 0015 0016 0017 0018 0019 001a 001b 001c 001d 001e 001f
+0020 0021 0022 0023 0024 0025 0026 0027 0028 0029 002a 002b 002c 002d 002e 002f
+0030 0031 0032 0033 0034 0035 0036 0037 0038 0039 003a 003b 003c 003d 003e 003f
+0040 0041 0042 0043 0044 0045 0046 0047 0048 0049 004a 004b 004c 004d 004e 004f
+0050 0051 0052 0053 0054 0055 0056 0057 0058 0059 005a 005b 005c 005d 005e 005f
+0060 0061 0062 0063 0064 0065 0066 0067 0068 0069 006a 006b 006c 006d 006e 006f
+0070 0071 0072 0073 0074 0075 0076 0077 0078 0079 007a 007b 007c 007d 007e 007f
+00c4 00b9 00b2 00c9 00b3 00d6 00dc 0385 00e0 00e2 00e4 0384 00a8 00e7 00e9 00e8
+00ea 00eb 00a3 2122 00ee 00ef 2022 00bd 2030 00f4 00f6 00a6 00ad 00f9 00fb 00fc
+2020 0393 0394 0398 039b 039e 03a0 00df 00ae 00a9 03a3 03aa 00a7 2260 00b0 00b7
+0391 00b1 2264 2265 00a5 0392 0395 0396 0397 0399 039a 039c 03a6 03ab 03a8 03a9
+03ac 039d 00ac 039f 03a1 2248 03a4 00ab 00bb 2026 00a0 03a5 03a7 0386 0388 0153
+2013 2015 201c 201d 2018 2019 00f7 0389 038a 038c 038e 03ad 03ae 03af 03cc 038f
+03cd 03b1 03b2 03c8 03b4 03b5 03c6 03b3 03b7 03b9 03be 03ba 03bb 03bc 03bd 03bf
+03c0 03ce 03c1 03c3 03c4 03b8 03c9 03c2 03c7 03c5 03b6 03ca 03cb 0390 03b0 XXXX
+
+  Mac OS Cyrillic before Mac OS 9.0 (CENT SIGN instead of CYRILLIC
+  CAPITAL LETTER GHE WITH UPTURN, PARTIAL DIFFERENTIAL instead of
+  CYRILLIC SMALL LETTER GHE WITH UPTURN, CURRENCY SIGN instead of EURO
+  SIGN):
+
+charset CS_MAC_CYRILLIC_OLD
+0000 0001 0002 0003 0004 0005 0006 0007 0008 0009 000a 000b 000c 000d 000e 000f
+0010 0011 0012 0013 0014 0015 0016 0017 0018 0019 001a 001b 001c 001d 001e 001f
+0020 0021 0022 0023 0024 0025 0026 0027 0028 0029 002a 002b 002c 002d 002e 002f
+0030 0031 0032 0033 0034 0035 0036 0037 0038 0039 003a 003b 003c 003d 003e 003f
+0040 0041 0042 0043 0044 0045 0046 0047 0048 0049 004a 004b 004c 004d 004e 004f
+0050 0051 0052 0053 0054 0055 0056 0057 0058 0059 005a 005b 005c 005d 005e 005f
+0060 0061 0062 0063 0064 0065 0066 0067 0068 0069 006a 006b 006c 006d 006e 006f
+0070 0071 0072 0073 0074 0075 0076 0077 0078 0079 007a 007b 007c 007d 007e 007f
+0410 0411 0412 0413 0414 0415 0416 0417 0418 0419 041a 041b 041c 041d 041e 041f
+0420 0421 0422 0423 0424 0425 0426 0427 0428 0429 042a 042b 042c 042d 042e 042f
+2020 00b0 00a2 00a3 00a7 2022 00b6 0406 00ae 00a9 2122 0402 0452 2260 0403 0453
+221e 00b1 2264 2265 0456 00b5 2022 0408 0404 0454 0407 0457 0409 0459 040a 045a
+0458 0405 00ac 221a 0192 2248 2206 00ab 00bb 2026 00a0 040b 045b 040c 045c 0455
+2013 2014 201c 201d 2018 2019 00f7 201e 040e 045e 040f 045f 2116 0401 0451 044f
+0430 0431 0432 0433 0434 0435 0436 0437 0438 0439 043a 043b 043c 043d 043e 043f
+0440 0441 0442 0443 0444 0445 0446 0447 0448 0449 044a 044b 044c 044d 044e 00a4
+
+  Mac OS Ukrainian (now Cyrillic) before Mac OS 9.0 (CURRENCY SIGN
+  instead of EURO SIGN):
+
+charset CS_MAC_UKRAINE
+0000 0001 0002 0003 0004 0005 0006 0007 0008 0009 000a 000b 000c 000d 000e 000f
+0010 0011 0012 0013 0014 0015 0016 0017 0018 0019 001a 001b 001c 001d 001e 001f
+0020 0021 0022 0023 0024 0025 0026 0027 0028 0029 002a 002b 002c 002d 002e 002f
+0030 0031 0032 0033 0034 0035 0036 0037 0038 0039 003a 003b 003c 003d 003e 003f
+0040 0041 0042 0043 0044 0045 0046 0047 0048 0049 004a 004b 004c 004d 004e 004f
+0050 0051 0052 0053 0054 0055 0056 0057 0058 0059 005a 005b 005c 005d 005e 005f
+0060 0061 0062 0063 0064 0065 0066 0067 0068 0069 006a 006b 006c 006d 006e 006f
+0070 0071 0072 0073 0074 0075 0076 0077 0078 0079 007a 007b 007c 007d 007e 007f
+0410 0411 0412 0413 0414 0415 0416 0417 0418 0419 041a 041b 041c 041d 041e 041f
+0420 0421 0422 0423 0424 0425 0426 0427 0428 0429 042a 042b 042c 042d 042e 042f
+2020 00b0 0490 00a3 00a7 2022 00b6 0406 00ae 00a9 2122 0402 0452 2260 0403 0453
+221e 00b1 2264 2265 0456 00b5 0491 0408 0404 0454 0407 0457 0409 0459 040a 045a
+0458 0405 00ac 221a 0192 2248 2206 00ab 00bb 2026 00a0 040b 045b 040c 045c 0455
+2013 2014 201c 201d 2018 2019 00f7 201e 040e 045e 040f 045f 2116 0401 0451 044f
+0430 0431 0432 0433 0434 0435 0436 0437 0438 0439 043a 043b 043c 043d 043e 043f
+0440 0441 0442 0443 0444 0445 0446 0447 0448 0449 044a 044b 044c 044d 044e 00a4
+
+  Mac OS VT100 character set, as used by the "VT100" font.  Basically
+  Mac OS Roman hacked about to give it an almost-Latin1 repertoire and
+  most of the VT100 line-drawing set too.
+
+  Point CA is the backward question-mark used for silo overflows.
+
+  This table was derived by pasting the relevant part of 'utom' 140
+  from the "Western Language Encodings" file shipped with TEC 1.5 and
+  then manually fixing up the scan line characters to use the Unicode
+  3.2 HORIZONTAL SCAN LINE characters rather than UPPER ONE EIGHTH
+  BLOCK and LOWER ONE EIGHTH BLOCK with transcoding hints.
+
+charset CS_MAC_VT100
+2400 2401 2402 2403 2404 2405 2406 2407 2408 2409 240a 240b 240c 240d 240e 240f
+2410 2411 2412 2413 2414 2415 2416 2417 2418 2419 241a 241b 241c 241d 241e 241f
+0020 0021 0022 0023 0024 0025 0026 0027 0028 0029 002a 002b 002c 002d 002e 002f
+0030 0031 0032 0033 0034 0035 0036 0037 0038 0039 003a 003b 003c 003d 003e 003f
+0040 0041 0042 0043 0044 0045 0046 0047 0048 0049 004a 004b 004c 004d 004e 004f
+0050 0051 0052 0053 0054 0055 0056 0057 0058 0059 005a 005b 005c 005d 005e 005f
+0060 0061 0062 0063 0064 0065 0066 0067 0068 0069 006a 006b 006c 006d 006e 006f
+0070 0071 0072 0073 0074 0075 0076 0077 0078 0079 007a 007b 007c 007d 007e 2421
+00c4 00c5 00c7 00c9 00d1 00d6 00dc 00e1 00e0 00e2 00e4 00e3 00e5 00e7 00e9 00e8
+00ea 00eb 00ed 00ec 00ee 00ef 00f1 00f3 00f2 00f4 00f6 00f5 00fa 00f9 00fb 00fc
+00dd 00b0 00a2 00a3 00a7 00b8 00b6 00df 00ae 00a9 2122 00b4 00a8 2260 00c6 00d8
+00d7 00b1 2264 2265 00a5 00b5 00b9 00b2 00b3 03c0 00a6 00aa 00ba 2592 00e6 00f8
+00bf 00a1 00ac 00bd 0192 00bc 00be 00ab 00bb 2026 XXXX 00c0 00c3 00d5 0152 0153
+2013 2014 2518 2510 250c 2514 00f7 2022 00ff 0178 253c 20ac 00d0 00f0 00fe 00de
+00fd 00b7 23ba 23bb 2500 00c2 00ca 00c1 00cb 00c8 00cd 00ce 00cf 00cc 00d3 00d4
+XXXX 00d2 00da 00db 00d9 23bc 23bd 251c 2524 2534 252c 2502 XXXX XXXX XXXX XXXX
+
+  As with so many others, before Mac OS 8.5 this font had CURRENCY
+  SIGN rather than EURO SIGN.
+
+charset CS_MAC_VT100_OLD
+2400 2401 2402 2403 2404 2405 2406 2407 2408 2409 240a 240b 240c 240d 240e 240f
+2410 2411 2412 2413 2414 2415 2416 2417 2418 2419 241a 241b 241c 241d 241e 241f
+0020 0021 0022 0023 0024 0025 0026 0027 0028 0029 002a 002b 002c 002d 002e 002f
+0030 0031 0032 0033 0034 0035 0036 0037 0038 0039 003a 003b 003c 003d 003e 003f
+0040 0041 0042 0043 0044 0045 0046 0047 0048 0049 004a 004b 004c 004d 004e 004f
+0050 0051 0052 0053 0054 0055 0056 0057 0058 0059 005a 005b 005c 005d 005e 005f
+0060 0061 0062 0063 0064 0065 0066 0067 0068 0069 006a 006b 006c 006d 006e 006f
+0070 0071 0072 0073 0074 0075 0076 0077 0078 0079 007a 007b 007c 007d 007e 2421
+00c4 00c5 00c7 00c9 00d1 00d6 00dc 00e1 00e0 00e2 00e4 00e3 00e5 00e7 00e9 00e8
+00ea 00eb 00ed 00ec 00ee 00ef 00f1 00f3 00f2 00f4 00f6 00f5 00fa 00f9 00fb 00fc
+00dd 00b0 00a2 00a3 00a7 00b8 00b6 00df 00ae 00a9 2122 00b4 00a8 2260 00c6 00d8
+00d7 00b1 2264 2265 00a5 00b5 00b9 00b2 00b3 03c0 00a6 00aa 00ba 2592 00e6 00f8
+00bf 00a1 00ac 00bd 0192 00bc 00be 00ab 00bb 2026 XXXX 00c0 00c3 00d5 0152 0153
+2013 2014 2518 2510 250c 2514 00f7 2022 00ff 0178 253c 00a4 00d0 00f0 00fe 00de
+00fd 00b7 23ba 23bb 2500 00c2 00ca 00c1 00cb 00c8 00cd 00ce 00cf 00cc 00d3 00d4
+XXXX 00d2 00da 00db 00d9 23bc 23bd 251c 2524 2534 252c 2502 XXXX XXXX XXXX XXXX
+
+  Roman Czyborra's web site (http://czyborra.com/) has a variety of
+  other useful mapping tables, in a slightly different format (and
+  gzipped). Here's a shell/Perl function to generate an SBCS table
+  from a Czyborra mapping table:
+
+  gensbcs_c() {
+  wget -q -O - "$1" | gzip -d | \
+  perl -ne '/^=(.*)\s+U\+(.*)\s+/ and $a[hex $1]=sprintf "%04x", hex $2;' \
+   -e 'BEGIN{for($i=0;$i<256;$i++){$a[$i]="XXXX";' \
+   -e 'if ($i < 32 or ($i >=127 and $i < 160)) {$a[$i]=sprintf "%04x", $i}}}' \
+   -e 'END{for($i=0;$i<256;$i++){printf"%s%s",$a[$i],$i%16==15?"\n":" "}}'
+  }
+
+  So here we have some character sets generated from Czyborra
+  mapping tables: VISCII, HP-Roman8, and the DEC Multinational
+  Character Set.
+
+  { echo charset CS_VISCII;
+    gensbcs_c http://czyborra.com/charsets/viscii.txt.gz; echo;
+    echo charset CS_HP_ROMAN8;
+    gensbcs_c http://czyborra.com/charsets/hp-roman8.txt.gz; echo;
+    echo charset CS_DEC_MCS;
+    gensbcs_c http://czyborra.com/charsets/dec-mcs.txt.gz; echo; }
+
+charset CS_VISCII
+0000 0001 1eb2 0003 0004 1eb4 1eaa 0007 0008 0009 000a 000b 000c 000d 000e 000f
+0010 0011 0012 0013 1ef6 0015 0016 0017 0018 1ef8 001a 001b 001c 001d 1ef4 001f
+0020 0021 0022 0023 0024 0025 0026 0027 0028 0029 002a 002b 002c 002d 002e 002f
+0030 0031 0032 0033 0034 0035 0036 0037 0038 0039 003a 003b 003c 003d 003e 003f
+0040 0041 0042 0043 0044 0045 0046 0047 0048 0049 004a 004b 004c 004d 004e 004f
+0050 0051 0052 0053 0054 0055 0056 0057 0058 0059 005a 005b 005c 005d 005e 005f
+0060 0061 0062 0063 0064 0065 0066 0067 0068 0069 006a 006b 006c 006d 006e 006f
+0070 0071 0072 0073 0074 0075 0076 0077 0078 0079 007a 007b 007c 007d 007e 007f
+1ea0 1eae 1eb0 1eb6 1ea4 1ea6 1ea8 1eac 1ebc 1eb8 1ebe 1ec0 1ec2 1ec4 1ec6 1ed0
+1ed2 1ed4 1ed6 1ed8 1ee2 1eda 1edc 1ede 1eca 1ece 1ecc 1ec8 1ee6 0168 1ee4 1ef2
+00d5 1eaf 1eb1 1eb7 1ea5 1ea7 1ea8 1ead 1ebd 1eb9 1ebf 1ec1 1ec3 1ec5 1ec7 1ed1
+1ed3 1ed5 1ed7 1ee0 01a0 1ed9 1edd 1edf 1ecb 1ef0 1ee8 1eea 1eec 01a1 1edb 01af
+00c0 00c1 00c2 00c3 1ea2 0102 1eb3 1eb5 00c8 00c9 00ca 1eba 00cc 00cd 0128 1ef3
+0110 1ee9 00d2 00d3 00d4 1ea1 1ef7 1eeb 1eed 00d9 00da 1ef9 1ef5 00dd 1ee1 01b0
+00e0 00e1 00e2 00e3 1ea3 0103 1eef 1eab 00e8 00e9 00ea 1ebb 00ec 00ed 0129 1ec9
+0111 1ef1 00f2 00f3 00f4 00f5 1ecf 1ecd 1ee5 00f9 00fa 0169 1ee7 00fd 1ee3 1eee
+
+charset CS_HP_ROMAN8
+0000 0001 0002 0003 0004 0005 0006 0007 0008 0009 000a 000b 000c 000d 000e 000f
+0010 0011 0012 0013 0014 0015 0016 0017 0018 0019 001a 001b 001c 001d 001e 001f
+0020 0021 0022 0023 0024 0025 0026 0027 0028 0029 002a 002b 002c 002d 002e 002f
+0030 0031 0032 0033 0034 0035 0036 0037 0038 0039 003a 003b 003c 003d 003e 003f
+0040 0041 0042 0043 0044 0045 0046 0047 0048 0049 004a 004b 004c 004d 004e 004f
+0050 0051 0052 0053 0054 0055 0056 0057 0058 0059 005a 005b 005c 005d 005e 005f
+0060 0061 0062 0063 0064 0065 0066 0067 0068 0069 006a 006b 006c 006d 006e 006f
+0070 0071 0072 0073 0074 0075 0076 0077 0078 0079 007a 007b 007c 007d 007e 007f
+0080 0081 0082 0083 0084 0085 0086 0087 0088 0089 008a 008b 008c 008d 008e 008f
+0090 0091 0092 0093 0094 0095 0096 0097 0098 0099 009a 009b 009c 009d 009e 009f
+00a0 00c0 00c2 00c8 00ca 00cb 00ce 00cf 00b4 02cb 02c6 00a8 02dc 00d9 00db 20a4
+00af 00dd 00fd 00b0 00c7 00e7 00d1 00f1 00a1 00bf 00a4 00a3 00a5 00a7 0192 00a2
+00e2 00ea 00f4 00fb 00e1 00e9 00f3 00fa 00e0 00e8 00f2 00f9 00e4 00eb 00f6 00fc
+00c5 00ee 00d8 00c6 00e5 00ed 00f8 00e6 00c4 00ec 00d6 00dc 00c9 00ef 00df 00d4
+00c1 00c3 00e3 00d0 00f0 00cd 00cc 00d3 00d2 00d5 00f5 0160 0161 00da 0178 00ff
+00de 00fe 00b7 00b5 00b6 00be 2014 00bc 00bd 00aa 00ba 00ab 25a0 00bb 00b1 XXXX
+
+charset CS_DEC_MCS
+0000 0001 0002 0003 0004 0005 0006 0007 0008 0009 000a 000b 000c 000d 000e 000f
+0010 0011 0012 0013 0014 0015 0016 0017 0018 0019 001a 001b 001c 001d 001e 001f
+0020 0021 0022 0023 0024 0025 0026 0027 0028 0029 002a 002b 002c 002d 002e 002f
+0030 0031 0032 0033 0034 0035 0036 0037 0038 0039 003a 003b 003c 003d 003e 003f
+0040 0041 0042 0043 0044 0045 0046 0047 0048 0049 004a 004b 004c 004d 004e 004f
+0050 0051 0052 0053 0054 0055 0056 0057 0058 0059 005a 005b 005c 005d 005e 005f
+0060 0061 0062 0063 0064 0065 0066 0067 0068 0069 006a 006b 006c 006d 006e 006f
+0070 0071 0072 0073 0074 0075 0076 0077 0078 0079 007a 007b 007c 007d 007e 007f
+0080 0081 0082 0083 0084 0085 0086 0087 0088 0089 008a 008b 008c 008d 008e 008f
+0090 0091 0092 0093 0094 0095 0096 0097 0098 0099 009a 009b 009c 009d 009e 009f
+XXXX 00a1 00a2 00a3 XXXX 00a5 XXXX 00a7 00a4 00a9 00aa 00ab XXXX XXXX XXXX XXXX
+00b0 00b1 00b2 00b3 XXXX 00b5 00b6 00b7 XXXX 00b9 00ba 00bb 00bc 00bd XXXX 00bf
+00c0 00c1 00c2 00c3 00c4 00c5 00c6 00c7 00c8 00c9 00ca 00cb 00cc 00cd 00ce 00cf
+XXXX 00d1 00d2 00d3 00d4 00d5 00d6 0152 00d8 00d9 00da 00db 00dc 0178 XXXX 00df
+00e0 00e1 00e2 00e3 00e4 00e5 00e6 00e7 00e8 00e9 00ea 00eb 00ec 00ed 00ee 00ef
+XXXX 00f1 00f2 00f3 00f4 00f5 00f6 0153 00f8 00f9 00fa 00fb 00fc 00ff XXXX XXXX
diff --git a/sbcsgen.pl b/sbcsgen.pl
new file mode 100644 (file)
index 0000000..02aaa0f
--- /dev/null
@@ -0,0 +1,111 @@
+#!/usr/bin/env perl -w
+
+# This script generates sbcsdat.c (the data for all the SBCSes) from its
+# source form sbcs.dat.
+
+$infile = "sbcs.dat";
+$infile = shift @ARGV if defined $ARGV[0];
+$outfile = "sbcsdat.c";
+$outfile = shift @ARGV if defined $ARGV[0];
+
+open FOO, $infile;
+open BAR, ">$outfile";
+select BAR;
+
+print "/*\n";
+print " * sbcsdat.c - data definitions for single-byte character sets.\n";
+print " *\n";
+print " * Generated by sbcsgen.pl from sbcs.dat.\n";
+print " * You should edit those files rather than editing this one.\n";
+print " */\n";
+print "\n";
+print "#ifndef ENUM_CHARSETS\n";
+print "\n";
+print "#include \"charset.h\"\n";
+print "#include \"internal.h\"\n";
+print "\n";
+
+my $charsetname = undef;
+my @vals = ();
+
+my @charsetnames = ();
+my @sortpriority = ();
+
+while (<FOO>) {
+    chomp;
+    if (/^charset (.*)$/) {
+       $charsetname = $1;
+       @vals = ();
+       @sortpriority = map { 0 } 0..255;
+    } elsif (/^sortpriority ([^-]*)-([^-]*) (.*)$/) {
+       for ($i = hex $1; $i <= hex $2; $i++) {
+           $sortpriority[$i] += $3;
+       }
+    } elsif (/^[0-9a-fA-FX]/) {
+       push @vals, map { $_ eq "XXXX" ? -1 : hex $_ } split / +/, $_;
+       if (scalar @vals > 256) {
+           die "$infile:$.: charset $charsetname has more than 256 values\n";
+       } elsif (scalar @vals == 256) {
+           &outcharset($charsetname, \@vals, \@sortpriority);
+           push @charsetnames, $charsetname;
+           $charsetname = undef;
+           @vals = ();
+           @sortpriority = map { 0 } 0..255;
+       }
+    }
+}
+
+print "#else /* ENUM_CHARSETS */\n";
+print "\n";
+
+foreach $i (@charsetnames) {
+    print "ENUM_CHARSET($i)\n";
+}
+
+print "\n";
+print "#endif /* ENUM_CHARSETS */\n";
+
+sub outcharset($$$) {
+    my ($name, $vals, $sortpriority) = @_;
+    my ($prefix, $i, @sorted);
+
+    print "static const sbcs_data data_$name = {\n";
+    print "    {\n";
+    $prefix = "    ";
+    @sorted = ();
+    for ($i = 0; $i < 256; $i++) {
+       if ($vals->[$i] < 0) {
+           printf "%sERROR ", $prefix;
+       } else {
+           printf "%s0x%04x", $prefix, $vals->[$i];
+           die "ooh? $i\n" unless defined $sortpriority->[$i];
+           push @sorted, [$i, $vals->[$i], 0+$sortpriority->[$i]];
+       }
+       if ($i % 8 == 7) {
+           $prefix = ",\n    ";
+       } else {
+           $prefix = ", ";
+       }
+    }
+    print "\n    },\n    {\n";
+    @sorted = sort { $a->[1] == $b->[1] ?
+                    $b->[2] <=> $a->[2] :
+                    $a->[1] <=> $b->[1] } @sorted;
+    $prefix = "    ";
+    $uval = -1;
+    for ($i = $j = 0; $i < scalar @sorted; $i++) {
+       next if ($uval == $sorted[$i]->[1]); # low-priority alternative
+       $uval = $sorted[$i]->[1];
+       printf "%s0x%02x", $prefix, $sorted[$i]->[0];
+       if ($j % 8 == 7) {
+           $prefix = ",\n    ";
+       } else {
+           $prefix = ", ";
+       }
+       $j++;
+    }
+    printf "\n    },\n    %d\n", $j;
+    print "};\n";
+    print "const charset_spec charset_$name = {\n" .
+          "    $name, read_sbcs, write_sbcs, &data_$name\n};\n\n";
+}
diff --git a/shiftjis.c b/shiftjis.c
new file mode 100644 (file)
index 0000000..4ad879f
--- /dev/null
@@ -0,0 +1,128 @@
+/*
+ * shiftjis.c - multibyte encoding of Shift-JIS
+ */
+
+#ifndef ENUM_CHARSETS
+
+#include "charset.h"
+#include "internal.h"
+
+/*
+ * Shift-JIS has no associated data, so `charset' may be ignored.
+ */
+
+static void read_sjis(charset_spec const *charset, long int input_chr,
+                     charset_state *state,
+                     void (*emit)(void *ctx, long int output), void *emitctx)
+{
+    UNUSEDARG(charset);
+
+    /*
+     * For reading Shift-JIS, state->s0 simply contains the single
+     * stored lead byte when we are half way through a double-byte
+     * character, or 0 if we aren't.
+     */
+
+    if (state->s0 == 0) {
+       if ((input_chr >= 0x81 && input_chr <= 0x9F) ||
+           (input_chr >= 0xE0 && input_chr <= 0xEF)) {
+           /*
+            * Lead byte. Just store it.
+            */
+           state->s0 = input_chr;
+       } else {
+           /*
+            * Anything else we translate through JIS X 0201.
+            */
+           if (input_chr == 0x5C)
+               input_chr = 0xA5;
+           else if (input_chr == 0x7E)
+               input_chr = 0x203E;
+           else if (input_chr >= 0xA1 && input_chr <= 0xDF)
+               input_chr += 0xFF61 - 0xA1;
+           else if (input_chr < 0x80)
+               /* do nothing */;
+           else
+               input_chr = ERROR;
+           emit(emitctx, input_chr);
+       }
+    } else {
+       /*
+        * We have a stored lead byte. We expect a valid followup
+        * byte.
+        */
+       if (input_chr >= 0x40 && input_chr <= 0xFC && input_chr != 0x7F) {
+           int r, c;
+           r = state->s0;
+           if (r >= 0xE0) r -= (0xE0 - 0xA0);
+           r -= 0x81;
+           c = input_chr;
+           if (c > 0x7F) c--;
+           c -= 0x40;
+           r *= 2;
+           if (c >= 94)
+               r++, c -= 94;
+           emit(emitctx, jisx0208_to_unicode(r, c));
+       } else {
+           emit(emitctx, ERROR);
+       }
+       state->s0 = 0;
+    }
+}
+
+/*
+ * Shift-JIS is a stateless multi-byte encoding (in the sense that
+ * just after any character has been completed, the state is always
+ * the same); hence when writing it, there is no need to use the
+ * charset_state.
+ */
+
+static int write_sjis(charset_spec const *charset, long int input_chr,
+                     charset_state *state,
+                     void (*emit)(void *ctx, long int output), void *emitctx)
+{
+    UNUSEDARG(charset);
+    UNUSEDARG(state);
+
+    if (input_chr == -1)
+       return TRUE;                   /* stateless; no cleanup required */
+
+    if (input_chr < 0x80 && input_chr != 0x5C && input_chr != 0x7E) {
+       emit(emitctx, input_chr);
+       return TRUE;
+    } else if (input_chr == 0xA5) {
+       emit(emitctx, 0x5C);
+       return TRUE;
+    } else if (input_chr == 0x203E) {
+       emit(emitctx, 0x7E);
+       return TRUE;
+    } else if (input_chr >= 0xFF61 && input_chr <= 0xFF9F) {
+       emit(emitctx, input_chr - (0xFF61 - 0xA1));
+       return TRUE;
+    } else {
+       int r, c;
+       if (unicode_to_jisx0208(input_chr, &r, &c)) {
+           c += 94 * (r % 2);
+           r /= 2;
+           r += 0x81;
+           if (r >= 0xA0) r += 0xE0 - 0xA0;
+           c += 0x40;
+           if (c >= 0x7F) c++;
+           emit(emitctx, r);
+           emit(emitctx, c);
+           return TRUE;
+       } else {
+           return FALSE;
+       }
+    }
+}
+
+const charset_spec charset_CS_SHIFT_JIS = {
+    CS_SHIFT_JIS, read_sjis, write_sjis, NULL
+};
+
+#else /* ENUM_CHARSETS */
+
+ENUM_CHARSET(CS_SHIFT_JIS)
+
+#endif /* ENUM_CHARSETS */
diff --git a/slookup.c b/slookup.c
new file mode 100644 (file)
index 0000000..7a4d7c2
--- /dev/null
+++ b/slookup.c
@@ -0,0 +1,29 @@
+/*
+ * slookup.c - static lookup of character sets.
+ */
+
+#include "charset.h"
+#include "internal.h"
+
+#define ENUM_CHARSET(x) extern charset_spec const charset_##x;
+#include "enum.c"
+#undef ENUM_CHARSET
+
+static charset_spec const *const cs_table[] = {
+
+#define ENUM_CHARSET(x) &charset_##x,
+#include "enum.c"
+#undef ENUM_CHARSET
+
+};
+
+charset_spec const *charset_find_spec(int charset)
+{
+    int i;
+
+    for (i = 0; i < (int)lenof(cs_table); i++)
+       if (cs_table[i]->charset == charset)
+           return cs_table[i];
+
+    return NULL;
+}
diff --git a/superset.c b/superset.c
new file mode 100644 (file)
index 0000000..b9b5ea8
--- /dev/null
@@ -0,0 +1,65 @@
+/*
+ * superset.c: deal with character sets which are supersets of
+ * others.
+ */
+
+#include "charset.h"
+
+/*
+ * Just in case it's ever useful again, this rather simplistic
+ * piece of Perl/sh analyses sbcs.dat and determines which pairs of
+ * character sets are identical in the A0-FF region. This doesn't
+ * prove supersethood, but it spots obvious cases.
+
+perl -ne '/^[^ ]{4} / and defined ($line) and $line < 16 and do {' \
+      -e '  chomp; print " $_" if $line>=10; print "\n" if ++$line==16; };' \
+      -e '/^charset (.*)$/ and do { $line = 0; printf "%30s:", $1; };' \
+  sbcs.dat | sort +1 | uniq -f1 -D
+
+ * When run on sbcs.dat rev 1.3, it reports only two sets of matches:
+ * 
+ *  - ISO8859_1, ISO8859_1_X11 and CP1252 all match.
+ *  - ISO8859_4 and CP1254 match.
+ * 
+ * FIXME: There is more to it than this, and in particular there's
+ * even more to it than simple subsethood. Look at CP1255 and
+ * ISO8859_8: they match at every code point defined in both, but
+ * they each define at least one code point the other doesn't. It
+ * isn't clear how I should handle this. The right thing might be
+ * to define yet another SBCS which is the union of both, and
+ * upgrade both to that. Or it might be that the unicode.org
+ * mapping table for CP1255 is simply out of date, and the mapping
+ * ISO8859_8 has which it doesn't (DF -> U+2017 DOUBLE LOW LINE)
+ * should be present in it too, which would make it a proper
+ * superset of ISO8859_8 and solve the problem.
+ * 
+ * However, for the moment I'm satisfied with enhancing this table
+ * as and when necessary; the idea is not to include _all_ superset
+ * relations here, the idea is to spot charset IDs which are used
+ * _in practice_ to mean other charset IDs. So unless and until I
+ * find out that there really is confusion between ISO8859_8 and
+ * CP1255, I don't need to do anything about it here.
+ */
+
+int charset_upgrade(int charset)
+{
+    if (charset == CS_ASCII || charset == CS_ISO8859_1)
+       charset = CS_CP1252;
+    if (charset == CS_ISO8859_4)
+       charset = CS_CP1254;
+    if (charset == CS_EUC_KR)
+       charset = CS_CP949;
+    return charset;
+}
+
+/*
+ * This function returns TRUE if the input charset is a vaguely
+ * sensible superset of ASCII. That is, it returns FALSE for 7-bit
+ * encoding formats such as HZ and UTF-7.
+ */
+int charset_contains_ascii(int charset)
+{
+    return (charset != CS_HZ &&
+           charset != CS_UTF7 &&
+           charset != CS_UTF7_CONSERVATIVE);
+}
diff --git a/test.c b/test.c
new file mode 100644 (file)
index 0000000..fc5128e
--- /dev/null
+++ b/test.c
@@ -0,0 +1,72 @@
+/*
+ * test.c - general libcharset test/demo program which converts
+ * between two arbitrary charsets.
+ */
+
+#include <stdio.h>
+#include <string.h>
+#include "charset.h"
+
+#define lenof(x) ( sizeof((x)) / sizeof(*(x)) )
+
+int main(int argc, char **argv)
+{
+    int srcset, dstset;
+    charset_state instate = CHARSET_INIT_STATE;
+    charset_state outstate = CHARSET_INIT_STATE;
+    char inbuf[256], outbuf[256];
+    wchar_t midbuf[256];
+    const char *inptr;
+    const wchar_t *midptr;
+    int rdret, inlen, midlen, inret, midret;
+
+    if (argc != 3) {
+       fprintf(stderr, "usage: convcs <charset> <charset>\n");
+       return 1;
+    }
+
+    srcset = charset_from_localenc(argv[1]);
+    if (srcset == CS_NONE) {
+       fprintf(stderr, "unknown source charset '%s'\n", argv[1]);
+       return 1;
+    }
+
+    dstset = charset_from_localenc(argv[2]);
+    if (dstset == CS_NONE) {
+       fprintf(stderr, "unknown destination charset '%s'\n", argv[2]);
+       return 1;
+    }
+
+    while (1) {
+
+       rdret = fread(inbuf, 1, sizeof(inbuf), stdin);
+
+       if (rdret <= 0)
+           break;                     /* EOF */
+
+       inlen = rdret;
+       inptr = inbuf;
+       while ( (inret = charset_to_unicode(&inptr, &inlen, midbuf,
+                                           lenof(midbuf), srcset,
+                                           &instate, NULL, 0)) > 0) {
+           midlen = inret;
+           midptr = midbuf;
+           while ( (midret = charset_from_unicode(&midptr, &midlen, outbuf,
+                                                  lenof(outbuf), dstset,
+                                                  &outstate, NULL)) > 0) {
+               fwrite(outbuf, 1, midret, stdout);
+           }
+       }
+    }
+
+    /*
+     * Reset encoding state.
+     */
+    while ( (midret = charset_from_unicode(NULL, NULL, outbuf,
+                                          lenof(outbuf), dstset,
+                                          &outstate, NULL)) > 0) {
+       fwrite(outbuf, 1, midret, stdout);
+    }
+
+    return 0;
+}
diff --git a/toucs.c b/toucs.c
new file mode 100644 (file)
index 0000000..bee98ab
--- /dev/null
+++ b/toucs.c
@@ -0,0 +1,87 @@
+/*
+ * toucs.c - convert charsets to Unicode.
+ */
+
+#include "charset.h"
+#include "internal.h"
+
+struct unicode_emit_param {
+    wchar_t *output;
+    int outlen;
+    const wchar_t *errstr;
+    int errlen;
+    int stopped;
+};
+
+static void unicode_emit(void *ctx, long int output)
+{
+    struct unicode_emit_param *param = (struct unicode_emit_param *)ctx;
+    wchar_t outval;
+    wchar_t const *p;
+    int outlen;
+
+    if (output == ERROR) {
+       if (param->errstr) {
+           p = param->errstr;
+           outlen = param->errlen;
+       } else {
+           outval = 0xFFFD;           /* U+FFFD REPLACEMENT CHARACTER */
+           p = &outval;
+           outlen = 1;
+       }
+    } else {
+       outval = output;
+       p = &outval;
+       outlen = 1;
+    }
+
+    if (param->outlen >= outlen) {
+       while (outlen > 0) {
+           *param->output++ = *p++;
+           param->outlen--;
+           outlen--;
+       }
+    } else {
+       param->stopped = 1;
+    }
+}
+
+int charset_to_unicode(const char **input, int *inlen,
+                      wchar_t *output, int outlen,
+                      int charset, charset_state *state,
+                      const wchar_t *errstr, int errlen)
+{
+    charset_spec const *spec = charset_find_spec(charset);
+    charset_state localstate = CHARSET_INIT_STATE;
+    struct unicode_emit_param param;
+
+    param.output = output;
+    param.outlen = outlen;
+    param.errstr = errstr;
+    param.errlen = errlen;
+    param.stopped = 0;
+
+    if (state)
+       localstate = *state;           /* structure copy */
+
+    while (*inlen > 0) {
+       int lenbefore = param.output - output;
+       spec->read(spec, (unsigned char)**input, &localstate,
+                  unicode_emit, &param);
+       if (param.stopped) {
+           /*
+            * The emit function has _tried_ to output some
+            * characters, but ran up against the end of the
+            * buffer. Leave immediately, and return what happened
+            * _before_ attempting to process this character.
+            */
+           return lenbefore;
+       }
+       if (state)
+           *state = localstate;   /* structure copy */
+       (*input)++;
+       (*inlen)--;
+    }
+
+    return param.output - output;
+}
diff --git a/utf16.c b/utf16.c
new file mode 100644 (file)
index 0000000..a1af88b
--- /dev/null
+++ b/utf16.c
@@ -0,0 +1,217 @@
+/*
+ * utf16.c - routines to handle UTF-16 (RFC 2781).
+ */
+
+#ifndef ENUM_CHARSETS
+
+#include "charset.h"
+#include "internal.h"
+
+struct utf16 {
+    int s0;                           /* initial value of state->s0 */
+};
+
+static void read_utf16(charset_spec const *charset, long int input_chr,
+                      charset_state *state,
+                      void (*emit)(void *ctx, long int output),
+                      void *emitctx)
+{
+    struct utf16 const *utf = (struct utf16 *)charset->data;
+    long int hw;
+
+    /*
+     * State variable s1 handles the combining of bytes into
+     * transport-endianness halfwords. It contains:
+     * 
+     *  - 0 if we're between halfwords
+     *  - 0x100 plus the first byte if we're in mid-halfword
+     * 
+     * State variable s0 handles everything from there upwards. It
+     * contains:
+     * 
+     *         - Bottom 16 bits are set to a surrogate value if we've just
+     *           seen one.
+     *         - Next two bits (17:16) indicate possible endiannesses. Bit
+     *           17 is set if we might be BE; bit 16 if we might be LE. If
+     *           they're both zero, it has to be because this is right at
+     *           the start, so the first thing we do is set them to the
+     *           correct initial state.
+     *         - The bit after that (18) is 1 iff we have already seen at
+     *           least one halfword (meaning we should pass any further
+     *           BOMs straight through).
+     */
+
+    /* Set up s0 if this is the start. */
+    if (state->s0 == 0)
+       state->s0 = utf->s0;
+
+    /* Accumulate a transport-endianness halfword. */
+    if (state->s1 == 0) {
+       state->s1 = 0x100 | input_chr;
+       return;
+    }
+    hw = ((state->s1 & 0xFF) << 8) + input_chr;
+    state->s1 = 0;
+
+    /* Process BOM and determine byte order. */
+    if (!(state->s0 & 0x40000)) {
+       state->s0 |= 0x40000;
+       if (hw == 0xFEFF && (state->s0 & 0x20000)) {
+           /*
+            * Text starts with a big-endian BOM, and big-
+            * endianness is a possibility. So clear the
+            * little-endian bit (the BOM confirms our endianness),
+            * and return without emitting the BOM in Unicode.
+            */
+           state->s0 &= ~0x10000;
+           return;
+       } else if (hw == 0xFFFE && (state->s0 & 0x10000)) {
+           /*
+            * Text starts with a little-endian BOM, and little-
+            * endianness is a possibility. So clear the big-endian
+            * bit (the BOM confirms our endianness), and return
+            * without emitting the BOM in Unicode.
+            */
+           state->s0 &= ~0x20000;
+           return;
+       } else {
+           /*
+            * Text does not begin with a BOM. RFC 2781 states that
+            * in this case we must assume big-endianness if we
+            * haven't been told otherwise by the content type.
+            */
+           if ((state->s0 & 0x30000) == 0x30000)
+               state->s0 &= ~0x10000; /* clear LE bit */
+       }
+    }
+
+    /*
+     * Byte-swap transport-endianness halfword if necessary. We may
+     * now test individual endianness bits, since we can be sure
+     * exactly one is set.
+     */
+    if (state->s0 & 0x10000)
+       hw = ((hw >> 8) | (hw << 8)) & 0xFFFF;
+
+    /*
+     * Now that the endianness issue has been dealt with, what
+     * reaches this point should be a stream of halfwords in
+     * sensible numeric form. So now we process surrogates.
+     */
+    if (state->s0 & 0xFFFF) {
+       /*
+        * We have already seen a high surrogate, so we expect a
+        * low surrogate. Whinge if we didn't get it.
+        */
+       if (hw < 0xDC00 || hw >= 0xE000) {
+           emit(emitctx, ERROR);
+       } else {
+           hw &= 0x3FF;
+           hw |= (state->s0 & 0x3FF) << 10;
+           emit(emitctx, hw + 0x10000);
+       }
+       state->s0 &= 0xFFFF0000;
+    } else {
+       /*
+        * Any low surrogate is an error.
+        */
+       if (hw >= 0xDC00 && hw < 0xE000) {
+           emit(emitctx, ERROR);
+           return;
+       }
+
+       /*
+        * Any high surrogate is simply stored until we see the
+        * next halfword.
+        */
+       if (hw >= 0xD800 && hw < 0xDC00) {
+           state->s0 |= hw;
+           return;
+       }
+
+       /*
+        * Anything else we simply output.
+        */
+       emit(emitctx, hw);
+    }
+}
+
+/*
+ * Repeated code in write_utf16 abstracted out for sanity.
+ */
+static void emithl(void (*emit)(void *ctx, long int output), void *emitctx,
+                  unsigned long s0, long int hw)
+{
+    int h = (hw >> 8) & 0xFF, l = hw & 0xFF;
+
+    if (s0 & 0x20000) {
+       /* Big-endian takes priority over little, if both are allowed. */
+       emit(emitctx, h);
+       emit(emitctx, l);
+    } else {
+       emit(emitctx, l);
+       emit(emitctx, h);
+    }
+}
+
+static int write_utf16(charset_spec const *charset, long int input_chr,
+                      charset_state *state,
+                      void (*emit)(void *ctx, long int output),
+                      void *emitctx)
+{
+    struct utf16 const *utf = (struct utf16 *)charset->data;
+
+    /*
+     * state->s0 == 0 means we have not output anything yet (and so
+     * must output a BOM before we do anything else). state->s0 ==
+     * 1 means we are off and running.
+     */
+
+    if (input_chr < 0)
+       return TRUE;                   /* no cleanup required */
+
+    if ((input_chr >= 0xD800 && input_chr < 0xE000) ||
+       input_chr >= 0x110000) {
+       /*
+        * We can't output surrogates, or anything above 0x10FFFF.
+        */
+       return FALSE;
+    }
+
+    if (!state->s0) {
+       state->s0 = 1;
+       emithl(emit, emitctx, utf->s0, 0xFEFF);
+    }
+
+    if (input_chr < 0x10000) {
+       emithl(emit, emitctx, utf->s0, input_chr);
+    } else {
+       input_chr -= 0x10000;
+       /* now input_chr is between 0 and 0xFFFFF inclusive */
+       emithl(emit, emitctx, utf->s0, 0xD800 | ((input_chr >> 10) & 0x3FF));
+       emithl(emit, emitctx, utf->s0, 0xDC00 | (input_chr & 0x3FF));
+    }
+    return TRUE;
+}
+
+static const struct utf16 utf16_bigendian = { 0x20000 };
+static const struct utf16 utf16_littleendian = { 0x10000 };
+static const struct utf16 utf16_variable_endianness = { 0x30000 };
+
+const charset_spec charset_CS_UTF16BE = {
+    CS_UTF16BE, read_utf16, write_utf16, &utf16_bigendian
+};
+const charset_spec charset_CS_UTF16LE = {
+    CS_UTF16LE, read_utf16, write_utf16, &utf16_littleendian
+};
+const charset_spec charset_CS_UTF16 = {
+    CS_UTF16, read_utf16, write_utf16, &utf16_variable_endianness
+};
+
+#else /* ENUM_CHARSETS */
+
+ENUM_CHARSET(CS_UTF16)
+ENUM_CHARSET(CS_UTF16BE)
+ENUM_CHARSET(CS_UTF16LE)
+
+#endif /* ENUM_CHARSETS */
diff --git a/utf7.c b/utf7.c
new file mode 100644 (file)
index 0000000..88b716a
--- /dev/null
+++ b/utf7.c
@@ -0,0 +1,295 @@
+/*
+ * utf7.c - routines to handle UTF-7 (RFC 1642 / RFC 2152).
+ */
+
+#ifndef ENUM_CHARSETS
+
+#include "charset.h"
+#include "internal.h"
+
+/*
+ * This array is generated by a piece of Perl:
+
+perl -e 'for $i (0..32) { $a[$i] |= 2; } $a[32] |= 1;' \
+     -e 'for $i ("a".."z","A".."Z","0".."9","'\''","(",' \
+     -e '        ")",",","-",".","/",":","?") { $a[ord $i] |= 1; }' \
+     -e 'for $i ("!","\"","#","\$","%","&","*",";","<","=",">","\@",' \
+     -e '        "[","]","^","_","`","{","|","}") { $a[ord $i] |= 2; }' \
+     -e 'for $i ("a".."z","A".."Z","0".."9","+","/") { $a[ord $i] |= 4; }' \
+     -e 'for $i (0..127) { printf "%s%d,%s", $i%32?"":"    ", $a[$i],' \
+     -e '                  ($i+1)%32?"":"\n"; }'
+
+ */
+static const unsigned char utf7_ascii_properties[128] = {
+    2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,
+    3,2,2,2,2,2,2,1,1,1,2,4,1,1,1,5,5,5,5,5,5,5,5,5,5,5,1,2,2,2,2,1,
+    2,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,2,0,2,2,2,
+    2,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,2,2,2,0,0,
+};
+#define SET_D(c) ((c) >= 0 && (c) < 0x80 && (utf7_ascii_properties[(c)] & 1))
+#define SET_O(c) ((c) >= 0 && (c) < 0x80 && (utf7_ascii_properties[(c)] & 2))
+#define SET_B(c) ((c) >= 0 && (c) < 0x80 && (utf7_ascii_properties[(c)] & 4))
+
+#define base64_value(c) ( (c) >= 'A' && (c) <= 'Z' ? (c) - 'A' : \
+                         (c) >= 'a' && (c) <= 'z' ? (c) - 'a' + 26 : \
+                         (c) >= '0' && (c) <= '9' ? (c) - '0' + 52 : \
+                         (c) == '+' ? 62 : 63 )
+
+static const char *base64_chars =
+    "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";
+
+static void read_utf7(charset_spec const *charset, long int input_chr,
+                     charset_state *state,
+                     void (*emit)(void *ctx, long int output), void *emitctx)
+{
+    long int hw;
+
+    UNUSEDARG(charset);
+
+    /*
+     * state->s0 is used to handle the conversion of the UTF-7
+     * transport format into a stream of halfwords. Its layout is:
+     * 
+     *  - In normal ASCII mode, it is zero.
+     * 
+     *         - Otherwise, it holds a leading 1 followed by all the bits
+     *           so far accumulated in base64 digits.
+     * 
+     *         - Special case: when we have only just seen the initial `+'
+     *           which enters base64 mode, it is set to 2 rather than 1
+     *           (this is an otherwise unused value since base64 always
+     *           accumulates an even number of bits at a time), so that
+     *           the special sequence `+-' can be made to encode `+'
+     *           easily.
+     * 
+     * state->s1 is used to handle the conversion of those
+     * halfwords into Unicode values. It contains a high surrogate
+     * value if we've just seen one, and 0 otherwise.
+     */
+
+    if (!state->s0) {
+       if (input_chr == '+')
+           state->s0 = 2;
+       else
+           emit(emitctx, input_chr);
+       return;
+    } else {
+       if (!SET_B(input_chr)) {
+           /*
+            * base64 mode ends here. Emit the character we have,
+            * unless it's a minus in which case we should swallow
+            * it.
+            */
+           if (input_chr != '-')
+               emit(emitctx, input_chr);
+           else if (state->s0 == 2)
+               emit(emitctx, '+');    /* special case */
+           state->s0 = 0;
+           return;
+       }
+
+       /*
+        * Now we have a base64 character, so add it to our state,
+        * first correcting the special case value of s0.
+        */
+       if (state->s0 == 2)
+           state->s0 = 1;
+       state->s0 = (state->s0 << 6) | base64_value(input_chr);
+    }
+
+    /*
+     * If we don't have a whole halfword at this point, bale out.
+     */
+    if (!(state->s0 & 0xFFFF0000))
+       return;
+
+    /*
+     * Otherwise, extract the halfword. There are three
+     * possibilities for where the top set bit might be.
+     */
+    if (state->s0 & 0x00100000) {
+       hw = (state->s0 >> 4) & 0xFFFF;
+       state->s0 = (state->s0 & 0xF) | 0x10;
+    } else if (state->s0 & 0x00040000) {
+       hw = (state->s0 >> 2) & 0xFFFF;
+       state->s0 = (state->s0 & 3) | 4;
+    } else {
+       hw = state->s0 & 0xFFFF;
+       state->s0 = 1;
+    }
+
+    /*
+     * Now what reaches this point should be a stream of halfwords
+     * in sensible numeric form. So now we process surrogates.
+     */
+    if (state->s1) {
+       /*
+        * We have already seen a high surrogate, so we expect a
+        * low surrogate. Whinge if we didn't get it.
+        */
+       if (hw < 0xDC00 || hw >= 0xE000) {
+           emit(emitctx, ERROR);
+       } else {
+           hw &= 0x3FF;
+           hw |= (state->s1 & 0x3FF) << 10;
+           emit(emitctx, hw + 0x10000);
+       }
+       state->s1 = 0;
+    } else {
+       /*
+        * Any low surrogate is an error.
+        */
+       if (hw >= 0xDC00 && hw < 0xE000) {
+           emit(emitctx, ERROR);
+           return;
+       }
+
+       /*
+        * Any high surrogate is simply stored until we see the
+        * next halfword.
+        */
+       if (hw >= 0xD800 && hw < 0xDC00) {
+           state->s1 = hw;
+           return;
+       }
+
+       /*
+        * Anything else we simply output.
+        */
+       emit(emitctx, hw);
+    }
+}
+
+/*
+ * For writing UTF-7, we supply two charset definitions, one of
+ * which will directly encode Set O characters and the other of
+ * which will cautiously base64 them.
+ */
+static int write_utf7(charset_spec const *charset, long int input_chr,
+                     charset_state *state,
+                     void (*emit)(void *ctx, long int output),
+                     void *emitctx)
+{
+    unsigned long hws[2];
+    int nhws;
+    int i;
+
+    /*
+     * For writing: state->s0 contains accumulated base64 data with
+     * a 1 in front, and state->s1 indicates how many bits of it we
+     * have.
+     */
+
+    if ((input_chr >= 0xD800 && input_chr < 0xE000) ||
+       input_chr >= 0x110000) {
+       /*
+        * We can't output surrogates, or anything above 0x10FFFF.
+        */
+       return FALSE;
+    }
+
+    /*
+     * Look for characters which we output in ASCII mode. A special
+     * case here is +, which can be encoded as the empty base64
+     * escape sequence `+-': if we're _already_ in ASCII mode we do
+     * that, but if we're in base64 mode at the point we see the +
+     * then we simply stay in base64 mode and output it as a
+     * halfword. (Switching back would cost three bytes, whereas
+     * staying in base64 costs only 2 2/3.)
+     */
+    if (input_chr == -1 || SET_D(input_chr) ||
+       (charset->charset == CS_UTF7 && SET_O(input_chr)) ||
+       (!state->s0 && input_chr == '+')) {
+       if (state->s0) {
+           /*
+            * These characters are output in ASCII mode, so flush any
+            * lingering base64 data.
+            */
+           state->s0 <<= 6 - state->s1;
+           emit(emitctx, base64_chars[state->s0 & 0x3F]);
+           /*
+            * I'm going to arbitrarily decide to always use the
+            * terminating minus sign. It's easier than figuring out
+            * whether to do so or not, and looks prettier besides.
+            */
+           emit(emitctx, '-');
+           state->s0 = state->s1 = 0;
+       }
+
+       /*
+        * Now output the character.
+        */
+       if (input_chr != -1)           /* special case: just reset state */
+           emit(emitctx, input_chr);
+       if (input_chr == '+')
+           emit(emitctx, '-');        /* +- encodes + */
+       return TRUE;
+    }
+
+    /*
+     * Now we know we have a character that needs to be output as
+     * either one base64-encoded halfword or two. So first figure
+     * out how many...
+     */
+    if (input_chr < 0x10000) {
+       nhws = 1;
+       hws[0] = input_chr;
+    } else {
+       input_chr -= 0x10000;
+       if (input_chr >= 0x100000) {
+           /* Anything above 0x10FFFF is outside UTF-7 range. */
+           return FALSE;
+       }
+
+       nhws = 2;
+       hws[0] = 0xD800 | ((input_chr >> 10) & 0x3FF);
+       hws[1] = 0xDC00 | (input_chr & 0x3FF);
+    }
+
+    /*
+     * ... switch into base64 mode if required ...
+     */
+    if (!state->s0) {
+       emit(emitctx, '+');
+       state->s0 = 1;
+       state->s1 = 0;
+    }
+
+    /*
+     * ... and do the base64 output.
+     */
+    for (i = 0; i < nhws; i++) {
+       state->s0 = (state->s0 << 16) | hws[i];
+       state->s1 += 16;
+
+       while (state->s1 >= 6) {
+           /*
+            * The top set bit must be in position 16, 18 or 20.
+            */
+           unsigned long out, topbit;
+           
+           out = (state->s0 >> (state->s1 - 6)) & 0x3F;
+           state->s1 -= 6;
+           topbit = 1 << state->s1;
+           state->s0 = (state->s0 & (topbit-1)) | topbit;
+
+           emit(emitctx, base64_chars[out]);
+       }
+    }
+    return TRUE;
+}
+
+const charset_spec charset_CS_UTF7 = {
+    CS_UTF7, read_utf7, write_utf7, NULL
+};
+
+const charset_spec charset_CS_UTF7_CONSERVATIVE = {
+    CS_UTF7_CONSERVATIVE, read_utf7, write_utf7, NULL
+};
+
+#else /* ENUM_CHARSETS */
+
+ENUM_CHARSET(CS_UTF7)
+ENUM_CHARSET(CS_UTF7_CONSERVATIVE)
+
+#endif /* ENUM_CHARSETS */
diff --git a/utf8.c b/utf8.c
new file mode 100644 (file)
index 0000000..3c99cb2
--- /dev/null
+++ b/utf8.c
@@ -0,0 +1,887 @@
+/*
+ * utf8.c - routines to handle UTF-8.
+ */
+
+#ifndef ENUM_CHARSETS
+
+#include "charset.h"
+#include "internal.h"
+
+/*
+ * UTF-8 has no associated data, so `charset' may be ignored.
+ */
+
+static void read_utf8(charset_spec const *charset, long int input_chr,
+                     charset_state *state,
+                     void (*emit)(void *ctx, long int output), void *emitctx)
+{
+    UNUSEDARG(charset);
+
+    /*
+     * For reading UTF-8, the `state' word contains:
+     * 
+     *  - in bits 29-31, the number of bytes expected to be in the
+     *    current multibyte character (which we can tell instantly
+     *    from the first byte, of course).
+     * 
+     *  - in bits 26-28, the number of bytes _seen so far_ in the
+     *    current multibyte character.
+     * 
+     *  - in the remainder of the word, the current value of the
+     *    character, which is shifted upwards by 6 bits to
+     *    accommodate each new byte.
+     * 
+     * As required, the state is zero when we are not in the middle
+     * of a multibyte character at all.
+     * 
+     * For example, when reading E9 8D 8B, starting at state=0:
+     * 
+     *  - after E9, the state is 0x64000009
+     *  - after 8D, the state is 0x6800024d
+     *  - after 8B, the state conceptually becomes 0x6c00934b, at
+     *    which point we notice we've got as many characters as we
+     *    were expecting, output U+934B, and reset the state to
+     *    zero.
+     *
+     * Note that the maximum number of bits we might need to store
+     * in the character value field is 25 (U+7FFFFFFF contains 31
+     * bits, but we will never actually store its full value
+     * because when we receive the last 6 bits in the final
+     * continuation byte we will output it and revert the state to
+     * zero). Hence the character value field never collides with
+     * the byte counts.
+     */
+
+    if (input_chr < 0x80) {
+       /*
+        * Single-byte character. If the state is nonzero before
+        * coming here, output an error for an incomplete sequence.
+        * Then output the character.
+        */
+       if (state->s0 != 0) {
+           emit(emitctx, ERROR);
+           state->s0 = 0;
+       }
+       emit(emitctx, input_chr);
+    } else if (input_chr == 0xFE || input_chr == 0xFF) {
+       /*
+        * FE and FF bytes should _never_ occur in UTF-8. They are
+        * automatic errors; if the state was nonzero to start
+        * with, output a further error for an incomplete sequence.
+        */
+       if (state->s0 != 0) {
+           emit(emitctx, ERROR);
+           state->s0 = 0;
+       }
+       emit(emitctx, ERROR);
+    } else if (input_chr >= 0x80 && input_chr < 0xC0) {
+       /*
+        * Continuation byte. Output an error for an unexpected
+        * continuation byte, if the state is zero.
+        */
+       if (state->s0 == 0) {
+           emit(emitctx, ERROR);
+       } else {
+           unsigned long charval;
+           unsigned long topstuff;
+           int bytes;
+
+           /*
+            * Otherwise, accumulate more of the character value.
+            */
+           charval = state->s0 & 0x03ffffffL;
+           charval = (charval << 6) | (input_chr & 0x3F);
+
+           /*
+            * Check the byte counts; if we have not reached the
+            * end of the character, update the state and return.
+            */
+           topstuff = state->s0 & 0xfc000000L;
+           topstuff += 0x04000000L;   /* add one to the byte count */
+           if (((topstuff << 3) ^ topstuff) & 0xe0000000L) {
+               state->s0 = topstuff | charval;
+               return;
+           }
+
+           /*
+            * Now we know we've reached the end of the character.
+            * `charval' is the Unicode value. We should check for
+            * various invalid things, and then either output
+            * charval or an error. In all cases we reset the state
+            * to zero.
+            */
+           bytes = topstuff >> 29;
+           state->s0 = 0;
+
+           if (charval >= 0xD800 && charval < 0xE000) {
+               /*
+                * Surrogates (0xD800-0xDFFF) may never be encoded
+                * in UTF-8. A surrogate pair in Unicode should
+                * have been encoded as a single UTF-8 character
+                * occupying more than three bytes.
+                */
+               emit(emitctx, ERROR);
+           } else if (charval == 0xFFFE || charval == 0xFFFF) {
+               /*
+                * U+FFFE and U+FFFF are invalid Unicode characters
+                * and may never be encoded in UTF-8. (This is one
+                * reason why U+FFFF is our way of signalling an
+                * error to our `emit' function :-)
+                */
+               emit(emitctx, ERROR);
+           } else if ((charval <= 0x7FL /* && bytes > 1 */) ||
+                      (charval <= 0x7FFL && bytes > 2) ||
+                      (charval <= 0xFFFFL && bytes > 3) ||
+                      (charval <= 0x1FFFFFL && bytes > 4) ||
+                      (charval <= 0x3FFFFFFL && bytes > 5)) {
+               /*
+                * Overlong sequences are not to be tolerated,
+                * under any circumstances.
+                */
+               emit(emitctx, ERROR);
+           } else {
+               /*
+                * Oh, all right. We'll let this one off.
+                */
+               emit(emitctx, charval);
+           }
+       }
+
+    } else {
+       /*
+        * Lead byte. First output an error for an incomplete
+        * sequence, if the state is nonzero.
+        */
+       if (state->s0 != 0)
+           emit(emitctx, ERROR);
+
+       /*
+        * Now deal with the lead byte: work out the number of
+        * bytes we expect to see in this character, and extract
+        * the initial bits of it too.
+        */
+       if (input_chr >= 0xC0 && input_chr < 0xE0) {
+           state->s0 = 0x44000000L | (input_chr & 0x1F);
+       } else if (input_chr >= 0xE0 && input_chr < 0xF0) {
+           state->s0 = 0x64000000L | (input_chr & 0x0F);
+       } else if (input_chr >= 0xF0 && input_chr < 0xF8) {
+           state->s0 = 0x84000000L | (input_chr & 0x07);
+       } else if (input_chr >= 0xF8 && input_chr < 0xFC) {
+           state->s0 = 0xa4000000L | (input_chr & 0x03);
+       } else if (input_chr >= 0xFC && input_chr < 0xFE) {
+           state->s0 = 0xc4000000L | (input_chr & 0x01);
+       }
+    }
+}
+
+/*
+ * UTF-8 is a stateless multi-byte encoding (in the sense that just
+ * after any character has been completed, the state is always the
+ * same); hence when writing it, there is no need to use the
+ * charset_state.
+ */
+
+static int write_utf8(charset_spec const *charset, long int input_chr,
+                     charset_state *state,
+                     void (*emit)(void *ctx, long int output),
+                     void *emitctx)
+{
+    UNUSEDARG(charset);
+    UNUSEDARG(state);
+
+    if (input_chr == -1)
+       return TRUE;                   /* stateless; no cleanup required */
+
+    /*
+     * Refuse to output any illegal code points.
+     */
+    if (input_chr == 0xFFFE || input_chr == 0xFFFF ||
+       (input_chr >= 0xD800 && input_chr < 0xE000)) {
+       return FALSE;
+    } else if (input_chr < 0x80) {     /* one-byte character */
+       emit(emitctx, input_chr);
+       return TRUE;
+    } else if (input_chr < 0x800) {    /* two-byte character */
+       emit(emitctx, 0xC0 | (0x1F & (input_chr >>  6)));
+       emit(emitctx, 0x80 | (0x3F & (input_chr      )));
+       return TRUE;
+    } else if (input_chr < 0x10000) {  /* three-byte character */
+       emit(emitctx, 0xE0 | (0x0F & (input_chr >> 12)));
+       emit(emitctx, 0x80 | (0x3F & (input_chr >>  6)));
+       emit(emitctx, 0x80 | (0x3F & (input_chr      )));
+       return TRUE;
+    } else if (input_chr < 0x200000) { /* four-byte character */
+       emit(emitctx, 0xF0 | (0x07 & (input_chr >> 18)));
+       emit(emitctx, 0x80 | (0x3F & (input_chr >> 12)));
+       emit(emitctx, 0x80 | (0x3F & (input_chr >>  6)));
+       emit(emitctx, 0x80 | (0x3F & (input_chr      )));
+       return TRUE;
+    } else if (input_chr < 0x4000000) {/* five-byte character */
+       emit(emitctx, 0xF8 | (0x03 & (input_chr >> 24)));
+       emit(emitctx, 0x80 | (0x3F & (input_chr >> 18)));
+       emit(emitctx, 0x80 | (0x3F & (input_chr >> 12)));
+       emit(emitctx, 0x80 | (0x3F & (input_chr >>  6)));
+       emit(emitctx, 0x80 | (0x3F & (input_chr      )));
+       return TRUE;
+    } else {                          /* six-byte character */
+       emit(emitctx, 0xFC | (0x01 & (input_chr >> 30)));
+       emit(emitctx, 0x80 | (0x3F & (input_chr >> 24)));
+       emit(emitctx, 0x80 | (0x3F & (input_chr >> 18)));
+       emit(emitctx, 0x80 | (0x3F & (input_chr >> 12)));
+       emit(emitctx, 0x80 | (0x3F & (input_chr >>  6)));
+       emit(emitctx, 0x80 | (0x3F & (input_chr      )));
+       return TRUE;
+    }
+}
+
+#ifdef TESTMODE
+
+#include <stdio.h>
+#include <stdarg.h>
+
+int total_errs = 0;
+
+void utf8_emit(void *ctx, long output)
+{
+    wchar_t **p = (wchar_t **)ctx;
+    *(*p)++ = output;
+}
+
+void utf8_read_test(int line, char *input, int inlen, ...)
+{
+    va_list ap;
+    wchar_t *p, str[512];
+    int i;
+    charset_state state;
+    unsigned long l;
+
+    state.s0 = 0;
+    p = str;
+
+    for (i = 0; i < inlen; i++)
+       read_utf8(NULL, input[i] & 0xFF, &state, utf8_emit, &p);
+
+    va_start(ap, inlen);
+    l = 0;
+    for (i = 0; i < p - str; i++) {
+       l = va_arg(ap, long int);
+       if (l == -1) {
+           printf("%d: correct string shorter than output\n", line);
+           total_errs++;
+           break;
+       }
+       if (l != str[i]) {
+           printf("%d: char %d came out as %08x, should be %08x\n",
+                   line, i, str[i], l);
+           total_errs++;
+       }
+    }
+    if (l != -1) {
+       l = va_arg(ap, long int);
+       if (l != -1) {
+           printf("%d: correct string longer than output\n", line);
+           total_errs++;
+       }
+    }
+    va_end(ap);
+}
+
+void utf8_write_test(int line, const long *input, int inlen, ...)
+{
+    va_list ap;
+    wchar_t *p, str[512];
+    int i;
+    charset_state state;
+    unsigned long l;
+
+    state.s0 = 0;
+    p = str;
+
+    for (i = 0; i < inlen; i++)
+       write_utf8(NULL, input[i], &state, utf8_emit, &p);
+
+    va_start(ap, inlen);
+    l = 0;
+    for (i = 0; i < p - str; i++) {
+       l = va_arg(ap, long int);
+       if (l == -1) {
+           printf("%d: correct string shorter than output\n", line);
+           total_errs++;
+           break;
+       }
+       if (l != str[i]) {
+           printf("%d: char %d came out as %08x, should be %08x\n",
+                   line, i, str[i], l);
+           total_errs++;
+       }
+    }
+    if (l != -1) {
+       l = va_arg(ap, long int);
+       if (l != -1) {
+           printf("%d: correct string longer than output\n", line);
+           total_errs++;
+       }
+    }
+    va_end(ap);
+}
+
+/* Macro to concoct the first three parameters of utf8_read_test. */
+#define TESTSTR(x) __LINE__, x, lenof(x)
+
+int main(void)
+{
+    printf("read tests beginning\n");
+    utf8_read_test(TESTSTR("\xCE\xBA\xE1\xBD\xB9\xCF\x83\xCE\xBC\xCE\xB5"),
+                  0x000003BA, /* GREEK SMALL LETTER KAPPA */
+                  0x00001F79, /* GREEK SMALL LETTER OMICRON WITH OXIA */
+                  0x000003C3, /* GREEK SMALL LETTER SIGMA */
+                  0x000003BC, /* GREEK SMALL LETTER MU */
+                  0x000003B5, /* GREEK SMALL LETTER EPSILON */
+                  0, -1);
+    utf8_read_test(TESTSTR("\x00"),
+                  0x00000000, /* <control> */
+                  0, -1);
+    utf8_read_test(TESTSTR("\xC2\x80"),
+                  0x00000080, /* <control> */
+                  0, -1);
+    utf8_read_test(TESTSTR("\xE0\xA0\x80"),
+                  0x00000800, /* <no name available> */
+                  0, -1);
+    utf8_read_test(TESTSTR("\xF0\x90\x80\x80"),
+                  0x00010000, /* <no name available> */
+                  0, -1);
+    utf8_read_test(TESTSTR("\xF8\x88\x80\x80\x80"),
+                  0x00200000, /* <no name available> */
+                  0, -1);
+    utf8_read_test(TESTSTR("\xFC\x84\x80\x80\x80\x80"),
+                  0x04000000, /* <no name available> */
+                  0, -1);
+    utf8_read_test(TESTSTR("\x7F"),
+                  0x0000007F, /* <control> */
+                  0, -1);
+    utf8_read_test(TESTSTR("\xDF\xBF"),
+                  0x000007FF, /* <no name available> */
+                  0, -1);
+    utf8_read_test(TESTSTR("\xEF\xBF\xBD"),
+                  0x0000FFFD, /* REPLACEMENT CHARACTER */
+                  0, -1);
+    utf8_read_test(TESTSTR("\xEF\xBF\xBF"),
+                  ERROR,      /* <no name available> (invalid char) */
+                  0, -1);
+    utf8_read_test(TESTSTR("\xF7\xBF\xBF\xBF"),
+                  0x001FFFFF, /* <no name available> */
+                  0, -1);
+    utf8_read_test(TESTSTR("\xFB\xBF\xBF\xBF\xBF"),
+                  0x03FFFFFF, /* <no name available> */
+                  0, -1);
+    utf8_read_test(TESTSTR("\xFD\xBF\xBF\xBF\xBF\xBF"),
+                  0x7FFFFFFF, /* <no name available> */
+                  0, -1);
+    utf8_read_test(TESTSTR("\xED\x9F\xBF"),
+                  0x0000D7FF, /* <no name available> */
+                  0, -1);
+    utf8_read_test(TESTSTR("\xEE\x80\x80"),
+                  0x0000E000, /* <Private Use, First> */
+                  0, -1);
+    utf8_read_test(TESTSTR("\xEF\xBF\xBD"),
+                  0x0000FFFD, /* REPLACEMENT CHARACTER */
+                  0, -1);
+    utf8_read_test(TESTSTR("\xF4\x8F\xBF\xBF"),
+                  0x0010FFFF, /* <no name available> */
+                  0, -1);
+    utf8_read_test(TESTSTR("\xF4\x90\x80\x80"),
+                  0x00110000, /* <no name available> */
+                  0, -1);
+    utf8_read_test(TESTSTR("\x80"),
+                  ERROR,      /* (unexpected continuation byte) */
+                  0, -1);
+    utf8_read_test(TESTSTR("\xBF"),
+                  ERROR,      /* (unexpected continuation byte) */
+                  0, -1);
+    utf8_read_test(TESTSTR("\x80\xBF"),
+                  ERROR,      /* (unexpected continuation byte) */
+                  ERROR,      /* (unexpected continuation byte) */
+                  0, -1);
+    utf8_read_test(TESTSTR("\x80\xBF\x80"),
+                  ERROR,      /* (unexpected continuation byte) */
+                  ERROR,      /* (unexpected continuation byte) */
+                  ERROR,      /* (unexpected continuation byte) */
+                  0, -1);
+    utf8_read_test(TESTSTR("\x80\xBF\x80\xBF"),
+                  ERROR,      /* (unexpected continuation byte) */
+                  ERROR,      /* (unexpected continuation byte) */
+                  ERROR,      /* (unexpected continuation byte) */
+                  ERROR,      /* (unexpected continuation byte) */
+                  0, -1);
+    utf8_read_test(TESTSTR("\x80\xBF\x80\xBF\x80"),
+                  ERROR,      /* (unexpected continuation byte) */
+                  ERROR,      /* (unexpected continuation byte) */
+                  ERROR,      /* (unexpected continuation byte) */
+                  ERROR,      /* (unexpected continuation byte) */
+                  ERROR,      /* (unexpected continuation byte) */
+                  0, -1);
+    utf8_read_test(TESTSTR("\x80\xBF\x80\xBF\x80\xBF"),
+                  ERROR,      /* (unexpected continuation byte) */
+                  ERROR,      /* (unexpected continuation byte) */
+                  ERROR,      /* (unexpected continuation byte) */
+                  ERROR,      /* (unexpected continuation byte) */
+                  ERROR,      /* (unexpected continuation byte) */
+                  ERROR,      /* (unexpected continuation byte) */
+                  0, -1);
+    utf8_read_test(TESTSTR("\x80\xBF\x80\xBF\x80\xBF\x80"),
+                  ERROR,      /* (unexpected continuation byte) */
+                  ERROR,      /* (unexpected continuation byte) */
+                  ERROR,      /* (unexpected continuation byte) */
+                  ERROR,      /* (unexpected continuation byte) */
+                  ERROR,      /* (unexpected continuation byte) */
+                  ERROR,      /* (unexpected continuation byte) */
+                  ERROR,      /* (unexpected continuation byte) */
+                  0, -1);
+    utf8_read_test(TESTSTR("\x80\x81\x82\x83\x84\x85\x86\x87\x88\x89\x8A\x8B\x8C\x8D\x8E\x8F\x90\x91\x92\x93\x94\x95\x96\x97\x98\x99\x9A\x9B\x9C\x9D\x9E\x9F\xA0\xA1\xA2\xA3\xA4\xA5\xA6\xA7\xA8\xA9\xAA\xAB\xAC\xAD\xAE\xAF\xB0\xB1\xB2\xB3\xB4\xB5\xB6\xB7\xB8\xB9\xBA\xBB\xBC\xBD\xBE\xBF"),
+                  ERROR,      /* (unexpected continuation byte) */
+                  ERROR,      /* (unexpected continuation byte) */
+                  ERROR,      /* (unexpected continuation byte) */
+                  ERROR,      /* (unexpected continuation byte) */
+                  ERROR,      /* (unexpected continuation byte) */
+                  ERROR,      /* (unexpected continuation byte) */
+                  ERROR,      /* (unexpected continuation byte) */
+                  ERROR,      /* (unexpected continuation byte) */
+                  ERROR,      /* (unexpected continuation byte) */
+                  ERROR,      /* (unexpected continuation byte) */
+                  ERROR,      /* (unexpected continuation byte) */
+                  ERROR,      /* (unexpected continuation byte) */
+                  ERROR,      /* (unexpected continuation byte) */
+                  ERROR,      /* (unexpected continuation byte) */
+                  ERROR,      /* (unexpected continuation byte) */
+                  ERROR,      /* (unexpected continuation byte) */
+                  ERROR,      /* (unexpected continuation byte) */
+                  ERROR,      /* (unexpected continuation byte) */
+                  ERROR,      /* (unexpected continuation byte) */
+                  ERROR,      /* (unexpected continuation byte) */
+                  ERROR,      /* (unexpected continuation byte) */
+                  ERROR,      /* (unexpected continuation byte) */
+                  ERROR,      /* (unexpected continuation byte) */
+                  ERROR,      /* (unexpected continuation byte) */
+                  ERROR,      /* (unexpected continuation byte) */
+                  ERROR,      /* (unexpected continuation byte) */
+                  ERROR,      /* (unexpected continuation byte) */
+                  ERROR,      /* (unexpected continuation byte) */
+                  ERROR,      /* (unexpected continuation byte) */
+                  ERROR,      /* (unexpected continuation byte) */
+                  ERROR,      /* (unexpected continuation byte) */
+                  ERROR,      /* (unexpected continuation byte) */
+                  ERROR,      /* (unexpected continuation byte) */
+                  ERROR,      /* (unexpected continuation byte) */
+                  ERROR,      /* (unexpected continuation byte) */
+                  ERROR,      /* (unexpected continuation byte) */
+                  ERROR,      /* (unexpected continuation byte) */
+                  ERROR,      /* (unexpected continuation byte) */
+                  ERROR,      /* (unexpected continuation byte) */
+                  ERROR,      /* (unexpected continuation byte) */
+                  ERROR,      /* (unexpected continuation byte) */
+                  ERROR,      /* (unexpected continuation byte) */
+                  ERROR,      /* (unexpected continuation byte) */
+                  ERROR,      /* (unexpected continuation byte) */
+                  ERROR,      /* (unexpected continuation byte) */
+                  ERROR,      /* (unexpected continuation byte) */
+                  ERROR,      /* (unexpected continuation byte) */
+                  ERROR,      /* (unexpected continuation byte) */
+                  ERROR,      /* (unexpected continuation byte) */
+                  ERROR,      /* (unexpected continuation byte) */
+                  ERROR,      /* (unexpected continuation byte) */
+                  ERROR,      /* (unexpected continuation byte) */
+                  ERROR,      /* (unexpected continuation byte) */
+                  ERROR,      /* (unexpected continuation byte) */
+                  ERROR,      /* (unexpected continuation byte) */
+                  ERROR,      /* (unexpected continuation byte) */
+                  ERROR,      /* (unexpected continuation byte) */
+                  ERROR,      /* (unexpected continuation byte) */
+                  ERROR,      /* (unexpected continuation byte) */
+                  ERROR,      /* (unexpected continuation byte) */
+                  ERROR,      /* (unexpected continuation byte) */
+                  ERROR,      /* (unexpected continuation byte) */
+                  ERROR,      /* (unexpected continuation byte) */
+                  ERROR,      /* (unexpected continuation byte) */
+                  0, -1);
+    utf8_read_test(TESTSTR("\xC0\x20\xC1\x20\xC2\x20\xC3\x20\xC4\x20\xC5\x20\xC6\x20\xC7\x20"),
+                  ERROR,      /* (incomplete sequence) */
+                  0x00000020, /* SPACE */
+                  ERROR,      /* (incomplete sequence) */
+                  0x00000020, /* SPACE */
+                  ERROR,      /* (incomplete sequence) */
+                  0x00000020, /* SPACE */
+                  ERROR,      /* (incomplete sequence) */
+                  0x00000020, /* SPACE */
+                  ERROR,      /* (incomplete sequence) */
+                  0x00000020, /* SPACE */
+                  ERROR,      /* (incomplete sequence) */
+                  0x00000020, /* SPACE */
+                  ERROR,      /* (incomplete sequence) */
+                  0x00000020, /* SPACE */
+                  ERROR,      /* (incomplete sequence) */
+                  0x00000020, /* SPACE */
+                  0, -1);
+    utf8_read_test(TESTSTR("\xE0\x20\xE1\x20\xE2\x20\xE3\x20\xE4\x20\xE5\x20\xE6\x20\xE7\x20\xE8\x20\xE9\x20\xEA\x20\xEB\x20\xEC\x20\xED\x20\xEE\x20\xEF\x20"),
+                  ERROR,      /* (incomplete sequence) */
+                  0x00000020, /* SPACE */
+                  ERROR,      /* (incomplete sequence) */
+                  0x00000020, /* SPACE */
+                  ERROR,      /* (incomplete sequence) */
+                  0x00000020, /* SPACE */
+                  ERROR,      /* (incomplete sequence) */
+                  0x00000020, /* SPACE */
+                  ERROR,      /* (incomplete sequence) */
+                  0x00000020, /* SPACE */
+                  ERROR,      /* (incomplete sequence) */
+                  0x00000020, /* SPACE */
+                  ERROR,      /* (incomplete sequence) */
+                  0x00000020, /* SPACE */
+                  ERROR,      /* (incomplete sequence) */
+                  0x00000020, /* SPACE */
+                  ERROR,      /* (incomplete sequence) */
+                  0x00000020, /* SPACE */
+                  ERROR,      /* (incomplete sequence) */
+                  0x00000020, /* SPACE */
+                  ERROR,      /* (incomplete sequence) */
+                  0x00000020, /* SPACE */
+                  ERROR,      /* (incomplete sequence) */
+                  0x00000020, /* SPACE */
+                  ERROR,      /* (incomplete sequence) */
+                  0x00000020, /* SPACE */
+                  ERROR,      /* (incomplete sequence) */
+                  0x00000020, /* SPACE */
+                  ERROR,      /* (incomplete sequence) */
+                  0x00000020, /* SPACE */
+                  ERROR,      /* (incomplete sequence) */
+                  0x00000020, /* SPACE */
+                  0, -1);
+    utf8_read_test(TESTSTR("\xF0\x20\xF1\x20\xF2\x20\xF3\x20\xF4\x20\xF5\x20\xF6\x20\xF7\x20"),
+                  ERROR,      /* (incomplete sequence) */
+                  0x00000020, /* SPACE */
+                  ERROR,      /* (incomplete sequence) */
+                  0x00000020, /* SPACE */
+                  ERROR,      /* (incomplete sequence) */
+                  0x00000020, /* SPACE */
+                  ERROR,      /* (incomplete sequence) */
+                  0x00000020, /* SPACE */
+                  ERROR,      /* (incomplete sequence) */
+                  0x00000020, /* SPACE */
+                  ERROR,      /* (incomplete sequence) */
+                  0x00000020, /* SPACE */
+                  ERROR,      /* (incomplete sequence) */
+                  0x00000020, /* SPACE */
+                  ERROR,      /* (incomplete sequence) */
+                  0x00000020, /* SPACE */
+                  0, -1);
+    utf8_read_test(TESTSTR("\xF8\x20\xF9\x20\xFA\x20\xFB\x20"),
+                  ERROR,      /* (incomplete sequence) */
+                  0x00000020, /* SPACE */
+                  ERROR,      /* (incomplete sequence) */
+                  0x00000020, /* SPACE */
+                  ERROR,      /* (incomplete sequence) */
+                  0x00000020, /* SPACE */
+                  ERROR,      /* (incomplete sequence) */
+                  0x00000020, /* SPACE */
+                  0, -1);
+    utf8_read_test(TESTSTR("\xFC\x20\xFD\x20"),
+                  ERROR,      /* (incomplete sequence) */
+                  0x00000020, /* SPACE */
+                  ERROR,      /* (incomplete sequence) */
+                  0x00000020, /* SPACE */
+                  0, -1);
+    utf8_read_test(TESTSTR("\xC0"),
+                  ERROR,      /* (incomplete sequence) */
+                  0, -1);
+    utf8_read_test(TESTSTR("\xE0\x80"),
+                  ERROR,      /* (incomplete sequence) */
+                  0, -1);
+    utf8_read_test(TESTSTR("\xF0\x80\x80"),
+                  ERROR,      /* (incomplete sequence) */
+                  0, -1);
+    utf8_read_test(TESTSTR("\xF8\x80\x80\x80"),
+                  ERROR,      /* (incomplete sequence) */
+                  0, -1);
+    utf8_read_test(TESTSTR("\xFC\x80\x80\x80\x80"),
+                  ERROR,      /* (incomplete sequence) */
+                  0, -1);
+    utf8_read_test(TESTSTR("\xDF"),
+                  ERROR,      /* (incomplete sequence) */
+                  0, -1);
+    utf8_read_test(TESTSTR("\xEF\xBF"),
+                  ERROR,      /* (incomplete sequence) */
+                  0, -1);
+    utf8_read_test(TESTSTR("\xF7\xBF\xBF"),
+                  ERROR,      /* (incomplete sequence) */
+                  0, -1);
+    utf8_read_test(TESTSTR("\xFB\xBF\xBF\xBF"),
+                  ERROR,      /* (incomplete sequence) */
+                  0, -1);
+    utf8_read_test(TESTSTR("\xFD\xBF\xBF\xBF\xBF"),
+                  ERROR,      /* (incomplete sequence) */
+                  0, -1);
+    utf8_read_test(TESTSTR("\xC0\xE0\x80\xF0\x80\x80\xF8\x80\x80\x80\xFC\x80\x80\x80\x80\xDF\xEF\xBF\xF7\xBF\xBF\xFB\xBF\xBF\xBF\xFD\xBF\xBF\xBF\xBF"),
+                  ERROR,      /* (incomplete sequence) */
+                  ERROR,      /* (incomplete sequence) */
+                  ERROR,      /* (incomplete sequence) */
+                  ERROR,      /* (incomplete sequence) */
+                  ERROR,      /* (incomplete sequence) */
+                  ERROR,      /* (incomplete sequence) */
+                  ERROR,      /* (incomplete sequence) */
+                  ERROR,      /* (incomplete sequence) */
+                  ERROR,      /* (incomplete sequence) */
+                  ERROR,      /* (incomplete sequence) */
+                  0, -1);
+    utf8_read_test(TESTSTR("\xFE"),
+                  ERROR,      /* (invalid UTF-8 byte) */
+                  0, -1);
+    utf8_read_test(TESTSTR("\xFF"),
+                  ERROR,      /* (invalid UTF-8 byte) */
+                  0, -1);
+    utf8_read_test(TESTSTR("\xFE\xFE\xFF\xFF"),
+                  ERROR,      /* (invalid UTF-8 byte) */
+                  ERROR,      /* (invalid UTF-8 byte) */
+                  ERROR,      /* (invalid UTF-8 byte) */
+                  ERROR,      /* (invalid UTF-8 byte) */
+                  0, -1);
+    utf8_read_test(TESTSTR("\xC0\xAF"),
+                  ERROR,      /* SOLIDUS (overlong form of 2F) */
+                  0, -1);
+    utf8_read_test(TESTSTR("\xE0\x80\xAF"),
+                  ERROR,      /* SOLIDUS (overlong form of 2F) */
+                  0, -1);
+    utf8_read_test(TESTSTR("\xF0\x80\x80\xAF"),
+                  ERROR,      /* SOLIDUS (overlong form of 2F) */
+                  0, -1);
+    utf8_read_test(TESTSTR("\xF8\x80\x80\x80\xAF"),
+                  ERROR,      /* SOLIDUS (overlong form of 2F) */
+                  0, -1);
+    utf8_read_test(TESTSTR("\xFC\x80\x80\x80\x80\xAF"),
+                  ERROR,      /* SOLIDUS (overlong form of 2F) */
+                  0, -1);
+    utf8_read_test(TESTSTR("\xC1\xBF"),
+                  ERROR,      /* <control> (overlong form of 7F) */
+                  0, -1);
+    utf8_read_test(TESTSTR("\xE0\x9F\xBF"),
+                  ERROR,      /* <no name available> (overlong form of DF BF) */
+                  0, -1);
+    utf8_read_test(TESTSTR("\xF0\x8F\xBF\xBF"),
+                  ERROR,      /* <no name available> (overlong form of EF BF BF) (invalid char) */
+                  0, -1);
+    utf8_read_test(TESTSTR("\xF8\x87\xBF\xBF\xBF"),
+                  ERROR,      /* <no name available> (overlong form of F7 BF BF BF) */
+                  0, -1);
+    utf8_read_test(TESTSTR("\xFC\x83\xBF\xBF\xBF\xBF"),
+                  ERROR,      /* <no name available> (overlong form of FB BF BF BF BF) */
+                  0, -1);
+    utf8_read_test(TESTSTR("\xC0\x80"),
+                  ERROR,      /* <control> (overlong form of 00) */
+                  0, -1);
+    utf8_read_test(TESTSTR("\xE0\x80\x80"),
+                  ERROR,      /* <control> (overlong form of 00) */
+                  0, -1);
+    utf8_read_test(TESTSTR("\xF0\x80\x80\x80"),
+                  ERROR,      /* <control> (overlong form of 00) */
+                  0, -1);
+    utf8_read_test(TESTSTR("\xF8\x80\x80\x80\x80"),
+                  ERROR,      /* <control> (overlong form of 00) */
+                  0, -1);
+    utf8_read_test(TESTSTR("\xFC\x80\x80\x80\x80\x80"),
+                  ERROR,      /* <control> (overlong form of 00) */
+                  0, -1);
+    utf8_read_test(TESTSTR("\xED\xA0\x80"),
+                  ERROR,      /* <Non Private Use High Surrogate, First> (surrogate) */
+                  0, -1);
+    utf8_read_test(TESTSTR("\xED\xAD\xBF"),
+                  ERROR,      /* <Non Private Use High Surrogate, Last> (surrogate) */
+                  0, -1);
+    utf8_read_test(TESTSTR("\xED\xAE\x80"),
+                  ERROR,      /* <Private Use High Surrogate, First> (surrogate) */
+                  0, -1);
+    utf8_read_test(TESTSTR("\xED\xAF\xBF"),
+                  ERROR,      /* <Private Use High Surrogate, Last> (surrogate) */
+                  0, -1);
+    utf8_read_test(TESTSTR("\xED\xB0\x80"),
+                  ERROR,      /* <Low Surrogate, First> (surrogate) */
+                  0, -1);
+    utf8_read_test(TESTSTR("\xED\xBE\x80"),
+                  ERROR,      /* <no name available> (surrogate) */
+                  0, -1);
+    utf8_read_test(TESTSTR("\xED\xBF\xBF"),
+                  ERROR,      /* <Low Surrogate, Last> (surrogate) */
+                  0, -1);
+    utf8_read_test(TESTSTR("\xED\xA0\x80\xED\xB0\x80"),
+                  ERROR,      /* <Non Private Use High Surrogate, First> (surrogate) */
+                  ERROR,      /* <Low Surrogate, First> (surrogate) */
+                  0, -1);
+    utf8_read_test(TESTSTR("\xED\xA0\x80\xED\xBF\xBF"),
+                  ERROR,      /* <Non Private Use High Surrogate, First> (surrogate) */
+                  ERROR,      /* <Low Surrogate, Last> (surrogate) */
+                  0, -1);
+    utf8_read_test(TESTSTR("\xED\xAD\xBF\xED\xB0\x80"),
+                  ERROR,      /* <Non Private Use High Surrogate, Last> (surrogate) */
+                  ERROR,      /* <Low Surrogate, First> (surrogate) */
+                  0, -1);
+    utf8_read_test(TESTSTR("\xED\xAD\xBF\xED\xBF\xBF"),
+                  ERROR,      /* <Non Private Use High Surrogate, Last> (surrogate) */
+                  ERROR,      /* <Low Surrogate, Last> (surrogate) */
+                  0, -1);
+    utf8_read_test(TESTSTR("\xED\xAE\x80\xED\xB0\x80"),
+                  ERROR,      /* <Private Use High Surrogate, First> (surrogate) */
+                  ERROR,      /* <Low Surrogate, First> (surrogate) */
+                  0, -1);
+    utf8_read_test(TESTSTR("\xED\xAE\x80\xED\xBF\xBF"),
+                  ERROR,      /* <Private Use High Surrogate, First> (surrogate) */
+                  ERROR,      /* <Low Surrogate, Last> (surrogate) */
+                  0, -1);
+    utf8_read_test(TESTSTR("\xED\xAF\xBF\xED\xB0\x80"),
+                  ERROR,      /* <Private Use High Surrogate, Last> (surrogate) */
+                  ERROR,      /* <Low Surrogate, First> (surrogate) */
+                  0, -1);
+    utf8_read_test(TESTSTR("\xED\xAF\xBF\xED\xBF\xBF"),
+                  ERROR,      /* <Private Use High Surrogate, Last> (surrogate) */
+                  ERROR,      /* <Low Surrogate, Last> (surrogate) */
+                  0, -1);
+    utf8_read_test(TESTSTR("\xEF\xBF\xBE"),
+                  ERROR,      /* <no name available> (invalid char) */
+                  0, -1);
+    utf8_read_test(TESTSTR("\xEF\xBF\xBF"),
+                  ERROR,      /* <no name available> (invalid char) */
+                  0, -1);
+    printf("read tests completed\n");
+    printf("write tests beginning\n");
+    {
+       const static long str[] =
+       {0x03BAL, 0x1F79L, 0x03C3L, 0x03BCL, 0x03B5L, 0};
+       utf8_write_test(TESTSTR(str),
+                       0xCE, 0xBA,
+                       0xE1, 0xBD, 0xB9,
+                       0xCF, 0x83,
+                       0xCE, 0xBC,
+                       0xCE, 0xB5,
+                       0, -1);
+    }
+    {
+       const static long str[] = {0x0000L, 0};
+       utf8_write_test(TESTSTR(str),
+                       0x00,
+                       0, -1);
+    }
+    {
+       const static long str[] = {0x0080L, 0};
+       utf8_write_test(TESTSTR(str),
+                       0xC2, 0x80,
+                       0, -1);
+    }
+    {
+       const static long str[] = {0x0800L, 0};
+       utf8_write_test(TESTSTR(str),
+                       0xE0, 0xA0, 0x80,
+                       0, -1);
+    }
+    {
+       const static long str[] = {0x00010000L, 0};
+       utf8_write_test(TESTSTR(str),
+                       0xF0, 0x90, 0x80, 0x80,
+                       0, -1);
+    }
+    {
+       const static long str[] = {0x00200000L, 0};
+       utf8_write_test(TESTSTR(str),
+                       0xF8, 0x88, 0x80, 0x80, 0x80,
+                       0, -1);
+    }
+    {
+       const static long str[] = {0x04000000L, 0};
+       utf8_write_test(TESTSTR(str),
+                       0xFC, 0x84, 0x80, 0x80, 0x80, 0x80,
+                       0, -1);
+    }
+    {
+       const static long str[] = {0x007FL, 0};
+       utf8_write_test(TESTSTR(str),
+                       0x7F,
+                       0, -1);
+    }
+    {
+       const static long str[] = {0x07FFL, 0};
+       utf8_write_test(TESTSTR(str),
+                       0xDF, 0xBF,
+                       0, -1);
+    }
+    {
+       const static long str[] = {0xFFFDL, 0};
+       utf8_write_test(TESTSTR(str),
+                       0xEF, 0xBF, 0xBD,
+                       0, -1);
+    }
+    {
+       const static long str[] = {0xFFFFL, 0};
+       utf8_write_test(TESTSTR(str),
+                       ERROR,
+                       0, -1);
+    }
+    {
+       const static long str[] = {0x001FFFFFL, 0};
+       utf8_write_test(TESTSTR(str),
+                       0xF7, 0xBF, 0xBF, 0xBF,
+                       0, -1);
+    }
+    {
+       const static long str[] = {0x03FFFFFFL, 0};
+       utf8_write_test(TESTSTR(str),
+                       0xFB, 0xBF, 0xBF, 0xBF, 0xBF,
+                       0, -1);
+    }
+    {
+       const static long str[] = {0x7FFFFFFFL, 0};
+       utf8_write_test(TESTSTR(str),
+                       0xFD, 0xBF, 0xBF, 0xBF, 0xBF, 0xBF,
+                       0, -1);
+    }
+    {
+       const static long str[] = {0xD7FFL, 0};
+       utf8_write_test(TESTSTR(str),
+                       0xED, 0x9F, 0xBF,
+                       0, -1);
+    }
+    {
+       const static long str[] = {0xD800L, 0};
+       utf8_write_test(TESTSTR(str),
+                       ERROR,
+                       0, -1);
+    }
+    {
+       const static long str[] = {0xD800L, 0xDC00L, 0};
+       utf8_write_test(TESTSTR(str),
+                       ERROR,
+                       ERROR,
+                       0, -1);
+    }
+    {
+       const static long str[] = {0xDFFFL, 0};
+       utf8_write_test(TESTSTR(str),
+                       ERROR,
+                       0, -1);
+    }
+    {
+       const static long str[] = {0xE000L, 0};
+       utf8_write_test(TESTSTR(str),
+                       0xEE, 0x80, 0x80,
+                       0, -1);
+    }
+    printf("write tests completed\n");
+
+    printf("total: %d errors\n", total_errs);
+    return (total_errs != 0);
+}
+#endif /* TESTMODE */
+
+const charset_spec charset_CS_UTF8 = {
+    CS_UTF8, read_utf8, write_utf8, NULL
+};
+
+#else /* ENUM_CHARSETS */
+
+ENUM_CHARSET(CS_UTF8)
+
+#endif /* ENUM_CHARSETS */
diff --git a/xenc.c b/xenc.c
new file mode 100644 (file)
index 0000000..5359b16
--- /dev/null
+++ b/xenc.c
@@ -0,0 +1,92 @@
+/*
+ * xenc.c - translate our internal character set codes to and from
+ * X11 character encoding names.
+ * 
+ */
+
+#include <ctype.h>
+#include "charset.h"
+#include "internal.h"
+
+static const struct {
+    const char *name;
+    int charset;
+} xencs[] = {
+    /*
+     * Officially registered encoding names. This list is derived
+     * from the font encodings section of
+     * 
+     *   http://ftp.x.org/pub/DOCS/registry
+     * 
+     * Where multiple encoding names map to the same encoding id
+     * (such as iso8859-15 and fcd8859-15), the first is considered
+     * canonical and will be returned when translating the id to a
+     * string.
+     */
+    { "iso8859-1", CS_ISO8859_1 },
+    { "iso8859-2", CS_ISO8859_2 },
+    { "iso8859-3", CS_ISO8859_3 },
+    { "iso8859-4", CS_ISO8859_4 },
+    { "iso8859-5", CS_ISO8859_5 },
+    { "iso8859-6", CS_ISO8859_6 },
+    { "iso8859-7", CS_ISO8859_7 },
+    { "iso8859-8", CS_ISO8859_8 },
+    { "iso8859-9", CS_ISO8859_9 },
+    { "iso8859-10", CS_ISO8859_10 },
+    { "iso8859-13", CS_ISO8859_13 },
+    { "iso8859-14", CS_ISO8859_14 },
+    { "iso8859-15", CS_ISO8859_15 },
+    { "fcd8859-15", CS_ISO8859_15 },
+    { "hp-roman8", CS_HP_ROMAN8 },
+    { "koi8-r", CS_KOI8_R },
+    /*
+     * Unofficial encoding names found in the wild.
+     */
+    { "iso8859-16", CS_ISO8859_16 },
+    { "koi8-u", CS_KOI8_U },
+    { "ibm-cp437", CS_CP437 },
+    { "ibm-cp850", CS_CP850 },
+    { "microsoft-cp1250", CS_CP1250 },
+    { "microsoft-cp1251", CS_CP1251 },
+    { "microsoft-cp1252", CS_CP1252 },
+    { "microsoft-cp1253", CS_CP1253 },
+    { "microsoft-cp1254", CS_CP1254 },
+    { "microsoft-cp1255", CS_CP1255 },
+    { "microsoft-cp1256", CS_CP1256 },
+    { "microsoft-cp1257", CS_CP1257 },
+    { "microsoft-cp1258", CS_CP1258 },
+    { "mac-roman", CS_MAC_ROMAN },
+    { "viscii1.1-1", CS_VISCII },
+    { "viscii1-1", CS_VISCII },
+};
+
+const char *charset_to_xenc(int charset)
+{
+    int i;
+
+    for (i = 0; i < (int)lenof(xencs); i++)
+       if (charset == xencs[i].charset)
+           return xencs[i].name;
+
+    return NULL;                      /* not found */
+}
+
+int charset_from_xenc(const char *name)
+{
+    int i;
+
+    for (i = 0; i < (int)lenof(xencs); i++) {
+       const char *p, *q;
+       p = name;
+       q = xencs[i].name;
+       while (*p || *q) {
+           if (tolower(*p) != tolower(*q))
+               break;
+           p++; q++;
+       }
+       if (!*p && !*q)
+           return xencs[i].charset;
+    }
+
+    return CS_NONE;                   /* not found */
+}