From e9ddfbb41207328d5c89061067f3431e00711fda Mon Sep 17 00:00:00 2001
From: Hye-Shik Chang <hyeshik@gmail.com>
Date: Wed, 4 Aug 2004 07:38:35 +0000
Subject: SF #989185: Drop unicode.iswide() and unicode.width() and add
 unicodedata.east_asian_width().  You can still implement your own simple
 width() function using it like this:     def width(u):         w = 0        
 for c in unicodedata.normalize('NFC', u):             cwidth =
 unicodedata.east_asian_width(c)             if cwidth in ('W', 'F'): w += 2  
           else: w += 1         return w

---
 Doc/api/concrete.tex             |    9 -
 Doc/lib/libstdtypes.tex          |   11 -
 Doc/lib/libunicodedata.tex       |    7 +-
 Include/unicodeobject.h          |   18 -
 Lib/test/string_tests.py         |   25 -
 Lib/test/test_unicode.py         |    3 +-
 Lib/test/test_unicodedata.py     |   11 +
 Lib/test/test_userstring.py      |    3 +-
 Misc/NEWS                        |    3 +
 Modules/unicodedata.c            |   21 +
 Modules/unicodedata_db.h         | 2363 ++++++++++++++++++++------------------
 Objects/unicodectype.c           |   10 -
 Objects/unicodeobject.c          |   67 --
 Objects/unicodetype_db.h         |  659 +++++------
 Tools/unicode/makeunicodedata.py |   18 +-
 15 files changed, 1626 insertions(+), 1602 deletions(-)

diff --git a/Doc/api/concrete.tex b/Doc/api/concrete.tex
index cb065ff..d569228 100644
--- a/Doc/api/concrete.tex
+++ b/Doc/api/concrete.tex
@@ -894,11 +894,6 @@ functions depending on the Python configuration.
   character.
 \end{cfuncdesc}
 
-\begin{cfuncdesc}{int}{Py_UNICODE_ISWIDE}{Py_UNICODE ch}
-  Returns 1/0 depending on whether \var{ch} is a wide or full-width
-  character.
-\end{cfuncdesc}
-
 These APIs can be used for fast direct character conversions:
 
 \begin{cfuncdesc}{Py_UNICODE}{Py_UNICODE_TOLOWER}{Py_UNICODE ch}
@@ -957,10 +952,6 @@ use these APIs:
   Return the length of the Unicode object.
 \end{cfuncdesc}
 
-\begin{cfuncdesc}{int}{PyUnicode_GetWidth}{PyObject *unicode}
-  Return the fixed-width representation length of the Unicode object.
-\end{cfuncdesc}
-
 \begin{cfuncdesc}{PyObject*}{PyUnicode_FromEncodedObject}{PyObject *obj,
                                                       const char *encoding,
                                                       const char *errors}
diff --git a/Doc/lib/libstdtypes.tex b/Doc/lib/libstdtypes.tex
index 7d69b64..c33360d 100644
--- a/Doc/lib/libstdtypes.tex
+++ b/Doc/lib/libstdtypes.tex
@@ -664,12 +664,6 @@ there is at least one cased character, false otherwise.
 For 8-bit strings, this method is locale-dependent.
 \end{methoddesc}
 
-\begin{methoddesc}[string]{iswide}{}
-Return true if all characters in the string are wide or full width and
-there is at least one wide or full width character, false otherwise.
-This method is supported by unicode type only.
-\end{methoddesc}
-
 \begin{methoddesc}[string]{join}{seq}
 Return a string which is the concatenation of the strings in the
 sequence \var{seq}.  The separator between elements is the string
@@ -810,11 +804,6 @@ Return a copy of the string converted to uppercase.
 For 8-bit strings, this method is locale-dependent.
 \end{methoddesc}
 
-\begin{methoddesc}[string]{width}{}
-Return length of fixed-width representation of the string. This method
-is supported by unicode type only.
-\end{methoddesc}
-
 \begin{methoddesc}[string]{zfill}{width}
 Return the numeric string left filled with zeros in a string
 of length \var{width}. The original string is returned if
diff --git a/Doc/lib/libunicodedata.tex b/Doc/lib/libunicodedata.tex
index a6d9d43..2922913 100644
--- a/Doc/lib/libunicodedata.tex
+++ b/Doc/lib/libunicodedata.tex
@@ -71,6 +71,11 @@ defines the following functions:
   class is defined.
 \end{funcdesc}
 
+\begin{funcdesc}{east_asian_width}{unichr}
+  Returns the east asian width of assigned to the Unicode character
+  \var{unichr} as string.
+\end{funcdesc}
+
 \begin{funcdesc}{mirrored}{unichr}
   Returns the mirrored property of assigned to the Unicode character
   \var{unichr} as integer. Returns \code{1} if the character has been
@@ -123,4 +128,4 @@ In addition, the module exposes the following constant:
 The version of the Unicode database used in this module.
 
 \versionadded{2.3}
-\end{datadesc}
\ No newline at end of file
+\end{datadesc}
diff --git a/Include/unicodeobject.h b/Include/unicodeobject.h
index 45118b3..5126870 100644
--- a/Include/unicodeobject.h
+++ b/Include/unicodeobject.h
@@ -181,7 +181,6 @@ typedef PY_UNICODE_TYPE Py_UNICODE;
 # define PyUnicode_GetDefaultEncoding PyUnicodeUCS2_GetDefaultEncoding
 # define PyUnicode_GetMax PyUnicodeUCS2_GetMax
 # define PyUnicode_GetSize PyUnicodeUCS2_GetSize
-# define PyUnicode_GetWidth PyUnicodeUCS2_GetWidth
 # define PyUnicode_Join PyUnicodeUCS2_Join
 # define PyUnicode_Replace PyUnicodeUCS2_Replace
 # define PyUnicode_Resize PyUnicodeUCS2_Resize
@@ -201,7 +200,6 @@ typedef PY_UNICODE_TYPE Py_UNICODE;
 # define _PyUnicode_IsLinebreak _PyUnicodeUCS2_IsLinebreak
 # define _PyUnicode_IsLowercase _PyUnicodeUCS2_IsLowercase
 # define _PyUnicode_IsNumeric _PyUnicodeUCS2_IsNumeric
-# define _PyUnicode_IsWide _PyUnicodeUCS2_IsWide
 # define _PyUnicode_IsTitlecase _PyUnicodeUCS2_IsTitlecase
 # define _PyUnicode_IsUppercase _PyUnicodeUCS2_IsUppercase
 # define _PyUnicode_IsWhitespace _PyUnicodeUCS2_IsWhitespace
@@ -256,7 +254,6 @@ typedef PY_UNICODE_TYPE Py_UNICODE;
 # define PyUnicode_GetDefaultEncoding PyUnicodeUCS4_GetDefaultEncoding
 # define PyUnicode_GetMax PyUnicodeUCS4_GetMax
 # define PyUnicode_GetSize PyUnicodeUCS4_GetSize
-# define PyUnicode_GetWidth PyUnicodeUCS4_GetWidth
 # define PyUnicode_Join PyUnicodeUCS4_Join
 # define PyUnicode_Replace PyUnicodeUCS4_Replace
 # define PyUnicode_Resize PyUnicodeUCS4_Resize
@@ -275,7 +272,6 @@ typedef PY_UNICODE_TYPE Py_UNICODE;
 # define _PyUnicode_IsLinebreak _PyUnicodeUCS4_IsLinebreak
 # define _PyUnicode_IsLowercase _PyUnicodeUCS4_IsLowercase
 # define _PyUnicode_IsNumeric _PyUnicodeUCS4_IsNumeric
-# define _PyUnicode_IsWide _PyUnicodeUCS4_IsWide
 # define _PyUnicode_IsTitlecase _PyUnicodeUCS4_IsTitlecase
 # define _PyUnicode_IsUppercase _PyUnicodeUCS4_IsUppercase
 # define _PyUnicode_IsWhitespace _PyUnicodeUCS4_IsWhitespace
@@ -321,8 +317,6 @@ typedef PY_UNICODE_TYPE Py_UNICODE;
 
 #define Py_UNICODE_ISALPHA(ch) iswalpha(ch)
 
-#define Py_UNICODE_ISWIDE(ch) _PyUnicode_IsWide(ch)
-
 #else
 
 #define Py_UNICODE_ISSPACE(ch) _PyUnicode_IsWhitespace(ch)
@@ -346,8 +340,6 @@ typedef PY_UNICODE_TYPE Py_UNICODE;
 
 #define Py_UNICODE_ISALPHA(ch) _PyUnicode_IsAlpha(ch)
 
-#define Py_UNICODE_ISWIDE(ch) _PyUnicode_IsWide(ch)
-
 #endif
 
 #define Py_UNICODE_ISALNUM(ch) \
@@ -440,12 +432,6 @@ PyAPI_FUNC(int) PyUnicode_GetSize(
     PyObject *unicode	 	/* Unicode object */
     );
 
-/* Get the fixed-width representation length of the Unicode object */
-
-PyAPI_FUNC(int) PyUnicode_GetWidth(
-    PyObject *unicode	 	/* Unicode object */
-    );
-
 /* Get the maximum ordinal for a Unicode character. */
 PyAPI_FUNC(Py_UNICODE) PyUnicode_GetMax(void);
 
@@ -1176,10 +1162,6 @@ PyAPI_FUNC(int) _PyUnicode_IsAlpha(
     Py_UNICODE ch 	/* Unicode character */
     );
 
-PyAPI_FUNC(int) _PyUnicode_IsWide(
-    Py_UNICODE ch 	/* Unicode character */
-    );
-
 #ifdef __cplusplus
 }
 #endif
diff --git a/Lib/test/string_tests.py b/Lib/test/string_tests.py
index edccb8f..860c1f2 100644
--- a/Lib/test/string_tests.py
+++ b/Lib/test/string_tests.py
@@ -695,28 +695,3 @@ class MixinStrUserStringTest:
 
         self.checkraises(TypeError, 'xyz', 'decode', 42)
         self.checkraises(TypeError, 'xyz', 'encode', 42)
-
-
-class MixinUnicodeUserStringTest:
-    # Additional tests that only work with
-    # unicode compatible object, i.e. unicode and UserString
-
-    def test_iswide(self):
-        self.checkequal(False, u'', 'iswide')
-        self.checkequal(False, u'\x1f', 'iswide') # Neutral
-        self.checkequal(False, u'\x20', 'iswide') # Narrow
-        self.checkequal(True, u'\u2329', 'iswide') # Wide
-        self.checkequal(False, u'\uff64', 'iswide') # Half
-        self.checkequal(True, u'\u3000', 'iswide') # Full
-        self.checkequal(False, u'\u2460', 'iswide') # Ambiguous
-        self.checkequal(True, u'\ud55c\uae00', 'iswide')
-        self.checkequal(False, u'\ud55c\u2606\uae00', 'iswide')
-
-    def test_width(self):
-        self.checkequal(0, u'', 'width')
-        self.checkequal(4, u'abcd', 'width')
-        self.checkequal(2, u'\u0187\u01c9', 'width')
-        self.checkequal(3, u'\u2460\u2329', 'width')
-        self.checkequal(3, u'\u2329\u2460', 'width')
-        self.checkequal(4, u'\ud55c\uae00', 'width')
-        self.checkequal(5, u'\ud55c\u2606\uae00', 'width')
diff --git a/Lib/test/test_unicode.py b/Lib/test/test_unicode.py
index 17c82ab..215c968 100644
--- a/Lib/test/test_unicode.py
+++ b/Lib/test/test_unicode.py
@@ -11,8 +11,7 @@ from test import test_support, string_tests
 
 class UnicodeTest(
     string_tests.CommonTest,
-    string_tests.MixinStrUnicodeUserStringTest,
-    string_tests.MixinUnicodeUserStringTest
+    string_tests.MixinStrUnicodeUserStringTest
     ):
     type2test = unicode
 
diff --git a/Lib/test/test_unicodedata.py b/Lib/test/test_unicodedata.py
index 8157fb3..0bbabb1 100644
--- a/Lib/test/test_unicodedata.py
+++ b/Lib/test/test_unicodedata.py
@@ -174,6 +174,17 @@ class UnicodeFunctionsTest(UnicodeDatabaseTest):
         # The rest can be found in test_normalization.py
         # which requires an external file.
 
+    def test_east_asian_width(self):
+        eaw = self.db.east_asian_width
+        self.assertRaises(TypeError, eaw, 'a')
+        self.assertRaises(TypeError, eaw, u'')
+        self.assertRaises(TypeError, eaw, u'ra')
+        self.assertEqual(eaw(u'\x1e'), 'N')
+        self.assertEqual(eaw(u'\x20'), 'Na')
+        self.assertEqual(eaw(u'\uC894'), 'W')
+        self.assertEqual(eaw(u'\uFF66'), 'H')
+        self.assertEqual(eaw(u'\uFF1F'), 'F')
+        self.assertEqual(eaw(u'\u2010'), 'A')
 
 class UnicodeMiscTest(UnicodeDatabaseTest):
 
diff --git a/Lib/test/test_userstring.py b/Lib/test/test_userstring.py
index b70081f..990199e 100755
--- a/Lib/test/test_userstring.py
+++ b/Lib/test/test_userstring.py
@@ -11,8 +11,7 @@ class UserStringTest(
     string_tests.CommonTest,
     string_tests.MixinStrUnicodeUserStringTest,
     string_tests.MixinStrStringUserStringTest,
-    string_tests.MixinStrUserStringTest,
-    string_tests.MixinUnicodeUserStringTest
+    string_tests.MixinStrUserStringTest
     ):
 
     type2test = UserString
diff --git a/Misc/NEWS b/Misc/NEWS
index 40c58b3..630c85e 100644
--- a/Misc/NEWS
+++ b/Misc/NEWS
@@ -67,6 +67,9 @@ Core and builtins
 - Added a workaround for proper string operations in BSDs.  str.split
   and str.is* methods can now work correctly with UTF-8 locales.
 
+- unicode.iswide() and unicode.width() is dropped and the East Asian
+  Width support is moved to unicodedata extension module.
+
 Extension modules
 -----------------
 
diff --git a/Modules/unicodedata.c b/Modules/unicodedata.c
index 8aa18f2..4a1e94c 100644
--- a/Modules/unicodedata.c
+++ b/Modules/unicodedata.c
@@ -24,6 +24,8 @@ typedef struct {
     const unsigned char	bidirectional; 	/* index into
 					   _PyUnicode_BidirectionalNames */
     const unsigned char mirrored;	/* true if mirrored in bidir mode */
+    const unsigned char east_asian_width;	/* index into
+						   _PyUnicode_EastAsianWidth */
 } _PyUnicode_DatabaseRecord;
 
 /* data file generated by Tools/unicode/makeunicodedata.py */
@@ -205,6 +207,24 @@ unicodedata_mirrored(PyObject *self, PyObject *args)
 }
 
 static PyObject *
+unicodedata_east_asian_width(PyObject *self, PyObject *args)
+{
+    PyUnicodeObject *v;
+    int index;
+
+    if (!PyArg_ParseTuple(args, "O!:east_asian_width",
+			  &PyUnicode_Type, &v))
+	return NULL;
+    if (PyUnicode_GET_SIZE(v) != 1) {
+	PyErr_SetString(PyExc_TypeError,
+			"need a single Unicode character as parameter");
+	return NULL;
+    }
+    index = (int) _getrecord(v)->east_asian_width;
+    return PyString_FromString(_PyUnicode_EastAsianWidthNames[index]);
+}
+
+static PyObject *
 unicodedata_decomposition(PyObject *self, PyObject *args)
 {
     PyUnicodeObject *v;
@@ -871,6 +891,7 @@ static PyMethodDef unicodedata_functions[] = {
     {"bidirectional", unicodedata_bidirectional, METH_VARARGS},
     {"combining", unicodedata_combining, METH_VARARGS},
     {"mirrored", unicodedata_mirrored, METH_VARARGS},
+    {"east_asian_width", unicodedata_east_asian_width, METH_VARARGS},
     {"decomposition",unicodedata_decomposition, METH_VARARGS},
     {"name", unicodedata_name, METH_VARARGS},
     {"lookup", unicodedata_lookup, METH_VARARGS},
diff --git a/Modules/unicodedata_db.h b/Modules/unicodedata_db.h
index 1c07465..4b816f6 100644
--- a/Modules/unicodedata_db.h
+++ b/Modules/unicodedata_db.h
@@ -3,129 +3,219 @@
 #define UNIDATA_VERSION "3.2.0"
 /* a list of unique database records */
 const _PyUnicode_DatabaseRecord _PyUnicode_Database_Records[] = {
-    {0, 0, 0, 0},
-    {13, 0, 15, 0},
-    {13, 0, 17, 0},
-    {13, 0, 16, 0},
-    {13, 0, 18, 0},
-    {10, 0, 18, 0},
-    {26, 0, 19, 0},
-    {26, 0, 11, 0},
-    {28, 0, 11, 0},
-    {22, 0, 19, 1},
-    {23, 0, 19, 1},
-    {27, 0, 11, 0},
-    {26, 0, 13, 0},
-    {21, 0, 11, 0},
-    {26, 0, 10, 0},
-    {7, 0, 9, 0},
-    {27, 0, 19, 1},
-    {27, 0, 19, 0},
-    {1, 0, 1, 0},
-    {29, 0, 19, 0},
-    {20, 0, 19, 0},
-    {2, 0, 1, 0},
-    {10, 0, 13, 0},
-    {30, 0, 19, 0},
-    {24, 0, 19, 1},
-    {21, 0, 19, 0},
-    {30, 0, 11, 0},
-    {9, 0, 9, 0},
-    {25, 0, 19, 1},
-    {9, 0, 19, 0},
-    {19, 0, 1, 0},
-    {3, 0, 1, 0},
-    {18, 0, 1, 0},
-    {4, 230, 14, 0},
-    {4, 232, 14, 0},
-    {4, 220, 14, 0},
-    {4, 216, 14, 0},
-    {4, 202, 14, 0},
-    {4, 1, 14, 0},
-    {4, 240, 14, 0},
-    {4, 0, 14, 0},
-    {4, 234, 14, 0},
-    {4, 233, 14, 0},
-    {30, 0, 1, 0},
-    {6, 0, 14, 0},
-    {26, 0, 1, 0},
-    {4, 222, 14, 0},
-    {4, 228, 14, 0},
-    {4, 10, 14, 0},
-    {4, 11, 14, 0},
-    {4, 12, 14, 0},
-    {4, 13, 14, 0},
-    {4, 14, 14, 0},
-    {4, 15, 14, 0},
-    {4, 16, 14, 0},
-    {4, 17, 14, 0},
-    {4, 18, 14, 0},
-    {4, 19, 14, 0},
-    {4, 20, 14, 0},
-    {4, 21, 14, 0},
-    {4, 22, 14, 0},
-    {26, 0, 4, 0},
-    {4, 23, 14, 0},
-    {4, 24, 14, 0},
-    {4, 25, 14, 0},
-    {19, 0, 4, 0},
-    {26, 0, 5, 0},
-    {19, 0, 5, 0},
-    {18, 0, 5, 0},
-    {4, 27, 14, 0},
-    {4, 28, 14, 0},
-    {4, 29, 14, 0},
-    {4, 30, 14, 0},
-    {4, 31, 14, 0},
-    {4, 32, 14, 0},
-    {4, 33, 14, 0},
-    {4, 34, 14, 0},
-    {7, 0, 12, 0},
-    {26, 0, 12, 0},
-    {4, 35, 14, 0},
-    {14, 0, 5, 0},
-    {30, 0, 5, 0},
-    {14, 0, 15, 0},
-    {4, 36, 14, 0},
-    {5, 0, 1, 0},
-    {4, 7, 14, 0},
-    {4, 9, 14, 0},
-    {7, 0, 1, 0},
-    {9, 0, 1, 0},
-    {4, 84, 14, 0},
-    {4, 91, 14, 0},
-    {4, 103, 14, 0},
-    {4, 107, 14, 0},
-    {4, 118, 14, 0},
-    {4, 122, 14, 0},
-    {22, 0, 19, 0},
-    {23, 0, 19, 0},
-    {4, 129, 14, 0},
-    {4, 130, 14, 0},
-    {4, 132, 14, 0},
-    {8, 0, 1, 0},
-    {10, 0, 15, 0},
-    {14, 0, 1, 0},
-    {14, 0, 4, 0},
-    {24, 0, 19, 0},
-    {25, 0, 19, 0},
-    {11, 0, 18, 0},
-    {12, 0, 16, 0},
-    {14, 0, 2, 0},
-    {14, 0, 6, 0},
-    {14, 0, 8, 0},
-    {14, 0, 3, 0},
-    {14, 0, 7, 0},
-    {4, 218, 14, 0},
-    {4, 224, 14, 0},
-    {4, 8, 14, 0},
-    {15, 0, 1, 0},
-    {16, 0, 1, 0},
-    {4, 26, 14, 0},
-    {28, 0, 5, 0},
-    {5, 216, 1, 0},
-    {5, 226, 1, 0},
-    {27, 0, 1, 0},
+    {0, 0, 0, 0, 0},
+    {13, 0, 15, 0, 5},
+    {13, 0, 17, 0, 5},
+    {13, 0, 16, 0, 5},
+    {13, 0, 18, 0, 5},
+    {10, 0, 18, 0, 3},
+    {26, 0, 19, 0, 3},
+    {26, 0, 11, 0, 3},
+    {28, 0, 11, 0, 3},
+    {22, 0, 19, 1, 3},
+    {23, 0, 19, 1, 3},
+    {27, 0, 11, 0, 3},
+    {26, 0, 13, 0, 3},
+    {21, 0, 11, 0, 3},
+    {26, 0, 10, 0, 3},
+    {7, 0, 9, 0, 3},
+    {27, 0, 19, 1, 3},
+    {27, 0, 19, 0, 3},
+    {1, 0, 1, 0, 3},
+    {29, 0, 19, 0, 3},
+    {20, 0, 19, 0, 3},
+    {2, 0, 1, 0, 3},
+    {10, 0, 13, 0, 5},
+    {26, 0, 19, 0, 4},
+    {28, 0, 11, 0, 4},
+    {30, 0, 19, 0, 3},
+    {30, 0, 19, 0, 4},
+    {29, 0, 19, 0, 4},
+    {30, 0, 19, 0, 5},
+    {2, 0, 1, 0, 4},
+    {24, 0, 19, 1, 5},
+    {21, 0, 19, 0, 4},
+    {30, 0, 11, 0, 4},
+    {27, 0, 11, 0, 4},
+    {9, 0, 9, 0, 4},
+    {2, 0, 1, 0, 5},
+    {25, 0, 19, 1, 5},
+    {9, 0, 19, 0, 4},
+    {1, 0, 1, 0, 5},
+    {1, 0, 1, 0, 4},
+    {27, 0, 19, 0, 4},
+    {19, 0, 1, 0, 5},
+    {3, 0, 1, 0, 5},
+    {18, 0, 1, 0, 5},
+    {29, 0, 19, 0, 5},
+    {18, 0, 1, 0, 4},
+    {4, 230, 14, 0, 4},
+    {4, 232, 14, 0, 4},
+    {4, 220, 14, 0, 4},
+    {4, 216, 14, 0, 4},
+    {4, 202, 14, 0, 4},
+    {4, 1, 14, 0, 4},
+    {4, 240, 14, 0, 4},
+    {4, 0, 14, 0, 4},
+    {4, 234, 14, 0, 4},
+    {4, 233, 14, 0, 4},
+    {26, 0, 19, 0, 5},
+    {27, 0, 19, 0, 5},
+    {30, 0, 1, 0, 5},
+    {4, 230, 14, 0, 5},
+    {6, 0, 14, 0, 5},
+    {26, 0, 1, 0, 5},
+    {21, 0, 19, 0, 5},
+    {4, 220, 14, 0, 5},
+    {4, 222, 14, 0, 5},
+    {4, 228, 14, 0, 5},
+    {4, 10, 14, 0, 5},
+    {4, 11, 14, 0, 5},
+    {4, 12, 14, 0, 5},
+    {4, 13, 14, 0, 5},
+    {4, 14, 14, 0, 5},
+    {4, 15, 14, 0, 5},
+    {4, 16, 14, 0, 5},
+    {4, 17, 14, 0, 5},
+    {4, 18, 14, 0, 5},
+    {4, 19, 14, 0, 5},
+    {4, 20, 14, 0, 5},
+    {4, 21, 14, 0, 5},
+    {4, 22, 14, 0, 5},
+    {26, 0, 4, 0, 5},
+    {4, 23, 14, 0, 5},
+    {4, 24, 14, 0, 5},
+    {4, 25, 14, 0, 5},
+    {19, 0, 4, 0, 5},
+    {26, 0, 13, 0, 5},
+    {26, 0, 5, 0, 5},
+    {19, 0, 5, 0, 5},
+    {18, 0, 5, 0, 5},
+    {4, 27, 14, 0, 5},
+    {4, 28, 14, 0, 5},
+    {4, 29, 14, 0, 5},
+    {4, 30, 14, 0, 5},
+    {4, 31, 14, 0, 5},
+    {4, 32, 14, 0, 5},
+    {4, 33, 14, 0, 5},
+    {4, 34, 14, 0, 5},
+    {7, 0, 12, 0, 5},
+    {26, 0, 11, 0, 5},
+    {26, 0, 12, 0, 5},
+    {4, 35, 14, 0, 5},
+    {14, 0, 5, 0, 5},
+    {7, 0, 9, 0, 5},
+    {30, 0, 5, 0, 5},
+    {14, 0, 15, 0, 5},
+    {4, 36, 14, 0, 5},
+    {4, 0, 14, 0, 5},
+    {5, 0, 1, 0, 5},
+    {4, 7, 14, 0, 5},
+    {4, 9, 14, 0, 5},
+    {7, 0, 1, 0, 5},
+    {28, 0, 11, 0, 5},
+    {9, 0, 1, 0, 5},
+    {4, 84, 14, 0, 5},
+    {4, 91, 14, 0, 5},
+    {4, 103, 14, 0, 5},
+    {4, 107, 14, 0, 5},
+    {4, 118, 14, 0, 5},
+    {4, 122, 14, 0, 5},
+    {4, 216, 14, 0, 5},
+    {22, 0, 19, 0, 5},
+    {23, 0, 19, 0, 5},
+    {4, 129, 14, 0, 5},
+    {4, 130, 14, 0, 5},
+    {4, 132, 14, 0, 5},
+    {19, 0, 1, 0, 2},
+    {10, 0, 18, 0, 5},
+    {8, 0, 1, 0, 5},
+    {10, 0, 15, 0, 5},
+    {14, 0, 1, 0, 5},
+    {14, 0, 4, 0, 5},
+    {24, 0, 19, 0, 4},
+    {25, 0, 19, 0, 4},
+    {24, 0, 19, 0, 5},
+    {11, 0, 18, 0, 5},
+    {12, 0, 16, 0, 5},
+    {14, 0, 2, 0, 5},
+    {14, 0, 6, 0, 5},
+    {14, 0, 8, 0, 5},
+    {14, 0, 3, 0, 5},
+    {14, 0, 7, 0, 5},
+    {26, 0, 11, 0, 4},
+    {20, 0, 19, 0, 5},
+    {22, 0, 19, 1, 5},
+    {23, 0, 19, 1, 5},
+    {9, 0, 9, 0, 5},
+    {27, 0, 11, 0, 5},
+    {28, 0, 11, 0, 1},
+    {4, 1, 14, 0, 5},
+    {30, 0, 11, 0, 5},
+    {27, 0, 19, 1, 5},
+    {9, 0, 19, 0, 5},
+    {8, 0, 1, 0, 4},
+    {27, 0, 19, 1, 4},
+    {22, 0, 19, 1, 2},
+    {23, 0, 19, 1, 2},
+    {30, 0, 1, 0, 4},
+    {30, 0, 19, 0, 2},
+    {10, 0, 18, 0, 0},
+    {26, 0, 19, 0, 2},
+    {18, 0, 1, 0, 2},
+    {8, 0, 1, 0, 2},
+    {21, 0, 19, 0, 2},
+    {22, 0, 19, 0, 2},
+    {23, 0, 19, 0, 2},
+    {4, 218, 14, 0, 2},
+    {4, 228, 14, 0, 2},
+    {4, 232, 14, 0, 2},
+    {4, 222, 14, 0, 2},
+    {4, 224, 14, 0, 2},
+    {4, 8, 14, 0, 2},
+    {29, 0, 19, 0, 2},
+    {20, 0, 19, 0, 2},
+    {30, 0, 1, 0, 2},
+    {9, 0, 1, 0, 2},
+    {9, 0, 19, 0, 2},
+    {15, 0, 1, 0, 5},
+    {16, 0, 1, 0, 4},
+    {4, 26, 14, 0, 5},
+    {28, 0, 5, 0, 5},
+    {26, 0, 13, 0, 2},
+    {26, 0, 11, 0, 2},
+    {27, 0, 11, 0, 2},
+    {21, 0, 11, 0, 2},
+    {27, 0, 19, 0, 2},
+    {28, 0, 11, 0, 2},
+    {26, 0, 19, 0, 0},
+    {26, 0, 11, 0, 0},
+    {28, 0, 11, 0, 0},
+    {22, 0, 19, 1, 0},
+    {23, 0, 19, 1, 0},
+    {27, 0, 11, 0, 0},
+    {26, 0, 13, 0, 0},
+    {21, 0, 11, 0, 0},
+    {26, 0, 10, 0, 0},
+    {7, 0, 9, 0, 0},
+    {27, 0, 19, 1, 0},
+    {27, 0, 19, 0, 0},
+    {1, 0, 1, 0, 0},
+    {29, 0, 19, 0, 0},
+    {20, 0, 19, 0, 0},
+    {2, 0, 1, 0, 0},
+    {26, 0, 19, 0, 1},
+    {22, 0, 19, 1, 1},
+    {23, 0, 19, 1, 1},
+    {20, 0, 19, 0, 1},
+    {19, 0, 1, 0, 1},
+    {18, 0, 1, 0, 1},
+    {30, 0, 19, 0, 0},
+    {30, 0, 19, 0, 1},
+    {27, 0, 19, 0, 1},
+    {5, 216, 1, 0, 5},
+    {5, 226, 1, 0, 5},
+    {27, 0, 1, 0, 5},
 };
 
 /* Reindexing of NFC first characters. */
@@ -421,6 +511,15 @@ const char *_PyUnicode_BidirectionalNames[] = {
     "ON",
     NULL
 };
+const char *_PyUnicode_EastAsianWidthNames[] = {
+    "F",
+    "H",
+    "W",
+    "Na",
+    "A",
+    "N",
+    NULL
+};
 static const char *decomp_prefix[] = {
     "",
     "<noBreak>",
@@ -446,19 +545,19 @@ static const char *decomp_prefix[] = {
 static unsigned char index1[] = {
     0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 
     21, 22, 23, 24, 8, 8, 8, 8, 8, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 
-    35, 36, 37, 8, 8, 8, 38, 39, 40, 41, 42, 43, 21, 21, 21, 21, 21, 21, 21, 
-    21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 
-    44, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 
-    21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 
-    21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 
-    21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 
-    21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 45, 21, 21, 21, 21, 46, 8, 8, 8, 
-    8, 8, 8, 8, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 
-    21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 
-    21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 47, 48, 48, 48, 48, 48, 48, 48, 
-    48, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 
-    49, 49, 49, 49, 49, 49, 49, 49, 21, 50, 51, 52, 53, 54, 55, 8, 8, 8, 56, 
-    57, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 
+    35, 36, 37, 8, 8, 8, 38, 39, 40, 41, 42, 43, 44, 44, 44, 44, 44, 44, 44, 
+    44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 
+    45, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 
+    44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 
+    44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 
+    44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 
+    44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 46, 44, 44, 44, 44, 47, 8, 8, 8, 
+    8, 8, 8, 8, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 
+    44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 
+    44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 48, 49, 49, 49, 49, 49, 49, 49, 
+    49, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 
+    50, 50, 50, 50, 50, 50, 50, 50, 44, 51, 52, 53, 54, 55, 56, 8, 8, 8, 57, 
+    58, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 
     8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 
     8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 
     8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 
@@ -466,22 +565,22 @@ static unsigned char index1[] = {
     8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 
     8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 
     8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 
-    8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 58, 59, 8, 8, 60, 61, 62, 63, 8, 8, 
+    8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 59, 60, 8, 8, 61, 62, 63, 64, 8, 8, 
     8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 
-    8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 21, 21, 21, 21, 21, 21, 21, 21, 
-    21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 
-    21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 
-    21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 
-    21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 
-    21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 
-    21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 
-    21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 
-    21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 
-    21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 64, 8, 8, 8, 8, 
+    8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 44, 44, 44, 44, 44, 44, 44, 44, 
+    44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 
+    44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 
+    44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 
+    44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 
+    44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 
+    44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 
+    44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 
+    44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 
+    44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 65, 8, 8, 8, 8, 
     8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 
     8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 
     8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 
-    8, 8, 8, 8, 8, 21, 21, 65, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 
+    8, 8, 8, 8, 8, 44, 44, 66, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 
     8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 
     8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 
     8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 
@@ -598,7 +697,7 @@ static unsigned char index1[] = {
     8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 
     8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 
     8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 
-    8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 66, 8, 
+    8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 67, 8, 
     8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 
     8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 
     8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 
@@ -609,35 +708,35 @@ static unsigned char index1[] = {
     8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 
     8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 
     8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 
-    8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 49, 49, 49, 49, 49, 49, 49, 49, 
-    49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 
-    49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 
-    49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 
-    49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 
-    49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 
-    49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 
-    49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 
-    49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 
-    49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 
-    49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 
-    49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 
-    49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 
-    49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 
-    49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 67, 49, 49, 49, 49, 
-    49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 
-    49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 
-    49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 
-    49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 
-    49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 
-    49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 
-    49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 
-    49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 
-    49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 
-    49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 
-    49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 
-    49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 
-    49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 
-    49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 67, 
+    8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 50, 50, 50, 50, 50, 50, 50, 50, 
+    50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 
+    50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 
+    50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 
+    50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 
+    50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 
+    50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 
+    50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 
+    50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 
+    50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 
+    50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 
+    50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 
+    50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 
+    50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 
+    50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 68, 50, 50, 50, 50, 
+    50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 
+    50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 
+    50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 
+    50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 
+    50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 
+    50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 
+    50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 
+    50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 
+    50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 
+    50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 
+    50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 
+    50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 
+    50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 
+    50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 68, 
 };
 
 static unsigned char index2[] = {
@@ -648,920 +747,1002 @@ static unsigned char index2[] = {
     18, 18, 18, 18, 18, 18, 18, 9, 6, 10, 19, 20, 19, 21, 21, 21, 21, 21, 21, 
     21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 
     21, 21, 9, 17, 10, 17, 1, 1, 1, 1, 1, 1, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 
-    1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 22, 6, 8, 8, 8, 8, 23, 
-    23, 19, 23, 21, 24, 17, 25, 23, 19, 26, 11, 27, 27, 19, 21, 23, 6, 19, 
-    27, 21, 28, 29, 29, 29, 6, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 
-    18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 17, 18, 18, 18, 18, 18, 
-    18, 18, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 
-    21, 21, 21, 21, 21, 21, 21, 21, 17, 21, 21, 21, 21, 21, 21, 21, 21, 18, 
-    21, 18, 21, 18, 21, 18, 21, 18, 21, 18, 21, 18, 21, 18, 21, 18, 21, 18, 
-    21, 18, 21, 18, 21, 18, 21, 18, 21, 18, 21, 18, 21, 18, 21, 18, 21, 18, 
-    21, 18, 21, 18, 21, 18, 21, 18, 21, 18, 21, 18, 21, 18, 21, 18, 21, 18, 
-    21, 21, 18, 21, 18, 21, 18, 21, 18, 21, 18, 21, 18, 21, 18, 21, 18, 21, 
-    21, 18, 21, 18, 21, 18, 21, 18, 21, 18, 21, 18, 21, 18, 21, 18, 21, 18, 
-    21, 18, 21, 18, 21, 18, 21, 18, 21, 18, 21, 18, 21, 18, 21, 18, 21, 18, 
-    21, 18, 21, 18, 21, 18, 21, 18, 21, 18, 21, 18, 18, 21, 18, 21, 18, 21, 
-    21, 21, 18, 18, 21, 18, 21, 18, 18, 21, 18, 18, 18, 21, 21, 18, 18, 18, 
-    18, 21, 18, 18, 21, 18, 18, 18, 21, 21, 21, 18, 18, 21, 18, 18, 21, 18, 
-    21, 18, 21, 18, 18, 21, 18, 21, 21, 18, 21, 18, 18, 21, 18, 18, 18, 21, 
-    18, 21, 18, 18, 21, 21, 30, 18, 21, 21, 21, 30, 30, 30, 30, 18, 31, 21, 
-    18, 31, 21, 18, 31, 21, 18, 21, 18, 21, 18, 21, 18, 21, 18, 21, 18, 21, 
-    18, 21, 18, 21, 21, 18, 21, 18, 21, 18, 21, 18, 21, 18, 21, 18, 21, 18, 
-    21, 18, 21, 18, 21, 21, 18, 31, 21, 18, 21, 18, 18, 18, 21, 18, 21, 18, 
-    21, 18, 21, 18, 21, 18, 21, 18, 21, 18, 21, 18, 21, 18, 21, 18, 21, 18, 
-    21, 18, 21, 18, 21, 18, 21, 18, 21, 18, 21, 18, 21, 18, 21, 18, 21, 18, 
-    0, 18, 21, 18, 21, 18, 21, 18, 21, 18, 21, 18, 21, 18, 21, 18, 21, 18, 
-    21, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
-    0, 0, 0, 0, 0, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 
-    21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 
-    21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 
-    21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 
-    21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 
-    21, 21, 21, 21, 21, 21, 21, 21, 0, 0, 32, 32, 32, 32, 32, 32, 32, 32, 32, 
-    19, 19, 32, 32, 32, 32, 32, 32, 32, 19, 19, 19, 19, 19, 19, 19, 19, 19, 
-    19, 19, 19, 19, 19, 32, 32, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 
-    19, 19, 19, 32, 32, 32, 32, 32, 19, 19, 19, 19, 19, 19, 19, 19, 19, 32, 
-    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 33, 33, 33, 33, 33, 
-    33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 34, 35, 
-    35, 35, 35, 34, 36, 35, 35, 35, 35, 35, 37, 37, 35, 35, 35, 35, 37, 37, 
-    35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 38, 38, 38, 38, 38, 35, 35, 
-    35, 35, 33, 33, 33, 33, 33, 33, 33, 33, 39, 33, 35, 35, 35, 33, 33, 33, 
-    35, 35, 40, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 41, 41, 42, 
-    33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 0, 0, 0, 0, 19, 19, 
-    0, 0, 0, 0, 32, 0, 0, 0, 6, 0, 0, 0, 0, 0, 19, 19, 18, 6, 18, 18, 18, 0, 
-    18, 0, 18, 18, 21, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 
-    18, 18, 18, 18, 0, 18, 18, 18, 18, 18, 18, 18, 18, 18, 21, 21, 21, 21, 
-    21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 
-    21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 0, 21, 21, 18, 18, 
-    18, 21, 21, 21, 18, 21, 18, 21, 18, 21, 18, 21, 18, 21, 18, 21, 18, 21, 
-    18, 21, 18, 21, 18, 21, 18, 21, 18, 21, 21, 21, 21, 21, 18, 21, 17, 0, 0, 
-    0, 0, 0, 0, 0, 0, 0, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 
-    18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 
-    18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 21, 
-    21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 
-    21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 
-    21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 18, 21, 18, 21, 18, 21, 18, 
-    21, 18, 21, 18, 21, 18, 21, 18, 21, 18, 21, 18, 21, 18, 21, 18, 21, 18, 
-    21, 18, 21, 18, 21, 18, 21, 18, 21, 43, 33, 33, 33, 33, 0, 44, 44, 18, 
-    21, 18, 21, 18, 21, 18, 21, 18, 21, 18, 21, 18, 21, 18, 21, 18, 21, 18, 
-    21, 18, 21, 18, 21, 18, 21, 18, 21, 18, 21, 18, 21, 18, 21, 18, 21, 18, 
-    21, 18, 21, 18, 21, 18, 21, 18, 21, 18, 21, 18, 21, 18, 21, 18, 21, 18, 
-    18, 21, 18, 21, 18, 21, 18, 21, 18, 21, 18, 21, 18, 21, 0, 18, 21, 18, 
-    21, 18, 21, 18, 21, 18, 21, 18, 21, 18, 21, 18, 21, 18, 21, 18, 21, 18, 
-    21, 18, 21, 18, 21, 18, 21, 18, 21, 18, 21, 18, 21, 18, 21, 18, 21, 0, 0, 
-    18, 21, 0, 0, 0, 0, 0, 0, 18, 21, 18, 21, 18, 21, 18, 21, 18, 21, 18, 21, 
-    18, 21, 18, 21, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
-    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 18, 18, 18, 18, 18, 18, 18, 18, 
-    18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 
-    18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 0, 0, 32, 45, 45, 45, 45, 
-    45, 45, 0, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 
-    21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 
-    21, 21, 21, 21, 21, 21, 0, 45, 25, 0, 0, 0, 0, 0, 0, 35, 33, 33, 33, 33, 
-    35, 33, 33, 33, 46, 35, 33, 33, 33, 33, 33, 33, 0, 35, 35, 35, 35, 35, 
-    33, 33, 35, 33, 33, 46, 47, 33, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 
-    0, 58, 59, 60, 61, 62, 61, 63, 64, 61, 33, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
-    0, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 
-    65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 0, 0, 0, 0, 0, 65, 65, 65, 61, 
-    61, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
-    12, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 66, 0, 0, 0, 66, 0, 67, 67, 
-    67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 
-    67, 67, 67, 67, 67, 67, 0, 0, 0, 0, 0, 68, 67, 67, 67, 67, 67, 67, 67, 
-    67, 67, 67, 69, 70, 71, 72, 73, 74, 75, 76, 33, 33, 35, 0, 0, 0, 0, 0, 0, 
-    0, 0, 0, 0, 77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 7, 78, 78, 66, 67, 
-    67, 79, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 
-    67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 
-    67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 
-    67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 
-    67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 
-    67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 66, 67, 33, 33, 33, 33, 33, 
-    33, 33, 80, 44, 33, 33, 33, 33, 35, 33, 68, 68, 33, 33, 23, 35, 33, 33, 
-    35, 0, 0, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 67, 67, 67, 81, 81, 0, 
-    66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 0, 82, 67, 83, 
-    67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 
-    67, 67, 67, 67, 67, 67, 67, 67, 67, 0, 0, 0, 33, 35, 33, 33, 35, 33, 33, 
-    35, 35, 35, 33, 35, 35, 33, 35, 33, 33, 33, 35, 33, 35, 33, 35, 33, 35, 
-    33, 33, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
-    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
-    0, 0, 0, 0, 0, 0, 0, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 
-    67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 
-    67, 67, 67, 67, 67, 67, 67, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 
-    67, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
-    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
-    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
-    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
-    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
-    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
-    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
-    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
-    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
-    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
-    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
-    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
-    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
-    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
-    40, 40, 84, 0, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 
-    30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 
-    30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 
-    30, 30, 30, 0, 0, 85, 30, 84, 84, 84, 40, 40, 40, 40, 40, 40, 40, 40, 84, 
-    84, 84, 84, 86, 0, 0, 30, 33, 35, 33, 33, 0, 0, 0, 30, 30, 30, 30, 30, 
-    30, 30, 30, 30, 30, 40, 40, 45, 45, 87, 87, 87, 87, 87, 87, 87, 87, 87, 
-    87, 45, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 40, 84, 84, 0, 
-    30, 30, 30, 30, 30, 30, 30, 30, 0, 0, 30, 30, 0, 0, 30, 30, 30, 30, 30, 
-    30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 0, 
-    30, 30, 30, 30, 30, 30, 30, 0, 30, 0, 0, 0, 30, 30, 30, 30, 0, 0, 85, 0, 
-    84, 84, 84, 40, 40, 40, 40, 0, 0, 84, 84, 0, 0, 84, 84, 86, 0, 0, 0, 0, 
-    0, 0, 0, 0, 0, 84, 0, 0, 0, 0, 30, 30, 0, 30, 30, 30, 40, 40, 0, 0, 87, 
-    87, 87, 87, 87, 87, 87, 87, 87, 87, 30, 30, 8, 8, 88, 88, 88, 88, 88, 88, 
-    43, 0, 0, 0, 0, 0, 0, 0, 40, 0, 0, 30, 30, 30, 30, 30, 30, 0, 0, 0, 0, 
-    30, 30, 0, 0, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 
-    30, 30, 30, 30, 30, 30, 30, 0, 30, 30, 30, 30, 30, 30, 30, 0, 30, 30, 0, 
-    30, 30, 0, 30, 30, 0, 0, 85, 0, 84, 84, 84, 40, 40, 0, 0, 0, 0, 40, 40, 
-    0, 0, 40, 40, 86, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 30, 30, 30, 30, 0, 30, 
-    0, 0, 0, 0, 0, 0, 0, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 40, 40, 30, 
-    30, 30, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 40, 40, 84, 0, 30, 30, 30, 
-    30, 30, 30, 30, 0, 30, 0, 30, 30, 30, 0, 30, 30, 30, 30, 30, 30, 30, 30, 
-    30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 0, 30, 30, 30, 
-    30, 30, 30, 30, 0, 30, 30, 0, 30, 30, 30, 30, 30, 0, 0, 85, 30, 84, 84, 
-    84, 40, 40, 40, 40, 40, 0, 40, 40, 84, 0, 84, 84, 86, 0, 0, 30, 0, 0, 0, 
-    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 30, 0, 0, 0, 0, 0, 87, 87, 87, 87, 
-    87, 87, 87, 87, 87, 87, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
-    0, 40, 84, 84, 0, 30, 30, 30, 30, 30, 30, 30, 30, 0, 0, 30, 30, 0, 0, 30, 
-    30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 
-    30, 30, 30, 0, 30, 30, 30, 30, 30, 30, 30, 0, 30, 30, 0, 0, 30, 30, 30, 
-    30, 0, 0, 85, 30, 84, 40, 84, 40, 40, 40, 0, 0, 0, 84, 84, 0, 0, 84, 84, 
-    86, 0, 0, 0, 0, 0, 0, 0, 0, 40, 84, 0, 0, 0, 0, 30, 30, 0, 30, 30, 30, 0, 
-    0, 0, 0, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 43, 0, 0, 0, 0, 0, 0, 0, 
-    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 40, 30, 0, 30, 30, 30, 30, 30, 30, 0, 0, 0, 
-    30, 30, 30, 0, 30, 30, 30, 30, 0, 0, 0, 30, 30, 0, 30, 0, 30, 30, 0, 0, 
-    0, 30, 30, 0, 0, 0, 30, 30, 30, 0, 0, 0, 30, 30, 30, 30, 30, 30, 30, 30, 
-    0, 30, 30, 30, 0, 0, 0, 0, 84, 84, 40, 84, 84, 0, 0, 0, 84, 84, 84, 0, 
-    84, 84, 84, 86, 0, 0, 0, 0, 0, 0, 0, 0, 0, 84, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
-    0, 0, 0, 0, 0, 0, 87, 87, 87, 87, 87, 87, 87, 87, 87, 88, 88, 88, 0, 0, 
-    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 84, 84, 84, 0, 30, 30, 30, 30, 30, 
-    30, 30, 30, 0, 30, 30, 30, 0, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 
-    30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 0, 30, 30, 30, 30, 30, 
-    30, 30, 30, 30, 30, 0, 30, 30, 30, 30, 30, 0, 0, 0, 0, 40, 40, 40, 84, 
-    84, 84, 84, 0, 40, 40, 40, 0, 40, 40, 40, 86, 0, 0, 0, 0, 0, 0, 0, 89, 
-    90, 0, 0, 0, 0, 0, 0, 0, 0, 0, 30, 30, 0, 0, 0, 0, 87, 87, 87, 87, 87, 
-    87, 87, 87, 87, 87, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
-    84, 84, 0, 30, 30, 30, 30, 30, 30, 30, 30, 0, 30, 30, 30, 0, 30, 30, 30, 
-    30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 
-    30, 30, 0, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 0, 30, 30, 30, 30, 30, 
-    0, 0, 0, 0, 84, 40, 84, 84, 84, 84, 84, 0, 40, 84, 84, 0, 84, 84, 40, 86, 
-    0, 0, 0, 0, 0, 0, 0, 84, 84, 0, 0, 0, 0, 0, 0, 0, 30, 0, 30, 30, 0, 0, 0, 
-    0, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
-    0, 0, 0, 0, 0, 0, 0, 0, 84, 84, 0, 30, 30, 30, 30, 30, 30, 30, 30, 0, 30, 
-    30, 30, 0, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 
-    30, 30, 30, 30, 30, 30, 30, 30, 0, 30, 30, 30, 30, 30, 30, 30, 30, 30, 
-    30, 30, 30, 30, 30, 30, 30, 0, 0, 0, 0, 84, 84, 84, 40, 40, 40, 0, 0, 84, 
-    84, 84, 0, 84, 84, 84, 86, 0, 0, 0, 0, 0, 0, 0, 0, 0, 84, 0, 0, 0, 0, 0, 
-    0, 0, 0, 30, 30, 0, 0, 0, 0, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 0, 
-    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 84, 84, 0, 30, 30, 30, 
-    30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 0, 0, 0, 30, 
-    30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 
-    30, 30, 30, 30, 30, 0, 30, 30, 30, 30, 30, 30, 30, 30, 30, 0, 30, 0, 0, 
-    30, 30, 30, 30, 30, 30, 30, 0, 0, 0, 86, 0, 0, 0, 0, 84, 84, 84, 40, 40, 
-    40, 0, 40, 0, 84, 84, 84, 84, 84, 84, 84, 84, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
-    0, 0, 0, 0, 0, 0, 0, 0, 0, 84, 84, 45, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
-    0, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 
-    30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 
-    30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 40, 30, 30, 40, 40, 
-    40, 40, 91, 91, 86, 0, 0, 0, 0, 8, 30, 30, 30, 30, 30, 30, 32, 40, 92, 
-    92, 92, 92, 40, 40, 40, 45, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 45, 
-    45, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
-    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 30, 30, 0, 30, 0, 0, 30, 30, 0, 
-    30, 0, 0, 30, 0, 0, 0, 0, 0, 0, 30, 30, 30, 30, 0, 30, 30, 30, 30, 30, 
-    30, 30, 0, 30, 30, 30, 0, 30, 0, 30, 0, 0, 30, 30, 0, 30, 30, 30, 30, 40, 
-    30, 30, 40, 40, 40, 40, 93, 93, 0, 40, 40, 30, 0, 0, 30, 30, 30, 30, 30, 
-    0, 32, 0, 94, 94, 94, 94, 40, 40, 0, 0, 87, 87, 87, 87, 87, 87, 87, 87, 
-    87, 87, 0, 0, 30, 30, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
-    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 30, 43, 43, 43, 45, 
-    45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 43, 43, 43, 43, 
-    43, 35, 35, 43, 43, 43, 43, 43, 43, 87, 87, 87, 87, 87, 87, 87, 87, 87, 
-    87, 88, 88, 88, 88, 88, 88, 88, 88, 88, 88, 43, 35, 43, 35, 43, 36, 95, 
-    96, 95, 96, 84, 84, 30, 30, 30, 30, 30, 30, 30, 30, 0, 30, 30, 30, 30, 
-    30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 
-    30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 0, 0, 0, 0, 0, 0, 97, 98, 
-    40, 99, 40, 40, 40, 40, 40, 98, 98, 98, 98, 40, 84, 98, 40, 33, 33, 86, 
-    45, 33, 33, 30, 30, 30, 30, 0, 0, 0, 0, 40, 40, 40, 40, 40, 40, 40, 40, 
-    0, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 
-    40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 
-    40, 0, 43, 43, 43, 43, 43, 43, 43, 43, 35, 43, 43, 43, 43, 43, 43, 0, 0, 
-    43, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
-    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
-    0, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 
-    30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 0, 
-    30, 30, 30, 30, 30, 0, 30, 30, 0, 84, 40, 40, 40, 40, 84, 40, 0, 0, 0, 
-    40, 85, 84, 86, 0, 0, 0, 0, 0, 0, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 
-    45, 45, 45, 45, 45, 45, 30, 30, 30, 30, 30, 30, 84, 84, 40, 40, 0, 0, 0, 
-    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
-    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
-    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 18, 18, 18, 18, 
-    18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 
-    18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 0, 0, 0, 
-    0, 0, 0, 0, 0, 0, 0, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 
-    30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 
-    30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 0, 0, 45, 0, 0, 0, 0, 30, 30, 30, 
-    30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 
-    30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 
-    30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 
-    30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 
-    30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 0, 0, 0, 0, 
-    0, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 
-    30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 
-    30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 
-    30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 0, 0, 0, 0, 
-    0, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 
-    30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 
-    30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 
-    30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 
-    30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 0, 0, 0, 0, 0, 0, 30, 30, 30, 
-    30, 30, 30, 30, 0, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 
-    30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 
-    30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 
-    30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 0, 30, 0, 30, 30, 
-    30, 30, 0, 0, 30, 30, 30, 30, 30, 30, 30, 0, 30, 0, 30, 30, 30, 30, 0, 0, 
-    30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 
-    30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 
-    30, 30, 30, 0, 30, 0, 30, 30, 30, 30, 0, 0, 30, 30, 30, 30, 30, 30, 30, 
-    30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 
-    30, 30, 30, 30, 30, 30, 0, 30, 0, 30, 30, 30, 30, 0, 0, 30, 30, 30, 30, 
-    30, 30, 30, 0, 30, 0, 30, 30, 30, 30, 0, 0, 30, 30, 30, 30, 30, 30, 30, 
-    0, 30, 30, 30, 30, 30, 30, 30, 0, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 
-    30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 0, 30, 30, 30, 30, 
-    30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 
-    30, 30, 30, 30, 30, 30, 30, 30, 30, 0, 30, 0, 30, 30, 30, 30, 0, 0, 30, 
-    30, 30, 30, 30, 30, 30, 0, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 
-    30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 
-    30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 0, 30, 30, 30, 30, 30, 30, 30, 
-    30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 0, 0, 0, 0, 0, 0, 45, 45, 
-    45, 45, 45, 45, 45, 45, 87, 87, 87, 87, 87, 87, 87, 87, 87, 88, 88, 88, 
-    88, 88, 88, 88, 88, 88, 88, 88, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
-    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 30, 30, 
-    30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 
-    30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 
-    30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 
-    30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 
-    30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
-    0, 0, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 
-    30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 
-    30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 
-    30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 
-    30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 
-    30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 
-    30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 
-    30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 
-    30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 
-    30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 
-    30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 
-    30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 
-    30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 
-    30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 
-    30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 
-    30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 
-    30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 
-    30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 
-    30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 
-    30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 
-    30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 
-    30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 
-    30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 
-    30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 
-    30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 
-    30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 
-    30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 
-    30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 
-    30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 
-    30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 
-    30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 
-    30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 
-    30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 
-    30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 
-    30, 30, 30, 30, 30, 30, 30, 30, 30, 45, 45, 30, 30, 30, 30, 30, 30, 30, 
-    30, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 
-    30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 95, 96, 
-    0, 0, 0, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 
-    30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 
-    30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 
-    30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 
-    30, 30, 30, 30, 30, 45, 45, 45, 100, 100, 100, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
-    0, 0, 0, 0, 0, 0, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 0, 
-    30, 30, 30, 30, 40, 40, 86, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 30, 30, 30, 
-    30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 40, 40, 86, 
-    45, 45, 0, 0, 0, 0, 0, 0, 0, 0, 0, 30, 30, 30, 30, 30, 30, 30, 30, 30, 
-    30, 30, 30, 30, 30, 30, 30, 30, 30, 40, 40, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
-    0, 0, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 0, 30, 30, 30, 
-    0, 40, 40, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 30, 30, 30, 30, 30, 30, 
-    30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 
-    30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 
-    30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 84, 84, 84, 40, 40, 40, 40, 40, 
-    40, 40, 84, 84, 84, 84, 84, 84, 84, 84, 40, 84, 84, 40, 40, 40, 40, 40, 
-    40, 40, 40, 40, 86, 40, 45, 45, 45, 32, 45, 45, 45, 8, 30, 0, 0, 0, 87, 
-    87, 87, 87, 87, 87, 87, 87, 87, 87, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
-    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6, 6, 6, 6, 6, 6, 25, 6, 6, 6, 6, 40, 40, 
-    40, 82, 0, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 0, 0, 0, 0, 0, 0, 30, 
-    30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 
-    30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 32, 30, 
-    30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 
-    30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 
-    30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 0, 0, 0, 0, 
-    0, 0, 0, 0, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 
-    30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 
-    30, 30, 30, 30, 30, 30, 30, 30, 47, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
-    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
-    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
-    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
-    0, 0, 18, 21, 18, 21, 18, 21, 18, 21, 18, 21, 18, 21, 18, 21, 18, 21, 18, 
-    21, 18, 21, 18, 21, 18, 21, 18, 21, 18, 21, 18, 21, 18, 21, 18, 21, 18, 
-    21, 18, 21, 18, 21, 18, 21, 18, 21, 18, 21, 18, 21, 18, 21, 18, 21, 18, 
-    21, 18, 21, 18, 21, 18, 21, 18, 21, 18, 21, 18, 21, 18, 21, 18, 21, 18, 
-    21, 18, 21, 18, 21, 18, 21, 18, 21, 18, 21, 18, 21, 18, 21, 18, 21, 18, 
-    21, 18, 21, 18, 21, 18, 21, 18, 21, 18, 21, 18, 21, 18, 21, 18, 21, 18, 
-    21, 18, 21, 18, 21, 18, 21, 18, 21, 18, 21, 18, 21, 18, 21, 18, 21, 18, 
-    21, 18, 21, 18, 21, 18, 21, 18, 21, 18, 21, 18, 21, 18, 21, 18, 21, 18, 
-    21, 18, 21, 18, 21, 18, 21, 21, 21, 21, 21, 21, 21, 0, 0, 0, 0, 18, 21, 
-    18, 21, 18, 21, 18, 21, 18, 21, 18, 21, 18, 21, 18, 21, 18, 21, 18, 21, 
-    18, 21, 18, 21, 18, 21, 18, 21, 18, 21, 18, 21, 18, 21, 18, 21, 18, 21, 
-    18, 21, 18, 21, 18, 21, 18, 21, 18, 21, 18, 21, 18, 21, 18, 21, 18, 21, 
-    18, 21, 18, 21, 18, 21, 18, 21, 18, 21, 18, 21, 18, 21, 18, 21, 18, 21, 
-    18, 21, 18, 21, 18, 21, 18, 21, 18, 21, 18, 21, 18, 21, 18, 21, 0, 0, 0, 
-    0, 0, 0, 21, 21, 21, 21, 21, 21, 21, 21, 18, 18, 18, 18, 18, 18, 18, 18, 
-    21, 21, 21, 21, 21, 21, 0, 0, 18, 18, 18, 18, 18, 18, 0, 0, 21, 21, 21, 
-    21, 21, 21, 21, 21, 18, 18, 18, 18, 18, 18, 18, 18, 21, 21, 21, 21, 21, 
-    21, 21, 21, 18, 18, 18, 18, 18, 18, 18, 18, 21, 21, 21, 21, 21, 21, 0, 0, 
-    18, 18, 18, 18, 18, 18, 0, 0, 21, 21, 21, 21, 21, 21, 21, 21, 0, 18, 0, 
-    18, 0, 18, 0, 18, 21, 21, 21, 21, 21, 21, 21, 21, 18, 18, 18, 18, 18, 18, 
-    18, 18, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 0, 0, 21, 
-    21, 21, 21, 21, 21, 21, 21, 31, 31, 31, 31, 31, 31, 31, 31, 21, 21, 21, 
-    21, 21, 21, 21, 21, 31, 31, 31, 31, 31, 31, 31, 31, 21, 21, 21, 21, 21, 
-    21, 21, 21, 31, 31, 31, 31, 31, 31, 31, 31, 21, 21, 21, 21, 21, 0, 21, 
-    21, 18, 18, 18, 18, 31, 19, 21, 19, 19, 19, 21, 21, 21, 0, 21, 21, 18, 
-    18, 18, 18, 31, 19, 19, 19, 21, 21, 21, 21, 0, 0, 21, 21, 18, 18, 18, 18, 
-    0, 19, 19, 19, 21, 21, 21, 21, 21, 21, 21, 21, 18, 18, 18, 18, 18, 19, 
-    19, 19, 0, 0, 21, 21, 21, 0, 21, 21, 18, 18, 18, 18, 31, 19, 19, 0, 5, 5, 
-    5, 5, 5, 5, 5, 5, 5, 5, 5, 101, 82, 82, 102, 103, 25, 25, 25, 25, 25, 25, 
-    6, 6, 104, 105, 95, 104, 104, 105, 95, 104, 6, 6, 6, 6, 6, 6, 6, 6, 106, 
-    107, 108, 109, 110, 111, 112, 5, 7, 7, 7, 7, 7, 6, 6, 6, 6, 24, 28, 6, 6, 
-    6, 6, 20, 20, 6, 6, 6, 17, 9, 10, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 17, 0, 
-    0, 0, 0, 6, 0, 0, 0, 0, 0, 0, 0, 5, 82, 82, 82, 82, 0, 0, 0, 0, 0, 0, 82, 
-    82, 82, 82, 82, 82, 27, 21, 0, 0, 27, 27, 27, 27, 27, 27, 11, 11, 17, 9, 
-    10, 21, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 11, 11, 17, 9, 10, 0, 0, 
-    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8, 8, 8, 8, 8, 8, 8, 8, 8, 
-    8, 8, 8, 8, 8, 8, 8, 8, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
-    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 33, 33, 38, 38, 33, 33, 33, 
-    33, 38, 38, 38, 33, 33, 44, 44, 44, 44, 33, 44, 44, 44, 38, 38, 33, 35, 
-    33, 38, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
-    23, 23, 18, 23, 23, 23, 23, 18, 23, 23, 21, 18, 18, 18, 21, 21, 18, 18, 
-    18, 21, 23, 18, 23, 23, 23, 18, 18, 18, 18, 18, 23, 23, 23, 23, 23, 23, 
-    18, 23, 18, 23, 18, 23, 18, 18, 18, 18, 26, 21, 18, 18, 23, 18, 21, 30, 
-    30, 30, 30, 21, 23, 0, 0, 21, 18, 18, 16, 17, 17, 17, 17, 18, 21, 21, 21, 
-    21, 23, 17, 0, 0, 0, 0, 0, 0, 0, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 
-    29, 29, 29, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 
-    100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 
-    100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 0, 0, 0, 0, 0, 0, 0, 0, 
-    0, 0, 0, 0, 17, 17, 17, 17, 17, 23, 23, 23, 23, 23, 17, 17, 23, 23, 23, 
-    23, 17, 23, 23, 17, 23, 23, 17, 23, 23, 23, 23, 23, 23, 23, 17, 23, 23, 
-    23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 
-    23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 17, 17, 23, 23, 17, 23, 17, 
-    23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 
-    23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 17, 17, 17, 17, 17, 
-    17, 17, 17, 17, 17, 17, 17, 17, 16, 16, 16, 16, 17, 17, 17, 16, 16, 16, 
-    16, 16, 16, 17, 17, 17, 16, 11, 11, 17, 16, 16, 17, 17, 17, 16, 16, 16, 
-    16, 17, 16, 16, 16, 16, 17, 16, 17, 16, 17, 17, 17, 17, 16, 16, 16, 16, 
-    16, 16, 16, 16, 16, 17, 17, 17, 17, 17, 16, 17, 16, 16, 16, 16, 16, 16, 
-    16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 17, 17, 17, 17, 17, 16, 
-    16, 16, 16, 17, 17, 17, 17, 17, 17, 17, 17, 17, 16, 16, 17, 16, 17, 16, 
-    16, 16, 16, 16, 16, 16, 16, 17, 17, 16, 16, 16, 16, 16, 16, 16, 16, 16, 
-    16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 
-    16, 16, 16, 16, 17, 17, 16, 16, 16, 16, 17, 17, 17, 17, 17, 16, 17, 17, 
-    17, 17, 17, 17, 17, 17, 17, 16, 16, 17, 17, 16, 16, 16, 16, 16, 16, 16, 
-    16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 17, 17, 17, 17, 17, 16, 
-    16, 17, 17, 17, 17, 17, 17, 17, 17, 17, 16, 16, 16, 16, 16, 17, 17, 16, 
-    16, 17, 17, 17, 17, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 
-    16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 17, 17, 16, 16, 16, 16, 16, 
-    16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 23, 23, 23, 23, 23, 23, 23, 
-    23, 16, 16, 16, 16, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 
-    23, 23, 23, 23, 23, 23, 23, 16, 16, 23, 23, 23, 23, 23, 23, 23, 9, 10, 
-    23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 43, 43, 43, 43, 43, 43, 43, 
-    43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 
-    43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 
-    43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 
-    43, 43, 43, 43, 43, 43, 43, 43, 23, 17, 23, 23, 23, 23, 23, 23, 23, 23, 
-    23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 43, 23, 
-    23, 23, 23, 23, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 
-    17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 95, 96, 6, 23, 23, 23, 23, 
-    23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 
-    23, 23, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
-    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
-    0, 0, 0, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 
-    23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 
-    23, 23, 23, 23, 23, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
-    0, 0, 0, 0, 0, 0, 0, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 0, 0, 0, 
-    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 27, 27, 27, 27, 27, 
-    27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 
-    27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 
-    27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 
-    27, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 
-    43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 
-    43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 
-    43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 
-    43, 43, 43, 43, 43, 43, 43, 27, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 
-    29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 0, 23, 23, 23, 23, 23, 23, 23, 
-    23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 
-    23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 
-    23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 
-    23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 
-    23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 
-    23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 
-    23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 
-    23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 
-    23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 
-    23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 17, 23, 23, 23, 
-    23, 23, 23, 23, 23, 23, 17, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 
-    23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 
-    23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 
-    23, 23, 23, 23, 23, 23, 23, 17, 17, 17, 17, 17, 17, 17, 17, 23, 23, 23, 
-    23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 0, 0, 
-    23, 23, 0, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 
-    23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 
-    23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 
-    23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 
-    23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 17, 
-    23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 0, 0, 23, 23, 23, 
-    23, 23, 23, 23, 23, 23, 23, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
-    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
-    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
-    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
-    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
-    0, 0, 0, 0, 0, 0, 0, 0, 23, 23, 23, 23, 0, 23, 23, 23, 23, 0, 0, 23, 23, 
-    23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 
-    23, 23, 23, 23, 23, 23, 23, 23, 0, 23, 23, 23, 23, 23, 23, 23, 23, 23, 
-    23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 
-    23, 23, 23, 23, 23, 23, 23, 23, 0, 23, 0, 23, 23, 23, 23, 0, 0, 0, 23, 0, 
-    23, 23, 23, 23, 23, 23, 23, 0, 0, 23, 23, 23, 23, 23, 23, 23, 9, 10, 9, 
-    10, 9, 10, 9, 10, 9, 10, 9, 10, 9, 10, 29, 29, 29, 29, 29, 29, 29, 29, 
+    1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 22, 23, 8, 8, 24, 8, 25, 
+    26, 27, 28, 29, 30, 17, 31, 26, 19, 32, 33, 34, 34, 27, 35, 26, 23, 27, 
+    34, 29, 36, 37, 37, 37, 23, 38, 38, 38, 38, 38, 38, 39, 38, 38, 38, 38, 
+    38, 38, 38, 38, 38, 39, 38, 38, 38, 38, 38, 38, 40, 39, 38, 38, 38, 38, 
+    38, 39, 29, 29, 29, 35, 35, 35, 35, 29, 35, 29, 29, 29, 35, 29, 29, 35, 
+    35, 29, 35, 29, 29, 35, 35, 35, 40, 29, 29, 29, 35, 29, 35, 29, 35, 38, 
+    29, 38, 35, 38, 35, 38, 35, 38, 35, 38, 35, 38, 35, 38, 35, 38, 29, 38, 
+    29, 38, 35, 38, 35, 38, 35, 38, 29, 38, 35, 38, 35, 38, 35, 38, 35, 38, 
+    35, 39, 29, 38, 35, 38, 29, 38, 35, 38, 35, 38, 29, 39, 29, 38, 35, 38, 
+    35, 29, 38, 35, 38, 35, 38, 35, 39, 29, 39, 29, 38, 29, 38, 35, 38, 29, 
+    29, 39, 29, 38, 29, 38, 35, 38, 35, 39, 29, 38, 35, 38, 35, 38, 35, 38, 
+    35, 38, 35, 38, 35, 38, 35, 38, 35, 38, 35, 39, 29, 38, 35, 38, 29, 38, 
+    35, 38, 35, 38, 35, 38, 35, 38, 35, 38, 35, 38, 38, 35, 38, 35, 38, 35, 
+    35, 35, 38, 38, 35, 38, 35, 38, 38, 35, 38, 38, 38, 35, 35, 38, 38, 38, 
+    38, 35, 38, 38, 35, 38, 38, 38, 35, 35, 35, 38, 38, 35, 38, 38, 35, 38, 
+    35, 38, 35, 38, 38, 35, 38, 35, 35, 38, 35, 38, 38, 35, 38, 38, 38, 35, 
+    38, 35, 38, 38, 35, 35, 41, 38, 35, 35, 35, 41, 41, 41, 41, 38, 42, 35, 
+    38, 42, 35, 38, 42, 35, 38, 29, 38, 29, 38, 29, 38, 29, 38, 29, 38, 29, 
+    38, 29, 38, 29, 35, 38, 35, 38, 35, 38, 35, 38, 35, 38, 35, 38, 35, 38, 
+    35, 38, 35, 38, 35, 35, 38, 42, 35, 38, 35, 38, 38, 38, 35, 38, 35, 38, 
+    35, 38, 35, 38, 35, 38, 35, 38, 35, 38, 35, 38, 35, 38, 35, 38, 35, 38, 
+    35, 38, 35, 38, 35, 38, 35, 38, 35, 38, 35, 38, 35, 38, 35, 38, 35, 38, 
+    0, 38, 35, 38, 35, 38, 35, 38, 35, 38, 35, 38, 35, 38, 35, 38, 35, 38, 
+    35, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
+    0, 0, 0, 0, 0, 35, 29, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 
+    35, 35, 35, 29, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 
+    35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 
+    35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 
+    35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 
+    35, 35, 35, 35, 35, 35, 35, 35, 0, 0, 43, 43, 43, 43, 43, 43, 43, 43, 43, 
+    44, 44, 43, 43, 43, 43, 43, 43, 43, 44, 44, 27, 44, 44, 27, 44, 27, 27, 
+    27, 44, 27, 44, 44, 45, 43, 44, 44, 44, 44, 44, 44, 27, 27, 27, 27, 44, 
+    27, 44, 27, 43, 43, 43, 43, 43, 44, 44, 44, 44, 44, 44, 44, 44, 44, 43, 
+    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 46, 46, 46, 46, 46, 
+    46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 47, 48, 
+    48, 48, 48, 47, 49, 48, 48, 48, 48, 48, 50, 50, 48, 48, 48, 48, 50, 50, 
+    48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 51, 51, 51, 51, 51, 48, 48, 
+    48, 48, 46, 46, 46, 46, 46, 46, 46, 46, 52, 46, 48, 48, 48, 46, 46, 46, 
+    48, 48, 53, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 54, 54, 55, 
+    46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 0, 0, 0, 0, 44, 44, 
+    0, 0, 0, 0, 43, 0, 0, 0, 56, 0, 0, 0, 0, 0, 44, 44, 38, 56, 38, 38, 38, 
+    0, 38, 0, 38, 38, 35, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 
+    39, 39, 39, 39, 0, 39, 39, 39, 39, 39, 39, 39, 38, 38, 35, 35, 35, 35, 
+    35, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 
+    35, 29, 29, 29, 29, 29, 29, 29, 35, 35, 35, 35, 35, 0, 35, 35, 38, 38, 
+    38, 35, 35, 35, 38, 35, 38, 35, 38, 35, 38, 35, 38, 35, 38, 35, 38, 35, 
+    38, 35, 38, 35, 38, 35, 38, 35, 38, 35, 35, 35, 35, 35, 38, 35, 57, 0, 0, 
+    0, 0, 0, 0, 0, 0, 0, 38, 39, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 
+    38, 38, 38, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 
+    39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 29, 
     29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 
-    29, 29, 29, 29, 23, 0, 0, 0, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 
-    23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 0, 23, 23, 23, 23, 
-    23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
-    0, 0, 0, 0, 0, 0, 17, 17, 17, 16, 16, 16, 16, 17, 17, 17, 17, 17, 16, 16, 
-    16, 17, 17, 17, 16, 16, 16, 16, 9, 10, 9, 10, 9, 10, 0, 0, 0, 0, 17, 17, 
-    17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 23, 23, 23, 23, 
-    23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 
-    23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 
-    23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 
-    23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 
-    23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 
-    23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 
-    23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 
-    23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 
-    23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 
-    23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 
-    23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 
-    23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 
-    23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 
-    23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 
-    17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 
-    17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 
-    17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 
-    17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 
-    17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 
-    17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 
-    17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 
-    17, 17, 17, 17, 17, 9, 10, 9, 10, 9, 10, 9, 10, 9, 10, 9, 10, 9, 10, 9, 
-    10, 9, 10, 9, 10, 9, 10, 17, 17, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 
-    16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 17, 17, 17, 17, 17, 17, 17, 
-    17, 16, 17, 17, 17, 17, 17, 17, 17, 16, 16, 16, 16, 16, 16, 17, 17, 17, 
-    16, 17, 17, 17, 17, 16, 16, 16, 16, 16, 17, 16, 16, 17, 17, 9, 10, 9, 10, 
-    16, 17, 17, 17, 17, 16, 17, 16, 16, 16, 17, 17, 16, 16, 17, 17, 17, 17, 
-    17, 17, 17, 17, 17, 17, 16, 16, 16, 16, 16, 16, 17, 17, 9, 10, 17, 17, 
-    17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 16, 16, 16, 16, 16, 16, 16, 16, 
-    16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 17, 16, 16, 16, 16, 17, 17, 
-    16, 17, 16, 17, 17, 16, 17, 16, 16, 16, 16, 17, 17, 17, 17, 17, 16, 16, 
-    17, 17, 17, 17, 17, 17, 16, 16, 16, 17, 17, 17, 17, 17, 17, 17, 17, 17, 
-    17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 16, 16, 17, 
-    17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 16, 16, 17, 17, 17, 17, 16, 16, 
-    16, 16, 17, 16, 16, 17, 17, 16, 16, 17, 17, 17, 17, 16, 16, 16, 16, 16, 
-    16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 
-    16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 
-    16, 16, 17, 17, 16, 16, 16, 16, 16, 16, 16, 16, 17, 16, 16, 16, 16, 16, 
-    16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 
-    16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 17, 
-    17, 17, 17, 17, 16, 17, 16, 17, 17, 17, 16, 16, 16, 16, 16, 17, 17, 17, 
-    17, 17, 16, 16, 16, 17, 17, 17, 17, 16, 17, 17, 17, 16, 16, 16, 16, 16, 
-    17, 16, 17, 17, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
-    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
-    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
-    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
-    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
-    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 23, 23, 23, 23, 23, 23, 23, 23, 
-    23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 
-    0, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 
-    23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 
-    23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 
-    23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 
-    23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 
-    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 23, 23, 23, 23, 23, 23, 23, 23, 23, 
-    23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 
-    23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 
-    23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 
-    23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 
-    23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 
-    23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 
-    23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 
-    23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 
-    23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 
-    23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 
-    23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 
-    23, 23, 23, 23, 23, 23, 23, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
-    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 
-    23, 23, 0, 0, 0, 0, 5, 6, 6, 6, 23, 32, 30, 100, 9, 10, 9, 10, 9, 10, 9, 
-    10, 9, 10, 23, 23, 9, 10, 9, 10, 9, 10, 9, 10, 25, 95, 96, 96, 23, 100, 
-    100, 100, 100, 100, 100, 100, 100, 100, 113, 47, 34, 46, 114, 114, 25, 
-    32, 32, 32, 32, 32, 23, 23, 100, 100, 100, 32, 30, 6, 23, 23, 0, 30, 30, 
-    30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 
-    30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 
-    30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 
-    30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 
-    30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 0, 0, 115, 115, 19, 19, 
-    32, 32, 30, 25, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 
-    30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 
-    30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 
-    30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 
-    30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 
-    30, 30, 30, 30, 20, 32, 32, 32, 30, 0, 0, 0, 0, 0, 30, 30, 30, 30, 30, 
-    30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 
-    30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 0, 0, 
-    0, 0, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 
-    30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 
-    30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 
-    30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 
-    30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 
-    30, 30, 30, 30, 30, 0, 43, 43, 88, 88, 88, 88, 43, 43, 43, 43, 43, 43, 
-    43, 43, 43, 43, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 
-    30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
-    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
-    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 30, 30, 
-    30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 43, 43, 43, 43, 
-    43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 
-    43, 43, 43, 43, 43, 43, 43, 0, 0, 0, 88, 88, 88, 88, 88, 88, 88, 88, 88, 
-    88, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 
-    43, 43, 43, 43, 43, 43, 43, 43, 43, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
-    0, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 43, 43, 
-    43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 
-    43, 43, 43, 43, 43, 43, 43, 43, 0, 0, 0, 43, 88, 88, 88, 88, 88, 88, 88, 
-    88, 88, 88, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 
-    43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 
-    43, 43, 43, 43, 43, 43, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 
-    29, 29, 29, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 0, 0, 0, 0, 
-    43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 
-    43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 
-    43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 0, 43, 43, 43, 43, 43, 43, 
-    43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 
-    43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 
-    43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 
-    43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 
-    43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 
-    43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 
-    43, 43, 43, 43, 43, 0, 0, 0, 0, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 
-    43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 
-    43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 
-    43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 
-    43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 
-    43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 0, 0, 
-    43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 
-    43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 0, 30, 30, 30, 30, 
-    30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 
-    30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 
-    30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 
-    30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 
-    30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 
-    30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 
-    30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 
-    30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 
-    30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 
-    30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 0, 0, 0, 
-    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
-    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
-    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 30, 
-    30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 
-    30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 
-    30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 
-    30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 
-    30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 
-    30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 
-    30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 
-    30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 
-    30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 
-    30, 30, 30, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
-    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
-    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
-    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 30, 30, 
-    30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 
-    30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 
-    30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 
-    30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 
-    30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 
-    30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 
-    30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 
-    30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 0, 0, 0, 23, 23, 23, 
-    23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 
-    23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 
-    23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 0, 0, 0, 
-    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
-    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
-    0, 0, 0, 0, 0, 0, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 
-    30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 
-    30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 
-    30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 
-    30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 
-    30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 
-    30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 
-    30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 
-    30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 
-    30, 30, 30, 30, 30, 30, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
-    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
-    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
-    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
-    0, 0, 0, 0, 116, 116, 116, 116, 116, 116, 116, 116, 116, 116, 116, 116, 
-    116, 116, 116, 116, 116, 116, 116, 116, 116, 116, 116, 116, 116, 116, 
-    116, 116, 116, 116, 116, 116, 116, 116, 116, 116, 116, 116, 116, 116, 
-    116, 116, 116, 116, 116, 116, 116, 116, 116, 116, 116, 116, 116, 116, 
-    116, 116, 116, 116, 116, 116, 116, 116, 116, 116, 116, 116, 116, 116, 
-    116, 116, 116, 116, 116, 116, 116, 116, 116, 116, 116, 116, 116, 116, 
-    116, 116, 116, 116, 116, 116, 116, 116, 116, 116, 116, 116, 116, 116, 
-    116, 116, 116, 116, 116, 116, 116, 116, 116, 116, 116, 116, 116, 116, 
-    116, 116, 116, 116, 116, 116, 116, 116, 116, 116, 116, 116, 116, 116, 
-    116, 116, 116, 116, 116, 116, 116, 116, 116, 116, 116, 116, 116, 116, 
-    116, 116, 116, 116, 116, 116, 116, 116, 116, 116, 116, 116, 116, 116, 
-    116, 116, 116, 116, 116, 116, 116, 116, 116, 116, 116, 116, 116, 116, 
-    116, 116, 116, 116, 116, 116, 116, 116, 116, 116, 116, 116, 116, 116, 
-    116, 116, 116, 116, 116, 116, 116, 116, 116, 116, 116, 116, 116, 116, 
-    116, 116, 116, 116, 116, 116, 116, 116, 116, 116, 116, 116, 116, 116, 
-    116, 116, 116, 116, 116, 116, 116, 116, 116, 116, 116, 116, 116, 116, 
-    116, 116, 116, 116, 116, 116, 116, 116, 116, 116, 116, 116, 116, 116, 
-    116, 116, 116, 116, 116, 116, 116, 116, 116, 116, 116, 116, 116, 116, 
-    116, 116, 116, 116, 116, 116, 117, 117, 117, 117, 117, 117, 117, 117, 
-    117, 117, 117, 117, 117, 117, 117, 117, 117, 117, 117, 117, 117, 117, 
-    117, 117, 117, 117, 117, 117, 117, 117, 117, 117, 117, 117, 117, 117, 
-    117, 117, 117, 117, 117, 117, 117, 117, 117, 117, 117, 117, 117, 117, 
-    117, 117, 117, 117, 117, 117, 117, 117, 117, 117, 117, 117, 117, 117, 
-    117, 117, 117, 117, 117, 117, 117, 117, 117, 117, 117, 117, 117, 117, 
-    117, 117, 117, 117, 117, 117, 117, 117, 117, 117, 117, 117, 117, 117, 
-    117, 117, 117, 117, 117, 117, 117, 117, 117, 117, 117, 117, 117, 117, 
-    117, 117, 117, 117, 117, 117, 117, 117, 117, 117, 117, 117, 117, 117, 
-    117, 117, 117, 117, 117, 117, 117, 117, 117, 117, 117, 117, 117, 117, 
-    117, 117, 117, 117, 117, 117, 117, 117, 117, 117, 117, 117, 117, 117, 
-    117, 117, 117, 117, 117, 117, 117, 117, 117, 117, 117, 117, 117, 117, 
-    117, 117, 117, 117, 117, 117, 117, 117, 117, 117, 117, 117, 117, 117, 
-    117, 117, 117, 117, 117, 117, 117, 117, 117, 117, 117, 117, 117, 117, 
-    117, 117, 117, 117, 117, 117, 117, 117, 117, 117, 117, 117, 117, 117, 
-    117, 117, 117, 117, 117, 117, 117, 117, 117, 117, 117, 117, 117, 117, 
-    117, 117, 117, 117, 117, 117, 117, 117, 117, 117, 117, 117, 117, 117, 
-    117, 117, 117, 117, 117, 117, 117, 117, 117, 117, 117, 117, 117, 117, 
-    117, 117, 117, 117, 117, 117, 117, 117, 117, 117, 30, 30, 30, 30, 30, 30, 
-    30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 
-    30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 
-    30, 30, 30, 30, 0, 0, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 
-    30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 
-    30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 
-    30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
-    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
-    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
-    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
-    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
-    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
-    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 21, 21, 21, 21, 21, 
-    21, 21, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 21, 21, 21, 21, 21, 0, 0, 0, 
-    0, 0, 65, 118, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 11, 65, 65, 65, 
-    65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 0, 65, 65, 65, 65, 65, 0, 65, 0, 
-    65, 65, 0, 65, 65, 0, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 67, 67, 67, 
-    67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 
-    67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 
-    67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 
-    67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 
-    67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 
-    67, 67, 67, 67, 67, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
-    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 67, 67, 67, 67, 67, 67, 67, 
-    67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 
-    67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 
-    67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 
-    67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 
-    67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 
-    67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 
-    67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 
-    67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 
-    67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 
-    67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 
-    67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 
-    67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 
-    67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 
-    67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 
-    67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 
-    67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 
-    67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 
-    67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 
-    67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 
-    67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 95, 96, 0, 0, 0, 
-    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 67, 67, 67, 67, 67, 67, 67, 67, 
-    67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 
-    67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 
-    67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 
-    67, 67, 0, 0, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 
-    67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 
-    67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 
-    67, 67, 67, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
-    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 67, 67, 67, 
-    67, 67, 67, 67, 67, 67, 67, 67, 67, 119, 0, 0, 0, 40, 40, 40, 40, 40, 40, 
-    40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
-    0, 0, 0, 0, 0, 33, 33, 33, 33, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6, 25, 
-    25, 20, 20, 95, 96, 95, 96, 95, 96, 95, 96, 95, 96, 95, 96, 95, 96, 95, 
-    96, 6, 6, 0, 0, 6, 6, 6, 6, 20, 20, 20, 12, 6, 12, 0, 6, 12, 6, 6, 25, 
-    95, 96, 95, 96, 95, 96, 7, 6, 6, 11, 13, 17, 17, 17, 0, 6, 8, 7, 6, 0, 0, 
-    0, 0, 67, 67, 67, 67, 67, 0, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 
-    67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 
-    67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 
-    67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 
-    67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 
-    67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 
-    67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 
-    67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 0, 0, 82, 
-    0, 6, 6, 7, 8, 7, 6, 6, 9, 10, 6, 11, 12, 13, 12, 14, 15, 15, 15, 15, 15, 
-    15, 15, 15, 15, 15, 12, 6, 16, 17, 16, 6, 6, 18, 18, 18, 18, 18, 18, 18, 
-    18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 
-    18, 9, 6, 10, 19, 20, 19, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 
-    21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 9, 17, 10, 17, 9, 
-    10, 6, 9, 10, 6, 20, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 32, 30, 30, 
-    30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 
-    30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 
-    30, 30, 30, 30, 30, 30, 30, 32, 32, 30, 30, 30, 30, 30, 30, 30, 30, 30, 
-    30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 
-    30, 30, 30, 30, 0, 0, 0, 30, 30, 30, 30, 30, 30, 0, 0, 30, 30, 30, 30, 
-    30, 30, 0, 0, 30, 30, 30, 30, 30, 30, 0, 0, 30, 30, 30, 0, 0, 0, 8, 8, 
-    17, 19, 23, 8, 8, 0, 23, 17, 17, 17, 17, 23, 23, 0, 0, 0, 0, 0, 0, 0, 0, 
-    0, 0, 82, 82, 82, 23, 23, 0, 0, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 
-    30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 
-    30, 30, 30, 0, 88, 88, 88, 88, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 30, 
-    30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 
-    30, 30, 30, 30, 30, 30, 30, 100, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
-    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
-    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
-    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
-    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
-    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
-    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
-    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
-    18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 
-    18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 
-    18, 18, 0, 0, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 
-    21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 
-    21, 21, 21, 21, 21, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
-    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
-    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
-    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
-    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
-    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
-    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
-    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 43, 43, 43, 43, 43, 43, 
-    43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 
-    43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 
-    43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 
-    43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 
-    43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 
-    43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 
-    43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 
-    43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 
-    43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 
-    43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 
-    43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 
-    43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 
-    43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 
-    43, 43, 43, 43, 43, 43, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 43, 43, 43, 43, 43, 
-    43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 
-    43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 0, 0, 0, 
-    43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 
-    43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 
-    43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 
-    43, 43, 43, 43, 43, 120, 120, 38, 38, 38, 43, 43, 43, 121, 120, 120, 120, 
-    120, 120, 82, 82, 82, 82, 82, 82, 82, 82, 35, 35, 35, 35, 35, 35, 35, 35, 
-    43, 43, 33, 33, 33, 33, 33, 35, 35, 43, 43, 43, 43, 43, 43, 43, 43, 43, 
-    43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 
-    43, 43, 43, 33, 33, 33, 33, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 
-    43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 
-    43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 
-    43, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
-    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 
-    18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 21, 21, 
-    21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 
-    21, 21, 21, 21, 21, 21, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 
-    18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 21, 21, 21, 21, 
-    21, 21, 21, 0, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 
-    21, 21, 21, 21, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 
-    18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 21, 21, 21, 21, 21, 21, 
-    21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 
-    21, 21, 18, 0, 18, 18, 0, 0, 18, 0, 0, 18, 18, 0, 0, 18, 18, 18, 18, 0, 
-    18, 18, 18, 18, 18, 18, 18, 18, 21, 21, 21, 21, 0, 21, 0, 21, 21, 21, 21, 
-    0, 21, 21, 0, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 18, 18, 18, 18, 
-    18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 
-    18, 18, 18, 18, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 
-    21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 18, 18, 0, 18, 18, 18, 
-    18, 0, 0, 18, 18, 18, 18, 18, 18, 18, 18, 0, 18, 18, 18, 18, 18, 18, 18, 
-    0, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 
-    21, 21, 21, 21, 21, 21, 21, 21, 21, 18, 18, 0, 18, 18, 18, 18, 0, 18, 18, 
-    18, 18, 18, 0, 18, 0, 0, 0, 18, 18, 18, 18, 18, 18, 18, 0, 21, 21, 21, 
-    21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 
-    21, 21, 21, 21, 21, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 
-    18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 21, 21, 21, 21, 21, 
-    21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 
-    21, 21, 21, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 
-    18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 21, 21, 21, 21, 21, 21, 21, 
-    21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 
-    21, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 
-    18, 18, 18, 18, 18, 18, 18, 18, 18, 21, 21, 21, 21, 21, 21, 21, 21, 21, 
-    21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 18, 
-    18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 
-    18, 18, 18, 18, 18, 18, 18, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 
-    21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 18, 18, 18, 
-    18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 
-    18, 18, 18, 18, 18, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 
-    21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 18, 18, 18, 18, 18, 
-    18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 
-    18, 18, 18, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 
-    21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 0, 0, 0, 0, 18, 18, 18, 18, 
-    18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 
-    18, 18, 18, 122, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 
-    21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 122, 21, 21, 21, 21, 21, 21, 
-    18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 
-    18, 18, 18, 18, 18, 18, 18, 122, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 
-    21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 122, 21, 21, 
-    21, 21, 21, 21, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 
-    18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 122, 21, 21, 21, 21, 21, 21, 
-    21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 
-    21, 122, 21, 21, 21, 21, 21, 21, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 
-    18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 122, 21, 21, 
-    21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 
-    21, 21, 21, 21, 21, 122, 21, 21, 21, 21, 21, 21, 18, 18, 18, 18, 18, 18, 
-    18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 
-    18, 122, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 
-    21, 21, 21, 21, 21, 21, 21, 21, 21, 122, 21, 21, 21, 21, 21, 21, 0, 0, 0, 
-    0, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 
-    15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 
-    15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 30, 30, 30, 
-    30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 
-    30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 
-    30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 
-    30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 
-    30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 
-    30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 
-    30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 
-    30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 
-    30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 
-    30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 
-    30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 
-    30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 0, 0, 0, 0, 0, 0, 
-    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
-    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 
-    30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 
-    30, 30, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
-    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
-    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
-    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
-    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
-    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
-    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
-    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
-    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
-    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 82, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
-    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 82, 82, 82, 
-    82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 
-    82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 
-    82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 
-    82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 
-    82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 
-    82, 82, 82, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
-    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
-    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
-    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
-    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
-    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 117, 117, 117, 117, 117, 117, 117, 
-    117, 117, 117, 117, 117, 117, 117, 117, 117, 117, 117, 117, 117, 117, 
-    117, 117, 117, 117, 117, 117, 117, 117, 117, 117, 117, 117, 117, 117, 
-    117, 117, 117, 117, 117, 117, 117, 117, 117, 117, 117, 117, 117, 117, 
-    117, 117, 117, 117, 117, 117, 117, 117, 117, 117, 117, 117, 117, 117, 
-    117, 117, 117, 117, 117, 117, 117, 117, 117, 117, 117, 117, 117, 117, 
-    117, 117, 117, 117, 117, 117, 117, 117, 117, 117, 117, 117, 117, 117, 
-    117, 117, 117, 117, 117, 117, 117, 117, 117, 117, 117, 117, 117, 117, 
-    117, 117, 117, 117, 117, 117, 117, 117, 117, 117, 117, 117, 117, 117, 
-    117, 117, 117, 117, 117, 117, 117, 117, 117, 117, 117, 117, 117, 117, 
-    117, 117, 117, 117, 117, 117, 117, 117, 117, 117, 117, 117, 117, 117, 
-    117, 117, 117, 117, 117, 117, 117, 117, 117, 117, 117, 117, 117, 117, 
-    117, 117, 117, 117, 117, 117, 117, 117, 117, 117, 117, 117, 117, 117, 
-    117, 117, 117, 117, 117, 117, 117, 117, 117, 117, 117, 117, 117, 117, 
-    117, 117, 117, 117, 117, 117, 117, 117, 117, 117, 117, 117, 117, 117, 
-    117, 117, 117, 117, 117, 117, 117, 117, 117, 117, 117, 117, 117, 117, 
-    117, 117, 117, 117, 117, 117, 117, 117, 117, 117, 117, 117, 117, 117, 
-    117, 117, 117, 117, 117, 117, 117, 117, 117, 117, 117, 117, 117, 117, 
-    117, 117, 117, 117, 117, 117, 117, 117, 117, 0, 0, 
+    29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 35, 29, 35, 35, 35, 
+    35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 38, 35, 38, 35, 38, 35, 38, 
+    35, 38, 35, 38, 35, 38, 35, 38, 35, 38, 35, 38, 35, 38, 35, 38, 35, 38, 
+    35, 38, 35, 38, 35, 38, 35, 38, 35, 58, 59, 59, 59, 59, 0, 60, 60, 38, 
+    35, 38, 35, 38, 35, 38, 35, 38, 35, 38, 35, 38, 35, 38, 35, 38, 35, 38, 
+    35, 38, 35, 38, 35, 38, 35, 38, 35, 38, 35, 38, 35, 38, 35, 38, 35, 38, 
+    35, 38, 35, 38, 35, 38, 35, 38, 35, 38, 35, 38, 35, 38, 35, 38, 35, 38, 
+    38, 35, 38, 35, 38, 35, 38, 35, 38, 35, 38, 35, 38, 35, 0, 38, 35, 38, 
+    35, 38, 35, 38, 35, 38, 35, 38, 35, 38, 35, 38, 35, 38, 35, 38, 35, 38, 
+    35, 38, 35, 38, 35, 38, 35, 38, 35, 38, 35, 38, 35, 38, 35, 38, 35, 0, 0, 
+    38, 35, 0, 0, 0, 0, 0, 0, 38, 35, 38, 35, 38, 35, 38, 35, 38, 35, 38, 35, 
+    38, 35, 38, 35, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
+    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 38, 38, 38, 38, 38, 38, 38, 38, 
+    38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 
+    38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 0, 0, 43, 61, 61, 61, 61, 
+    61, 61, 0, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 
+    35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 
+    35, 35, 35, 35, 35, 35, 0, 61, 62, 0, 0, 0, 0, 0, 0, 63, 59, 59, 59, 59, 
+    63, 59, 59, 59, 64, 63, 59, 59, 59, 59, 59, 59, 0, 63, 63, 63, 63, 63, 
+    59, 59, 63, 59, 59, 64, 65, 59, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 
+    0, 76, 77, 78, 79, 80, 79, 81, 82, 79, 59, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
+    0, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 
+    83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 0, 0, 0, 0, 0, 83, 83, 83, 79, 
+    79, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
+    84, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 85, 0, 0, 0, 85, 0, 86, 86, 
+    86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 
+    86, 86, 86, 86, 86, 86, 0, 0, 0, 0, 0, 87, 86, 86, 86, 86, 86, 86, 86, 
+    86, 86, 86, 88, 89, 90, 91, 92, 93, 94, 95, 59, 59, 63, 0, 0, 0, 0, 0, 0, 
+    0, 0, 0, 0, 96, 96, 96, 96, 96, 96, 96, 96, 96, 96, 97, 98, 98, 85, 86, 
+    86, 99, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 
+    86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 
+    86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 
+    86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 
+    86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 
+    86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 85, 86, 59, 59, 59, 59, 59, 
+    59, 59, 100, 60, 59, 59, 59, 59, 63, 59, 87, 87, 59, 59, 28, 63, 59, 59, 
+    63, 0, 0, 101, 101, 101, 101, 101, 101, 101, 101, 101, 101, 86, 86, 86, 
+    102, 102, 0, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 0, 
+    103, 86, 104, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 
+    86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 0, 0, 0, 59, 63, 59, 59, 
+    63, 59, 59, 63, 63, 63, 59, 63, 63, 59, 63, 59, 59, 59, 63, 59, 63, 59, 
+    63, 59, 63, 59, 59, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
+    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
+    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 
+    86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 
+    86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 105, 105, 105, 105, 105, 105, 
+    105, 105, 105, 105, 105, 86, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
+    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
+    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
+    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
+    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
+    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
+    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
+    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
+    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
+    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
+    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
+    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
+    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
+    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
+    0, 0, 0, 0, 0, 0, 0, 0, 105, 105, 106, 0, 41, 41, 41, 41, 41, 41, 41, 41, 
+    41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 
+    41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 
+    41, 41, 41, 41, 41, 41, 41, 41, 41, 0, 0, 107, 41, 106, 106, 106, 105, 
+    105, 105, 105, 105, 105, 105, 105, 106, 106, 106, 106, 108, 0, 0, 41, 59, 
+    63, 59, 59, 0, 0, 0, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 105, 105, 
+    61, 61, 109, 109, 109, 109, 109, 109, 109, 109, 109, 109, 61, 0, 0, 0, 0, 
+    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 105, 106, 106, 0, 41, 41, 41, 41, 41, 
+    41, 41, 41, 0, 0, 41, 41, 0, 0, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 
+    41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 0, 41, 41, 41, 41, 41, 
+    41, 41, 0, 41, 0, 0, 0, 41, 41, 41, 41, 0, 0, 107, 0, 106, 106, 106, 105, 
+    105, 105, 105, 0, 0, 106, 106, 0, 0, 106, 106, 108, 0, 0, 0, 0, 0, 0, 0, 
+    0, 0, 106, 0, 0, 0, 0, 41, 41, 0, 41, 41, 41, 105, 105, 0, 0, 109, 109, 
+    109, 109, 109, 109, 109, 109, 109, 109, 41, 41, 110, 110, 111, 111, 111, 
+    111, 111, 111, 58, 0, 0, 0, 0, 0, 0, 0, 105, 0, 0, 41, 41, 41, 41, 41, 
+    41, 0, 0, 0, 0, 41, 41, 0, 0, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 
+    41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 0, 41, 41, 41, 41, 41, 41, 
+    41, 0, 41, 41, 0, 41, 41, 0, 41, 41, 0, 0, 107, 0, 106, 106, 106, 105, 
+    105, 0, 0, 0, 0, 105, 105, 0, 0, 105, 105, 108, 0, 0, 0, 0, 0, 0, 0, 0, 
+    0, 0, 0, 41, 41, 41, 41, 0, 41, 0, 0, 0, 0, 0, 0, 0, 109, 109, 109, 109, 
+    109, 109, 109, 109, 109, 109, 105, 105, 41, 41, 41, 0, 0, 0, 0, 0, 0, 0, 
+    0, 0, 0, 0, 0, 105, 105, 106, 0, 41, 41, 41, 41, 41, 41, 41, 0, 41, 0, 
+    41, 41, 41, 0, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 
+    41, 41, 41, 41, 41, 41, 41, 41, 0, 41, 41, 41, 41, 41, 41, 41, 0, 41, 41, 
+    0, 41, 41, 41, 41, 41, 0, 0, 107, 41, 106, 106, 106, 105, 105, 105, 105, 
+    105, 0, 105, 105, 106, 0, 106, 106, 108, 0, 0, 41, 0, 0, 0, 0, 0, 0, 0, 
+    0, 0, 0, 0, 0, 0, 0, 0, 41, 0, 0, 0, 0, 0, 109, 109, 109, 109, 109, 109, 
+    109, 109, 109, 109, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
+    105, 106, 106, 0, 41, 41, 41, 41, 41, 41, 41, 41, 0, 0, 41, 41, 0, 0, 41, 
+    41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 
+    41, 41, 41, 0, 41, 41, 41, 41, 41, 41, 41, 0, 41, 41, 0, 0, 41, 41, 41, 
+    41, 0, 0, 107, 41, 106, 105, 106, 105, 105, 105, 0, 0, 0, 106, 106, 0, 0, 
+    106, 106, 108, 0, 0, 0, 0, 0, 0, 0, 0, 105, 106, 0, 0, 0, 0, 41, 41, 0, 
+    41, 41, 41, 0, 0, 0, 0, 109, 109, 109, 109, 109, 109, 109, 109, 109, 109, 
+    58, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 105, 41, 0, 41, 
+    41, 41, 41, 41, 41, 0, 0, 0, 41, 41, 41, 0, 41, 41, 41, 41, 0, 0, 0, 41, 
+    41, 0, 41, 0, 41, 41, 0, 0, 0, 41, 41, 0, 0, 0, 41, 41, 41, 0, 0, 0, 41, 
+    41, 41, 41, 41, 41, 41, 41, 0, 41, 41, 41, 0, 0, 0, 0, 106, 106, 105, 
+    106, 106, 0, 0, 0, 106, 106, 106, 0, 106, 106, 106, 108, 0, 0, 0, 0, 0, 
+    0, 0, 0, 0, 106, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 109, 109, 
+    109, 109, 109, 109, 109, 109, 109, 111, 111, 111, 0, 0, 0, 0, 0, 0, 0, 0, 
+    0, 0, 0, 0, 0, 0, 106, 106, 106, 0, 41, 41, 41, 41, 41, 41, 41, 41, 0, 
+    41, 41, 41, 0, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 
+    41, 41, 41, 41, 41, 41, 41, 41, 41, 0, 41, 41, 41, 41, 41, 41, 41, 41, 
+    41, 41, 0, 41, 41, 41, 41, 41, 0, 0, 0, 0, 105, 105, 105, 106, 106, 106, 
+    106, 0, 105, 105, 105, 0, 105, 105, 105, 108, 0, 0, 0, 0, 0, 0, 0, 112, 
+    113, 0, 0, 0, 0, 0, 0, 0, 0, 0, 41, 41, 0, 0, 0, 0, 109, 109, 109, 109, 
+    109, 109, 109, 109, 109, 109, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
+    0, 0, 0, 0, 106, 106, 0, 41, 41, 41, 41, 41, 41, 41, 41, 0, 41, 41, 41, 
+    0, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 
+    41, 41, 41, 41, 41, 41, 0, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 0, 41, 
+    41, 41, 41, 41, 0, 0, 0, 0, 106, 105, 106, 106, 106, 106, 106, 0, 105, 
+    106, 106, 0, 106, 106, 105, 108, 0, 0, 0, 0, 0, 0, 0, 106, 106, 0, 0, 0, 
+    0, 0, 0, 0, 41, 0, 41, 41, 0, 0, 0, 0, 109, 109, 109, 109, 109, 109, 109, 
+    109, 109, 109, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 106, 
+    106, 0, 41, 41, 41, 41, 41, 41, 41, 41, 0, 41, 41, 41, 0, 41, 41, 41, 41, 
+    41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 
+    41, 0, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 0, 
+    0, 0, 0, 106, 106, 106, 105, 105, 105, 0, 0, 106, 106, 106, 0, 106, 106, 
+    106, 108, 0, 0, 0, 0, 0, 0, 0, 0, 0, 106, 0, 0, 0, 0, 0, 0, 0, 0, 41, 41, 
+    0, 0, 0, 0, 109, 109, 109, 109, 109, 109, 109, 109, 109, 109, 0, 0, 0, 0, 
+    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 106, 106, 0, 41, 41, 41, 41, 
+    41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 0, 0, 0, 41, 41, 
+    41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 
+    41, 41, 41, 41, 0, 41, 41, 41, 41, 41, 41, 41, 41, 41, 0, 41, 0, 0, 41, 
+    41, 41, 41, 41, 41, 41, 0, 0, 0, 108, 0, 0, 0, 0, 106, 106, 106, 105, 
+    105, 105, 0, 105, 0, 106, 106, 106, 106, 106, 106, 106, 106, 0, 0, 0, 0, 
+    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 106, 106, 61, 0, 0, 0, 0, 0, 0, 
+    0, 0, 0, 0, 0, 0, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 
+    41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 
+    41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 105, 41, 
+    41, 105, 105, 105, 105, 114, 114, 108, 0, 0, 0, 0, 110, 41, 41, 41, 41, 
+    41, 41, 43, 105, 115, 115, 115, 115, 105, 105, 105, 61, 109, 109, 109, 
+    109, 109, 109, 109, 109, 109, 109, 61, 61, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
+    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
+    0, 0, 0, 41, 41, 0, 41, 0, 0, 41, 41, 0, 41, 0, 0, 41, 0, 0, 0, 0, 0, 0, 
+    41, 41, 41, 41, 0, 41, 41, 41, 41, 41, 41, 41, 0, 41, 41, 41, 0, 41, 0, 
+    41, 0, 0, 41, 41, 0, 41, 41, 41, 41, 105, 41, 41, 105, 105, 105, 105, 
+    116, 116, 0, 105, 105, 41, 0, 0, 41, 41, 41, 41, 41, 0, 43, 0, 117, 117, 
+    117, 117, 105, 105, 0, 0, 109, 109, 109, 109, 109, 109, 109, 109, 109, 
+    109, 0, 0, 41, 41, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
+    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 41, 58, 58, 58, 61, 61, 
+    61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 58, 58, 58, 58, 58, 
+    63, 63, 58, 58, 58, 58, 58, 58, 109, 109, 109, 109, 109, 109, 109, 109, 
+    109, 109, 111, 111, 111, 111, 111, 111, 111, 111, 111, 111, 58, 63, 58, 
+    63, 58, 118, 119, 120, 119, 120, 106, 106, 41, 41, 41, 41, 41, 41, 41, 
+    41, 0, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 
+    41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 
+    0, 0, 0, 0, 0, 0, 121, 122, 105, 123, 105, 105, 105, 105, 105, 122, 122, 
+    122, 122, 105, 106, 122, 105, 59, 59, 108, 61, 59, 59, 41, 41, 41, 41, 0, 
+    0, 0, 0, 105, 105, 105, 105, 105, 105, 105, 105, 0, 105, 105, 105, 105, 
+    105, 105, 105, 105, 105, 105, 105, 105, 105, 105, 105, 105, 105, 105, 
+    105, 105, 105, 105, 105, 105, 105, 105, 105, 105, 105, 105, 105, 105, 
+    105, 105, 105, 105, 0, 58, 58, 58, 58, 58, 58, 58, 58, 63, 58, 58, 58, 
+    58, 58, 58, 0, 0, 58, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
+    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
+    0, 0, 0, 0, 0, 0, 0, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 
+    41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 
+    41, 41, 41, 0, 41, 41, 41, 41, 41, 0, 41, 41, 0, 106, 105, 105, 105, 105, 
+    106, 105, 0, 0, 0, 105, 107, 106, 108, 0, 0, 0, 0, 0, 0, 109, 109, 109, 
+    109, 109, 109, 109, 109, 109, 109, 61, 61, 61, 61, 61, 61, 41, 41, 41, 
+    41, 41, 41, 106, 106, 105, 105, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
+    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
+    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
+    0, 0, 0, 0, 0, 0, 0, 0, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 
+    38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 
+    38, 38, 38, 38, 38, 38, 38, 38, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 41, 41, 41, 
+    41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 
+    41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 
+    41, 41, 0, 0, 61, 0, 0, 0, 0, 124, 124, 124, 124, 124, 124, 124, 124, 
+    124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 
+    124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 
+    124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 
+    124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 
+    124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 
+    124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 0, 0, 0, 0, 
+    0, 124, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 
+    41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 
+    41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 
+    41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 0, 0, 0, 0, 
+    0, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 
+    41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 
+    41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 
+    41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 
+    41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 0, 0, 0, 0, 0, 0, 41, 41, 41, 
+    41, 41, 41, 41, 0, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 
+    41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 
+    41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 
+    41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 0, 41, 0, 41, 41, 
+    41, 41, 0, 0, 41, 41, 41, 41, 41, 41, 41, 0, 41, 0, 41, 41, 41, 41, 0, 0, 
+    41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 
+    41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 
+    41, 41, 41, 0, 41, 0, 41, 41, 41, 41, 0, 0, 41, 41, 41, 41, 41, 41, 41, 
+    41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 
+    41, 41, 41, 41, 41, 41, 0, 41, 0, 41, 41, 41, 41, 0, 0, 41, 41, 41, 41, 
+    41, 41, 41, 0, 41, 0, 41, 41, 41, 41, 0, 0, 41, 41, 41, 41, 41, 41, 41, 
+    0, 41, 41, 41, 41, 41, 41, 41, 0, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 
+    41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 0, 41, 41, 41, 41, 
+    41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 
+    41, 41, 41, 41, 41, 41, 41, 41, 41, 0, 41, 0, 41, 41, 41, 41, 0, 0, 41, 
+    41, 41, 41, 41, 41, 41, 0, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 
+    41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 
+    41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 0, 41, 41, 41, 41, 41, 41, 41, 
+    41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 0, 0, 0, 0, 0, 0, 61, 61, 
+    61, 61, 61, 61, 61, 61, 109, 109, 109, 109, 109, 109, 109, 109, 109, 111, 
+    111, 111, 111, 111, 111, 111, 111, 111, 111, 111, 0, 0, 0, 0, 0, 0, 0, 0, 
+    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
+    0, 0, 0, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 
+    41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 
+    41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 
+    41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 
+    41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 0, 0, 0, 0, 
+    0, 0, 0, 0, 0, 0, 0, 0, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 
+    41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 
+    41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 
+    41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 
+    41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 
+    41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 
+    41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 
+    41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 
+    41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 
+    41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 
+    41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 
+    41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 
+    41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 
+    41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 
+    41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 
+    41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 
+    41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 
+    41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 
+    41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 
+    41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 
+    41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 
+    41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 
+    41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 
+    41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 
+    41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 
+    41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 
+    41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 
+    41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 
+    41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 
+    41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 
+    41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 
+    41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 
+    41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 
+    41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 
+    41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 61, 61, 41, 41, 
+    41, 41, 41, 41, 41, 41, 0, 0, 0, 0, 0, 0, 0, 0, 0, 125, 41, 41, 41, 41, 
+    41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 
+    41, 41, 41, 41, 119, 120, 0, 0, 0, 41, 41, 41, 41, 41, 41, 41, 41, 41, 
+    41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 
+    41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 
+    41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 
+    41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 61, 61, 61, 126, 126, 
+    126, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 41, 41, 41, 41, 41, 41, 
+    41, 41, 41, 41, 41, 41, 41, 0, 41, 41, 41, 41, 105, 105, 108, 0, 0, 0, 0, 
+    0, 0, 0, 0, 0, 0, 0, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 
+    41, 41, 41, 41, 41, 105, 105, 108, 61, 61, 0, 0, 0, 0, 0, 0, 0, 0, 0, 41, 
+    41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 105, 
+    105, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 41, 41, 41, 41, 41, 41, 41, 41, 
+    41, 41, 41, 41, 41, 0, 41, 41, 41, 0, 105, 105, 0, 0, 0, 0, 0, 0, 0, 0, 
+    0, 0, 0, 0, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 
+    41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 
+    41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 
+    41, 106, 106, 106, 105, 105, 105, 105, 105, 105, 105, 106, 106, 106, 106, 
+    106, 106, 106, 106, 105, 106, 106, 105, 105, 105, 105, 105, 105, 105, 
+    105, 105, 108, 105, 61, 61, 61, 43, 61, 61, 61, 110, 41, 0, 0, 0, 109, 
+    109, 109, 109, 109, 109, 109, 109, 109, 109, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
+    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 56, 56, 56, 56, 56, 56, 62, 56, 
+    56, 56, 56, 105, 105, 105, 103, 0, 109, 109, 109, 109, 109, 109, 109, 
+    109, 109, 109, 0, 0, 0, 0, 0, 0, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 
+    41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 
+    41, 41, 41, 41, 41, 41, 41, 43, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 
+    41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 
+    41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 
+    41, 41, 41, 41, 41, 41, 0, 0, 0, 0, 0, 0, 0, 0, 41, 41, 41, 41, 41, 41, 
+    41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 
+    41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 65, 
+    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
+    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
+    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
+    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 38, 35, 38, 35, 38, 35, 38, 35, 
+    38, 35, 38, 35, 38, 35, 38, 35, 38, 35, 38, 35, 38, 35, 38, 35, 38, 35, 
+    38, 35, 38, 35, 38, 35, 38, 35, 38, 35, 38, 35, 38, 35, 38, 35, 38, 35, 
+    38, 35, 38, 35, 38, 35, 38, 35, 38, 35, 38, 35, 38, 35, 38, 35, 38, 35, 
+    38, 35, 38, 35, 38, 35, 38, 35, 38, 35, 38, 35, 38, 35, 38, 35, 38, 35, 
+    38, 35, 38, 35, 38, 35, 38, 35, 38, 35, 38, 35, 38, 35, 38, 35, 38, 35, 
+    38, 35, 38, 35, 38, 35, 38, 35, 38, 35, 38, 35, 38, 35, 38, 35, 38, 35, 
+    38, 35, 38, 35, 38, 35, 38, 35, 38, 35, 38, 35, 38, 35, 38, 35, 38, 35, 
+    38, 35, 38, 35, 38, 35, 38, 35, 38, 35, 38, 35, 38, 35, 38, 35, 35, 35, 
+    35, 35, 35, 35, 0, 0, 0, 0, 38, 35, 38, 35, 38, 35, 38, 35, 38, 35, 38, 
+    35, 38, 35, 38, 35, 38, 35, 38, 35, 38, 35, 38, 35, 38, 35, 38, 35, 38, 
+    35, 38, 35, 38, 35, 38, 35, 38, 35, 38, 35, 38, 35, 38, 35, 38, 35, 38, 
+    35, 38, 35, 38, 35, 38, 35, 38, 35, 38, 35, 38, 35, 38, 35, 38, 35, 38, 
+    35, 38, 35, 38, 35, 38, 35, 38, 35, 38, 35, 38, 35, 38, 35, 38, 35, 38, 
+    35, 38, 35, 38, 35, 38, 35, 0, 0, 0, 0, 0, 0, 35, 35, 35, 35, 35, 35, 35, 
+    35, 38, 38, 38, 38, 38, 38, 38, 38, 35, 35, 35, 35, 35, 35, 0, 0, 38, 38, 
+    38, 38, 38, 38, 0, 0, 35, 35, 35, 35, 35, 35, 35, 35, 38, 38, 38, 38, 38, 
+    38, 38, 38, 35, 35, 35, 35, 35, 35, 35, 35, 38, 38, 38, 38, 38, 38, 38, 
+    38, 35, 35, 35, 35, 35, 35, 0, 0, 38, 38, 38, 38, 38, 38, 0, 0, 35, 35, 
+    35, 35, 35, 35, 35, 35, 0, 38, 0, 38, 0, 38, 0, 38, 35, 35, 35, 35, 35, 
+    35, 35, 35, 38, 38, 38, 38, 38, 38, 38, 38, 35, 35, 35, 35, 35, 35, 35, 
+    35, 35, 35, 35, 35, 35, 35, 0, 0, 35, 35, 35, 35, 35, 35, 35, 35, 42, 42, 
+    42, 42, 42, 42, 42, 42, 35, 35, 35, 35, 35, 35, 35, 35, 42, 42, 42, 42, 
+    42, 42, 42, 42, 35, 35, 35, 35, 35, 35, 35, 35, 42, 42, 42, 42, 42, 42, 
+    42, 42, 35, 35, 35, 35, 35, 0, 35, 35, 38, 38, 38, 38, 42, 44, 35, 44, 
+    44, 44, 35, 35, 35, 0, 35, 35, 38, 38, 38, 38, 42, 44, 44, 44, 35, 35, 
+    35, 35, 0, 0, 35, 35, 38, 38, 38, 38, 0, 44, 44, 44, 35, 35, 35, 35, 35, 
+    35, 35, 35, 38, 38, 38, 38, 38, 44, 44, 44, 0, 0, 35, 35, 35, 0, 35, 35, 
+    38, 38, 38, 38, 42, 44, 44, 0, 125, 125, 125, 125, 125, 125, 125, 125, 
+    125, 125, 125, 127, 103, 103, 128, 129, 31, 62, 62, 31, 31, 31, 23, 56, 
+    130, 131, 119, 132, 130, 131, 119, 132, 23, 23, 23, 56, 23, 23, 23, 23, 
+    133, 134, 135, 136, 137, 138, 139, 125, 140, 97, 140, 140, 97, 23, 56, 
+    56, 56, 30, 36, 23, 56, 56, 23, 141, 141, 56, 56, 56, 57, 142, 143, 56, 
+    56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 57, 0, 0, 0, 0, 56, 0, 0, 0, 0, 
+    0, 0, 0, 125, 103, 103, 103, 103, 0, 0, 0, 0, 0, 0, 103, 103, 103, 103, 
+    103, 103, 144, 35, 0, 0, 34, 144, 144, 144, 144, 144, 145, 145, 57, 142, 
+    143, 29, 144, 34, 34, 34, 34, 144, 144, 144, 144, 144, 145, 145, 57, 142, 
+    143, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 110, 110, 110, 
+    110, 110, 110, 110, 110, 110, 146, 110, 110, 24, 110, 110, 110, 110, 110, 
+    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
+    0, 0, 0, 0, 0, 0, 59, 59, 147, 147, 59, 59, 59, 59, 147, 147, 147, 59, 
+    59, 60, 60, 60, 60, 59, 60, 60, 60, 147, 147, 59, 63, 59, 147, 0, 0, 0, 
+    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 28, 28, 38, 26, 28, 
+    26, 28, 38, 28, 26, 35, 38, 38, 38, 35, 35, 38, 38, 38, 29, 28, 38, 26, 
+    28, 28, 38, 38, 38, 38, 38, 28, 28, 28, 26, 26, 28, 38, 28, 39, 28, 38, 
+    28, 38, 39, 38, 38, 148, 35, 38, 38, 28, 38, 35, 41, 41, 41, 41, 35, 28, 
+    0, 0, 35, 38, 38, 149, 57, 57, 57, 57, 38, 35, 35, 35, 35, 28, 57, 0, 0, 
+    0, 0, 0, 0, 0, 37, 37, 150, 150, 150, 150, 150, 150, 37, 37, 37, 37, 150, 
+    151, 151, 151, 151, 151, 151, 151, 151, 151, 151, 151, 151, 126, 126, 
+    126, 126, 151, 151, 151, 151, 151, 151, 151, 151, 151, 151, 126, 126, 
+    126, 126, 126, 126, 126, 126, 126, 126, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
+    0, 40, 40, 40, 40, 40, 26, 26, 26, 26, 26, 57, 57, 28, 28, 28, 28, 57, 
+    28, 28, 57, 28, 28, 57, 28, 28, 28, 28, 28, 28, 28, 57, 28, 28, 28, 28, 
+    28, 28, 28, 28, 28, 26, 26, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 
+    28, 28, 28, 28, 28, 28, 28, 28, 28, 57, 57, 28, 28, 40, 28, 40, 28, 28, 
+    28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 26, 28, 
+    28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 57, 57, 57, 57, 57, 57, 57, 
+    57, 57, 57, 57, 57, 40, 149, 152, 152, 149, 57, 57, 40, 152, 149, 149, 
+    152, 149, 149, 57, 40, 57, 152, 145, 145, 57, 152, 149, 57, 57, 57, 152, 
+    149, 149, 152, 40, 152, 152, 149, 149, 40, 149, 40, 149, 40, 40, 40, 40, 
+    152, 152, 149, 152, 149, 149, 149, 149, 149, 40, 40, 40, 40, 57, 149, 57, 
+    149, 152, 152, 149, 149, 149, 149, 149, 149, 149, 149, 149, 149, 152, 
+    149, 149, 149, 152, 57, 57, 57, 57, 57, 152, 149, 149, 149, 57, 57, 57, 
+    57, 57, 57, 57, 57, 57, 149, 152, 40, 149, 57, 152, 152, 152, 152, 149, 
+    149, 152, 152, 57, 57, 152, 152, 149, 149, 149, 149, 149, 149, 149, 149, 
+    149, 149, 149, 149, 149, 149, 149, 149, 149, 149, 152, 152, 149, 149, 
+    152, 152, 149, 149, 149, 149, 149, 57, 57, 149, 149, 149, 149, 57, 57, 
+    40, 57, 57, 149, 40, 57, 57, 57, 57, 57, 57, 57, 57, 149, 149, 57, 40, 
+    149, 149, 149, 149, 149, 149, 149, 149, 149, 149, 149, 149, 149, 149, 
+    149, 149, 149, 149, 149, 57, 57, 57, 57, 57, 149, 152, 57, 57, 57, 57, 
+    57, 57, 57, 57, 57, 149, 149, 149, 149, 149, 57, 57, 149, 149, 57, 57, 
+    57, 57, 149, 149, 149, 149, 149, 149, 149, 149, 149, 149, 149, 149, 149, 
+    149, 149, 149, 149, 149, 149, 149, 149, 149, 149, 149, 57, 57, 149, 149, 
+    149, 149, 149, 149, 149, 149, 149, 149, 149, 149, 149, 149, 149, 149, 28, 
+    28, 28, 28, 28, 28, 28, 28, 149, 149, 149, 149, 28, 28, 28, 28, 28, 28, 
+    26, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 149, 149, 28, 28, 
+    28, 28, 28, 28, 28, 153, 154, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 
+    58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 
+    58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 
+    58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 
+    58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 28, 57, 28, 
+    28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 
+    28, 28, 28, 28, 28, 58, 28, 28, 28, 28, 28, 57, 57, 57, 57, 57, 57, 57, 
+    57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 
+    119, 120, 56, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 
+    28, 28, 28, 28, 28, 28, 28, 28, 28, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
+    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
+    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 28, 28, 28, 28, 28, 28, 28, 28, 
+    28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 
+    28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 0, 0, 0, 0, 0, 0, 0, 
+    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 28, 28, 28, 28, 28, 
+    28, 28, 28, 28, 28, 28, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
+    0, 0, 0, 0, 0, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 
+    34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 
+    34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 
+    34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 155, 155, 155, 155, 155, 155, 
+    155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 
+    155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 
+    155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 
+    155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 
+    155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 
+    155, 155, 144, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 
+    37, 37, 37, 37, 37, 37, 0, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 
+    26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 
+    26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 
+    26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 
+    26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 28, 28, 28, 28, 26, 26, 26, 
+    26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 
+    26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 28, 28, 28, 
+    28, 28, 28, 28, 28, 28, 28, 28, 28, 26, 26, 26, 26, 26, 26, 26, 26, 26, 
+    26, 26, 26, 26, 26, 26, 26, 28, 28, 26, 26, 26, 26, 28, 28, 28, 28, 28, 
+    28, 28, 28, 28, 28, 26, 26, 28, 26, 26, 26, 26, 26, 26, 26, 28, 28, 28, 
+    28, 28, 28, 28, 28, 26, 26, 28, 28, 26, 40, 28, 28, 28, 28, 26, 26, 28, 
+    28, 26, 40, 28, 28, 28, 28, 26, 26, 26, 28, 28, 26, 28, 28, 26, 26, 26, 
+    26, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 26, 
+    26, 26, 26, 28, 28, 28, 28, 28, 28, 28, 28, 28, 26, 28, 28, 28, 28, 28, 
+    28, 28, 28, 57, 57, 57, 57, 57, 57, 57, 57, 28, 28, 28, 28, 28, 26, 26, 
+    28, 28, 26, 28, 28, 28, 28, 26, 26, 28, 28, 28, 28, 0, 0, 28, 28, 0, 28, 
+    28, 28, 26, 28, 26, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 
+    28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 
+    28, 28, 26, 28, 26, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 
+    28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 26, 26, 
+    28, 26, 26, 26, 28, 26, 26, 26, 26, 28, 26, 26, 28, 40, 28, 28, 28, 28, 
+    28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 0, 0, 28, 28, 28, 28, 28, 28, 28, 
+    28, 28, 28, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
+    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
+    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
+    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
+    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
+    0, 0, 0, 28, 28, 28, 28, 0, 28, 28, 28, 28, 0, 0, 28, 28, 28, 28, 28, 28, 
+    28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 
+    28, 28, 28, 28, 0, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 
+    28, 28, 28, 28, 28, 28, 28, 26, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 
+    28, 28, 28, 28, 0, 28, 0, 28, 28, 28, 28, 0, 0, 0, 28, 0, 28, 28, 28, 28, 
+    28, 28, 28, 0, 0, 28, 28, 28, 28, 28, 28, 28, 142, 143, 142, 143, 142, 
+    143, 142, 143, 142, 143, 142, 143, 142, 143, 37, 37, 37, 37, 37, 37, 37, 
+    37, 37, 37, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 
+    150, 150, 150, 150, 150, 150, 150, 150, 28, 0, 0, 0, 28, 28, 28, 28, 28, 
+    28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 
+    28, 0, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 0, 0, 0, 
+    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 57, 57, 57, 149, 149, 149, 149, 
+    57, 57, 57, 57, 57, 149, 149, 149, 57, 57, 57, 149, 149, 149, 149, 9, 10, 
+    9, 10, 9, 10, 0, 0, 0, 0, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 
+    57, 57, 57, 57, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 
+    28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 
+    28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 
+    28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 
+    28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 
+    28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 
+    28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 
+    28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 
+    28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 
+    28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 
+    28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 
+    28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 
+    28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 
+    28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 
+    28, 28, 28, 28, 28, 28, 28, 28, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 
+    57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 
+    57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 
+    57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 
+    57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 
+    57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 
+    57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 
+    57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 142, 143, 9, 10, 142, 
+    143, 142, 143, 142, 143, 142, 143, 142, 143, 142, 143, 142, 143, 142, 
+    143, 142, 143, 57, 57, 149, 149, 149, 149, 149, 149, 149, 149, 149, 149, 
+    149, 149, 149, 149, 149, 149, 149, 149, 149, 149, 149, 57, 57, 57, 57, 
+    57, 57, 57, 57, 149, 57, 57, 57, 57, 57, 57, 57, 149, 149, 149, 149, 149, 
+    149, 57, 57, 57, 149, 57, 57, 57, 57, 149, 149, 149, 149, 149, 57, 149, 
+    149, 57, 57, 142, 143, 142, 143, 149, 57, 57, 57, 57, 149, 57, 149, 149, 
+    149, 57, 57, 149, 149, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 149, 149, 
+    149, 149, 149, 149, 57, 57, 142, 143, 57, 57, 57, 57, 57, 57, 57, 57, 57, 
+    57, 57, 57, 149, 149, 149, 149, 149, 149, 149, 149, 149, 149, 149, 149, 
+    149, 149, 149, 149, 149, 149, 149, 57, 149, 149, 149, 149, 57, 57, 149, 
+    57, 149, 57, 57, 149, 57, 149, 149, 149, 149, 57, 57, 57, 57, 57, 149, 
+    149, 57, 57, 57, 57, 57, 57, 149, 149, 149, 57, 57, 57, 57, 57, 57, 57, 
+    57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 149, 
+    149, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 149, 149, 57, 57, 57, 
+    57, 149, 149, 149, 149, 57, 149, 149, 57, 57, 149, 149, 57, 57, 57, 57, 
+    149, 149, 149, 149, 149, 149, 149, 149, 149, 149, 149, 149, 149, 149, 
+    149, 149, 149, 149, 149, 149, 149, 149, 149, 149, 149, 149, 149, 149, 
+    149, 149, 149, 149, 149, 149, 149, 149, 149, 149, 149, 149, 149, 149, 
+    149, 57, 57, 149, 149, 149, 149, 149, 149, 149, 149, 57, 149, 149, 149, 
+    149, 149, 149, 149, 149, 149, 149, 149, 149, 149, 149, 149, 149, 149, 
+    149, 149, 149, 149, 149, 149, 149, 149, 149, 149, 149, 149, 149, 149, 
+    149, 149, 149, 149, 149, 149, 149, 149, 149, 57, 57, 57, 57, 57, 149, 57, 
+    149, 57, 57, 57, 149, 149, 149, 149, 149, 57, 57, 57, 57, 57, 149, 149, 
+    149, 57, 57, 57, 57, 149, 57, 57, 57, 149, 149, 149, 149, 149, 57, 149, 
+    57, 57, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
+    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
+    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
+    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
+    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
+    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 156, 156, 156, 156, 156, 156, 156, 156, 
+    156, 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, 
+    156, 156, 156, 156, 0, 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, 
+    156, 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, 
+    156, 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, 
+    156, 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, 
+    156, 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, 
+    156, 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, 
+    156, 156, 156, 156, 156, 156, 156, 156, 156, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
+    0, 0, 0, 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, 
+    156, 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, 
+    156, 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, 
+    156, 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, 
+    156, 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, 
+    156, 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, 
+    156, 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, 
+    156, 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, 
+    156, 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, 
+    156, 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, 
+    156, 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, 
+    156, 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, 
+    156, 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, 
+    156, 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, 
+    156, 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, 
+    156, 156, 156, 156, 156, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
+    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 156, 156, 156, 156, 156, 156, 156, 156, 
+    156, 156, 156, 156, 0, 0, 0, 0, 157, 158, 158, 158, 156, 159, 124, 160, 
+    153, 154, 153, 154, 153, 154, 153, 154, 153, 154, 156, 156, 153, 154, 
+    153, 154, 153, 154, 153, 154, 161, 162, 163, 163, 156, 160, 160, 160, 
+    160, 160, 160, 160, 160, 160, 164, 165, 166, 167, 168, 168, 161, 159, 
+    159, 159, 159, 159, 156, 156, 160, 160, 160, 159, 124, 158, 156, 28, 0, 
+    124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 
+    124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 
+    124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 
+    124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 
+    124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 
+    124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 
+    124, 124, 0, 0, 169, 169, 170, 170, 159, 159, 124, 161, 124, 124, 124, 
+    124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 
+    124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 
+    124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 
+    124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 
+    124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 
+    124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 
+    124, 124, 124, 171, 159, 159, 159, 124, 0, 0, 0, 0, 0, 124, 124, 124, 
+    124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 
+    124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 
+    124, 124, 124, 124, 124, 124, 124, 124, 124, 0, 0, 0, 0, 124, 124, 124, 
+    124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 
+    124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 
+    124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 
+    124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 
+    124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 
+    124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 
+    124, 124, 124, 124, 124, 124, 124, 0, 172, 172, 173, 173, 173, 173, 172, 
+    172, 172, 172, 172, 172, 172, 172, 172, 172, 124, 124, 124, 124, 124, 
+    124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 
+    124, 124, 124, 124, 124, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
+    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
+    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 124, 124, 124, 124, 124, 
+    124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 172, 172, 172, 
+    172, 172, 172, 172, 172, 172, 172, 172, 172, 172, 172, 172, 172, 172, 
+    172, 172, 172, 172, 172, 172, 172, 172, 172, 172, 172, 172, 0, 0, 0, 173, 
+    173, 173, 173, 173, 173, 173, 173, 173, 173, 172, 172, 172, 172, 172, 
+    172, 172, 172, 172, 172, 172, 172, 172, 172, 172, 172, 172, 172, 172, 
+    172, 172, 172, 172, 172, 172, 172, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
+    174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 
+    174, 172, 172, 172, 172, 172, 172, 172, 172, 172, 172, 172, 172, 172, 
+    172, 172, 172, 172, 172, 172, 172, 172, 172, 172, 172, 172, 172, 172, 
+    172, 0, 0, 0, 172, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 172, 
+    172, 172, 172, 172, 172, 172, 172, 172, 172, 172, 172, 172, 172, 172, 
+    172, 172, 172, 172, 172, 172, 172, 172, 172, 172, 172, 172, 172, 172, 
+    172, 172, 172, 172, 172, 172, 172, 172, 172, 172, 174, 174, 174, 174, 
+    174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 172, 172, 172, 
+    172, 172, 172, 172, 172, 172, 172, 172, 172, 0, 0, 0, 0, 172, 172, 172, 
+    172, 172, 172, 172, 172, 172, 172, 172, 172, 172, 172, 172, 172, 172, 
+    172, 172, 172, 172, 172, 172, 172, 172, 172, 172, 172, 172, 172, 172, 
+    172, 172, 172, 172, 172, 172, 172, 172, 172, 172, 172, 172, 172, 172, 
+    172, 172, 0, 172, 172, 172, 172, 172, 172, 172, 172, 172, 172, 172, 172, 
+    172, 172, 172, 172, 172, 172, 172, 172, 172, 172, 172, 172, 172, 172, 
+    172, 172, 172, 172, 172, 172, 172, 172, 172, 172, 172, 172, 172, 172, 
+    172, 172, 172, 172, 172, 172, 172, 172, 172, 172, 172, 172, 172, 172, 
+    172, 172, 172, 172, 172, 172, 172, 172, 172, 172, 172, 172, 172, 172, 
+    172, 172, 172, 172, 172, 172, 172, 172, 172, 172, 172, 172, 172, 172, 
+    172, 172, 172, 172, 172, 172, 172, 172, 172, 172, 172, 172, 172, 172, 
+    172, 172, 172, 172, 172, 172, 172, 172, 172, 172, 172, 172, 172, 172, 
+    172, 172, 172, 172, 172, 172, 172, 172, 172, 0, 0, 0, 0, 172, 172, 172, 
+    172, 172, 172, 172, 172, 172, 172, 172, 172, 172, 172, 172, 172, 172, 
+    172, 172, 172, 172, 172, 172, 172, 172, 172, 172, 172, 172, 172, 172, 
+    172, 172, 172, 172, 172, 172, 172, 172, 172, 172, 172, 172, 172, 172, 
+    172, 172, 172, 172, 172, 172, 172, 172, 172, 172, 172, 172, 172, 172, 
+    172, 172, 172, 172, 172, 172, 172, 172, 172, 172, 172, 172, 172, 172, 
+    172, 172, 172, 172, 172, 172, 172, 172, 172, 172, 172, 172, 172, 172, 
+    172, 172, 172, 172, 172, 172, 172, 172, 172, 172, 172, 172, 0, 0, 172, 
+    172, 172, 172, 172, 172, 172, 172, 172, 172, 172, 172, 172, 172, 172, 
+    172, 172, 172, 172, 172, 172, 172, 172, 172, 172, 172, 172, 172, 172, 
+    172, 172, 0, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 
+    124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 
+    124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 
+    124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 
+    124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 
+    124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 
+    124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 
+    124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 
+    124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 
+    124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 
+    124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 
+    124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 
+    124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 
+    124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 
+    124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 
+    124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 
+    124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 
+    124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 
+    124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 
+    124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 
+    124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 
+    124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 
+    124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 
+    124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 
+    124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 
+    124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 
+    124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 
+    124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 
+    124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 
+    124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 
+    124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 
+    124, 124, 124, 124, 124, 124, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
+    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
+    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
+    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 124, 124, 124, 124, 124, 124, 124, 
+    124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 
+    124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 
+    124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 
+    124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 
+    124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 
+    124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 
+    124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 
+    124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 
+    124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 
+    124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 
+    124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 
+    124, 124, 124, 124, 124, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
+    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
+    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
+    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
+    0, 0, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 
+    124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 
+    124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 
+    124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 
+    124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 
+    124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 
+    124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 
+    124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 
+    124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 
+    124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 
+    124, 124, 0, 0, 0, 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, 
+    156, 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, 
+    156, 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, 
+    156, 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, 
+    156, 156, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
+    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
+    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 124, 124, 124, 124, 124, 124, 124, 
+    124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 
+    124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 
+    124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 
+    124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 
+    124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 
+    124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 
+    124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 
+    124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 
+    124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 
+    124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 
+    124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 
+    124, 124, 124, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
+    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
+    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
+    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
+    0, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 
+    175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 
+    175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 
+    175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 
+    175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 
+    175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 
+    175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 
+    175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 
+    175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 
+    175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 
+    175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 
+    175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 
+    175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 
+    175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 
+    175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 
+    175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 
+    175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 
+    175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 
+    175, 175, 175, 175, 176, 176, 176, 176, 176, 176, 176, 176, 176, 176, 
+    176, 176, 176, 176, 176, 176, 176, 176, 176, 176, 176, 176, 176, 176, 
+    176, 176, 176, 176, 176, 176, 176, 176, 176, 176, 176, 176, 176, 176, 
+    176, 176, 176, 176, 176, 176, 176, 176, 176, 176, 176, 176, 176, 176, 
+    176, 176, 176, 176, 176, 176, 176, 176, 176, 176, 176, 176, 176, 176, 
+    176, 176, 176, 176, 176, 176, 176, 176, 176, 176, 176, 176, 176, 176, 
+    176, 176, 176, 176, 176, 176, 176, 176, 176, 176, 176, 176, 176, 176, 
+    176, 176, 176, 176, 176, 176, 176, 176, 176, 176, 176, 176, 176, 176, 
+    176, 176, 176, 176, 176, 176, 176, 176, 176, 176, 176, 176, 176, 176, 
+    176, 176, 176, 176, 176, 176, 176, 176, 176, 176, 176, 176, 176, 176, 
+    176, 176, 176, 176, 176, 176, 176, 176, 176, 176, 176, 176, 176, 176, 
+    176, 176, 176, 176, 176, 176, 176, 176, 176, 176, 176, 176, 176, 176, 
+    176, 176, 176, 176, 176, 176, 176, 176, 176, 176, 176, 176, 176, 176, 
+    176, 176, 176, 176, 176, 176, 176, 176, 176, 176, 176, 176, 176, 176, 
+    176, 176, 176, 176, 176, 176, 176, 176, 176, 176, 176, 176, 176, 176, 
+    176, 176, 176, 176, 176, 176, 176, 176, 176, 176, 176, 176, 176, 176, 
+    176, 176, 176, 176, 176, 176, 176, 176, 176, 176, 176, 176, 176, 176, 
+    176, 176, 176, 176, 176, 176, 176, 176, 176, 176, 176, 176, 176, 176, 
+    176, 176, 176, 176, 176, 176, 176, 176, 124, 124, 124, 124, 124, 124, 
+    124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 
+    124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 
+    124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 0, 0, 124, 
+    124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 
+    124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 
+    124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 
+    124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 
+    124, 124, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
+    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
+    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
+    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
+    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
+    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
+    0, 0, 0, 0, 0, 0, 0, 0, 35, 35, 35, 35, 35, 35, 35, 0, 0, 0, 0, 0, 0, 0, 
+    0, 0, 0, 0, 0, 35, 35, 35, 35, 35, 0, 0, 0, 0, 0, 83, 177, 83, 83, 83, 
+    83, 83, 83, 83, 83, 83, 83, 145, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 
+    83, 83, 83, 0, 83, 83, 83, 83, 83, 0, 83, 0, 83, 83, 0, 83, 83, 0, 83, 
+    83, 83, 83, 83, 83, 83, 83, 83, 83, 86, 86, 86, 86, 86, 86, 86, 86, 86, 
+    86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 
+    86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 
+    86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 
+    86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 
+    86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 0, 0, 
+    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
+    0, 0, 0, 0, 0, 0, 0, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 
+    86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 
+    86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 
+    86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 
+    86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 
+    86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 
+    86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 
+    86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 
+    86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 
+    86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 
+    86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 
+    86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 
+    86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 
+    86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 
+    86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 
+    86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 
+    86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 
+    86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 
+    86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 
+    86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 
+    86, 86, 86, 86, 86, 86, 86, 86, 119, 120, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
+    0, 0, 0, 0, 0, 0, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 
+    86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 
+    86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 
+    86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 0, 0, 86, 86, 86, 
+    86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 
+    86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 
+    86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 0, 0, 0, 0, 
+    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
+    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 86, 86, 86, 86, 86, 86, 86, 86, 86, 
+    86, 86, 86, 178, 0, 0, 0, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 
+    53, 53, 53, 53, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 59, 59, 
+    59, 59, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 158, 161, 161, 171, 171, 162, 
+    163, 162, 163, 162, 163, 162, 163, 162, 163, 162, 163, 162, 163, 162, 
+    163, 158, 158, 0, 0, 158, 158, 158, 158, 171, 171, 171, 179, 158, 179, 0, 
+    158, 179, 158, 158, 161, 162, 163, 162, 163, 162, 163, 180, 158, 158, 
+    181, 182, 183, 183, 183, 0, 158, 184, 180, 158, 0, 0, 0, 0, 86, 86, 86, 
+    86, 86, 0, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 
+    86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 
+    86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 
+    86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 
+    86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 
+    86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 
+    86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 
+    86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 0, 0, 103, 0, 185, 185, 
+    186, 187, 186, 185, 185, 188, 189, 185, 190, 191, 192, 191, 193, 194, 
+    194, 194, 194, 194, 194, 194, 194, 194, 194, 191, 185, 195, 196, 195, 
+    185, 185, 197, 197, 197, 197, 197, 197, 197, 197, 197, 197, 197, 197, 
+    197, 197, 197, 197, 197, 197, 197, 197, 197, 197, 197, 197, 197, 197, 
+    188, 185, 189, 198, 199, 198, 200, 200, 200, 200, 200, 200, 200, 200, 
+    200, 200, 200, 200, 200, 200, 200, 200, 200, 200, 200, 200, 200, 200, 
+    200, 200, 200, 200, 188, 196, 189, 196, 188, 189, 201, 202, 203, 201, 
+    204, 205, 205, 205, 205, 205, 205, 205, 205, 205, 205, 206, 205, 205, 
+    205, 205, 205, 205, 205, 205, 205, 205, 205, 205, 205, 205, 205, 205, 
+    205, 205, 205, 205, 205, 205, 205, 205, 205, 205, 205, 205, 205, 205, 
+    205, 205, 205, 205, 205, 205, 205, 205, 205, 205, 205, 205, 205, 205, 
+    205, 206, 206, 205, 205, 205, 205, 205, 205, 205, 205, 205, 205, 205, 
+    205, 205, 205, 205, 205, 205, 205, 205, 205, 205, 205, 205, 205, 205, 
+    205, 205, 205, 205, 205, 205, 0, 0, 0, 205, 205, 205, 205, 205, 205, 0, 
+    0, 205, 205, 205, 205, 205, 205, 0, 0, 205, 205, 205, 205, 205, 205, 0, 
+    0, 205, 205, 205, 0, 0, 0, 187, 187, 196, 198, 207, 187, 187, 0, 208, 
+    209, 209, 209, 209, 208, 208, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 103, 103, 
+    103, 28, 26, 0, 0, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 
+    41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 
+    0, 111, 111, 111, 111, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 41, 41, 41, 
+    41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 
+    41, 41, 41, 41, 41, 126, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
+    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
+    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
+    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
+    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
+    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
+    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
+    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 38, 38, 
+    38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 
+    38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 
+    0, 0, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 
+    35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 
+    35, 35, 35, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
+    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
+    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
+    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
+    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
+    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
+    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
+    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 58, 58, 58, 58, 58, 58, 58, 58, 
+    58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 
+    58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 
+    58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 
+    58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 
+    58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 
+    58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 
+    58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 
+    58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 
+    58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 
+    58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 
+    58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 
+    58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 
+    58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 
+    58, 58, 58, 58, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 58, 58, 58, 58, 58, 58, 58, 
+    58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 
+    58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 0, 0, 0, 58, 58, 
+    58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 
+    58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 
+    58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 
+    58, 58, 58, 210, 210, 147, 147, 147, 58, 58, 58, 211, 210, 210, 210, 210, 
+    210, 103, 103, 103, 103, 103, 103, 103, 103, 63, 63, 63, 63, 63, 63, 63, 
+    63, 58, 58, 59, 59, 59, 59, 59, 63, 63, 58, 58, 58, 58, 58, 58, 58, 58, 
+    58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 
+    58, 58, 58, 58, 59, 59, 59, 59, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 
+    58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 
+    58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 
+    58, 58, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
+    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 38, 38, 38, 38, 38, 38, 38, 38, 38, 
+    38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 35, 
+    35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 
+    35, 35, 35, 35, 35, 35, 35, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 
+    38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 35, 35, 35, 
+    35, 35, 35, 35, 0, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 
+    35, 35, 35, 35, 35, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 
+    38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 35, 35, 35, 35, 35, 
+    35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 
+    35, 35, 35, 38, 0, 38, 38, 0, 0, 38, 0, 0, 38, 38, 0, 0, 38, 38, 38, 38, 
+    0, 38, 38, 38, 38, 38, 38, 38, 38, 35, 35, 35, 35, 0, 35, 0, 35, 35, 35, 
+    35, 0, 35, 35, 0, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 38, 38, 38, 
+    38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 
+    38, 38, 38, 38, 38, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 
+    35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 38, 38, 0, 38, 38, 
+    38, 38, 0, 0, 38, 38, 38, 38, 38, 38, 38, 38, 0, 38, 38, 38, 38, 38, 38, 
+    38, 0, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 
+    35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 38, 38, 0, 38, 38, 38, 38, 0, 38, 
+    38, 38, 38, 38, 0, 38, 0, 0, 0, 38, 38, 38, 38, 38, 38, 38, 0, 35, 35, 
+    35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 
+    35, 35, 35, 35, 35, 35, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 
+    38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 35, 35, 35, 35, 
+    35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 
+    35, 35, 35, 35, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 
+    38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 35, 35, 35, 35, 35, 35, 
+    35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 
+    35, 35, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 
+    38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 35, 35, 35, 35, 35, 35, 35, 35, 
+    35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 
+    38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 
+    38, 38, 38, 38, 38, 38, 38, 38, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 
+    35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 38, 38, 
+    38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 
+    38, 38, 38, 38, 38, 38, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 
+    35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 38, 38, 38, 38, 
+    38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 
+    38, 38, 38, 38, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 
+    35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 0, 0, 0, 0, 38, 38, 38, 
+    38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 
+    38, 38, 38, 38, 212, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 
+    35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 212, 35, 35, 35, 35, 35, 
+    35, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 
+    38, 38, 38, 38, 38, 38, 38, 38, 212, 35, 35, 35, 35, 35, 35, 35, 35, 35, 
+    35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 212, 35, 
+    35, 35, 35, 35, 35, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 
+    38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 212, 35, 35, 35, 35, 35, 
+    35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 
+    35, 35, 212, 35, 35, 35, 35, 35, 35, 38, 38, 38, 38, 38, 38, 38, 38, 38, 
+    38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 212, 35, 
+    35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 
+    35, 35, 35, 35, 35, 35, 212, 35, 35, 35, 35, 35, 35, 38, 38, 38, 38, 38, 
+    38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 
+    38, 38, 212, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 
+    35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 212, 35, 35, 35, 35, 35, 35, 0, 
+    0, 0, 0, 101, 101, 101, 101, 101, 101, 101, 101, 101, 101, 101, 101, 101, 
+    101, 101, 101, 101, 101, 101, 101, 101, 101, 101, 101, 101, 101, 101, 
+    101, 101, 101, 101, 101, 101, 101, 101, 101, 101, 101, 101, 101, 101, 
+    101, 101, 101, 101, 101, 101, 101, 101, 101, 124, 124, 124, 124, 124, 
+    124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 
+    124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 
+    124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 
+    124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 
+    124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 
+    124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 
+    124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 
+    124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 
+    124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 
+    124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 
+    124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 
+    124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 
+    124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 
+    124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 
+    124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 0, 
+    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
+    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 124, 124, 124, 124, 124, 
+    124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 
+    124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 0, 0, 0, 0, 0, 0, 
+    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
+    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
+    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
+    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
+    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
+    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
+    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
+    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
+    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
+    0, 0, 0, 0, 0, 103, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
+    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 103, 103, 103, 103, 103, 103, 103, 
+    103, 103, 103, 103, 103, 103, 103, 103, 103, 103, 103, 103, 103, 103, 
+    103, 103, 103, 103, 103, 103, 103, 103, 103, 103, 103, 103, 103, 103, 
+    103, 103, 103, 103, 103, 103, 103, 103, 103, 103, 103, 103, 103, 103, 
+    103, 103, 103, 103, 103, 103, 103, 103, 103, 103, 103, 103, 103, 103, 
+    103, 103, 103, 103, 103, 103, 103, 103, 103, 103, 103, 103, 103, 103, 
+    103, 103, 103, 103, 103, 103, 103, 103, 103, 103, 103, 103, 103, 103, 
+    103, 103, 103, 103, 103, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
+    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
+    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
+    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
+    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
+    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 176, 176, 176, 176, 176, 
+    176, 176, 176, 176, 176, 176, 176, 176, 176, 176, 176, 176, 176, 176, 
+    176, 176, 176, 176, 176, 176, 176, 176, 176, 176, 176, 176, 176, 176, 
+    176, 176, 176, 176, 176, 176, 176, 176, 176, 176, 176, 176, 176, 176, 
+    176, 176, 176, 176, 176, 176, 176, 176, 176, 176, 176, 176, 176, 176, 
+    176, 176, 176, 176, 176, 176, 176, 176, 176, 176, 176, 176, 176, 176, 
+    176, 176, 176, 176, 176, 176, 176, 176, 176, 176, 176, 176, 176, 176, 
+    176, 176, 176, 176, 176, 176, 176, 176, 176, 176, 176, 176, 176, 176, 
+    176, 176, 176, 176, 176, 176, 176, 176, 176, 176, 176, 176, 176, 176, 
+    176, 176, 176, 176, 176, 176, 176, 176, 176, 176, 176, 176, 176, 176, 
+    176, 176, 176, 176, 176, 176, 176, 176, 176, 176, 176, 176, 176, 176, 
+    176, 176, 176, 176, 176, 176, 176, 176, 176, 176, 176, 176, 176, 176, 
+    176, 176, 176, 176, 176, 176, 176, 176, 176, 176, 176, 176, 176, 176, 
+    176, 176, 176, 176, 176, 176, 176, 176, 176, 176, 176, 176, 176, 176, 
+    176, 176, 176, 176, 176, 176, 176, 176, 176, 176, 176, 176, 176, 176, 
+    176, 176, 176, 176, 176, 176, 176, 176, 176, 176, 176, 176, 176, 176, 
+    176, 176, 176, 176, 176, 176, 176, 176, 176, 176, 176, 176, 176, 176, 
+    176, 176, 176, 176, 176, 176, 176, 176, 176, 176, 176, 176, 176, 176, 
+    176, 176, 176, 176, 176, 176, 176, 176, 176, 176, 176, 0, 0, 
 };
 
 /* decomposition data */
diff --git a/Objects/unicodectype.c b/Objects/unicodectype.c
index d770bdb..083fbe1 100644
--- a/Objects/unicodectype.c
+++ b/Objects/unicodectype.c
@@ -19,7 +19,6 @@
 #define SPACE_MASK 0x20
 #define TITLE_MASK 0x40
 #define UPPER_MASK 0x80
-#define WIDE_MASK 0x100
 
 typedef struct {
     const Py_UNICODE upper;
@@ -323,15 +322,6 @@ int _PyUnicode_IsNumeric(Py_UNICODE ch)
     return 1;
 }
 
-/* Returns 1 for Unicode characters having Full or Wide width, 0 otherwise */
-
-int _PyUnicode_IsWide(Py_UNICODE ch)
-{
-    const _PyUnicode_TypeRecord *ctype = gettyperecord(ch);
-
-    return (ctype->flags & WIDE_MASK) != 0;
-}
-
 #ifndef WANT_WCTYPE_FUNCTIONS
 
 /* Returns 1 for Unicode characters having the bidirectional type
diff --git a/Objects/unicodeobject.c b/Objects/unicodeobject.c
index c155072..45fb966 100644
--- a/Objects/unicodeobject.c
+++ b/Objects/unicodeobject.c
@@ -702,27 +702,6 @@ int PyUnicode_GetSize(PyObject *unicode)
     return -1;
 }
 
-int PyUnicode_GetWidth(PyObject *unicode)
-{
-    const Py_UNICODE *p, *e;
-    int width;
-
-    if (!PyUnicode_Check(unicode)) {
-	PyErr_BadArgument();
-	return -1;
-    }
-
-    p = PyUnicode_AS_UNICODE(unicode);
-    e = p + PyUnicode_GET_SIZE(unicode);
-    for (width = 0; p < e; p++)
-	if (Py_UNICODE_ISWIDE(*p))
-	    width += 2;
-	else
-	    width++;
-
-    return width;
-}
-
 const char *PyUnicode_GetDefaultEncoding(void)
 {
     return unicode_default_encoding;
@@ -5436,35 +5415,6 @@ unicode_isnumeric(PyUnicodeObject *self)
     return PyBool_FromLong(1);
 }
 
-PyDoc_STRVAR(iswide__doc__,
-"S.iswide() -> bool\n\
-\n\
-Return True if all characters in S are wide width\n\
-and there is at least one character in S, False otherwise.");
-
-static PyObject*
-unicode_iswide(PyUnicodeObject *self)
-{
-    register const Py_UNICODE *p = PyUnicode_AS_UNICODE(self);
-    register const Py_UNICODE *e;
-
-    /* Shortcut for single character strings */
-    if (PyUnicode_GET_SIZE(self) == 1 &&
-	Py_UNICODE_ISWIDE(*p))
-	Py_RETURN_TRUE;
-
-    /* Special case for empty strings */
-    if (PyString_GET_SIZE(self) == 0)
-	Py_RETURN_FALSE;
-
-    e = p + PyUnicode_GET_SIZE(self);
-    for (; p < e; p++) {
-	if (!Py_UNICODE_ISWIDE(*p))
-	    Py_RETURN_FALSE;
-    }
-    Py_RETURN_TRUE;
-}
-
 PyDoc_STRVAR(join__doc__,
 "S.join(sequence) -> unicode\n\
 \n\
@@ -6076,21 +6026,6 @@ unicode_upper(PyUnicodeObject *self)
     return fixup(self, fixupper);
 }
 
-PyDoc_STRVAR(width__doc__,
-"S.width() -> unicode\n\
-\n\
-Return a fixed-width representation length of S.");
-
-static PyObject*
-unicode_width(PyObject *self)
-{
-    int width = PyUnicode_GetWidth(self);
-    if (width == -1)
-	return NULL;
-    else
-	return PyInt_FromLong((long)width);
-}
-
 PyDoc_STRVAR(zfill__doc__,
 "S.zfill(width) -> unicode\n\
 \n\
@@ -6255,8 +6190,6 @@ static PyMethodDef unicode_methods[] = {
     {"isnumeric", (PyCFunction) unicode_isnumeric, METH_NOARGS, isnumeric__doc__},
     {"isalpha", (PyCFunction) unicode_isalpha, METH_NOARGS, isalpha__doc__},
     {"isalnum", (PyCFunction) unicode_isalnum, METH_NOARGS, isalnum__doc__},
-    {"iswide", (PyCFunction) unicode_iswide, METH_NOARGS, iswide__doc__},
-    {"width", (PyCFunction) unicode_width, METH_NOARGS, width__doc__},
     {"zfill", (PyCFunction) unicode_zfill, METH_VARARGS, zfill__doc__},
 #if 0
     {"capwords", (PyCFunction) unicode_capwords, METH_NOARGS, capwords__doc__},
diff --git a/Objects/unicodetype_db.h b/Objects/unicodetype_db.h
index 83bd470..140a261 100644
--- a/Objects/unicodetype_db.h
+++ b/Objects/unicodetype_db.h
@@ -87,7 +87,6 @@ const _PyUnicode_TypeRecord _PyUnicode_TypeRecords[] = {
     {0, 80, 0, 0, 0, 129},
     {0, 48, 0, 0, 0, 129},
     {65488, 0, 65488, 0, 0, 9},
-    {0, 0, 0, 0, 0, 257},
     {65477, 0, 65477, 0, 0, 9},
     {8, 0, 8, 0, 0, 9},
     {0, 65528, 0, 0, 0, 129},
@@ -114,7 +113,6 @@ const _PyUnicode_TypeRecord _PyUnicode_TypeRecords[] = {
     {0, 57274, 0, 0, 0, 129},
     {0, 16, 0, 0, 0, 0},
     {65520, 0, 65520, 0, 0, 0},
-    {0, 0, 0, 0, 0, 256},
     {0, 0, 0, 0, 1, 4},
     {0, 0, 0, 0, 2, 4},
     {0, 0, 0, 0, 3, 4},
@@ -127,19 +125,6 @@ const _PyUnicode_TypeRecord _PyUnicode_TypeRecords[] = {
     {0, 26, 0, 0, 0, 0},
     {65510, 0, 65510, 0, 0, 0},
     {0, 0, 0, 0, 0, 4},
-    {0, 0, 0, 0, 0, 288},
-    {0, 0, 0, 0, 0, 262},
-    {0, 0, 0, 1, 1, 262},
-    {0, 0, 0, 2, 2, 262},
-    {0, 0, 0, 3, 3, 262},
-    {0, 0, 0, 4, 4, 262},
-    {0, 0, 0, 5, 5, 262},
-    {0, 0, 0, 6, 6, 262},
-    {0, 0, 0, 7, 7, 262},
-    {0, 0, 0, 8, 8, 262},
-    {0, 0, 0, 9, 9, 262},
-    {0, 32, 0, 0, 0, 385},
-    {65504, 0, 65504, 0, 0, 265},
     {0, 40, 0, 0, 0, 129},
     {65496, 0, 65496, 0, 0, 9},
 };
@@ -149,19 +134,19 @@ const _PyUnicode_TypeRecord _PyUnicode_TypeRecords[] = {
 static unsigned char index1[] = {
     0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 
     21, 22, 23, 24, 8, 8, 8, 8, 8, 25, 26, 27, 28, 29, 30, 31, 29, 32, 33, 
-    29, 29, 29, 8, 8, 8, 34, 35, 36, 37, 38, 39, 40, 40, 40, 40, 40, 40, 40, 
-    40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 
-    41, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 
-    40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 
-    40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 
-    40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 
-    40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 42, 40, 40, 40, 40, 43, 8, 8, 8, 
-    8, 8, 8, 8, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 
-    40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 
-    40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 44, 29, 29, 29, 29, 29, 29, 29, 
+    29, 29, 29, 8, 8, 8, 34, 35, 36, 37, 38, 39, 21, 21, 21, 21, 21, 21, 21, 
+    21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 
+    40, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 
+    21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 
+    21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 
+    21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 
+    21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 41, 21, 21, 21, 21, 42, 8, 8, 8, 
+    8, 8, 8, 8, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 
+    21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 
+    21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 43, 29, 29, 29, 29, 29, 29, 29, 
     29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 
-    29, 29, 29, 29, 29, 29, 29, 29, 40, 45, 46, 21, 47, 48, 49, 8, 8, 8, 50, 
-    51, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 
+    29, 29, 29, 29, 29, 29, 29, 29, 21, 44, 45, 21, 46, 47, 48, 8, 8, 8, 49, 
+    50, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 
     8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 
     8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 
     8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 
@@ -169,22 +154,22 @@ static unsigned char index1[] = {
     8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 
     8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 
     8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 
-    8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 52, 53, 8, 8, 54, 55, 56, 57, 8, 8, 
+    8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 51, 52, 8, 8, 53, 54, 55, 56, 8, 8, 
     8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 
-    8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 40, 40, 40, 40, 40, 40, 40, 40, 
-    40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 
-    40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 
-    40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 
-    40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 
-    40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 
-    40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 
-    40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 
-    40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 
-    40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 58, 8, 8, 8, 8, 
+    8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 21, 21, 21, 21, 21, 21, 21, 21, 
+    21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 
+    21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 
+    21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 
+    21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 
+    21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 
+    21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 
+    21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 
+    21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 
+    21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 57, 8, 8, 8, 8, 
     8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 
     8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 
     8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 
-    8, 8, 8, 8, 8, 40, 40, 59, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 
+    8, 8, 8, 8, 8, 21, 21, 58, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 
     8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 
     8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 
     8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 
@@ -301,7 +286,7 @@ static unsigned char index1[] = {
     8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 
     8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 
     8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 
-    8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 60, 8, 
+    8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 59, 8, 
     8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 
     8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 
     8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 
@@ -326,7 +311,7 @@ static unsigned char index1[] = {
     29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 
     29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 
     29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 
-    29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 61, 29, 29, 29, 29, 
+    29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 60, 29, 29, 29, 29, 
     29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 
     29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 
     29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 
@@ -340,7 +325,7 @@ static unsigned char index1[] = {
     29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 
     29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 
     29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 
-    29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 61, 
+    29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 60, 
 };
 
 static unsigned char index2[] = {
@@ -552,13 +537,13 @@ static unsigned char index2[] = {
     75, 75, 75, 75, 75, 75, 75, 75, 75, 75, 75, 75, 75, 75, 75, 75, 75, 75, 
     0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 
     41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 
-    41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 0, 0, 1, 0, 0, 0, 0, 85, 
-    85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 
-    85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 
-    85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 
-    85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 
-    85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 0, 0, 
-    0, 0, 0, 85, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 
+    41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 0, 0, 1, 0, 0, 0, 0, 41, 
+    41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 
+    41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 
+    41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 
+    41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 
+    41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 0, 0, 
+    0, 0, 0, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 
     41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 
     41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 
     41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 0, 0, 0, 
@@ -669,26 +654,26 @@ static unsigned char index2[] = {
     20, 19, 20, 19, 20, 19, 20, 19, 20, 19, 20, 19, 20, 19, 20, 19, 20, 19, 
     20, 19, 20, 19, 20, 19, 20, 19, 20, 19, 20, 19, 20, 19, 20, 19, 20, 19, 
     20, 19, 20, 19, 20, 19, 20, 19, 20, 19, 20, 19, 20, 19, 20, 19, 20, 16, 
-    16, 16, 16, 16, 86, 0, 0, 0, 0, 19, 20, 19, 20, 19, 20, 19, 20, 19, 20, 
+    16, 16, 16, 16, 85, 0, 0, 0, 0, 19, 20, 19, 20, 19, 20, 19, 20, 19, 20, 
     19, 20, 19, 20, 19, 20, 19, 20, 19, 20, 19, 20, 19, 20, 19, 20, 19, 20, 
     19, 20, 19, 20, 19, 20, 19, 20, 19, 20, 19, 20, 19, 20, 19, 20, 19, 20, 
     19, 20, 19, 20, 19, 20, 19, 20, 19, 20, 19, 20, 19, 20, 19, 20, 19, 20, 
     19, 20, 19, 20, 19, 20, 19, 20, 19, 20, 19, 20, 19, 20, 19, 20, 19, 20, 
-    19, 20, 19, 20, 19, 20, 19, 20, 0, 0, 0, 0, 0, 0, 87, 87, 87, 87, 87, 87, 
-    87, 87, 88, 88, 88, 88, 88, 88, 88, 88, 87, 87, 87, 87, 87, 87, 0, 0, 88, 
-    88, 88, 88, 88, 88, 0, 0, 87, 87, 87, 87, 87, 87, 87, 87, 88, 88, 88, 88, 
-    88, 88, 88, 88, 87, 87, 87, 87, 87, 87, 87, 87, 88, 88, 88, 88, 88, 88, 
-    88, 88, 87, 87, 87, 87, 87, 87, 0, 0, 88, 88, 88, 88, 88, 88, 0, 0, 16, 
-    87, 16, 87, 16, 87, 16, 87, 0, 88, 0, 88, 0, 88, 0, 88, 87, 87, 87, 87, 
-    87, 87, 87, 87, 88, 88, 88, 88, 88, 88, 88, 88, 89, 89, 90, 90, 90, 90, 
-    91, 91, 92, 92, 93, 93, 94, 94, 0, 0, 87, 87, 87, 87, 87, 87, 87, 87, 95, 
-    95, 95, 95, 95, 95, 95, 95, 87, 87, 87, 87, 87, 87, 87, 87, 95, 95, 95, 
-    95, 95, 95, 95, 95, 87, 87, 87, 87, 87, 87, 87, 87, 95, 95, 95, 95, 95, 
-    95, 95, 95, 87, 87, 16, 96, 16, 0, 16, 16, 88, 88, 97, 97, 98, 1, 99, 1, 
-    1, 1, 16, 96, 16, 0, 16, 16, 100, 100, 100, 100, 98, 1, 1, 1, 87, 87, 16, 
-    16, 0, 0, 16, 16, 88, 88, 101, 101, 0, 1, 1, 1, 87, 87, 16, 16, 16, 102, 
-    16, 16, 88, 88, 103, 103, 104, 1, 1, 1, 0, 0, 16, 96, 16, 0, 16, 16, 105, 
-    105, 106, 106, 98, 1, 1, 0, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 1, 1, 1, 
+    19, 20, 19, 20, 19, 20, 19, 20, 0, 0, 0, 0, 0, 0, 86, 86, 86, 86, 86, 86, 
+    86, 86, 87, 87, 87, 87, 87, 87, 87, 87, 86, 86, 86, 86, 86, 86, 0, 0, 87, 
+    87, 87, 87, 87, 87, 0, 0, 86, 86, 86, 86, 86, 86, 86, 86, 87, 87, 87, 87, 
+    87, 87, 87, 87, 86, 86, 86, 86, 86, 86, 86, 86, 87, 87, 87, 87, 87, 87, 
+    87, 87, 86, 86, 86, 86, 86, 86, 0, 0, 87, 87, 87, 87, 87, 87, 0, 0, 16, 
+    86, 16, 86, 16, 86, 16, 86, 0, 87, 0, 87, 0, 87, 0, 87, 86, 86, 86, 86, 
+    86, 86, 86, 86, 87, 87, 87, 87, 87, 87, 87, 87, 88, 88, 89, 89, 89, 89, 
+    90, 90, 91, 91, 92, 92, 93, 93, 0, 0, 86, 86, 86, 86, 86, 86, 86, 86, 94, 
+    94, 94, 94, 94, 94, 94, 94, 86, 86, 86, 86, 86, 86, 86, 86, 94, 94, 94, 
+    94, 94, 94, 94, 94, 86, 86, 86, 86, 86, 86, 86, 86, 94, 94, 94, 94, 94, 
+    94, 94, 94, 86, 86, 16, 95, 16, 0, 16, 16, 87, 87, 96, 96, 97, 1, 98, 1, 
+    1, 1, 16, 95, 16, 0, 16, 16, 99, 99, 99, 99, 97, 1, 1, 1, 86, 86, 16, 16, 
+    0, 0, 16, 16, 87, 87, 100, 100, 0, 1, 1, 1, 86, 86, 16, 16, 16, 101, 16, 
+    16, 87, 87, 102, 102, 103, 1, 1, 1, 0, 0, 16, 95, 16, 0, 16, 16, 104, 
+    104, 105, 105, 97, 1, 1, 0, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 1, 1, 1, 
     1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 
     1, 3, 3, 1, 1, 1, 1, 1, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 
     1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 
@@ -701,12 +686,12 @@ static unsigned char index2[] = {
     1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
     0, 0, 0, 0, 1, 1, 75, 1, 1, 1, 1, 75, 1, 1, 16, 75, 75, 75, 16, 16, 75, 
     75, 75, 16, 1, 75, 1, 1, 1, 75, 75, 75, 75, 75, 1, 1, 1, 1, 1, 1, 75, 1, 
-    107, 1, 75, 1, 108, 109, 75, 75, 1, 16, 75, 75, 1, 75, 16, 41, 41, 41, 
+    106, 1, 75, 1, 107, 108, 75, 75, 1, 16, 75, 75, 1, 75, 16, 41, 41, 41, 
     41, 16, 1, 0, 0, 16, 75, 75, 1, 1, 1, 1, 1, 75, 16, 16, 16, 16, 1, 1, 0, 
-    0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 110, 110, 110, 
-    110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 111, 
-    111, 111, 111, 111, 111, 111, 111, 111, 111, 111, 111, 111, 111, 111, 
-    111, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 
+    0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 109, 109, 109, 
+    109, 109, 109, 109, 109, 109, 109, 109, 109, 109, 109, 109, 109, 110, 
+    110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 
+    110, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 
     1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 
     1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 
     1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 
@@ -723,29 +708,29 @@ static unsigned char index2[] = {
     1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 
     1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 
     1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 
-    1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 112, 112, 1, 1, 1, 
     1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 
     1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 
     1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 
     1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 
     1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 
     1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 
-    1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 
+    1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 
+    1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 
     0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
-    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 
+    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 
     1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 
-    1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
-    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 
-    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 113, 114, 115, 116, 
-    117, 118, 119, 120, 121, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 113, 114, 115, 
-    116, 117, 118, 119, 120, 121, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 113, 114, 
-    115, 116, 117, 118, 119, 120, 121, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 
+    1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
+    0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 
+    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 111, 112, 113, 114, 
+    115, 116, 117, 118, 119, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 111, 112, 113, 
+    114, 115, 116, 117, 118, 119, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 111, 112, 
+    113, 114, 115, 116, 117, 118, 119, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 
     1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 
-    122, 122, 122, 122, 122, 122, 122, 122, 122, 122, 122, 122, 122, 122, 
-    122, 122, 122, 122, 122, 122, 122, 122, 122, 122, 122, 122, 123, 123, 
-    123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 
-    123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 124, 1, 1, 1, 1, 1, 1, 
-    1, 1, 1, 1, 113, 114, 115, 116, 117, 118, 119, 120, 121, 1, 0, 1, 1, 1, 
+    120, 120, 120, 120, 120, 120, 120, 120, 120, 120, 120, 120, 120, 120, 
+    120, 120, 120, 120, 120, 120, 120, 120, 120, 120, 120, 120, 121, 121, 
+    121, 121, 121, 121, 121, 121, 121, 121, 121, 121, 121, 121, 121, 121, 
+    121, 121, 121, 121, 121, 121, 121, 121, 121, 121, 122, 1, 1, 1, 1, 1, 1, 
+    1, 1, 1, 1, 111, 112, 113, 114, 115, 116, 117, 118, 119, 1, 0, 1, 1, 1, 
     1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 1, 1, 0, 1, 1, 
     1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 
     1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 
@@ -761,9 +746,9 @@ static unsigned char index2[] = {
     1, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 
     1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 0, 1, 1, 1, 1, 
     0, 0, 0, 1, 0, 1, 1, 1, 1, 1, 1, 1, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 
-    1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 113, 114, 115, 116, 117, 118, 119, 120, 
-    121, 1, 113, 114, 115, 116, 117, 118, 119, 120, 121, 1, 113, 114, 115, 
-    116, 117, 118, 119, 120, 121, 1, 1, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 
+    1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 111, 112, 113, 114, 115, 116, 117, 118, 
+    119, 1, 111, 112, 113, 114, 115, 116, 117, 118, 119, 1, 111, 112, 113, 
+    114, 115, 116, 117, 118, 119, 1, 1, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 
     1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 
     1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 
     1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 
@@ -773,236 +758,190 @@ static unsigned char index2[] = {
     0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
     0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
     0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
-    0, 0, 0, 0, 0, 0, 0, 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 
-    112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 
-    112, 112, 0, 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 
-    112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 
-    112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 
-    112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 
-    112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 
-    112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 
-    112, 112, 112, 112, 112, 112, 112, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
-    112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 
-    112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 
-    112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 
-    112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 
-    112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 
-    112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 
-    112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 
-    112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 
-    112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 
-    112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 
-    112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 
-    112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 
-    112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 
-    112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 
-    112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 
-    112, 112, 112, 112, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
-    0, 0, 0, 0, 0, 0, 0, 0, 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 
-    112, 112, 0, 0, 0, 0, 125, 112, 112, 112, 112, 85, 85, 112, 112, 112, 
-    112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 
-    112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 
-    112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 85, 85, 85, 85, 
-    85, 112, 112, 112, 112, 112, 85, 85, 112, 112, 1, 0, 85, 85, 85, 85, 85, 
-    85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 
-    85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 
-    85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 
-    85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 
-    85, 85, 85, 85, 85, 85, 85, 85, 85, 0, 0, 112, 112, 112, 112, 85, 85, 85, 
-    112, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 
-    85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 
-    85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 
-    85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 
-    85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 
-    85, 112, 85, 85, 85, 85, 0, 0, 0, 0, 0, 85, 85, 85, 85, 85, 85, 85, 85, 
-    85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 
-    85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 0, 0, 0, 0, 85, 
-    85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 
-    85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 
-    85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 
-    85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 
-    85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 
-    85, 85, 85, 0, 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 
-    112, 112, 112, 112, 112, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 
-    85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 0, 0, 0, 0, 0, 0, 0, 0, 
-    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
-    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
-    85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 112, 112, 
-    112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 
-    112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 0, 0, 0, 
-    112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 
-    112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 
-    112, 112, 112, 112, 112, 112, 112, 112, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
-    0, 0, 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 
-    112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 
-    112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 
-    112, 112, 0, 0, 0, 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 
-    112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 
-    112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 
-    112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 
-    112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 
-    112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 0, 0, 0, 0, 112, 112, 
-    112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 
-    112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 
-    112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 
-    112, 112, 112, 0, 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 
-    112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 
-    112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 
-    112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 
-    112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 
-    112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 
-    112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 
-    112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 
-    112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 0, 0, 0, 0, 112, 112, 
-    112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 
-    112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 
-    112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 
-    112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 
-    112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 
-    112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 
-    112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 0, 0, 
-    112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 
-    112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 
-    112, 112, 112, 0, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 
-    85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 
-    85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 
-    85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 
-    85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 
-    85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 
-    85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 
-    85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 
-    85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 
-    85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 
-    85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 
-    85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 
-    85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 
-    85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 
-    85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 
-    85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 
-    85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 
-    85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 
-    85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 
-    85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 
-    85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 
-    85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 
-    85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 
-    85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 
-    85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
-    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
-    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
-    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 85, 85, 85, 85, 85, 85, 85, 
-    85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 
-    85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 
-    85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 
-    85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 
-    85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 
-    85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 
-    85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 
-    85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 
-    85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 0, 0, 0, 0, 
-    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
-    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
-    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
-    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 85, 85, 85, 85, 85, 85, 85, 85, 
-    85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 
-    85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 
-    85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 
-    85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 
-    85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 
-    85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 
-    85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 
-    85, 85, 85, 85, 85, 85, 85, 0, 0, 0, 112, 112, 112, 112, 112, 112, 112, 
-    112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 
-    112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 
-    112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 
-    112, 112, 112, 112, 112, 112, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
-    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
-    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 85, 85, 85, 85, 
-    85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 
-    85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 
-    85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 
-    85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 
-    85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 
-    85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 
-    85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 
-    85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 
-    85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 0, 0, 0, 
-    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
-    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
-    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
-    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 85, 85, 85, 85, 85, 
-    85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 
-    85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 
-    85, 85, 85, 85, 85, 0, 0, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 
-    85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 
-    85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 
-    85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
-    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
-    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
-    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
-    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
-    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
-    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 16, 16, 16, 
-    16, 16, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 16, 16, 16, 16, 0, 0, 
-    0, 0, 0, 41, 1, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 1, 41, 41, 41, 
-    41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 0, 41, 41, 41, 41, 41, 0, 41, 0, 
-    41, 41, 0, 41, 41, 0, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 
+    0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 
+    1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 
+    1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 
+    1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 
+    1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 
+    1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 
+    1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 
+    1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 
+    1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 
+    1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 
+    1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 
+    1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 
+    1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 
+    1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 
+    1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
+    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 
+    1, 1, 1, 0, 0, 0, 0, 2, 1, 1, 1, 1, 41, 41, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 
+    1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 
+    1, 1, 1, 1, 1, 1, 1, 1, 41, 41, 41, 41, 41, 1, 1, 1, 1, 1, 41, 41, 1, 1, 
+    1, 0, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 
+    41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 
+    41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 
+    41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 
+    41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 0, 0, 1, 1, 
+    1, 1, 41, 41, 41, 1, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 
+    41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 
+    41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 
+    41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 
+    41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 
+    41, 41, 41, 41, 41, 1, 41, 41, 41, 41, 0, 0, 0, 0, 0, 41, 41, 41, 41, 41, 
+    41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 
+    41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 0, 0, 
+    0, 0, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 
+    41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 
+    41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 
+    41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 
+    41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 
+    41, 41, 41, 41, 41, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 
+    41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 
+    41, 41, 41, 41, 41, 41, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
+    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
+    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 41, 41, 41, 41, 41, 41, 
+    41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 
+    1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 1, 1, 1, 
+    1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 
+    1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 
+    1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 
+    1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 1, 1, 1, 1, 
+    1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 
+    1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 
+    1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 
+    1, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 
+    1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 
+    1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 
+    1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 
+    1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 
+    1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 
+    1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 
+    1, 1, 1, 1, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 
+    1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 
+    1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 
+    1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 
+    1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 
+    1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 41, 41, 
+    41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 
+    41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 
+    41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 
+    41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 
+    41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 
+    41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 
+    41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 
+    41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 
+    41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 
+    41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 
+    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
+    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
+    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
+    0, 0, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 
+    41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 
+    41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 
+    41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 
     41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 
     41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 
     41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 
     41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 
     41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 
     41, 41, 41, 41, 41, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
+    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
+    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
+    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
+    41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 
+    41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 
+    41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 
+    41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 
+    41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 
+    41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 
+    41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 
+    41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 0, 0, 0, 1, 
+    1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 
+    1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 
+    1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
+    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
     0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 41, 41, 41, 41, 41, 41, 41, 
     41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 
     41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 
     41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 
     41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 
     41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 
-    41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
-    0, 0, 0, 0, 0, 0, 0, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 
     41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 
     41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 
-    41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 0, 0, 41, 41, 
+    41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 
+    41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 0, 0, 0, 0, 0, 0, 0, 
+    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
+    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
+    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
+    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 41, 41, 41, 41, 41, 41, 41, 41, 
     41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 
     41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 
-    41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 0, 0, 0, 
+    41, 41, 0, 0, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 
+    41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 
+    41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 
+    41, 41, 41, 41, 41, 41, 41, 41, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
+    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
+    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
+    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
     0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
+    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
+    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 16, 16, 16, 16, 16, 16, 
+    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 16, 16, 16, 16, 0, 0, 0, 0, 0, 
+    41, 1, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 1, 41, 41, 41, 41, 41, 41, 
+    41, 41, 41, 41, 41, 41, 41, 0, 41, 41, 41, 41, 41, 0, 41, 0, 41, 41, 0, 
+    41, 41, 0, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 
+    41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 
+    41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 
+    41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 
+    41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 
+    41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 
+    41, 41, 41, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
     0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 41, 41, 41, 41, 41, 41, 41, 41, 
-    41, 41, 41, 41, 1, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 
-    1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 0, 0, 0, 
-    0, 0, 0, 0, 0, 0, 0, 0, 0, 112, 112, 112, 112, 112, 112, 112, 112, 112, 
-    112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 0, 
-    0, 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 0, 112, 112, 112, 
-    112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 
-    112, 112, 0, 112, 112, 112, 112, 0, 0, 0, 0, 41, 41, 41, 41, 41, 0, 41, 
     41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 
     41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 
     41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 
     41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 
     41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 
+    41, 41, 41, 41, 41, 41, 41, 41, 41, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
+    0, 0, 0, 0, 0, 0, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 
     41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 
     41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 
-    41, 41, 41, 41, 41, 41, 41, 41, 0, 0, 1, 0, 112, 112, 112, 112, 112, 112, 
-    112, 112, 112, 112, 112, 112, 112, 112, 112, 126, 127, 128, 129, 130, 
-    131, 132, 133, 134, 135, 112, 112, 112, 112, 112, 112, 112, 136, 136, 
-    136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 
-    136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 112, 112, 112, 112, 
-    112, 112, 137, 137, 137, 137, 137, 137, 137, 137, 137, 137, 137, 137, 
-    137, 137, 137, 137, 137, 137, 137, 137, 137, 137, 137, 137, 137, 137, 
-    112, 112, 112, 112, 112, 112, 1, 1, 1, 1, 1, 41, 41, 41, 41, 41, 41, 41, 
+    41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 0, 0, 41, 41, 41, 
     41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 
     41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 
+    41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 0, 0, 0, 0, 
+    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
+    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 41, 41, 41, 41, 41, 41, 41, 41, 41, 
+    41, 41, 41, 1, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 
+    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 0, 0, 0, 0, 
+    0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 
+    1, 1, 1, 1, 1, 1, 1, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 1, 
+    1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 1, 0, 0, 0, 0, 
+    41, 41, 41, 41, 41, 0, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 
     41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 
     41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 
-    41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 0, 0, 0, 41, 41, 41, 41, 41, 41, 
-    0, 0, 41, 41, 41, 41, 41, 41, 0, 0, 41, 41, 41, 41, 41, 41, 0, 0, 41, 41, 
-    41, 0, 0, 0, 112, 112, 112, 112, 112, 112, 112, 0, 1, 1, 1, 1, 1, 1, 1, 
-    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 41, 41, 41, 41, 41, 
     41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 
-    41, 41, 41, 41, 41, 41, 41, 41, 0, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
-    0, 0, 0, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 
-    41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
+    41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 
+    41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 
+    41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 
+    41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 0, 0, 1, 0, 
+    1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 4, 5, 6, 7, 8, 9, 10, 11, 
+    12, 13, 1, 1, 1, 1, 1, 1, 1, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 
+    14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 1, 1, 1, 1, 
+    1, 1, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 
+    15, 15, 15, 15, 15, 15, 15, 15, 15, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 41, 
+    41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 
+    41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 
+    41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 
+    41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 
+    41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 0, 0, 0, 
+    41, 41, 41, 41, 41, 41, 0, 0, 41, 41, 41, 41, 41, 41, 0, 0, 41, 41, 41, 
+    41, 41, 41, 0, 0, 41, 41, 41, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 
+    1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 41, 41, 
+    41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 
+    41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 0, 1, 1, 1, 1, 0, 0, 0, 0, 0, 
+    0, 0, 0, 0, 0, 0, 0, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 
+    41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 1, 0, 0, 0, 0, 0, 0, 
     0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
     0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
     0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
@@ -1010,19 +949,20 @@ static unsigned char index2[] = {
     0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
     0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
     0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
-    0, 0, 0, 138, 138, 138, 138, 138, 138, 138, 138, 138, 138, 138, 138, 138, 
-    138, 138, 138, 138, 138, 138, 138, 138, 138, 138, 138, 138, 138, 138, 
-    138, 138, 138, 138, 138, 138, 138, 138, 138, 138, 138, 0, 0, 139, 139, 
-    139, 139, 139, 139, 139, 139, 139, 139, 139, 139, 139, 139, 139, 139, 
-    139, 139, 139, 139, 139, 139, 139, 139, 139, 139, 139, 139, 139, 139, 
-    139, 139, 139, 139, 139, 139, 139, 139, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
+    0, 0, 0, 0, 0, 0, 0, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 
+    123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 
+    123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 0, 
+    0, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 
+    124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 
+    124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 0, 0, 0, 0, 0, 0, 0, 0, 
     0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
     0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
     0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
     0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
     0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
     0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
-    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 
+    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
+    0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 
     1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 
     1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 
     1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 
@@ -1032,90 +972,89 @@ static unsigned char index2[] = {
     1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 
     1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 
     1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 
+    1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 
     1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 
-    1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 
+    1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 
     1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 
-    1, 1, 1, 1, 1, 1, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 
     1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 
     1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 
     1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 
     1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 
     1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 
     1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 
-    1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 
     0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
-    0, 0, 0, 0, 0, 0, 0, 75, 75, 75, 75, 75, 75, 75, 75, 75, 75, 75, 75, 75, 
-    75, 75, 75, 75, 75, 75, 75, 75, 75, 75, 75, 75, 75, 16, 16, 16, 16, 16, 
+    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 75, 75, 75, 75, 75, 75, 75, 75, 75, 75, 75, 
+    75, 75, 75, 75, 75, 75, 75, 75, 75, 75, 75, 75, 75, 75, 75, 16, 16, 16, 
     16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 
+    16, 16, 16, 16, 16, 75, 75, 75, 75, 75, 75, 75, 75, 75, 75, 75, 75, 75, 
+    75, 75, 75, 75, 75, 75, 75, 75, 75, 75, 75, 75, 75, 16, 16, 16, 16, 16, 
+    16, 16, 0, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 
     16, 16, 16, 75, 75, 75, 75, 75, 75, 75, 75, 75, 75, 75, 75, 75, 75, 75, 
     75, 75, 75, 75, 75, 75, 75, 75, 75, 75, 75, 16, 16, 16, 16, 16, 16, 16, 
-    0, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 
-    16, 75, 75, 75, 75, 75, 75, 75, 75, 75, 75, 75, 75, 75, 75, 75, 75, 75, 
-    75, 75, 75, 75, 75, 75, 75, 75, 75, 16, 16, 16, 16, 16, 16, 16, 16, 16, 
-    16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 75, 
-    0, 75, 75, 0, 0, 75, 0, 0, 75, 75, 0, 0, 75, 75, 75, 75, 0, 75, 75, 75, 
-    75, 75, 75, 75, 75, 16, 16, 16, 16, 0, 16, 0, 16, 16, 16, 16, 0, 16, 16, 
-    0, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 75, 75, 75, 75, 75, 75, 
+    16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 
+    16, 75, 0, 75, 75, 0, 0, 75, 0, 0, 75, 75, 0, 0, 75, 75, 75, 75, 0, 75, 
+    75, 75, 75, 75, 75, 75, 75, 16, 16, 16, 16, 0, 16, 0, 16, 16, 16, 16, 0, 
+    16, 16, 0, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 75, 75, 75, 75, 
     75, 75, 75, 75, 75, 75, 75, 75, 75, 75, 75, 75, 75, 75, 75, 75, 75, 75, 
-    75, 75, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 
-    16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 75, 75, 0, 75, 75, 75, 75, 0, 0, 
-    75, 75, 75, 75, 75, 75, 75, 75, 0, 75, 75, 75, 75, 75, 75, 75, 0, 16, 16, 
+    75, 75, 75, 75, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 
+    16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 75, 75, 0, 75, 75, 75, 
+    75, 0, 0, 75, 75, 75, 75, 75, 75, 75, 75, 0, 75, 75, 75, 75, 75, 75, 75, 
+    0, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 
+    16, 16, 16, 16, 16, 16, 16, 16, 16, 75, 75, 0, 75, 75, 75, 75, 0, 75, 75, 
+    75, 75, 75, 0, 75, 0, 0, 0, 75, 75, 75, 75, 75, 75, 75, 0, 16, 16, 16, 
     16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 
-    16, 16, 16, 16, 16, 16, 75, 75, 0, 75, 75, 75, 75, 0, 75, 75, 75, 75, 75, 
-    0, 75, 0, 0, 0, 75, 75, 75, 75, 75, 75, 75, 0, 16, 16, 16, 16, 16, 16, 
+    16, 16, 16, 16, 16, 75, 75, 75, 75, 75, 75, 75, 75, 75, 75, 75, 75, 75, 
+    75, 75, 75, 75, 75, 75, 75, 75, 75, 75, 75, 75, 75, 16, 16, 16, 16, 16, 
     16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 
-    16, 16, 75, 75, 75, 75, 75, 75, 75, 75, 75, 75, 75, 75, 75, 75, 75, 75, 
-    75, 75, 75, 75, 75, 75, 75, 75, 75, 75, 16, 16, 16, 16, 16, 16, 16, 16, 
+    16, 16, 16, 75, 75, 75, 75, 75, 75, 75, 75, 75, 75, 75, 75, 75, 75, 75, 
+    75, 75, 75, 75, 75, 75, 75, 75, 75, 75, 75, 16, 16, 16, 16, 16, 16, 16, 
     16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 
+    16, 75, 75, 75, 75, 75, 75, 75, 75, 75, 75, 75, 75, 75, 75, 75, 75, 75, 
+    75, 75, 75, 75, 75, 75, 75, 75, 75, 16, 16, 16, 16, 16, 16, 16, 16, 16, 
+    16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 75, 
     75, 75, 75, 75, 75, 75, 75, 75, 75, 75, 75, 75, 75, 75, 75, 75, 75, 75, 
-    75, 75, 75, 75, 75, 75, 75, 75, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 
-    16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 75, 75, 
-    75, 75, 75, 75, 75, 75, 75, 75, 75, 75, 75, 75, 75, 75, 75, 75, 75, 75, 
-    75, 75, 75, 75, 75, 75, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 
-    16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 75, 75, 75, 75, 
-    75, 75, 75, 75, 75, 75, 75, 75, 75, 75, 75, 75, 75, 75, 75, 75, 75, 75, 
-    75, 75, 75, 75, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 
-    16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 75, 75, 75, 75, 75, 75, 
+    75, 75, 75, 75, 75, 75, 75, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 
+    16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 75, 75, 75, 
     75, 75, 75, 75, 75, 75, 75, 75, 75, 75, 75, 75, 75, 75, 75, 75, 75, 75, 
-    75, 75, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 
-    16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 75, 75, 75, 75, 75, 75, 75, 75, 
+    75, 75, 75, 75, 75, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 
+    16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 75, 75, 75, 75, 75, 
     75, 75, 75, 75, 75, 75, 75, 75, 75, 75, 75, 75, 75, 75, 75, 75, 75, 75, 
-    16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 
-    16, 16, 16, 16, 16, 16, 16, 16, 0, 0, 0, 0, 75, 75, 75, 75, 75, 75, 75, 
+    75, 75, 75, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 
+    16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 0, 0, 0, 0, 75, 75, 75, 75, 
     75, 75, 75, 75, 75, 75, 75, 75, 75, 75, 75, 75, 75, 75, 75, 75, 75, 75, 
-    1, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 
-    16, 16, 16, 16, 16, 16, 16, 16, 1, 16, 16, 16, 16, 16, 16, 75, 75, 75, 
+    75, 75, 75, 1, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 
+    16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 1, 16, 16, 16, 16, 16, 16, 
     75, 75, 75, 75, 75, 75, 75, 75, 75, 75, 75, 75, 75, 75, 75, 75, 75, 75, 
-    75, 75, 75, 75, 1, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 
-    16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 1, 16, 16, 16, 16, 16, 
-    16, 75, 75, 75, 75, 75, 75, 75, 75, 75, 75, 75, 75, 75, 75, 75, 75, 75, 
-    75, 75, 75, 75, 75, 75, 75, 75, 1, 16, 16, 16, 16, 16, 16, 16, 16, 16, 
-    16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 1, 16, 
-    16, 16, 16, 16, 16, 75, 75, 75, 75, 75, 75, 75, 75, 75, 75, 75, 75, 75, 
-    75, 75, 75, 75, 75, 75, 75, 75, 75, 75, 75, 75, 1, 16, 16, 16, 16, 16, 
+    75, 75, 75, 75, 75, 75, 75, 1, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 
+    16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 1, 16, 16, 
+    16, 16, 16, 16, 75, 75, 75, 75, 75, 75, 75, 75, 75, 75, 75, 75, 75, 75, 
+    75, 75, 75, 75, 75, 75, 75, 75, 75, 75, 75, 1, 16, 16, 16, 16, 16, 16, 
     16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 
-    16, 16, 1, 16, 16, 16, 16, 16, 16, 75, 75, 75, 75, 75, 75, 75, 75, 75, 
-    75, 75, 75, 75, 75, 75, 75, 75, 75, 75, 75, 75, 75, 75, 75, 75, 1, 16, 
+    16, 1, 16, 16, 16, 16, 16, 16, 75, 75, 75, 75, 75, 75, 75, 75, 75, 75, 
+    75, 75, 75, 75, 75, 75, 75, 75, 75, 75, 75, 75, 75, 75, 75, 1, 16, 16, 
     16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 
-    16, 16, 16, 16, 16, 16, 1, 16, 16, 16, 16, 16, 16, 0, 0, 0, 0, 4, 5, 6, 
-    7, 8, 9, 10, 11, 12, 13, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 4, 5, 6, 7, 8, 
-    9, 10, 11, 12, 13, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 4, 5, 6, 7, 8, 9, 
-    10, 11, 12, 13, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 
-    85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 
-    85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 
-    85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 
-    85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 
-    85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 
-    85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 
-    85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 
-    85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 
-    85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 
-    85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 
-    85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 
-    85, 85, 85, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
-    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 85, 85, 
-    85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 
-    85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
+    16, 16, 16, 16, 16, 1, 16, 16, 16, 16, 16, 16, 75, 75, 75, 75, 75, 75, 
+    75, 75, 75, 75, 75, 75, 75, 75, 75, 75, 75, 75, 75, 75, 75, 75, 75, 75, 
+    75, 1, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 
+    16, 16, 16, 16, 16, 16, 16, 16, 16, 1, 16, 16, 16, 16, 16, 16, 0, 0, 0, 
+    0, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 4, 
+    5, 6, 7, 8, 9, 10, 11, 12, 13, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 4, 5, 6, 
+    7, 8, 9, 10, 11, 12, 13, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 
+    41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 
+    41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 
+    41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 
+    41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 
+    41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 
+    41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 
+    41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 
+    41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 
+    41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 
+    41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 
+    41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 
+    41, 41, 41, 41, 41, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
+    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 41, 
+    41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 
+    41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
     0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
     0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
     0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
@@ -1125,17 +1064,17 @@ static unsigned char index2[] = {
     0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
     0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
     0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
-    1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
-    0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 
+    0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
+    0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 
     1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 
     1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 
     1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 
-    1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
+    1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
     0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
     0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
     0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
     0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
-    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 
+    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 
     1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 
     1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 
     1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 
@@ -1146,6 +1085,6 @@ static unsigned char index2[] = {
     1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 
     1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 
     1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 
-    1, 1, 1, 1, 1, 0, 0, 
+    1, 1, 1, 1, 1, 1, 0, 0, 
 };
 
diff --git a/Tools/unicode/makeunicodedata.py b/Tools/unicode/makeunicodedata.py
index 6c29fd1..7186780 100644
--- a/Tools/unicode/makeunicodedata.py
+++ b/Tools/unicode/makeunicodedata.py
@@ -43,6 +43,8 @@ BIDIRECTIONAL_NAMES = [ "", "L", "LRE", "LRO", "R", "AL", "RLE", "RLO",
     "PDF", "EN", "ES", "ET", "AN", "CS", "NSM", "BN", "B", "S", "WS",
     "ON" ]
 
+EASTASIANWIDTH_NAMES = [ "F", "H", "W", "Na", "A", "N" ]
+
 # note: should match definitions in Objects/unicodectype.c
 ALPHA_MASK = 0x01
 DECIMAL_MASK = 0x02
@@ -52,7 +54,6 @@ LINEBREAK_MASK = 0x10
 SPACE_MASK = 0x20
 TITLE_MASK = 0x40
 UPPER_MASK = 0x80
-WIDE_MASK = 0x100
 
 def maketables(trace=0):
 
@@ -72,7 +73,7 @@ def maketables(trace=0):
 
 def makeunicodedata(unicode, trace):
 
-    dummy = (0, 0, 0, 0)
+    dummy = (0, 0, 0, 0, 0)
     table = [dummy]
     cache = {0: dummy}
     index = [0] * len(unicode.chars)
@@ -91,8 +92,9 @@ def makeunicodedata(unicode, trace):
             combining = int(record[3])
             bidirectional = BIDIRECTIONAL_NAMES.index(record[4])
             mirrored = record[9] == "Y"
+            eastasianwidth = EASTASIANWIDTH_NAMES.index(record[15])
             item = (
-                category, combining, bidirectional, mirrored
+                category, combining, bidirectional, mirrored, eastasianwidth
                 )
             # add entry to index and item tables
             i = cache.get(item)
@@ -204,7 +206,7 @@ def makeunicodedata(unicode, trace):
     print >>fp, \
           "const _PyUnicode_DatabaseRecord _PyUnicode_Database_Records[] = {"
     for item in table:
-        print >>fp, "    {%d, %d, %d, %d}," % item
+        print >>fp, "    {%d, %d, %d, %d, %d}," % item
     print >>fp, "};"
     print >>fp
 
@@ -239,6 +241,12 @@ def makeunicodedata(unicode, trace):
     print >>fp, "    NULL"
     print >>fp, "};"
 
+    print >>fp, "const char *_PyUnicode_EastAsianWidthNames[] = {"
+    for name in EASTASIANWIDTH_NAMES:
+        print >>fp, "    \"%s\"," % name
+    print >>fp, "    NULL"
+    print >>fp, "};"
+
     print >>fp, "static const char *decomp_prefix[] = {"
     for name in decomp_prefix:
         print >>fp, "    \"%s\"," % name
@@ -334,8 +342,6 @@ def makeunicodetype(unicode, trace):
             if record[7]:
                 flags |= DIGIT_MASK
                 digit = int(record[7])
-            if record[15] in ('W', 'F'): # Wide or Full width
-                flags |= WIDE_MASK
             item = (
                 upper, lower, title, decimal, digit, flags
                 )
-- 
cgit v0.12

