qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Qemu-devel] [RFC 02/14] tcg-aarch64: Allow immediate operands to and, o


From: Richard Henderson
Subject: [Qemu-devel] [RFC 02/14] tcg-aarch64: Allow immediate operands to and, or, xor
Date: Mon, 12 Aug 2013 11:44:43 -0700

It isn't obvious how to have the makefile generate bitmask-table.h,
so check it in along with the generator.

Signed-off-by: Richard Henderson <address@hidden>
---
 tcg/aarch64/bitmask-table.c |   85 +
 tcg/aarch64/bitmask-table.h | 5342 +++++++++++++++++++++++++++++++++++++++++++
 tcg/aarch64/tcg-target.c    |   82 +-
 3 files changed, 5500 insertions(+), 9 deletions(-)
 create mode 100644 tcg/aarch64/bitmask-table.c
 create mode 100644 tcg/aarch64/bitmask-table.h

diff --git a/tcg/aarch64/bitmask-table.c b/tcg/aarch64/bitmask-table.c
new file mode 100644
index 0000000..03a1a52
--- /dev/null
+++ b/tcg/aarch64/bitmask-table.c
@@ -0,0 +1,85 @@
+#include <stdint.h>
+#include <assert.h>
+#include <stdlib.h>
+#include <stdio.h>
+
+typedef struct {
+    uint64_t imm;
+    unsigned enc;
+} imm_enc;
+
+static int do_cmp (const void *x1, const void *x2)
+{
+  const imm_enc *i1 = x1;
+  const imm_enc *i2 = x2;
+
+  if (i1->imm < i2->imm)
+    return -1;
+  if (i1->imm > i2->imm)
+    return +1;
+  return 0;
+}
+
+#define N 5334
+static imm_enc bitmasks[N];
+
+int main(void)
+{
+    unsigned int log_e;
+    unsigned int n = 0;
+
+    for (log_e = 1; log_e <= 6; log_e++) {
+        unsigned s, e = 1 << log_e;
+        uint64_t mask = (e == 64 ? 0 : 1ULL << e) - 1;
+        unsigned s_mask = (0x3e << log_e) & 0x3f;
+
+        for (s = 0; s < e - 1; s++) {
+            unsigned r;
+            for (r = 0; r < e; r++) {
+                /* set s+1 consecutive bits to 1 (s < 64) */
+                uint64_t imm = (1ULL << (s + 1)) - 1;
+
+                /* rotate right by r */
+                if (r != 0) {
+                    imm = ((imm >> r) | (imm << (e - r))) & mask;
+                }
+
+                /* replicate the constant depending on SIMD size */
+                switch (log_e) {
+                case 1: imm |= (imm <<  2);
+                case 2: imm |= (imm <<  4);
+                case 3: imm |= (imm <<  8);
+                case 4: imm |= (imm << 16);
+                case 5: imm |= (imm << 32);
+                case 6:
+                  break;
+                default:
+                  abort();
+                }
+                assert (n < N);
+                bitmasks[n].imm = imm;
+                bitmasks[n].enc = (e == 64) << 12 | (r << 6) | s | s_mask;
+                n++;
+            }
+        }
+    }
+    assert (n == N);
+
+    qsort (bitmasks, N, sizeof(bitmasks[0]), do_cmp);
+
+    printf("/* Auto-generated from bitmask-table.c.  */\n\n");
+
+    printf("static uint64_t const bitmask_imm[] = {\n");
+    for (n = 0; n < N; n += 2) {
+        printf("    %#018lx, %#018lx,\n", bitmasks[n].imm, bitmasks[n+1].imm);
+    }
+    printf("};\n\n");
+
+    printf("static uint16_t const bitmask_enc[] = {\n");
+    for (n = 0; n < N; n += 2) {
+        printf("    %#06x, %#06x,\n", bitmasks[n].enc, bitmasks[n+1].enc);
+    }
+    printf("};\n\n");
+
+    return 0;
+}
diff --git a/tcg/aarch64/bitmask-table.h b/tcg/aarch64/bitmask-table.h
new file mode 100644
index 0000000..be37002
--- /dev/null
+++ b/tcg/aarch64/bitmask-table.h
@@ -0,0 +1,5342 @@
+/* Auto-generated from bitmask-table.c.  */
+
+static uint64_t const bitmask_imm[] = {
+    0x0000000000000001, 0x0000000000000002,
+    0x0000000000000003, 0x0000000000000004,
+    0x0000000000000006, 0x0000000000000007,
+    0x0000000000000008, 0x000000000000000c,
+    0x000000000000000e, 0x000000000000000f,
+    0x0000000000000010, 0x0000000000000018,
+    0x000000000000001c, 0x000000000000001e,
+    0x000000000000001f, 0x0000000000000020,
+    0x0000000000000030, 0x0000000000000038,
+    0x000000000000003c, 0x000000000000003e,
+    0x000000000000003f, 0x0000000000000040,
+    0x0000000000000060, 0x0000000000000070,
+    0x0000000000000078, 0x000000000000007c,
+    0x000000000000007e, 0x000000000000007f,
+    0x0000000000000080, 0x00000000000000c0,
+    0x00000000000000e0, 0x00000000000000f0,
+    0x00000000000000f8, 0x00000000000000fc,
+    0x00000000000000fe, 0x00000000000000ff,
+    0x0000000000000100, 0x0000000000000180,
+    0x00000000000001c0, 0x00000000000001e0,
+    0x00000000000001f0, 0x00000000000001f8,
+    0x00000000000001fc, 0x00000000000001fe,
+    0x00000000000001ff, 0x0000000000000200,
+    0x0000000000000300, 0x0000000000000380,
+    0x00000000000003c0, 0x00000000000003e0,
+    0x00000000000003f0, 0x00000000000003f8,
+    0x00000000000003fc, 0x00000000000003fe,
+    0x00000000000003ff, 0x0000000000000400,
+    0x0000000000000600, 0x0000000000000700,
+    0x0000000000000780, 0x00000000000007c0,
+    0x00000000000007e0, 0x00000000000007f0,
+    0x00000000000007f8, 0x00000000000007fc,
+    0x00000000000007fe, 0x00000000000007ff,
+    0x0000000000000800, 0x0000000000000c00,
+    0x0000000000000e00, 0x0000000000000f00,
+    0x0000000000000f80, 0x0000000000000fc0,
+    0x0000000000000fe0, 0x0000000000000ff0,
+    0x0000000000000ff8, 0x0000000000000ffc,
+    0x0000000000000ffe, 0x0000000000000fff,
+    0x0000000000001000, 0x0000000000001800,
+    0x0000000000001c00, 0x0000000000001e00,
+    0x0000000000001f00, 0x0000000000001f80,
+    0x0000000000001fc0, 0x0000000000001fe0,
+    0x0000000000001ff0, 0x0000000000001ff8,
+    0x0000000000001ffc, 0x0000000000001ffe,
+    0x0000000000001fff, 0x0000000000002000,
+    0x0000000000003000, 0x0000000000003800,
+    0x0000000000003c00, 0x0000000000003e00,
+    0x0000000000003f00, 0x0000000000003f80,
+    0x0000000000003fc0, 0x0000000000003fe0,
+    0x0000000000003ff0, 0x0000000000003ff8,
+    0x0000000000003ffc, 0x0000000000003ffe,
+    0x0000000000003fff, 0x0000000000004000,
+    0x0000000000006000, 0x0000000000007000,
+    0x0000000000007800, 0x0000000000007c00,
+    0x0000000000007e00, 0x0000000000007f00,
+    0x0000000000007f80, 0x0000000000007fc0,
+    0x0000000000007fe0, 0x0000000000007ff0,
+    0x0000000000007ff8, 0x0000000000007ffc,
+    0x0000000000007ffe, 0x0000000000007fff,
+    0x0000000000008000, 0x000000000000c000,
+    0x000000000000e000, 0x000000000000f000,
+    0x000000000000f800, 0x000000000000fc00,
+    0x000000000000fe00, 0x000000000000ff00,
+    0x000000000000ff80, 0x000000000000ffc0,
+    0x000000000000ffe0, 0x000000000000fff0,
+    0x000000000000fff8, 0x000000000000fffc,
+    0x000000000000fffe, 0x000000000000ffff,
+    0x0000000000010000, 0x0000000000018000,
+    0x000000000001c000, 0x000000000001e000,
+    0x000000000001f000, 0x000000000001f800,
+    0x000000000001fc00, 0x000000000001fe00,
+    0x000000000001ff00, 0x000000000001ff80,
+    0x000000000001ffc0, 0x000000000001ffe0,
+    0x000000000001fff0, 0x000000000001fff8,
+    0x000000000001fffc, 0x000000000001fffe,
+    0x000000000001ffff, 0x0000000000020000,
+    0x0000000000030000, 0x0000000000038000,
+    0x000000000003c000, 0x000000000003e000,
+    0x000000000003f000, 0x000000000003f800,
+    0x000000000003fc00, 0x000000000003fe00,
+    0x000000000003ff00, 0x000000000003ff80,
+    0x000000000003ffc0, 0x000000000003ffe0,
+    0x000000000003fff0, 0x000000000003fff8,
+    0x000000000003fffc, 0x000000000003fffe,
+    0x000000000003ffff, 0x0000000000040000,
+    0x0000000000060000, 0x0000000000070000,
+    0x0000000000078000, 0x000000000007c000,
+    0x000000000007e000, 0x000000000007f000,
+    0x000000000007f800, 0x000000000007fc00,
+    0x000000000007fe00, 0x000000000007ff00,
+    0x000000000007ff80, 0x000000000007ffc0,
+    0x000000000007ffe0, 0x000000000007fff0,
+    0x000000000007fff8, 0x000000000007fffc,
+    0x000000000007fffe, 0x000000000007ffff,
+    0x0000000000080000, 0x00000000000c0000,
+    0x00000000000e0000, 0x00000000000f0000,
+    0x00000000000f8000, 0x00000000000fc000,
+    0x00000000000fe000, 0x00000000000ff000,
+    0x00000000000ff800, 0x00000000000ffc00,
+    0x00000000000ffe00, 0x00000000000fff00,
+    0x00000000000fff80, 0x00000000000fffc0,
+    0x00000000000fffe0, 0x00000000000ffff0,
+    0x00000000000ffff8, 0x00000000000ffffc,
+    0x00000000000ffffe, 0x00000000000fffff,
+    0x0000000000100000, 0x0000000000180000,
+    0x00000000001c0000, 0x00000000001e0000,
+    0x00000000001f0000, 0x00000000001f8000,
+    0x00000000001fc000, 0x00000000001fe000,
+    0x00000000001ff000, 0x00000000001ff800,
+    0x00000000001ffc00, 0x00000000001ffe00,
+    0x00000000001fff00, 0x00000000001fff80,
+    0x00000000001fffc0, 0x00000000001fffe0,
+    0x00000000001ffff0, 0x00000000001ffff8,
+    0x00000000001ffffc, 0x00000000001ffffe,
+    0x00000000001fffff, 0x0000000000200000,
+    0x0000000000300000, 0x0000000000380000,
+    0x00000000003c0000, 0x00000000003e0000,
+    0x00000000003f0000, 0x00000000003f8000,
+    0x00000000003fc000, 0x00000000003fe000,
+    0x00000000003ff000, 0x00000000003ff800,
+    0x00000000003ffc00, 0x00000000003ffe00,
+    0x00000000003fff00, 0x00000000003fff80,
+    0x00000000003fffc0, 0x00000000003fffe0,
+    0x00000000003ffff0, 0x00000000003ffff8,
+    0x00000000003ffffc, 0x00000000003ffffe,
+    0x00000000003fffff, 0x0000000000400000,
+    0x0000000000600000, 0x0000000000700000,
+    0x0000000000780000, 0x00000000007c0000,
+    0x00000000007e0000, 0x00000000007f0000,
+    0x00000000007f8000, 0x00000000007fc000,
+    0x00000000007fe000, 0x00000000007ff000,
+    0x00000000007ff800, 0x00000000007ffc00,
+    0x00000000007ffe00, 0x00000000007fff00,
+    0x00000000007fff80, 0x00000000007fffc0,
+    0x00000000007fffe0, 0x00000000007ffff0,
+    0x00000000007ffff8, 0x00000000007ffffc,
+    0x00000000007ffffe, 0x00000000007fffff,
+    0x0000000000800000, 0x0000000000c00000,
+    0x0000000000e00000, 0x0000000000f00000,
+    0x0000000000f80000, 0x0000000000fc0000,
+    0x0000000000fe0000, 0x0000000000ff0000,
+    0x0000000000ff8000, 0x0000000000ffc000,
+    0x0000000000ffe000, 0x0000000000fff000,
+    0x0000000000fff800, 0x0000000000fffc00,
+    0x0000000000fffe00, 0x0000000000ffff00,
+    0x0000000000ffff80, 0x0000000000ffffc0,
+    0x0000000000ffffe0, 0x0000000000fffff0,
+    0x0000000000fffff8, 0x0000000000fffffc,
+    0x0000000000fffffe, 0x0000000000ffffff,
+    0x0000000001000000, 0x0000000001800000,
+    0x0000000001c00000, 0x0000000001e00000,
+    0x0000000001f00000, 0x0000000001f80000,
+    0x0000000001fc0000, 0x0000000001fe0000,
+    0x0000000001ff0000, 0x0000000001ff8000,
+    0x0000000001ffc000, 0x0000000001ffe000,
+    0x0000000001fff000, 0x0000000001fff800,
+    0x0000000001fffc00, 0x0000000001fffe00,
+    0x0000000001ffff00, 0x0000000001ffff80,
+    0x0000000001ffffc0, 0x0000000001ffffe0,
+    0x0000000001fffff0, 0x0000000001fffff8,
+    0x0000000001fffffc, 0x0000000001fffffe,
+    0x0000000001ffffff, 0x0000000002000000,
+    0x0000000003000000, 0x0000000003800000,
+    0x0000000003c00000, 0x0000000003e00000,
+    0x0000000003f00000, 0x0000000003f80000,
+    0x0000000003fc0000, 0x0000000003fe0000,
+    0x0000000003ff0000, 0x0000000003ff8000,
+    0x0000000003ffc000, 0x0000000003ffe000,
+    0x0000000003fff000, 0x0000000003fff800,
+    0x0000000003fffc00, 0x0000000003fffe00,
+    0x0000000003ffff00, 0x0000000003ffff80,
+    0x0000000003ffffc0, 0x0000000003ffffe0,
+    0x0000000003fffff0, 0x0000000003fffff8,
+    0x0000000003fffffc, 0x0000000003fffffe,
+    0x0000000003ffffff, 0x0000000004000000,
+    0x0000000006000000, 0x0000000007000000,
+    0x0000000007800000, 0x0000000007c00000,
+    0x0000000007e00000, 0x0000000007f00000,
+    0x0000000007f80000, 0x0000000007fc0000,
+    0x0000000007fe0000, 0x0000000007ff0000,
+    0x0000000007ff8000, 0x0000000007ffc000,
+    0x0000000007ffe000, 0x0000000007fff000,
+    0x0000000007fff800, 0x0000000007fffc00,
+    0x0000000007fffe00, 0x0000000007ffff00,
+    0x0000000007ffff80, 0x0000000007ffffc0,
+    0x0000000007ffffe0, 0x0000000007fffff0,
+    0x0000000007fffff8, 0x0000000007fffffc,
+    0x0000000007fffffe, 0x0000000007ffffff,
+    0x0000000008000000, 0x000000000c000000,
+    0x000000000e000000, 0x000000000f000000,
+    0x000000000f800000, 0x000000000fc00000,
+    0x000000000fe00000, 0x000000000ff00000,
+    0x000000000ff80000, 0x000000000ffc0000,
+    0x000000000ffe0000, 0x000000000fff0000,
+    0x000000000fff8000, 0x000000000fffc000,
+    0x000000000fffe000, 0x000000000ffff000,
+    0x000000000ffff800, 0x000000000ffffc00,
+    0x000000000ffffe00, 0x000000000fffff00,
+    0x000000000fffff80, 0x000000000fffffc0,
+    0x000000000fffffe0, 0x000000000ffffff0,
+    0x000000000ffffff8, 0x000000000ffffffc,
+    0x000000000ffffffe, 0x000000000fffffff,
+    0x0000000010000000, 0x0000000018000000,
+    0x000000001c000000, 0x000000001e000000,
+    0x000000001f000000, 0x000000001f800000,
+    0x000000001fc00000, 0x000000001fe00000,
+    0x000000001ff00000, 0x000000001ff80000,
+    0x000000001ffc0000, 0x000000001ffe0000,
+    0x000000001fff0000, 0x000000001fff8000,
+    0x000000001fffc000, 0x000000001fffe000,
+    0x000000001ffff000, 0x000000001ffff800,
+    0x000000001ffffc00, 0x000000001ffffe00,
+    0x000000001fffff00, 0x000000001fffff80,
+    0x000000001fffffc0, 0x000000001fffffe0,
+    0x000000001ffffff0, 0x000000001ffffff8,
+    0x000000001ffffffc, 0x000000001ffffffe,
+    0x000000001fffffff, 0x0000000020000000,
+    0x0000000030000000, 0x0000000038000000,
+    0x000000003c000000, 0x000000003e000000,
+    0x000000003f000000, 0x000000003f800000,
+    0x000000003fc00000, 0x000000003fe00000,
+    0x000000003ff00000, 0x000000003ff80000,
+    0x000000003ffc0000, 0x000000003ffe0000,
+    0x000000003fff0000, 0x000000003fff8000,
+    0x000000003fffc000, 0x000000003fffe000,
+    0x000000003ffff000, 0x000000003ffff800,
+    0x000000003ffffc00, 0x000000003ffffe00,
+    0x000000003fffff00, 0x000000003fffff80,
+    0x000000003fffffc0, 0x000000003fffffe0,
+    0x000000003ffffff0, 0x000000003ffffff8,
+    0x000000003ffffffc, 0x000000003ffffffe,
+    0x000000003fffffff, 0x0000000040000000,
+    0x0000000060000000, 0x0000000070000000,
+    0x0000000078000000, 0x000000007c000000,
+    0x000000007e000000, 0x000000007f000000,
+    0x000000007f800000, 0x000000007fc00000,
+    0x000000007fe00000, 0x000000007ff00000,
+    0x000000007ff80000, 0x000000007ffc0000,
+    0x000000007ffe0000, 0x000000007fff0000,
+    0x000000007fff8000, 0x000000007fffc000,
+    0x000000007fffe000, 0x000000007ffff000,
+    0x000000007ffff800, 0x000000007ffffc00,
+    0x000000007ffffe00, 0x000000007fffff00,
+    0x000000007fffff80, 0x000000007fffffc0,
+    0x000000007fffffe0, 0x000000007ffffff0,
+    0x000000007ffffff8, 0x000000007ffffffc,
+    0x000000007ffffffe, 0x000000007fffffff,
+    0x0000000080000000, 0x00000000c0000000,
+    0x00000000e0000000, 0x00000000f0000000,
+    0x00000000f8000000, 0x00000000fc000000,
+    0x00000000fe000000, 0x00000000ff000000,
+    0x00000000ff800000, 0x00000000ffc00000,
+    0x00000000ffe00000, 0x00000000fff00000,
+    0x00000000fff80000, 0x00000000fffc0000,
+    0x00000000fffe0000, 0x00000000ffff0000,
+    0x00000000ffff8000, 0x00000000ffffc000,
+    0x00000000ffffe000, 0x00000000fffff000,
+    0x00000000fffff800, 0x00000000fffffc00,
+    0x00000000fffffe00, 0x00000000ffffff00,
+    0x00000000ffffff80, 0x00000000ffffffc0,
+    0x00000000ffffffe0, 0x00000000fffffff0,
+    0x00000000fffffff8, 0x00000000fffffffc,
+    0x00000000fffffffe, 0x00000000ffffffff,
+    0x0000000100000000, 0x0000000100000001,
+    0x0000000180000000, 0x00000001c0000000,
+    0x00000001e0000000, 0x00000001f0000000,
+    0x00000001f8000000, 0x00000001fc000000,
+    0x00000001fe000000, 0x00000001ff000000,
+    0x00000001ff800000, 0x00000001ffc00000,
+    0x00000001ffe00000, 0x00000001fff00000,
+    0x00000001fff80000, 0x00000001fffc0000,
+    0x00000001fffe0000, 0x00000001ffff0000,
+    0x00000001ffff8000, 0x00000001ffffc000,
+    0x00000001ffffe000, 0x00000001fffff000,
+    0x00000001fffff800, 0x00000001fffffc00,
+    0x00000001fffffe00, 0x00000001ffffff00,
+    0x00000001ffffff80, 0x00000001ffffffc0,
+    0x00000001ffffffe0, 0x00000001fffffff0,
+    0x00000001fffffff8, 0x00000001fffffffc,
+    0x00000001fffffffe, 0x00000001ffffffff,
+    0x0000000200000000, 0x0000000200000002,
+    0x0000000300000000, 0x0000000300000003,
+    0x0000000380000000, 0x00000003c0000000,
+    0x00000003e0000000, 0x00000003f0000000,
+    0x00000003f8000000, 0x00000003fc000000,
+    0x00000003fe000000, 0x00000003ff000000,
+    0x00000003ff800000, 0x00000003ffc00000,
+    0x00000003ffe00000, 0x00000003fff00000,
+    0x00000003fff80000, 0x00000003fffc0000,
+    0x00000003fffe0000, 0x00000003ffff0000,
+    0x00000003ffff8000, 0x00000003ffffc000,
+    0x00000003ffffe000, 0x00000003fffff000,
+    0x00000003fffff800, 0x00000003fffffc00,
+    0x00000003fffffe00, 0x00000003ffffff00,
+    0x00000003ffffff80, 0x00000003ffffffc0,
+    0x00000003ffffffe0, 0x00000003fffffff0,
+    0x00000003fffffff8, 0x00000003fffffffc,
+    0x00000003fffffffe, 0x00000003ffffffff,
+    0x0000000400000000, 0x0000000400000004,
+    0x0000000600000000, 0x0000000600000006,
+    0x0000000700000000, 0x0000000700000007,
+    0x0000000780000000, 0x00000007c0000000,
+    0x00000007e0000000, 0x00000007f0000000,
+    0x00000007f8000000, 0x00000007fc000000,
+    0x00000007fe000000, 0x00000007ff000000,
+    0x00000007ff800000, 0x00000007ffc00000,
+    0x00000007ffe00000, 0x00000007fff00000,
+    0x00000007fff80000, 0x00000007fffc0000,
+    0x00000007fffe0000, 0x00000007ffff0000,
+    0x00000007ffff8000, 0x00000007ffffc000,
+    0x00000007ffffe000, 0x00000007fffff000,
+    0x00000007fffff800, 0x00000007fffffc00,
+    0x00000007fffffe00, 0x00000007ffffff00,
+    0x00000007ffffff80, 0x00000007ffffffc0,
+    0x00000007ffffffe0, 0x00000007fffffff0,
+    0x00000007fffffff8, 0x00000007fffffffc,
+    0x00000007fffffffe, 0x00000007ffffffff,
+    0x0000000800000000, 0x0000000800000008,
+    0x0000000c00000000, 0x0000000c0000000c,
+    0x0000000e00000000, 0x0000000e0000000e,
+    0x0000000f00000000, 0x0000000f0000000f,
+    0x0000000f80000000, 0x0000000fc0000000,
+    0x0000000fe0000000, 0x0000000ff0000000,
+    0x0000000ff8000000, 0x0000000ffc000000,
+    0x0000000ffe000000, 0x0000000fff000000,
+    0x0000000fff800000, 0x0000000fffc00000,
+    0x0000000fffe00000, 0x0000000ffff00000,
+    0x0000000ffff80000, 0x0000000ffffc0000,
+    0x0000000ffffe0000, 0x0000000fffff0000,
+    0x0000000fffff8000, 0x0000000fffffc000,
+    0x0000000fffffe000, 0x0000000ffffff000,
+    0x0000000ffffff800, 0x0000000ffffffc00,
+    0x0000000ffffffe00, 0x0000000fffffff00,
+    0x0000000fffffff80, 0x0000000fffffffc0,
+    0x0000000fffffffe0, 0x0000000ffffffff0,
+    0x0000000ffffffff8, 0x0000000ffffffffc,
+    0x0000000ffffffffe, 0x0000000fffffffff,
+    0x0000001000000000, 0x0000001000000010,
+    0x0000001800000000, 0x0000001800000018,
+    0x0000001c00000000, 0x0000001c0000001c,
+    0x0000001e00000000, 0x0000001e0000001e,
+    0x0000001f00000000, 0x0000001f0000001f,
+    0x0000001f80000000, 0x0000001fc0000000,
+    0x0000001fe0000000, 0x0000001ff0000000,
+    0x0000001ff8000000, 0x0000001ffc000000,
+    0x0000001ffe000000, 0x0000001fff000000,
+    0x0000001fff800000, 0x0000001fffc00000,
+    0x0000001fffe00000, 0x0000001ffff00000,
+    0x0000001ffff80000, 0x0000001ffffc0000,
+    0x0000001ffffe0000, 0x0000001fffff0000,
+    0x0000001fffff8000, 0x0000001fffffc000,
+    0x0000001fffffe000, 0x0000001ffffff000,
+    0x0000001ffffff800, 0x0000001ffffffc00,
+    0x0000001ffffffe00, 0x0000001fffffff00,
+    0x0000001fffffff80, 0x0000001fffffffc0,
+    0x0000001fffffffe0, 0x0000001ffffffff0,
+    0x0000001ffffffff8, 0x0000001ffffffffc,
+    0x0000001ffffffffe, 0x0000001fffffffff,
+    0x0000002000000000, 0x0000002000000020,
+    0x0000003000000000, 0x0000003000000030,
+    0x0000003800000000, 0x0000003800000038,
+    0x0000003c00000000, 0x0000003c0000003c,
+    0x0000003e00000000, 0x0000003e0000003e,
+    0x0000003f00000000, 0x0000003f0000003f,
+    0x0000003f80000000, 0x0000003fc0000000,
+    0x0000003fe0000000, 0x0000003ff0000000,
+    0x0000003ff8000000, 0x0000003ffc000000,
+    0x0000003ffe000000, 0x0000003fff000000,
+    0x0000003fff800000, 0x0000003fffc00000,
+    0x0000003fffe00000, 0x0000003ffff00000,
+    0x0000003ffff80000, 0x0000003ffffc0000,
+    0x0000003ffffe0000, 0x0000003fffff0000,
+    0x0000003fffff8000, 0x0000003fffffc000,
+    0x0000003fffffe000, 0x0000003ffffff000,
+    0x0000003ffffff800, 0x0000003ffffffc00,
+    0x0000003ffffffe00, 0x0000003fffffff00,
+    0x0000003fffffff80, 0x0000003fffffffc0,
+    0x0000003fffffffe0, 0x0000003ffffffff0,
+    0x0000003ffffffff8, 0x0000003ffffffffc,
+    0x0000003ffffffffe, 0x0000003fffffffff,
+    0x0000004000000000, 0x0000004000000040,
+    0x0000006000000000, 0x0000006000000060,
+    0x0000007000000000, 0x0000007000000070,
+    0x0000007800000000, 0x0000007800000078,
+    0x0000007c00000000, 0x0000007c0000007c,
+    0x0000007e00000000, 0x0000007e0000007e,
+    0x0000007f00000000, 0x0000007f0000007f,
+    0x0000007f80000000, 0x0000007fc0000000,
+    0x0000007fe0000000, 0x0000007ff0000000,
+    0x0000007ff8000000, 0x0000007ffc000000,
+    0x0000007ffe000000, 0x0000007fff000000,
+    0x0000007fff800000, 0x0000007fffc00000,
+    0x0000007fffe00000, 0x0000007ffff00000,
+    0x0000007ffff80000, 0x0000007ffffc0000,
+    0x0000007ffffe0000, 0x0000007fffff0000,
+    0x0000007fffff8000, 0x0000007fffffc000,
+    0x0000007fffffe000, 0x0000007ffffff000,
+    0x0000007ffffff800, 0x0000007ffffffc00,
+    0x0000007ffffffe00, 0x0000007fffffff00,
+    0x0000007fffffff80, 0x0000007fffffffc0,
+    0x0000007fffffffe0, 0x0000007ffffffff0,
+    0x0000007ffffffff8, 0x0000007ffffffffc,
+    0x0000007ffffffffe, 0x0000007fffffffff,
+    0x0000008000000000, 0x0000008000000080,
+    0x000000c000000000, 0x000000c0000000c0,
+    0x000000e000000000, 0x000000e0000000e0,
+    0x000000f000000000, 0x000000f0000000f0,
+    0x000000f800000000, 0x000000f8000000f8,
+    0x000000fc00000000, 0x000000fc000000fc,
+    0x000000fe00000000, 0x000000fe000000fe,
+    0x000000ff00000000, 0x000000ff000000ff,
+    0x000000ff80000000, 0x000000ffc0000000,
+    0x000000ffe0000000, 0x000000fff0000000,
+    0x000000fff8000000, 0x000000fffc000000,
+    0x000000fffe000000, 0x000000ffff000000,
+    0x000000ffff800000, 0x000000ffffc00000,
+    0x000000ffffe00000, 0x000000fffff00000,
+    0x000000fffff80000, 0x000000fffffc0000,
+    0x000000fffffe0000, 0x000000ffffff0000,
+    0x000000ffffff8000, 0x000000ffffffc000,
+    0x000000ffffffe000, 0x000000fffffff000,
+    0x000000fffffff800, 0x000000fffffffc00,
+    0x000000fffffffe00, 0x000000ffffffff00,
+    0x000000ffffffff80, 0x000000ffffffffc0,
+    0x000000ffffffffe0, 0x000000fffffffff0,
+    0x000000fffffffff8, 0x000000fffffffffc,
+    0x000000fffffffffe, 0x000000ffffffffff,
+    0x0000010000000000, 0x0000010000000100,
+    0x0000018000000000, 0x0000018000000180,
+    0x000001c000000000, 0x000001c0000001c0,
+    0x000001e000000000, 0x000001e0000001e0,
+    0x000001f000000000, 0x000001f0000001f0,
+    0x000001f800000000, 0x000001f8000001f8,
+    0x000001fc00000000, 0x000001fc000001fc,
+    0x000001fe00000000, 0x000001fe000001fe,
+    0x000001ff00000000, 0x000001ff000001ff,
+    0x000001ff80000000, 0x000001ffc0000000,
+    0x000001ffe0000000, 0x000001fff0000000,
+    0x000001fff8000000, 0x000001fffc000000,
+    0x000001fffe000000, 0x000001ffff000000,
+    0x000001ffff800000, 0x000001ffffc00000,
+    0x000001ffffe00000, 0x000001fffff00000,
+    0x000001fffff80000, 0x000001fffffc0000,
+    0x000001fffffe0000, 0x000001ffffff0000,
+    0x000001ffffff8000, 0x000001ffffffc000,
+    0x000001ffffffe000, 0x000001fffffff000,
+    0x000001fffffff800, 0x000001fffffffc00,
+    0x000001fffffffe00, 0x000001ffffffff00,
+    0x000001ffffffff80, 0x000001ffffffffc0,
+    0x000001ffffffffe0, 0x000001fffffffff0,
+    0x000001fffffffff8, 0x000001fffffffffc,
+    0x000001fffffffffe, 0x000001ffffffffff,
+    0x0000020000000000, 0x0000020000000200,
+    0x0000030000000000, 0x0000030000000300,
+    0x0000038000000000, 0x0000038000000380,
+    0x000003c000000000, 0x000003c0000003c0,
+    0x000003e000000000, 0x000003e0000003e0,
+    0x000003f000000000, 0x000003f0000003f0,
+    0x000003f800000000, 0x000003f8000003f8,
+    0x000003fc00000000, 0x000003fc000003fc,
+    0x000003fe00000000, 0x000003fe000003fe,
+    0x000003ff00000000, 0x000003ff000003ff,
+    0x000003ff80000000, 0x000003ffc0000000,
+    0x000003ffe0000000, 0x000003fff0000000,
+    0x000003fff8000000, 0x000003fffc000000,
+    0x000003fffe000000, 0x000003ffff000000,
+    0x000003ffff800000, 0x000003ffffc00000,
+    0x000003ffffe00000, 0x000003fffff00000,
+    0x000003fffff80000, 0x000003fffffc0000,
+    0x000003fffffe0000, 0x000003ffffff0000,
+    0x000003ffffff8000, 0x000003ffffffc000,
+    0x000003ffffffe000, 0x000003fffffff000,
+    0x000003fffffff800, 0x000003fffffffc00,
+    0x000003fffffffe00, 0x000003ffffffff00,
+    0x000003ffffffff80, 0x000003ffffffffc0,
+    0x000003ffffffffe0, 0x000003fffffffff0,
+    0x000003fffffffff8, 0x000003fffffffffc,
+    0x000003fffffffffe, 0x000003ffffffffff,
+    0x0000040000000000, 0x0000040000000400,
+    0x0000060000000000, 0x0000060000000600,
+    0x0000070000000000, 0x0000070000000700,
+    0x0000078000000000, 0x0000078000000780,
+    0x000007c000000000, 0x000007c0000007c0,
+    0x000007e000000000, 0x000007e0000007e0,
+    0x000007f000000000, 0x000007f0000007f0,
+    0x000007f800000000, 0x000007f8000007f8,
+    0x000007fc00000000, 0x000007fc000007fc,
+    0x000007fe00000000, 0x000007fe000007fe,
+    0x000007ff00000000, 0x000007ff000007ff,
+    0x000007ff80000000, 0x000007ffc0000000,
+    0x000007ffe0000000, 0x000007fff0000000,
+    0x000007fff8000000, 0x000007fffc000000,
+    0x000007fffe000000, 0x000007ffff000000,
+    0x000007ffff800000, 0x000007ffffc00000,
+    0x000007ffffe00000, 0x000007fffff00000,
+    0x000007fffff80000, 0x000007fffffc0000,
+    0x000007fffffe0000, 0x000007ffffff0000,
+    0x000007ffffff8000, 0x000007ffffffc000,
+    0x000007ffffffe000, 0x000007fffffff000,
+    0x000007fffffff800, 0x000007fffffffc00,
+    0x000007fffffffe00, 0x000007ffffffff00,
+    0x000007ffffffff80, 0x000007ffffffffc0,
+    0x000007ffffffffe0, 0x000007fffffffff0,
+    0x000007fffffffff8, 0x000007fffffffffc,
+    0x000007fffffffffe, 0x000007ffffffffff,
+    0x0000080000000000, 0x0000080000000800,
+    0x00000c0000000000, 0x00000c0000000c00,
+    0x00000e0000000000, 0x00000e0000000e00,
+    0x00000f0000000000, 0x00000f0000000f00,
+    0x00000f8000000000, 0x00000f8000000f80,
+    0x00000fc000000000, 0x00000fc000000fc0,
+    0x00000fe000000000, 0x00000fe000000fe0,
+    0x00000ff000000000, 0x00000ff000000ff0,
+    0x00000ff800000000, 0x00000ff800000ff8,
+    0x00000ffc00000000, 0x00000ffc00000ffc,
+    0x00000ffe00000000, 0x00000ffe00000ffe,
+    0x00000fff00000000, 0x00000fff00000fff,
+    0x00000fff80000000, 0x00000fffc0000000,
+    0x00000fffe0000000, 0x00000ffff0000000,
+    0x00000ffff8000000, 0x00000ffffc000000,
+    0x00000ffffe000000, 0x00000fffff000000,
+    0x00000fffff800000, 0x00000fffffc00000,
+    0x00000fffffe00000, 0x00000ffffff00000,
+    0x00000ffffff80000, 0x00000ffffffc0000,
+    0x00000ffffffe0000, 0x00000fffffff0000,
+    0x00000fffffff8000, 0x00000fffffffc000,
+    0x00000fffffffe000, 0x00000ffffffff000,
+    0x00000ffffffff800, 0x00000ffffffffc00,
+    0x00000ffffffffe00, 0x00000fffffffff00,
+    0x00000fffffffff80, 0x00000fffffffffc0,
+    0x00000fffffffffe0, 0x00000ffffffffff0,
+    0x00000ffffffffff8, 0x00000ffffffffffc,
+    0x00000ffffffffffe, 0x00000fffffffffff,
+    0x0000100000000000, 0x0000100000001000,
+    0x0000180000000000, 0x0000180000001800,
+    0x00001c0000000000, 0x00001c0000001c00,
+    0x00001e0000000000, 0x00001e0000001e00,
+    0x00001f0000000000, 0x00001f0000001f00,
+    0x00001f8000000000, 0x00001f8000001f80,
+    0x00001fc000000000, 0x00001fc000001fc0,
+    0x00001fe000000000, 0x00001fe000001fe0,
+    0x00001ff000000000, 0x00001ff000001ff0,
+    0x00001ff800000000, 0x00001ff800001ff8,
+    0x00001ffc00000000, 0x00001ffc00001ffc,
+    0x00001ffe00000000, 0x00001ffe00001ffe,
+    0x00001fff00000000, 0x00001fff00001fff,
+    0x00001fff80000000, 0x00001fffc0000000,
+    0x00001fffe0000000, 0x00001ffff0000000,
+    0x00001ffff8000000, 0x00001ffffc000000,
+    0x00001ffffe000000, 0x00001fffff000000,
+    0x00001fffff800000, 0x00001fffffc00000,
+    0x00001fffffe00000, 0x00001ffffff00000,
+    0x00001ffffff80000, 0x00001ffffffc0000,
+    0x00001ffffffe0000, 0x00001fffffff0000,
+    0x00001fffffff8000, 0x00001fffffffc000,
+    0x00001fffffffe000, 0x00001ffffffff000,
+    0x00001ffffffff800, 0x00001ffffffffc00,
+    0x00001ffffffffe00, 0x00001fffffffff00,
+    0x00001fffffffff80, 0x00001fffffffffc0,
+    0x00001fffffffffe0, 0x00001ffffffffff0,
+    0x00001ffffffffff8, 0x00001ffffffffffc,
+    0x00001ffffffffffe, 0x00001fffffffffff,
+    0x0000200000000000, 0x0000200000002000,
+    0x0000300000000000, 0x0000300000003000,
+    0x0000380000000000, 0x0000380000003800,
+    0x00003c0000000000, 0x00003c0000003c00,
+    0x00003e0000000000, 0x00003e0000003e00,
+    0x00003f0000000000, 0x00003f0000003f00,
+    0x00003f8000000000, 0x00003f8000003f80,
+    0x00003fc000000000, 0x00003fc000003fc0,
+    0x00003fe000000000, 0x00003fe000003fe0,
+    0x00003ff000000000, 0x00003ff000003ff0,
+    0x00003ff800000000, 0x00003ff800003ff8,
+    0x00003ffc00000000, 0x00003ffc00003ffc,
+    0x00003ffe00000000, 0x00003ffe00003ffe,
+    0x00003fff00000000, 0x00003fff00003fff,
+    0x00003fff80000000, 0x00003fffc0000000,
+    0x00003fffe0000000, 0x00003ffff0000000,
+    0x00003ffff8000000, 0x00003ffffc000000,
+    0x00003ffffe000000, 0x00003fffff000000,
+    0x00003fffff800000, 0x00003fffffc00000,
+    0x00003fffffe00000, 0x00003ffffff00000,
+    0x00003ffffff80000, 0x00003ffffffc0000,
+    0x00003ffffffe0000, 0x00003fffffff0000,
+    0x00003fffffff8000, 0x00003fffffffc000,
+    0x00003fffffffe000, 0x00003ffffffff000,
+    0x00003ffffffff800, 0x00003ffffffffc00,
+    0x00003ffffffffe00, 0x00003fffffffff00,
+    0x00003fffffffff80, 0x00003fffffffffc0,
+    0x00003fffffffffe0, 0x00003ffffffffff0,
+    0x00003ffffffffff8, 0x00003ffffffffffc,
+    0x00003ffffffffffe, 0x00003fffffffffff,
+    0x0000400000000000, 0x0000400000004000,
+    0x0000600000000000, 0x0000600000006000,
+    0x0000700000000000, 0x0000700000007000,
+    0x0000780000000000, 0x0000780000007800,
+    0x00007c0000000000, 0x00007c0000007c00,
+    0x00007e0000000000, 0x00007e0000007e00,
+    0x00007f0000000000, 0x00007f0000007f00,
+    0x00007f8000000000, 0x00007f8000007f80,
+    0x00007fc000000000, 0x00007fc000007fc0,
+    0x00007fe000000000, 0x00007fe000007fe0,
+    0x00007ff000000000, 0x00007ff000007ff0,
+    0x00007ff800000000, 0x00007ff800007ff8,
+    0x00007ffc00000000, 0x00007ffc00007ffc,
+    0x00007ffe00000000, 0x00007ffe00007ffe,
+    0x00007fff00000000, 0x00007fff00007fff,
+    0x00007fff80000000, 0x00007fffc0000000,
+    0x00007fffe0000000, 0x00007ffff0000000,
+    0x00007ffff8000000, 0x00007ffffc000000,
+    0x00007ffffe000000, 0x00007fffff000000,
+    0x00007fffff800000, 0x00007fffffc00000,
+    0x00007fffffe00000, 0x00007ffffff00000,
+    0x00007ffffff80000, 0x00007ffffffc0000,
+    0x00007ffffffe0000, 0x00007fffffff0000,
+    0x00007fffffff8000, 0x00007fffffffc000,
+    0x00007fffffffe000, 0x00007ffffffff000,
+    0x00007ffffffff800, 0x00007ffffffffc00,
+    0x00007ffffffffe00, 0x00007fffffffff00,
+    0x00007fffffffff80, 0x00007fffffffffc0,
+    0x00007fffffffffe0, 0x00007ffffffffff0,
+    0x00007ffffffffff8, 0x00007ffffffffffc,
+    0x00007ffffffffffe, 0x00007fffffffffff,
+    0x0000800000000000, 0x0000800000008000,
+    0x0000c00000000000, 0x0000c0000000c000,
+    0x0000e00000000000, 0x0000e0000000e000,
+    0x0000f00000000000, 0x0000f0000000f000,
+    0x0000f80000000000, 0x0000f8000000f800,
+    0x0000fc0000000000, 0x0000fc000000fc00,
+    0x0000fe0000000000, 0x0000fe000000fe00,
+    0x0000ff0000000000, 0x0000ff000000ff00,
+    0x0000ff8000000000, 0x0000ff800000ff80,
+    0x0000ffc000000000, 0x0000ffc00000ffc0,
+    0x0000ffe000000000, 0x0000ffe00000ffe0,
+    0x0000fff000000000, 0x0000fff00000fff0,
+    0x0000fff800000000, 0x0000fff80000fff8,
+    0x0000fffc00000000, 0x0000fffc0000fffc,
+    0x0000fffe00000000, 0x0000fffe0000fffe,
+    0x0000ffff00000000, 0x0000ffff0000ffff,
+    0x0000ffff80000000, 0x0000ffffc0000000,
+    0x0000ffffe0000000, 0x0000fffff0000000,
+    0x0000fffff8000000, 0x0000fffffc000000,
+    0x0000fffffe000000, 0x0000ffffff000000,
+    0x0000ffffff800000, 0x0000ffffffc00000,
+    0x0000ffffffe00000, 0x0000fffffff00000,
+    0x0000fffffff80000, 0x0000fffffffc0000,
+    0x0000fffffffe0000, 0x0000ffffffff0000,
+    0x0000ffffffff8000, 0x0000ffffffffc000,
+    0x0000ffffffffe000, 0x0000fffffffff000,
+    0x0000fffffffff800, 0x0000fffffffffc00,
+    0x0000fffffffffe00, 0x0000ffffffffff00,
+    0x0000ffffffffff80, 0x0000ffffffffffc0,
+    0x0000ffffffffffe0, 0x0000fffffffffff0,
+    0x0000fffffffffff8, 0x0000fffffffffffc,
+    0x0000fffffffffffe, 0x0000ffffffffffff,
+    0x0001000000000000, 0x0001000000010000,
+    0x0001000100010001, 0x0001800000000000,
+    0x0001800000018000, 0x0001c00000000000,
+    0x0001c0000001c000, 0x0001e00000000000,
+    0x0001e0000001e000, 0x0001f00000000000,
+    0x0001f0000001f000, 0x0001f80000000000,
+    0x0001f8000001f800, 0x0001fc0000000000,
+    0x0001fc000001fc00, 0x0001fe0000000000,
+    0x0001fe000001fe00, 0x0001ff0000000000,
+    0x0001ff000001ff00, 0x0001ff8000000000,
+    0x0001ff800001ff80, 0x0001ffc000000000,
+    0x0001ffc00001ffc0, 0x0001ffe000000000,
+    0x0001ffe00001ffe0, 0x0001fff000000000,
+    0x0001fff00001fff0, 0x0001fff800000000,
+    0x0001fff80001fff8, 0x0001fffc00000000,
+    0x0001fffc0001fffc, 0x0001fffe00000000,
+    0x0001fffe0001fffe, 0x0001ffff00000000,
+    0x0001ffff0001ffff, 0x0001ffff80000000,
+    0x0001ffffc0000000, 0x0001ffffe0000000,
+    0x0001fffff0000000, 0x0001fffff8000000,
+    0x0001fffffc000000, 0x0001fffffe000000,
+    0x0001ffffff000000, 0x0001ffffff800000,
+    0x0001ffffffc00000, 0x0001ffffffe00000,
+    0x0001fffffff00000, 0x0001fffffff80000,
+    0x0001fffffffc0000, 0x0001fffffffe0000,
+    0x0001ffffffff0000, 0x0001ffffffff8000,
+    0x0001ffffffffc000, 0x0001ffffffffe000,
+    0x0001fffffffff000, 0x0001fffffffff800,
+    0x0001fffffffffc00, 0x0001fffffffffe00,
+    0x0001ffffffffff00, 0x0001ffffffffff80,
+    0x0001ffffffffffc0, 0x0001ffffffffffe0,
+    0x0001fffffffffff0, 0x0001fffffffffff8,
+    0x0001fffffffffffc, 0x0001fffffffffffe,
+    0x0001ffffffffffff, 0x0002000000000000,
+    0x0002000000020000, 0x0002000200020002,
+    0x0003000000000000, 0x0003000000030000,
+    0x0003000300030003, 0x0003800000000000,
+    0x0003800000038000, 0x0003c00000000000,
+    0x0003c0000003c000, 0x0003e00000000000,
+    0x0003e0000003e000, 0x0003f00000000000,
+    0x0003f0000003f000, 0x0003f80000000000,
+    0x0003f8000003f800, 0x0003fc0000000000,
+    0x0003fc000003fc00, 0x0003fe0000000000,
+    0x0003fe000003fe00, 0x0003ff0000000000,
+    0x0003ff000003ff00, 0x0003ff8000000000,
+    0x0003ff800003ff80, 0x0003ffc000000000,
+    0x0003ffc00003ffc0, 0x0003ffe000000000,
+    0x0003ffe00003ffe0, 0x0003fff000000000,
+    0x0003fff00003fff0, 0x0003fff800000000,
+    0x0003fff80003fff8, 0x0003fffc00000000,
+    0x0003fffc0003fffc, 0x0003fffe00000000,
+    0x0003fffe0003fffe, 0x0003ffff00000000,
+    0x0003ffff0003ffff, 0x0003ffff80000000,
+    0x0003ffffc0000000, 0x0003ffffe0000000,
+    0x0003fffff0000000, 0x0003fffff8000000,
+    0x0003fffffc000000, 0x0003fffffe000000,
+    0x0003ffffff000000, 0x0003ffffff800000,
+    0x0003ffffffc00000, 0x0003ffffffe00000,
+    0x0003fffffff00000, 0x0003fffffff80000,
+    0x0003fffffffc0000, 0x0003fffffffe0000,
+    0x0003ffffffff0000, 0x0003ffffffff8000,
+    0x0003ffffffffc000, 0x0003ffffffffe000,
+    0x0003fffffffff000, 0x0003fffffffff800,
+    0x0003fffffffffc00, 0x0003fffffffffe00,
+    0x0003ffffffffff00, 0x0003ffffffffff80,
+    0x0003ffffffffffc0, 0x0003ffffffffffe0,
+    0x0003fffffffffff0, 0x0003fffffffffff8,
+    0x0003fffffffffffc, 0x0003fffffffffffe,
+    0x0003ffffffffffff, 0x0004000000000000,
+    0x0004000000040000, 0x0004000400040004,
+    0x0006000000000000, 0x0006000000060000,
+    0x0006000600060006, 0x0007000000000000,
+    0x0007000000070000, 0x0007000700070007,
+    0x0007800000000000, 0x0007800000078000,
+    0x0007c00000000000, 0x0007c0000007c000,
+    0x0007e00000000000, 0x0007e0000007e000,
+    0x0007f00000000000, 0x0007f0000007f000,
+    0x0007f80000000000, 0x0007f8000007f800,
+    0x0007fc0000000000, 0x0007fc000007fc00,
+    0x0007fe0000000000, 0x0007fe000007fe00,
+    0x0007ff0000000000, 0x0007ff000007ff00,
+    0x0007ff8000000000, 0x0007ff800007ff80,
+    0x0007ffc000000000, 0x0007ffc00007ffc0,
+    0x0007ffe000000000, 0x0007ffe00007ffe0,
+    0x0007fff000000000, 0x0007fff00007fff0,
+    0x0007fff800000000, 0x0007fff80007fff8,
+    0x0007fffc00000000, 0x0007fffc0007fffc,
+    0x0007fffe00000000, 0x0007fffe0007fffe,
+    0x0007ffff00000000, 0x0007ffff0007ffff,
+    0x0007ffff80000000, 0x0007ffffc0000000,
+    0x0007ffffe0000000, 0x0007fffff0000000,
+    0x0007fffff8000000, 0x0007fffffc000000,
+    0x0007fffffe000000, 0x0007ffffff000000,
+    0x0007ffffff800000, 0x0007ffffffc00000,
+    0x0007ffffffe00000, 0x0007fffffff00000,
+    0x0007fffffff80000, 0x0007fffffffc0000,
+    0x0007fffffffe0000, 0x0007ffffffff0000,
+    0x0007ffffffff8000, 0x0007ffffffffc000,
+    0x0007ffffffffe000, 0x0007fffffffff000,
+    0x0007fffffffff800, 0x0007fffffffffc00,
+    0x0007fffffffffe00, 0x0007ffffffffff00,
+    0x0007ffffffffff80, 0x0007ffffffffffc0,
+    0x0007ffffffffffe0, 0x0007fffffffffff0,
+    0x0007fffffffffff8, 0x0007fffffffffffc,
+    0x0007fffffffffffe, 0x0007ffffffffffff,
+    0x0008000000000000, 0x0008000000080000,
+    0x0008000800080008, 0x000c000000000000,
+    0x000c0000000c0000, 0x000c000c000c000c,
+    0x000e000000000000, 0x000e0000000e0000,
+    0x000e000e000e000e, 0x000f000000000000,
+    0x000f0000000f0000, 0x000f000f000f000f,
+    0x000f800000000000, 0x000f8000000f8000,
+    0x000fc00000000000, 0x000fc000000fc000,
+    0x000fe00000000000, 0x000fe000000fe000,
+    0x000ff00000000000, 0x000ff000000ff000,
+    0x000ff80000000000, 0x000ff800000ff800,
+    0x000ffc0000000000, 0x000ffc00000ffc00,
+    0x000ffe0000000000, 0x000ffe00000ffe00,
+    0x000fff0000000000, 0x000fff00000fff00,
+    0x000fff8000000000, 0x000fff80000fff80,
+    0x000fffc000000000, 0x000fffc0000fffc0,
+    0x000fffe000000000, 0x000fffe0000fffe0,
+    0x000ffff000000000, 0x000ffff0000ffff0,
+    0x000ffff800000000, 0x000ffff8000ffff8,
+    0x000ffffc00000000, 0x000ffffc000ffffc,
+    0x000ffffe00000000, 0x000ffffe000ffffe,
+    0x000fffff00000000, 0x000fffff000fffff,
+    0x000fffff80000000, 0x000fffffc0000000,
+    0x000fffffe0000000, 0x000ffffff0000000,
+    0x000ffffff8000000, 0x000ffffffc000000,
+    0x000ffffffe000000, 0x000fffffff000000,
+    0x000fffffff800000, 0x000fffffffc00000,
+    0x000fffffffe00000, 0x000ffffffff00000,
+    0x000ffffffff80000, 0x000ffffffffc0000,
+    0x000ffffffffe0000, 0x000fffffffff0000,
+    0x000fffffffff8000, 0x000fffffffffc000,
+    0x000fffffffffe000, 0x000ffffffffff000,
+    0x000ffffffffff800, 0x000ffffffffffc00,
+    0x000ffffffffffe00, 0x000fffffffffff00,
+    0x000fffffffffff80, 0x000fffffffffffc0,
+    0x000fffffffffffe0, 0x000ffffffffffff0,
+    0x000ffffffffffff8, 0x000ffffffffffffc,
+    0x000ffffffffffffe, 0x000fffffffffffff,
+    0x0010000000000000, 0x0010000000100000,
+    0x0010001000100010, 0x0018000000000000,
+    0x0018000000180000, 0x0018001800180018,
+    0x001c000000000000, 0x001c0000001c0000,
+    0x001c001c001c001c, 0x001e000000000000,
+    0x001e0000001e0000, 0x001e001e001e001e,
+    0x001f000000000000, 0x001f0000001f0000,
+    0x001f001f001f001f, 0x001f800000000000,
+    0x001f8000001f8000, 0x001fc00000000000,
+    0x001fc000001fc000, 0x001fe00000000000,
+    0x001fe000001fe000, 0x001ff00000000000,
+    0x001ff000001ff000, 0x001ff80000000000,
+    0x001ff800001ff800, 0x001ffc0000000000,
+    0x001ffc00001ffc00, 0x001ffe0000000000,
+    0x001ffe00001ffe00, 0x001fff0000000000,
+    0x001fff00001fff00, 0x001fff8000000000,
+    0x001fff80001fff80, 0x001fffc000000000,
+    0x001fffc0001fffc0, 0x001fffe000000000,
+    0x001fffe0001fffe0, 0x001ffff000000000,
+    0x001ffff0001ffff0, 0x001ffff800000000,
+    0x001ffff8001ffff8, 0x001ffffc00000000,
+    0x001ffffc001ffffc, 0x001ffffe00000000,
+    0x001ffffe001ffffe, 0x001fffff00000000,
+    0x001fffff001fffff, 0x001fffff80000000,
+    0x001fffffc0000000, 0x001fffffe0000000,
+    0x001ffffff0000000, 0x001ffffff8000000,
+    0x001ffffffc000000, 0x001ffffffe000000,
+    0x001fffffff000000, 0x001fffffff800000,
+    0x001fffffffc00000, 0x001fffffffe00000,
+    0x001ffffffff00000, 0x001ffffffff80000,
+    0x001ffffffffc0000, 0x001ffffffffe0000,
+    0x001fffffffff0000, 0x001fffffffff8000,
+    0x001fffffffffc000, 0x001fffffffffe000,
+    0x001ffffffffff000, 0x001ffffffffff800,
+    0x001ffffffffffc00, 0x001ffffffffffe00,
+    0x001fffffffffff00, 0x001fffffffffff80,
+    0x001fffffffffffc0, 0x001fffffffffffe0,
+    0x001ffffffffffff0, 0x001ffffffffffff8,
+    0x001ffffffffffffc, 0x001ffffffffffffe,
+    0x001fffffffffffff, 0x0020000000000000,
+    0x0020000000200000, 0x0020002000200020,
+    0x0030000000000000, 0x0030000000300000,
+    0x0030003000300030, 0x0038000000000000,
+    0x0038000000380000, 0x0038003800380038,
+    0x003c000000000000, 0x003c0000003c0000,
+    0x003c003c003c003c, 0x003e000000000000,
+    0x003e0000003e0000, 0x003e003e003e003e,
+    0x003f000000000000, 0x003f0000003f0000,
+    0x003f003f003f003f, 0x003f800000000000,
+    0x003f8000003f8000, 0x003fc00000000000,
+    0x003fc000003fc000, 0x003fe00000000000,
+    0x003fe000003fe000, 0x003ff00000000000,
+    0x003ff000003ff000, 0x003ff80000000000,
+    0x003ff800003ff800, 0x003ffc0000000000,
+    0x003ffc00003ffc00, 0x003ffe0000000000,
+    0x003ffe00003ffe00, 0x003fff0000000000,
+    0x003fff00003fff00, 0x003fff8000000000,
+    0x003fff80003fff80, 0x003fffc000000000,
+    0x003fffc0003fffc0, 0x003fffe000000000,
+    0x003fffe0003fffe0, 0x003ffff000000000,
+    0x003ffff0003ffff0, 0x003ffff800000000,
+    0x003ffff8003ffff8, 0x003ffffc00000000,
+    0x003ffffc003ffffc, 0x003ffffe00000000,
+    0x003ffffe003ffffe, 0x003fffff00000000,
+    0x003fffff003fffff, 0x003fffff80000000,
+    0x003fffffc0000000, 0x003fffffe0000000,
+    0x003ffffff0000000, 0x003ffffff8000000,
+    0x003ffffffc000000, 0x003ffffffe000000,
+    0x003fffffff000000, 0x003fffffff800000,
+    0x003fffffffc00000, 0x003fffffffe00000,
+    0x003ffffffff00000, 0x003ffffffff80000,
+    0x003ffffffffc0000, 0x003ffffffffe0000,
+    0x003fffffffff0000, 0x003fffffffff8000,
+    0x003fffffffffc000, 0x003fffffffffe000,
+    0x003ffffffffff000, 0x003ffffffffff800,
+    0x003ffffffffffc00, 0x003ffffffffffe00,
+    0x003fffffffffff00, 0x003fffffffffff80,
+    0x003fffffffffffc0, 0x003fffffffffffe0,
+    0x003ffffffffffff0, 0x003ffffffffffff8,
+    0x003ffffffffffffc, 0x003ffffffffffffe,
+    0x003fffffffffffff, 0x0040000000000000,
+    0x0040000000400000, 0x0040004000400040,
+    0x0060000000000000, 0x0060000000600000,
+    0x0060006000600060, 0x0070000000000000,
+    0x0070000000700000, 0x0070007000700070,
+    0x0078000000000000, 0x0078000000780000,
+    0x0078007800780078, 0x007c000000000000,
+    0x007c0000007c0000, 0x007c007c007c007c,
+    0x007e000000000000, 0x007e0000007e0000,
+    0x007e007e007e007e, 0x007f000000000000,
+    0x007f0000007f0000, 0x007f007f007f007f,
+    0x007f800000000000, 0x007f8000007f8000,
+    0x007fc00000000000, 0x007fc000007fc000,
+    0x007fe00000000000, 0x007fe000007fe000,
+    0x007ff00000000000, 0x007ff000007ff000,
+    0x007ff80000000000, 0x007ff800007ff800,
+    0x007ffc0000000000, 0x007ffc00007ffc00,
+    0x007ffe0000000000, 0x007ffe00007ffe00,
+    0x007fff0000000000, 0x007fff00007fff00,
+    0x007fff8000000000, 0x007fff80007fff80,
+    0x007fffc000000000, 0x007fffc0007fffc0,
+    0x007fffe000000000, 0x007fffe0007fffe0,
+    0x007ffff000000000, 0x007ffff0007ffff0,
+    0x007ffff800000000, 0x007ffff8007ffff8,
+    0x007ffffc00000000, 0x007ffffc007ffffc,
+    0x007ffffe00000000, 0x007ffffe007ffffe,
+    0x007fffff00000000, 0x007fffff007fffff,
+    0x007fffff80000000, 0x007fffffc0000000,
+    0x007fffffe0000000, 0x007ffffff0000000,
+    0x007ffffff8000000, 0x007ffffffc000000,
+    0x007ffffffe000000, 0x007fffffff000000,
+    0x007fffffff800000, 0x007fffffffc00000,
+    0x007fffffffe00000, 0x007ffffffff00000,
+    0x007ffffffff80000, 0x007ffffffffc0000,
+    0x007ffffffffe0000, 0x007fffffffff0000,
+    0x007fffffffff8000, 0x007fffffffffc000,
+    0x007fffffffffe000, 0x007ffffffffff000,
+    0x007ffffffffff800, 0x007ffffffffffc00,
+    0x007ffffffffffe00, 0x007fffffffffff00,
+    0x007fffffffffff80, 0x007fffffffffffc0,
+    0x007fffffffffffe0, 0x007ffffffffffff0,
+    0x007ffffffffffff8, 0x007ffffffffffffc,
+    0x007ffffffffffffe, 0x007fffffffffffff,
+    0x0080000000000000, 0x0080000000800000,
+    0x0080008000800080, 0x00c0000000000000,
+    0x00c0000000c00000, 0x00c000c000c000c0,
+    0x00e0000000000000, 0x00e0000000e00000,
+    0x00e000e000e000e0, 0x00f0000000000000,
+    0x00f0000000f00000, 0x00f000f000f000f0,
+    0x00f8000000000000, 0x00f8000000f80000,
+    0x00f800f800f800f8, 0x00fc000000000000,
+    0x00fc000000fc0000, 0x00fc00fc00fc00fc,
+    0x00fe000000000000, 0x00fe000000fe0000,
+    0x00fe00fe00fe00fe, 0x00ff000000000000,
+    0x00ff000000ff0000, 0x00ff00ff00ff00ff,
+    0x00ff800000000000, 0x00ff800000ff8000,
+    0x00ffc00000000000, 0x00ffc00000ffc000,
+    0x00ffe00000000000, 0x00ffe00000ffe000,
+    0x00fff00000000000, 0x00fff00000fff000,
+    0x00fff80000000000, 0x00fff80000fff800,
+    0x00fffc0000000000, 0x00fffc0000fffc00,
+    0x00fffe0000000000, 0x00fffe0000fffe00,
+    0x00ffff0000000000, 0x00ffff0000ffff00,
+    0x00ffff8000000000, 0x00ffff8000ffff80,
+    0x00ffffc000000000, 0x00ffffc000ffffc0,
+    0x00ffffe000000000, 0x00ffffe000ffffe0,
+    0x00fffff000000000, 0x00fffff000fffff0,
+    0x00fffff800000000, 0x00fffff800fffff8,
+    0x00fffffc00000000, 0x00fffffc00fffffc,
+    0x00fffffe00000000, 0x00fffffe00fffffe,
+    0x00ffffff00000000, 0x00ffffff00ffffff,
+    0x00ffffff80000000, 0x00ffffffc0000000,
+    0x00ffffffe0000000, 0x00fffffff0000000,
+    0x00fffffff8000000, 0x00fffffffc000000,
+    0x00fffffffe000000, 0x00ffffffff000000,
+    0x00ffffffff800000, 0x00ffffffffc00000,
+    0x00ffffffffe00000, 0x00fffffffff00000,
+    0x00fffffffff80000, 0x00fffffffffc0000,
+    0x00fffffffffe0000, 0x00ffffffffff0000,
+    0x00ffffffffff8000, 0x00ffffffffffc000,
+    0x00ffffffffffe000, 0x00fffffffffff000,
+    0x00fffffffffff800, 0x00fffffffffffc00,
+    0x00fffffffffffe00, 0x00ffffffffffff00,
+    0x00ffffffffffff80, 0x00ffffffffffffc0,
+    0x00ffffffffffffe0, 0x00fffffffffffff0,
+    0x00fffffffffffff8, 0x00fffffffffffffc,
+    0x00fffffffffffffe, 0x00ffffffffffffff,
+    0x0100000000000000, 0x0100000001000000,
+    0x0100010001000100, 0x0101010101010101,
+    0x0180000000000000, 0x0180000001800000,
+    0x0180018001800180, 0x01c0000000000000,
+    0x01c0000001c00000, 0x01c001c001c001c0,
+    0x01e0000000000000, 0x01e0000001e00000,
+    0x01e001e001e001e0, 0x01f0000000000000,
+    0x01f0000001f00000, 0x01f001f001f001f0,
+    0x01f8000000000000, 0x01f8000001f80000,
+    0x01f801f801f801f8, 0x01fc000000000000,
+    0x01fc000001fc0000, 0x01fc01fc01fc01fc,
+    0x01fe000000000000, 0x01fe000001fe0000,
+    0x01fe01fe01fe01fe, 0x01ff000000000000,
+    0x01ff000001ff0000, 0x01ff01ff01ff01ff,
+    0x01ff800000000000, 0x01ff800001ff8000,
+    0x01ffc00000000000, 0x01ffc00001ffc000,
+    0x01ffe00000000000, 0x01ffe00001ffe000,
+    0x01fff00000000000, 0x01fff00001fff000,
+    0x01fff80000000000, 0x01fff80001fff800,
+    0x01fffc0000000000, 0x01fffc0001fffc00,
+    0x01fffe0000000000, 0x01fffe0001fffe00,
+    0x01ffff0000000000, 0x01ffff0001ffff00,
+    0x01ffff8000000000, 0x01ffff8001ffff80,
+    0x01ffffc000000000, 0x01ffffc001ffffc0,
+    0x01ffffe000000000, 0x01ffffe001ffffe0,
+    0x01fffff000000000, 0x01fffff001fffff0,
+    0x01fffff800000000, 0x01fffff801fffff8,
+    0x01fffffc00000000, 0x01fffffc01fffffc,
+    0x01fffffe00000000, 0x01fffffe01fffffe,
+    0x01ffffff00000000, 0x01ffffff01ffffff,
+    0x01ffffff80000000, 0x01ffffffc0000000,
+    0x01ffffffe0000000, 0x01fffffff0000000,
+    0x01fffffff8000000, 0x01fffffffc000000,
+    0x01fffffffe000000, 0x01ffffffff000000,
+    0x01ffffffff800000, 0x01ffffffffc00000,
+    0x01ffffffffe00000, 0x01fffffffff00000,
+    0x01fffffffff80000, 0x01fffffffffc0000,
+    0x01fffffffffe0000, 0x01ffffffffff0000,
+    0x01ffffffffff8000, 0x01ffffffffffc000,
+    0x01ffffffffffe000, 0x01fffffffffff000,
+    0x01fffffffffff800, 0x01fffffffffffc00,
+    0x01fffffffffffe00, 0x01ffffffffffff00,
+    0x01ffffffffffff80, 0x01ffffffffffffc0,
+    0x01ffffffffffffe0, 0x01fffffffffffff0,
+    0x01fffffffffffff8, 0x01fffffffffffffc,
+    0x01fffffffffffffe, 0x01ffffffffffffff,
+    0x0200000000000000, 0x0200000002000000,
+    0x0200020002000200, 0x0202020202020202,
+    0x0300000000000000, 0x0300000003000000,
+    0x0300030003000300, 0x0303030303030303,
+    0x0380000000000000, 0x0380000003800000,
+    0x0380038003800380, 0x03c0000000000000,
+    0x03c0000003c00000, 0x03c003c003c003c0,
+    0x03e0000000000000, 0x03e0000003e00000,
+    0x03e003e003e003e0, 0x03f0000000000000,
+    0x03f0000003f00000, 0x03f003f003f003f0,
+    0x03f8000000000000, 0x03f8000003f80000,
+    0x03f803f803f803f8, 0x03fc000000000000,
+    0x03fc000003fc0000, 0x03fc03fc03fc03fc,
+    0x03fe000000000000, 0x03fe000003fe0000,
+    0x03fe03fe03fe03fe, 0x03ff000000000000,
+    0x03ff000003ff0000, 0x03ff03ff03ff03ff,
+    0x03ff800000000000, 0x03ff800003ff8000,
+    0x03ffc00000000000, 0x03ffc00003ffc000,
+    0x03ffe00000000000, 0x03ffe00003ffe000,
+    0x03fff00000000000, 0x03fff00003fff000,
+    0x03fff80000000000, 0x03fff80003fff800,
+    0x03fffc0000000000, 0x03fffc0003fffc00,
+    0x03fffe0000000000, 0x03fffe0003fffe00,
+    0x03ffff0000000000, 0x03ffff0003ffff00,
+    0x03ffff8000000000, 0x03ffff8003ffff80,
+    0x03ffffc000000000, 0x03ffffc003ffffc0,
+    0x03ffffe000000000, 0x03ffffe003ffffe0,
+    0x03fffff000000000, 0x03fffff003fffff0,
+    0x03fffff800000000, 0x03fffff803fffff8,
+    0x03fffffc00000000, 0x03fffffc03fffffc,
+    0x03fffffe00000000, 0x03fffffe03fffffe,
+    0x03ffffff00000000, 0x03ffffff03ffffff,
+    0x03ffffff80000000, 0x03ffffffc0000000,
+    0x03ffffffe0000000, 0x03fffffff0000000,
+    0x03fffffff8000000, 0x03fffffffc000000,
+    0x03fffffffe000000, 0x03ffffffff000000,
+    0x03ffffffff800000, 0x03ffffffffc00000,
+    0x03ffffffffe00000, 0x03fffffffff00000,
+    0x03fffffffff80000, 0x03fffffffffc0000,
+    0x03fffffffffe0000, 0x03ffffffffff0000,
+    0x03ffffffffff8000, 0x03ffffffffffc000,
+    0x03ffffffffffe000, 0x03fffffffffff000,
+    0x03fffffffffff800, 0x03fffffffffffc00,
+    0x03fffffffffffe00, 0x03ffffffffffff00,
+    0x03ffffffffffff80, 0x03ffffffffffffc0,
+    0x03ffffffffffffe0, 0x03fffffffffffff0,
+    0x03fffffffffffff8, 0x03fffffffffffffc,
+    0x03fffffffffffffe, 0x03ffffffffffffff,
+    0x0400000000000000, 0x0400000004000000,
+    0x0400040004000400, 0x0404040404040404,
+    0x0600000000000000, 0x0600000006000000,
+    0x0600060006000600, 0x0606060606060606,
+    0x0700000000000000, 0x0700000007000000,
+    0x0700070007000700, 0x0707070707070707,
+    0x0780000000000000, 0x0780000007800000,
+    0x0780078007800780, 0x07c0000000000000,
+    0x07c0000007c00000, 0x07c007c007c007c0,
+    0x07e0000000000000, 0x07e0000007e00000,
+    0x07e007e007e007e0, 0x07f0000000000000,
+    0x07f0000007f00000, 0x07f007f007f007f0,
+    0x07f8000000000000, 0x07f8000007f80000,
+    0x07f807f807f807f8, 0x07fc000000000000,
+    0x07fc000007fc0000, 0x07fc07fc07fc07fc,
+    0x07fe000000000000, 0x07fe000007fe0000,
+    0x07fe07fe07fe07fe, 0x07ff000000000000,
+    0x07ff000007ff0000, 0x07ff07ff07ff07ff,
+    0x07ff800000000000, 0x07ff800007ff8000,
+    0x07ffc00000000000, 0x07ffc00007ffc000,
+    0x07ffe00000000000, 0x07ffe00007ffe000,
+    0x07fff00000000000, 0x07fff00007fff000,
+    0x07fff80000000000, 0x07fff80007fff800,
+    0x07fffc0000000000, 0x07fffc0007fffc00,
+    0x07fffe0000000000, 0x07fffe0007fffe00,
+    0x07ffff0000000000, 0x07ffff0007ffff00,
+    0x07ffff8000000000, 0x07ffff8007ffff80,
+    0x07ffffc000000000, 0x07ffffc007ffffc0,
+    0x07ffffe000000000, 0x07ffffe007ffffe0,
+    0x07fffff000000000, 0x07fffff007fffff0,
+    0x07fffff800000000, 0x07fffff807fffff8,
+    0x07fffffc00000000, 0x07fffffc07fffffc,
+    0x07fffffe00000000, 0x07fffffe07fffffe,
+    0x07ffffff00000000, 0x07ffffff07ffffff,
+    0x07ffffff80000000, 0x07ffffffc0000000,
+    0x07ffffffe0000000, 0x07fffffff0000000,
+    0x07fffffff8000000, 0x07fffffffc000000,
+    0x07fffffffe000000, 0x07ffffffff000000,
+    0x07ffffffff800000, 0x07ffffffffc00000,
+    0x07ffffffffe00000, 0x07fffffffff00000,
+    0x07fffffffff80000, 0x07fffffffffc0000,
+    0x07fffffffffe0000, 0x07ffffffffff0000,
+    0x07ffffffffff8000, 0x07ffffffffffc000,
+    0x07ffffffffffe000, 0x07fffffffffff000,
+    0x07fffffffffff800, 0x07fffffffffffc00,
+    0x07fffffffffffe00, 0x07ffffffffffff00,
+    0x07ffffffffffff80, 0x07ffffffffffffc0,
+    0x07ffffffffffffe0, 0x07fffffffffffff0,
+    0x07fffffffffffff8, 0x07fffffffffffffc,
+    0x07fffffffffffffe, 0x07ffffffffffffff,
+    0x0800000000000000, 0x0800000008000000,
+    0x0800080008000800, 0x0808080808080808,
+    0x0c00000000000000, 0x0c0000000c000000,
+    0x0c000c000c000c00, 0x0c0c0c0c0c0c0c0c,
+    0x0e00000000000000, 0x0e0000000e000000,
+    0x0e000e000e000e00, 0x0e0e0e0e0e0e0e0e,
+    0x0f00000000000000, 0x0f0000000f000000,
+    0x0f000f000f000f00, 0x0f0f0f0f0f0f0f0f,
+    0x0f80000000000000, 0x0f8000000f800000,
+    0x0f800f800f800f80, 0x0fc0000000000000,
+    0x0fc000000fc00000, 0x0fc00fc00fc00fc0,
+    0x0fe0000000000000, 0x0fe000000fe00000,
+    0x0fe00fe00fe00fe0, 0x0ff0000000000000,
+    0x0ff000000ff00000, 0x0ff00ff00ff00ff0,
+    0x0ff8000000000000, 0x0ff800000ff80000,
+    0x0ff80ff80ff80ff8, 0x0ffc000000000000,
+    0x0ffc00000ffc0000, 0x0ffc0ffc0ffc0ffc,
+    0x0ffe000000000000, 0x0ffe00000ffe0000,
+    0x0ffe0ffe0ffe0ffe, 0x0fff000000000000,
+    0x0fff00000fff0000, 0x0fff0fff0fff0fff,
+    0x0fff800000000000, 0x0fff80000fff8000,
+    0x0fffc00000000000, 0x0fffc0000fffc000,
+    0x0fffe00000000000, 0x0fffe0000fffe000,
+    0x0ffff00000000000, 0x0ffff0000ffff000,
+    0x0ffff80000000000, 0x0ffff8000ffff800,
+    0x0ffffc0000000000, 0x0ffffc000ffffc00,
+    0x0ffffe0000000000, 0x0ffffe000ffffe00,
+    0x0fffff0000000000, 0x0fffff000fffff00,
+    0x0fffff8000000000, 0x0fffff800fffff80,
+    0x0fffffc000000000, 0x0fffffc00fffffc0,
+    0x0fffffe000000000, 0x0fffffe00fffffe0,
+    0x0ffffff000000000, 0x0ffffff00ffffff0,
+    0x0ffffff800000000, 0x0ffffff80ffffff8,
+    0x0ffffffc00000000, 0x0ffffffc0ffffffc,
+    0x0ffffffe00000000, 0x0ffffffe0ffffffe,
+    0x0fffffff00000000, 0x0fffffff0fffffff,
+    0x0fffffff80000000, 0x0fffffffc0000000,
+    0x0fffffffe0000000, 0x0ffffffff0000000,
+    0x0ffffffff8000000, 0x0ffffffffc000000,
+    0x0ffffffffe000000, 0x0fffffffff000000,
+    0x0fffffffff800000, 0x0fffffffffc00000,
+    0x0fffffffffe00000, 0x0ffffffffff00000,
+    0x0ffffffffff80000, 0x0ffffffffffc0000,
+    0x0ffffffffffe0000, 0x0fffffffffff0000,
+    0x0fffffffffff8000, 0x0fffffffffffc000,
+    0x0fffffffffffe000, 0x0ffffffffffff000,
+    0x0ffffffffffff800, 0x0ffffffffffffc00,
+    0x0ffffffffffffe00, 0x0fffffffffffff00,
+    0x0fffffffffffff80, 0x0fffffffffffffc0,
+    0x0fffffffffffffe0, 0x0ffffffffffffff0,
+    0x0ffffffffffffff8, 0x0ffffffffffffffc,
+    0x0ffffffffffffffe, 0x0fffffffffffffff,
+    0x1000000000000000, 0x1000000010000000,
+    0x1000100010001000, 0x1010101010101010,
+    0x1111111111111111, 0x1800000000000000,
+    0x1800000018000000, 0x1800180018001800,
+    0x1818181818181818, 0x1c00000000000000,
+    0x1c0000001c000000, 0x1c001c001c001c00,
+    0x1c1c1c1c1c1c1c1c, 0x1e00000000000000,
+    0x1e0000001e000000, 0x1e001e001e001e00,
+    0x1e1e1e1e1e1e1e1e, 0x1f00000000000000,
+    0x1f0000001f000000, 0x1f001f001f001f00,
+    0x1f1f1f1f1f1f1f1f, 0x1f80000000000000,
+    0x1f8000001f800000, 0x1f801f801f801f80,
+    0x1fc0000000000000, 0x1fc000001fc00000,
+    0x1fc01fc01fc01fc0, 0x1fe0000000000000,
+    0x1fe000001fe00000, 0x1fe01fe01fe01fe0,
+    0x1ff0000000000000, 0x1ff000001ff00000,
+    0x1ff01ff01ff01ff0, 0x1ff8000000000000,
+    0x1ff800001ff80000, 0x1ff81ff81ff81ff8,
+    0x1ffc000000000000, 0x1ffc00001ffc0000,
+    0x1ffc1ffc1ffc1ffc, 0x1ffe000000000000,
+    0x1ffe00001ffe0000, 0x1ffe1ffe1ffe1ffe,
+    0x1fff000000000000, 0x1fff00001fff0000,
+    0x1fff1fff1fff1fff, 0x1fff800000000000,
+    0x1fff80001fff8000, 0x1fffc00000000000,
+    0x1fffc0001fffc000, 0x1fffe00000000000,
+    0x1fffe0001fffe000, 0x1ffff00000000000,
+    0x1ffff0001ffff000, 0x1ffff80000000000,
+    0x1ffff8001ffff800, 0x1ffffc0000000000,
+    0x1ffffc001ffffc00, 0x1ffffe0000000000,
+    0x1ffffe001ffffe00, 0x1fffff0000000000,
+    0x1fffff001fffff00, 0x1fffff8000000000,
+    0x1fffff801fffff80, 0x1fffffc000000000,
+    0x1fffffc01fffffc0, 0x1fffffe000000000,
+    0x1fffffe01fffffe0, 0x1ffffff000000000,
+    0x1ffffff01ffffff0, 0x1ffffff800000000,
+    0x1ffffff81ffffff8, 0x1ffffffc00000000,
+    0x1ffffffc1ffffffc, 0x1ffffffe00000000,
+    0x1ffffffe1ffffffe, 0x1fffffff00000000,
+    0x1fffffff1fffffff, 0x1fffffff80000000,
+    0x1fffffffc0000000, 0x1fffffffe0000000,
+    0x1ffffffff0000000, 0x1ffffffff8000000,
+    0x1ffffffffc000000, 0x1ffffffffe000000,
+    0x1fffffffff000000, 0x1fffffffff800000,
+    0x1fffffffffc00000, 0x1fffffffffe00000,
+    0x1ffffffffff00000, 0x1ffffffffff80000,
+    0x1ffffffffffc0000, 0x1ffffffffffe0000,
+    0x1fffffffffff0000, 0x1fffffffffff8000,
+    0x1fffffffffffc000, 0x1fffffffffffe000,
+    0x1ffffffffffff000, 0x1ffffffffffff800,
+    0x1ffffffffffffc00, 0x1ffffffffffffe00,
+    0x1fffffffffffff00, 0x1fffffffffffff80,
+    0x1fffffffffffffc0, 0x1fffffffffffffe0,
+    0x1ffffffffffffff0, 0x1ffffffffffffff8,
+    0x1ffffffffffffffc, 0x1ffffffffffffffe,
+    0x1fffffffffffffff, 0x2000000000000000,
+    0x2000000020000000, 0x2000200020002000,
+    0x2020202020202020, 0x2222222222222222,
+    0x3000000000000000, 0x3000000030000000,
+    0x3000300030003000, 0x3030303030303030,
+    0x3333333333333333, 0x3800000000000000,
+    0x3800000038000000, 0x3800380038003800,
+    0x3838383838383838, 0x3c00000000000000,
+    0x3c0000003c000000, 0x3c003c003c003c00,
+    0x3c3c3c3c3c3c3c3c, 0x3e00000000000000,
+    0x3e0000003e000000, 0x3e003e003e003e00,
+    0x3e3e3e3e3e3e3e3e, 0x3f00000000000000,
+    0x3f0000003f000000, 0x3f003f003f003f00,
+    0x3f3f3f3f3f3f3f3f, 0x3f80000000000000,
+    0x3f8000003f800000, 0x3f803f803f803f80,
+    0x3fc0000000000000, 0x3fc000003fc00000,
+    0x3fc03fc03fc03fc0, 0x3fe0000000000000,
+    0x3fe000003fe00000, 0x3fe03fe03fe03fe0,
+    0x3ff0000000000000, 0x3ff000003ff00000,
+    0x3ff03ff03ff03ff0, 0x3ff8000000000000,
+    0x3ff800003ff80000, 0x3ff83ff83ff83ff8,
+    0x3ffc000000000000, 0x3ffc00003ffc0000,
+    0x3ffc3ffc3ffc3ffc, 0x3ffe000000000000,
+    0x3ffe00003ffe0000, 0x3ffe3ffe3ffe3ffe,
+    0x3fff000000000000, 0x3fff00003fff0000,
+    0x3fff3fff3fff3fff, 0x3fff800000000000,
+    0x3fff80003fff8000, 0x3fffc00000000000,
+    0x3fffc0003fffc000, 0x3fffe00000000000,
+    0x3fffe0003fffe000, 0x3ffff00000000000,
+    0x3ffff0003ffff000, 0x3ffff80000000000,
+    0x3ffff8003ffff800, 0x3ffffc0000000000,
+    0x3ffffc003ffffc00, 0x3ffffe0000000000,
+    0x3ffffe003ffffe00, 0x3fffff0000000000,
+    0x3fffff003fffff00, 0x3fffff8000000000,
+    0x3fffff803fffff80, 0x3fffffc000000000,
+    0x3fffffc03fffffc0, 0x3fffffe000000000,
+    0x3fffffe03fffffe0, 0x3ffffff000000000,
+    0x3ffffff03ffffff0, 0x3ffffff800000000,
+    0x3ffffff83ffffff8, 0x3ffffffc00000000,
+    0x3ffffffc3ffffffc, 0x3ffffffe00000000,
+    0x3ffffffe3ffffffe, 0x3fffffff00000000,
+    0x3fffffff3fffffff, 0x3fffffff80000000,
+    0x3fffffffc0000000, 0x3fffffffe0000000,
+    0x3ffffffff0000000, 0x3ffffffff8000000,
+    0x3ffffffffc000000, 0x3ffffffffe000000,
+    0x3fffffffff000000, 0x3fffffffff800000,
+    0x3fffffffffc00000, 0x3fffffffffe00000,
+    0x3ffffffffff00000, 0x3ffffffffff80000,
+    0x3ffffffffffc0000, 0x3ffffffffffe0000,
+    0x3fffffffffff0000, 0x3fffffffffff8000,
+    0x3fffffffffffc000, 0x3fffffffffffe000,
+    0x3ffffffffffff000, 0x3ffffffffffff800,
+    0x3ffffffffffffc00, 0x3ffffffffffffe00,
+    0x3fffffffffffff00, 0x3fffffffffffff80,
+    0x3fffffffffffffc0, 0x3fffffffffffffe0,
+    0x3ffffffffffffff0, 0x3ffffffffffffff8,
+    0x3ffffffffffffffc, 0x3ffffffffffffffe,
+    0x3fffffffffffffff, 0x4000000000000000,
+    0x4000000040000000, 0x4000400040004000,
+    0x4040404040404040, 0x4444444444444444,
+    0x5555555555555555, 0x6000000000000000,
+    0x6000000060000000, 0x6000600060006000,
+    0x6060606060606060, 0x6666666666666666,
+    0x7000000000000000, 0x7000000070000000,
+    0x7000700070007000, 0x7070707070707070,
+    0x7777777777777777, 0x7800000000000000,
+    0x7800000078000000, 0x7800780078007800,
+    0x7878787878787878, 0x7c00000000000000,
+    0x7c0000007c000000, 0x7c007c007c007c00,
+    0x7c7c7c7c7c7c7c7c, 0x7e00000000000000,
+    0x7e0000007e000000, 0x7e007e007e007e00,
+    0x7e7e7e7e7e7e7e7e, 0x7f00000000000000,
+    0x7f0000007f000000, 0x7f007f007f007f00,
+    0x7f7f7f7f7f7f7f7f, 0x7f80000000000000,
+    0x7f8000007f800000, 0x7f807f807f807f80,
+    0x7fc0000000000000, 0x7fc000007fc00000,
+    0x7fc07fc07fc07fc0, 0x7fe0000000000000,
+    0x7fe000007fe00000, 0x7fe07fe07fe07fe0,
+    0x7ff0000000000000, 0x7ff000007ff00000,
+    0x7ff07ff07ff07ff0, 0x7ff8000000000000,
+    0x7ff800007ff80000, 0x7ff87ff87ff87ff8,
+    0x7ffc000000000000, 0x7ffc00007ffc0000,
+    0x7ffc7ffc7ffc7ffc, 0x7ffe000000000000,
+    0x7ffe00007ffe0000, 0x7ffe7ffe7ffe7ffe,
+    0x7fff000000000000, 0x7fff00007fff0000,
+    0x7fff7fff7fff7fff, 0x7fff800000000000,
+    0x7fff80007fff8000, 0x7fffc00000000000,
+    0x7fffc0007fffc000, 0x7fffe00000000000,
+    0x7fffe0007fffe000, 0x7ffff00000000000,
+    0x7ffff0007ffff000, 0x7ffff80000000000,
+    0x7ffff8007ffff800, 0x7ffffc0000000000,
+    0x7ffffc007ffffc00, 0x7ffffe0000000000,
+    0x7ffffe007ffffe00, 0x7fffff0000000000,
+    0x7fffff007fffff00, 0x7fffff8000000000,
+    0x7fffff807fffff80, 0x7fffffc000000000,
+    0x7fffffc07fffffc0, 0x7fffffe000000000,
+    0x7fffffe07fffffe0, 0x7ffffff000000000,
+    0x7ffffff07ffffff0, 0x7ffffff800000000,
+    0x7ffffff87ffffff8, 0x7ffffffc00000000,
+    0x7ffffffc7ffffffc, 0x7ffffffe00000000,
+    0x7ffffffe7ffffffe, 0x7fffffff00000000,
+    0x7fffffff7fffffff, 0x7fffffff80000000,
+    0x7fffffffc0000000, 0x7fffffffe0000000,
+    0x7ffffffff0000000, 0x7ffffffff8000000,
+    0x7ffffffffc000000, 0x7ffffffffe000000,
+    0x7fffffffff000000, 0x7fffffffff800000,
+    0x7fffffffffc00000, 0x7fffffffffe00000,
+    0x7ffffffffff00000, 0x7ffffffffff80000,
+    0x7ffffffffffc0000, 0x7ffffffffffe0000,
+    0x7fffffffffff0000, 0x7fffffffffff8000,
+    0x7fffffffffffc000, 0x7fffffffffffe000,
+    0x7ffffffffffff000, 0x7ffffffffffff800,
+    0x7ffffffffffffc00, 0x7ffffffffffffe00,
+    0x7fffffffffffff00, 0x7fffffffffffff80,
+    0x7fffffffffffffc0, 0x7fffffffffffffe0,
+    0x7ffffffffffffff0, 0x7ffffffffffffff8,
+    0x7ffffffffffffffc, 0x7ffffffffffffffe,
+    0x7fffffffffffffff, 0x8000000000000000,
+    0x8000000000000001, 0x8000000000000003,
+    0x8000000000000007, 0x800000000000000f,
+    0x800000000000001f, 0x800000000000003f,
+    0x800000000000007f, 0x80000000000000ff,
+    0x80000000000001ff, 0x80000000000003ff,
+    0x80000000000007ff, 0x8000000000000fff,
+    0x8000000000001fff, 0x8000000000003fff,
+    0x8000000000007fff, 0x800000000000ffff,
+    0x800000000001ffff, 0x800000000003ffff,
+    0x800000000007ffff, 0x80000000000fffff,
+    0x80000000001fffff, 0x80000000003fffff,
+    0x80000000007fffff, 0x8000000000ffffff,
+    0x8000000001ffffff, 0x8000000003ffffff,
+    0x8000000007ffffff, 0x800000000fffffff,
+    0x800000001fffffff, 0x800000003fffffff,
+    0x800000007fffffff, 0x8000000080000000,
+    0x80000000ffffffff, 0x8000000180000001,
+    0x80000001ffffffff, 0x8000000380000003,
+    0x80000003ffffffff, 0x8000000780000007,
+    0x80000007ffffffff, 0x8000000f8000000f,
+    0x8000000fffffffff, 0x8000001f8000001f,
+    0x8000001fffffffff, 0x8000003f8000003f,
+    0x8000003fffffffff, 0x8000007f8000007f,
+    0x8000007fffffffff, 0x800000ff800000ff,
+    0x800000ffffffffff, 0x800001ff800001ff,
+    0x800001ffffffffff, 0x800003ff800003ff,
+    0x800003ffffffffff, 0x800007ff800007ff,
+    0x800007ffffffffff, 0x80000fff80000fff,
+    0x80000fffffffffff, 0x80001fff80001fff,
+    0x80001fffffffffff, 0x80003fff80003fff,
+    0x80003fffffffffff, 0x80007fff80007fff,
+    0x80007fffffffffff, 0x8000800080008000,
+    0x8000ffff8000ffff, 0x8000ffffffffffff,
+    0x8001800180018001, 0x8001ffff8001ffff,
+    0x8001ffffffffffff, 0x8003800380038003,
+    0x8003ffff8003ffff, 0x8003ffffffffffff,
+    0x8007800780078007, 0x8007ffff8007ffff,
+    0x8007ffffffffffff, 0x800f800f800f800f,
+    0x800fffff800fffff, 0x800fffffffffffff,
+    0x801f801f801f801f, 0x801fffff801fffff,
+    0x801fffffffffffff, 0x803f803f803f803f,
+    0x803fffff803fffff, 0x803fffffffffffff,
+    0x807f807f807f807f, 0x807fffff807fffff,
+    0x807fffffffffffff, 0x8080808080808080,
+    0x80ff80ff80ff80ff, 0x80ffffff80ffffff,
+    0x80ffffffffffffff, 0x8181818181818181,
+    0x81ff81ff81ff81ff, 0x81ffffff81ffffff,
+    0x81ffffffffffffff, 0x8383838383838383,
+    0x83ff83ff83ff83ff, 0x83ffffff83ffffff,
+    0x83ffffffffffffff, 0x8787878787878787,
+    0x87ff87ff87ff87ff, 0x87ffffff87ffffff,
+    0x87ffffffffffffff, 0x8888888888888888,
+    0x8f8f8f8f8f8f8f8f, 0x8fff8fff8fff8fff,
+    0x8fffffff8fffffff, 0x8fffffffffffffff,
+    0x9999999999999999, 0x9f9f9f9f9f9f9f9f,
+    0x9fff9fff9fff9fff, 0x9fffffff9fffffff,
+    0x9fffffffffffffff, 0xaaaaaaaaaaaaaaaa,
+    0xbbbbbbbbbbbbbbbb, 0xbfbfbfbfbfbfbfbf,
+    0xbfffbfffbfffbfff, 0xbfffffffbfffffff,
+    0xbfffffffffffffff, 0xc000000000000000,
+    0xc000000000000001, 0xc000000000000003,
+    0xc000000000000007, 0xc00000000000000f,
+    0xc00000000000001f, 0xc00000000000003f,
+    0xc00000000000007f, 0xc0000000000000ff,
+    0xc0000000000001ff, 0xc0000000000003ff,
+    0xc0000000000007ff, 0xc000000000000fff,
+    0xc000000000001fff, 0xc000000000003fff,
+    0xc000000000007fff, 0xc00000000000ffff,
+    0xc00000000001ffff, 0xc00000000003ffff,
+    0xc00000000007ffff, 0xc0000000000fffff,
+    0xc0000000001fffff, 0xc0000000003fffff,
+    0xc0000000007fffff, 0xc000000000ffffff,
+    0xc000000001ffffff, 0xc000000003ffffff,
+    0xc000000007ffffff, 0xc00000000fffffff,
+    0xc00000001fffffff, 0xc00000003fffffff,
+    0xc00000007fffffff, 0xc0000000c0000000,
+    0xc0000000ffffffff, 0xc0000001c0000001,
+    0xc0000001ffffffff, 0xc0000003c0000003,
+    0xc0000003ffffffff, 0xc0000007c0000007,
+    0xc0000007ffffffff, 0xc000000fc000000f,
+    0xc000000fffffffff, 0xc000001fc000001f,
+    0xc000001fffffffff, 0xc000003fc000003f,
+    0xc000003fffffffff, 0xc000007fc000007f,
+    0xc000007fffffffff, 0xc00000ffc00000ff,
+    0xc00000ffffffffff, 0xc00001ffc00001ff,
+    0xc00001ffffffffff, 0xc00003ffc00003ff,
+    0xc00003ffffffffff, 0xc00007ffc00007ff,
+    0xc00007ffffffffff, 0xc0000fffc0000fff,
+    0xc0000fffffffffff, 0xc0001fffc0001fff,
+    0xc0001fffffffffff, 0xc0003fffc0003fff,
+    0xc0003fffffffffff, 0xc0007fffc0007fff,
+    0xc0007fffffffffff, 0xc000c000c000c000,
+    0xc000ffffc000ffff, 0xc000ffffffffffff,
+    0xc001c001c001c001, 0xc001ffffc001ffff,
+    0xc001ffffffffffff, 0xc003c003c003c003,
+    0xc003ffffc003ffff, 0xc003ffffffffffff,
+    0xc007c007c007c007, 0xc007ffffc007ffff,
+    0xc007ffffffffffff, 0xc00fc00fc00fc00f,
+    0xc00fffffc00fffff, 0xc00fffffffffffff,
+    0xc01fc01fc01fc01f, 0xc01fffffc01fffff,
+    0xc01fffffffffffff, 0xc03fc03fc03fc03f,
+    0xc03fffffc03fffff, 0xc03fffffffffffff,
+    0xc07fc07fc07fc07f, 0xc07fffffc07fffff,
+    0xc07fffffffffffff, 0xc0c0c0c0c0c0c0c0,
+    0xc0ffc0ffc0ffc0ff, 0xc0ffffffc0ffffff,
+    0xc0ffffffffffffff, 0xc1c1c1c1c1c1c1c1,
+    0xc1ffc1ffc1ffc1ff, 0xc1ffffffc1ffffff,
+    0xc1ffffffffffffff, 0xc3c3c3c3c3c3c3c3,
+    0xc3ffc3ffc3ffc3ff, 0xc3ffffffc3ffffff,
+    0xc3ffffffffffffff, 0xc7c7c7c7c7c7c7c7,
+    0xc7ffc7ffc7ffc7ff, 0xc7ffffffc7ffffff,
+    0xc7ffffffffffffff, 0xcccccccccccccccc,
+    0xcfcfcfcfcfcfcfcf, 0xcfffcfffcfffcfff,
+    0xcfffffffcfffffff, 0xcfffffffffffffff,
+    0xdddddddddddddddd, 0xdfdfdfdfdfdfdfdf,
+    0xdfffdfffdfffdfff, 0xdfffffffdfffffff,
+    0xdfffffffffffffff, 0xe000000000000000,
+    0xe000000000000001, 0xe000000000000003,
+    0xe000000000000007, 0xe00000000000000f,
+    0xe00000000000001f, 0xe00000000000003f,
+    0xe00000000000007f, 0xe0000000000000ff,
+    0xe0000000000001ff, 0xe0000000000003ff,
+    0xe0000000000007ff, 0xe000000000000fff,
+    0xe000000000001fff, 0xe000000000003fff,
+    0xe000000000007fff, 0xe00000000000ffff,
+    0xe00000000001ffff, 0xe00000000003ffff,
+    0xe00000000007ffff, 0xe0000000000fffff,
+    0xe0000000001fffff, 0xe0000000003fffff,
+    0xe0000000007fffff, 0xe000000000ffffff,
+    0xe000000001ffffff, 0xe000000003ffffff,
+    0xe000000007ffffff, 0xe00000000fffffff,
+    0xe00000001fffffff, 0xe00000003fffffff,
+    0xe00000007fffffff, 0xe0000000e0000000,
+    0xe0000000ffffffff, 0xe0000001e0000001,
+    0xe0000001ffffffff, 0xe0000003e0000003,
+    0xe0000003ffffffff, 0xe0000007e0000007,
+    0xe0000007ffffffff, 0xe000000fe000000f,
+    0xe000000fffffffff, 0xe000001fe000001f,
+    0xe000001fffffffff, 0xe000003fe000003f,
+    0xe000003fffffffff, 0xe000007fe000007f,
+    0xe000007fffffffff, 0xe00000ffe00000ff,
+    0xe00000ffffffffff, 0xe00001ffe00001ff,
+    0xe00001ffffffffff, 0xe00003ffe00003ff,
+    0xe00003ffffffffff, 0xe00007ffe00007ff,
+    0xe00007ffffffffff, 0xe0000fffe0000fff,
+    0xe0000fffffffffff, 0xe0001fffe0001fff,
+    0xe0001fffffffffff, 0xe0003fffe0003fff,
+    0xe0003fffffffffff, 0xe0007fffe0007fff,
+    0xe0007fffffffffff, 0xe000e000e000e000,
+    0xe000ffffe000ffff, 0xe000ffffffffffff,
+    0xe001e001e001e001, 0xe001ffffe001ffff,
+    0xe001ffffffffffff, 0xe003e003e003e003,
+    0xe003ffffe003ffff, 0xe003ffffffffffff,
+    0xe007e007e007e007, 0xe007ffffe007ffff,
+    0xe007ffffffffffff, 0xe00fe00fe00fe00f,
+    0xe00fffffe00fffff, 0xe00fffffffffffff,
+    0xe01fe01fe01fe01f, 0xe01fffffe01fffff,
+    0xe01fffffffffffff, 0xe03fe03fe03fe03f,
+    0xe03fffffe03fffff, 0xe03fffffffffffff,
+    0xe07fe07fe07fe07f, 0xe07fffffe07fffff,
+    0xe07fffffffffffff, 0xe0e0e0e0e0e0e0e0,
+    0xe0ffe0ffe0ffe0ff, 0xe0ffffffe0ffffff,
+    0xe0ffffffffffffff, 0xe1e1e1e1e1e1e1e1,
+    0xe1ffe1ffe1ffe1ff, 0xe1ffffffe1ffffff,
+    0xe1ffffffffffffff, 0xe3e3e3e3e3e3e3e3,
+    0xe3ffe3ffe3ffe3ff, 0xe3ffffffe3ffffff,
+    0xe3ffffffffffffff, 0xe7e7e7e7e7e7e7e7,
+    0xe7ffe7ffe7ffe7ff, 0xe7ffffffe7ffffff,
+    0xe7ffffffffffffff, 0xeeeeeeeeeeeeeeee,
+    0xefefefefefefefef, 0xefffefffefffefff,
+    0xefffffffefffffff, 0xefffffffffffffff,
+    0xf000000000000000, 0xf000000000000001,
+    0xf000000000000003, 0xf000000000000007,
+    0xf00000000000000f, 0xf00000000000001f,
+    0xf00000000000003f, 0xf00000000000007f,
+    0xf0000000000000ff, 0xf0000000000001ff,
+    0xf0000000000003ff, 0xf0000000000007ff,
+    0xf000000000000fff, 0xf000000000001fff,
+    0xf000000000003fff, 0xf000000000007fff,
+    0xf00000000000ffff, 0xf00000000001ffff,
+    0xf00000000003ffff, 0xf00000000007ffff,
+    0xf0000000000fffff, 0xf0000000001fffff,
+    0xf0000000003fffff, 0xf0000000007fffff,
+    0xf000000000ffffff, 0xf000000001ffffff,
+    0xf000000003ffffff, 0xf000000007ffffff,
+    0xf00000000fffffff, 0xf00000001fffffff,
+    0xf00000003fffffff, 0xf00000007fffffff,
+    0xf0000000f0000000, 0xf0000000ffffffff,
+    0xf0000001f0000001, 0xf0000001ffffffff,
+    0xf0000003f0000003, 0xf0000003ffffffff,
+    0xf0000007f0000007, 0xf0000007ffffffff,
+    0xf000000ff000000f, 0xf000000fffffffff,
+    0xf000001ff000001f, 0xf000001fffffffff,
+    0xf000003ff000003f, 0xf000003fffffffff,
+    0xf000007ff000007f, 0xf000007fffffffff,
+    0xf00000fff00000ff, 0xf00000ffffffffff,
+    0xf00001fff00001ff, 0xf00001ffffffffff,
+    0xf00003fff00003ff, 0xf00003ffffffffff,
+    0xf00007fff00007ff, 0xf00007ffffffffff,
+    0xf0000ffff0000fff, 0xf0000fffffffffff,
+    0xf0001ffff0001fff, 0xf0001fffffffffff,
+    0xf0003ffff0003fff, 0xf0003fffffffffff,
+    0xf0007ffff0007fff, 0xf0007fffffffffff,
+    0xf000f000f000f000, 0xf000fffff000ffff,
+    0xf000ffffffffffff, 0xf001f001f001f001,
+    0xf001fffff001ffff, 0xf001ffffffffffff,
+    0xf003f003f003f003, 0xf003fffff003ffff,
+    0xf003ffffffffffff, 0xf007f007f007f007,
+    0xf007fffff007ffff, 0xf007ffffffffffff,
+    0xf00ff00ff00ff00f, 0xf00ffffff00fffff,
+    0xf00fffffffffffff, 0xf01ff01ff01ff01f,
+    0xf01ffffff01fffff, 0xf01fffffffffffff,
+    0xf03ff03ff03ff03f, 0xf03ffffff03fffff,
+    0xf03fffffffffffff, 0xf07ff07ff07ff07f,
+    0xf07ffffff07fffff, 0xf07fffffffffffff,
+    0xf0f0f0f0f0f0f0f0, 0xf0fff0fff0fff0ff,
+    0xf0fffffff0ffffff, 0xf0ffffffffffffff,
+    0xf1f1f1f1f1f1f1f1, 0xf1fff1fff1fff1ff,
+    0xf1fffffff1ffffff, 0xf1ffffffffffffff,
+    0xf3f3f3f3f3f3f3f3, 0xf3fff3fff3fff3ff,
+    0xf3fffffff3ffffff, 0xf3ffffffffffffff,
+    0xf7f7f7f7f7f7f7f7, 0xf7fff7fff7fff7ff,
+    0xf7fffffff7ffffff, 0xf7ffffffffffffff,
+    0xf800000000000000, 0xf800000000000001,
+    0xf800000000000003, 0xf800000000000007,
+    0xf80000000000000f, 0xf80000000000001f,
+    0xf80000000000003f, 0xf80000000000007f,
+    0xf8000000000000ff, 0xf8000000000001ff,
+    0xf8000000000003ff, 0xf8000000000007ff,
+    0xf800000000000fff, 0xf800000000001fff,
+    0xf800000000003fff, 0xf800000000007fff,
+    0xf80000000000ffff, 0xf80000000001ffff,
+    0xf80000000003ffff, 0xf80000000007ffff,
+    0xf8000000000fffff, 0xf8000000001fffff,
+    0xf8000000003fffff, 0xf8000000007fffff,
+    0xf800000000ffffff, 0xf800000001ffffff,
+    0xf800000003ffffff, 0xf800000007ffffff,
+    0xf80000000fffffff, 0xf80000001fffffff,
+    0xf80000003fffffff, 0xf80000007fffffff,
+    0xf8000000f8000000, 0xf8000000ffffffff,
+    0xf8000001f8000001, 0xf8000001ffffffff,
+    0xf8000003f8000003, 0xf8000003ffffffff,
+    0xf8000007f8000007, 0xf8000007ffffffff,
+    0xf800000ff800000f, 0xf800000fffffffff,
+    0xf800001ff800001f, 0xf800001fffffffff,
+    0xf800003ff800003f, 0xf800003fffffffff,
+    0xf800007ff800007f, 0xf800007fffffffff,
+    0xf80000fff80000ff, 0xf80000ffffffffff,
+    0xf80001fff80001ff, 0xf80001ffffffffff,
+    0xf80003fff80003ff, 0xf80003ffffffffff,
+    0xf80007fff80007ff, 0xf80007ffffffffff,
+    0xf8000ffff8000fff, 0xf8000fffffffffff,
+    0xf8001ffff8001fff, 0xf8001fffffffffff,
+    0xf8003ffff8003fff, 0xf8003fffffffffff,
+    0xf8007ffff8007fff, 0xf8007fffffffffff,
+    0xf800f800f800f800, 0xf800fffff800ffff,
+    0xf800ffffffffffff, 0xf801f801f801f801,
+    0xf801fffff801ffff, 0xf801ffffffffffff,
+    0xf803f803f803f803, 0xf803fffff803ffff,
+    0xf803ffffffffffff, 0xf807f807f807f807,
+    0xf807fffff807ffff, 0xf807ffffffffffff,
+    0xf80ff80ff80ff80f, 0xf80ffffff80fffff,
+    0xf80fffffffffffff, 0xf81ff81ff81ff81f,
+    0xf81ffffff81fffff, 0xf81fffffffffffff,
+    0xf83ff83ff83ff83f, 0xf83ffffff83fffff,
+    0xf83fffffffffffff, 0xf87ff87ff87ff87f,
+    0xf87ffffff87fffff, 0xf87fffffffffffff,
+    0xf8f8f8f8f8f8f8f8, 0xf8fff8fff8fff8ff,
+    0xf8fffffff8ffffff, 0xf8ffffffffffffff,
+    0xf9f9f9f9f9f9f9f9, 0xf9fff9fff9fff9ff,
+    0xf9fffffff9ffffff, 0xf9ffffffffffffff,
+    0xfbfbfbfbfbfbfbfb, 0xfbfffbfffbfffbff,
+    0xfbfffffffbffffff, 0xfbffffffffffffff,
+    0xfc00000000000000, 0xfc00000000000001,
+    0xfc00000000000003, 0xfc00000000000007,
+    0xfc0000000000000f, 0xfc0000000000001f,
+    0xfc0000000000003f, 0xfc0000000000007f,
+    0xfc000000000000ff, 0xfc000000000001ff,
+    0xfc000000000003ff, 0xfc000000000007ff,
+    0xfc00000000000fff, 0xfc00000000001fff,
+    0xfc00000000003fff, 0xfc00000000007fff,
+    0xfc0000000000ffff, 0xfc0000000001ffff,
+    0xfc0000000003ffff, 0xfc0000000007ffff,
+    0xfc000000000fffff, 0xfc000000001fffff,
+    0xfc000000003fffff, 0xfc000000007fffff,
+    0xfc00000000ffffff, 0xfc00000001ffffff,
+    0xfc00000003ffffff, 0xfc00000007ffffff,
+    0xfc0000000fffffff, 0xfc0000001fffffff,
+    0xfc0000003fffffff, 0xfc0000007fffffff,
+    0xfc000000fc000000, 0xfc000000ffffffff,
+    0xfc000001fc000001, 0xfc000001ffffffff,
+    0xfc000003fc000003, 0xfc000003ffffffff,
+    0xfc000007fc000007, 0xfc000007ffffffff,
+    0xfc00000ffc00000f, 0xfc00000fffffffff,
+    0xfc00001ffc00001f, 0xfc00001fffffffff,
+    0xfc00003ffc00003f, 0xfc00003fffffffff,
+    0xfc00007ffc00007f, 0xfc00007fffffffff,
+    0xfc0000fffc0000ff, 0xfc0000ffffffffff,
+    0xfc0001fffc0001ff, 0xfc0001ffffffffff,
+    0xfc0003fffc0003ff, 0xfc0003ffffffffff,
+    0xfc0007fffc0007ff, 0xfc0007ffffffffff,
+    0xfc000ffffc000fff, 0xfc000fffffffffff,
+    0xfc001ffffc001fff, 0xfc001fffffffffff,
+    0xfc003ffffc003fff, 0xfc003fffffffffff,
+    0xfc007ffffc007fff, 0xfc007fffffffffff,
+    0xfc00fc00fc00fc00, 0xfc00fffffc00ffff,
+    0xfc00ffffffffffff, 0xfc01fc01fc01fc01,
+    0xfc01fffffc01ffff, 0xfc01ffffffffffff,
+    0xfc03fc03fc03fc03, 0xfc03fffffc03ffff,
+    0xfc03ffffffffffff, 0xfc07fc07fc07fc07,
+    0xfc07fffffc07ffff, 0xfc07ffffffffffff,
+    0xfc0ffc0ffc0ffc0f, 0xfc0ffffffc0fffff,
+    0xfc0fffffffffffff, 0xfc1ffc1ffc1ffc1f,
+    0xfc1ffffffc1fffff, 0xfc1fffffffffffff,
+    0xfc3ffc3ffc3ffc3f, 0xfc3ffffffc3fffff,
+    0xfc3fffffffffffff, 0xfc7ffc7ffc7ffc7f,
+    0xfc7ffffffc7fffff, 0xfc7fffffffffffff,
+    0xfcfcfcfcfcfcfcfc, 0xfcfffcfffcfffcff,
+    0xfcfffffffcffffff, 0xfcffffffffffffff,
+    0xfdfdfdfdfdfdfdfd, 0xfdfffdfffdfffdff,
+    0xfdfffffffdffffff, 0xfdffffffffffffff,
+    0xfe00000000000000, 0xfe00000000000001,
+    0xfe00000000000003, 0xfe00000000000007,
+    0xfe0000000000000f, 0xfe0000000000001f,
+    0xfe0000000000003f, 0xfe0000000000007f,
+    0xfe000000000000ff, 0xfe000000000001ff,
+    0xfe000000000003ff, 0xfe000000000007ff,
+    0xfe00000000000fff, 0xfe00000000001fff,
+    0xfe00000000003fff, 0xfe00000000007fff,
+    0xfe0000000000ffff, 0xfe0000000001ffff,
+    0xfe0000000003ffff, 0xfe0000000007ffff,
+    0xfe000000000fffff, 0xfe000000001fffff,
+    0xfe000000003fffff, 0xfe000000007fffff,
+    0xfe00000000ffffff, 0xfe00000001ffffff,
+    0xfe00000003ffffff, 0xfe00000007ffffff,
+    0xfe0000000fffffff, 0xfe0000001fffffff,
+    0xfe0000003fffffff, 0xfe0000007fffffff,
+    0xfe000000fe000000, 0xfe000000ffffffff,
+    0xfe000001fe000001, 0xfe000001ffffffff,
+    0xfe000003fe000003, 0xfe000003ffffffff,
+    0xfe000007fe000007, 0xfe000007ffffffff,
+    0xfe00000ffe00000f, 0xfe00000fffffffff,
+    0xfe00001ffe00001f, 0xfe00001fffffffff,
+    0xfe00003ffe00003f, 0xfe00003fffffffff,
+    0xfe00007ffe00007f, 0xfe00007fffffffff,
+    0xfe0000fffe0000ff, 0xfe0000ffffffffff,
+    0xfe0001fffe0001ff, 0xfe0001ffffffffff,
+    0xfe0003fffe0003ff, 0xfe0003ffffffffff,
+    0xfe0007fffe0007ff, 0xfe0007ffffffffff,
+    0xfe000ffffe000fff, 0xfe000fffffffffff,
+    0xfe001ffffe001fff, 0xfe001fffffffffff,
+    0xfe003ffffe003fff, 0xfe003fffffffffff,
+    0xfe007ffffe007fff, 0xfe007fffffffffff,
+    0xfe00fe00fe00fe00, 0xfe00fffffe00ffff,
+    0xfe00ffffffffffff, 0xfe01fe01fe01fe01,
+    0xfe01fffffe01ffff, 0xfe01ffffffffffff,
+    0xfe03fe03fe03fe03, 0xfe03fffffe03ffff,
+    0xfe03ffffffffffff, 0xfe07fe07fe07fe07,
+    0xfe07fffffe07ffff, 0xfe07ffffffffffff,
+    0xfe0ffe0ffe0ffe0f, 0xfe0ffffffe0fffff,
+    0xfe0fffffffffffff, 0xfe1ffe1ffe1ffe1f,
+    0xfe1ffffffe1fffff, 0xfe1fffffffffffff,
+    0xfe3ffe3ffe3ffe3f, 0xfe3ffffffe3fffff,
+    0xfe3fffffffffffff, 0xfe7ffe7ffe7ffe7f,
+    0xfe7ffffffe7fffff, 0xfe7fffffffffffff,
+    0xfefefefefefefefe, 0xfefffefffefffeff,
+    0xfefffffffeffffff, 0xfeffffffffffffff,
+    0xff00000000000000, 0xff00000000000001,
+    0xff00000000000003, 0xff00000000000007,
+    0xff0000000000000f, 0xff0000000000001f,
+    0xff0000000000003f, 0xff0000000000007f,
+    0xff000000000000ff, 0xff000000000001ff,
+    0xff000000000003ff, 0xff000000000007ff,
+    0xff00000000000fff, 0xff00000000001fff,
+    0xff00000000003fff, 0xff00000000007fff,
+    0xff0000000000ffff, 0xff0000000001ffff,
+    0xff0000000003ffff, 0xff0000000007ffff,
+    0xff000000000fffff, 0xff000000001fffff,
+    0xff000000003fffff, 0xff000000007fffff,
+    0xff00000000ffffff, 0xff00000001ffffff,
+    0xff00000003ffffff, 0xff00000007ffffff,
+    0xff0000000fffffff, 0xff0000001fffffff,
+    0xff0000003fffffff, 0xff0000007fffffff,
+    0xff000000ff000000, 0xff000000ffffffff,
+    0xff000001ff000001, 0xff000001ffffffff,
+    0xff000003ff000003, 0xff000003ffffffff,
+    0xff000007ff000007, 0xff000007ffffffff,
+    0xff00000fff00000f, 0xff00000fffffffff,
+    0xff00001fff00001f, 0xff00001fffffffff,
+    0xff00003fff00003f, 0xff00003fffffffff,
+    0xff00007fff00007f, 0xff00007fffffffff,
+    0xff0000ffff0000ff, 0xff0000ffffffffff,
+    0xff0001ffff0001ff, 0xff0001ffffffffff,
+    0xff0003ffff0003ff, 0xff0003ffffffffff,
+    0xff0007ffff0007ff, 0xff0007ffffffffff,
+    0xff000fffff000fff, 0xff000fffffffffff,
+    0xff001fffff001fff, 0xff001fffffffffff,
+    0xff003fffff003fff, 0xff003fffffffffff,
+    0xff007fffff007fff, 0xff007fffffffffff,
+    0xff00ff00ff00ff00, 0xff00ffffff00ffff,
+    0xff00ffffffffffff, 0xff01ff01ff01ff01,
+    0xff01ffffff01ffff, 0xff01ffffffffffff,
+    0xff03ff03ff03ff03, 0xff03ffffff03ffff,
+    0xff03ffffffffffff, 0xff07ff07ff07ff07,
+    0xff07ffffff07ffff, 0xff07ffffffffffff,
+    0xff0fff0fff0fff0f, 0xff0fffffff0fffff,
+    0xff0fffffffffffff, 0xff1fff1fff1fff1f,
+    0xff1fffffff1fffff, 0xff1fffffffffffff,
+    0xff3fff3fff3fff3f, 0xff3fffffff3fffff,
+    0xff3fffffffffffff, 0xff7fff7fff7fff7f,
+    0xff7fffffff7fffff, 0xff7fffffffffffff,
+    0xff80000000000000, 0xff80000000000001,
+    0xff80000000000003, 0xff80000000000007,
+    0xff8000000000000f, 0xff8000000000001f,
+    0xff8000000000003f, 0xff8000000000007f,
+    0xff800000000000ff, 0xff800000000001ff,
+    0xff800000000003ff, 0xff800000000007ff,
+    0xff80000000000fff, 0xff80000000001fff,
+    0xff80000000003fff, 0xff80000000007fff,
+    0xff8000000000ffff, 0xff8000000001ffff,
+    0xff8000000003ffff, 0xff8000000007ffff,
+    0xff800000000fffff, 0xff800000001fffff,
+    0xff800000003fffff, 0xff800000007fffff,
+    0xff80000000ffffff, 0xff80000001ffffff,
+    0xff80000003ffffff, 0xff80000007ffffff,
+    0xff8000000fffffff, 0xff8000001fffffff,
+    0xff8000003fffffff, 0xff8000007fffffff,
+    0xff800000ff800000, 0xff800000ffffffff,
+    0xff800001ff800001, 0xff800001ffffffff,
+    0xff800003ff800003, 0xff800003ffffffff,
+    0xff800007ff800007, 0xff800007ffffffff,
+    0xff80000fff80000f, 0xff80000fffffffff,
+    0xff80001fff80001f, 0xff80001fffffffff,
+    0xff80003fff80003f, 0xff80003fffffffff,
+    0xff80007fff80007f, 0xff80007fffffffff,
+    0xff8000ffff8000ff, 0xff8000ffffffffff,
+    0xff8001ffff8001ff, 0xff8001ffffffffff,
+    0xff8003ffff8003ff, 0xff8003ffffffffff,
+    0xff8007ffff8007ff, 0xff8007ffffffffff,
+    0xff800fffff800fff, 0xff800fffffffffff,
+    0xff801fffff801fff, 0xff801fffffffffff,
+    0xff803fffff803fff, 0xff803fffffffffff,
+    0xff807fffff807fff, 0xff807fffffffffff,
+    0xff80ff80ff80ff80, 0xff80ffffff80ffff,
+    0xff80ffffffffffff, 0xff81ff81ff81ff81,
+    0xff81ffffff81ffff, 0xff81ffffffffffff,
+    0xff83ff83ff83ff83, 0xff83ffffff83ffff,
+    0xff83ffffffffffff, 0xff87ff87ff87ff87,
+    0xff87ffffff87ffff, 0xff87ffffffffffff,
+    0xff8fff8fff8fff8f, 0xff8fffffff8fffff,
+    0xff8fffffffffffff, 0xff9fff9fff9fff9f,
+    0xff9fffffff9fffff, 0xff9fffffffffffff,
+    0xffbfffbfffbfffbf, 0xffbfffffffbfffff,
+    0xffbfffffffffffff, 0xffc0000000000000,
+    0xffc0000000000001, 0xffc0000000000003,
+    0xffc0000000000007, 0xffc000000000000f,
+    0xffc000000000001f, 0xffc000000000003f,
+    0xffc000000000007f, 0xffc00000000000ff,
+    0xffc00000000001ff, 0xffc00000000003ff,
+    0xffc00000000007ff, 0xffc0000000000fff,
+    0xffc0000000001fff, 0xffc0000000003fff,
+    0xffc0000000007fff, 0xffc000000000ffff,
+    0xffc000000001ffff, 0xffc000000003ffff,
+    0xffc000000007ffff, 0xffc00000000fffff,
+    0xffc00000001fffff, 0xffc00000003fffff,
+    0xffc00000007fffff, 0xffc0000000ffffff,
+    0xffc0000001ffffff, 0xffc0000003ffffff,
+    0xffc0000007ffffff, 0xffc000000fffffff,
+    0xffc000001fffffff, 0xffc000003fffffff,
+    0xffc000007fffffff, 0xffc00000ffc00000,
+    0xffc00000ffffffff, 0xffc00001ffc00001,
+    0xffc00001ffffffff, 0xffc00003ffc00003,
+    0xffc00003ffffffff, 0xffc00007ffc00007,
+    0xffc00007ffffffff, 0xffc0000fffc0000f,
+    0xffc0000fffffffff, 0xffc0001fffc0001f,
+    0xffc0001fffffffff, 0xffc0003fffc0003f,
+    0xffc0003fffffffff, 0xffc0007fffc0007f,
+    0xffc0007fffffffff, 0xffc000ffffc000ff,
+    0xffc000ffffffffff, 0xffc001ffffc001ff,
+    0xffc001ffffffffff, 0xffc003ffffc003ff,
+    0xffc003ffffffffff, 0xffc007ffffc007ff,
+    0xffc007ffffffffff, 0xffc00fffffc00fff,
+    0xffc00fffffffffff, 0xffc01fffffc01fff,
+    0xffc01fffffffffff, 0xffc03fffffc03fff,
+    0xffc03fffffffffff, 0xffc07fffffc07fff,
+    0xffc07fffffffffff, 0xffc0ffc0ffc0ffc0,
+    0xffc0ffffffc0ffff, 0xffc0ffffffffffff,
+    0xffc1ffc1ffc1ffc1, 0xffc1ffffffc1ffff,
+    0xffc1ffffffffffff, 0xffc3ffc3ffc3ffc3,
+    0xffc3ffffffc3ffff, 0xffc3ffffffffffff,
+    0xffc7ffc7ffc7ffc7, 0xffc7ffffffc7ffff,
+    0xffc7ffffffffffff, 0xffcfffcfffcfffcf,
+    0xffcfffffffcfffff, 0xffcfffffffffffff,
+    0xffdfffdfffdfffdf, 0xffdfffffffdfffff,
+    0xffdfffffffffffff, 0xffe0000000000000,
+    0xffe0000000000001, 0xffe0000000000003,
+    0xffe0000000000007, 0xffe000000000000f,
+    0xffe000000000001f, 0xffe000000000003f,
+    0xffe000000000007f, 0xffe00000000000ff,
+    0xffe00000000001ff, 0xffe00000000003ff,
+    0xffe00000000007ff, 0xffe0000000000fff,
+    0xffe0000000001fff, 0xffe0000000003fff,
+    0xffe0000000007fff, 0xffe000000000ffff,
+    0xffe000000001ffff, 0xffe000000003ffff,
+    0xffe000000007ffff, 0xffe00000000fffff,
+    0xffe00000001fffff, 0xffe00000003fffff,
+    0xffe00000007fffff, 0xffe0000000ffffff,
+    0xffe0000001ffffff, 0xffe0000003ffffff,
+    0xffe0000007ffffff, 0xffe000000fffffff,
+    0xffe000001fffffff, 0xffe000003fffffff,
+    0xffe000007fffffff, 0xffe00000ffe00000,
+    0xffe00000ffffffff, 0xffe00001ffe00001,
+    0xffe00001ffffffff, 0xffe00003ffe00003,
+    0xffe00003ffffffff, 0xffe00007ffe00007,
+    0xffe00007ffffffff, 0xffe0000fffe0000f,
+    0xffe0000fffffffff, 0xffe0001fffe0001f,
+    0xffe0001fffffffff, 0xffe0003fffe0003f,
+    0xffe0003fffffffff, 0xffe0007fffe0007f,
+    0xffe0007fffffffff, 0xffe000ffffe000ff,
+    0xffe000ffffffffff, 0xffe001ffffe001ff,
+    0xffe001ffffffffff, 0xffe003ffffe003ff,
+    0xffe003ffffffffff, 0xffe007ffffe007ff,
+    0xffe007ffffffffff, 0xffe00fffffe00fff,
+    0xffe00fffffffffff, 0xffe01fffffe01fff,
+    0xffe01fffffffffff, 0xffe03fffffe03fff,
+    0xffe03fffffffffff, 0xffe07fffffe07fff,
+    0xffe07fffffffffff, 0xffe0ffe0ffe0ffe0,
+    0xffe0ffffffe0ffff, 0xffe0ffffffffffff,
+    0xffe1ffe1ffe1ffe1, 0xffe1ffffffe1ffff,
+    0xffe1ffffffffffff, 0xffe3ffe3ffe3ffe3,
+    0xffe3ffffffe3ffff, 0xffe3ffffffffffff,
+    0xffe7ffe7ffe7ffe7, 0xffe7ffffffe7ffff,
+    0xffe7ffffffffffff, 0xffefffefffefffef,
+    0xffefffffffefffff, 0xffefffffffffffff,
+    0xfff0000000000000, 0xfff0000000000001,
+    0xfff0000000000003, 0xfff0000000000007,
+    0xfff000000000000f, 0xfff000000000001f,
+    0xfff000000000003f, 0xfff000000000007f,
+    0xfff00000000000ff, 0xfff00000000001ff,
+    0xfff00000000003ff, 0xfff00000000007ff,
+    0xfff0000000000fff, 0xfff0000000001fff,
+    0xfff0000000003fff, 0xfff0000000007fff,
+    0xfff000000000ffff, 0xfff000000001ffff,
+    0xfff000000003ffff, 0xfff000000007ffff,
+    0xfff00000000fffff, 0xfff00000001fffff,
+    0xfff00000003fffff, 0xfff00000007fffff,
+    0xfff0000000ffffff, 0xfff0000001ffffff,
+    0xfff0000003ffffff, 0xfff0000007ffffff,
+    0xfff000000fffffff, 0xfff000001fffffff,
+    0xfff000003fffffff, 0xfff000007fffffff,
+    0xfff00000fff00000, 0xfff00000ffffffff,
+    0xfff00001fff00001, 0xfff00001ffffffff,
+    0xfff00003fff00003, 0xfff00003ffffffff,
+    0xfff00007fff00007, 0xfff00007ffffffff,
+    0xfff0000ffff0000f, 0xfff0000fffffffff,
+    0xfff0001ffff0001f, 0xfff0001fffffffff,
+    0xfff0003ffff0003f, 0xfff0003fffffffff,
+    0xfff0007ffff0007f, 0xfff0007fffffffff,
+    0xfff000fffff000ff, 0xfff000ffffffffff,
+    0xfff001fffff001ff, 0xfff001ffffffffff,
+    0xfff003fffff003ff, 0xfff003ffffffffff,
+    0xfff007fffff007ff, 0xfff007ffffffffff,
+    0xfff00ffffff00fff, 0xfff00fffffffffff,
+    0xfff01ffffff01fff, 0xfff01fffffffffff,
+    0xfff03ffffff03fff, 0xfff03fffffffffff,
+    0xfff07ffffff07fff, 0xfff07fffffffffff,
+    0xfff0fff0fff0fff0, 0xfff0fffffff0ffff,
+    0xfff0ffffffffffff, 0xfff1fff1fff1fff1,
+    0xfff1fffffff1ffff, 0xfff1ffffffffffff,
+    0xfff3fff3fff3fff3, 0xfff3fffffff3ffff,
+    0xfff3ffffffffffff, 0xfff7fff7fff7fff7,
+    0xfff7fffffff7ffff, 0xfff7ffffffffffff,
+    0xfff8000000000000, 0xfff8000000000001,
+    0xfff8000000000003, 0xfff8000000000007,
+    0xfff800000000000f, 0xfff800000000001f,
+    0xfff800000000003f, 0xfff800000000007f,
+    0xfff80000000000ff, 0xfff80000000001ff,
+    0xfff80000000003ff, 0xfff80000000007ff,
+    0xfff8000000000fff, 0xfff8000000001fff,
+    0xfff8000000003fff, 0xfff8000000007fff,
+    0xfff800000000ffff, 0xfff800000001ffff,
+    0xfff800000003ffff, 0xfff800000007ffff,
+    0xfff80000000fffff, 0xfff80000001fffff,
+    0xfff80000003fffff, 0xfff80000007fffff,
+    0xfff8000000ffffff, 0xfff8000001ffffff,
+    0xfff8000003ffffff, 0xfff8000007ffffff,
+    0xfff800000fffffff, 0xfff800001fffffff,
+    0xfff800003fffffff, 0xfff800007fffffff,
+    0xfff80000fff80000, 0xfff80000ffffffff,
+    0xfff80001fff80001, 0xfff80001ffffffff,
+    0xfff80003fff80003, 0xfff80003ffffffff,
+    0xfff80007fff80007, 0xfff80007ffffffff,
+    0xfff8000ffff8000f, 0xfff8000fffffffff,
+    0xfff8001ffff8001f, 0xfff8001fffffffff,
+    0xfff8003ffff8003f, 0xfff8003fffffffff,
+    0xfff8007ffff8007f, 0xfff8007fffffffff,
+    0xfff800fffff800ff, 0xfff800ffffffffff,
+    0xfff801fffff801ff, 0xfff801ffffffffff,
+    0xfff803fffff803ff, 0xfff803ffffffffff,
+    0xfff807fffff807ff, 0xfff807ffffffffff,
+    0xfff80ffffff80fff, 0xfff80fffffffffff,
+    0xfff81ffffff81fff, 0xfff81fffffffffff,
+    0xfff83ffffff83fff, 0xfff83fffffffffff,
+    0xfff87ffffff87fff, 0xfff87fffffffffff,
+    0xfff8fff8fff8fff8, 0xfff8fffffff8ffff,
+    0xfff8ffffffffffff, 0xfff9fff9fff9fff9,
+    0xfff9fffffff9ffff, 0xfff9ffffffffffff,
+    0xfffbfffbfffbfffb, 0xfffbfffffffbffff,
+    0xfffbffffffffffff, 0xfffc000000000000,
+    0xfffc000000000001, 0xfffc000000000003,
+    0xfffc000000000007, 0xfffc00000000000f,
+    0xfffc00000000001f, 0xfffc00000000003f,
+    0xfffc00000000007f, 0xfffc0000000000ff,
+    0xfffc0000000001ff, 0xfffc0000000003ff,
+    0xfffc0000000007ff, 0xfffc000000000fff,
+    0xfffc000000001fff, 0xfffc000000003fff,
+    0xfffc000000007fff, 0xfffc00000000ffff,
+    0xfffc00000001ffff, 0xfffc00000003ffff,
+    0xfffc00000007ffff, 0xfffc0000000fffff,
+    0xfffc0000001fffff, 0xfffc0000003fffff,
+    0xfffc0000007fffff, 0xfffc000000ffffff,
+    0xfffc000001ffffff, 0xfffc000003ffffff,
+    0xfffc000007ffffff, 0xfffc00000fffffff,
+    0xfffc00001fffffff, 0xfffc00003fffffff,
+    0xfffc00007fffffff, 0xfffc0000fffc0000,
+    0xfffc0000ffffffff, 0xfffc0001fffc0001,
+    0xfffc0001ffffffff, 0xfffc0003fffc0003,
+    0xfffc0003ffffffff, 0xfffc0007fffc0007,
+    0xfffc0007ffffffff, 0xfffc000ffffc000f,
+    0xfffc000fffffffff, 0xfffc001ffffc001f,
+    0xfffc001fffffffff, 0xfffc003ffffc003f,
+    0xfffc003fffffffff, 0xfffc007ffffc007f,
+    0xfffc007fffffffff, 0xfffc00fffffc00ff,
+    0xfffc00ffffffffff, 0xfffc01fffffc01ff,
+    0xfffc01ffffffffff, 0xfffc03fffffc03ff,
+    0xfffc03ffffffffff, 0xfffc07fffffc07ff,
+    0xfffc07ffffffffff, 0xfffc0ffffffc0fff,
+    0xfffc0fffffffffff, 0xfffc1ffffffc1fff,
+    0xfffc1fffffffffff, 0xfffc3ffffffc3fff,
+    0xfffc3fffffffffff, 0xfffc7ffffffc7fff,
+    0xfffc7fffffffffff, 0xfffcfffcfffcfffc,
+    0xfffcfffffffcffff, 0xfffcffffffffffff,
+    0xfffdfffdfffdfffd, 0xfffdfffffffdffff,
+    0xfffdffffffffffff, 0xfffe000000000000,
+    0xfffe000000000001, 0xfffe000000000003,
+    0xfffe000000000007, 0xfffe00000000000f,
+    0xfffe00000000001f, 0xfffe00000000003f,
+    0xfffe00000000007f, 0xfffe0000000000ff,
+    0xfffe0000000001ff, 0xfffe0000000003ff,
+    0xfffe0000000007ff, 0xfffe000000000fff,
+    0xfffe000000001fff, 0xfffe000000003fff,
+    0xfffe000000007fff, 0xfffe00000000ffff,
+    0xfffe00000001ffff, 0xfffe00000003ffff,
+    0xfffe00000007ffff, 0xfffe0000000fffff,
+    0xfffe0000001fffff, 0xfffe0000003fffff,
+    0xfffe0000007fffff, 0xfffe000000ffffff,
+    0xfffe000001ffffff, 0xfffe000003ffffff,
+    0xfffe000007ffffff, 0xfffe00000fffffff,
+    0xfffe00001fffffff, 0xfffe00003fffffff,
+    0xfffe00007fffffff, 0xfffe0000fffe0000,
+    0xfffe0000ffffffff, 0xfffe0001fffe0001,
+    0xfffe0001ffffffff, 0xfffe0003fffe0003,
+    0xfffe0003ffffffff, 0xfffe0007fffe0007,
+    0xfffe0007ffffffff, 0xfffe000ffffe000f,
+    0xfffe000fffffffff, 0xfffe001ffffe001f,
+    0xfffe001fffffffff, 0xfffe003ffffe003f,
+    0xfffe003fffffffff, 0xfffe007ffffe007f,
+    0xfffe007fffffffff, 0xfffe00fffffe00ff,
+    0xfffe00ffffffffff, 0xfffe01fffffe01ff,
+    0xfffe01ffffffffff, 0xfffe03fffffe03ff,
+    0xfffe03ffffffffff, 0xfffe07fffffe07ff,
+    0xfffe07ffffffffff, 0xfffe0ffffffe0fff,
+    0xfffe0fffffffffff, 0xfffe1ffffffe1fff,
+    0xfffe1fffffffffff, 0xfffe3ffffffe3fff,
+    0xfffe3fffffffffff, 0xfffe7ffffffe7fff,
+    0xfffe7fffffffffff, 0xfffefffefffefffe,
+    0xfffefffffffeffff, 0xfffeffffffffffff,
+    0xffff000000000000, 0xffff000000000001,
+    0xffff000000000003, 0xffff000000000007,
+    0xffff00000000000f, 0xffff00000000001f,
+    0xffff00000000003f, 0xffff00000000007f,
+    0xffff0000000000ff, 0xffff0000000001ff,
+    0xffff0000000003ff, 0xffff0000000007ff,
+    0xffff000000000fff, 0xffff000000001fff,
+    0xffff000000003fff, 0xffff000000007fff,
+    0xffff00000000ffff, 0xffff00000001ffff,
+    0xffff00000003ffff, 0xffff00000007ffff,
+    0xffff0000000fffff, 0xffff0000001fffff,
+    0xffff0000003fffff, 0xffff0000007fffff,
+    0xffff000000ffffff, 0xffff000001ffffff,
+    0xffff000003ffffff, 0xffff000007ffffff,
+    0xffff00000fffffff, 0xffff00001fffffff,
+    0xffff00003fffffff, 0xffff00007fffffff,
+    0xffff0000ffff0000, 0xffff0000ffffffff,
+    0xffff0001ffff0001, 0xffff0001ffffffff,
+    0xffff0003ffff0003, 0xffff0003ffffffff,
+    0xffff0007ffff0007, 0xffff0007ffffffff,
+    0xffff000fffff000f, 0xffff000fffffffff,
+    0xffff001fffff001f, 0xffff001fffffffff,
+    0xffff003fffff003f, 0xffff003fffffffff,
+    0xffff007fffff007f, 0xffff007fffffffff,
+    0xffff00ffffff00ff, 0xffff00ffffffffff,
+    0xffff01ffffff01ff, 0xffff01ffffffffff,
+    0xffff03ffffff03ff, 0xffff03ffffffffff,
+    0xffff07ffffff07ff, 0xffff07ffffffffff,
+    0xffff0fffffff0fff, 0xffff0fffffffffff,
+    0xffff1fffffff1fff, 0xffff1fffffffffff,
+    0xffff3fffffff3fff, 0xffff3fffffffffff,
+    0xffff7fffffff7fff, 0xffff7fffffffffff,
+    0xffff800000000000, 0xffff800000000001,
+    0xffff800000000003, 0xffff800000000007,
+    0xffff80000000000f, 0xffff80000000001f,
+    0xffff80000000003f, 0xffff80000000007f,
+    0xffff8000000000ff, 0xffff8000000001ff,
+    0xffff8000000003ff, 0xffff8000000007ff,
+    0xffff800000000fff, 0xffff800000001fff,
+    0xffff800000003fff, 0xffff800000007fff,
+    0xffff80000000ffff, 0xffff80000001ffff,
+    0xffff80000003ffff, 0xffff80000007ffff,
+    0xffff8000000fffff, 0xffff8000001fffff,
+    0xffff8000003fffff, 0xffff8000007fffff,
+    0xffff800000ffffff, 0xffff800001ffffff,
+    0xffff800003ffffff, 0xffff800007ffffff,
+    0xffff80000fffffff, 0xffff80001fffffff,
+    0xffff80003fffffff, 0xffff80007fffffff,
+    0xffff8000ffff8000, 0xffff8000ffffffff,
+    0xffff8001ffff8001, 0xffff8001ffffffff,
+    0xffff8003ffff8003, 0xffff8003ffffffff,
+    0xffff8007ffff8007, 0xffff8007ffffffff,
+    0xffff800fffff800f, 0xffff800fffffffff,
+    0xffff801fffff801f, 0xffff801fffffffff,
+    0xffff803fffff803f, 0xffff803fffffffff,
+    0xffff807fffff807f, 0xffff807fffffffff,
+    0xffff80ffffff80ff, 0xffff80ffffffffff,
+    0xffff81ffffff81ff, 0xffff81ffffffffff,
+    0xffff83ffffff83ff, 0xffff83ffffffffff,
+    0xffff87ffffff87ff, 0xffff87ffffffffff,
+    0xffff8fffffff8fff, 0xffff8fffffffffff,
+    0xffff9fffffff9fff, 0xffff9fffffffffff,
+    0xffffbfffffffbfff, 0xffffbfffffffffff,
+    0xffffc00000000000, 0xffffc00000000001,
+    0xffffc00000000003, 0xffffc00000000007,
+    0xffffc0000000000f, 0xffffc0000000001f,
+    0xffffc0000000003f, 0xffffc0000000007f,
+    0xffffc000000000ff, 0xffffc000000001ff,
+    0xffffc000000003ff, 0xffffc000000007ff,
+    0xffffc00000000fff, 0xffffc00000001fff,
+    0xffffc00000003fff, 0xffffc00000007fff,
+    0xffffc0000000ffff, 0xffffc0000001ffff,
+    0xffffc0000003ffff, 0xffffc0000007ffff,
+    0xffffc000000fffff, 0xffffc000001fffff,
+    0xffffc000003fffff, 0xffffc000007fffff,
+    0xffffc00000ffffff, 0xffffc00001ffffff,
+    0xffffc00003ffffff, 0xffffc00007ffffff,
+    0xffffc0000fffffff, 0xffffc0001fffffff,
+    0xffffc0003fffffff, 0xffffc0007fffffff,
+    0xffffc000ffffc000, 0xffffc000ffffffff,
+    0xffffc001ffffc001, 0xffffc001ffffffff,
+    0xffffc003ffffc003, 0xffffc003ffffffff,
+    0xffffc007ffffc007, 0xffffc007ffffffff,
+    0xffffc00fffffc00f, 0xffffc00fffffffff,
+    0xffffc01fffffc01f, 0xffffc01fffffffff,
+    0xffffc03fffffc03f, 0xffffc03fffffffff,
+    0xffffc07fffffc07f, 0xffffc07fffffffff,
+    0xffffc0ffffffc0ff, 0xffffc0ffffffffff,
+    0xffffc1ffffffc1ff, 0xffffc1ffffffffff,
+    0xffffc3ffffffc3ff, 0xffffc3ffffffffff,
+    0xffffc7ffffffc7ff, 0xffffc7ffffffffff,
+    0xffffcfffffffcfff, 0xffffcfffffffffff,
+    0xffffdfffffffdfff, 0xffffdfffffffffff,
+    0xffffe00000000000, 0xffffe00000000001,
+    0xffffe00000000003, 0xffffe00000000007,
+    0xffffe0000000000f, 0xffffe0000000001f,
+    0xffffe0000000003f, 0xffffe0000000007f,
+    0xffffe000000000ff, 0xffffe000000001ff,
+    0xffffe000000003ff, 0xffffe000000007ff,
+    0xffffe00000000fff, 0xffffe00000001fff,
+    0xffffe00000003fff, 0xffffe00000007fff,
+    0xffffe0000000ffff, 0xffffe0000001ffff,
+    0xffffe0000003ffff, 0xffffe0000007ffff,
+    0xffffe000000fffff, 0xffffe000001fffff,
+    0xffffe000003fffff, 0xffffe000007fffff,
+    0xffffe00000ffffff, 0xffffe00001ffffff,
+    0xffffe00003ffffff, 0xffffe00007ffffff,
+    0xffffe0000fffffff, 0xffffe0001fffffff,
+    0xffffe0003fffffff, 0xffffe0007fffffff,
+    0xffffe000ffffe000, 0xffffe000ffffffff,
+    0xffffe001ffffe001, 0xffffe001ffffffff,
+    0xffffe003ffffe003, 0xffffe003ffffffff,
+    0xffffe007ffffe007, 0xffffe007ffffffff,
+    0xffffe00fffffe00f, 0xffffe00fffffffff,
+    0xffffe01fffffe01f, 0xffffe01fffffffff,
+    0xffffe03fffffe03f, 0xffffe03fffffffff,
+    0xffffe07fffffe07f, 0xffffe07fffffffff,
+    0xffffe0ffffffe0ff, 0xffffe0ffffffffff,
+    0xffffe1ffffffe1ff, 0xffffe1ffffffffff,
+    0xffffe3ffffffe3ff, 0xffffe3ffffffffff,
+    0xffffe7ffffffe7ff, 0xffffe7ffffffffff,
+    0xffffefffffffefff, 0xffffefffffffffff,
+    0xfffff00000000000, 0xfffff00000000001,
+    0xfffff00000000003, 0xfffff00000000007,
+    0xfffff0000000000f, 0xfffff0000000001f,
+    0xfffff0000000003f, 0xfffff0000000007f,
+    0xfffff000000000ff, 0xfffff000000001ff,
+    0xfffff000000003ff, 0xfffff000000007ff,
+    0xfffff00000000fff, 0xfffff00000001fff,
+    0xfffff00000003fff, 0xfffff00000007fff,
+    0xfffff0000000ffff, 0xfffff0000001ffff,
+    0xfffff0000003ffff, 0xfffff0000007ffff,
+    0xfffff000000fffff, 0xfffff000001fffff,
+    0xfffff000003fffff, 0xfffff000007fffff,
+    0xfffff00000ffffff, 0xfffff00001ffffff,
+    0xfffff00003ffffff, 0xfffff00007ffffff,
+    0xfffff0000fffffff, 0xfffff0001fffffff,
+    0xfffff0003fffffff, 0xfffff0007fffffff,
+    0xfffff000fffff000, 0xfffff000ffffffff,
+    0xfffff001fffff001, 0xfffff001ffffffff,
+    0xfffff003fffff003, 0xfffff003ffffffff,
+    0xfffff007fffff007, 0xfffff007ffffffff,
+    0xfffff00ffffff00f, 0xfffff00fffffffff,
+    0xfffff01ffffff01f, 0xfffff01fffffffff,
+    0xfffff03ffffff03f, 0xfffff03fffffffff,
+    0xfffff07ffffff07f, 0xfffff07fffffffff,
+    0xfffff0fffffff0ff, 0xfffff0ffffffffff,
+    0xfffff1fffffff1ff, 0xfffff1ffffffffff,
+    0xfffff3fffffff3ff, 0xfffff3ffffffffff,
+    0xfffff7fffffff7ff, 0xfffff7ffffffffff,
+    0xfffff80000000000, 0xfffff80000000001,
+    0xfffff80000000003, 0xfffff80000000007,
+    0xfffff8000000000f, 0xfffff8000000001f,
+    0xfffff8000000003f, 0xfffff8000000007f,
+    0xfffff800000000ff, 0xfffff800000001ff,
+    0xfffff800000003ff, 0xfffff800000007ff,
+    0xfffff80000000fff, 0xfffff80000001fff,
+    0xfffff80000003fff, 0xfffff80000007fff,
+    0xfffff8000000ffff, 0xfffff8000001ffff,
+    0xfffff8000003ffff, 0xfffff8000007ffff,
+    0xfffff800000fffff, 0xfffff800001fffff,
+    0xfffff800003fffff, 0xfffff800007fffff,
+    0xfffff80000ffffff, 0xfffff80001ffffff,
+    0xfffff80003ffffff, 0xfffff80007ffffff,
+    0xfffff8000fffffff, 0xfffff8001fffffff,
+    0xfffff8003fffffff, 0xfffff8007fffffff,
+    0xfffff800fffff800, 0xfffff800ffffffff,
+    0xfffff801fffff801, 0xfffff801ffffffff,
+    0xfffff803fffff803, 0xfffff803ffffffff,
+    0xfffff807fffff807, 0xfffff807ffffffff,
+    0xfffff80ffffff80f, 0xfffff80fffffffff,
+    0xfffff81ffffff81f, 0xfffff81fffffffff,
+    0xfffff83ffffff83f, 0xfffff83fffffffff,
+    0xfffff87ffffff87f, 0xfffff87fffffffff,
+    0xfffff8fffffff8ff, 0xfffff8ffffffffff,
+    0xfffff9fffffff9ff, 0xfffff9ffffffffff,
+    0xfffffbfffffffbff, 0xfffffbffffffffff,
+    0xfffffc0000000000, 0xfffffc0000000001,
+    0xfffffc0000000003, 0xfffffc0000000007,
+    0xfffffc000000000f, 0xfffffc000000001f,
+    0xfffffc000000003f, 0xfffffc000000007f,
+    0xfffffc00000000ff, 0xfffffc00000001ff,
+    0xfffffc00000003ff, 0xfffffc00000007ff,
+    0xfffffc0000000fff, 0xfffffc0000001fff,
+    0xfffffc0000003fff, 0xfffffc0000007fff,
+    0xfffffc000000ffff, 0xfffffc000001ffff,
+    0xfffffc000003ffff, 0xfffffc000007ffff,
+    0xfffffc00000fffff, 0xfffffc00001fffff,
+    0xfffffc00003fffff, 0xfffffc00007fffff,
+    0xfffffc0000ffffff, 0xfffffc0001ffffff,
+    0xfffffc0003ffffff, 0xfffffc0007ffffff,
+    0xfffffc000fffffff, 0xfffffc001fffffff,
+    0xfffffc003fffffff, 0xfffffc007fffffff,
+    0xfffffc00fffffc00, 0xfffffc00ffffffff,
+    0xfffffc01fffffc01, 0xfffffc01ffffffff,
+    0xfffffc03fffffc03, 0xfffffc03ffffffff,
+    0xfffffc07fffffc07, 0xfffffc07ffffffff,
+    0xfffffc0ffffffc0f, 0xfffffc0fffffffff,
+    0xfffffc1ffffffc1f, 0xfffffc1fffffffff,
+    0xfffffc3ffffffc3f, 0xfffffc3fffffffff,
+    0xfffffc7ffffffc7f, 0xfffffc7fffffffff,
+    0xfffffcfffffffcff, 0xfffffcffffffffff,
+    0xfffffdfffffffdff, 0xfffffdffffffffff,
+    0xfffffe0000000000, 0xfffffe0000000001,
+    0xfffffe0000000003, 0xfffffe0000000007,
+    0xfffffe000000000f, 0xfffffe000000001f,
+    0xfffffe000000003f, 0xfffffe000000007f,
+    0xfffffe00000000ff, 0xfffffe00000001ff,
+    0xfffffe00000003ff, 0xfffffe00000007ff,
+    0xfffffe0000000fff, 0xfffffe0000001fff,
+    0xfffffe0000003fff, 0xfffffe0000007fff,
+    0xfffffe000000ffff, 0xfffffe000001ffff,
+    0xfffffe000003ffff, 0xfffffe000007ffff,
+    0xfffffe00000fffff, 0xfffffe00001fffff,
+    0xfffffe00003fffff, 0xfffffe00007fffff,
+    0xfffffe0000ffffff, 0xfffffe0001ffffff,
+    0xfffffe0003ffffff, 0xfffffe0007ffffff,
+    0xfffffe000fffffff, 0xfffffe001fffffff,
+    0xfffffe003fffffff, 0xfffffe007fffffff,
+    0xfffffe00fffffe00, 0xfffffe00ffffffff,
+    0xfffffe01fffffe01, 0xfffffe01ffffffff,
+    0xfffffe03fffffe03, 0xfffffe03ffffffff,
+    0xfffffe07fffffe07, 0xfffffe07ffffffff,
+    0xfffffe0ffffffe0f, 0xfffffe0fffffffff,
+    0xfffffe1ffffffe1f, 0xfffffe1fffffffff,
+    0xfffffe3ffffffe3f, 0xfffffe3fffffffff,
+    0xfffffe7ffffffe7f, 0xfffffe7fffffffff,
+    0xfffffefffffffeff, 0xfffffeffffffffff,
+    0xffffff0000000000, 0xffffff0000000001,
+    0xffffff0000000003, 0xffffff0000000007,
+    0xffffff000000000f, 0xffffff000000001f,
+    0xffffff000000003f, 0xffffff000000007f,
+    0xffffff00000000ff, 0xffffff00000001ff,
+    0xffffff00000003ff, 0xffffff00000007ff,
+    0xffffff0000000fff, 0xffffff0000001fff,
+    0xffffff0000003fff, 0xffffff0000007fff,
+    0xffffff000000ffff, 0xffffff000001ffff,
+    0xffffff000003ffff, 0xffffff000007ffff,
+    0xffffff00000fffff, 0xffffff00001fffff,
+    0xffffff00003fffff, 0xffffff00007fffff,
+    0xffffff0000ffffff, 0xffffff0001ffffff,
+    0xffffff0003ffffff, 0xffffff0007ffffff,
+    0xffffff000fffffff, 0xffffff001fffffff,
+    0xffffff003fffffff, 0xffffff007fffffff,
+    0xffffff00ffffff00, 0xffffff00ffffffff,
+    0xffffff01ffffff01, 0xffffff01ffffffff,
+    0xffffff03ffffff03, 0xffffff03ffffffff,
+    0xffffff07ffffff07, 0xffffff07ffffffff,
+    0xffffff0fffffff0f, 0xffffff0fffffffff,
+    0xffffff1fffffff1f, 0xffffff1fffffffff,
+    0xffffff3fffffff3f, 0xffffff3fffffffff,
+    0xffffff7fffffff7f, 0xffffff7fffffffff,
+    0xffffff8000000000, 0xffffff8000000001,
+    0xffffff8000000003, 0xffffff8000000007,
+    0xffffff800000000f, 0xffffff800000001f,
+    0xffffff800000003f, 0xffffff800000007f,
+    0xffffff80000000ff, 0xffffff80000001ff,
+    0xffffff80000003ff, 0xffffff80000007ff,
+    0xffffff8000000fff, 0xffffff8000001fff,
+    0xffffff8000003fff, 0xffffff8000007fff,
+    0xffffff800000ffff, 0xffffff800001ffff,
+    0xffffff800003ffff, 0xffffff800007ffff,
+    0xffffff80000fffff, 0xffffff80001fffff,
+    0xffffff80003fffff, 0xffffff80007fffff,
+    0xffffff8000ffffff, 0xffffff8001ffffff,
+    0xffffff8003ffffff, 0xffffff8007ffffff,
+    0xffffff800fffffff, 0xffffff801fffffff,
+    0xffffff803fffffff, 0xffffff807fffffff,
+    0xffffff80ffffff80, 0xffffff80ffffffff,
+    0xffffff81ffffff81, 0xffffff81ffffffff,
+    0xffffff83ffffff83, 0xffffff83ffffffff,
+    0xffffff87ffffff87, 0xffffff87ffffffff,
+    0xffffff8fffffff8f, 0xffffff8fffffffff,
+    0xffffff9fffffff9f, 0xffffff9fffffffff,
+    0xffffffbfffffffbf, 0xffffffbfffffffff,
+    0xffffffc000000000, 0xffffffc000000001,
+    0xffffffc000000003, 0xffffffc000000007,
+    0xffffffc00000000f, 0xffffffc00000001f,
+    0xffffffc00000003f, 0xffffffc00000007f,
+    0xffffffc0000000ff, 0xffffffc0000001ff,
+    0xffffffc0000003ff, 0xffffffc0000007ff,
+    0xffffffc000000fff, 0xffffffc000001fff,
+    0xffffffc000003fff, 0xffffffc000007fff,
+    0xffffffc00000ffff, 0xffffffc00001ffff,
+    0xffffffc00003ffff, 0xffffffc00007ffff,
+    0xffffffc0000fffff, 0xffffffc0001fffff,
+    0xffffffc0003fffff, 0xffffffc0007fffff,
+    0xffffffc000ffffff, 0xffffffc001ffffff,
+    0xffffffc003ffffff, 0xffffffc007ffffff,
+    0xffffffc00fffffff, 0xffffffc01fffffff,
+    0xffffffc03fffffff, 0xffffffc07fffffff,
+    0xffffffc0ffffffc0, 0xffffffc0ffffffff,
+    0xffffffc1ffffffc1, 0xffffffc1ffffffff,
+    0xffffffc3ffffffc3, 0xffffffc3ffffffff,
+    0xffffffc7ffffffc7, 0xffffffc7ffffffff,
+    0xffffffcfffffffcf, 0xffffffcfffffffff,
+    0xffffffdfffffffdf, 0xffffffdfffffffff,
+    0xffffffe000000000, 0xffffffe000000001,
+    0xffffffe000000003, 0xffffffe000000007,
+    0xffffffe00000000f, 0xffffffe00000001f,
+    0xffffffe00000003f, 0xffffffe00000007f,
+    0xffffffe0000000ff, 0xffffffe0000001ff,
+    0xffffffe0000003ff, 0xffffffe0000007ff,
+    0xffffffe000000fff, 0xffffffe000001fff,
+    0xffffffe000003fff, 0xffffffe000007fff,
+    0xffffffe00000ffff, 0xffffffe00001ffff,
+    0xffffffe00003ffff, 0xffffffe00007ffff,
+    0xffffffe0000fffff, 0xffffffe0001fffff,
+    0xffffffe0003fffff, 0xffffffe0007fffff,
+    0xffffffe000ffffff, 0xffffffe001ffffff,
+    0xffffffe003ffffff, 0xffffffe007ffffff,
+    0xffffffe00fffffff, 0xffffffe01fffffff,
+    0xffffffe03fffffff, 0xffffffe07fffffff,
+    0xffffffe0ffffffe0, 0xffffffe0ffffffff,
+    0xffffffe1ffffffe1, 0xffffffe1ffffffff,
+    0xffffffe3ffffffe3, 0xffffffe3ffffffff,
+    0xffffffe7ffffffe7, 0xffffffe7ffffffff,
+    0xffffffefffffffef, 0xffffffefffffffff,
+    0xfffffff000000000, 0xfffffff000000001,
+    0xfffffff000000003, 0xfffffff000000007,
+    0xfffffff00000000f, 0xfffffff00000001f,
+    0xfffffff00000003f, 0xfffffff00000007f,
+    0xfffffff0000000ff, 0xfffffff0000001ff,
+    0xfffffff0000003ff, 0xfffffff0000007ff,
+    0xfffffff000000fff, 0xfffffff000001fff,
+    0xfffffff000003fff, 0xfffffff000007fff,
+    0xfffffff00000ffff, 0xfffffff00001ffff,
+    0xfffffff00003ffff, 0xfffffff00007ffff,
+    0xfffffff0000fffff, 0xfffffff0001fffff,
+    0xfffffff0003fffff, 0xfffffff0007fffff,
+    0xfffffff000ffffff, 0xfffffff001ffffff,
+    0xfffffff003ffffff, 0xfffffff007ffffff,
+    0xfffffff00fffffff, 0xfffffff01fffffff,
+    0xfffffff03fffffff, 0xfffffff07fffffff,
+    0xfffffff0fffffff0, 0xfffffff0ffffffff,
+    0xfffffff1fffffff1, 0xfffffff1ffffffff,
+    0xfffffff3fffffff3, 0xfffffff3ffffffff,
+    0xfffffff7fffffff7, 0xfffffff7ffffffff,
+    0xfffffff800000000, 0xfffffff800000001,
+    0xfffffff800000003, 0xfffffff800000007,
+    0xfffffff80000000f, 0xfffffff80000001f,
+    0xfffffff80000003f, 0xfffffff80000007f,
+    0xfffffff8000000ff, 0xfffffff8000001ff,
+    0xfffffff8000003ff, 0xfffffff8000007ff,
+    0xfffffff800000fff, 0xfffffff800001fff,
+    0xfffffff800003fff, 0xfffffff800007fff,
+    0xfffffff80000ffff, 0xfffffff80001ffff,
+    0xfffffff80003ffff, 0xfffffff80007ffff,
+    0xfffffff8000fffff, 0xfffffff8001fffff,
+    0xfffffff8003fffff, 0xfffffff8007fffff,
+    0xfffffff800ffffff, 0xfffffff801ffffff,
+    0xfffffff803ffffff, 0xfffffff807ffffff,
+    0xfffffff80fffffff, 0xfffffff81fffffff,
+    0xfffffff83fffffff, 0xfffffff87fffffff,
+    0xfffffff8fffffff8, 0xfffffff8ffffffff,
+    0xfffffff9fffffff9, 0xfffffff9ffffffff,
+    0xfffffffbfffffffb, 0xfffffffbffffffff,
+    0xfffffffc00000000, 0xfffffffc00000001,
+    0xfffffffc00000003, 0xfffffffc00000007,
+    0xfffffffc0000000f, 0xfffffffc0000001f,
+    0xfffffffc0000003f, 0xfffffffc0000007f,
+    0xfffffffc000000ff, 0xfffffffc000001ff,
+    0xfffffffc000003ff, 0xfffffffc000007ff,
+    0xfffffffc00000fff, 0xfffffffc00001fff,
+    0xfffffffc00003fff, 0xfffffffc00007fff,
+    0xfffffffc0000ffff, 0xfffffffc0001ffff,
+    0xfffffffc0003ffff, 0xfffffffc0007ffff,
+    0xfffffffc000fffff, 0xfffffffc001fffff,
+    0xfffffffc003fffff, 0xfffffffc007fffff,
+    0xfffffffc00ffffff, 0xfffffffc01ffffff,
+    0xfffffffc03ffffff, 0xfffffffc07ffffff,
+    0xfffffffc0fffffff, 0xfffffffc1fffffff,
+    0xfffffffc3fffffff, 0xfffffffc7fffffff,
+    0xfffffffcfffffffc, 0xfffffffcffffffff,
+    0xfffffffdfffffffd, 0xfffffffdffffffff,
+    0xfffffffe00000000, 0xfffffffe00000001,
+    0xfffffffe00000003, 0xfffffffe00000007,
+    0xfffffffe0000000f, 0xfffffffe0000001f,
+    0xfffffffe0000003f, 0xfffffffe0000007f,
+    0xfffffffe000000ff, 0xfffffffe000001ff,
+    0xfffffffe000003ff, 0xfffffffe000007ff,
+    0xfffffffe00000fff, 0xfffffffe00001fff,
+    0xfffffffe00003fff, 0xfffffffe00007fff,
+    0xfffffffe0000ffff, 0xfffffffe0001ffff,
+    0xfffffffe0003ffff, 0xfffffffe0007ffff,
+    0xfffffffe000fffff, 0xfffffffe001fffff,
+    0xfffffffe003fffff, 0xfffffffe007fffff,
+    0xfffffffe00ffffff, 0xfffffffe01ffffff,
+    0xfffffffe03ffffff, 0xfffffffe07ffffff,
+    0xfffffffe0fffffff, 0xfffffffe1fffffff,
+    0xfffffffe3fffffff, 0xfffffffe7fffffff,
+    0xfffffffefffffffe, 0xfffffffeffffffff,
+    0xffffffff00000000, 0xffffffff00000001,
+    0xffffffff00000003, 0xffffffff00000007,
+    0xffffffff0000000f, 0xffffffff0000001f,
+    0xffffffff0000003f, 0xffffffff0000007f,
+    0xffffffff000000ff, 0xffffffff000001ff,
+    0xffffffff000003ff, 0xffffffff000007ff,
+    0xffffffff00000fff, 0xffffffff00001fff,
+    0xffffffff00003fff, 0xffffffff00007fff,
+    0xffffffff0000ffff, 0xffffffff0001ffff,
+    0xffffffff0003ffff, 0xffffffff0007ffff,
+    0xffffffff000fffff, 0xffffffff001fffff,
+    0xffffffff003fffff, 0xffffffff007fffff,
+    0xffffffff00ffffff, 0xffffffff01ffffff,
+    0xffffffff03ffffff, 0xffffffff07ffffff,
+    0xffffffff0fffffff, 0xffffffff1fffffff,
+    0xffffffff3fffffff, 0xffffffff7fffffff,
+    0xffffffff80000000, 0xffffffff80000001,
+    0xffffffff80000003, 0xffffffff80000007,
+    0xffffffff8000000f, 0xffffffff8000001f,
+    0xffffffff8000003f, 0xffffffff8000007f,
+    0xffffffff800000ff, 0xffffffff800001ff,
+    0xffffffff800003ff, 0xffffffff800007ff,
+    0xffffffff80000fff, 0xffffffff80001fff,
+    0xffffffff80003fff, 0xffffffff80007fff,
+    0xffffffff8000ffff, 0xffffffff8001ffff,
+    0xffffffff8003ffff, 0xffffffff8007ffff,
+    0xffffffff800fffff, 0xffffffff801fffff,
+    0xffffffff803fffff, 0xffffffff807fffff,
+    0xffffffff80ffffff, 0xffffffff81ffffff,
+    0xffffffff83ffffff, 0xffffffff87ffffff,
+    0xffffffff8fffffff, 0xffffffff9fffffff,
+    0xffffffffbfffffff, 0xffffffffc0000000,
+    0xffffffffc0000001, 0xffffffffc0000003,
+    0xffffffffc0000007, 0xffffffffc000000f,
+    0xffffffffc000001f, 0xffffffffc000003f,
+    0xffffffffc000007f, 0xffffffffc00000ff,
+    0xffffffffc00001ff, 0xffffffffc00003ff,
+    0xffffffffc00007ff, 0xffffffffc0000fff,
+    0xffffffffc0001fff, 0xffffffffc0003fff,
+    0xffffffffc0007fff, 0xffffffffc000ffff,
+    0xffffffffc001ffff, 0xffffffffc003ffff,
+    0xffffffffc007ffff, 0xffffffffc00fffff,
+    0xffffffffc01fffff, 0xffffffffc03fffff,
+    0xffffffffc07fffff, 0xffffffffc0ffffff,
+    0xffffffffc1ffffff, 0xffffffffc3ffffff,
+    0xffffffffc7ffffff, 0xffffffffcfffffff,
+    0xffffffffdfffffff, 0xffffffffe0000000,
+    0xffffffffe0000001, 0xffffffffe0000003,
+    0xffffffffe0000007, 0xffffffffe000000f,
+    0xffffffffe000001f, 0xffffffffe000003f,
+    0xffffffffe000007f, 0xffffffffe00000ff,
+    0xffffffffe00001ff, 0xffffffffe00003ff,
+    0xffffffffe00007ff, 0xffffffffe0000fff,
+    0xffffffffe0001fff, 0xffffffffe0003fff,
+    0xffffffffe0007fff, 0xffffffffe000ffff,
+    0xffffffffe001ffff, 0xffffffffe003ffff,
+    0xffffffffe007ffff, 0xffffffffe00fffff,
+    0xffffffffe01fffff, 0xffffffffe03fffff,
+    0xffffffffe07fffff, 0xffffffffe0ffffff,
+    0xffffffffe1ffffff, 0xffffffffe3ffffff,
+    0xffffffffe7ffffff, 0xffffffffefffffff,
+    0xfffffffff0000000, 0xfffffffff0000001,
+    0xfffffffff0000003, 0xfffffffff0000007,
+    0xfffffffff000000f, 0xfffffffff000001f,
+    0xfffffffff000003f, 0xfffffffff000007f,
+    0xfffffffff00000ff, 0xfffffffff00001ff,
+    0xfffffffff00003ff, 0xfffffffff00007ff,
+    0xfffffffff0000fff, 0xfffffffff0001fff,
+    0xfffffffff0003fff, 0xfffffffff0007fff,
+    0xfffffffff000ffff, 0xfffffffff001ffff,
+    0xfffffffff003ffff, 0xfffffffff007ffff,
+    0xfffffffff00fffff, 0xfffffffff01fffff,
+    0xfffffffff03fffff, 0xfffffffff07fffff,
+    0xfffffffff0ffffff, 0xfffffffff1ffffff,
+    0xfffffffff3ffffff, 0xfffffffff7ffffff,
+    0xfffffffff8000000, 0xfffffffff8000001,
+    0xfffffffff8000003, 0xfffffffff8000007,
+    0xfffffffff800000f, 0xfffffffff800001f,
+    0xfffffffff800003f, 0xfffffffff800007f,
+    0xfffffffff80000ff, 0xfffffffff80001ff,
+    0xfffffffff80003ff, 0xfffffffff80007ff,
+    0xfffffffff8000fff, 0xfffffffff8001fff,
+    0xfffffffff8003fff, 0xfffffffff8007fff,
+    0xfffffffff800ffff, 0xfffffffff801ffff,
+    0xfffffffff803ffff, 0xfffffffff807ffff,
+    0xfffffffff80fffff, 0xfffffffff81fffff,
+    0xfffffffff83fffff, 0xfffffffff87fffff,
+    0xfffffffff8ffffff, 0xfffffffff9ffffff,
+    0xfffffffffbffffff, 0xfffffffffc000000,
+    0xfffffffffc000001, 0xfffffffffc000003,
+    0xfffffffffc000007, 0xfffffffffc00000f,
+    0xfffffffffc00001f, 0xfffffffffc00003f,
+    0xfffffffffc00007f, 0xfffffffffc0000ff,
+    0xfffffffffc0001ff, 0xfffffffffc0003ff,
+    0xfffffffffc0007ff, 0xfffffffffc000fff,
+    0xfffffffffc001fff, 0xfffffffffc003fff,
+    0xfffffffffc007fff, 0xfffffffffc00ffff,
+    0xfffffffffc01ffff, 0xfffffffffc03ffff,
+    0xfffffffffc07ffff, 0xfffffffffc0fffff,
+    0xfffffffffc1fffff, 0xfffffffffc3fffff,
+    0xfffffffffc7fffff, 0xfffffffffcffffff,
+    0xfffffffffdffffff, 0xfffffffffe000000,
+    0xfffffffffe000001, 0xfffffffffe000003,
+    0xfffffffffe000007, 0xfffffffffe00000f,
+    0xfffffffffe00001f, 0xfffffffffe00003f,
+    0xfffffffffe00007f, 0xfffffffffe0000ff,
+    0xfffffffffe0001ff, 0xfffffffffe0003ff,
+    0xfffffffffe0007ff, 0xfffffffffe000fff,
+    0xfffffffffe001fff, 0xfffffffffe003fff,
+    0xfffffffffe007fff, 0xfffffffffe00ffff,
+    0xfffffffffe01ffff, 0xfffffffffe03ffff,
+    0xfffffffffe07ffff, 0xfffffffffe0fffff,
+    0xfffffffffe1fffff, 0xfffffffffe3fffff,
+    0xfffffffffe7fffff, 0xfffffffffeffffff,
+    0xffffffffff000000, 0xffffffffff000001,
+    0xffffffffff000003, 0xffffffffff000007,
+    0xffffffffff00000f, 0xffffffffff00001f,
+    0xffffffffff00003f, 0xffffffffff00007f,
+    0xffffffffff0000ff, 0xffffffffff0001ff,
+    0xffffffffff0003ff, 0xffffffffff0007ff,
+    0xffffffffff000fff, 0xffffffffff001fff,
+    0xffffffffff003fff, 0xffffffffff007fff,
+    0xffffffffff00ffff, 0xffffffffff01ffff,
+    0xffffffffff03ffff, 0xffffffffff07ffff,
+    0xffffffffff0fffff, 0xffffffffff1fffff,
+    0xffffffffff3fffff, 0xffffffffff7fffff,
+    0xffffffffff800000, 0xffffffffff800001,
+    0xffffffffff800003, 0xffffffffff800007,
+    0xffffffffff80000f, 0xffffffffff80001f,
+    0xffffffffff80003f, 0xffffffffff80007f,
+    0xffffffffff8000ff, 0xffffffffff8001ff,
+    0xffffffffff8003ff, 0xffffffffff8007ff,
+    0xffffffffff800fff, 0xffffffffff801fff,
+    0xffffffffff803fff, 0xffffffffff807fff,
+    0xffffffffff80ffff, 0xffffffffff81ffff,
+    0xffffffffff83ffff, 0xffffffffff87ffff,
+    0xffffffffff8fffff, 0xffffffffff9fffff,
+    0xffffffffffbfffff, 0xffffffffffc00000,
+    0xffffffffffc00001, 0xffffffffffc00003,
+    0xffffffffffc00007, 0xffffffffffc0000f,
+    0xffffffffffc0001f, 0xffffffffffc0003f,
+    0xffffffffffc0007f, 0xffffffffffc000ff,
+    0xffffffffffc001ff, 0xffffffffffc003ff,
+    0xffffffffffc007ff, 0xffffffffffc00fff,
+    0xffffffffffc01fff, 0xffffffffffc03fff,
+    0xffffffffffc07fff, 0xffffffffffc0ffff,
+    0xffffffffffc1ffff, 0xffffffffffc3ffff,
+    0xffffffffffc7ffff, 0xffffffffffcfffff,
+    0xffffffffffdfffff, 0xffffffffffe00000,
+    0xffffffffffe00001, 0xffffffffffe00003,
+    0xffffffffffe00007, 0xffffffffffe0000f,
+    0xffffffffffe0001f, 0xffffffffffe0003f,
+    0xffffffffffe0007f, 0xffffffffffe000ff,
+    0xffffffffffe001ff, 0xffffffffffe003ff,
+    0xffffffffffe007ff, 0xffffffffffe00fff,
+    0xffffffffffe01fff, 0xffffffffffe03fff,
+    0xffffffffffe07fff, 0xffffffffffe0ffff,
+    0xffffffffffe1ffff, 0xffffffffffe3ffff,
+    0xffffffffffe7ffff, 0xffffffffffefffff,
+    0xfffffffffff00000, 0xfffffffffff00001,
+    0xfffffffffff00003, 0xfffffffffff00007,
+    0xfffffffffff0000f, 0xfffffffffff0001f,
+    0xfffffffffff0003f, 0xfffffffffff0007f,
+    0xfffffffffff000ff, 0xfffffffffff001ff,
+    0xfffffffffff003ff, 0xfffffffffff007ff,
+    0xfffffffffff00fff, 0xfffffffffff01fff,
+    0xfffffffffff03fff, 0xfffffffffff07fff,
+    0xfffffffffff0ffff, 0xfffffffffff1ffff,
+    0xfffffffffff3ffff, 0xfffffffffff7ffff,
+    0xfffffffffff80000, 0xfffffffffff80001,
+    0xfffffffffff80003, 0xfffffffffff80007,
+    0xfffffffffff8000f, 0xfffffffffff8001f,
+    0xfffffffffff8003f, 0xfffffffffff8007f,
+    0xfffffffffff800ff, 0xfffffffffff801ff,
+    0xfffffffffff803ff, 0xfffffffffff807ff,
+    0xfffffffffff80fff, 0xfffffffffff81fff,
+    0xfffffffffff83fff, 0xfffffffffff87fff,
+    0xfffffffffff8ffff, 0xfffffffffff9ffff,
+    0xfffffffffffbffff, 0xfffffffffffc0000,
+    0xfffffffffffc0001, 0xfffffffffffc0003,
+    0xfffffffffffc0007, 0xfffffffffffc000f,
+    0xfffffffffffc001f, 0xfffffffffffc003f,
+    0xfffffffffffc007f, 0xfffffffffffc00ff,
+    0xfffffffffffc01ff, 0xfffffffffffc03ff,
+    0xfffffffffffc07ff, 0xfffffffffffc0fff,
+    0xfffffffffffc1fff, 0xfffffffffffc3fff,
+    0xfffffffffffc7fff, 0xfffffffffffcffff,
+    0xfffffffffffdffff, 0xfffffffffffe0000,
+    0xfffffffffffe0001, 0xfffffffffffe0003,
+    0xfffffffffffe0007, 0xfffffffffffe000f,
+    0xfffffffffffe001f, 0xfffffffffffe003f,
+    0xfffffffffffe007f, 0xfffffffffffe00ff,
+    0xfffffffffffe01ff, 0xfffffffffffe03ff,
+    0xfffffffffffe07ff, 0xfffffffffffe0fff,
+    0xfffffffffffe1fff, 0xfffffffffffe3fff,
+    0xfffffffffffe7fff, 0xfffffffffffeffff,
+    0xffffffffffff0000, 0xffffffffffff0001,
+    0xffffffffffff0003, 0xffffffffffff0007,
+    0xffffffffffff000f, 0xffffffffffff001f,
+    0xffffffffffff003f, 0xffffffffffff007f,
+    0xffffffffffff00ff, 0xffffffffffff01ff,
+    0xffffffffffff03ff, 0xffffffffffff07ff,
+    0xffffffffffff0fff, 0xffffffffffff1fff,
+    0xffffffffffff3fff, 0xffffffffffff7fff,
+    0xffffffffffff8000, 0xffffffffffff8001,
+    0xffffffffffff8003, 0xffffffffffff8007,
+    0xffffffffffff800f, 0xffffffffffff801f,
+    0xffffffffffff803f, 0xffffffffffff807f,
+    0xffffffffffff80ff, 0xffffffffffff81ff,
+    0xffffffffffff83ff, 0xffffffffffff87ff,
+    0xffffffffffff8fff, 0xffffffffffff9fff,
+    0xffffffffffffbfff, 0xffffffffffffc000,
+    0xffffffffffffc001, 0xffffffffffffc003,
+    0xffffffffffffc007, 0xffffffffffffc00f,
+    0xffffffffffffc01f, 0xffffffffffffc03f,
+    0xffffffffffffc07f, 0xffffffffffffc0ff,
+    0xffffffffffffc1ff, 0xffffffffffffc3ff,
+    0xffffffffffffc7ff, 0xffffffffffffcfff,
+    0xffffffffffffdfff, 0xffffffffffffe000,
+    0xffffffffffffe001, 0xffffffffffffe003,
+    0xffffffffffffe007, 0xffffffffffffe00f,
+    0xffffffffffffe01f, 0xffffffffffffe03f,
+    0xffffffffffffe07f, 0xffffffffffffe0ff,
+    0xffffffffffffe1ff, 0xffffffffffffe3ff,
+    0xffffffffffffe7ff, 0xffffffffffffefff,
+    0xfffffffffffff000, 0xfffffffffffff001,
+    0xfffffffffffff003, 0xfffffffffffff007,
+    0xfffffffffffff00f, 0xfffffffffffff01f,
+    0xfffffffffffff03f, 0xfffffffffffff07f,
+    0xfffffffffffff0ff, 0xfffffffffffff1ff,
+    0xfffffffffffff3ff, 0xfffffffffffff7ff,
+    0xfffffffffffff800, 0xfffffffffffff801,
+    0xfffffffffffff803, 0xfffffffffffff807,
+    0xfffffffffffff80f, 0xfffffffffffff81f,
+    0xfffffffffffff83f, 0xfffffffffffff87f,
+    0xfffffffffffff8ff, 0xfffffffffffff9ff,
+    0xfffffffffffffbff, 0xfffffffffffffc00,
+    0xfffffffffffffc01, 0xfffffffffffffc03,
+    0xfffffffffffffc07, 0xfffffffffffffc0f,
+    0xfffffffffffffc1f, 0xfffffffffffffc3f,
+    0xfffffffffffffc7f, 0xfffffffffffffcff,
+    0xfffffffffffffdff, 0xfffffffffffffe00,
+    0xfffffffffffffe01, 0xfffffffffffffe03,
+    0xfffffffffffffe07, 0xfffffffffffffe0f,
+    0xfffffffffffffe1f, 0xfffffffffffffe3f,
+    0xfffffffffffffe7f, 0xfffffffffffffeff,
+    0xffffffffffffff00, 0xffffffffffffff01,
+    0xffffffffffffff03, 0xffffffffffffff07,
+    0xffffffffffffff0f, 0xffffffffffffff1f,
+    0xffffffffffffff3f, 0xffffffffffffff7f,
+    0xffffffffffffff80, 0xffffffffffffff81,
+    0xffffffffffffff83, 0xffffffffffffff87,
+    0xffffffffffffff8f, 0xffffffffffffff9f,
+    0xffffffffffffffbf, 0xffffffffffffffc0,
+    0xffffffffffffffc1, 0xffffffffffffffc3,
+    0xffffffffffffffc7, 0xffffffffffffffcf,
+    0xffffffffffffffdf, 0xffffffffffffffe0,
+    0xffffffffffffffe1, 0xffffffffffffffe3,
+    0xffffffffffffffe7, 0xffffffffffffffef,
+    0xfffffffffffffff0, 0xfffffffffffffff1,
+    0xfffffffffffffff3, 0xfffffffffffffff7,
+    0xfffffffffffffff8, 0xfffffffffffffff9,
+    0xfffffffffffffffb, 0xfffffffffffffffc,
+    0xfffffffffffffffd, 0xfffffffffffffffe,
+};
+
+static uint16_t const bitmask_enc[] = {
+    0x1000, 0x1fc0,
+    0x1001, 0x1f80,
+    0x1fc1, 0x1002,
+    0x1f40, 0x1f81,
+    0x1fc2, 0x1003,
+    0x1f00, 0x1f41,
+    0x1f82, 0x1fc3,
+    0x1004, 0x1ec0,
+    0x1f01, 0x1f42,
+    0x1f83, 0x1fc4,
+    0x1005, 0x1e80,
+    0x1ec1, 0x1f02,
+    0x1f43, 0x1f84,
+    0x1fc5, 0x1006,
+    0x1e40, 0x1e81,
+    0x1ec2, 0x1f03,
+    0x1f44, 0x1f85,
+    0x1fc6, 0x1007,
+    0x1e00, 0x1e41,
+    0x1e82, 0x1ec3,
+    0x1f04, 0x1f45,
+    0x1f86, 0x1fc7,
+    0x1008, 0x1dc0,
+    0x1e01, 0x1e42,
+    0x1e83, 0x1ec4,
+    0x1f05, 0x1f46,
+    0x1f87, 0x1fc8,
+    0x1009, 0x1d80,
+    0x1dc1, 0x1e02,
+    0x1e43, 0x1e84,
+    0x1ec5, 0x1f06,
+    0x1f47, 0x1f88,
+    0x1fc9, 0x100a,
+    0x1d40, 0x1d81,
+    0x1dc2, 0x1e03,
+    0x1e44, 0x1e85,
+    0x1ec6, 0x1f07,
+    0x1f48, 0x1f89,
+    0x1fca, 0x100b,
+    0x1d00, 0x1d41,
+    0x1d82, 0x1dc3,
+    0x1e04, 0x1e45,
+    0x1e86, 0x1ec7,
+    0x1f08, 0x1f49,
+    0x1f8a, 0x1fcb,
+    0x100c, 0x1cc0,
+    0x1d01, 0x1d42,
+    0x1d83, 0x1dc4,
+    0x1e05, 0x1e46,
+    0x1e87, 0x1ec8,
+    0x1f09, 0x1f4a,
+    0x1f8b, 0x1fcc,
+    0x100d, 0x1c80,
+    0x1cc1, 0x1d02,
+    0x1d43, 0x1d84,
+    0x1dc5, 0x1e06,
+    0x1e47, 0x1e88,
+    0x1ec9, 0x1f0a,
+    0x1f4b, 0x1f8c,
+    0x1fcd, 0x100e,
+    0x1c40, 0x1c81,
+    0x1cc2, 0x1d03,
+    0x1d44, 0x1d85,
+    0x1dc6, 0x1e07,
+    0x1e48, 0x1e89,
+    0x1eca, 0x1f0b,
+    0x1f4c, 0x1f8d,
+    0x1fce, 0x100f,
+    0x1c00, 0x1c41,
+    0x1c82, 0x1cc3,
+    0x1d04, 0x1d45,
+    0x1d86, 0x1dc7,
+    0x1e08, 0x1e49,
+    0x1e8a, 0x1ecb,
+    0x1f0c, 0x1f4d,
+    0x1f8e, 0x1fcf,
+    0x1010, 0x1bc0,
+    0x1c01, 0x1c42,
+    0x1c83, 0x1cc4,
+    0x1d05, 0x1d46,
+    0x1d87, 0x1dc8,
+    0x1e09, 0x1e4a,
+    0x1e8b, 0x1ecc,
+    0x1f0d, 0x1f4e,
+    0x1f8f, 0x1fd0,
+    0x1011, 0x1b80,
+    0x1bc1, 0x1c02,
+    0x1c43, 0x1c84,
+    0x1cc5, 0x1d06,
+    0x1d47, 0x1d88,
+    0x1dc9, 0x1e0a,
+    0x1e4b, 0x1e8c,
+    0x1ecd, 0x1f0e,
+    0x1f4f, 0x1f90,
+    0x1fd1, 0x1012,
+    0x1b40, 0x1b81,
+    0x1bc2, 0x1c03,
+    0x1c44, 0x1c85,
+    0x1cc6, 0x1d07,
+    0x1d48, 0x1d89,
+    0x1dca, 0x1e0b,
+    0x1e4c, 0x1e8d,
+    0x1ece, 0x1f0f,
+    0x1f50, 0x1f91,
+    0x1fd2, 0x1013,
+    0x1b00, 0x1b41,
+    0x1b82, 0x1bc3,
+    0x1c04, 0x1c45,
+    0x1c86, 0x1cc7,
+    0x1d08, 0x1d49,
+    0x1d8a, 0x1dcb,
+    0x1e0c, 0x1e4d,
+    0x1e8e, 0x1ecf,
+    0x1f10, 0x1f51,
+    0x1f92, 0x1fd3,
+    0x1014, 0x1ac0,
+    0x1b01, 0x1b42,
+    0x1b83, 0x1bc4,
+    0x1c05, 0x1c46,
+    0x1c87, 0x1cc8,
+    0x1d09, 0x1d4a,
+    0x1d8b, 0x1dcc,
+    0x1e0d, 0x1e4e,
+    0x1e8f, 0x1ed0,
+    0x1f11, 0x1f52,
+    0x1f93, 0x1fd4,
+    0x1015, 0x1a80,
+    0x1ac1, 0x1b02,
+    0x1b43, 0x1b84,
+    0x1bc5, 0x1c06,
+    0x1c47, 0x1c88,
+    0x1cc9, 0x1d0a,
+    0x1d4b, 0x1d8c,
+    0x1dcd, 0x1e0e,
+    0x1e4f, 0x1e90,
+    0x1ed1, 0x1f12,
+    0x1f53, 0x1f94,
+    0x1fd5, 0x1016,
+    0x1a40, 0x1a81,
+    0x1ac2, 0x1b03,
+    0x1b44, 0x1b85,
+    0x1bc6, 0x1c07,
+    0x1c48, 0x1c89,
+    0x1cca, 0x1d0b,
+    0x1d4c, 0x1d8d,
+    0x1dce, 0x1e0f,
+    0x1e50, 0x1e91,
+    0x1ed2, 0x1f13,
+    0x1f54, 0x1f95,
+    0x1fd6, 0x1017,
+    0x1a00, 0x1a41,
+    0x1a82, 0x1ac3,
+    0x1b04, 0x1b45,
+    0x1b86, 0x1bc7,
+    0x1c08, 0x1c49,
+    0x1c8a, 0x1ccb,
+    0x1d0c, 0x1d4d,
+    0x1d8e, 0x1dcf,
+    0x1e10, 0x1e51,
+    0x1e92, 0x1ed3,
+    0x1f14, 0x1f55,
+    0x1f96, 0x1fd7,
+    0x1018, 0x19c0,
+    0x1a01, 0x1a42,
+    0x1a83, 0x1ac4,
+    0x1b05, 0x1b46,
+    0x1b87, 0x1bc8,
+    0x1c09, 0x1c4a,
+    0x1c8b, 0x1ccc,
+    0x1d0d, 0x1d4e,
+    0x1d8f, 0x1dd0,
+    0x1e11, 0x1e52,
+    0x1e93, 0x1ed4,
+    0x1f15, 0x1f56,
+    0x1f97, 0x1fd8,
+    0x1019, 0x1980,
+    0x19c1, 0x1a02,
+    0x1a43, 0x1a84,
+    0x1ac5, 0x1b06,
+    0x1b47, 0x1b88,
+    0x1bc9, 0x1c0a,
+    0x1c4b, 0x1c8c,
+    0x1ccd, 0x1d0e,
+    0x1d4f, 0x1d90,
+    0x1dd1, 0x1e12,
+    0x1e53, 0x1e94,
+    0x1ed5, 0x1f16,
+    0x1f57, 0x1f98,
+    0x1fd9, 0x101a,
+    0x1940, 0x1981,
+    0x19c2, 0x1a03,
+    0x1a44, 0x1a85,
+    0x1ac6, 0x1b07,
+    0x1b48, 0x1b89,
+    0x1bca, 0x1c0b,
+    0x1c4c, 0x1c8d,
+    0x1cce, 0x1d0f,
+    0x1d50, 0x1d91,
+    0x1dd2, 0x1e13,
+    0x1e54, 0x1e95,
+    0x1ed6, 0x1f17,
+    0x1f58, 0x1f99,
+    0x1fda, 0x101b,
+    0x1900, 0x1941,
+    0x1982, 0x19c3,
+    0x1a04, 0x1a45,
+    0x1a86, 0x1ac7,
+    0x1b08, 0x1b49,
+    0x1b8a, 0x1bcb,
+    0x1c0c, 0x1c4d,
+    0x1c8e, 0x1ccf,
+    0x1d10, 0x1d51,
+    0x1d92, 0x1dd3,
+    0x1e14, 0x1e55,
+    0x1e96, 0x1ed7,
+    0x1f18, 0x1f59,
+    0x1f9a, 0x1fdb,
+    0x101c, 0x18c0,
+    0x1901, 0x1942,
+    0x1983, 0x19c4,
+    0x1a05, 0x1a46,
+    0x1a87, 0x1ac8,
+    0x1b09, 0x1b4a,
+    0x1b8b, 0x1bcc,
+    0x1c0d, 0x1c4e,
+    0x1c8f, 0x1cd0,
+    0x1d11, 0x1d52,
+    0x1d93, 0x1dd4,
+    0x1e15, 0x1e56,
+    0x1e97, 0x1ed8,
+    0x1f19, 0x1f5a,
+    0x1f9b, 0x1fdc,
+    0x101d, 0x1880,
+    0x18c1, 0x1902,
+    0x1943, 0x1984,
+    0x19c5, 0x1a06,
+    0x1a47, 0x1a88,
+    0x1ac9, 0x1b0a,
+    0x1b4b, 0x1b8c,
+    0x1bcd, 0x1c0e,
+    0x1c4f, 0x1c90,
+    0x1cd1, 0x1d12,
+    0x1d53, 0x1d94,
+    0x1dd5, 0x1e16,
+    0x1e57, 0x1e98,
+    0x1ed9, 0x1f1a,
+    0x1f5b, 0x1f9c,
+    0x1fdd, 0x101e,
+    0x1840, 0x1881,
+    0x18c2, 0x1903,
+    0x1944, 0x1985,
+    0x19c6, 0x1a07,
+    0x1a48, 0x1a89,
+    0x1aca, 0x1b0b,
+    0x1b4c, 0x1b8d,
+    0x1bce, 0x1c0f,
+    0x1c50, 0x1c91,
+    0x1cd2, 0x1d13,
+    0x1d54, 0x1d95,
+    0x1dd6, 0x1e17,
+    0x1e58, 0x1e99,
+    0x1eda, 0x1f1b,
+    0x1f5c, 0x1f9d,
+    0x1fde, 0x101f,
+    0x1800, 000000,
+    0x1841, 0x1882,
+    0x18c3, 0x1904,
+    0x1945, 0x1986,
+    0x19c7, 0x1a08,
+    0x1a49, 0x1a8a,
+    0x1acb, 0x1b0c,
+    0x1b4d, 0x1b8e,
+    0x1bcf, 0x1c10,
+    0x1c51, 0x1c92,
+    0x1cd3, 0x1d14,
+    0x1d55, 0x1d96,
+    0x1dd7, 0x1e18,
+    0x1e59, 0x1e9a,
+    0x1edb, 0x1f1c,
+    0x1f5d, 0x1f9e,
+    0x1fdf, 0x1020,
+    0x17c0, 0x07c0,
+    0x1801, 0x0001,
+    0x1842, 0x1883,
+    0x18c4, 0x1905,
+    0x1946, 0x1987,
+    0x19c8, 0x1a09,
+    0x1a4a, 0x1a8b,
+    0x1acc, 0x1b0d,
+    0x1b4e, 0x1b8f,
+    0x1bd0, 0x1c11,
+    0x1c52, 0x1c93,
+    0x1cd4, 0x1d15,
+    0x1d56, 0x1d97,
+    0x1dd8, 0x1e19,
+    0x1e5a, 0x1e9b,
+    0x1edc, 0x1f1d,
+    0x1f5e, 0x1f9f,
+    0x1fe0, 0x1021,
+    0x1780, 0x0780,
+    0x17c1, 0x07c1,
+    0x1802, 0x0002,
+    0x1843, 0x1884,
+    0x18c5, 0x1906,
+    0x1947, 0x1988,
+    0x19c9, 0x1a0a,
+    0x1a4b, 0x1a8c,
+    0x1acd, 0x1b0e,
+    0x1b4f, 0x1b90,
+    0x1bd1, 0x1c12,
+    0x1c53, 0x1c94,
+    0x1cd5, 0x1d16,
+    0x1d57, 0x1d98,
+    0x1dd9, 0x1e1a,
+    0x1e5b, 0x1e9c,
+    0x1edd, 0x1f1e,
+    0x1f5f, 0x1fa0,
+    0x1fe1, 0x1022,
+    0x1740, 0x0740,
+    0x1781, 0x0781,
+    0x17c2, 0x07c2,
+    0x1803, 0x0003,
+    0x1844, 0x1885,
+    0x18c6, 0x1907,
+    0x1948, 0x1989,
+    0x19ca, 0x1a0b,
+    0x1a4c, 0x1a8d,
+    0x1ace, 0x1b0f,
+    0x1b50, 0x1b91,
+    0x1bd2, 0x1c13,
+    0x1c54, 0x1c95,
+    0x1cd6, 0x1d17,
+    0x1d58, 0x1d99,
+    0x1dda, 0x1e1b,
+    0x1e5c, 0x1e9d,
+    0x1ede, 0x1f1f,
+    0x1f60, 0x1fa1,
+    0x1fe2, 0x1023,
+    0x1700, 0x0700,
+    0x1741, 0x0741,
+    0x1782, 0x0782,
+    0x17c3, 0x07c3,
+    0x1804, 0x0004,
+    0x1845, 0x1886,
+    0x18c7, 0x1908,
+    0x1949, 0x198a,
+    0x19cb, 0x1a0c,
+    0x1a4d, 0x1a8e,
+    0x1acf, 0x1b10,
+    0x1b51, 0x1b92,
+    0x1bd3, 0x1c14,
+    0x1c55, 0x1c96,
+    0x1cd7, 0x1d18,
+    0x1d59, 0x1d9a,
+    0x1ddb, 0x1e1c,
+    0x1e5d, 0x1e9e,
+    0x1edf, 0x1f20,
+    0x1f61, 0x1fa2,
+    0x1fe3, 0x1024,
+    0x16c0, 0x06c0,
+    0x1701, 0x0701,
+    0x1742, 0x0742,
+    0x1783, 0x0783,
+    0x17c4, 0x07c4,
+    0x1805, 0x0005,
+    0x1846, 0x1887,
+    0x18c8, 0x1909,
+    0x194a, 0x198b,
+    0x19cc, 0x1a0d,
+    0x1a4e, 0x1a8f,
+    0x1ad0, 0x1b11,
+    0x1b52, 0x1b93,
+    0x1bd4, 0x1c15,
+    0x1c56, 0x1c97,
+    0x1cd8, 0x1d19,
+    0x1d5a, 0x1d9b,
+    0x1ddc, 0x1e1d,
+    0x1e5e, 0x1e9f,
+    0x1ee0, 0x1f21,
+    0x1f62, 0x1fa3,
+    0x1fe4, 0x1025,
+    0x1680, 0x0680,
+    0x16c1, 0x06c1,
+    0x1702, 0x0702,
+    0x1743, 0x0743,
+    0x1784, 0x0784,
+    0x17c5, 0x07c5,
+    0x1806, 0x0006,
+    0x1847, 0x1888,
+    0x18c9, 0x190a,
+    0x194b, 0x198c,
+    0x19cd, 0x1a0e,
+    0x1a4f, 0x1a90,
+    0x1ad1, 0x1b12,
+    0x1b53, 0x1b94,
+    0x1bd5, 0x1c16,
+    0x1c57, 0x1c98,
+    0x1cd9, 0x1d1a,
+    0x1d5b, 0x1d9c,
+    0x1ddd, 0x1e1e,
+    0x1e5f, 0x1ea0,
+    0x1ee1, 0x1f22,
+    0x1f63, 0x1fa4,
+    0x1fe5, 0x1026,
+    0x1640, 0x0640,
+    0x1681, 0x0681,
+    0x16c2, 0x06c2,
+    0x1703, 0x0703,
+    0x1744, 0x0744,
+    0x1785, 0x0785,
+    0x17c6, 0x07c6,
+    0x1807, 0x0007,
+    0x1848, 0x1889,
+    0x18ca, 0x190b,
+    0x194c, 0x198d,
+    0x19ce, 0x1a0f,
+    0x1a50, 0x1a91,
+    0x1ad2, 0x1b13,
+    0x1b54, 0x1b95,
+    0x1bd6, 0x1c17,
+    0x1c58, 0x1c99,
+    0x1cda, 0x1d1b,
+    0x1d5c, 0x1d9d,
+    0x1dde, 0x1e1f,
+    0x1e60, 0x1ea1,
+    0x1ee2, 0x1f23,
+    0x1f64, 0x1fa5,
+    0x1fe6, 0x1027,
+    0x1600, 0x0600,
+    0x1641, 0x0641,
+    0x1682, 0x0682,
+    0x16c3, 0x06c3,
+    0x1704, 0x0704,
+    0x1745, 0x0745,
+    0x1786, 0x0786,
+    0x17c7, 0x07c7,
+    0x1808, 0x0008,
+    0x1849, 0x188a,
+    0x18cb, 0x190c,
+    0x194d, 0x198e,
+    0x19cf, 0x1a10,
+    0x1a51, 0x1a92,
+    0x1ad3, 0x1b14,
+    0x1b55, 0x1b96,
+    0x1bd7, 0x1c18,
+    0x1c59, 0x1c9a,
+    0x1cdb, 0x1d1c,
+    0x1d5d, 0x1d9e,
+    0x1ddf, 0x1e20,
+    0x1e61, 0x1ea2,
+    0x1ee3, 0x1f24,
+    0x1f65, 0x1fa6,
+    0x1fe7, 0x1028,
+    0x15c0, 0x05c0,
+    0x1601, 0x0601,
+    0x1642, 0x0642,
+    0x1683, 0x0683,
+    0x16c4, 0x06c4,
+    0x1705, 0x0705,
+    0x1746, 0x0746,
+    0x1787, 0x0787,
+    0x17c8, 0x07c8,
+    0x1809, 0x0009,
+    0x184a, 0x188b,
+    0x18cc, 0x190d,
+    0x194e, 0x198f,
+    0x19d0, 0x1a11,
+    0x1a52, 0x1a93,
+    0x1ad4, 0x1b15,
+    0x1b56, 0x1b97,
+    0x1bd8, 0x1c19,
+    0x1c5a, 0x1c9b,
+    0x1cdc, 0x1d1d,
+    0x1d5e, 0x1d9f,
+    0x1de0, 0x1e21,
+    0x1e62, 0x1ea3,
+    0x1ee4, 0x1f25,
+    0x1f66, 0x1fa7,
+    0x1fe8, 0x1029,
+    0x1580, 0x0580,
+    0x15c1, 0x05c1,
+    0x1602, 0x0602,
+    0x1643, 0x0643,
+    0x1684, 0x0684,
+    0x16c5, 0x06c5,
+    0x1706, 0x0706,
+    0x1747, 0x0747,
+    0x1788, 0x0788,
+    0x17c9, 0x07c9,
+    0x180a, 0x000a,
+    0x184b, 0x188c,
+    0x18cd, 0x190e,
+    0x194f, 0x1990,
+    0x19d1, 0x1a12,
+    0x1a53, 0x1a94,
+    0x1ad5, 0x1b16,
+    0x1b57, 0x1b98,
+    0x1bd9, 0x1c1a,
+    0x1c5b, 0x1c9c,
+    0x1cdd, 0x1d1e,
+    0x1d5f, 0x1da0,
+    0x1de1, 0x1e22,
+    0x1e63, 0x1ea4,
+    0x1ee5, 0x1f26,
+    0x1f67, 0x1fa8,
+    0x1fe9, 0x102a,
+    0x1540, 0x0540,
+    0x1581, 0x0581,
+    0x15c2, 0x05c2,
+    0x1603, 0x0603,
+    0x1644, 0x0644,
+    0x1685, 0x0685,
+    0x16c6, 0x06c6,
+    0x1707, 0x0707,
+    0x1748, 0x0748,
+    0x1789, 0x0789,
+    0x17ca, 0x07ca,
+    0x180b, 0x000b,
+    0x184c, 0x188d,
+    0x18ce, 0x190f,
+    0x1950, 0x1991,
+    0x19d2, 0x1a13,
+    0x1a54, 0x1a95,
+    0x1ad6, 0x1b17,
+    0x1b58, 0x1b99,
+    0x1bda, 0x1c1b,
+    0x1c5c, 0x1c9d,
+    0x1cde, 0x1d1f,
+    0x1d60, 0x1da1,
+    0x1de2, 0x1e23,
+    0x1e64, 0x1ea5,
+    0x1ee6, 0x1f27,
+    0x1f68, 0x1fa9,
+    0x1fea, 0x102b,
+    0x1500, 0x0500,
+    0x1541, 0x0541,
+    0x1582, 0x0582,
+    0x15c3, 0x05c3,
+    0x1604, 0x0604,
+    0x1645, 0x0645,
+    0x1686, 0x0686,
+    0x16c7, 0x06c7,
+    0x1708, 0x0708,
+    0x1749, 0x0749,
+    0x178a, 0x078a,
+    0x17cb, 0x07cb,
+    0x180c, 0x000c,
+    0x184d, 0x188e,
+    0x18cf, 0x1910,
+    0x1951, 0x1992,
+    0x19d3, 0x1a14,
+    0x1a55, 0x1a96,
+    0x1ad7, 0x1b18,
+    0x1b59, 0x1b9a,
+    0x1bdb, 0x1c1c,
+    0x1c5d, 0x1c9e,
+    0x1cdf, 0x1d20,
+    0x1d61, 0x1da2,
+    0x1de3, 0x1e24,
+    0x1e65, 0x1ea6,
+    0x1ee7, 0x1f28,
+    0x1f69, 0x1faa,
+    0x1feb, 0x102c,
+    0x14c0, 0x04c0,
+    0x1501, 0x0501,
+    0x1542, 0x0542,
+    0x1583, 0x0583,
+    0x15c4, 0x05c4,
+    0x1605, 0x0605,
+    0x1646, 0x0646,
+    0x1687, 0x0687,
+    0x16c8, 0x06c8,
+    0x1709, 0x0709,
+    0x174a, 0x074a,
+    0x178b, 0x078b,
+    0x17cc, 0x07cc,
+    0x180d, 0x000d,
+    0x184e, 0x188f,
+    0x18d0, 0x1911,
+    0x1952, 0x1993,
+    0x19d4, 0x1a15,
+    0x1a56, 0x1a97,
+    0x1ad8, 0x1b19,
+    0x1b5a, 0x1b9b,
+    0x1bdc, 0x1c1d,
+    0x1c5e, 0x1c9f,
+    0x1ce0, 0x1d21,
+    0x1d62, 0x1da3,
+    0x1de4, 0x1e25,
+    0x1e66, 0x1ea7,
+    0x1ee8, 0x1f29,
+    0x1f6a, 0x1fab,
+    0x1fec, 0x102d,
+    0x1480, 0x0480,
+    0x14c1, 0x04c1,
+    0x1502, 0x0502,
+    0x1543, 0x0543,
+    0x1584, 0x0584,
+    0x15c5, 0x05c5,
+    0x1606, 0x0606,
+    0x1647, 0x0647,
+    0x1688, 0x0688,
+    0x16c9, 0x06c9,
+    0x170a, 0x070a,
+    0x174b, 0x074b,
+    0x178c, 0x078c,
+    0x17cd, 0x07cd,
+    0x180e, 0x000e,
+    0x184f, 0x1890,
+    0x18d1, 0x1912,
+    0x1953, 0x1994,
+    0x19d5, 0x1a16,
+    0x1a57, 0x1a98,
+    0x1ad9, 0x1b1a,
+    0x1b5b, 0x1b9c,
+    0x1bdd, 0x1c1e,
+    0x1c5f, 0x1ca0,
+    0x1ce1, 0x1d22,
+    0x1d63, 0x1da4,
+    0x1de5, 0x1e26,
+    0x1e67, 0x1ea8,
+    0x1ee9, 0x1f2a,
+    0x1f6b, 0x1fac,
+    0x1fed, 0x102e,
+    0x1440, 0x0440,
+    0x1481, 0x0481,
+    0x14c2, 0x04c2,
+    0x1503, 0x0503,
+    0x1544, 0x0544,
+    0x1585, 0x0585,
+    0x15c6, 0x05c6,
+    0x1607, 0x0607,
+    0x1648, 0x0648,
+    0x1689, 0x0689,
+    0x16ca, 0x06ca,
+    0x170b, 0x070b,
+    0x174c, 0x074c,
+    0x178d, 0x078d,
+    0x17ce, 0x07ce,
+    0x180f, 0x000f,
+    0x1850, 0x1891,
+    0x18d2, 0x1913,
+    0x1954, 0x1995,
+    0x19d6, 0x1a17,
+    0x1a58, 0x1a99,
+    0x1ada, 0x1b1b,
+    0x1b5c, 0x1b9d,
+    0x1bde, 0x1c1f,
+    0x1c60, 0x1ca1,
+    0x1ce2, 0x1d23,
+    0x1d64, 0x1da5,
+    0x1de6, 0x1e27,
+    0x1e68, 0x1ea9,
+    0x1eea, 0x1f2b,
+    0x1f6c, 0x1fad,
+    0x1fee, 0x102f,
+    0x1400, 0x0400,
+    0x0020, 0x1441,
+    0x0441, 0x1482,
+    0x0482, 0x14c3,
+    0x04c3, 0x1504,
+    0x0504, 0x1545,
+    0x0545, 0x1586,
+    0x0586, 0x15c7,
+    0x05c7, 0x1608,
+    0x0608, 0x1649,
+    0x0649, 0x168a,
+    0x068a, 0x16cb,
+    0x06cb, 0x170c,
+    0x070c, 0x174d,
+    0x074d, 0x178e,
+    0x078e, 0x17cf,
+    0x07cf, 0x1810,
+    0x0010, 0x1851,
+    0x1892, 0x18d3,
+    0x1914, 0x1955,
+    0x1996, 0x19d7,
+    0x1a18, 0x1a59,
+    0x1a9a, 0x1adb,
+    0x1b1c, 0x1b5d,
+    0x1b9e, 0x1bdf,
+    0x1c20, 0x1c61,
+    0x1ca2, 0x1ce3,
+    0x1d24, 0x1d65,
+    0x1da6, 0x1de7,
+    0x1e28, 0x1e69,
+    0x1eaa, 0x1eeb,
+    0x1f2c, 0x1f6d,
+    0x1fae, 0x1fef,
+    0x1030, 0x13c0,
+    0x03c0, 0x03e0,
+    0x1401, 0x0401,
+    0x0021, 0x1442,
+    0x0442, 0x1483,
+    0x0483, 0x14c4,
+    0x04c4, 0x1505,
+    0x0505, 0x1546,
+    0x0546, 0x1587,
+    0x0587, 0x15c8,
+    0x05c8, 0x1609,
+    0x0609, 0x164a,
+    0x064a, 0x168b,
+    0x068b, 0x16cc,
+    0x06cc, 0x170d,
+    0x070d, 0x174e,
+    0x074e, 0x178f,
+    0x078f, 0x17d0,
+    0x07d0, 0x1811,
+    0x0011, 0x1852,
+    0x1893, 0x18d4,
+    0x1915, 0x1956,
+    0x1997, 0x19d8,
+    0x1a19, 0x1a5a,
+    0x1a9b, 0x1adc,
+    0x1b1d, 0x1b5e,
+    0x1b9f, 0x1be0,
+    0x1c21, 0x1c62,
+    0x1ca3, 0x1ce4,
+    0x1d25, 0x1d66,
+    0x1da7, 0x1de8,
+    0x1e29, 0x1e6a,
+    0x1eab, 0x1eec,
+    0x1f2d, 0x1f6e,
+    0x1faf, 0x1ff0,
+    0x1031, 0x1380,
+    0x0380, 0x03a0,
+    0x13c1, 0x03c1,
+    0x03e1, 0x1402,
+    0x0402, 0x0022,
+    0x1443, 0x0443,
+    0x1484, 0x0484,
+    0x14c5, 0x04c5,
+    0x1506, 0x0506,
+    0x1547, 0x0547,
+    0x1588, 0x0588,
+    0x15c9, 0x05c9,
+    0x160a, 0x060a,
+    0x164b, 0x064b,
+    0x168c, 0x068c,
+    0x16cd, 0x06cd,
+    0x170e, 0x070e,
+    0x174f, 0x074f,
+    0x1790, 0x0790,
+    0x17d1, 0x07d1,
+    0x1812, 0x0012,
+    0x1853, 0x1894,
+    0x18d5, 0x1916,
+    0x1957, 0x1998,
+    0x19d9, 0x1a1a,
+    0x1a5b, 0x1a9c,
+    0x1add, 0x1b1e,
+    0x1b5f, 0x1ba0,
+    0x1be1, 0x1c22,
+    0x1c63, 0x1ca4,
+    0x1ce5, 0x1d26,
+    0x1d67, 0x1da8,
+    0x1de9, 0x1e2a,
+    0x1e6b, 0x1eac,
+    0x1eed, 0x1f2e,
+    0x1f6f, 0x1fb0,
+    0x1ff1, 0x1032,
+    0x1340, 0x0340,
+    0x0360, 0x1381,
+    0x0381, 0x03a1,
+    0x13c2, 0x03c2,
+    0x03e2, 0x1403,
+    0x0403, 0x0023,
+    0x1444, 0x0444,
+    0x1485, 0x0485,
+    0x14c6, 0x04c6,
+    0x1507, 0x0507,
+    0x1548, 0x0548,
+    0x1589, 0x0589,
+    0x15ca, 0x05ca,
+    0x160b, 0x060b,
+    0x164c, 0x064c,
+    0x168d, 0x068d,
+    0x16ce, 0x06ce,
+    0x170f, 0x070f,
+    0x1750, 0x0750,
+    0x1791, 0x0791,
+    0x17d2, 0x07d2,
+    0x1813, 0x0013,
+    0x1854, 0x1895,
+    0x18d6, 0x1917,
+    0x1958, 0x1999,
+    0x19da, 0x1a1b,
+    0x1a5c, 0x1a9d,
+    0x1ade, 0x1b1f,
+    0x1b60, 0x1ba1,
+    0x1be2, 0x1c23,
+    0x1c64, 0x1ca5,
+    0x1ce6, 0x1d27,
+    0x1d68, 0x1da9,
+    0x1dea, 0x1e2b,
+    0x1e6c, 0x1ead,
+    0x1eee, 0x1f2f,
+    0x1f70, 0x1fb1,
+    0x1ff2, 0x1033,
+    0x1300, 0x0300,
+    0x0320, 0x1341,
+    0x0341, 0x0361,
+    0x1382, 0x0382,
+    0x03a2, 0x13c3,
+    0x03c3, 0x03e3,
+    0x1404, 0x0404,
+    0x0024, 0x1445,
+    0x0445, 0x1486,
+    0x0486, 0x14c7,
+    0x04c7, 0x1508,
+    0x0508, 0x1549,
+    0x0549, 0x158a,
+    0x058a, 0x15cb,
+    0x05cb, 0x160c,
+    0x060c, 0x164d,
+    0x064d, 0x168e,
+    0x068e, 0x16cf,
+    0x06cf, 0x1710,
+    0x0710, 0x1751,
+    0x0751, 0x1792,
+    0x0792, 0x17d3,
+    0x07d3, 0x1814,
+    0x0014, 0x1855,
+    0x1896, 0x18d7,
+    0x1918, 0x1959,
+    0x199a, 0x19db,
+    0x1a1c, 0x1a5d,
+    0x1a9e, 0x1adf,
+    0x1b20, 0x1b61,
+    0x1ba2, 0x1be3,
+    0x1c24, 0x1c65,
+    0x1ca6, 0x1ce7,
+    0x1d28, 0x1d69,
+    0x1daa, 0x1deb,
+    0x1e2c, 0x1e6d,
+    0x1eae, 0x1eef,
+    0x1f30, 0x1f71,
+    0x1fb2, 0x1ff3,
+    0x1034, 0x12c0,
+    0x02c0, 0x02e0,
+    0x1301, 0x0301,
+    0x0321, 0x1342,
+    0x0342, 0x0362,
+    0x1383, 0x0383,
+    0x03a3, 0x13c4,
+    0x03c4, 0x03e4,
+    0x1405, 0x0405,
+    0x0025, 0x1446,
+    0x0446, 0x1487,
+    0x0487, 0x14c8,
+    0x04c8, 0x1509,
+    0x0509, 0x154a,
+    0x054a, 0x158b,
+    0x058b, 0x15cc,
+    0x05cc, 0x160d,
+    0x060d, 0x164e,
+    0x064e, 0x168f,
+    0x068f, 0x16d0,
+    0x06d0, 0x1711,
+    0x0711, 0x1752,
+    0x0752, 0x1793,
+    0x0793, 0x17d4,
+    0x07d4, 0x1815,
+    0x0015, 0x1856,
+    0x1897, 0x18d8,
+    0x1919, 0x195a,
+    0x199b, 0x19dc,
+    0x1a1d, 0x1a5e,
+    0x1a9f, 0x1ae0,
+    0x1b21, 0x1b62,
+    0x1ba3, 0x1be4,
+    0x1c25, 0x1c66,
+    0x1ca7, 0x1ce8,
+    0x1d29, 0x1d6a,
+    0x1dab, 0x1dec,
+    0x1e2d, 0x1e6e,
+    0x1eaf, 0x1ef0,
+    0x1f31, 0x1f72,
+    0x1fb3, 0x1ff4,
+    0x1035, 0x1280,
+    0x0280, 0x02a0,
+    0x12c1, 0x02c1,
+    0x02e1, 0x1302,
+    0x0302, 0x0322,
+    0x1343, 0x0343,
+    0x0363, 0x1384,
+    0x0384, 0x03a4,
+    0x13c5, 0x03c5,
+    0x03e5, 0x1406,
+    0x0406, 0x0026,
+    0x1447, 0x0447,
+    0x1488, 0x0488,
+    0x14c9, 0x04c9,
+    0x150a, 0x050a,
+    0x154b, 0x054b,
+    0x158c, 0x058c,
+    0x15cd, 0x05cd,
+    0x160e, 0x060e,
+    0x164f, 0x064f,
+    0x1690, 0x0690,
+    0x16d1, 0x06d1,
+    0x1712, 0x0712,
+    0x1753, 0x0753,
+    0x1794, 0x0794,
+    0x17d5, 0x07d5,
+    0x1816, 0x0016,
+    0x1857, 0x1898,
+    0x18d9, 0x191a,
+    0x195b, 0x199c,
+    0x19dd, 0x1a1e,
+    0x1a5f, 0x1aa0,
+    0x1ae1, 0x1b22,
+    0x1b63, 0x1ba4,
+    0x1be5, 0x1c26,
+    0x1c67, 0x1ca8,
+    0x1ce9, 0x1d2a,
+    0x1d6b, 0x1dac,
+    0x1ded, 0x1e2e,
+    0x1e6f, 0x1eb0,
+    0x1ef1, 0x1f32,
+    0x1f73, 0x1fb4,
+    0x1ff5, 0x1036,
+    0x1240, 0x0240,
+    0x0260, 0x1281,
+    0x0281, 0x02a1,
+    0x12c2, 0x02c2,
+    0x02e2, 0x1303,
+    0x0303, 0x0323,
+    0x1344, 0x0344,
+    0x0364, 0x1385,
+    0x0385, 0x03a5,
+    0x13c6, 0x03c6,
+    0x03e6, 0x1407,
+    0x0407, 0x0027,
+    0x1448, 0x0448,
+    0x1489, 0x0489,
+    0x14ca, 0x04ca,
+    0x150b, 0x050b,
+    0x154c, 0x054c,
+    0x158d, 0x058d,
+    0x15ce, 0x05ce,
+    0x160f, 0x060f,
+    0x1650, 0x0650,
+    0x1691, 0x0691,
+    0x16d2, 0x06d2,
+    0x1713, 0x0713,
+    0x1754, 0x0754,
+    0x1795, 0x0795,
+    0x17d6, 0x07d6,
+    0x1817, 0x0017,
+    0x1858, 0x1899,
+    0x18da, 0x191b,
+    0x195c, 0x199d,
+    0x19de, 0x1a1f,
+    0x1a60, 0x1aa1,
+    0x1ae2, 0x1b23,
+    0x1b64, 0x1ba5,
+    0x1be6, 0x1c27,
+    0x1c68, 0x1ca9,
+    0x1cea, 0x1d2b,
+    0x1d6c, 0x1dad,
+    0x1dee, 0x1e2f,
+    0x1e70, 0x1eb1,
+    0x1ef2, 0x1f33,
+    0x1f74, 0x1fb5,
+    0x1ff6, 0x1037,
+    0x1200, 0x0200,
+    0x0220, 0x0030,
+    0x1241, 0x0241,
+    0x0261, 0x1282,
+    0x0282, 0x02a2,
+    0x12c3, 0x02c3,
+    0x02e3, 0x1304,
+    0x0304, 0x0324,
+    0x1345, 0x0345,
+    0x0365, 0x1386,
+    0x0386, 0x03a6,
+    0x13c7, 0x03c7,
+    0x03e7, 0x1408,
+    0x0408, 0x0028,
+    0x1449, 0x0449,
+    0x148a, 0x048a,
+    0x14cb, 0x04cb,
+    0x150c, 0x050c,
+    0x154d, 0x054d,
+    0x158e, 0x058e,
+    0x15cf, 0x05cf,
+    0x1610, 0x0610,
+    0x1651, 0x0651,
+    0x1692, 0x0692,
+    0x16d3, 0x06d3,
+    0x1714, 0x0714,
+    0x1755, 0x0755,
+    0x1796, 0x0796,
+    0x17d7, 0x07d7,
+    0x1818, 0x0018,
+    0x1859, 0x189a,
+    0x18db, 0x191c,
+    0x195d, 0x199e,
+    0x19df, 0x1a20,
+    0x1a61, 0x1aa2,
+    0x1ae3, 0x1b24,
+    0x1b65, 0x1ba6,
+    0x1be7, 0x1c28,
+    0x1c69, 0x1caa,
+    0x1ceb, 0x1d2c,
+    0x1d6d, 0x1dae,
+    0x1def, 0x1e30,
+    0x1e71, 0x1eb2,
+    0x1ef3, 0x1f34,
+    0x1f75, 0x1fb6,
+    0x1ff7, 0x1038,
+    0x11c0, 0x01c0,
+    0x01e0, 0x01f0,
+    0x1201, 0x0201,
+    0x0221, 0x0031,
+    0x1242, 0x0242,
+    0x0262, 0x1283,
+    0x0283, 0x02a3,
+    0x12c4, 0x02c4,
+    0x02e4, 0x1305,
+    0x0305, 0x0325,
+    0x1346, 0x0346,
+    0x0366, 0x1387,
+    0x0387, 0x03a7,
+    0x13c8, 0x03c8,
+    0x03e8, 0x1409,
+    0x0409, 0x0029,
+    0x144a, 0x044a,
+    0x148b, 0x048b,
+    0x14cc, 0x04cc,
+    0x150d, 0x050d,
+    0x154e, 0x054e,
+    0x158f, 0x058f,
+    0x15d0, 0x05d0,
+    0x1611, 0x0611,
+    0x1652, 0x0652,
+    0x1693, 0x0693,
+    0x16d4, 0x06d4,
+    0x1715, 0x0715,
+    0x1756, 0x0756,
+    0x1797, 0x0797,
+    0x17d8, 0x07d8,
+    0x1819, 0x0019,
+    0x185a, 0x189b,
+    0x18dc, 0x191d,
+    0x195e, 0x199f,
+    0x19e0, 0x1a21,
+    0x1a62, 0x1aa3,
+    0x1ae4, 0x1b25,
+    0x1b66, 0x1ba7,
+    0x1be8, 0x1c29,
+    0x1c6a, 0x1cab,
+    0x1cec, 0x1d2d,
+    0x1d6e, 0x1daf,
+    0x1df0, 0x1e31,
+    0x1e72, 0x1eb3,
+    0x1ef4, 0x1f35,
+    0x1f76, 0x1fb7,
+    0x1ff8, 0x1039,
+    0x1180, 0x0180,
+    0x01a0, 0x01b0,
+    0x11c1, 0x01c1,
+    0x01e1, 0x01f1,
+    0x1202, 0x0202,
+    0x0222, 0x0032,
+    0x1243, 0x0243,
+    0x0263, 0x1284,
+    0x0284, 0x02a4,
+    0x12c5, 0x02c5,
+    0x02e5, 0x1306,
+    0x0306, 0x0326,
+    0x1347, 0x0347,
+    0x0367, 0x1388,
+    0x0388, 0x03a8,
+    0x13c9, 0x03c9,
+    0x03e9, 0x140a,
+    0x040a, 0x002a,
+    0x144b, 0x044b,
+    0x148c, 0x048c,
+    0x14cd, 0x04cd,
+    0x150e, 0x050e,
+    0x154f, 0x054f,
+    0x1590, 0x0590,
+    0x15d1, 0x05d1,
+    0x1612, 0x0612,
+    0x1653, 0x0653,
+    0x1694, 0x0694,
+    0x16d5, 0x06d5,
+    0x1716, 0x0716,
+    0x1757, 0x0757,
+    0x1798, 0x0798,
+    0x17d9, 0x07d9,
+    0x181a, 0x001a,
+    0x185b, 0x189c,
+    0x18dd, 0x191e,
+    0x195f, 0x19a0,
+    0x19e1, 0x1a22,
+    0x1a63, 0x1aa4,
+    0x1ae5, 0x1b26,
+    0x1b67, 0x1ba8,
+    0x1be9, 0x1c2a,
+    0x1c6b, 0x1cac,
+    0x1ced, 0x1d2e,
+    0x1d6f, 0x1db0,
+    0x1df1, 0x1e32,
+    0x1e73, 0x1eb4,
+    0x1ef5, 0x1f36,
+    0x1f77, 0x1fb8,
+    0x1ff9, 0x103a,
+    0x1140, 0x0140,
+    0x0160, 0x0170,
+    0x1181, 0x0181,
+    0x01a1, 0x01b1,
+    0x11c2, 0x01c2,
+    0x01e2, 0x01f2,
+    0x1203, 0x0203,
+    0x0223, 0x0033,
+    0x1244, 0x0244,
+    0x0264, 0x1285,
+    0x0285, 0x02a5,
+    0x12c6, 0x02c6,
+    0x02e6, 0x1307,
+    0x0307, 0x0327,
+    0x1348, 0x0348,
+    0x0368, 0x1389,
+    0x0389, 0x03a9,
+    0x13ca, 0x03ca,
+    0x03ea, 0x140b,
+    0x040b, 0x002b,
+    0x144c, 0x044c,
+    0x148d, 0x048d,
+    0x14ce, 0x04ce,
+    0x150f, 0x050f,
+    0x1550, 0x0550,
+    0x1591, 0x0591,
+    0x15d2, 0x05d2,
+    0x1613, 0x0613,
+    0x1654, 0x0654,
+    0x1695, 0x0695,
+    0x16d6, 0x06d6,
+    0x1717, 0x0717,
+    0x1758, 0x0758,
+    0x1799, 0x0799,
+    0x17da, 0x07da,
+    0x181b, 0x001b,
+    0x185c, 0x189d,
+    0x18de, 0x191f,
+    0x1960, 0x19a1,
+    0x19e2, 0x1a23,
+    0x1a64, 0x1aa5,
+    0x1ae6, 0x1b27,
+    0x1b68, 0x1ba9,
+    0x1bea, 0x1c2b,
+    0x1c6c, 0x1cad,
+    0x1cee, 0x1d2f,
+    0x1d70, 0x1db1,
+    0x1df2, 0x1e33,
+    0x1e74, 0x1eb5,
+    0x1ef6, 0x1f37,
+    0x1f78, 0x1fb9,
+    0x1ffa, 0x103b,
+    0x1100, 0x0100,
+    0x0120, 0x0130,
+    0x0038, 0x1141,
+    0x0141, 0x0161,
+    0x0171, 0x1182,
+    0x0182, 0x01a2,
+    0x01b2, 0x11c3,
+    0x01c3, 0x01e3,
+    0x01f3, 0x1204,
+    0x0204, 0x0224,
+    0x0034, 0x1245,
+    0x0245, 0x0265,
+    0x1286, 0x0286,
+    0x02a6, 0x12c7,
+    0x02c7, 0x02e7,
+    0x1308, 0x0308,
+    0x0328, 0x1349,
+    0x0349, 0x0369,
+    0x138a, 0x038a,
+    0x03aa, 0x13cb,
+    0x03cb, 0x03eb,
+    0x140c, 0x040c,
+    0x002c, 0x144d,
+    0x044d, 0x148e,
+    0x048e, 0x14cf,
+    0x04cf, 0x1510,
+    0x0510, 0x1551,
+    0x0551, 0x1592,
+    0x0592, 0x15d3,
+    0x05d3, 0x1614,
+    0x0614, 0x1655,
+    0x0655, 0x1696,
+    0x0696, 0x16d7,
+    0x06d7, 0x1718,
+    0x0718, 0x1759,
+    0x0759, 0x179a,
+    0x079a, 0x17db,
+    0x07db, 0x181c,
+    0x001c, 0x185d,
+    0x189e, 0x18df,
+    0x1920, 0x1961,
+    0x19a2, 0x19e3,
+    0x1a24, 0x1a65,
+    0x1aa6, 0x1ae7,
+    0x1b28, 0x1b69,
+    0x1baa, 0x1beb,
+    0x1c2c, 0x1c6d,
+    0x1cae, 0x1cef,
+    0x1d30, 0x1d71,
+    0x1db2, 0x1df3,
+    0x1e34, 0x1e75,
+    0x1eb6, 0x1ef7,
+    0x1f38, 0x1f79,
+    0x1fba, 0x1ffb,
+    0x103c, 0x10c0,
+    0x00c0, 0x00e0,
+    0x00f0, 0x00f8,
+    0x1101, 0x0101,
+    0x0121, 0x0131,
+    0x0039, 0x1142,
+    0x0142, 0x0162,
+    0x0172, 0x1183,
+    0x0183, 0x01a3,
+    0x01b3, 0x11c4,
+    0x01c4, 0x01e4,
+    0x01f4, 0x1205,
+    0x0205, 0x0225,
+    0x0035, 0x1246,
+    0x0246, 0x0266,
+    0x1287, 0x0287,
+    0x02a7, 0x12c8,
+    0x02c8, 0x02e8,
+    0x1309, 0x0309,
+    0x0329, 0x134a,
+    0x034a, 0x036a,
+    0x138b, 0x038b,
+    0x03ab, 0x13cc,
+    0x03cc, 0x03ec,
+    0x140d, 0x040d,
+    0x002d, 0x144e,
+    0x044e, 0x148f,
+    0x048f, 0x14d0,
+    0x04d0, 0x1511,
+    0x0511, 0x1552,
+    0x0552, 0x1593,
+    0x0593, 0x15d4,
+    0x05d4, 0x1615,
+    0x0615, 0x1656,
+    0x0656, 0x1697,
+    0x0697, 0x16d8,
+    0x06d8, 0x1719,
+    0x0719, 0x175a,
+    0x075a, 0x179b,
+    0x079b, 0x17dc,
+    0x07dc, 0x181d,
+    0x001d, 0x185e,
+    0x189f, 0x18e0,
+    0x1921, 0x1962,
+    0x19a3, 0x19e4,
+    0x1a25, 0x1a66,
+    0x1aa7, 0x1ae8,
+    0x1b29, 0x1b6a,
+    0x1bab, 0x1bec,
+    0x1c2d, 0x1c6e,
+    0x1caf, 0x1cf0,
+    0x1d31, 0x1d72,
+    0x1db3, 0x1df4,
+    0x1e35, 0x1e76,
+    0x1eb7, 0x1ef8,
+    0x1f39, 0x1f7a,
+    0x1fbb, 0x1ffc,
+    0x103d, 0x1080,
+    0x0080, 0x00a0,
+    0x00b0, 0x00b8,
+    0x003c, 0x10c1,
+    0x00c1, 0x00e1,
+    0x00f1, 0x00f9,
+    0x1102, 0x0102,
+    0x0122, 0x0132,
+    0x003a, 0x1143,
+    0x0143, 0x0163,
+    0x0173, 0x1184,
+    0x0184, 0x01a4,
+    0x01b4, 0x11c5,
+    0x01c5, 0x01e5,
+    0x01f5, 0x1206,
+    0x0206, 0x0226,
+    0x0036, 0x1247,
+    0x0247, 0x0267,
+    0x1288, 0x0288,
+    0x02a8, 0x12c9,
+    0x02c9, 0x02e9,
+    0x130a, 0x030a,
+    0x032a, 0x134b,
+    0x034b, 0x036b,
+    0x138c, 0x038c,
+    0x03ac, 0x13cd,
+    0x03cd, 0x03ed,
+    0x140e, 0x040e,
+    0x002e, 0x144f,
+    0x044f, 0x1490,
+    0x0490, 0x14d1,
+    0x04d1, 0x1512,
+    0x0512, 0x1553,
+    0x0553, 0x1594,
+    0x0594, 0x15d5,
+    0x05d5, 0x1616,
+    0x0616, 0x1657,
+    0x0657, 0x1698,
+    0x0698, 0x16d9,
+    0x06d9, 0x171a,
+    0x071a, 0x175b,
+    0x075b, 0x179c,
+    0x079c, 0x17dd,
+    0x07dd, 0x181e,
+    0x001e, 0x185f,
+    0x18a0, 0x18e1,
+    0x1922, 0x1963,
+    0x19a4, 0x19e5,
+    0x1a26, 0x1a67,
+    0x1aa8, 0x1ae9,
+    0x1b2a, 0x1b6b,
+    0x1bac, 0x1bed,
+    0x1c2e, 0x1c6f,
+    0x1cb0, 0x1cf1,
+    0x1d32, 0x1d73,
+    0x1db4, 0x1df5,
+    0x1e36, 0x1e77,
+    0x1eb8, 0x1ef9,
+    0x1f3a, 0x1f7b,
+    0x1fbc, 0x1ffd,
+    0x103e, 0x1040,
+    0x1041, 0x1042,
+    0x1043, 0x1044,
+    0x1045, 0x1046,
+    0x1047, 0x1048,
+    0x1049, 0x104a,
+    0x104b, 0x104c,
+    0x104d, 0x104e,
+    0x104f, 0x1050,
+    0x1051, 0x1052,
+    0x1053, 0x1054,
+    0x1055, 0x1056,
+    0x1057, 0x1058,
+    0x1059, 0x105a,
+    0x105b, 0x105c,
+    0x105d, 0x105e,
+    0x105f, 0x0040,
+    0x1060, 0x0041,
+    0x1061, 0x0042,
+    0x1062, 0x0043,
+    0x1063, 0x0044,
+    0x1064, 0x0045,
+    0x1065, 0x0046,
+    0x1066, 0x0047,
+    0x1067, 0x0048,
+    0x1068, 0x0049,
+    0x1069, 0x004a,
+    0x106a, 0x004b,
+    0x106b, 0x004c,
+    0x106c, 0x004d,
+    0x106d, 0x004e,
+    0x106e, 0x004f,
+    0x106f, 0x0060,
+    0x0050, 0x1070,
+    0x0061, 0x0051,
+    0x1071, 0x0062,
+    0x0052, 0x1072,
+    0x0063, 0x0053,
+    0x1073, 0x0064,
+    0x0054, 0x1074,
+    0x0065, 0x0055,
+    0x1075, 0x0066,
+    0x0056, 0x1076,
+    0x0067, 0x0057,
+    0x1077, 0x0070,
+    0x0068, 0x0058,
+    0x1078, 0x0071,
+    0x0069, 0x0059,
+    0x1079, 0x0072,
+    0x006a, 0x005a,
+    0x107a, 0x0073,
+    0x006b, 0x005b,
+    0x107b, 0x0078,
+    0x0074, 0x006c,
+    0x005c, 0x107c,
+    0x0079, 0x0075,
+    0x006d, 0x005d,
+    0x107d, 0x007c,
+    0x007a, 0x0076,
+    0x006e, 0x005e,
+    0x107e, 0x1081,
+    0x1082, 0x1083,
+    0x1084, 0x1085,
+    0x1086, 0x1087,
+    0x1088, 0x1089,
+    0x108a, 0x108b,
+    0x108c, 0x108d,
+    0x108e, 0x108f,
+    0x1090, 0x1091,
+    0x1092, 0x1093,
+    0x1094, 0x1095,
+    0x1096, 0x1097,
+    0x1098, 0x1099,
+    0x109a, 0x109b,
+    0x109c, 0x109d,
+    0x109e, 0x109f,
+    0x10a0, 0x0081,
+    0x10a1, 0x0082,
+    0x10a2, 0x0083,
+    0x10a3, 0x0084,
+    0x10a4, 0x0085,
+    0x10a5, 0x0086,
+    0x10a6, 0x0087,
+    0x10a7, 0x0088,
+    0x10a8, 0x0089,
+    0x10a9, 0x008a,
+    0x10aa, 0x008b,
+    0x10ab, 0x008c,
+    0x10ac, 0x008d,
+    0x10ad, 0x008e,
+    0x10ae, 0x008f,
+    0x10af, 0x0090,
+    0x10b0, 0x00a1,
+    0x0091, 0x10b1,
+    0x00a2, 0x0092,
+    0x10b2, 0x00a3,
+    0x0093, 0x10b3,
+    0x00a4, 0x0094,
+    0x10b4, 0x00a5,
+    0x0095, 0x10b5,
+    0x00a6, 0x0096,
+    0x10b6, 0x00a7,
+    0x0097, 0x10b7,
+    0x00a8, 0x0098,
+    0x10b8, 0x00b1,
+    0x00a9, 0x0099,
+    0x10b9, 0x00b2,
+    0x00aa, 0x009a,
+    0x10ba, 0x00b3,
+    0x00ab, 0x009b,
+    0x10bb, 0x00b4,
+    0x00ac, 0x009c,
+    0x10bc, 0x00b9,
+    0x00b5, 0x00ad,
+    0x009d, 0x10bd,
+    0x00ba, 0x00b6,
+    0x00ae, 0x009e,
+    0x10be, 0x10c2,
+    0x10c3, 0x10c4,
+    0x10c5, 0x10c6,
+    0x10c7, 0x10c8,
+    0x10c9, 0x10ca,
+    0x10cb, 0x10cc,
+    0x10cd, 0x10ce,
+    0x10cf, 0x10d0,
+    0x10d1, 0x10d2,
+    0x10d3, 0x10d4,
+    0x10d5, 0x10d6,
+    0x10d7, 0x10d8,
+    0x10d9, 0x10da,
+    0x10db, 0x10dc,
+    0x10dd, 0x10de,
+    0x10df, 0x10e0,
+    0x10e1, 0x00c2,
+    0x10e2, 0x00c3,
+    0x10e3, 0x00c4,
+    0x10e4, 0x00c5,
+    0x10e5, 0x00c6,
+    0x10e6, 0x00c7,
+    0x10e7, 0x00c8,
+    0x10e8, 0x00c9,
+    0x10e9, 0x00ca,
+    0x10ea, 0x00cb,
+    0x10eb, 0x00cc,
+    0x10ec, 0x00cd,
+    0x10ed, 0x00ce,
+    0x10ee, 0x00cf,
+    0x10ef, 0x00d0,
+    0x10f0, 0x00d1,
+    0x10f1, 0x00e2,
+    0x00d2, 0x10f2,
+    0x00e3, 0x00d3,
+    0x10f3, 0x00e4,
+    0x00d4, 0x10f4,
+    0x00e5, 0x00d5,
+    0x10f5, 0x00e6,
+    0x00d6, 0x10f6,
+    0x00e7, 0x00d7,
+    0x10f7, 0x00e8,
+    0x00d8, 0x10f8,
+    0x00e9, 0x00d9,
+    0x10f9, 0x00f2,
+    0x00ea, 0x00da,
+    0x10fa, 0x00f3,
+    0x00eb, 0x00db,
+    0x10fb, 0x00f4,
+    0x00ec, 0x00dc,
+    0x10fc, 0x00f5,
+    0x00ed, 0x00dd,
+    0x10fd, 0x00fa,
+    0x00f6, 0x00ee,
+    0x00de, 0x10fe,
+    0x1103, 0x1104,
+    0x1105, 0x1106,
+    0x1107, 0x1108,
+    0x1109, 0x110a,
+    0x110b, 0x110c,
+    0x110d, 0x110e,
+    0x110f, 0x1110,
+    0x1111, 0x1112,
+    0x1113, 0x1114,
+    0x1115, 0x1116,
+    0x1117, 0x1118,
+    0x1119, 0x111a,
+    0x111b, 0x111c,
+    0x111d, 0x111e,
+    0x111f, 0x1120,
+    0x1121, 0x1122,
+    0x0103, 0x1123,
+    0x0104, 0x1124,
+    0x0105, 0x1125,
+    0x0106, 0x1126,
+    0x0107, 0x1127,
+    0x0108, 0x1128,
+    0x0109, 0x1129,
+    0x010a, 0x112a,
+    0x010b, 0x112b,
+    0x010c, 0x112c,
+    0x010d, 0x112d,
+    0x010e, 0x112e,
+    0x010f, 0x112f,
+    0x0110, 0x1130,
+    0x0111, 0x1131,
+    0x0112, 0x1132,
+    0x0123, 0x0113,
+    0x1133, 0x0124,
+    0x0114, 0x1134,
+    0x0125, 0x0115,
+    0x1135, 0x0126,
+    0x0116, 0x1136,
+    0x0127, 0x0117,
+    0x1137, 0x0128,
+    0x0118, 0x1138,
+    0x0129, 0x0119,
+    0x1139, 0x012a,
+    0x011a, 0x113a,
+    0x0133, 0x012b,
+    0x011b, 0x113b,
+    0x0134, 0x012c,
+    0x011c, 0x113c,
+    0x0135, 0x012d,
+    0x011d, 0x113d,
+    0x0136, 0x012e,
+    0x011e, 0x113e,
+    0x1144, 0x1145,
+    0x1146, 0x1147,
+    0x1148, 0x1149,
+    0x114a, 0x114b,
+    0x114c, 0x114d,
+    0x114e, 0x114f,
+    0x1150, 0x1151,
+    0x1152, 0x1153,
+    0x1154, 0x1155,
+    0x1156, 0x1157,
+    0x1158, 0x1159,
+    0x115a, 0x115b,
+    0x115c, 0x115d,
+    0x115e, 0x115f,
+    0x1160, 0x1161,
+    0x1162, 0x1163,
+    0x0144, 0x1164,
+    0x0145, 0x1165,
+    0x0146, 0x1166,
+    0x0147, 0x1167,
+    0x0148, 0x1168,
+    0x0149, 0x1169,
+    0x014a, 0x116a,
+    0x014b, 0x116b,
+    0x014c, 0x116c,
+    0x014d, 0x116d,
+    0x014e, 0x116e,
+    0x014f, 0x116f,
+    0x0150, 0x1170,
+    0x0151, 0x1171,
+    0x0152, 0x1172,
+    0x0153, 0x1173,
+    0x0164, 0x0154,
+    0x1174, 0x0165,
+    0x0155, 0x1175,
+    0x0166, 0x0156,
+    0x1176, 0x0167,
+    0x0157, 0x1177,
+    0x0168, 0x0158,
+    0x1178, 0x0169,
+    0x0159, 0x1179,
+    0x016a, 0x015a,
+    0x117a, 0x016b,
+    0x015b, 0x117b,
+    0x0174, 0x016c,
+    0x015c, 0x117c,
+    0x0175, 0x016d,
+    0x015d, 0x117d,
+    0x0176, 0x016e,
+    0x015e, 0x117e,
+    0x1185, 0x1186,
+    0x1187, 0x1188,
+    0x1189, 0x118a,
+    0x118b, 0x118c,
+    0x118d, 0x118e,
+    0x118f, 0x1190,
+    0x1191, 0x1192,
+    0x1193, 0x1194,
+    0x1195, 0x1196,
+    0x1197, 0x1198,
+    0x1199, 0x119a,
+    0x119b, 0x119c,
+    0x119d, 0x119e,
+    0x119f, 0x11a0,
+    0x11a1, 0x11a2,
+    0x11a3, 0x11a4,
+    0x0185, 0x11a5,
+    0x0186, 0x11a6,
+    0x0187, 0x11a7,
+    0x0188, 0x11a8,
+    0x0189, 0x11a9,
+    0x018a, 0x11aa,
+    0x018b, 0x11ab,
+    0x018c, 0x11ac,
+    0x018d, 0x11ad,
+    0x018e, 0x11ae,
+    0x018f, 0x11af,
+    0x0190, 0x11b0,
+    0x0191, 0x11b1,
+    0x0192, 0x11b2,
+    0x0193, 0x11b3,
+    0x0194, 0x11b4,
+    0x01a5, 0x0195,
+    0x11b5, 0x01a6,
+    0x0196, 0x11b6,
+    0x01a7, 0x0197,
+    0x11b7, 0x01a8,
+    0x0198, 0x11b8,
+    0x01a9, 0x0199,
+    0x11b9, 0x01aa,
+    0x019a, 0x11ba,
+    0x01ab, 0x019b,
+    0x11bb, 0x01ac,
+    0x019c, 0x11bc,
+    0x01b5, 0x01ad,
+    0x019d, 0x11bd,
+    0x01b6, 0x01ae,
+    0x019e, 0x11be,
+    0x11c6, 0x11c7,
+    0x11c8, 0x11c9,
+    0x11ca, 0x11cb,
+    0x11cc, 0x11cd,
+    0x11ce, 0x11cf,
+    0x11d0, 0x11d1,
+    0x11d2, 0x11d3,
+    0x11d4, 0x11d5,
+    0x11d6, 0x11d7,
+    0x11d8, 0x11d9,
+    0x11da, 0x11db,
+    0x11dc, 0x11dd,
+    0x11de, 0x11df,
+    0x11e0, 0x11e1,
+    0x11e2, 0x11e3,
+    0x11e4, 0x11e5,
+    0x01c6, 0x11e6,
+    0x01c7, 0x11e7,
+    0x01c8, 0x11e8,
+    0x01c9, 0x11e9,
+    0x01ca, 0x11ea,
+    0x01cb, 0x11eb,
+    0x01cc, 0x11ec,
+    0x01cd, 0x11ed,
+    0x01ce, 0x11ee,
+    0x01cf, 0x11ef,
+    0x01d0, 0x11f0,
+    0x01d1, 0x11f1,
+    0x01d2, 0x11f2,
+    0x01d3, 0x11f3,
+    0x01d4, 0x11f4,
+    0x01d5, 0x11f5,
+    0x01e6, 0x01d6,
+    0x11f6, 0x01e7,
+    0x01d7, 0x11f7,
+    0x01e8, 0x01d8,
+    0x11f8, 0x01e9,
+    0x01d9, 0x11f9,
+    0x01ea, 0x01da,
+    0x11fa, 0x01eb,
+    0x01db, 0x11fb,
+    0x01ec, 0x01dc,
+    0x11fc, 0x01ed,
+    0x01dd, 0x11fd,
+    0x01f6, 0x01ee,
+    0x01de, 0x11fe,
+    0x1207, 0x1208,
+    0x1209, 0x120a,
+    0x120b, 0x120c,
+    0x120d, 0x120e,
+    0x120f, 0x1210,
+    0x1211, 0x1212,
+    0x1213, 0x1214,
+    0x1215, 0x1216,
+    0x1217, 0x1218,
+    0x1219, 0x121a,
+    0x121b, 0x121c,
+    0x121d, 0x121e,
+    0x121f, 0x1220,
+    0x1221, 0x1222,
+    0x1223, 0x1224,
+    0x1225, 0x1226,
+    0x0207, 0x1227,
+    0x0208, 0x1228,
+    0x0209, 0x1229,
+    0x020a, 0x122a,
+    0x020b, 0x122b,
+    0x020c, 0x122c,
+    0x020d, 0x122d,
+    0x020e, 0x122e,
+    0x020f, 0x122f,
+    0x0210, 0x1230,
+    0x0211, 0x1231,
+    0x0212, 0x1232,
+    0x0213, 0x1233,
+    0x0214, 0x1234,
+    0x0215, 0x1235,
+    0x0216, 0x1236,
+    0x0227, 0x0217,
+    0x1237, 0x0228,
+    0x0218, 0x1238,
+    0x0229, 0x0219,
+    0x1239, 0x022a,
+    0x021a, 0x123a,
+    0x022b, 0x021b,
+    0x123b, 0x022c,
+    0x021c, 0x123c,
+    0x022d, 0x021d,
+    0x123d, 0x022e,
+    0x021e, 0x123e,
+    0x1248, 0x1249,
+    0x124a, 0x124b,
+    0x124c, 0x124d,
+    0x124e, 0x124f,
+    0x1250, 0x1251,
+    0x1252, 0x1253,
+    0x1254, 0x1255,
+    0x1256, 0x1257,
+    0x1258, 0x1259,
+    0x125a, 0x125b,
+    0x125c, 0x125d,
+    0x125e, 0x125f,
+    0x1260, 0x1261,
+    0x1262, 0x1263,
+    0x1264, 0x1265,
+    0x1266, 0x1267,
+    0x0248, 0x1268,
+    0x0249, 0x1269,
+    0x024a, 0x126a,
+    0x024b, 0x126b,
+    0x024c, 0x126c,
+    0x024d, 0x126d,
+    0x024e, 0x126e,
+    0x024f, 0x126f,
+    0x0250, 0x1270,
+    0x0251, 0x1271,
+    0x0252, 0x1272,
+    0x0253, 0x1273,
+    0x0254, 0x1274,
+    0x0255, 0x1275,
+    0x0256, 0x1276,
+    0x0257, 0x1277,
+    0x0268, 0x0258,
+    0x1278, 0x0269,
+    0x0259, 0x1279,
+    0x026a, 0x025a,
+    0x127a, 0x026b,
+    0x025b, 0x127b,
+    0x026c, 0x025c,
+    0x127c, 0x026d,
+    0x025d, 0x127d,
+    0x026e, 0x025e,
+    0x127e, 0x1289,
+    0x128a, 0x128b,
+    0x128c, 0x128d,
+    0x128e, 0x128f,
+    0x1290, 0x1291,
+    0x1292, 0x1293,
+    0x1294, 0x1295,
+    0x1296, 0x1297,
+    0x1298, 0x1299,
+    0x129a, 0x129b,
+    0x129c, 0x129d,
+    0x129e, 0x129f,
+    0x12a0, 0x12a1,
+    0x12a2, 0x12a3,
+    0x12a4, 0x12a5,
+    0x12a6, 0x12a7,
+    0x12a8, 0x0289,
+    0x12a9, 0x028a,
+    0x12aa, 0x028b,
+    0x12ab, 0x028c,
+    0x12ac, 0x028d,
+    0x12ad, 0x028e,
+    0x12ae, 0x028f,
+    0x12af, 0x0290,
+    0x12b0, 0x0291,
+    0x12b1, 0x0292,
+    0x12b2, 0x0293,
+    0x12b3, 0x0294,
+    0x12b4, 0x0295,
+    0x12b5, 0x0296,
+    0x12b6, 0x0297,
+    0x12b7, 0x0298,
+    0x12b8, 0x02a9,
+    0x0299, 0x12b9,
+    0x02aa, 0x029a,
+    0x12ba, 0x02ab,
+    0x029b, 0x12bb,
+    0x02ac, 0x029c,
+    0x12bc, 0x02ad,
+    0x029d, 0x12bd,
+    0x02ae, 0x029e,
+    0x12be, 0x12ca,
+    0x12cb, 0x12cc,
+    0x12cd, 0x12ce,
+    0x12cf, 0x12d0,
+    0x12d1, 0x12d2,
+    0x12d3, 0x12d4,
+    0x12d5, 0x12d6,
+    0x12d7, 0x12d8,
+    0x12d9, 0x12da,
+    0x12db, 0x12dc,
+    0x12dd, 0x12de,
+    0x12df, 0x12e0,
+    0x12e1, 0x12e2,
+    0x12e3, 0x12e4,
+    0x12e5, 0x12e6,
+    0x12e7, 0x12e8,
+    0x12e9, 0x02ca,
+    0x12ea, 0x02cb,
+    0x12eb, 0x02cc,
+    0x12ec, 0x02cd,
+    0x12ed, 0x02ce,
+    0x12ee, 0x02cf,
+    0x12ef, 0x02d0,
+    0x12f0, 0x02d1,
+    0x12f1, 0x02d2,
+    0x12f2, 0x02d3,
+    0x12f3, 0x02d4,
+    0x12f4, 0x02d5,
+    0x12f5, 0x02d6,
+    0x12f6, 0x02d7,
+    0x12f7, 0x02d8,
+    0x12f8, 0x02d9,
+    0x12f9, 0x02ea,
+    0x02da, 0x12fa,
+    0x02eb, 0x02db,
+    0x12fb, 0x02ec,
+    0x02dc, 0x12fc,
+    0x02ed, 0x02dd,
+    0x12fd, 0x02ee,
+    0x02de, 0x12fe,
+    0x130b, 0x130c,
+    0x130d, 0x130e,
+    0x130f, 0x1310,
+    0x1311, 0x1312,
+    0x1313, 0x1314,
+    0x1315, 0x1316,
+    0x1317, 0x1318,
+    0x1319, 0x131a,
+    0x131b, 0x131c,
+    0x131d, 0x131e,
+    0x131f, 0x1320,
+    0x1321, 0x1322,
+    0x1323, 0x1324,
+    0x1325, 0x1326,
+    0x1327, 0x1328,
+    0x1329, 0x132a,
+    0x030b, 0x132b,
+    0x030c, 0x132c,
+    0x030d, 0x132d,
+    0x030e, 0x132e,
+    0x030f, 0x132f,
+    0x0310, 0x1330,
+    0x0311, 0x1331,
+    0x0312, 0x1332,
+    0x0313, 0x1333,
+    0x0314, 0x1334,
+    0x0315, 0x1335,
+    0x0316, 0x1336,
+    0x0317, 0x1337,
+    0x0318, 0x1338,
+    0x0319, 0x1339,
+    0x031a, 0x133a,
+    0x032b, 0x031b,
+    0x133b, 0x032c,
+    0x031c, 0x133c,
+    0x032d, 0x031d,
+    0x133d, 0x032e,
+    0x031e, 0x133e,
+    0x134c, 0x134d,
+    0x134e, 0x134f,
+    0x1350, 0x1351,
+    0x1352, 0x1353,
+    0x1354, 0x1355,
+    0x1356, 0x1357,
+    0x1358, 0x1359,
+    0x135a, 0x135b,
+    0x135c, 0x135d,
+    0x135e, 0x135f,
+    0x1360, 0x1361,
+    0x1362, 0x1363,
+    0x1364, 0x1365,
+    0x1366, 0x1367,
+    0x1368, 0x1369,
+    0x136a, 0x136b,
+    0x034c, 0x136c,
+    0x034d, 0x136d,
+    0x034e, 0x136e,
+    0x034f, 0x136f,
+    0x0350, 0x1370,
+    0x0351, 0x1371,
+    0x0352, 0x1372,
+    0x0353, 0x1373,
+    0x0354, 0x1374,
+    0x0355, 0x1375,
+    0x0356, 0x1376,
+    0x0357, 0x1377,
+    0x0358, 0x1378,
+    0x0359, 0x1379,
+    0x035a, 0x137a,
+    0x035b, 0x137b,
+    0x036c, 0x035c,
+    0x137c, 0x036d,
+    0x035d, 0x137d,
+    0x036e, 0x035e,
+    0x137e, 0x138d,
+    0x138e, 0x138f,
+    0x1390, 0x1391,
+    0x1392, 0x1393,
+    0x1394, 0x1395,
+    0x1396, 0x1397,
+    0x1398, 0x1399,
+    0x139a, 0x139b,
+    0x139c, 0x139d,
+    0x139e, 0x139f,
+    0x13a0, 0x13a1,
+    0x13a2, 0x13a3,
+    0x13a4, 0x13a5,
+    0x13a6, 0x13a7,
+    0x13a8, 0x13a9,
+    0x13aa, 0x13ab,
+    0x13ac, 0x038d,
+    0x13ad, 0x038e,
+    0x13ae, 0x038f,
+    0x13af, 0x0390,
+    0x13b0, 0x0391,
+    0x13b1, 0x0392,
+    0x13b2, 0x0393,
+    0x13b3, 0x0394,
+    0x13b4, 0x0395,
+    0x13b5, 0x0396,
+    0x13b6, 0x0397,
+    0x13b7, 0x0398,
+    0x13b8, 0x0399,
+    0x13b9, 0x039a,
+    0x13ba, 0x039b,
+    0x13bb, 0x039c,
+    0x13bc, 0x03ad,
+    0x039d, 0x13bd,
+    0x03ae, 0x039e,
+    0x13be, 0x13ce,
+    0x13cf, 0x13d0,
+    0x13d1, 0x13d2,
+    0x13d3, 0x13d4,
+    0x13d5, 0x13d6,
+    0x13d7, 0x13d8,
+    0x13d9, 0x13da,
+    0x13db, 0x13dc,
+    0x13dd, 0x13de,
+    0x13df, 0x13e0,
+    0x13e1, 0x13e2,
+    0x13e3, 0x13e4,
+    0x13e5, 0x13e6,
+    0x13e7, 0x13e8,
+    0x13e9, 0x13ea,
+    0x13eb, 0x13ec,
+    0x13ed, 0x03ce,
+    0x13ee, 0x03cf,
+    0x13ef, 0x03d0,
+    0x13f0, 0x03d1,
+    0x13f1, 0x03d2,
+    0x13f2, 0x03d3,
+    0x13f3, 0x03d4,
+    0x13f4, 0x03d5,
+    0x13f5, 0x03d6,
+    0x13f6, 0x03d7,
+    0x13f7, 0x03d8,
+    0x13f8, 0x03d9,
+    0x13f9, 0x03da,
+    0x13fa, 0x03db,
+    0x13fb, 0x03dc,
+    0x13fc, 0x03dd,
+    0x13fd, 0x03ee,
+    0x03de, 0x13fe,
+    0x140f, 0x1410,
+    0x1411, 0x1412,
+    0x1413, 0x1414,
+    0x1415, 0x1416,
+    0x1417, 0x1418,
+    0x1419, 0x141a,
+    0x141b, 0x141c,
+    0x141d, 0x141e,
+    0x141f, 0x1420,
+    0x1421, 0x1422,
+    0x1423, 0x1424,
+    0x1425, 0x1426,
+    0x1427, 0x1428,
+    0x1429, 0x142a,
+    0x142b, 0x142c,
+    0x142d, 0x142e,
+    0x040f, 0x142f,
+    0x0410, 0x1430,
+    0x0411, 0x1431,
+    0x0412, 0x1432,
+    0x0413, 0x1433,
+    0x0414, 0x1434,
+    0x0415, 0x1435,
+    0x0416, 0x1436,
+    0x0417, 0x1437,
+    0x0418, 0x1438,
+    0x0419, 0x1439,
+    0x041a, 0x143a,
+    0x041b, 0x143b,
+    0x041c, 0x143c,
+    0x041d, 0x143d,
+    0x041e, 0x143e,
+    0x1450, 0x1451,
+    0x1452, 0x1453,
+    0x1454, 0x1455,
+    0x1456, 0x1457,
+    0x1458, 0x1459,
+    0x145a, 0x145b,
+    0x145c, 0x145d,
+    0x145e, 0x145f,
+    0x1460, 0x1461,
+    0x1462, 0x1463,
+    0x1464, 0x1465,
+    0x1466, 0x1467,
+    0x1468, 0x1469,
+    0x146a, 0x146b,
+    0x146c, 0x146d,
+    0x146e, 0x146f,
+    0x0450, 0x1470,
+    0x0451, 0x1471,
+    0x0452, 0x1472,
+    0x0453, 0x1473,
+    0x0454, 0x1474,
+    0x0455, 0x1475,
+    0x0456, 0x1476,
+    0x0457, 0x1477,
+    0x0458, 0x1478,
+    0x0459, 0x1479,
+    0x045a, 0x147a,
+    0x045b, 0x147b,
+    0x045c, 0x147c,
+    0x045d, 0x147d,
+    0x045e, 0x147e,
+    0x1491, 0x1492,
+    0x1493, 0x1494,
+    0x1495, 0x1496,
+    0x1497, 0x1498,
+    0x1499, 0x149a,
+    0x149b, 0x149c,
+    0x149d, 0x149e,
+    0x149f, 0x14a0,
+    0x14a1, 0x14a2,
+    0x14a3, 0x14a4,
+    0x14a5, 0x14a6,
+    0x14a7, 0x14a8,
+    0x14a9, 0x14aa,
+    0x14ab, 0x14ac,
+    0x14ad, 0x14ae,
+    0x14af, 0x14b0,
+    0x0491, 0x14b1,
+    0x0492, 0x14b2,
+    0x0493, 0x14b3,
+    0x0494, 0x14b4,
+    0x0495, 0x14b5,
+    0x0496, 0x14b6,
+    0x0497, 0x14b7,
+    0x0498, 0x14b8,
+    0x0499, 0x14b9,
+    0x049a, 0x14ba,
+    0x049b, 0x14bb,
+    0x049c, 0x14bc,
+    0x049d, 0x14bd,
+    0x049e, 0x14be,
+    0x14d2, 0x14d3,
+    0x14d4, 0x14d5,
+    0x14d6, 0x14d7,
+    0x14d8, 0x14d9,
+    0x14da, 0x14db,
+    0x14dc, 0x14dd,
+    0x14de, 0x14df,
+    0x14e0, 0x14e1,
+    0x14e2, 0x14e3,
+    0x14e4, 0x14e5,
+    0x14e6, 0x14e7,
+    0x14e8, 0x14e9,
+    0x14ea, 0x14eb,
+    0x14ec, 0x14ed,
+    0x14ee, 0x14ef,
+    0x14f0, 0x14f1,
+    0x04d2, 0x14f2,
+    0x04d3, 0x14f3,
+    0x04d4, 0x14f4,
+    0x04d5, 0x14f5,
+    0x04d6, 0x14f6,
+    0x04d7, 0x14f7,
+    0x04d8, 0x14f8,
+    0x04d9, 0x14f9,
+    0x04da, 0x14fa,
+    0x04db, 0x14fb,
+    0x04dc, 0x14fc,
+    0x04dd, 0x14fd,
+    0x04de, 0x14fe,
+    0x1513, 0x1514,
+    0x1515, 0x1516,
+    0x1517, 0x1518,
+    0x1519, 0x151a,
+    0x151b, 0x151c,
+    0x151d, 0x151e,
+    0x151f, 0x1520,
+    0x1521, 0x1522,
+    0x1523, 0x1524,
+    0x1525, 0x1526,
+    0x1527, 0x1528,
+    0x1529, 0x152a,
+    0x152b, 0x152c,
+    0x152d, 0x152e,
+    0x152f, 0x1530,
+    0x1531, 0x1532,
+    0x0513, 0x1533,
+    0x0514, 0x1534,
+    0x0515, 0x1535,
+    0x0516, 0x1536,
+    0x0517, 0x1537,
+    0x0518, 0x1538,
+    0x0519, 0x1539,
+    0x051a, 0x153a,
+    0x051b, 0x153b,
+    0x051c, 0x153c,
+    0x051d, 0x153d,
+    0x051e, 0x153e,
+    0x1554, 0x1555,
+    0x1556, 0x1557,
+    0x1558, 0x1559,
+    0x155a, 0x155b,
+    0x155c, 0x155d,
+    0x155e, 0x155f,
+    0x1560, 0x1561,
+    0x1562, 0x1563,
+    0x1564, 0x1565,
+    0x1566, 0x1567,
+    0x1568, 0x1569,
+    0x156a, 0x156b,
+    0x156c, 0x156d,
+    0x156e, 0x156f,
+    0x1570, 0x1571,
+    0x1572, 0x1573,
+    0x0554, 0x1574,
+    0x0555, 0x1575,
+    0x0556, 0x1576,
+    0x0557, 0x1577,
+    0x0558, 0x1578,
+    0x0559, 0x1579,
+    0x055a, 0x157a,
+    0x055b, 0x157b,
+    0x055c, 0x157c,
+    0x055d, 0x157d,
+    0x055e, 0x157e,
+    0x1595, 0x1596,
+    0x1597, 0x1598,
+    0x1599, 0x159a,
+    0x159b, 0x159c,
+    0x159d, 0x159e,
+    0x159f, 0x15a0,
+    0x15a1, 0x15a2,
+    0x15a3, 0x15a4,
+    0x15a5, 0x15a6,
+    0x15a7, 0x15a8,
+    0x15a9, 0x15aa,
+    0x15ab, 0x15ac,
+    0x15ad, 0x15ae,
+    0x15af, 0x15b0,
+    0x15b1, 0x15b2,
+    0x15b3, 0x15b4,
+    0x0595, 0x15b5,
+    0x0596, 0x15b6,
+    0x0597, 0x15b7,
+    0x0598, 0x15b8,
+    0x0599, 0x15b9,
+    0x059a, 0x15ba,
+    0x059b, 0x15bb,
+    0x059c, 0x15bc,
+    0x059d, 0x15bd,
+    0x059e, 0x15be,
+    0x15d6, 0x15d7,
+    0x15d8, 0x15d9,
+    0x15da, 0x15db,
+    0x15dc, 0x15dd,
+    0x15de, 0x15df,
+    0x15e0, 0x15e1,
+    0x15e2, 0x15e3,
+    0x15e4, 0x15e5,
+    0x15e6, 0x15e7,
+    0x15e8, 0x15e9,
+    0x15ea, 0x15eb,
+    0x15ec, 0x15ed,
+    0x15ee, 0x15ef,
+    0x15f0, 0x15f1,
+    0x15f2, 0x15f3,
+    0x15f4, 0x15f5,
+    0x05d6, 0x15f6,
+    0x05d7, 0x15f7,
+    0x05d8, 0x15f8,
+    0x05d9, 0x15f9,
+    0x05da, 0x15fa,
+    0x05db, 0x15fb,
+    0x05dc, 0x15fc,
+    0x05dd, 0x15fd,
+    0x05de, 0x15fe,
+    0x1617, 0x1618,
+    0x1619, 0x161a,
+    0x161b, 0x161c,
+    0x161d, 0x161e,
+    0x161f, 0x1620,
+    0x1621, 0x1622,
+    0x1623, 0x1624,
+    0x1625, 0x1626,
+    0x1627, 0x1628,
+    0x1629, 0x162a,
+    0x162b, 0x162c,
+    0x162d, 0x162e,
+    0x162f, 0x1630,
+    0x1631, 0x1632,
+    0x1633, 0x1634,
+    0x1635, 0x1636,
+    0x0617, 0x1637,
+    0x0618, 0x1638,
+    0x0619, 0x1639,
+    0x061a, 0x163a,
+    0x061b, 0x163b,
+    0x061c, 0x163c,
+    0x061d, 0x163d,
+    0x061e, 0x163e,
+    0x1658, 0x1659,
+    0x165a, 0x165b,
+    0x165c, 0x165d,
+    0x165e, 0x165f,
+    0x1660, 0x1661,
+    0x1662, 0x1663,
+    0x1664, 0x1665,
+    0x1666, 0x1667,
+    0x1668, 0x1669,
+    0x166a, 0x166b,
+    0x166c, 0x166d,
+    0x166e, 0x166f,
+    0x1670, 0x1671,
+    0x1672, 0x1673,
+    0x1674, 0x1675,
+    0x1676, 0x1677,
+    0x0658, 0x1678,
+    0x0659, 0x1679,
+    0x065a, 0x167a,
+    0x065b, 0x167b,
+    0x065c, 0x167c,
+    0x065d, 0x167d,
+    0x065e, 0x167e,
+    0x1699, 0x169a,
+    0x169b, 0x169c,
+    0x169d, 0x169e,
+    0x169f, 0x16a0,
+    0x16a1, 0x16a2,
+    0x16a3, 0x16a4,
+    0x16a5, 0x16a6,
+    0x16a7, 0x16a8,
+    0x16a9, 0x16aa,
+    0x16ab, 0x16ac,
+    0x16ad, 0x16ae,
+    0x16af, 0x16b0,
+    0x16b1, 0x16b2,
+    0x16b3, 0x16b4,
+    0x16b5, 0x16b6,
+    0x16b7, 0x16b8,
+    0x0699, 0x16b9,
+    0x069a, 0x16ba,
+    0x069b, 0x16bb,
+    0x069c, 0x16bc,
+    0x069d, 0x16bd,
+    0x069e, 0x16be,
+    0x16da, 0x16db,
+    0x16dc, 0x16dd,
+    0x16de, 0x16df,
+    0x16e0, 0x16e1,
+    0x16e2, 0x16e3,
+    0x16e4, 0x16e5,
+    0x16e6, 0x16e7,
+    0x16e8, 0x16e9,
+    0x16ea, 0x16eb,
+    0x16ec, 0x16ed,
+    0x16ee, 0x16ef,
+    0x16f0, 0x16f1,
+    0x16f2, 0x16f3,
+    0x16f4, 0x16f5,
+    0x16f6, 0x16f7,
+    0x16f8, 0x16f9,
+    0x06da, 0x16fa,
+    0x06db, 0x16fb,
+    0x06dc, 0x16fc,
+    0x06dd, 0x16fd,
+    0x06de, 0x16fe,
+    0x171b, 0x171c,
+    0x171d, 0x171e,
+    0x171f, 0x1720,
+    0x1721, 0x1722,
+    0x1723, 0x1724,
+    0x1725, 0x1726,
+    0x1727, 0x1728,
+    0x1729, 0x172a,
+    0x172b, 0x172c,
+    0x172d, 0x172e,
+    0x172f, 0x1730,
+    0x1731, 0x1732,
+    0x1733, 0x1734,
+    0x1735, 0x1736,
+    0x1737, 0x1738,
+    0x1739, 0x173a,
+    0x071b, 0x173b,
+    0x071c, 0x173c,
+    0x071d, 0x173d,
+    0x071e, 0x173e,
+    0x175c, 0x175d,
+    0x175e, 0x175f,
+    0x1760, 0x1761,
+    0x1762, 0x1763,
+    0x1764, 0x1765,
+    0x1766, 0x1767,
+    0x1768, 0x1769,
+    0x176a, 0x176b,
+    0x176c, 0x176d,
+    0x176e, 0x176f,
+    0x1770, 0x1771,
+    0x1772, 0x1773,
+    0x1774, 0x1775,
+    0x1776, 0x1777,
+    0x1778, 0x1779,
+    0x177a, 0x177b,
+    0x075c, 0x177c,
+    0x075d, 0x177d,
+    0x075e, 0x177e,
+    0x179d, 0x179e,
+    0x179f, 0x17a0,
+    0x17a1, 0x17a2,
+    0x17a3, 0x17a4,
+    0x17a5, 0x17a6,
+    0x17a7, 0x17a8,
+    0x17a9, 0x17aa,
+    0x17ab, 0x17ac,
+    0x17ad, 0x17ae,
+    0x17af, 0x17b0,
+    0x17b1, 0x17b2,
+    0x17b3, 0x17b4,
+    0x17b5, 0x17b6,
+    0x17b7, 0x17b8,
+    0x17b9, 0x17ba,
+    0x17bb, 0x17bc,
+    0x079d, 0x17bd,
+    0x079e, 0x17be,
+    0x17de, 0x17df,
+    0x17e0, 0x17e1,
+    0x17e2, 0x17e3,
+    0x17e4, 0x17e5,
+    0x17e6, 0x17e7,
+    0x17e8, 0x17e9,
+    0x17ea, 0x17eb,
+    0x17ec, 0x17ed,
+    0x17ee, 0x17ef,
+    0x17f0, 0x17f1,
+    0x17f2, 0x17f3,
+    0x17f4, 0x17f5,
+    0x17f6, 0x17f7,
+    0x17f8, 0x17f9,
+    0x17fa, 0x17fb,
+    0x17fc, 0x17fd,
+    0x07de, 0x17fe,
+    0x181f, 0x1820,
+    0x1821, 0x1822,
+    0x1823, 0x1824,
+    0x1825, 0x1826,
+    0x1827, 0x1828,
+    0x1829, 0x182a,
+    0x182b, 0x182c,
+    0x182d, 0x182e,
+    0x182f, 0x1830,
+    0x1831, 0x1832,
+    0x1833, 0x1834,
+    0x1835, 0x1836,
+    0x1837, 0x1838,
+    0x1839, 0x183a,
+    0x183b, 0x183c,
+    0x183d, 0x183e,
+    0x1860, 0x1861,
+    0x1862, 0x1863,
+    0x1864, 0x1865,
+    0x1866, 0x1867,
+    0x1868, 0x1869,
+    0x186a, 0x186b,
+    0x186c, 0x186d,
+    0x186e, 0x186f,
+    0x1870, 0x1871,
+    0x1872, 0x1873,
+    0x1874, 0x1875,
+    0x1876, 0x1877,
+    0x1878, 0x1879,
+    0x187a, 0x187b,
+    0x187c, 0x187d,
+    0x187e, 0x18a1,
+    0x18a2, 0x18a3,
+    0x18a4, 0x18a5,
+    0x18a6, 0x18a7,
+    0x18a8, 0x18a9,
+    0x18aa, 0x18ab,
+    0x18ac, 0x18ad,
+    0x18ae, 0x18af,
+    0x18b0, 0x18b1,
+    0x18b2, 0x18b3,
+    0x18b4, 0x18b5,
+    0x18b6, 0x18b7,
+    0x18b8, 0x18b9,
+    0x18ba, 0x18bb,
+    0x18bc, 0x18bd,
+    0x18be, 0x18e2,
+    0x18e3, 0x18e4,
+    0x18e5, 0x18e6,
+    0x18e7, 0x18e8,
+    0x18e9, 0x18ea,
+    0x18eb, 0x18ec,
+    0x18ed, 0x18ee,
+    0x18ef, 0x18f0,
+    0x18f1, 0x18f2,
+    0x18f3, 0x18f4,
+    0x18f5, 0x18f6,
+    0x18f7, 0x18f8,
+    0x18f9, 0x18fa,
+    0x18fb, 0x18fc,
+    0x18fd, 0x18fe,
+    0x1923, 0x1924,
+    0x1925, 0x1926,
+    0x1927, 0x1928,
+    0x1929, 0x192a,
+    0x192b, 0x192c,
+    0x192d, 0x192e,
+    0x192f, 0x1930,
+    0x1931, 0x1932,
+    0x1933, 0x1934,
+    0x1935, 0x1936,
+    0x1937, 0x1938,
+    0x1939, 0x193a,
+    0x193b, 0x193c,
+    0x193d, 0x193e,
+    0x1964, 0x1965,
+    0x1966, 0x1967,
+    0x1968, 0x1969,
+    0x196a, 0x196b,
+    0x196c, 0x196d,
+    0x196e, 0x196f,
+    0x1970, 0x1971,
+    0x1972, 0x1973,
+    0x1974, 0x1975,
+    0x1976, 0x1977,
+    0x1978, 0x1979,
+    0x197a, 0x197b,
+    0x197c, 0x197d,
+    0x197e, 0x19a5,
+    0x19a6, 0x19a7,
+    0x19a8, 0x19a9,
+    0x19aa, 0x19ab,
+    0x19ac, 0x19ad,
+    0x19ae, 0x19af,
+    0x19b0, 0x19b1,
+    0x19b2, 0x19b3,
+    0x19b4, 0x19b5,
+    0x19b6, 0x19b7,
+    0x19b8, 0x19b9,
+    0x19ba, 0x19bb,
+    0x19bc, 0x19bd,
+    0x19be, 0x19e6,
+    0x19e7, 0x19e8,
+    0x19e9, 0x19ea,
+    0x19eb, 0x19ec,
+    0x19ed, 0x19ee,
+    0x19ef, 0x19f0,
+    0x19f1, 0x19f2,
+    0x19f3, 0x19f4,
+    0x19f5, 0x19f6,
+    0x19f7, 0x19f8,
+    0x19f9, 0x19fa,
+    0x19fb, 0x19fc,
+    0x19fd, 0x19fe,
+    0x1a27, 0x1a28,
+    0x1a29, 0x1a2a,
+    0x1a2b, 0x1a2c,
+    0x1a2d, 0x1a2e,
+    0x1a2f, 0x1a30,
+    0x1a31, 0x1a32,
+    0x1a33, 0x1a34,
+    0x1a35, 0x1a36,
+    0x1a37, 0x1a38,
+    0x1a39, 0x1a3a,
+    0x1a3b, 0x1a3c,
+    0x1a3d, 0x1a3e,
+    0x1a68, 0x1a69,
+    0x1a6a, 0x1a6b,
+    0x1a6c, 0x1a6d,
+    0x1a6e, 0x1a6f,
+    0x1a70, 0x1a71,
+    0x1a72, 0x1a73,
+    0x1a74, 0x1a75,
+    0x1a76, 0x1a77,
+    0x1a78, 0x1a79,
+    0x1a7a, 0x1a7b,
+    0x1a7c, 0x1a7d,
+    0x1a7e, 0x1aa9,
+    0x1aaa, 0x1aab,
+    0x1aac, 0x1aad,
+    0x1aae, 0x1aaf,
+    0x1ab0, 0x1ab1,
+    0x1ab2, 0x1ab3,
+    0x1ab4, 0x1ab5,
+    0x1ab6, 0x1ab7,
+    0x1ab8, 0x1ab9,
+    0x1aba, 0x1abb,
+    0x1abc, 0x1abd,
+    0x1abe, 0x1aea,
+    0x1aeb, 0x1aec,
+    0x1aed, 0x1aee,
+    0x1aef, 0x1af0,
+    0x1af1, 0x1af2,
+    0x1af3, 0x1af4,
+    0x1af5, 0x1af6,
+    0x1af7, 0x1af8,
+    0x1af9, 0x1afa,
+    0x1afb, 0x1afc,
+    0x1afd, 0x1afe,
+    0x1b2b, 0x1b2c,
+    0x1b2d, 0x1b2e,
+    0x1b2f, 0x1b30,
+    0x1b31, 0x1b32,
+    0x1b33, 0x1b34,
+    0x1b35, 0x1b36,
+    0x1b37, 0x1b38,
+    0x1b39, 0x1b3a,
+    0x1b3b, 0x1b3c,
+    0x1b3d, 0x1b3e,
+    0x1b6c, 0x1b6d,
+    0x1b6e, 0x1b6f,
+    0x1b70, 0x1b71,
+    0x1b72, 0x1b73,
+    0x1b74, 0x1b75,
+    0x1b76, 0x1b77,
+    0x1b78, 0x1b79,
+    0x1b7a, 0x1b7b,
+    0x1b7c, 0x1b7d,
+    0x1b7e, 0x1bad,
+    0x1bae, 0x1baf,
+    0x1bb0, 0x1bb1,
+    0x1bb2, 0x1bb3,
+    0x1bb4, 0x1bb5,
+    0x1bb6, 0x1bb7,
+    0x1bb8, 0x1bb9,
+    0x1bba, 0x1bbb,
+    0x1bbc, 0x1bbd,
+    0x1bbe, 0x1bee,
+    0x1bef, 0x1bf0,
+    0x1bf1, 0x1bf2,
+    0x1bf3, 0x1bf4,
+    0x1bf5, 0x1bf6,
+    0x1bf7, 0x1bf8,
+    0x1bf9, 0x1bfa,
+    0x1bfb, 0x1bfc,
+    0x1bfd, 0x1bfe,
+    0x1c2f, 0x1c30,
+    0x1c31, 0x1c32,
+    0x1c33, 0x1c34,
+    0x1c35, 0x1c36,
+    0x1c37, 0x1c38,
+    0x1c39, 0x1c3a,
+    0x1c3b, 0x1c3c,
+    0x1c3d, 0x1c3e,
+    0x1c70, 0x1c71,
+    0x1c72, 0x1c73,
+    0x1c74, 0x1c75,
+    0x1c76, 0x1c77,
+    0x1c78, 0x1c79,
+    0x1c7a, 0x1c7b,
+    0x1c7c, 0x1c7d,
+    0x1c7e, 0x1cb1,
+    0x1cb2, 0x1cb3,
+    0x1cb4, 0x1cb5,
+    0x1cb6, 0x1cb7,
+    0x1cb8, 0x1cb9,
+    0x1cba, 0x1cbb,
+    0x1cbc, 0x1cbd,
+    0x1cbe, 0x1cf2,
+    0x1cf3, 0x1cf4,
+    0x1cf5, 0x1cf6,
+    0x1cf7, 0x1cf8,
+    0x1cf9, 0x1cfa,
+    0x1cfb, 0x1cfc,
+    0x1cfd, 0x1cfe,
+    0x1d33, 0x1d34,
+    0x1d35, 0x1d36,
+    0x1d37, 0x1d38,
+    0x1d39, 0x1d3a,
+    0x1d3b, 0x1d3c,
+    0x1d3d, 0x1d3e,
+    0x1d74, 0x1d75,
+    0x1d76, 0x1d77,
+    0x1d78, 0x1d79,
+    0x1d7a, 0x1d7b,
+    0x1d7c, 0x1d7d,
+    0x1d7e, 0x1db5,
+    0x1db6, 0x1db7,
+    0x1db8, 0x1db9,
+    0x1dba, 0x1dbb,
+    0x1dbc, 0x1dbd,
+    0x1dbe, 0x1df6,
+    0x1df7, 0x1df8,
+    0x1df9, 0x1dfa,
+    0x1dfb, 0x1dfc,
+    0x1dfd, 0x1dfe,
+    0x1e37, 0x1e38,
+    0x1e39, 0x1e3a,
+    0x1e3b, 0x1e3c,
+    0x1e3d, 0x1e3e,
+    0x1e78, 0x1e79,
+    0x1e7a, 0x1e7b,
+    0x1e7c, 0x1e7d,
+    0x1e7e, 0x1eb9,
+    0x1eba, 0x1ebb,
+    0x1ebc, 0x1ebd,
+    0x1ebe, 0x1efa,
+    0x1efb, 0x1efc,
+    0x1efd, 0x1efe,
+    0x1f3b, 0x1f3c,
+    0x1f3d, 0x1f3e,
+    0x1f7c, 0x1f7d,
+    0x1f7e, 0x1fbd,
+    0x1fbe, 0x1ffe,
+};
+
diff --git a/tcg/aarch64/tcg-target.c b/tcg/aarch64/tcg-target.c
index ed32f64..e8370a9 100644
--- a/tcg/aarch64/tcg-target.c
+++ b/tcg/aarch64/tcg-target.c
@@ -107,6 +107,33 @@ static inline void patch_reloc(uint8_t *code_ptr, int type,
 }
 
 #define TCG_CT_CONST_S25  0x100
+#define TCG_CT_CONST_LI32 0x200
+#define TCG_CT_CONST_LI64 0x400
+
+#include "bitmask-table.h"
+
+static int find_bitmask64(uint64_t val)
+{
+    unsigned l = 0, h = ARRAY_SIZE(bitmask_imm);
+
+    while (l < h) {
+        unsigned m = (l + h) / 2;
+        if (bitmask_imm[m] == val) {
+            return m;
+        }
+        if (bitmask_imm[m] < val) {
+            l = m + 1;
+        } else {
+            h = m;
+        }
+    }
+    return -1;
+}
+
+static int find_bitmask32(uint32_t val)
+{
+    return find_bitmask64(((uint64_t)val << 32) | val);
+}
 
 /* parse target specific constraints */
 static int target_parse_constraint(TCGArgConstraint *ct,
@@ -134,6 +161,12 @@ static int target_parse_constraint(TCGArgConstraint *ct,
     case 'A': /* 25-bit signed, to be added or subtracted.  */
         ct->ct |= TCG_CT_CONST_S25;
         break;
+    case 'K': /* logical immediate 32-bit */
+        ct->ct |= TCG_CT_CONST_LI32;
+        break;
+    case 'L': /* logical immediate 64-bit */
+        ct->ct |= TCG_CT_CONST_LI64;
+        break;
     default:
         return -1;
     }
@@ -154,6 +187,12 @@ static inline int tcg_target_const_match(tcg_target_long 
val,
     if ((ct & TCG_CT_CONST_S25) && sextract32(val, 0, 25) == val) {
         return 1;
     }
+    if ((ct & TCG_CT_CONST_LI64) && find_bitmask64(val) >= 0) {
+        return 1;
+    }
+    if ((ct & TCG_CT_CONST_LI32) && find_bitmask32(val) >= 0) {
+        return 1;
+    }
 
     return 0;
 }
@@ -211,11 +250,14 @@ enum aarch64_arith_opc {
     ARITH_AND  = 0x0a,
     ARITH_ADD  = 0x0b,
     ARITH_ADDI = 0x11,
+    ARITH_ANDI = 0x12,
     ARITH_OR   = 0x2a,
     ARITH_ADDS = 0x2b,
+    ARITH_ORI  = 0x32,
     ARITH_XOR  = 0x4a,
     ARITH_SUB  = 0x4b,
     ARITH_SUBI = 0x51,
+    ARITH_XORI = 0x52,
     ARITH_ANDS = 0x6a,
     ARITH_SUBS = 0x6b,
 };
@@ -477,6 +519,16 @@ static inline void tcg_out_aimm(TCGContext *s, enum 
aarch64_arith_opc opc,
     tcg_out32(s, base | (aimm << 10) | (rn << 5) | rd);
 }
 
+static void tcg_out_limm(TCGContext *s, enum aarch64_arith_opc opc, int ext,
+                         TCGReg rd, TCGReg rn, tcg_target_long val)
+{
+    int index = (ext ? find_bitmask64(val) : find_bitmask32(val));
+    unsigned base = (ext ? 0x80 | opc : opc) << 24;
+
+    assert(index >= 0);
+    tcg_out32(s, base | bitmask_enc[index] << 10 | rn << 5 | rd);
+}
+
 static inline void tcg_out_mul(TCGContext *s, int ext,
                                TCGReg rd, TCGReg rn, TCGReg rm)
 {
@@ -1207,19 +1259,31 @@ static void tcg_out_op(TCGContext *s, TCGOpcode opc,
     case INDEX_op_and_i64:
         ext = 1; /* fall through */
     case INDEX_op_and_i32:
-        tcg_out_arith(s, ARITH_AND, ext, args[0], args[1], args[2], 0);
+        if (const_args[2]) {
+            tcg_out_limm(s, ARITH_ANDI, ext, args[0], args[1], args[2]);
+        } else {
+            tcg_out_arith(s, ARITH_AND, ext, args[0], args[1], args[2], 0);
+        }
         break;
 
     case INDEX_op_or_i64:
         ext = 1; /* fall through */
     case INDEX_op_or_i32:
-        tcg_out_arith(s, ARITH_OR, ext, args[0], args[1], args[2], 0);
+        if (const_args[2]) {
+            tcg_out_limm(s, ARITH_ORI, ext, args[0], args[1], args[2]);
+        } else {
+            tcg_out_arith(s, ARITH_OR, ext, args[0], args[1], args[2], 0);
+        }
         break;
 
     case INDEX_op_xor_i64:
         ext = 1; /* fall through */
     case INDEX_op_xor_i32:
-        tcg_out_arith(s, ARITH_XOR, ext, args[0], args[1], args[2], 0);
+        if (const_args[2]) {
+            tcg_out_limm(s, ARITH_XORI, ext, args[0], args[1], args[2]);
+        } else {
+            tcg_out_arith(s, ARITH_XOR, ext, args[0], args[1], args[2], 0);
+        }
         break;
 
     case INDEX_op_mul_i64:
@@ -1412,12 +1476,12 @@ static const TCGTargetOpDef aarch64_op_defs[] = {
     { INDEX_op_sub_i64, { "r", "r", "rA" } },
     { INDEX_op_mul_i32, { "r", "r", "r" } },
     { INDEX_op_mul_i64, { "r", "r", "r" } },
-    { INDEX_op_and_i32, { "r", "r", "r" } },
-    { INDEX_op_and_i64, { "r", "r", "r" } },
-    { INDEX_op_or_i32, { "r", "r", "r" } },
-    { INDEX_op_or_i64, { "r", "r", "r" } },
-    { INDEX_op_xor_i32, { "r", "r", "r" } },
-    { INDEX_op_xor_i64, { "r", "r", "r" } },
+    { INDEX_op_and_i32, { "r", "r", "rK" } },
+    { INDEX_op_and_i64, { "r", "r", "rL" } },
+    { INDEX_op_or_i32, { "r", "r", "rK" } },
+    { INDEX_op_or_i64, { "r", "r", "rL" } },
+    { INDEX_op_xor_i32, { "r", "r", "rK" } },
+    { INDEX_op_xor_i64, { "r", "r", "rL" } },
 
     { INDEX_op_shl_i32, { "r", "r", "ri" } },
     { INDEX_op_shr_i32, { "r", "r", "ri" } },
-- 
1.8.3.1




reply via email to

[Prev in Thread] Current Thread [Next in Thread]