diff --git a/src/simd/aarch64.zig b/src/simd/aarch64.zig index 0f28ae339..46f9ad8fb 100644 --- a/src/simd/aarch64.zig +++ b/src/simd/aarch64.zig @@ -43,6 +43,48 @@ pub inline fn vandq_u8(a: @Vector(16, u8), b: @Vector(16, u8)) @Vector(16, u8) { ); } +pub inline fn vandq_u16(a: @Vector(8, u16), b: @Vector(8, u16)) @Vector(8, u16) { + return asm ( + \\ and %[ret].16b, %[a].16b, %[b].16b + : [ret] "=w" (-> @Vector(8, u16)), + : [a] "w" (a), + [b] "w" (b), + ); +} + +pub inline fn vandq_u32(a: @Vector(4, u32), b: @Vector(4, u32)) @Vector(4, u32) { + return asm ( + \\ and %[ret].16b, %[a].16b, %[b].16b + : [ret] "=w" (-> @Vector(4, u32)), + : [a] "w" (a), + [b] "w" (b), + ); +} + +pub inline fn vbicq_u16(a: @Vector(8, u16), b: @Vector(8, u16)) @Vector(8, u16) { + return asm ( + \\ bic %[ret].16b, %[a].16b, %[b].16b + : [ret] "=w" (-> @Vector(8, u16)), + : [a] "w" (a), + [b] "w" (b), + ); +} + +pub inline fn vbslq_u32( + a: @Vector(4, u32), + b: @Vector(4, u32), + c: @Vector(4, u32), +) @Vector(4, u32) { + return asm ( + \\ mov %[ret].16b, %[a].16b + \\ bsl %[ret].16b, %[b].16b, %[c].16b + : [ret] "=&w" (-> @Vector(4, u32)), + : [a] "w" (a), + [b] "w" (b), + [c] "w" (c), + ); +} + pub inline fn vceqq_u8(a: @Vector(16, u8), b: @Vector(16, u8)) @Vector(16, u8) { return asm ( \\ cmeq %[ret].16b, %[a].16b, %[b].16b @@ -79,6 +121,15 @@ pub inline fn vcgtq_u8(a: @Vector(16, u8), b: @Vector(16, u8)) @Vector(16, u8) { ); } +pub inline fn vcltq_s8(a: @Vector(16, i8), b: @Vector(16, i8)) @Vector(16, u8) { + return asm ( + \\ cmgt %[ret].16b, %[b].16b, %[a].16b + : [ret] "=w" (-> @Vector(16, u8)), + : [a] "w" (a), + [b] "w" (b), + ); +} + pub inline fn vcnt_u8(v: @Vector(8, u8)) @Vector(8, u8) { return asm ( \\ cnt %[ret].8b, %[v].8b @@ -139,6 +190,15 @@ pub inline fn vget_lane_u64(v: @Vector(1, u64)) u64 { ); } +pub inline fn vgetq_lane_u16(v: @Vector(8, u16), n: u3) u16 { + return asm ( + \\ umov %[ret:w], %[v].h[%[n]] + : [ret] "=r" (-> u16), + : [v] "w" (v), + [n] "I" (n), + ); +} + pub inline fn vgetq_lane_u64(v: @Vector(2, u64), n: u1) u64 { return asm ( \\ umov %[ret], %[v].d[%[n]] @@ -166,6 +226,22 @@ pub inline fn vmaxvq_u8(v: @Vector(16, u8)) u8 { return result[0]; } +pub inline fn vmovq_n_u32(v: u32) @Vector(4, u32) { + return asm ( + \\ dup %[ret].4s, %[value:w] + : [ret] "=w" (-> @Vector(4, u32)), + : [value] "r" (v), + ); +} + +pub inline fn vmovq_n_u16(v: u16) @Vector(8, u16) { + return asm ( + \\ dup %[ret].8h, %[value:w] + : [ret] "=w" (-> @Vector(8, u16)), + : [value] "r" (v), + ); +} + pub inline fn vorrq_u8(a: @Vector(16, u8), b: @Vector(16, u8)) @Vector(16, u8) { return asm ( \\ orr %[ret].16b, %[a].16b, %[b].16b @@ -175,6 +251,15 @@ pub inline fn vorrq_u8(a: @Vector(16, u8), b: @Vector(16, u8)) @Vector(16, u8) { ); } +pub inline fn vpaddq_u8(a: @Vector(16, u8), b: @Vector(16, u8)) @Vector(16, u8) { + return asm ( + \\ addp %[ret].16b, %[a].16b, %[b].16b + : [ret] "=w" (-> @Vector(16, u8)), + : [a] "w" (a), + [b] "w" (b), + ); +} + pub inline fn vqtbl1q_u8(t: @Vector(16, u8), idx: @Vector(16, u8)) @Vector(16, u8) { return asm ( \\ tbl %[ret].16b, { %[t].16b }, %[idx].16b @@ -204,6 +289,83 @@ pub inline fn vshrq_n_u8(a: @Vector(16, u8), n: u8) @Vector(16, u8) { ); } +pub inline fn vshrq_n_u32(a: @Vector(4, u32), n: u8) @Vector(4, u32) { + assert(n <= 32); + return asm ( + \\ ushr %[ret].4s, %[a].4s, %[n] + : [ret] "=w" (-> @Vector(4, u32)), + : [a] "w" (a), + [n] "I" (n), + ); +} + +pub inline fn vsraq_n_u8(a: @Vector(16, u8), b: @Vector(16, u8), n: u8) @Vector(16, u8) { + assert(n <= 8); + return asm ( + \\ mov %[ret].16b, %[a].16b + \\ usra %[ret].16b, %[b].16b, %[n] + : [ret] "=&w" (-> @Vector(16, u8)), + : [a] "w" (a), + [b] "w" (b), + [n] "I" (n), + ); +} + +pub inline fn vsraq_n_u16(a: @Vector(8, u16), b: @Vector(8, u16), n: u4) @Vector(8, u16) { + assert(n <= 16); + + // note: usra modifies the first operand, but I can't figure out how to + // specify that without the mov safely. + return asm ( + \\ mov %[ret].8h, %[a].8h + \\ usra %[ret].8h, %[b].8h, %[n] + : [ret] "=&w" (-> @Vector(8, u16)), + : [a] "w" (a), + [b] "w" (b), + [n] "I" (n), + ); +} + +pub inline fn vsraq_n_u32(a: @Vector(4, u32), b: @Vector(4, u32), n: u8) @Vector(4, u32) { + assert(n <= 32); + return asm ( + \\ mov %[ret].4s, %[a].4s + \\ usra %[ret].4s, %[b].4s, %[n] + : [ret] "=&w" (-> @Vector(4, u32)), + : [a] "w" (a), + [b] "w" (b), + [n] "I" (n), + ); +} + +pub inline fn vst1q_u8(out: [*]u8, a: @Vector(16, u8)) void { + asm volatile ( + \\ st1 { %[a].16b }, [%[out]] + : + : [out] "r" (out), + [a] "w" (a), + ); +} + +pub inline fn vst1q_u32(out: [*]u32, a: @Vector(4, u32)) void { + asm volatile ( + \\ st1 { %[a].4s }, [%[out]] + : + : [out] "r" (out), + [a] "w" (a), + ); +} + +pub inline fn vst2q_u16(out: [*]u16, vs: [2]@Vector(8, u16)) void { + asm volatile ( + \\ st2 { %[v1].8h - %[v2].8h }, [%[out]] + : + : [out] "r" (out), + [v1] "w" (vs[0]), + [v2] "w" (vs[1]), + ); +} + pub inline fn rbit(comptime T: type, v: T) T { assert(T == u32 or T == u64); return asm ( diff --git a/src/simd/main.zig b/src/simd/main.zig index c29f5e201..9bc99fcf1 100644 --- a/src/simd/main.zig +++ b/src/simd/main.zig @@ -2,6 +2,7 @@ const std = @import("std"); pub const isa = @import("isa.zig"); pub const utf8_count = @import("utf8_count.zig"); +pub const utf8_decode = @import("utf8_decode.zig"); pub const utf8_validate = @import("utf8_validate.zig"); pub const index_of = @import("index_of.zig"); diff --git a/src/simd/utf8_decode.zig b/src/simd/utf8_decode.zig new file mode 100644 index 000000000..1f9d2f0ae --- /dev/null +++ b/src/simd/utf8_decode.zig @@ -0,0 +1,341 @@ +const std = @import("std"); +const assert = std.debug.assert; +const isa = @import("isa.zig"); +const aarch64 = @import("aarch64.zig"); +const utf_tables = @import("utf_tables.zig"); + +// All of the work in this file is based heavily on the work of +// Daniel Lemire and John Keiser. Their original work can be found here: +// - https://arxiv.org/pdf/2010.03090.pdf +// - https://simdutf.github.io/simdutf/ (MIT License) + +/// Decode UTF-8 codepoints to UTF-32. Returns the number of codepoints +/// decoded. The output buffer must be large enough to hold the decoded +/// codepoints (worst case is 4x the number of bytes). +/// +/// This also assumes the UTF-8 is valid. If it may not be, you should +/// validate first. +pub const Decode = fn ([]u32, []const u8) []const u32; + +/// Returns the function for the given ISA. +pub fn decodeFunc(v: isa.ISA) *const Decode { + return isa.funcMap(Decode, v, .{ + .{ .scalar, Scalar.decode }, + .{ .neon, Neon.decode }, + .{ .avx2, Scalar.decode }, // todo + }); +} + +pub const Scalar = struct { + pub fn decode(out: []u32, in: []const u8) []const u32 { + const view = std.unicode.Utf8View.initUnchecked(in); + var it = view.iterator(); + var i: usize = 0; + while (it.nextCodepoint()) |cp| { + out[i] = cp; + i += 1; + } + + return out[0..i]; + } +}; + +/// Arm NEON implementation +pub const Neon = struct { + pub fn decode(out: []u32, in: []const u8) []const u32 { + var delta: Delta = .{ .in = 0, .out = 0 }; + while (delta.in + 16 <= in.len) { + const next = process(out[delta.out..], in[delta.in..]); + delta.in += next.in; + delta.out += next.out; + } + + if (delta.in < in.len) delta.out += Scalar.decode( + out[delta.out..], + in[delta.in..], + ).len; + + return out[0..delta.out]; + } + + const Delta = struct { + in: usize, + out: usize, + }; + + pub fn process(out: []u32, in: []const u8) Delta { + const v = aarch64.vld1q_u8(in); + + // Fast-path all ASCII. + if (aarch64.vmaxvq_u8(v) <= 0b10000000) { + processASCII(out, v); + return .{ .in = 16, .out = 16 }; + } + + const continuation_mask: u64 = mask: { + const bitmask: @Vector(16, u8) = .{ + 0x01, 0x02, 0x04, 0x08, 0x10, 0x20, 0x40, 0x80, + 0x01, 0x02, 0x04, 0x08, 0x10, 0x20, 0x40, 0x80, + }; + const mask = aarch64.vcltq_s8(@bitCast(v), aarch64.vdupq_n_s8(-65 + 1)); + const mask_and = aarch64.vandq_u8(mask, bitmask); + const sum0 = aarch64.vpaddq_u8(mask_and, aarch64.vdupq_n_u8(0)); + const sum1 = aarch64.vpaddq_u8(aarch64.vdupq_n_u8(0), aarch64.vdupq_n_u8(0)); + const sum0_added = aarch64.vpaddq_u8(sum0, sum1); + const sum0_added2 = aarch64.vpaddq_u8(sum0_added, sum0_added); + const final = aarch64.vgetq_lane_u64(@bitCast(sum0_added2), 0); + // std.log.warn("sum0={}", .{sum0}); + // std.log.warn("sum1={}", .{sum1}); + // std.log.warn("sum0_added={}", .{sum0_added}); + // std.log.warn("sum0_added2={}", .{sum0_added2}); + // std.log.warn("final={X}", .{final}); + // + // const mask_sum = aarch64.vpaddq_u8(mask_and, mask_and); + // const lane = aarch64.vgetq_lane_u16(@bitCast(mask_sum), 0); + // std.log.warn("mask={}", .{mask}); + // std.log.warn("mask_and={}", .{mask_and}); + // std.log.warn("mask_sum={}", .{mask_sum}); + // std.log.warn("lane={X}", .{@as(u64, @intCast(lane))}); + + break :mask final; + //break :mask @intCast(lane); + //break :mask aarch64.vgetq_lane_u64(@bitCast(mask_sum), 0); + }; + const leading_mask = ~continuation_mask; + var end_of_cp_mask = leading_mask >> 1; + + // std.log.warn("continuation_mask={X}", .{continuation_mask}); + // std.log.warn("leading_mask={X}", .{leading_mask}); + // std.log.warn("end_of_cp_mask={X}", .{end_of_cp_mask}); + + var delta: Delta = .{ .in = 0, .out = 0 }; + const max_starting_point = 4; + while (delta.in < max_starting_point) { + const step_delta = convertMaskedUtf8ToUtf32( + out[delta.out..], + in[delta.in..], + end_of_cp_mask, + ); + + delta.in += step_delta.in; + delta.out += step_delta.out; + end_of_cp_mask >>= @intCast(step_delta.in); + } + + return delta; + } + + fn convertMaskedUtf8ToUtf32( + out: []u32, + in: []const u8, + end_of_cp_mask: u64, + ) Delta { + const v = aarch64.vld1q_u8(in); + const input_end_of_cp_mask = end_of_cp_mask & 0xFFF; + + // Fast paths + // if ((end_of_cp_mask & 0xFFFF) == 0xFFFF) { + // @panic("ASCII"); + // } + // if (input_end_of_cp_mask == 0x924) { + // @panic("4 3-byte"); + // } + // if (input_end_of_cp_mask == 0xAAA) { + // @panic("2 byte burst"); + // } + // No fast path + + const idx = utf_tables.utf8bigindex[input_end_of_cp_mask][0]; + const consumed = utf_tables.utf8bigindex[input_end_of_cp_mask][1]; + // std.log.warn("idx={d}", .{idx}); + // std.log.warn("consumed={d}", .{consumed}); + if (idx < 64) { + // SIX (6) input code-code units + const composed_utf16 = convertUtf8ByteToUtf16(v, idx); + aarch64.vst2q_u16(@ptrCast(out.ptr), .{ composed_utf16, aarch64.vmovq_n_u16(0) }); + return .{ .in = consumed, .out = 6 }; + } else if (idx < 145) { + // FOUR (4) input code-code units + // UTF-16 and UTF-32 use similar algorithms, but UTF-32 skips the narrowing. + const sh = aarch64.vld1q_u8(&utf_tables.shufutf8[idx]); + + // Shuffle + // 1 byte: 00000000 00000000 0ccccccc + // 2 byte: 00000000 110bbbbb 10cccccc + // 3 byte: 1110aaaa 10bbbbbb 10cccccc + const perm: @Vector(4, u32) = @bitCast(aarch64.vqtbl1q_u8(v, sh)); + + // Split + // 00000000 00000000 0ccccccc + const ascii = aarch64.vandq_u32(perm, aarch64.vmovq_n_u32(0x7F)); + + // Note: unmasked + // xxxxxxxx aaaaxxxx xxxxxxxx + const high = aarch64.vshrq_n_u32(perm, 4); + // Use 16 bit bic instead of and. + // The top bits will be corrected later in the bsl + // 00000000 10bbbbbb 00000000 + const middle: @Vector(4, u32) = @bitCast(aarch64.vbicq_u16( + @bitCast(perm), + aarch64.vmovq_n_u16(~@as(u16, 0xFF00)), + )); + // Combine low and middle with shift right accumulate + // 00000000 00xxbbbb bbcccccc + const lowmid = aarch64.vsraq_n_u32(ascii, middle, 2); + + // Insert top 4 bits from high byte with bitwise select + // 00000000 aaaabbbb bbcccccc + const composed = aarch64.vbslq_u32( + aarch64.vmovq_n_u32(0x0000F000), + high, + lowmid, + ); + + aarch64.vst1q_u32(@ptrCast(out.ptr), composed); + return .{ .in = consumed, .out = 4 }; + } else if (idx < 209) { + // THREE (3) input code-code units + if (input_end_of_cp_mask == 0x888) { + @panic("TODO"); + } + + // Unlike UTF-16, doing a fast codepath doesn't have nearly as much benefit due to + // surrogates no longer being involved. + const sh = aarch64.vld1q_u8(&utf_tables.shufutf8[idx]); + + // 1 byte: 00000000 00000000 00000000 0ddddddd + // 2 byte: 00000000 00000000 110ccccc 10dddddd + // 3 byte: 00000000 1110bbbb 10cccccc 10dddddd + // 4 byte: 11110aaa 10bbbbbb 10cccccc 10dddddd + const perm: @Vector(4, u32) = @bitCast(aarch64.vqtbl1q_u8(v, sh)); + + // Ascii + const ascii = aarch64.vandq_u32(perm, aarch64.vmovq_n_u32(0x7F)); + const middle = aarch64.vandq_u32(perm, aarch64.vmovq_n_u32(0x3f00)); + + // When converting the way we do, the 3 byte prefix will be interpreted as the + // 18th bit being set, since the code would interpret the lead byte (0b1110bbbb) + // as a continuation byte (0b10bbbbbb). To fix this, we can either xor or do an + // 8 bit add of the 6th bit shifted right by 1. Since NEON has shift right accumulate, + // we use that. + // 4 byte 3 byte + // 10bbbbbb 1110bbbb + // 00000000 01000000 6th bit + // 00000000 00100000 shift right + // 10bbbbbb 0000bbbb add + // 00bbbbbb 0000bbbb mask + const correction = aarch64.vandq_u32(perm, aarch64.vmovq_n_u32(0x00400000)); + const corrected: @Vector(4, u32) = @bitCast(aarch64.vsraq_n_u8( + @bitCast(perm), + @bitCast(correction), + 1, + )); + + // 00000000 00000000 0000cccc ccdddddd + const cd = aarch64.vsraq_n_u32(ascii, middle, 2); + + // Insert twice + // xxxxxxxx xxxaaabb bbbbxxxx xxxxxxxx + const ab = aarch64.vbslq_u32( + aarch64.vmovq_n_u32(0x01C0000), + aarch64.vshrq_n_u32(corrected, 6), + aarch64.vshrq_n_u32(corrected, 4), + ); + // 00000000 000aaabb bbbbcccc ccdddddd + const composed = aarch64.vbslq_u32(aarch64.vmovq_n_u32(0xFFE00FFF), cd, ab); + + aarch64.vst1q_u32(out.ptr, composed); + return .{ .in = consumed, .out = 3 }; + } + + // Definitely a UTF-8 error but we don't handle errors + @panic("invalid UTF-8"); + } + + /// Converts 6 1-2 byte UTF-8 characters to 6 UTF-16 characters. + fn convertUtf8ByteToUtf16(v: @Vector(16, u8), idx: usize) @Vector(8, u16) { + // This is a relatively easy scenario + // we process SIX (6) input code-code units. The max length in bytes of six code + // code units spanning between 1 and 2 bytes each is 12 bytes. + const sh = aarch64.vld1q_u8(&utf_tables.shufutf8[idx]); + + // Shuffle + // 1 byte: 00000000 0bbbbbbb + // 2 byte: 110aaaaa 10bbbbbb + const perm: @Vector(8, u16) = @bitCast(aarch64.vqtbl1q_u8(v, sh)); + + // Mask + // 1 byte: 00000000 0bbbbbbb + // 2 byte: 00000000 00bbbbbb + const ascii = aarch64.vandq_u16(perm, aarch64.vmovq_n_u16(0x7F)); + // 1 byte: 00000000 00000000 + // 2 byte: 000aaaaa 00000000 + const highbyte = aarch64.vandq_u16(perm, aarch64.vmovq_n_u16(0x1F00)); + + // Combine with a shift right accumulate + // 1 byte: 00000000 0bbbbbbb + // 2 byte: 00000aaa aabbbbbb + const composed = aarch64.vsraq_n_u16(ascii, highbyte, 2); + + // std.log.warn("sh={}", .{sh}); + // std.log.warn("perm={}", .{perm}); + // std.log.warn("ascii={}", .{ascii}); + // std.log.warn("highbyte={}", .{highbyte}); + // std.log.warn("composed={}", .{composed}); + return composed; + } + + fn processASCII(out: []u32, v: @Vector(16, u8)) void { + // Use table lookups to extract individual elements out of the + // u8-packed vector so we can widen to u32. Each table below pulls + // the next 4 elements out of the vector. + const tb1: @Vector(16, u8) = .{ 0, 255, 255, 255, 1, 255, 255, 255, 2, 255, 255, 255, 3, 255, 255, 255 }; + const tb2: @Vector(16, u8) = .{ 4, 255, 255, 255, 5, 255, 255, 255, 6, 255, 255, 255, 7, 255, 255, 255 }; + const tb3: @Vector(16, u8) = .{ 8, 255, 255, 255, 9, 255, 255, 255, 10, 255, 255, 255, 11, 255, 255, 255 }; + const tb4: @Vector(16, u8) = .{ 12, 255, 255, 255, 13, 255, 255, 255, 14, 255, 255, 255, 15, 255, 255, 255 }; + + const shuf1 = aarch64.vqtbl1q_u8(v, tb1); + const shuf2 = aarch64.vqtbl1q_u8(v, tb2); + aarch64.vst1q_u8(@ptrCast(out.ptr), shuf1); + aarch64.vst1q_u8(@ptrCast(out.ptr + 4), shuf2); + + const shuf3 = aarch64.vqtbl1q_u8(v, tb3); + const shuf4 = aarch64.vqtbl1q_u8(v, tb4); + aarch64.vst1q_u8(@ptrCast(out.ptr + 8), shuf3); + aarch64.vst1q_u8(@ptrCast(out.ptr + 12), shuf4); + } +}; + +/// Generic test function so we can test against multiple implementations. +fn testDecode(func: *const Decode) !void { + const testing = std.testing; + const inputs: []const []const u8 = &.{ + "hello friends!!!", + "hello friends!!!", + "abc", + "abc\xdf\xbf", + "Ж", + "ЖЖ", + "брэд-ЛГТМ", + "☺☻☹", + "a\u{fffdb}", + "\xf4\x8f\xbf\xbf", + }; + + inline for (inputs) |input_raw| { + const input = if (input_raw.len >= 64) input_raw else input_raw ++ ("hello" ** 15); + assert(input.len >= 64); + + var buf: [1024]u32 = undefined; + var buf2: [1024]u32 = undefined; + const scalar = Scalar.decode(&buf, input); + const actual = func(&buf2, input); + try testing.expectEqualSlices(u32, scalar, actual); + } +} + +test "count" { + const v = isa.detect(); + var it = v.iterator(); + while (it.next()) |isa_v| try testDecode(decodeFunc(isa_v)); +} diff --git a/src/simd/utf8_validate.zig b/src/simd/utf8_validate.zig index 2cad03324..185800de3 100644 --- a/src/simd/utf8_validate.zig +++ b/src/simd/utf8_validate.zig @@ -4,13 +4,13 @@ const assert = std.debug.assert; const isa = @import("isa.zig"); const aarch64 = @import("aarch64.zig"); -const Validate = fn ([]const u8) bool; - // All of the work in this file is based heavily on the work of // Daniel Lemire and John Keiser. Their original work can be found here: // - https://arxiv.org/pdf/2010.03090.pdf // - https://simdutf.github.io/simdutf/ (MIT License) +pub const Validate = fn ([]const u8) bool; + pub fn validateFunc(v: isa.ISA) *const Validate { return isa.funcMap(Validate, v, .{ .{ .avx2, Scalar.validate }, // todo diff --git a/src/simd/utf_tables.zig b/src/simd/utf_tables.zig new file mode 100644 index 000000000..ca195485e --- /dev/null +++ b/src/simd/utf_tables.zig @@ -0,0 +1,4313 @@ +// These are the UTF8 tables from the simdutf project: +// https://github.com/simdutf/simdutf (MIT licensed) + +pub const shufutf8: [209][16]u8 = .{ + .{ 0, 255, 1, 255, 2, 255, 3, 255, 4, 255, 5, 255, 0, 0, 0, 0 }, + .{ 0, 255, 1, 255, 2, 255, 3, 255, 4, 255, 6, 5, 0, 0, 0, 0 }, + .{ 0, 255, 1, 255, 2, 255, 3, 255, 5, 4, 6, 255, 0, 0, 0, 0 }, + .{ 0, 255, 1, 255, 2, 255, 3, 255, 5, 4, 7, 6, 0, 0, 0, 0 }, + .{ 0, 255, 1, 255, 2, 255, 4, 3, 5, 255, 6, 255, 0, 0, 0, 0 }, + .{ 0, 255, 1, 255, 2, 255, 4, 3, 5, 255, 7, 6, 0, 0, 0, 0 }, + .{ 0, 255, 1, 255, 2, 255, 4, 3, 6, 5, 7, 255, 0, 0, 0, 0 }, + .{ 0, 255, 1, 255, 2, 255, 4, 3, 6, 5, 8, 7, 0, 0, 0, 0 }, + .{ 0, 255, 1, 255, 3, 2, 4, 255, 5, 255, 6, 255, 0, 0, 0, 0 }, + .{ 0, 255, 1, 255, 3, 2, 4, 255, 5, 255, 7, 6, 0, 0, 0, 0 }, + .{ 0, 255, 1, 255, 3, 2, 4, 255, 6, 5, 7, 255, 0, 0, 0, 0 }, + .{ 0, 255, 1, 255, 3, 2, 4, 255, 6, 5, 8, 7, 0, 0, 0, 0 }, + .{ 0, 255, 1, 255, 3, 2, 5, 4, 6, 255, 7, 255, 0, 0, 0, 0 }, + .{ 0, 255, 1, 255, 3, 2, 5, 4, 6, 255, 8, 7, 0, 0, 0, 0 }, + .{ 0, 255, 1, 255, 3, 2, 5, 4, 7, 6, 8, 255, 0, 0, 0, 0 }, + .{ 0, 255, 1, 255, 3, 2, 5, 4, 7, 6, 9, 8, 0, 0, 0, 0 }, + .{ 0, 255, 2, 1, 3, 255, 4, 255, 5, 255, 6, 255, 0, 0, 0, 0 }, + .{ 0, 255, 2, 1, 3, 255, 4, 255, 5, 255, 7, 6, 0, 0, 0, 0 }, + .{ 0, 255, 2, 1, 3, 255, 4, 255, 6, 5, 7, 255, 0, 0, 0, 0 }, + .{ 0, 255, 2, 1, 3, 255, 4, 255, 6, 5, 8, 7, 0, 0, 0, 0 }, + .{ 0, 255, 2, 1, 3, 255, 5, 4, 6, 255, 7, 255, 0, 0, 0, 0 }, + .{ 0, 255, 2, 1, 3, 255, 5, 4, 6, 255, 8, 7, 0, 0, 0, 0 }, + .{ 0, 255, 2, 1, 3, 255, 5, 4, 7, 6, 8, 255, 0, 0, 0, 0 }, + .{ 0, 255, 2, 1, 3, 255, 5, 4, 7, 6, 9, 8, 0, 0, 0, 0 }, + .{ 0, 255, 2, 1, 4, 3, 5, 255, 6, 255, 7, 255, 0, 0, 0, 0 }, + .{ 0, 255, 2, 1, 4, 3, 5, 255, 6, 255, 8, 7, 0, 0, 0, 0 }, + .{ 0, 255, 2, 1, 4, 3, 5, 255, 7, 6, 8, 255, 0, 0, 0, 0 }, + .{ 0, 255, 2, 1, 4, 3, 5, 255, 7, 6, 9, 8, 0, 0, 0, 0 }, + .{ 0, 255, 2, 1, 4, 3, 6, 5, 7, 255, 8, 255, 0, 0, 0, 0 }, + .{ 0, 255, 2, 1, 4, 3, 6, 5, 7, 255, 9, 8, 0, 0, 0, 0 }, + .{ 0, 255, 2, 1, 4, 3, 6, 5, 8, 7, 9, 255, 0, 0, 0, 0 }, + .{ 0, 255, 2, 1, 4, 3, 6, 5, 8, 7, 10, 9, 0, 0, 0, 0 }, + .{ 1, 0, 2, 255, 3, 255, 4, 255, 5, 255, 6, 255, 0, 0, 0, 0 }, + .{ 1, 0, 2, 255, 3, 255, 4, 255, 5, 255, 7, 6, 0, 0, 0, 0 }, + .{ 1, 0, 2, 255, 3, 255, 4, 255, 6, 5, 7, 255, 0, 0, 0, 0 }, + .{ 1, 0, 2, 255, 3, 255, 4, 255, 6, 5, 8, 7, 0, 0, 0, 0 }, + .{ 1, 0, 2, 255, 3, 255, 5, 4, 6, 255, 7, 255, 0, 0, 0, 0 }, + .{ 1, 0, 2, 255, 3, 255, 5, 4, 6, 255, 8, 7, 0, 0, 0, 0 }, + .{ 1, 0, 2, 255, 3, 255, 5, 4, 7, 6, 8, 255, 0, 0, 0, 0 }, + .{ 1, 0, 2, 255, 3, 255, 5, 4, 7, 6, 9, 8, 0, 0, 0, 0 }, + .{ 1, 0, 2, 255, 4, 3, 5, 255, 6, 255, 7, 255, 0, 0, 0, 0 }, + .{ 1, 0, 2, 255, 4, 3, 5, 255, 6, 255, 8, 7, 0, 0, 0, 0 }, + .{ 1, 0, 2, 255, 4, 3, 5, 255, 7, 6, 8, 255, 0, 0, 0, 0 }, + .{ 1, 0, 2, 255, 4, 3, 5, 255, 7, 6, 9, 8, 0, 0, 0, 0 }, + .{ 1, 0, 2, 255, 4, 3, 6, 5, 7, 255, 8, 255, 0, 0, 0, 0 }, + .{ 1, 0, 2, 255, 4, 3, 6, 5, 7, 255, 9, 8, 0, 0, 0, 0 }, + .{ 1, 0, 2, 255, 4, 3, 6, 5, 8, 7, 9, 255, 0, 0, 0, 0 }, + .{ 1, 0, 2, 255, 4, 3, 6, 5, 8, 7, 10, 9, 0, 0, 0, 0 }, + .{ 1, 0, 3, 2, 4, 255, 5, 255, 6, 255, 7, 255, 0, 0, 0, 0 }, + .{ 1, 0, 3, 2, 4, 255, 5, 255, 6, 255, 8, 7, 0, 0, 0, 0 }, + .{ 1, 0, 3, 2, 4, 255, 5, 255, 7, 6, 8, 255, 0, 0, 0, 0 }, + .{ 1, 0, 3, 2, 4, 255, 5, 255, 7, 6, 9, 8, 0, 0, 0, 0 }, + .{ 1, 0, 3, 2, 4, 255, 6, 5, 7, 255, 8, 255, 0, 0, 0, 0 }, + .{ 1, 0, 3, 2, 4, 255, 6, 5, 7, 255, 9, 8, 0, 0, 0, 0 }, + .{ 1, 0, 3, 2, 4, 255, 6, 5, 8, 7, 9, 255, 0, 0, 0, 0 }, + .{ 1, 0, 3, 2, 4, 255, 6, 5, 8, 7, 10, 9, 0, 0, 0, 0 }, + .{ 1, 0, 3, 2, 5, 4, 6, 255, 7, 255, 8, 255, 0, 0, 0, 0 }, + .{ 1, 0, 3, 2, 5, 4, 6, 255, 7, 255, 9, 8, 0, 0, 0, 0 }, + .{ 1, 0, 3, 2, 5, 4, 6, 255, 8, 7, 9, 255, 0, 0, 0, 0 }, + .{ 1, 0, 3, 2, 5, 4, 6, 255, 8, 7, 10, 9, 0, 0, 0, 0 }, + .{ 1, 0, 3, 2, 5, 4, 7, 6, 8, 255, 9, 255, 0, 0, 0, 0 }, + .{ 1, 0, 3, 2, 5, 4, 7, 6, 8, 255, 10, 9, 0, 0, 0, 0 }, + .{ 1, 0, 3, 2, 5, 4, 7, 6, 9, 8, 10, 255, 0, 0, 0, 0 }, + .{ 1, 0, 3, 2, 5, 4, 7, 6, 9, 8, 11, 10, 0, 0, 0, 0 }, + .{ 0, 255, 255, 255, 1, 255, 255, 255, 2, 255, 255, 255, 3, 255, 255, 255 }, + .{ 0, 255, 255, 255, 1, 255, 255, 255, 2, 255, 255, 255, 4, 3, 255, 255 }, + .{ 0, 255, 255, 255, 1, 255, 255, 255, 2, 255, 255, 255, 5, 4, 3, 255 }, + .{ 0, 255, 255, 255, 1, 255, 255, 255, 3, 2, 255, 255, 4, 255, 255, 255 }, + .{ 0, 255, 255, 255, 1, 255, 255, 255, 3, 2, 255, 255, 5, 4, 255, 255 }, + .{ 0, 255, 255, 255, 1, 255, 255, 255, 3, 2, 255, 255, 6, 5, 4, 255 }, + .{ 0, 255, 255, 255, 1, 255, 255, 255, 4, 3, 2, 255, 5, 255, 255, 255 }, + .{ 0, 255, 255, 255, 1, 255, 255, 255, 4, 3, 2, 255, 6, 5, 255, 255 }, + .{ 0, 255, 255, 255, 1, 255, 255, 255, 4, 3, 2, 255, 7, 6, 5, 255 }, + .{ 0, 255, 255, 255, 2, 1, 255, 255, 3, 255, 255, 255, 4, 255, 255, 255 }, + .{ 0, 255, 255, 255, 2, 1, 255, 255, 3, 255, 255, 255, 5, 4, 255, 255 }, + .{ 0, 255, 255, 255, 2, 1, 255, 255, 3, 255, 255, 255, 6, 5, 4, 255 }, + .{ 0, 255, 255, 255, 2, 1, 255, 255, 4, 3, 255, 255, 5, 255, 255, 255 }, + .{ 0, 255, 255, 255, 2, 1, 255, 255, 4, 3, 255, 255, 6, 5, 255, 255 }, + .{ 0, 255, 255, 255, 2, 1, 255, 255, 4, 3, 255, 255, 7, 6, 5, 255 }, + .{ 0, 255, 255, 255, 2, 1, 255, 255, 5, 4, 3, 255, 6, 255, 255, 255 }, + .{ 0, 255, 255, 255, 2, 1, 255, 255, 5, 4, 3, 255, 7, 6, 255, 255 }, + .{ 0, 255, 255, 255, 2, 1, 255, 255, 5, 4, 3, 255, 8, 7, 6, 255 }, + .{ 0, 255, 255, 255, 3, 2, 1, 255, 4, 255, 255, 255, 5, 255, 255, 255 }, + .{ 0, 255, 255, 255, 3, 2, 1, 255, 4, 255, 255, 255, 6, 5, 255, 255 }, + .{ 0, 255, 255, 255, 3, 2, 1, 255, 4, 255, 255, 255, 7, 6, 5, 255 }, + .{ 0, 255, 255, 255, 3, 2, 1, 255, 5, 4, 255, 255, 6, 255, 255, 255 }, + .{ 0, 255, 255, 255, 3, 2, 1, 255, 5, 4, 255, 255, 7, 6, 255, 255 }, + .{ 0, 255, 255, 255, 3, 2, 1, 255, 5, 4, 255, 255, 8, 7, 6, 255 }, + .{ 0, 255, 255, 255, 3, 2, 1, 255, 6, 5, 4, 255, 7, 255, 255, 255 }, + .{ 0, 255, 255, 255, 3, 2, 1, 255, 6, 5, 4, 255, 8, 7, 255, 255 }, + .{ 0, 255, 255, 255, 3, 2, 1, 255, 6, 5, 4, 255, 9, 8, 7, 255 }, + .{ 1, 0, 255, 255, 2, 255, 255, 255, 3, 255, 255, 255, 4, 255, 255, 255 }, + .{ 1, 0, 255, 255, 2, 255, 255, 255, 3, 255, 255, 255, 5, 4, 255, 255 }, + .{ 1, 0, 255, 255, 2, 255, 255, 255, 3, 255, 255, 255, 6, 5, 4, 255 }, + .{ 1, 0, 255, 255, 2, 255, 255, 255, 4, 3, 255, 255, 5, 255, 255, 255 }, + .{ 1, 0, 255, 255, 2, 255, 255, 255, 4, 3, 255, 255, 6, 5, 255, 255 }, + .{ 1, 0, 255, 255, 2, 255, 255, 255, 4, 3, 255, 255, 7, 6, 5, 255 }, + .{ 1, 0, 255, 255, 2, 255, 255, 255, 5, 4, 3, 255, 6, 255, 255, 255 }, + .{ 1, 0, 255, 255, 2, 255, 255, 255, 5, 4, 3, 255, 7, 6, 255, 255 }, + .{ 1, 0, 255, 255, 2, 255, 255, 255, 5, 4, 3, 255, 8, 7, 6, 255 }, + .{ 1, 0, 255, 255, 3, 2, 255, 255, 4, 255, 255, 255, 5, 255, 255, 255 }, + .{ 1, 0, 255, 255, 3, 2, 255, 255, 4, 255, 255, 255, 6, 5, 255, 255 }, + .{ 1, 0, 255, 255, 3, 2, 255, 255, 4, 255, 255, 255, 7, 6, 5, 255 }, + .{ 1, 0, 255, 255, 3, 2, 255, 255, 5, 4, 255, 255, 6, 255, 255, 255 }, + .{ 1, 0, 255, 255, 3, 2, 255, 255, 5, 4, 255, 255, 7, 6, 255, 255 }, + .{ 1, 0, 255, 255, 3, 2, 255, 255, 5, 4, 255, 255, 8, 7, 6, 255 }, + .{ 1, 0, 255, 255, 3, 2, 255, 255, 6, 5, 4, 255, 7, 255, 255, 255 }, + .{ 1, 0, 255, 255, 3, 2, 255, 255, 6, 5, 4, 255, 8, 7, 255, 255 }, + .{ 1, 0, 255, 255, 3, 2, 255, 255, 6, 5, 4, 255, 9, 8, 7, 255 }, + .{ 1, 0, 255, 255, 4, 3, 2, 255, 5, 255, 255, 255, 6, 255, 255, 255 }, + .{ 1, 0, 255, 255, 4, 3, 2, 255, 5, 255, 255, 255, 7, 6, 255, 255 }, + .{ 1, 0, 255, 255, 4, 3, 2, 255, 5, 255, 255, 255, 8, 7, 6, 255 }, + .{ 1, 0, 255, 255, 4, 3, 2, 255, 6, 5, 255, 255, 7, 255, 255, 255 }, + .{ 1, 0, 255, 255, 4, 3, 2, 255, 6, 5, 255, 255, 8, 7, 255, 255 }, + .{ 1, 0, 255, 255, 4, 3, 2, 255, 6, 5, 255, 255, 9, 8, 7, 255 }, + .{ 1, 0, 255, 255, 4, 3, 2, 255, 7, 6, 5, 255, 8, 255, 255, 255 }, + .{ 1, 0, 255, 255, 4, 3, 2, 255, 7, 6, 5, 255, 9, 8, 255, 255 }, + .{ 1, 0, 255, 255, 4, 3, 2, 255, 7, 6, 5, 255, 10, 9, 8, 255 }, + .{ 2, 1, 0, 255, 3, 255, 255, 255, 4, 255, 255, 255, 5, 255, 255, 255 }, + .{ 2, 1, 0, 255, 3, 255, 255, 255, 4, 255, 255, 255, 6, 5, 255, 255 }, + .{ 2, 1, 0, 255, 3, 255, 255, 255, 4, 255, 255, 255, 7, 6, 5, 255 }, + .{ 2, 1, 0, 255, 3, 255, 255, 255, 5, 4, 255, 255, 6, 255, 255, 255 }, + .{ 2, 1, 0, 255, 3, 255, 255, 255, 5, 4, 255, 255, 7, 6, 255, 255 }, + .{ 2, 1, 0, 255, 3, 255, 255, 255, 5, 4, 255, 255, 8, 7, 6, 255 }, + .{ 2, 1, 0, 255, 3, 255, 255, 255, 6, 5, 4, 255, 7, 255, 255, 255 }, + .{ 2, 1, 0, 255, 3, 255, 255, 255, 6, 5, 4, 255, 8, 7, 255, 255 }, + .{ 2, 1, 0, 255, 3, 255, 255, 255, 6, 5, 4, 255, 9, 8, 7, 255 }, + .{ 2, 1, 0, 255, 4, 3, 255, 255, 5, 255, 255, 255, 6, 255, 255, 255 }, + .{ 2, 1, 0, 255, 4, 3, 255, 255, 5, 255, 255, 255, 7, 6, 255, 255 }, + .{ 2, 1, 0, 255, 4, 3, 255, 255, 5, 255, 255, 255, 8, 7, 6, 255 }, + .{ 2, 1, 0, 255, 4, 3, 255, 255, 6, 5, 255, 255, 7, 255, 255, 255 }, + .{ 2, 1, 0, 255, 4, 3, 255, 255, 6, 5, 255, 255, 8, 7, 255, 255 }, + .{ 2, 1, 0, 255, 4, 3, 255, 255, 6, 5, 255, 255, 9, 8, 7, 255 }, + .{ 2, 1, 0, 255, 4, 3, 255, 255, 7, 6, 5, 255, 8, 255, 255, 255 }, + .{ 2, 1, 0, 255, 4, 3, 255, 255, 7, 6, 5, 255, 9, 8, 255, 255 }, + .{ 2, 1, 0, 255, 4, 3, 255, 255, 7, 6, 5, 255, 10, 9, 8, 255 }, + .{ 2, 1, 0, 255, 5, 4, 3, 255, 6, 255, 255, 255, 7, 255, 255, 255 }, + .{ 2, 1, 0, 255, 5, 4, 3, 255, 6, 255, 255, 255, 8, 7, 255, 255 }, + .{ 2, 1, 0, 255, 5, 4, 3, 255, 6, 255, 255, 255, 9, 8, 7, 255 }, + .{ 2, 1, 0, 255, 5, 4, 3, 255, 7, 6, 255, 255, 8, 255, 255, 255 }, + .{ 2, 1, 0, 255, 5, 4, 3, 255, 7, 6, 255, 255, 9, 8, 255, 255 }, + .{ 2, 1, 0, 255, 5, 4, 3, 255, 7, 6, 255, 255, 10, 9, 8, 255 }, + .{ 2, 1, 0, 255, 5, 4, 3, 255, 8, 7, 6, 255, 9, 255, 255, 255 }, + .{ 2, 1, 0, 255, 5, 4, 3, 255, 8, 7, 6, 255, 10, 9, 255, 255 }, + .{ 2, 1, 0, 255, 5, 4, 3, 255, 8, 7, 6, 255, 11, 10, 9, 255 }, + .{ 0, 255, 255, 255, 1, 255, 255, 255, 2, 255, 255, 255, 0, 0, 0, 0 }, + .{ 0, 255, 255, 255, 1, 255, 255, 255, 3, 2, 255, 255, 0, 0, 0, 0 }, + .{ 0, 255, 255, 255, 1, 255, 255, 255, 4, 3, 2, 255, 0, 0, 0, 0 }, + .{ 0, 255, 255, 255, 1, 255, 255, 255, 5, 4, 3, 2, 0, 0, 0, 0 }, + .{ 0, 255, 255, 255, 2, 1, 255, 255, 3, 255, 255, 255, 0, 0, 0, 0 }, + .{ 0, 255, 255, 255, 2, 1, 255, 255, 4, 3, 255, 255, 0, 0, 0, 0 }, + .{ 0, 255, 255, 255, 2, 1, 255, 255, 5, 4, 3, 255, 0, 0, 0, 0 }, + .{ 0, 255, 255, 255, 2, 1, 255, 255, 6, 5, 4, 3, 0, 0, 0, 0 }, + .{ 0, 255, 255, 255, 3, 2, 1, 255, 4, 255, 255, 255, 0, 0, 0, 0 }, + .{ 0, 255, 255, 255, 3, 2, 1, 255, 5, 4, 255, 255, 0, 0, 0, 0 }, + .{ 0, 255, 255, 255, 3, 2, 1, 255, 6, 5, 4, 255, 0, 0, 0, 0 }, + .{ 0, 255, 255, 255, 3, 2, 1, 255, 7, 6, 5, 4, 0, 0, 0, 0 }, + .{ 0, 255, 255, 255, 4, 3, 2, 1, 5, 255, 255, 255, 0, 0, 0, 0 }, + .{ 0, 255, 255, 255, 4, 3, 2, 1, 6, 5, 255, 255, 0, 0, 0, 0 }, + .{ 0, 255, 255, 255, 4, 3, 2, 1, 7, 6, 5, 255, 0, 0, 0, 0 }, + .{ 0, 255, 255, 255, 4, 3, 2, 1, 8, 7, 6, 5, 0, 0, 0, 0 }, + .{ 1, 0, 255, 255, 2, 255, 255, 255, 3, 255, 255, 255, 0, 0, 0, 0 }, + .{ 1, 0, 255, 255, 2, 255, 255, 255, 4, 3, 255, 255, 0, 0, 0, 0 }, + .{ 1, 0, 255, 255, 2, 255, 255, 255, 5, 4, 3, 255, 0, 0, 0, 0 }, + .{ 1, 0, 255, 255, 2, 255, 255, 255, 6, 5, 4, 3, 0, 0, 0, 0 }, + .{ 1, 0, 255, 255, 3, 2, 255, 255, 4, 255, 255, 255, 0, 0, 0, 0 }, + .{ 1, 0, 255, 255, 3, 2, 255, 255, 5, 4, 255, 255, 0, 0, 0, 0 }, + .{ 1, 0, 255, 255, 3, 2, 255, 255, 6, 5, 4, 255, 0, 0, 0, 0 }, + .{ 1, 0, 255, 255, 3, 2, 255, 255, 7, 6, 5, 4, 0, 0, 0, 0 }, + .{ 1, 0, 255, 255, 4, 3, 2, 255, 5, 255, 255, 255, 0, 0, 0, 0 }, + .{ 1, 0, 255, 255, 4, 3, 2, 255, 6, 5, 255, 255, 0, 0, 0, 0 }, + .{ 1, 0, 255, 255, 4, 3, 2, 255, 7, 6, 5, 255, 0, 0, 0, 0 }, + .{ 1, 0, 255, 255, 4, 3, 2, 255, 8, 7, 6, 5, 0, 0, 0, 0 }, + .{ 1, 0, 255, 255, 5, 4, 3, 2, 6, 255, 255, 255, 0, 0, 0, 0 }, + .{ 1, 0, 255, 255, 5, 4, 3, 2, 7, 6, 255, 255, 0, 0, 0, 0 }, + .{ 1, 0, 255, 255, 5, 4, 3, 2, 8, 7, 6, 255, 0, 0, 0, 0 }, + .{ 1, 0, 255, 255, 5, 4, 3, 2, 9, 8, 7, 6, 0, 0, 0, 0 }, + .{ 2, 1, 0, 255, 3, 255, 255, 255, 4, 255, 255, 255, 0, 0, 0, 0 }, + .{ 2, 1, 0, 255, 3, 255, 255, 255, 5, 4, 255, 255, 0, 0, 0, 0 }, + .{ 2, 1, 0, 255, 3, 255, 255, 255, 6, 5, 4, 255, 0, 0, 0, 0 }, + .{ 2, 1, 0, 255, 3, 255, 255, 255, 7, 6, 5, 4, 0, 0, 0, 0 }, + .{ 2, 1, 0, 255, 4, 3, 255, 255, 5, 255, 255, 255, 0, 0, 0, 0 }, + .{ 2, 1, 0, 255, 4, 3, 255, 255, 6, 5, 255, 255, 0, 0, 0, 0 }, + .{ 2, 1, 0, 255, 4, 3, 255, 255, 7, 6, 5, 255, 0, 0, 0, 0 }, + .{ 2, 1, 0, 255, 4, 3, 255, 255, 8, 7, 6, 5, 0, 0, 0, 0 }, + .{ 2, 1, 0, 255, 5, 4, 3, 255, 6, 255, 255, 255, 0, 0, 0, 0 }, + .{ 2, 1, 0, 255, 5, 4, 3, 255, 7, 6, 255, 255, 0, 0, 0, 0 }, + .{ 2, 1, 0, 255, 5, 4, 3, 255, 8, 7, 6, 255, 0, 0, 0, 0 }, + .{ 2, 1, 0, 255, 5, 4, 3, 255, 9, 8, 7, 6, 0, 0, 0, 0 }, + .{ 2, 1, 0, 255, 6, 5, 4, 3, 7, 255, 255, 255, 0, 0, 0, 0 }, + .{ 2, 1, 0, 255, 6, 5, 4, 3, 8, 7, 255, 255, 0, 0, 0, 0 }, + .{ 2, 1, 0, 255, 6, 5, 4, 3, 9, 8, 7, 255, 0, 0, 0, 0 }, + .{ 2, 1, 0, 255, 6, 5, 4, 3, 10, 9, 8, 7, 0, 0, 0, 0 }, + .{ 3, 2, 1, 0, 4, 255, 255, 255, 5, 255, 255, 255, 0, 0, 0, 0 }, + .{ 3, 2, 1, 0, 4, 255, 255, 255, 6, 5, 255, 255, 0, 0, 0, 0 }, + .{ 3, 2, 1, 0, 4, 255, 255, 255, 7, 6, 5, 255, 0, 0, 0, 0 }, + .{ 3, 2, 1, 0, 4, 255, 255, 255, 8, 7, 6, 5, 0, 0, 0, 0 }, + .{ 3, 2, 1, 0, 5, 4, 255, 255, 6, 255, 255, 255, 0, 0, 0, 0 }, + .{ 3, 2, 1, 0, 5, 4, 255, 255, 7, 6, 255, 255, 0, 0, 0, 0 }, + .{ 3, 2, 1, 0, 5, 4, 255, 255, 8, 7, 6, 255, 0, 0, 0, 0 }, + .{ 3, 2, 1, 0, 5, 4, 255, 255, 9, 8, 7, 6, 0, 0, 0, 0 }, + .{ 3, 2, 1, 0, 6, 5, 4, 255, 7, 255, 255, 255, 0, 0, 0, 0 }, + .{ 3, 2, 1, 0, 6, 5, 4, 255, 8, 7, 255, 255, 0, 0, 0, 0 }, + .{ 3, 2, 1, 0, 6, 5, 4, 255, 9, 8, 7, 255, 0, 0, 0, 0 }, + .{ 3, 2, 1, 0, 6, 5, 4, 255, 10, 9, 8, 7, 0, 0, 0, 0 }, + .{ 3, 2, 1, 0, 7, 6, 5, 4, 8, 255, 255, 255, 0, 0, 0, 0 }, + .{ 3, 2, 1, 0, 7, 6, 5, 4, 9, 8, 255, 255, 0, 0, 0, 0 }, + .{ 3, 2, 1, 0, 7, 6, 5, 4, 10, 9, 8, 255, 0, 0, 0, 0 }, + .{ 3, 2, 1, 0, 7, 6, 5, 4, 11, 10, 9, 8, 0, 0, 0, 0 }, +}; + +pub const utf8bigindex: [4096][2]u8 = .{ + .{ 209, 12 }, + .{ 209, 12 }, + .{ 209, 12 }, + .{ 209, 12 }, + .{ 209, 12 }, + .{ 209, 12 }, + .{ 209, 12 }, + .{ 145, 3 }, + .{ 209, 12 }, + .{ 209, 12 }, + .{ 209, 12 }, + .{ 146, 4 }, + .{ 209, 12 }, + .{ 149, 4 }, + .{ 161, 4 }, + .{ 64, 4 }, + .{ 209, 12 }, + .{ 209, 12 }, + .{ 209, 12 }, + .{ 147, 5 }, + .{ 209, 12 }, + .{ 150, 5 }, + .{ 162, 5 }, + .{ 65, 5 }, + .{ 209, 12 }, + .{ 153, 5 }, + .{ 165, 5 }, + .{ 67, 5 }, + .{ 177, 5 }, + .{ 73, 5 }, + .{ 91, 5 }, + .{ 64, 4 }, + .{ 209, 12 }, + .{ 209, 12 }, + .{ 209, 12 }, + .{ 148, 6 }, + .{ 209, 12 }, + .{ 151, 6 }, + .{ 163, 6 }, + .{ 66, 6 }, + .{ 209, 12 }, + .{ 154, 6 }, + .{ 166, 6 }, + .{ 68, 6 }, + .{ 178, 6 }, + .{ 74, 6 }, + .{ 92, 6 }, + .{ 64, 4 }, + .{ 209, 12 }, + .{ 157, 6 }, + .{ 169, 6 }, + .{ 70, 6 }, + .{ 181, 6 }, + .{ 76, 6 }, + .{ 94, 6 }, + .{ 65, 5 }, + .{ 193, 6 }, + .{ 82, 6 }, + .{ 100, 6 }, + .{ 67, 5 }, + .{ 118, 6 }, + .{ 73, 5 }, + .{ 91, 5 }, + .{ 0, 6 }, + .{ 209, 12 }, + .{ 209, 12 }, + .{ 209, 12 }, + .{ 209, 12 }, + .{ 209, 12 }, + .{ 152, 7 }, + .{ 164, 7 }, + .{ 145, 3 }, + .{ 209, 12 }, + .{ 155, 7 }, + .{ 167, 7 }, + .{ 69, 7 }, + .{ 179, 7 }, + .{ 75, 7 }, + .{ 93, 7 }, + .{ 64, 4 }, + .{ 209, 12 }, + .{ 158, 7 }, + .{ 170, 7 }, + .{ 71, 7 }, + .{ 182, 7 }, + .{ 77, 7 }, + .{ 95, 7 }, + .{ 65, 5 }, + .{ 194, 7 }, + .{ 83, 7 }, + .{ 101, 7 }, + .{ 67, 5 }, + .{ 119, 7 }, + .{ 73, 5 }, + .{ 91, 5 }, + .{ 1, 7 }, + .{ 209, 12 }, + .{ 209, 12 }, + .{ 173, 7 }, + .{ 148, 6 }, + .{ 185, 7 }, + .{ 79, 7 }, + .{ 97, 7 }, + .{ 66, 6 }, + .{ 197, 7 }, + .{ 85, 7 }, + .{ 103, 7 }, + .{ 68, 6 }, + .{ 121, 7 }, + .{ 74, 6 }, + .{ 92, 6 }, + .{ 2, 7 }, + .{ 209, 12 }, + .{ 157, 6 }, + .{ 109, 7 }, + .{ 70, 6 }, + .{ 127, 7 }, + .{ 76, 6 }, + .{ 94, 6 }, + .{ 4, 7 }, + .{ 193, 6 }, + .{ 82, 6 }, + .{ 100, 6 }, + .{ 8, 7 }, + .{ 118, 6 }, + .{ 16, 7 }, + .{ 32, 7 }, + .{ 0, 6 }, + .{ 209, 12 }, + .{ 209, 12 }, + .{ 209, 12 }, + .{ 209, 12 }, + .{ 209, 12 }, + .{ 209, 12 }, + .{ 209, 12 }, + .{ 145, 3 }, + .{ 209, 12 }, + .{ 156, 8 }, + .{ 168, 8 }, + .{ 146, 4 }, + .{ 180, 8 }, + .{ 149, 4 }, + .{ 161, 4 }, + .{ 64, 4 }, + .{ 209, 12 }, + .{ 159, 8 }, + .{ 171, 8 }, + .{ 72, 8 }, + .{ 183, 8 }, + .{ 78, 8 }, + .{ 96, 8 }, + .{ 65, 5 }, + .{ 195, 8 }, + .{ 84, 8 }, + .{ 102, 8 }, + .{ 67, 5 }, + .{ 120, 8 }, + .{ 73, 5 }, + .{ 91, 5 }, + .{ 64, 4 }, + .{ 209, 12 }, + .{ 209, 12 }, + .{ 174, 8 }, + .{ 148, 6 }, + .{ 186, 8 }, + .{ 80, 8 }, + .{ 98, 8 }, + .{ 66, 6 }, + .{ 198, 8 }, + .{ 86, 8 }, + .{ 104, 8 }, + .{ 68, 6 }, + .{ 122, 8 }, + .{ 74, 6 }, + .{ 92, 6 }, + .{ 3, 8 }, + .{ 209, 12 }, + .{ 157, 6 }, + .{ 110, 8 }, + .{ 70, 6 }, + .{ 128, 8 }, + .{ 76, 6 }, + .{ 94, 6 }, + .{ 5, 8 }, + .{ 193, 6 }, + .{ 82, 6 }, + .{ 100, 6 }, + .{ 9, 8 }, + .{ 118, 6 }, + .{ 17, 8 }, + .{ 33, 8 }, + .{ 0, 6 }, + .{ 209, 12 }, + .{ 209, 12 }, + .{ 209, 12 }, + .{ 209, 12 }, + .{ 189, 8 }, + .{ 152, 7 }, + .{ 164, 7 }, + .{ 145, 3 }, + .{ 201, 8 }, + .{ 88, 8 }, + .{ 106, 8 }, + .{ 69, 7 }, + .{ 124, 8 }, + .{ 75, 7 }, + .{ 93, 7 }, + .{ 64, 4 }, + .{ 209, 12 }, + .{ 158, 7 }, + .{ 112, 8 }, + .{ 71, 7 }, + .{ 130, 8 }, + .{ 77, 7 }, + .{ 95, 7 }, + .{ 6, 8 }, + .{ 194, 7 }, + .{ 83, 7 }, + .{ 101, 7 }, + .{ 10, 8 }, + .{ 119, 7 }, + .{ 18, 8 }, + .{ 34, 8 }, + .{ 1, 7 }, + .{ 209, 12 }, + .{ 209, 12 }, + .{ 173, 7 }, + .{ 148, 6 }, + .{ 136, 8 }, + .{ 79, 7 }, + .{ 97, 7 }, + .{ 66, 6 }, + .{ 197, 7 }, + .{ 85, 7 }, + .{ 103, 7 }, + .{ 12, 8 }, + .{ 121, 7 }, + .{ 20, 8 }, + .{ 36, 8 }, + .{ 2, 7 }, + .{ 209, 12 }, + .{ 157, 6 }, + .{ 109, 7 }, + .{ 70, 6 }, + .{ 127, 7 }, + .{ 24, 8 }, + .{ 40, 8 }, + .{ 4, 7 }, + .{ 193, 6 }, + .{ 82, 6 }, + .{ 48, 8 }, + .{ 8, 7 }, + .{ 118, 6 }, + .{ 16, 7 }, + .{ 32, 7 }, + .{ 0, 6 }, + .{ 209, 12 }, + .{ 209, 12 }, + .{ 209, 12 }, + .{ 209, 12 }, + .{ 209, 12 }, + .{ 209, 12 }, + .{ 209, 12 }, + .{ 145, 3 }, + .{ 209, 12 }, + .{ 209, 12 }, + .{ 209, 12 }, + .{ 146, 4 }, + .{ 209, 12 }, + .{ 149, 4 }, + .{ 161, 4 }, + .{ 64, 4 }, + .{ 209, 12 }, + .{ 160, 9 }, + .{ 172, 9 }, + .{ 147, 5 }, + .{ 184, 9 }, + .{ 150, 5 }, + .{ 162, 5 }, + .{ 65, 5 }, + .{ 196, 9 }, + .{ 153, 5 }, + .{ 165, 5 }, + .{ 67, 5 }, + .{ 177, 5 }, + .{ 73, 5 }, + .{ 91, 5 }, + .{ 64, 4 }, + .{ 209, 12 }, + .{ 209, 12 }, + .{ 175, 9 }, + .{ 148, 6 }, + .{ 187, 9 }, + .{ 81, 9 }, + .{ 99, 9 }, + .{ 66, 6 }, + .{ 199, 9 }, + .{ 87, 9 }, + .{ 105, 9 }, + .{ 68, 6 }, + .{ 123, 9 }, + .{ 74, 6 }, + .{ 92, 6 }, + .{ 64, 4 }, + .{ 209, 12 }, + .{ 157, 6 }, + .{ 111, 9 }, + .{ 70, 6 }, + .{ 129, 9 }, + .{ 76, 6 }, + .{ 94, 6 }, + .{ 65, 5 }, + .{ 193, 6 }, + .{ 82, 6 }, + .{ 100, 6 }, + .{ 67, 5 }, + .{ 118, 6 }, + .{ 73, 5 }, + .{ 91, 5 }, + .{ 0, 6 }, + .{ 209, 12 }, + .{ 209, 12 }, + .{ 209, 12 }, + .{ 209, 12 }, + .{ 190, 9 }, + .{ 152, 7 }, + .{ 164, 7 }, + .{ 145, 3 }, + .{ 202, 9 }, + .{ 89, 9 }, + .{ 107, 9 }, + .{ 69, 7 }, + .{ 125, 9 }, + .{ 75, 7 }, + .{ 93, 7 }, + .{ 64, 4 }, + .{ 209, 12 }, + .{ 158, 7 }, + .{ 113, 9 }, + .{ 71, 7 }, + .{ 131, 9 }, + .{ 77, 7 }, + .{ 95, 7 }, + .{ 7, 9 }, + .{ 194, 7 }, + .{ 83, 7 }, + .{ 101, 7 }, + .{ 11, 9 }, + .{ 119, 7 }, + .{ 19, 9 }, + .{ 35, 9 }, + .{ 1, 7 }, + .{ 209, 12 }, + .{ 209, 12 }, + .{ 173, 7 }, + .{ 148, 6 }, + .{ 137, 9 }, + .{ 79, 7 }, + .{ 97, 7 }, + .{ 66, 6 }, + .{ 197, 7 }, + .{ 85, 7 }, + .{ 103, 7 }, + .{ 13, 9 }, + .{ 121, 7 }, + .{ 21, 9 }, + .{ 37, 9 }, + .{ 2, 7 }, + .{ 209, 12 }, + .{ 157, 6 }, + .{ 109, 7 }, + .{ 70, 6 }, + .{ 127, 7 }, + .{ 25, 9 }, + .{ 41, 9 }, + .{ 4, 7 }, + .{ 193, 6 }, + .{ 82, 6 }, + .{ 49, 9 }, + .{ 8, 7 }, + .{ 118, 6 }, + .{ 16, 7 }, + .{ 32, 7 }, + .{ 0, 6 }, + .{ 209, 12 }, + .{ 209, 12 }, + .{ 209, 12 }, + .{ 209, 12 }, + .{ 209, 12 }, + .{ 209, 12 }, + .{ 209, 12 }, + .{ 145, 3 }, + .{ 205, 9 }, + .{ 156, 8 }, + .{ 168, 8 }, + .{ 146, 4 }, + .{ 180, 8 }, + .{ 149, 4 }, + .{ 161, 4 }, + .{ 64, 4 }, + .{ 209, 12 }, + .{ 159, 8 }, + .{ 115, 9 }, + .{ 72, 8 }, + .{ 133, 9 }, + .{ 78, 8 }, + .{ 96, 8 }, + .{ 65, 5 }, + .{ 195, 8 }, + .{ 84, 8 }, + .{ 102, 8 }, + .{ 67, 5 }, + .{ 120, 8 }, + .{ 73, 5 }, + .{ 91, 5 }, + .{ 64, 4 }, + .{ 209, 12 }, + .{ 209, 12 }, + .{ 174, 8 }, + .{ 148, 6 }, + .{ 139, 9 }, + .{ 80, 8 }, + .{ 98, 8 }, + .{ 66, 6 }, + .{ 198, 8 }, + .{ 86, 8 }, + .{ 104, 8 }, + .{ 14, 9 }, + .{ 122, 8 }, + .{ 22, 9 }, + .{ 38, 9 }, + .{ 3, 8 }, + .{ 209, 12 }, + .{ 157, 6 }, + .{ 110, 8 }, + .{ 70, 6 }, + .{ 128, 8 }, + .{ 26, 9 }, + .{ 42, 9 }, + .{ 5, 8 }, + .{ 193, 6 }, + .{ 82, 6 }, + .{ 50, 9 }, + .{ 9, 8 }, + .{ 118, 6 }, + .{ 17, 8 }, + .{ 33, 8 }, + .{ 0, 6 }, + .{ 209, 12 }, + .{ 209, 12 }, + .{ 209, 12 }, + .{ 209, 12 }, + .{ 189, 8 }, + .{ 152, 7 }, + .{ 164, 7 }, + .{ 145, 3 }, + .{ 201, 8 }, + .{ 88, 8 }, + .{ 106, 8 }, + .{ 69, 7 }, + .{ 124, 8 }, + .{ 75, 7 }, + .{ 93, 7 }, + .{ 64, 4 }, + .{ 209, 12 }, + .{ 158, 7 }, + .{ 112, 8 }, + .{ 71, 7 }, + .{ 130, 8 }, + .{ 28, 9 }, + .{ 44, 9 }, + .{ 6, 8 }, + .{ 194, 7 }, + .{ 83, 7 }, + .{ 52, 9 }, + .{ 10, 8 }, + .{ 119, 7 }, + .{ 18, 8 }, + .{ 34, 8 }, + .{ 1, 7 }, + .{ 209, 12 }, + .{ 209, 12 }, + .{ 173, 7 }, + .{ 148, 6 }, + .{ 136, 8 }, + .{ 79, 7 }, + .{ 97, 7 }, + .{ 66, 6 }, + .{ 197, 7 }, + .{ 85, 7 }, + .{ 56, 9 }, + .{ 12, 8 }, + .{ 121, 7 }, + .{ 20, 8 }, + .{ 36, 8 }, + .{ 2, 7 }, + .{ 209, 12 }, + .{ 157, 6 }, + .{ 109, 7 }, + .{ 70, 6 }, + .{ 127, 7 }, + .{ 24, 8 }, + .{ 40, 8 }, + .{ 4, 7 }, + .{ 193, 6 }, + .{ 82, 6 }, + .{ 48, 8 }, + .{ 8, 7 }, + .{ 118, 6 }, + .{ 16, 7 }, + .{ 32, 7 }, + .{ 0, 6 }, + .{ 209, 12 }, + .{ 209, 12 }, + .{ 209, 12 }, + .{ 209, 12 }, + .{ 209, 12 }, + .{ 209, 12 }, + .{ 209, 12 }, + .{ 145, 3 }, + .{ 209, 12 }, + .{ 209, 12 }, + .{ 209, 12 }, + .{ 146, 4 }, + .{ 209, 12 }, + .{ 149, 4 }, + .{ 161, 4 }, + .{ 64, 4 }, + .{ 209, 12 }, + .{ 209, 12 }, + .{ 209, 12 }, + .{ 147, 5 }, + .{ 209, 12 }, + .{ 150, 5 }, + .{ 162, 5 }, + .{ 65, 5 }, + .{ 209, 12 }, + .{ 153, 5 }, + .{ 165, 5 }, + .{ 67, 5 }, + .{ 177, 5 }, + .{ 73, 5 }, + .{ 91, 5 }, + .{ 64, 4 }, + .{ 209, 12 }, + .{ 209, 12 }, + .{ 176, 10 }, + .{ 148, 6 }, + .{ 188, 10 }, + .{ 151, 6 }, + .{ 163, 6 }, + .{ 66, 6 }, + .{ 200, 10 }, + .{ 154, 6 }, + .{ 166, 6 }, + .{ 68, 6 }, + .{ 178, 6 }, + .{ 74, 6 }, + .{ 92, 6 }, + .{ 64, 4 }, + .{ 209, 12 }, + .{ 157, 6 }, + .{ 169, 6 }, + .{ 70, 6 }, + .{ 181, 6 }, + .{ 76, 6 }, + .{ 94, 6 }, + .{ 65, 5 }, + .{ 193, 6 }, + .{ 82, 6 }, + .{ 100, 6 }, + .{ 67, 5 }, + .{ 118, 6 }, + .{ 73, 5 }, + .{ 91, 5 }, + .{ 0, 6 }, + .{ 209, 12 }, + .{ 209, 12 }, + .{ 209, 12 }, + .{ 209, 12 }, + .{ 191, 10 }, + .{ 152, 7 }, + .{ 164, 7 }, + .{ 145, 3 }, + .{ 203, 10 }, + .{ 90, 10 }, + .{ 108, 10 }, + .{ 69, 7 }, + .{ 126, 10 }, + .{ 75, 7 }, + .{ 93, 7 }, + .{ 64, 4 }, + .{ 209, 12 }, + .{ 158, 7 }, + .{ 114, 10 }, + .{ 71, 7 }, + .{ 132, 10 }, + .{ 77, 7 }, + .{ 95, 7 }, + .{ 65, 5 }, + .{ 194, 7 }, + .{ 83, 7 }, + .{ 101, 7 }, + .{ 67, 5 }, + .{ 119, 7 }, + .{ 73, 5 }, + .{ 91, 5 }, + .{ 1, 7 }, + .{ 209, 12 }, + .{ 209, 12 }, + .{ 173, 7 }, + .{ 148, 6 }, + .{ 138, 10 }, + .{ 79, 7 }, + .{ 97, 7 }, + .{ 66, 6 }, + .{ 197, 7 }, + .{ 85, 7 }, + .{ 103, 7 }, + .{ 68, 6 }, + .{ 121, 7 }, + .{ 74, 6 }, + .{ 92, 6 }, + .{ 2, 7 }, + .{ 209, 12 }, + .{ 157, 6 }, + .{ 109, 7 }, + .{ 70, 6 }, + .{ 127, 7 }, + .{ 76, 6 }, + .{ 94, 6 }, + .{ 4, 7 }, + .{ 193, 6 }, + .{ 82, 6 }, + .{ 100, 6 }, + .{ 8, 7 }, + .{ 118, 6 }, + .{ 16, 7 }, + .{ 32, 7 }, + .{ 0, 6 }, + .{ 209, 12 }, + .{ 209, 12 }, + .{ 209, 12 }, + .{ 209, 12 }, + .{ 209, 12 }, + .{ 209, 12 }, + .{ 209, 12 }, + .{ 145, 3 }, + .{ 206, 10 }, + .{ 156, 8 }, + .{ 168, 8 }, + .{ 146, 4 }, + .{ 180, 8 }, + .{ 149, 4 }, + .{ 161, 4 }, + .{ 64, 4 }, + .{ 209, 12 }, + .{ 159, 8 }, + .{ 116, 10 }, + .{ 72, 8 }, + .{ 134, 10 }, + .{ 78, 8 }, + .{ 96, 8 }, + .{ 65, 5 }, + .{ 195, 8 }, + .{ 84, 8 }, + .{ 102, 8 }, + .{ 67, 5 }, + .{ 120, 8 }, + .{ 73, 5 }, + .{ 91, 5 }, + .{ 64, 4 }, + .{ 209, 12 }, + .{ 209, 12 }, + .{ 174, 8 }, + .{ 148, 6 }, + .{ 140, 10 }, + .{ 80, 8 }, + .{ 98, 8 }, + .{ 66, 6 }, + .{ 198, 8 }, + .{ 86, 8 }, + .{ 104, 8 }, + .{ 15, 10 }, + .{ 122, 8 }, + .{ 23, 10 }, + .{ 39, 10 }, + .{ 3, 8 }, + .{ 209, 12 }, + .{ 157, 6 }, + .{ 110, 8 }, + .{ 70, 6 }, + .{ 128, 8 }, + .{ 27, 10 }, + .{ 43, 10 }, + .{ 5, 8 }, + .{ 193, 6 }, + .{ 82, 6 }, + .{ 51, 10 }, + .{ 9, 8 }, + .{ 118, 6 }, + .{ 17, 8 }, + .{ 33, 8 }, + .{ 0, 6 }, + .{ 209, 12 }, + .{ 209, 12 }, + .{ 209, 12 }, + .{ 209, 12 }, + .{ 189, 8 }, + .{ 152, 7 }, + .{ 164, 7 }, + .{ 145, 3 }, + .{ 201, 8 }, + .{ 88, 8 }, + .{ 106, 8 }, + .{ 69, 7 }, + .{ 124, 8 }, + .{ 75, 7 }, + .{ 93, 7 }, + .{ 64, 4 }, + .{ 209, 12 }, + .{ 158, 7 }, + .{ 112, 8 }, + .{ 71, 7 }, + .{ 130, 8 }, + .{ 29, 10 }, + .{ 45, 10 }, + .{ 6, 8 }, + .{ 194, 7 }, + .{ 83, 7 }, + .{ 53, 10 }, + .{ 10, 8 }, + .{ 119, 7 }, + .{ 18, 8 }, + .{ 34, 8 }, + .{ 1, 7 }, + .{ 209, 12 }, + .{ 209, 12 }, + .{ 173, 7 }, + .{ 148, 6 }, + .{ 136, 8 }, + .{ 79, 7 }, + .{ 97, 7 }, + .{ 66, 6 }, + .{ 197, 7 }, + .{ 85, 7 }, + .{ 57, 10 }, + .{ 12, 8 }, + .{ 121, 7 }, + .{ 20, 8 }, + .{ 36, 8 }, + .{ 2, 7 }, + .{ 209, 12 }, + .{ 157, 6 }, + .{ 109, 7 }, + .{ 70, 6 }, + .{ 127, 7 }, + .{ 24, 8 }, + .{ 40, 8 }, + .{ 4, 7 }, + .{ 193, 6 }, + .{ 82, 6 }, + .{ 48, 8 }, + .{ 8, 7 }, + .{ 118, 6 }, + .{ 16, 7 }, + .{ 32, 7 }, + .{ 0, 6 }, + .{ 209, 12 }, + .{ 209, 12 }, + .{ 209, 12 }, + .{ 209, 12 }, + .{ 209, 12 }, + .{ 209, 12 }, + .{ 209, 12 }, + .{ 145, 3 }, + .{ 209, 12 }, + .{ 209, 12 }, + .{ 209, 12 }, + .{ 146, 4 }, + .{ 209, 12 }, + .{ 149, 4 }, + .{ 161, 4 }, + .{ 64, 4 }, + .{ 209, 12 }, + .{ 160, 9 }, + .{ 172, 9 }, + .{ 147, 5 }, + .{ 184, 9 }, + .{ 150, 5 }, + .{ 162, 5 }, + .{ 65, 5 }, + .{ 196, 9 }, + .{ 153, 5 }, + .{ 165, 5 }, + .{ 67, 5 }, + .{ 177, 5 }, + .{ 73, 5 }, + .{ 91, 5 }, + .{ 64, 4 }, + .{ 209, 12 }, + .{ 209, 12 }, + .{ 175, 9 }, + .{ 148, 6 }, + .{ 142, 10 }, + .{ 81, 9 }, + .{ 99, 9 }, + .{ 66, 6 }, + .{ 199, 9 }, + .{ 87, 9 }, + .{ 105, 9 }, + .{ 68, 6 }, + .{ 123, 9 }, + .{ 74, 6 }, + .{ 92, 6 }, + .{ 64, 4 }, + .{ 209, 12 }, + .{ 157, 6 }, + .{ 111, 9 }, + .{ 70, 6 }, + .{ 129, 9 }, + .{ 76, 6 }, + .{ 94, 6 }, + .{ 65, 5 }, + .{ 193, 6 }, + .{ 82, 6 }, + .{ 100, 6 }, + .{ 67, 5 }, + .{ 118, 6 }, + .{ 73, 5 }, + .{ 91, 5 }, + .{ 0, 6 }, + .{ 209, 12 }, + .{ 209, 12 }, + .{ 209, 12 }, + .{ 209, 12 }, + .{ 190, 9 }, + .{ 152, 7 }, + .{ 164, 7 }, + .{ 145, 3 }, + .{ 202, 9 }, + .{ 89, 9 }, + .{ 107, 9 }, + .{ 69, 7 }, + .{ 125, 9 }, + .{ 75, 7 }, + .{ 93, 7 }, + .{ 64, 4 }, + .{ 209, 12 }, + .{ 158, 7 }, + .{ 113, 9 }, + .{ 71, 7 }, + .{ 131, 9 }, + .{ 30, 10 }, + .{ 46, 10 }, + .{ 7, 9 }, + .{ 194, 7 }, + .{ 83, 7 }, + .{ 54, 10 }, + .{ 11, 9 }, + .{ 119, 7 }, + .{ 19, 9 }, + .{ 35, 9 }, + .{ 1, 7 }, + .{ 209, 12 }, + .{ 209, 12 }, + .{ 173, 7 }, + .{ 148, 6 }, + .{ 137, 9 }, + .{ 79, 7 }, + .{ 97, 7 }, + .{ 66, 6 }, + .{ 197, 7 }, + .{ 85, 7 }, + .{ 58, 10 }, + .{ 13, 9 }, + .{ 121, 7 }, + .{ 21, 9 }, + .{ 37, 9 }, + .{ 2, 7 }, + .{ 209, 12 }, + .{ 157, 6 }, + .{ 109, 7 }, + .{ 70, 6 }, + .{ 127, 7 }, + .{ 25, 9 }, + .{ 41, 9 }, + .{ 4, 7 }, + .{ 193, 6 }, + .{ 82, 6 }, + .{ 49, 9 }, + .{ 8, 7 }, + .{ 118, 6 }, + .{ 16, 7 }, + .{ 32, 7 }, + .{ 0, 6 }, + .{ 209, 12 }, + .{ 209, 12 }, + .{ 209, 12 }, + .{ 209, 12 }, + .{ 209, 12 }, + .{ 209, 12 }, + .{ 209, 12 }, + .{ 145, 3 }, + .{ 205, 9 }, + .{ 156, 8 }, + .{ 168, 8 }, + .{ 146, 4 }, + .{ 180, 8 }, + .{ 149, 4 }, + .{ 161, 4 }, + .{ 64, 4 }, + .{ 209, 12 }, + .{ 159, 8 }, + .{ 115, 9 }, + .{ 72, 8 }, + .{ 133, 9 }, + .{ 78, 8 }, + .{ 96, 8 }, + .{ 65, 5 }, + .{ 195, 8 }, + .{ 84, 8 }, + .{ 102, 8 }, + .{ 67, 5 }, + .{ 120, 8 }, + .{ 73, 5 }, + .{ 91, 5 }, + .{ 64, 4 }, + .{ 209, 12 }, + .{ 209, 12 }, + .{ 174, 8 }, + .{ 148, 6 }, + .{ 139, 9 }, + .{ 80, 8 }, + .{ 98, 8 }, + .{ 66, 6 }, + .{ 198, 8 }, + .{ 86, 8 }, + .{ 60, 10 }, + .{ 14, 9 }, + .{ 122, 8 }, + .{ 22, 9 }, + .{ 38, 9 }, + .{ 3, 8 }, + .{ 209, 12 }, + .{ 157, 6 }, + .{ 110, 8 }, + .{ 70, 6 }, + .{ 128, 8 }, + .{ 26, 9 }, + .{ 42, 9 }, + .{ 5, 8 }, + .{ 193, 6 }, + .{ 82, 6 }, + .{ 50, 9 }, + .{ 9, 8 }, + .{ 118, 6 }, + .{ 17, 8 }, + .{ 33, 8 }, + .{ 0, 6 }, + .{ 209, 12 }, + .{ 209, 12 }, + .{ 209, 12 }, + .{ 209, 12 }, + .{ 189, 8 }, + .{ 152, 7 }, + .{ 164, 7 }, + .{ 145, 3 }, + .{ 201, 8 }, + .{ 88, 8 }, + .{ 106, 8 }, + .{ 69, 7 }, + .{ 124, 8 }, + .{ 75, 7 }, + .{ 93, 7 }, + .{ 64, 4 }, + .{ 209, 12 }, + .{ 158, 7 }, + .{ 112, 8 }, + .{ 71, 7 }, + .{ 130, 8 }, + .{ 28, 9 }, + .{ 44, 9 }, + .{ 6, 8 }, + .{ 194, 7 }, + .{ 83, 7 }, + .{ 52, 9 }, + .{ 10, 8 }, + .{ 119, 7 }, + .{ 18, 8 }, + .{ 34, 8 }, + .{ 1, 7 }, + .{ 209, 12 }, + .{ 209, 12 }, + .{ 173, 7 }, + .{ 148, 6 }, + .{ 136, 8 }, + .{ 79, 7 }, + .{ 97, 7 }, + .{ 66, 6 }, + .{ 197, 7 }, + .{ 85, 7 }, + .{ 56, 9 }, + .{ 12, 8 }, + .{ 121, 7 }, + .{ 20, 8 }, + .{ 36, 8 }, + .{ 2, 7 }, + .{ 209, 12 }, + .{ 157, 6 }, + .{ 109, 7 }, + .{ 70, 6 }, + .{ 127, 7 }, + .{ 24, 8 }, + .{ 40, 8 }, + .{ 4, 7 }, + .{ 193, 6 }, + .{ 82, 6 }, + .{ 48, 8 }, + .{ 8, 7 }, + .{ 118, 6 }, + .{ 16, 7 }, + .{ 32, 7 }, + .{ 0, 6 }, + .{ 209, 12 }, + .{ 209, 12 }, + .{ 209, 12 }, + .{ 209, 12 }, + .{ 209, 12 }, + .{ 209, 12 }, + .{ 209, 12 }, + .{ 145, 3 }, + .{ 209, 12 }, + .{ 209, 12 }, + .{ 209, 12 }, + .{ 146, 4 }, + .{ 209, 12 }, + .{ 149, 4 }, + .{ 161, 4 }, + .{ 64, 4 }, + .{ 209, 12 }, + .{ 209, 12 }, + .{ 209, 12 }, + .{ 147, 5 }, + .{ 209, 12 }, + .{ 150, 5 }, + .{ 162, 5 }, + .{ 65, 5 }, + .{ 209, 12 }, + .{ 153, 5 }, + .{ 165, 5 }, + .{ 67, 5 }, + .{ 177, 5 }, + .{ 73, 5 }, + .{ 91, 5 }, + .{ 64, 4 }, + .{ 209, 12 }, + .{ 209, 12 }, + .{ 209, 12 }, + .{ 148, 6 }, + .{ 209, 12 }, + .{ 151, 6 }, + .{ 163, 6 }, + .{ 66, 6 }, + .{ 209, 12 }, + .{ 154, 6 }, + .{ 166, 6 }, + .{ 68, 6 }, + .{ 178, 6 }, + .{ 74, 6 }, + .{ 92, 6 }, + .{ 64, 4 }, + .{ 209, 12 }, + .{ 157, 6 }, + .{ 169, 6 }, + .{ 70, 6 }, + .{ 181, 6 }, + .{ 76, 6 }, + .{ 94, 6 }, + .{ 65, 5 }, + .{ 193, 6 }, + .{ 82, 6 }, + .{ 100, 6 }, + .{ 67, 5 }, + .{ 118, 6 }, + .{ 73, 5 }, + .{ 91, 5 }, + .{ 0, 6 }, + .{ 209, 12 }, + .{ 209, 12 }, + .{ 209, 12 }, + .{ 209, 12 }, + .{ 192, 11 }, + .{ 152, 7 }, + .{ 164, 7 }, + .{ 145, 3 }, + .{ 204, 11 }, + .{ 155, 7 }, + .{ 167, 7 }, + .{ 69, 7 }, + .{ 179, 7 }, + .{ 75, 7 }, + .{ 93, 7 }, + .{ 64, 4 }, + .{ 209, 12 }, + .{ 158, 7 }, + .{ 170, 7 }, + .{ 71, 7 }, + .{ 182, 7 }, + .{ 77, 7 }, + .{ 95, 7 }, + .{ 65, 5 }, + .{ 194, 7 }, + .{ 83, 7 }, + .{ 101, 7 }, + .{ 67, 5 }, + .{ 119, 7 }, + .{ 73, 5 }, + .{ 91, 5 }, + .{ 1, 7 }, + .{ 209, 12 }, + .{ 209, 12 }, + .{ 173, 7 }, + .{ 148, 6 }, + .{ 185, 7 }, + .{ 79, 7 }, + .{ 97, 7 }, + .{ 66, 6 }, + .{ 197, 7 }, + .{ 85, 7 }, + .{ 103, 7 }, + .{ 68, 6 }, + .{ 121, 7 }, + .{ 74, 6 }, + .{ 92, 6 }, + .{ 2, 7 }, + .{ 209, 12 }, + .{ 157, 6 }, + .{ 109, 7 }, + .{ 70, 6 }, + .{ 127, 7 }, + .{ 76, 6 }, + .{ 94, 6 }, + .{ 4, 7 }, + .{ 193, 6 }, + .{ 82, 6 }, + .{ 100, 6 }, + .{ 8, 7 }, + .{ 118, 6 }, + .{ 16, 7 }, + .{ 32, 7 }, + .{ 0, 6 }, + .{ 209, 12 }, + .{ 209, 12 }, + .{ 209, 12 }, + .{ 209, 12 }, + .{ 209, 12 }, + .{ 209, 12 }, + .{ 209, 12 }, + .{ 145, 3 }, + .{ 207, 11 }, + .{ 156, 8 }, + .{ 168, 8 }, + .{ 146, 4 }, + .{ 180, 8 }, + .{ 149, 4 }, + .{ 161, 4 }, + .{ 64, 4 }, + .{ 209, 12 }, + .{ 159, 8 }, + .{ 117, 11 }, + .{ 72, 8 }, + .{ 135, 11 }, + .{ 78, 8 }, + .{ 96, 8 }, + .{ 65, 5 }, + .{ 195, 8 }, + .{ 84, 8 }, + .{ 102, 8 }, + .{ 67, 5 }, + .{ 120, 8 }, + .{ 73, 5 }, + .{ 91, 5 }, + .{ 64, 4 }, + .{ 209, 12 }, + .{ 209, 12 }, + .{ 174, 8 }, + .{ 148, 6 }, + .{ 141, 11 }, + .{ 80, 8 }, + .{ 98, 8 }, + .{ 66, 6 }, + .{ 198, 8 }, + .{ 86, 8 }, + .{ 104, 8 }, + .{ 68, 6 }, + .{ 122, 8 }, + .{ 74, 6 }, + .{ 92, 6 }, + .{ 3, 8 }, + .{ 209, 12 }, + .{ 157, 6 }, + .{ 110, 8 }, + .{ 70, 6 }, + .{ 128, 8 }, + .{ 76, 6 }, + .{ 94, 6 }, + .{ 5, 8 }, + .{ 193, 6 }, + .{ 82, 6 }, + .{ 100, 6 }, + .{ 9, 8 }, + .{ 118, 6 }, + .{ 17, 8 }, + .{ 33, 8 }, + .{ 0, 6 }, + .{ 209, 12 }, + .{ 209, 12 }, + .{ 209, 12 }, + .{ 209, 12 }, + .{ 189, 8 }, + .{ 152, 7 }, + .{ 164, 7 }, + .{ 145, 3 }, + .{ 201, 8 }, + .{ 88, 8 }, + .{ 106, 8 }, + .{ 69, 7 }, + .{ 124, 8 }, + .{ 75, 7 }, + .{ 93, 7 }, + .{ 64, 4 }, + .{ 209, 12 }, + .{ 158, 7 }, + .{ 112, 8 }, + .{ 71, 7 }, + .{ 130, 8 }, + .{ 77, 7 }, + .{ 95, 7 }, + .{ 6, 8 }, + .{ 194, 7 }, + .{ 83, 7 }, + .{ 101, 7 }, + .{ 10, 8 }, + .{ 119, 7 }, + .{ 18, 8 }, + .{ 34, 8 }, + .{ 1, 7 }, + .{ 209, 12 }, + .{ 209, 12 }, + .{ 173, 7 }, + .{ 148, 6 }, + .{ 136, 8 }, + .{ 79, 7 }, + .{ 97, 7 }, + .{ 66, 6 }, + .{ 197, 7 }, + .{ 85, 7 }, + .{ 103, 7 }, + .{ 12, 8 }, + .{ 121, 7 }, + .{ 20, 8 }, + .{ 36, 8 }, + .{ 2, 7 }, + .{ 209, 12 }, + .{ 157, 6 }, + .{ 109, 7 }, + .{ 70, 6 }, + .{ 127, 7 }, + .{ 24, 8 }, + .{ 40, 8 }, + .{ 4, 7 }, + .{ 193, 6 }, + .{ 82, 6 }, + .{ 48, 8 }, + .{ 8, 7 }, + .{ 118, 6 }, + .{ 16, 7 }, + .{ 32, 7 }, + .{ 0, 6 }, + .{ 209, 12 }, + .{ 209, 12 }, + .{ 209, 12 }, + .{ 209, 12 }, + .{ 209, 12 }, + .{ 209, 12 }, + .{ 209, 12 }, + .{ 145, 3 }, + .{ 209, 12 }, + .{ 209, 12 }, + .{ 209, 12 }, + .{ 146, 4 }, + .{ 209, 12 }, + .{ 149, 4 }, + .{ 161, 4 }, + .{ 64, 4 }, + .{ 209, 12 }, + .{ 160, 9 }, + .{ 172, 9 }, + .{ 147, 5 }, + .{ 184, 9 }, + .{ 150, 5 }, + .{ 162, 5 }, + .{ 65, 5 }, + .{ 196, 9 }, + .{ 153, 5 }, + .{ 165, 5 }, + .{ 67, 5 }, + .{ 177, 5 }, + .{ 73, 5 }, + .{ 91, 5 }, + .{ 64, 4 }, + .{ 209, 12 }, + .{ 209, 12 }, + .{ 175, 9 }, + .{ 148, 6 }, + .{ 143, 11 }, + .{ 81, 9 }, + .{ 99, 9 }, + .{ 66, 6 }, + .{ 199, 9 }, + .{ 87, 9 }, + .{ 105, 9 }, + .{ 68, 6 }, + .{ 123, 9 }, + .{ 74, 6 }, + .{ 92, 6 }, + .{ 64, 4 }, + .{ 209, 12 }, + .{ 157, 6 }, + .{ 111, 9 }, + .{ 70, 6 }, + .{ 129, 9 }, + .{ 76, 6 }, + .{ 94, 6 }, + .{ 65, 5 }, + .{ 193, 6 }, + .{ 82, 6 }, + .{ 100, 6 }, + .{ 67, 5 }, + .{ 118, 6 }, + .{ 73, 5 }, + .{ 91, 5 }, + .{ 0, 6 }, + .{ 209, 12 }, + .{ 209, 12 }, + .{ 209, 12 }, + .{ 209, 12 }, + .{ 190, 9 }, + .{ 152, 7 }, + .{ 164, 7 }, + .{ 145, 3 }, + .{ 202, 9 }, + .{ 89, 9 }, + .{ 107, 9 }, + .{ 69, 7 }, + .{ 125, 9 }, + .{ 75, 7 }, + .{ 93, 7 }, + .{ 64, 4 }, + .{ 209, 12 }, + .{ 158, 7 }, + .{ 113, 9 }, + .{ 71, 7 }, + .{ 131, 9 }, + .{ 31, 11 }, + .{ 47, 11 }, + .{ 7, 9 }, + .{ 194, 7 }, + .{ 83, 7 }, + .{ 55, 11 }, + .{ 11, 9 }, + .{ 119, 7 }, + .{ 19, 9 }, + .{ 35, 9 }, + .{ 1, 7 }, + .{ 209, 12 }, + .{ 209, 12 }, + .{ 173, 7 }, + .{ 148, 6 }, + .{ 137, 9 }, + .{ 79, 7 }, + .{ 97, 7 }, + .{ 66, 6 }, + .{ 197, 7 }, + .{ 85, 7 }, + .{ 59, 11 }, + .{ 13, 9 }, + .{ 121, 7 }, + .{ 21, 9 }, + .{ 37, 9 }, + .{ 2, 7 }, + .{ 209, 12 }, + .{ 157, 6 }, + .{ 109, 7 }, + .{ 70, 6 }, + .{ 127, 7 }, + .{ 25, 9 }, + .{ 41, 9 }, + .{ 4, 7 }, + .{ 193, 6 }, + .{ 82, 6 }, + .{ 49, 9 }, + .{ 8, 7 }, + .{ 118, 6 }, + .{ 16, 7 }, + .{ 32, 7 }, + .{ 0, 6 }, + .{ 209, 12 }, + .{ 209, 12 }, + .{ 209, 12 }, + .{ 209, 12 }, + .{ 209, 12 }, + .{ 209, 12 }, + .{ 209, 12 }, + .{ 145, 3 }, + .{ 205, 9 }, + .{ 156, 8 }, + .{ 168, 8 }, + .{ 146, 4 }, + .{ 180, 8 }, + .{ 149, 4 }, + .{ 161, 4 }, + .{ 64, 4 }, + .{ 209, 12 }, + .{ 159, 8 }, + .{ 115, 9 }, + .{ 72, 8 }, + .{ 133, 9 }, + .{ 78, 8 }, + .{ 96, 8 }, + .{ 65, 5 }, + .{ 195, 8 }, + .{ 84, 8 }, + .{ 102, 8 }, + .{ 67, 5 }, + .{ 120, 8 }, + .{ 73, 5 }, + .{ 91, 5 }, + .{ 64, 4 }, + .{ 209, 12 }, + .{ 209, 12 }, + .{ 174, 8 }, + .{ 148, 6 }, + .{ 139, 9 }, + .{ 80, 8 }, + .{ 98, 8 }, + .{ 66, 6 }, + .{ 198, 8 }, + .{ 86, 8 }, + .{ 61, 11 }, + .{ 14, 9 }, + .{ 122, 8 }, + .{ 22, 9 }, + .{ 38, 9 }, + .{ 3, 8 }, + .{ 209, 12 }, + .{ 157, 6 }, + .{ 110, 8 }, + .{ 70, 6 }, + .{ 128, 8 }, + .{ 26, 9 }, + .{ 42, 9 }, + .{ 5, 8 }, + .{ 193, 6 }, + .{ 82, 6 }, + .{ 50, 9 }, + .{ 9, 8 }, + .{ 118, 6 }, + .{ 17, 8 }, + .{ 33, 8 }, + .{ 0, 6 }, + .{ 209, 12 }, + .{ 209, 12 }, + .{ 209, 12 }, + .{ 209, 12 }, + .{ 189, 8 }, + .{ 152, 7 }, + .{ 164, 7 }, + .{ 145, 3 }, + .{ 201, 8 }, + .{ 88, 8 }, + .{ 106, 8 }, + .{ 69, 7 }, + .{ 124, 8 }, + .{ 75, 7 }, + .{ 93, 7 }, + .{ 64, 4 }, + .{ 209, 12 }, + .{ 158, 7 }, + .{ 112, 8 }, + .{ 71, 7 }, + .{ 130, 8 }, + .{ 28, 9 }, + .{ 44, 9 }, + .{ 6, 8 }, + .{ 194, 7 }, + .{ 83, 7 }, + .{ 52, 9 }, + .{ 10, 8 }, + .{ 119, 7 }, + .{ 18, 8 }, + .{ 34, 8 }, + .{ 1, 7 }, + .{ 209, 12 }, + .{ 209, 12 }, + .{ 173, 7 }, + .{ 148, 6 }, + .{ 136, 8 }, + .{ 79, 7 }, + .{ 97, 7 }, + .{ 66, 6 }, + .{ 197, 7 }, + .{ 85, 7 }, + .{ 56, 9 }, + .{ 12, 8 }, + .{ 121, 7 }, + .{ 20, 8 }, + .{ 36, 8 }, + .{ 2, 7 }, + .{ 209, 12 }, + .{ 157, 6 }, + .{ 109, 7 }, + .{ 70, 6 }, + .{ 127, 7 }, + .{ 24, 8 }, + .{ 40, 8 }, + .{ 4, 7 }, + .{ 193, 6 }, + .{ 82, 6 }, + .{ 48, 8 }, + .{ 8, 7 }, + .{ 118, 6 }, + .{ 16, 7 }, + .{ 32, 7 }, + .{ 0, 6 }, + .{ 209, 12 }, + .{ 209, 12 }, + .{ 209, 12 }, + .{ 209, 12 }, + .{ 209, 12 }, + .{ 209, 12 }, + .{ 209, 12 }, + .{ 145, 3 }, + .{ 209, 12 }, + .{ 209, 12 }, + .{ 209, 12 }, + .{ 146, 4 }, + .{ 209, 12 }, + .{ 149, 4 }, + .{ 161, 4 }, + .{ 64, 4 }, + .{ 209, 12 }, + .{ 209, 12 }, + .{ 209, 12 }, + .{ 147, 5 }, + .{ 209, 12 }, + .{ 150, 5 }, + .{ 162, 5 }, + .{ 65, 5 }, + .{ 209, 12 }, + .{ 153, 5 }, + .{ 165, 5 }, + .{ 67, 5 }, + .{ 177, 5 }, + .{ 73, 5 }, + .{ 91, 5 }, + .{ 64, 4 }, + .{ 209, 12 }, + .{ 209, 12 }, + .{ 176, 10 }, + .{ 148, 6 }, + .{ 188, 10 }, + .{ 151, 6 }, + .{ 163, 6 }, + .{ 66, 6 }, + .{ 200, 10 }, + .{ 154, 6 }, + .{ 166, 6 }, + .{ 68, 6 }, + .{ 178, 6 }, + .{ 74, 6 }, + .{ 92, 6 }, + .{ 64, 4 }, + .{ 209, 12 }, + .{ 157, 6 }, + .{ 169, 6 }, + .{ 70, 6 }, + .{ 181, 6 }, + .{ 76, 6 }, + .{ 94, 6 }, + .{ 65, 5 }, + .{ 193, 6 }, + .{ 82, 6 }, + .{ 100, 6 }, + .{ 67, 5 }, + .{ 118, 6 }, + .{ 73, 5 }, + .{ 91, 5 }, + .{ 0, 6 }, + .{ 209, 12 }, + .{ 209, 12 }, + .{ 209, 12 }, + .{ 209, 12 }, + .{ 191, 10 }, + .{ 152, 7 }, + .{ 164, 7 }, + .{ 145, 3 }, + .{ 203, 10 }, + .{ 90, 10 }, + .{ 108, 10 }, + .{ 69, 7 }, + .{ 126, 10 }, + .{ 75, 7 }, + .{ 93, 7 }, + .{ 64, 4 }, + .{ 209, 12 }, + .{ 158, 7 }, + .{ 114, 10 }, + .{ 71, 7 }, + .{ 132, 10 }, + .{ 77, 7 }, + .{ 95, 7 }, + .{ 65, 5 }, + .{ 194, 7 }, + .{ 83, 7 }, + .{ 101, 7 }, + .{ 67, 5 }, + .{ 119, 7 }, + .{ 73, 5 }, + .{ 91, 5 }, + .{ 1, 7 }, + .{ 209, 12 }, + .{ 209, 12 }, + .{ 173, 7 }, + .{ 148, 6 }, + .{ 138, 10 }, + .{ 79, 7 }, + .{ 97, 7 }, + .{ 66, 6 }, + .{ 197, 7 }, + .{ 85, 7 }, + .{ 103, 7 }, + .{ 68, 6 }, + .{ 121, 7 }, + .{ 74, 6 }, + .{ 92, 6 }, + .{ 2, 7 }, + .{ 209, 12 }, + .{ 157, 6 }, + .{ 109, 7 }, + .{ 70, 6 }, + .{ 127, 7 }, + .{ 76, 6 }, + .{ 94, 6 }, + .{ 4, 7 }, + .{ 193, 6 }, + .{ 82, 6 }, + .{ 100, 6 }, + .{ 8, 7 }, + .{ 118, 6 }, + .{ 16, 7 }, + .{ 32, 7 }, + .{ 0, 6 }, + .{ 209, 12 }, + .{ 209, 12 }, + .{ 209, 12 }, + .{ 209, 12 }, + .{ 209, 12 }, + .{ 209, 12 }, + .{ 209, 12 }, + .{ 145, 3 }, + .{ 206, 10 }, + .{ 156, 8 }, + .{ 168, 8 }, + .{ 146, 4 }, + .{ 180, 8 }, + .{ 149, 4 }, + .{ 161, 4 }, + .{ 64, 4 }, + .{ 209, 12 }, + .{ 159, 8 }, + .{ 116, 10 }, + .{ 72, 8 }, + .{ 134, 10 }, + .{ 78, 8 }, + .{ 96, 8 }, + .{ 65, 5 }, + .{ 195, 8 }, + .{ 84, 8 }, + .{ 102, 8 }, + .{ 67, 5 }, + .{ 120, 8 }, + .{ 73, 5 }, + .{ 91, 5 }, + .{ 64, 4 }, + .{ 209, 12 }, + .{ 209, 12 }, + .{ 174, 8 }, + .{ 148, 6 }, + .{ 140, 10 }, + .{ 80, 8 }, + .{ 98, 8 }, + .{ 66, 6 }, + .{ 198, 8 }, + .{ 86, 8 }, + .{ 62, 11 }, + .{ 15, 10 }, + .{ 122, 8 }, + .{ 23, 10 }, + .{ 39, 10 }, + .{ 3, 8 }, + .{ 209, 12 }, + .{ 157, 6 }, + .{ 110, 8 }, + .{ 70, 6 }, + .{ 128, 8 }, + .{ 27, 10 }, + .{ 43, 10 }, + .{ 5, 8 }, + .{ 193, 6 }, + .{ 82, 6 }, + .{ 51, 10 }, + .{ 9, 8 }, + .{ 118, 6 }, + .{ 17, 8 }, + .{ 33, 8 }, + .{ 0, 6 }, + .{ 209, 12 }, + .{ 209, 12 }, + .{ 209, 12 }, + .{ 209, 12 }, + .{ 189, 8 }, + .{ 152, 7 }, + .{ 164, 7 }, + .{ 145, 3 }, + .{ 201, 8 }, + .{ 88, 8 }, + .{ 106, 8 }, + .{ 69, 7 }, + .{ 124, 8 }, + .{ 75, 7 }, + .{ 93, 7 }, + .{ 64, 4 }, + .{ 209, 12 }, + .{ 158, 7 }, + .{ 112, 8 }, + .{ 71, 7 }, + .{ 130, 8 }, + .{ 29, 10 }, + .{ 45, 10 }, + .{ 6, 8 }, + .{ 194, 7 }, + .{ 83, 7 }, + .{ 53, 10 }, + .{ 10, 8 }, + .{ 119, 7 }, + .{ 18, 8 }, + .{ 34, 8 }, + .{ 1, 7 }, + .{ 209, 12 }, + .{ 209, 12 }, + .{ 173, 7 }, + .{ 148, 6 }, + .{ 136, 8 }, + .{ 79, 7 }, + .{ 97, 7 }, + .{ 66, 6 }, + .{ 197, 7 }, + .{ 85, 7 }, + .{ 57, 10 }, + .{ 12, 8 }, + .{ 121, 7 }, + .{ 20, 8 }, + .{ 36, 8 }, + .{ 2, 7 }, + .{ 209, 12 }, + .{ 157, 6 }, + .{ 109, 7 }, + .{ 70, 6 }, + .{ 127, 7 }, + .{ 24, 8 }, + .{ 40, 8 }, + .{ 4, 7 }, + .{ 193, 6 }, + .{ 82, 6 }, + .{ 48, 8 }, + .{ 8, 7 }, + .{ 118, 6 }, + .{ 16, 7 }, + .{ 32, 7 }, + .{ 0, 6 }, + .{ 209, 12 }, + .{ 209, 12 }, + .{ 209, 12 }, + .{ 209, 12 }, + .{ 209, 12 }, + .{ 209, 12 }, + .{ 209, 12 }, + .{ 145, 3 }, + .{ 209, 12 }, + .{ 209, 12 }, + .{ 209, 12 }, + .{ 146, 4 }, + .{ 209, 12 }, + .{ 149, 4 }, + .{ 161, 4 }, + .{ 64, 4 }, + .{ 209, 12 }, + .{ 160, 9 }, + .{ 172, 9 }, + .{ 147, 5 }, + .{ 184, 9 }, + .{ 150, 5 }, + .{ 162, 5 }, + .{ 65, 5 }, + .{ 196, 9 }, + .{ 153, 5 }, + .{ 165, 5 }, + .{ 67, 5 }, + .{ 177, 5 }, + .{ 73, 5 }, + .{ 91, 5 }, + .{ 64, 4 }, + .{ 209, 12 }, + .{ 209, 12 }, + .{ 175, 9 }, + .{ 148, 6 }, + .{ 142, 10 }, + .{ 81, 9 }, + .{ 99, 9 }, + .{ 66, 6 }, + .{ 199, 9 }, + .{ 87, 9 }, + .{ 105, 9 }, + .{ 68, 6 }, + .{ 123, 9 }, + .{ 74, 6 }, + .{ 92, 6 }, + .{ 64, 4 }, + .{ 209, 12 }, + .{ 157, 6 }, + .{ 111, 9 }, + .{ 70, 6 }, + .{ 129, 9 }, + .{ 76, 6 }, + .{ 94, 6 }, + .{ 65, 5 }, + .{ 193, 6 }, + .{ 82, 6 }, + .{ 100, 6 }, + .{ 67, 5 }, + .{ 118, 6 }, + .{ 73, 5 }, + .{ 91, 5 }, + .{ 0, 6 }, + .{ 209, 12 }, + .{ 209, 12 }, + .{ 209, 12 }, + .{ 209, 12 }, + .{ 190, 9 }, + .{ 152, 7 }, + .{ 164, 7 }, + .{ 145, 3 }, + .{ 202, 9 }, + .{ 89, 9 }, + .{ 107, 9 }, + .{ 69, 7 }, + .{ 125, 9 }, + .{ 75, 7 }, + .{ 93, 7 }, + .{ 64, 4 }, + .{ 209, 12 }, + .{ 158, 7 }, + .{ 113, 9 }, + .{ 71, 7 }, + .{ 131, 9 }, + .{ 30, 10 }, + .{ 46, 10 }, + .{ 7, 9 }, + .{ 194, 7 }, + .{ 83, 7 }, + .{ 54, 10 }, + .{ 11, 9 }, + .{ 119, 7 }, + .{ 19, 9 }, + .{ 35, 9 }, + .{ 1, 7 }, + .{ 209, 12 }, + .{ 209, 12 }, + .{ 173, 7 }, + .{ 148, 6 }, + .{ 137, 9 }, + .{ 79, 7 }, + .{ 97, 7 }, + .{ 66, 6 }, + .{ 197, 7 }, + .{ 85, 7 }, + .{ 58, 10 }, + .{ 13, 9 }, + .{ 121, 7 }, + .{ 21, 9 }, + .{ 37, 9 }, + .{ 2, 7 }, + .{ 209, 12 }, + .{ 157, 6 }, + .{ 109, 7 }, + .{ 70, 6 }, + .{ 127, 7 }, + .{ 25, 9 }, + .{ 41, 9 }, + .{ 4, 7 }, + .{ 193, 6 }, + .{ 82, 6 }, + .{ 49, 9 }, + .{ 8, 7 }, + .{ 118, 6 }, + .{ 16, 7 }, + .{ 32, 7 }, + .{ 0, 6 }, + .{ 209, 12 }, + .{ 209, 12 }, + .{ 209, 12 }, + .{ 209, 12 }, + .{ 209, 12 }, + .{ 209, 12 }, + .{ 209, 12 }, + .{ 145, 3 }, + .{ 205, 9 }, + .{ 156, 8 }, + .{ 168, 8 }, + .{ 146, 4 }, + .{ 180, 8 }, + .{ 149, 4 }, + .{ 161, 4 }, + .{ 64, 4 }, + .{ 209, 12 }, + .{ 159, 8 }, + .{ 115, 9 }, + .{ 72, 8 }, + .{ 133, 9 }, + .{ 78, 8 }, + .{ 96, 8 }, + .{ 65, 5 }, + .{ 195, 8 }, + .{ 84, 8 }, + .{ 102, 8 }, + .{ 67, 5 }, + .{ 120, 8 }, + .{ 73, 5 }, + .{ 91, 5 }, + .{ 64, 4 }, + .{ 209, 12 }, + .{ 209, 12 }, + .{ 174, 8 }, + .{ 148, 6 }, + .{ 139, 9 }, + .{ 80, 8 }, + .{ 98, 8 }, + .{ 66, 6 }, + .{ 198, 8 }, + .{ 86, 8 }, + .{ 60, 10 }, + .{ 14, 9 }, + .{ 122, 8 }, + .{ 22, 9 }, + .{ 38, 9 }, + .{ 3, 8 }, + .{ 209, 12 }, + .{ 157, 6 }, + .{ 110, 8 }, + .{ 70, 6 }, + .{ 128, 8 }, + .{ 26, 9 }, + .{ 42, 9 }, + .{ 5, 8 }, + .{ 193, 6 }, + .{ 82, 6 }, + .{ 50, 9 }, + .{ 9, 8 }, + .{ 118, 6 }, + .{ 17, 8 }, + .{ 33, 8 }, + .{ 0, 6 }, + .{ 209, 12 }, + .{ 209, 12 }, + .{ 209, 12 }, + .{ 209, 12 }, + .{ 189, 8 }, + .{ 152, 7 }, + .{ 164, 7 }, + .{ 145, 3 }, + .{ 201, 8 }, + .{ 88, 8 }, + .{ 106, 8 }, + .{ 69, 7 }, + .{ 124, 8 }, + .{ 75, 7 }, + .{ 93, 7 }, + .{ 64, 4 }, + .{ 209, 12 }, + .{ 158, 7 }, + .{ 112, 8 }, + .{ 71, 7 }, + .{ 130, 8 }, + .{ 28, 9 }, + .{ 44, 9 }, + .{ 6, 8 }, + .{ 194, 7 }, + .{ 83, 7 }, + .{ 52, 9 }, + .{ 10, 8 }, + .{ 119, 7 }, + .{ 18, 8 }, + .{ 34, 8 }, + .{ 1, 7 }, + .{ 209, 12 }, + .{ 209, 12 }, + .{ 173, 7 }, + .{ 148, 6 }, + .{ 136, 8 }, + .{ 79, 7 }, + .{ 97, 7 }, + .{ 66, 6 }, + .{ 197, 7 }, + .{ 85, 7 }, + .{ 56, 9 }, + .{ 12, 8 }, + .{ 121, 7 }, + .{ 20, 8 }, + .{ 36, 8 }, + .{ 2, 7 }, + .{ 209, 12 }, + .{ 157, 6 }, + .{ 109, 7 }, + .{ 70, 6 }, + .{ 127, 7 }, + .{ 24, 8 }, + .{ 40, 8 }, + .{ 4, 7 }, + .{ 193, 6 }, + .{ 82, 6 }, + .{ 48, 8 }, + .{ 8, 7 }, + .{ 118, 6 }, + .{ 16, 7 }, + .{ 32, 7 }, + .{ 0, 6 }, + .{ 209, 12 }, + .{ 209, 12 }, + .{ 209, 12 }, + .{ 209, 12 }, + .{ 209, 12 }, + .{ 209, 12 }, + .{ 209, 12 }, + .{ 145, 3 }, + .{ 209, 12 }, + .{ 209, 12 }, + .{ 209, 12 }, + .{ 146, 4 }, + .{ 209, 12 }, + .{ 149, 4 }, + .{ 161, 4 }, + .{ 64, 4 }, + .{ 209, 12 }, + .{ 209, 12 }, + .{ 209, 12 }, + .{ 147, 5 }, + .{ 209, 12 }, + .{ 150, 5 }, + .{ 162, 5 }, + .{ 65, 5 }, + .{ 209, 12 }, + .{ 153, 5 }, + .{ 165, 5 }, + .{ 67, 5 }, + .{ 177, 5 }, + .{ 73, 5 }, + .{ 91, 5 }, + .{ 64, 4 }, + .{ 209, 12 }, + .{ 209, 12 }, + .{ 209, 12 }, + .{ 148, 6 }, + .{ 209, 12 }, + .{ 151, 6 }, + .{ 163, 6 }, + .{ 66, 6 }, + .{ 209, 12 }, + .{ 154, 6 }, + .{ 166, 6 }, + .{ 68, 6 }, + .{ 178, 6 }, + .{ 74, 6 }, + .{ 92, 6 }, + .{ 64, 4 }, + .{ 209, 12 }, + .{ 157, 6 }, + .{ 169, 6 }, + .{ 70, 6 }, + .{ 181, 6 }, + .{ 76, 6 }, + .{ 94, 6 }, + .{ 65, 5 }, + .{ 193, 6 }, + .{ 82, 6 }, + .{ 100, 6 }, + .{ 67, 5 }, + .{ 118, 6 }, + .{ 73, 5 }, + .{ 91, 5 }, + .{ 0, 6 }, + .{ 209, 12 }, + .{ 209, 12 }, + .{ 209, 12 }, + .{ 209, 12 }, + .{ 209, 12 }, + .{ 152, 7 }, + .{ 164, 7 }, + .{ 145, 3 }, + .{ 209, 12 }, + .{ 155, 7 }, + .{ 167, 7 }, + .{ 69, 7 }, + .{ 179, 7 }, + .{ 75, 7 }, + .{ 93, 7 }, + .{ 64, 4 }, + .{ 209, 12 }, + .{ 158, 7 }, + .{ 170, 7 }, + .{ 71, 7 }, + .{ 182, 7 }, + .{ 77, 7 }, + .{ 95, 7 }, + .{ 65, 5 }, + .{ 194, 7 }, + .{ 83, 7 }, + .{ 101, 7 }, + .{ 67, 5 }, + .{ 119, 7 }, + .{ 73, 5 }, + .{ 91, 5 }, + .{ 1, 7 }, + .{ 209, 12 }, + .{ 209, 12 }, + .{ 173, 7 }, + .{ 148, 6 }, + .{ 185, 7 }, + .{ 79, 7 }, + .{ 97, 7 }, + .{ 66, 6 }, + .{ 197, 7 }, + .{ 85, 7 }, + .{ 103, 7 }, + .{ 68, 6 }, + .{ 121, 7 }, + .{ 74, 6 }, + .{ 92, 6 }, + .{ 2, 7 }, + .{ 209, 12 }, + .{ 157, 6 }, + .{ 109, 7 }, + .{ 70, 6 }, + .{ 127, 7 }, + .{ 76, 6 }, + .{ 94, 6 }, + .{ 4, 7 }, + .{ 193, 6 }, + .{ 82, 6 }, + .{ 100, 6 }, + .{ 8, 7 }, + .{ 118, 6 }, + .{ 16, 7 }, + .{ 32, 7 }, + .{ 0, 6 }, + .{ 209, 12 }, + .{ 209, 12 }, + .{ 209, 12 }, + .{ 209, 12 }, + .{ 209, 12 }, + .{ 209, 12 }, + .{ 209, 12 }, + .{ 145, 3 }, + .{ 208, 12 }, + .{ 156, 8 }, + .{ 168, 8 }, + .{ 146, 4 }, + .{ 180, 8 }, + .{ 149, 4 }, + .{ 161, 4 }, + .{ 64, 4 }, + .{ 209, 12 }, + .{ 159, 8 }, + .{ 171, 8 }, + .{ 72, 8 }, + .{ 183, 8 }, + .{ 78, 8 }, + .{ 96, 8 }, + .{ 65, 5 }, + .{ 195, 8 }, + .{ 84, 8 }, + .{ 102, 8 }, + .{ 67, 5 }, + .{ 120, 8 }, + .{ 73, 5 }, + .{ 91, 5 }, + .{ 64, 4 }, + .{ 209, 12 }, + .{ 209, 12 }, + .{ 174, 8 }, + .{ 148, 6 }, + .{ 186, 8 }, + .{ 80, 8 }, + .{ 98, 8 }, + .{ 66, 6 }, + .{ 198, 8 }, + .{ 86, 8 }, + .{ 104, 8 }, + .{ 68, 6 }, + .{ 122, 8 }, + .{ 74, 6 }, + .{ 92, 6 }, + .{ 3, 8 }, + .{ 209, 12 }, + .{ 157, 6 }, + .{ 110, 8 }, + .{ 70, 6 }, + .{ 128, 8 }, + .{ 76, 6 }, + .{ 94, 6 }, + .{ 5, 8 }, + .{ 193, 6 }, + .{ 82, 6 }, + .{ 100, 6 }, + .{ 9, 8 }, + .{ 118, 6 }, + .{ 17, 8 }, + .{ 33, 8 }, + .{ 0, 6 }, + .{ 209, 12 }, + .{ 209, 12 }, + .{ 209, 12 }, + .{ 209, 12 }, + .{ 189, 8 }, + .{ 152, 7 }, + .{ 164, 7 }, + .{ 145, 3 }, + .{ 201, 8 }, + .{ 88, 8 }, + .{ 106, 8 }, + .{ 69, 7 }, + .{ 124, 8 }, + .{ 75, 7 }, + .{ 93, 7 }, + .{ 64, 4 }, + .{ 209, 12 }, + .{ 158, 7 }, + .{ 112, 8 }, + .{ 71, 7 }, + .{ 130, 8 }, + .{ 77, 7 }, + .{ 95, 7 }, + .{ 6, 8 }, + .{ 194, 7 }, + .{ 83, 7 }, + .{ 101, 7 }, + .{ 10, 8 }, + .{ 119, 7 }, + .{ 18, 8 }, + .{ 34, 8 }, + .{ 1, 7 }, + .{ 209, 12 }, + .{ 209, 12 }, + .{ 173, 7 }, + .{ 148, 6 }, + .{ 136, 8 }, + .{ 79, 7 }, + .{ 97, 7 }, + .{ 66, 6 }, + .{ 197, 7 }, + .{ 85, 7 }, + .{ 103, 7 }, + .{ 12, 8 }, + .{ 121, 7 }, + .{ 20, 8 }, + .{ 36, 8 }, + .{ 2, 7 }, + .{ 209, 12 }, + .{ 157, 6 }, + .{ 109, 7 }, + .{ 70, 6 }, + .{ 127, 7 }, + .{ 24, 8 }, + .{ 40, 8 }, + .{ 4, 7 }, + .{ 193, 6 }, + .{ 82, 6 }, + .{ 48, 8 }, + .{ 8, 7 }, + .{ 118, 6 }, + .{ 16, 7 }, + .{ 32, 7 }, + .{ 0, 6 }, + .{ 209, 12 }, + .{ 209, 12 }, + .{ 209, 12 }, + .{ 209, 12 }, + .{ 209, 12 }, + .{ 209, 12 }, + .{ 209, 12 }, + .{ 145, 3 }, + .{ 209, 12 }, + .{ 209, 12 }, + .{ 209, 12 }, + .{ 146, 4 }, + .{ 209, 12 }, + .{ 149, 4 }, + .{ 161, 4 }, + .{ 64, 4 }, + .{ 209, 12 }, + .{ 160, 9 }, + .{ 172, 9 }, + .{ 147, 5 }, + .{ 184, 9 }, + .{ 150, 5 }, + .{ 162, 5 }, + .{ 65, 5 }, + .{ 196, 9 }, + .{ 153, 5 }, + .{ 165, 5 }, + .{ 67, 5 }, + .{ 177, 5 }, + .{ 73, 5 }, + .{ 91, 5 }, + .{ 64, 4 }, + .{ 209, 12 }, + .{ 209, 12 }, + .{ 175, 9 }, + .{ 148, 6 }, + .{ 144, 12 }, + .{ 81, 9 }, + .{ 99, 9 }, + .{ 66, 6 }, + .{ 199, 9 }, + .{ 87, 9 }, + .{ 105, 9 }, + .{ 68, 6 }, + .{ 123, 9 }, + .{ 74, 6 }, + .{ 92, 6 }, + .{ 64, 4 }, + .{ 209, 12 }, + .{ 157, 6 }, + .{ 111, 9 }, + .{ 70, 6 }, + .{ 129, 9 }, + .{ 76, 6 }, + .{ 94, 6 }, + .{ 65, 5 }, + .{ 193, 6 }, + .{ 82, 6 }, + .{ 100, 6 }, + .{ 67, 5 }, + .{ 118, 6 }, + .{ 73, 5 }, + .{ 91, 5 }, + .{ 0, 6 }, + .{ 209, 12 }, + .{ 209, 12 }, + .{ 209, 12 }, + .{ 209, 12 }, + .{ 190, 9 }, + .{ 152, 7 }, + .{ 164, 7 }, + .{ 145, 3 }, + .{ 202, 9 }, + .{ 89, 9 }, + .{ 107, 9 }, + .{ 69, 7 }, + .{ 125, 9 }, + .{ 75, 7 }, + .{ 93, 7 }, + .{ 64, 4 }, + .{ 209, 12 }, + .{ 158, 7 }, + .{ 113, 9 }, + .{ 71, 7 }, + .{ 131, 9 }, + .{ 77, 7 }, + .{ 95, 7 }, + .{ 7, 9 }, + .{ 194, 7 }, + .{ 83, 7 }, + .{ 101, 7 }, + .{ 11, 9 }, + .{ 119, 7 }, + .{ 19, 9 }, + .{ 35, 9 }, + .{ 1, 7 }, + .{ 209, 12 }, + .{ 209, 12 }, + .{ 173, 7 }, + .{ 148, 6 }, + .{ 137, 9 }, + .{ 79, 7 }, + .{ 97, 7 }, + .{ 66, 6 }, + .{ 197, 7 }, + .{ 85, 7 }, + .{ 103, 7 }, + .{ 13, 9 }, + .{ 121, 7 }, + .{ 21, 9 }, + .{ 37, 9 }, + .{ 2, 7 }, + .{ 209, 12 }, + .{ 157, 6 }, + .{ 109, 7 }, + .{ 70, 6 }, + .{ 127, 7 }, + .{ 25, 9 }, + .{ 41, 9 }, + .{ 4, 7 }, + .{ 193, 6 }, + .{ 82, 6 }, + .{ 49, 9 }, + .{ 8, 7 }, + .{ 118, 6 }, + .{ 16, 7 }, + .{ 32, 7 }, + .{ 0, 6 }, + .{ 209, 12 }, + .{ 209, 12 }, + .{ 209, 12 }, + .{ 209, 12 }, + .{ 209, 12 }, + .{ 209, 12 }, + .{ 209, 12 }, + .{ 145, 3 }, + .{ 205, 9 }, + .{ 156, 8 }, + .{ 168, 8 }, + .{ 146, 4 }, + .{ 180, 8 }, + .{ 149, 4 }, + .{ 161, 4 }, + .{ 64, 4 }, + .{ 209, 12 }, + .{ 159, 8 }, + .{ 115, 9 }, + .{ 72, 8 }, + .{ 133, 9 }, + .{ 78, 8 }, + .{ 96, 8 }, + .{ 65, 5 }, + .{ 195, 8 }, + .{ 84, 8 }, + .{ 102, 8 }, + .{ 67, 5 }, + .{ 120, 8 }, + .{ 73, 5 }, + .{ 91, 5 }, + .{ 64, 4 }, + .{ 209, 12 }, + .{ 209, 12 }, + .{ 174, 8 }, + .{ 148, 6 }, + .{ 139, 9 }, + .{ 80, 8 }, + .{ 98, 8 }, + .{ 66, 6 }, + .{ 198, 8 }, + .{ 86, 8 }, + .{ 104, 8 }, + .{ 14, 9 }, + .{ 122, 8 }, + .{ 22, 9 }, + .{ 38, 9 }, + .{ 3, 8 }, + .{ 209, 12 }, + .{ 157, 6 }, + .{ 110, 8 }, + .{ 70, 6 }, + .{ 128, 8 }, + .{ 26, 9 }, + .{ 42, 9 }, + .{ 5, 8 }, + .{ 193, 6 }, + .{ 82, 6 }, + .{ 50, 9 }, + .{ 9, 8 }, + .{ 118, 6 }, + .{ 17, 8 }, + .{ 33, 8 }, + .{ 0, 6 }, + .{ 209, 12 }, + .{ 209, 12 }, + .{ 209, 12 }, + .{ 209, 12 }, + .{ 189, 8 }, + .{ 152, 7 }, + .{ 164, 7 }, + .{ 145, 3 }, + .{ 201, 8 }, + .{ 88, 8 }, + .{ 106, 8 }, + .{ 69, 7 }, + .{ 124, 8 }, + .{ 75, 7 }, + .{ 93, 7 }, + .{ 64, 4 }, + .{ 209, 12 }, + .{ 158, 7 }, + .{ 112, 8 }, + .{ 71, 7 }, + .{ 130, 8 }, + .{ 28, 9 }, + .{ 44, 9 }, + .{ 6, 8 }, + .{ 194, 7 }, + .{ 83, 7 }, + .{ 52, 9 }, + .{ 10, 8 }, + .{ 119, 7 }, + .{ 18, 8 }, + .{ 34, 8 }, + .{ 1, 7 }, + .{ 209, 12 }, + .{ 209, 12 }, + .{ 173, 7 }, + .{ 148, 6 }, + .{ 136, 8 }, + .{ 79, 7 }, + .{ 97, 7 }, + .{ 66, 6 }, + .{ 197, 7 }, + .{ 85, 7 }, + .{ 56, 9 }, + .{ 12, 8 }, + .{ 121, 7 }, + .{ 20, 8 }, + .{ 36, 8 }, + .{ 2, 7 }, + .{ 209, 12 }, + .{ 157, 6 }, + .{ 109, 7 }, + .{ 70, 6 }, + .{ 127, 7 }, + .{ 24, 8 }, + .{ 40, 8 }, + .{ 4, 7 }, + .{ 193, 6 }, + .{ 82, 6 }, + .{ 48, 8 }, + .{ 8, 7 }, + .{ 118, 6 }, + .{ 16, 7 }, + .{ 32, 7 }, + .{ 0, 6 }, + .{ 209, 12 }, + .{ 209, 12 }, + .{ 209, 12 }, + .{ 209, 12 }, + .{ 209, 12 }, + .{ 209, 12 }, + .{ 209, 12 }, + .{ 145, 3 }, + .{ 209, 12 }, + .{ 209, 12 }, + .{ 209, 12 }, + .{ 146, 4 }, + .{ 209, 12 }, + .{ 149, 4 }, + .{ 161, 4 }, + .{ 64, 4 }, + .{ 209, 12 }, + .{ 209, 12 }, + .{ 209, 12 }, + .{ 147, 5 }, + .{ 209, 12 }, + .{ 150, 5 }, + .{ 162, 5 }, + .{ 65, 5 }, + .{ 209, 12 }, + .{ 153, 5 }, + .{ 165, 5 }, + .{ 67, 5 }, + .{ 177, 5 }, + .{ 73, 5 }, + .{ 91, 5 }, + .{ 64, 4 }, + .{ 209, 12 }, + .{ 209, 12 }, + .{ 176, 10 }, + .{ 148, 6 }, + .{ 188, 10 }, + .{ 151, 6 }, + .{ 163, 6 }, + .{ 66, 6 }, + .{ 200, 10 }, + .{ 154, 6 }, + .{ 166, 6 }, + .{ 68, 6 }, + .{ 178, 6 }, + .{ 74, 6 }, + .{ 92, 6 }, + .{ 64, 4 }, + .{ 209, 12 }, + .{ 157, 6 }, + .{ 169, 6 }, + .{ 70, 6 }, + .{ 181, 6 }, + .{ 76, 6 }, + .{ 94, 6 }, + .{ 65, 5 }, + .{ 193, 6 }, + .{ 82, 6 }, + .{ 100, 6 }, + .{ 67, 5 }, + .{ 118, 6 }, + .{ 73, 5 }, + .{ 91, 5 }, + .{ 0, 6 }, + .{ 209, 12 }, + .{ 209, 12 }, + .{ 209, 12 }, + .{ 209, 12 }, + .{ 191, 10 }, + .{ 152, 7 }, + .{ 164, 7 }, + .{ 145, 3 }, + .{ 203, 10 }, + .{ 90, 10 }, + .{ 108, 10 }, + .{ 69, 7 }, + .{ 126, 10 }, + .{ 75, 7 }, + .{ 93, 7 }, + .{ 64, 4 }, + .{ 209, 12 }, + .{ 158, 7 }, + .{ 114, 10 }, + .{ 71, 7 }, + .{ 132, 10 }, + .{ 77, 7 }, + .{ 95, 7 }, + .{ 65, 5 }, + .{ 194, 7 }, + .{ 83, 7 }, + .{ 101, 7 }, + .{ 67, 5 }, + .{ 119, 7 }, + .{ 73, 5 }, + .{ 91, 5 }, + .{ 1, 7 }, + .{ 209, 12 }, + .{ 209, 12 }, + .{ 173, 7 }, + .{ 148, 6 }, + .{ 138, 10 }, + .{ 79, 7 }, + .{ 97, 7 }, + .{ 66, 6 }, + .{ 197, 7 }, + .{ 85, 7 }, + .{ 103, 7 }, + .{ 68, 6 }, + .{ 121, 7 }, + .{ 74, 6 }, + .{ 92, 6 }, + .{ 2, 7 }, + .{ 209, 12 }, + .{ 157, 6 }, + .{ 109, 7 }, + .{ 70, 6 }, + .{ 127, 7 }, + .{ 76, 6 }, + .{ 94, 6 }, + .{ 4, 7 }, + .{ 193, 6 }, + .{ 82, 6 }, + .{ 100, 6 }, + .{ 8, 7 }, + .{ 118, 6 }, + .{ 16, 7 }, + .{ 32, 7 }, + .{ 0, 6 }, + .{ 209, 12 }, + .{ 209, 12 }, + .{ 209, 12 }, + .{ 209, 12 }, + .{ 209, 12 }, + .{ 209, 12 }, + .{ 209, 12 }, + .{ 145, 3 }, + .{ 206, 10 }, + .{ 156, 8 }, + .{ 168, 8 }, + .{ 146, 4 }, + .{ 180, 8 }, + .{ 149, 4 }, + .{ 161, 4 }, + .{ 64, 4 }, + .{ 209, 12 }, + .{ 159, 8 }, + .{ 116, 10 }, + .{ 72, 8 }, + .{ 134, 10 }, + .{ 78, 8 }, + .{ 96, 8 }, + .{ 65, 5 }, + .{ 195, 8 }, + .{ 84, 8 }, + .{ 102, 8 }, + .{ 67, 5 }, + .{ 120, 8 }, + .{ 73, 5 }, + .{ 91, 5 }, + .{ 64, 4 }, + .{ 209, 12 }, + .{ 209, 12 }, + .{ 174, 8 }, + .{ 148, 6 }, + .{ 140, 10 }, + .{ 80, 8 }, + .{ 98, 8 }, + .{ 66, 6 }, + .{ 198, 8 }, + .{ 86, 8 }, + .{ 63, 12 }, + .{ 15, 10 }, + .{ 122, 8 }, + .{ 23, 10 }, + .{ 39, 10 }, + .{ 3, 8 }, + .{ 209, 12 }, + .{ 157, 6 }, + .{ 110, 8 }, + .{ 70, 6 }, + .{ 128, 8 }, + .{ 27, 10 }, + .{ 43, 10 }, + .{ 5, 8 }, + .{ 193, 6 }, + .{ 82, 6 }, + .{ 51, 10 }, + .{ 9, 8 }, + .{ 118, 6 }, + .{ 17, 8 }, + .{ 33, 8 }, + .{ 0, 6 }, + .{ 209, 12 }, + .{ 209, 12 }, + .{ 209, 12 }, + .{ 209, 12 }, + .{ 189, 8 }, + .{ 152, 7 }, + .{ 164, 7 }, + .{ 145, 3 }, + .{ 201, 8 }, + .{ 88, 8 }, + .{ 106, 8 }, + .{ 69, 7 }, + .{ 124, 8 }, + .{ 75, 7 }, + .{ 93, 7 }, + .{ 64, 4 }, + .{ 209, 12 }, + .{ 158, 7 }, + .{ 112, 8 }, + .{ 71, 7 }, + .{ 130, 8 }, + .{ 29, 10 }, + .{ 45, 10 }, + .{ 6, 8 }, + .{ 194, 7 }, + .{ 83, 7 }, + .{ 53, 10 }, + .{ 10, 8 }, + .{ 119, 7 }, + .{ 18, 8 }, + .{ 34, 8 }, + .{ 1, 7 }, + .{ 209, 12 }, + .{ 209, 12 }, + .{ 173, 7 }, + .{ 148, 6 }, + .{ 136, 8 }, + .{ 79, 7 }, + .{ 97, 7 }, + .{ 66, 6 }, + .{ 197, 7 }, + .{ 85, 7 }, + .{ 57, 10 }, + .{ 12, 8 }, + .{ 121, 7 }, + .{ 20, 8 }, + .{ 36, 8 }, + .{ 2, 7 }, + .{ 209, 12 }, + .{ 157, 6 }, + .{ 109, 7 }, + .{ 70, 6 }, + .{ 127, 7 }, + .{ 24, 8 }, + .{ 40, 8 }, + .{ 4, 7 }, + .{ 193, 6 }, + .{ 82, 6 }, + .{ 48, 8 }, + .{ 8, 7 }, + .{ 118, 6 }, + .{ 16, 7 }, + .{ 32, 7 }, + .{ 0, 6 }, + .{ 209, 12 }, + .{ 209, 12 }, + .{ 209, 12 }, + .{ 209, 12 }, + .{ 209, 12 }, + .{ 209, 12 }, + .{ 209, 12 }, + .{ 145, 3 }, + .{ 209, 12 }, + .{ 209, 12 }, + .{ 209, 12 }, + .{ 146, 4 }, + .{ 209, 12 }, + .{ 149, 4 }, + .{ 161, 4 }, + .{ 64, 4 }, + .{ 209, 12 }, + .{ 160, 9 }, + .{ 172, 9 }, + .{ 147, 5 }, + .{ 184, 9 }, + .{ 150, 5 }, + .{ 162, 5 }, + .{ 65, 5 }, + .{ 196, 9 }, + .{ 153, 5 }, + .{ 165, 5 }, + .{ 67, 5 }, + .{ 177, 5 }, + .{ 73, 5 }, + .{ 91, 5 }, + .{ 64, 4 }, + .{ 209, 12 }, + .{ 209, 12 }, + .{ 175, 9 }, + .{ 148, 6 }, + .{ 142, 10 }, + .{ 81, 9 }, + .{ 99, 9 }, + .{ 66, 6 }, + .{ 199, 9 }, + .{ 87, 9 }, + .{ 105, 9 }, + .{ 68, 6 }, + .{ 123, 9 }, + .{ 74, 6 }, + .{ 92, 6 }, + .{ 64, 4 }, + .{ 209, 12 }, + .{ 157, 6 }, + .{ 111, 9 }, + .{ 70, 6 }, + .{ 129, 9 }, + .{ 76, 6 }, + .{ 94, 6 }, + .{ 65, 5 }, + .{ 193, 6 }, + .{ 82, 6 }, + .{ 100, 6 }, + .{ 67, 5 }, + .{ 118, 6 }, + .{ 73, 5 }, + .{ 91, 5 }, + .{ 0, 6 }, + .{ 209, 12 }, + .{ 209, 12 }, + .{ 209, 12 }, + .{ 209, 12 }, + .{ 190, 9 }, + .{ 152, 7 }, + .{ 164, 7 }, + .{ 145, 3 }, + .{ 202, 9 }, + .{ 89, 9 }, + .{ 107, 9 }, + .{ 69, 7 }, + .{ 125, 9 }, + .{ 75, 7 }, + .{ 93, 7 }, + .{ 64, 4 }, + .{ 209, 12 }, + .{ 158, 7 }, + .{ 113, 9 }, + .{ 71, 7 }, + .{ 131, 9 }, + .{ 30, 10 }, + .{ 46, 10 }, + .{ 7, 9 }, + .{ 194, 7 }, + .{ 83, 7 }, + .{ 54, 10 }, + .{ 11, 9 }, + .{ 119, 7 }, + .{ 19, 9 }, + .{ 35, 9 }, + .{ 1, 7 }, + .{ 209, 12 }, + .{ 209, 12 }, + .{ 173, 7 }, + .{ 148, 6 }, + .{ 137, 9 }, + .{ 79, 7 }, + .{ 97, 7 }, + .{ 66, 6 }, + .{ 197, 7 }, + .{ 85, 7 }, + .{ 58, 10 }, + .{ 13, 9 }, + .{ 121, 7 }, + .{ 21, 9 }, + .{ 37, 9 }, + .{ 2, 7 }, + .{ 209, 12 }, + .{ 157, 6 }, + .{ 109, 7 }, + .{ 70, 6 }, + .{ 127, 7 }, + .{ 25, 9 }, + .{ 41, 9 }, + .{ 4, 7 }, + .{ 193, 6 }, + .{ 82, 6 }, + .{ 49, 9 }, + .{ 8, 7 }, + .{ 118, 6 }, + .{ 16, 7 }, + .{ 32, 7 }, + .{ 0, 6 }, + .{ 209, 12 }, + .{ 209, 12 }, + .{ 209, 12 }, + .{ 209, 12 }, + .{ 209, 12 }, + .{ 209, 12 }, + .{ 209, 12 }, + .{ 145, 3 }, + .{ 205, 9 }, + .{ 156, 8 }, + .{ 168, 8 }, + .{ 146, 4 }, + .{ 180, 8 }, + .{ 149, 4 }, + .{ 161, 4 }, + .{ 64, 4 }, + .{ 209, 12 }, + .{ 159, 8 }, + .{ 115, 9 }, + .{ 72, 8 }, + .{ 133, 9 }, + .{ 78, 8 }, + .{ 96, 8 }, + .{ 65, 5 }, + .{ 195, 8 }, + .{ 84, 8 }, + .{ 102, 8 }, + .{ 67, 5 }, + .{ 120, 8 }, + .{ 73, 5 }, + .{ 91, 5 }, + .{ 64, 4 }, + .{ 209, 12 }, + .{ 209, 12 }, + .{ 174, 8 }, + .{ 148, 6 }, + .{ 139, 9 }, + .{ 80, 8 }, + .{ 98, 8 }, + .{ 66, 6 }, + .{ 198, 8 }, + .{ 86, 8 }, + .{ 60, 10 }, + .{ 14, 9 }, + .{ 122, 8 }, + .{ 22, 9 }, + .{ 38, 9 }, + .{ 3, 8 }, + .{ 209, 12 }, + .{ 157, 6 }, + .{ 110, 8 }, + .{ 70, 6 }, + .{ 128, 8 }, + .{ 26, 9 }, + .{ 42, 9 }, + .{ 5, 8 }, + .{ 193, 6 }, + .{ 82, 6 }, + .{ 50, 9 }, + .{ 9, 8 }, + .{ 118, 6 }, + .{ 17, 8 }, + .{ 33, 8 }, + .{ 0, 6 }, + .{ 209, 12 }, + .{ 209, 12 }, + .{ 209, 12 }, + .{ 209, 12 }, + .{ 189, 8 }, + .{ 152, 7 }, + .{ 164, 7 }, + .{ 145, 3 }, + .{ 201, 8 }, + .{ 88, 8 }, + .{ 106, 8 }, + .{ 69, 7 }, + .{ 124, 8 }, + .{ 75, 7 }, + .{ 93, 7 }, + .{ 64, 4 }, + .{ 209, 12 }, + .{ 158, 7 }, + .{ 112, 8 }, + .{ 71, 7 }, + .{ 130, 8 }, + .{ 28, 9 }, + .{ 44, 9 }, + .{ 6, 8 }, + .{ 194, 7 }, + .{ 83, 7 }, + .{ 52, 9 }, + .{ 10, 8 }, + .{ 119, 7 }, + .{ 18, 8 }, + .{ 34, 8 }, + .{ 1, 7 }, + .{ 209, 12 }, + .{ 209, 12 }, + .{ 173, 7 }, + .{ 148, 6 }, + .{ 136, 8 }, + .{ 79, 7 }, + .{ 97, 7 }, + .{ 66, 6 }, + .{ 197, 7 }, + .{ 85, 7 }, + .{ 56, 9 }, + .{ 12, 8 }, + .{ 121, 7 }, + .{ 20, 8 }, + .{ 36, 8 }, + .{ 2, 7 }, + .{ 209, 12 }, + .{ 157, 6 }, + .{ 109, 7 }, + .{ 70, 6 }, + .{ 127, 7 }, + .{ 24, 8 }, + .{ 40, 8 }, + .{ 4, 7 }, + .{ 193, 6 }, + .{ 82, 6 }, + .{ 48, 8 }, + .{ 8, 7 }, + .{ 118, 6 }, + .{ 16, 7 }, + .{ 32, 7 }, + .{ 0, 6 }, + .{ 209, 12 }, + .{ 209, 12 }, + .{ 209, 12 }, + .{ 209, 12 }, + .{ 209, 12 }, + .{ 209, 12 }, + .{ 209, 12 }, + .{ 145, 3 }, + .{ 209, 12 }, + .{ 209, 12 }, + .{ 209, 12 }, + .{ 146, 4 }, + .{ 209, 12 }, + .{ 149, 4 }, + .{ 161, 4 }, + .{ 64, 4 }, + .{ 209, 12 }, + .{ 209, 12 }, + .{ 209, 12 }, + .{ 147, 5 }, + .{ 209, 12 }, + .{ 150, 5 }, + .{ 162, 5 }, + .{ 65, 5 }, + .{ 209, 12 }, + .{ 153, 5 }, + .{ 165, 5 }, + .{ 67, 5 }, + .{ 177, 5 }, + .{ 73, 5 }, + .{ 91, 5 }, + .{ 64, 4 }, + .{ 209, 12 }, + .{ 209, 12 }, + .{ 209, 12 }, + .{ 148, 6 }, + .{ 209, 12 }, + .{ 151, 6 }, + .{ 163, 6 }, + .{ 66, 6 }, + .{ 209, 12 }, + .{ 154, 6 }, + .{ 166, 6 }, + .{ 68, 6 }, + .{ 178, 6 }, + .{ 74, 6 }, + .{ 92, 6 }, + .{ 64, 4 }, + .{ 209, 12 }, + .{ 157, 6 }, + .{ 169, 6 }, + .{ 70, 6 }, + .{ 181, 6 }, + .{ 76, 6 }, + .{ 94, 6 }, + .{ 65, 5 }, + .{ 193, 6 }, + .{ 82, 6 }, + .{ 100, 6 }, + .{ 67, 5 }, + .{ 118, 6 }, + .{ 73, 5 }, + .{ 91, 5 }, + .{ 0, 6 }, + .{ 209, 12 }, + .{ 209, 12 }, + .{ 209, 12 }, + .{ 209, 12 }, + .{ 192, 11 }, + .{ 152, 7 }, + .{ 164, 7 }, + .{ 145, 3 }, + .{ 204, 11 }, + .{ 155, 7 }, + .{ 167, 7 }, + .{ 69, 7 }, + .{ 179, 7 }, + .{ 75, 7 }, + .{ 93, 7 }, + .{ 64, 4 }, + .{ 209, 12 }, + .{ 158, 7 }, + .{ 170, 7 }, + .{ 71, 7 }, + .{ 182, 7 }, + .{ 77, 7 }, + .{ 95, 7 }, + .{ 65, 5 }, + .{ 194, 7 }, + .{ 83, 7 }, + .{ 101, 7 }, + .{ 67, 5 }, + .{ 119, 7 }, + .{ 73, 5 }, + .{ 91, 5 }, + .{ 1, 7 }, + .{ 209, 12 }, + .{ 209, 12 }, + .{ 173, 7 }, + .{ 148, 6 }, + .{ 185, 7 }, + .{ 79, 7 }, + .{ 97, 7 }, + .{ 66, 6 }, + .{ 197, 7 }, + .{ 85, 7 }, + .{ 103, 7 }, + .{ 68, 6 }, + .{ 121, 7 }, + .{ 74, 6 }, + .{ 92, 6 }, + .{ 2, 7 }, + .{ 209, 12 }, + .{ 157, 6 }, + .{ 109, 7 }, + .{ 70, 6 }, + .{ 127, 7 }, + .{ 76, 6 }, + .{ 94, 6 }, + .{ 4, 7 }, + .{ 193, 6 }, + .{ 82, 6 }, + .{ 100, 6 }, + .{ 8, 7 }, + .{ 118, 6 }, + .{ 16, 7 }, + .{ 32, 7 }, + .{ 0, 6 }, + .{ 209, 12 }, + .{ 209, 12 }, + .{ 209, 12 }, + .{ 209, 12 }, + .{ 209, 12 }, + .{ 209, 12 }, + .{ 209, 12 }, + .{ 145, 3 }, + .{ 207, 11 }, + .{ 156, 8 }, + .{ 168, 8 }, + .{ 146, 4 }, + .{ 180, 8 }, + .{ 149, 4 }, + .{ 161, 4 }, + .{ 64, 4 }, + .{ 209, 12 }, + .{ 159, 8 }, + .{ 117, 11 }, + .{ 72, 8 }, + .{ 135, 11 }, + .{ 78, 8 }, + .{ 96, 8 }, + .{ 65, 5 }, + .{ 195, 8 }, + .{ 84, 8 }, + .{ 102, 8 }, + .{ 67, 5 }, + .{ 120, 8 }, + .{ 73, 5 }, + .{ 91, 5 }, + .{ 64, 4 }, + .{ 209, 12 }, + .{ 209, 12 }, + .{ 174, 8 }, + .{ 148, 6 }, + .{ 141, 11 }, + .{ 80, 8 }, + .{ 98, 8 }, + .{ 66, 6 }, + .{ 198, 8 }, + .{ 86, 8 }, + .{ 104, 8 }, + .{ 68, 6 }, + .{ 122, 8 }, + .{ 74, 6 }, + .{ 92, 6 }, + .{ 3, 8 }, + .{ 209, 12 }, + .{ 157, 6 }, + .{ 110, 8 }, + .{ 70, 6 }, + .{ 128, 8 }, + .{ 76, 6 }, + .{ 94, 6 }, + .{ 5, 8 }, + .{ 193, 6 }, + .{ 82, 6 }, + .{ 100, 6 }, + .{ 9, 8 }, + .{ 118, 6 }, + .{ 17, 8 }, + .{ 33, 8 }, + .{ 0, 6 }, + .{ 209, 12 }, + .{ 209, 12 }, + .{ 209, 12 }, + .{ 209, 12 }, + .{ 189, 8 }, + .{ 152, 7 }, + .{ 164, 7 }, + .{ 145, 3 }, + .{ 201, 8 }, + .{ 88, 8 }, + .{ 106, 8 }, + .{ 69, 7 }, + .{ 124, 8 }, + .{ 75, 7 }, + .{ 93, 7 }, + .{ 64, 4 }, + .{ 209, 12 }, + .{ 158, 7 }, + .{ 112, 8 }, + .{ 71, 7 }, + .{ 130, 8 }, + .{ 77, 7 }, + .{ 95, 7 }, + .{ 6, 8 }, + .{ 194, 7 }, + .{ 83, 7 }, + .{ 101, 7 }, + .{ 10, 8 }, + .{ 119, 7 }, + .{ 18, 8 }, + .{ 34, 8 }, + .{ 1, 7 }, + .{ 209, 12 }, + .{ 209, 12 }, + .{ 173, 7 }, + .{ 148, 6 }, + .{ 136, 8 }, + .{ 79, 7 }, + .{ 97, 7 }, + .{ 66, 6 }, + .{ 197, 7 }, + .{ 85, 7 }, + .{ 103, 7 }, + .{ 12, 8 }, + .{ 121, 7 }, + .{ 20, 8 }, + .{ 36, 8 }, + .{ 2, 7 }, + .{ 209, 12 }, + .{ 157, 6 }, + .{ 109, 7 }, + .{ 70, 6 }, + .{ 127, 7 }, + .{ 24, 8 }, + .{ 40, 8 }, + .{ 4, 7 }, + .{ 193, 6 }, + .{ 82, 6 }, + .{ 48, 8 }, + .{ 8, 7 }, + .{ 118, 6 }, + .{ 16, 7 }, + .{ 32, 7 }, + .{ 0, 6 }, + .{ 209, 12 }, + .{ 209, 12 }, + .{ 209, 12 }, + .{ 209, 12 }, + .{ 209, 12 }, + .{ 209, 12 }, + .{ 209, 12 }, + .{ 145, 3 }, + .{ 209, 12 }, + .{ 209, 12 }, + .{ 209, 12 }, + .{ 146, 4 }, + .{ 209, 12 }, + .{ 149, 4 }, + .{ 161, 4 }, + .{ 64, 4 }, + .{ 209, 12 }, + .{ 160, 9 }, + .{ 172, 9 }, + .{ 147, 5 }, + .{ 184, 9 }, + .{ 150, 5 }, + .{ 162, 5 }, + .{ 65, 5 }, + .{ 196, 9 }, + .{ 153, 5 }, + .{ 165, 5 }, + .{ 67, 5 }, + .{ 177, 5 }, + .{ 73, 5 }, + .{ 91, 5 }, + .{ 64, 4 }, + .{ 209, 12 }, + .{ 209, 12 }, + .{ 175, 9 }, + .{ 148, 6 }, + .{ 143, 11 }, + .{ 81, 9 }, + .{ 99, 9 }, + .{ 66, 6 }, + .{ 199, 9 }, + .{ 87, 9 }, + .{ 105, 9 }, + .{ 68, 6 }, + .{ 123, 9 }, + .{ 74, 6 }, + .{ 92, 6 }, + .{ 64, 4 }, + .{ 209, 12 }, + .{ 157, 6 }, + .{ 111, 9 }, + .{ 70, 6 }, + .{ 129, 9 }, + .{ 76, 6 }, + .{ 94, 6 }, + .{ 65, 5 }, + .{ 193, 6 }, + .{ 82, 6 }, + .{ 100, 6 }, + .{ 67, 5 }, + .{ 118, 6 }, + .{ 73, 5 }, + .{ 91, 5 }, + .{ 0, 6 }, + .{ 209, 12 }, + .{ 209, 12 }, + .{ 209, 12 }, + .{ 209, 12 }, + .{ 190, 9 }, + .{ 152, 7 }, + .{ 164, 7 }, + .{ 145, 3 }, + .{ 202, 9 }, + .{ 89, 9 }, + .{ 107, 9 }, + .{ 69, 7 }, + .{ 125, 9 }, + .{ 75, 7 }, + .{ 93, 7 }, + .{ 64, 4 }, + .{ 209, 12 }, + .{ 158, 7 }, + .{ 113, 9 }, + .{ 71, 7 }, + .{ 131, 9 }, + .{ 31, 11 }, + .{ 47, 11 }, + .{ 7, 9 }, + .{ 194, 7 }, + .{ 83, 7 }, + .{ 55, 11 }, + .{ 11, 9 }, + .{ 119, 7 }, + .{ 19, 9 }, + .{ 35, 9 }, + .{ 1, 7 }, + .{ 209, 12 }, + .{ 209, 12 }, + .{ 173, 7 }, + .{ 148, 6 }, + .{ 137, 9 }, + .{ 79, 7 }, + .{ 97, 7 }, + .{ 66, 6 }, + .{ 197, 7 }, + .{ 85, 7 }, + .{ 59, 11 }, + .{ 13, 9 }, + .{ 121, 7 }, + .{ 21, 9 }, + .{ 37, 9 }, + .{ 2, 7 }, + .{ 209, 12 }, + .{ 157, 6 }, + .{ 109, 7 }, + .{ 70, 6 }, + .{ 127, 7 }, + .{ 25, 9 }, + .{ 41, 9 }, + .{ 4, 7 }, + .{ 193, 6 }, + .{ 82, 6 }, + .{ 49, 9 }, + .{ 8, 7 }, + .{ 118, 6 }, + .{ 16, 7 }, + .{ 32, 7 }, + .{ 0, 6 }, + .{ 209, 12 }, + .{ 209, 12 }, + .{ 209, 12 }, + .{ 209, 12 }, + .{ 209, 12 }, + .{ 209, 12 }, + .{ 209, 12 }, + .{ 145, 3 }, + .{ 205, 9 }, + .{ 156, 8 }, + .{ 168, 8 }, + .{ 146, 4 }, + .{ 180, 8 }, + .{ 149, 4 }, + .{ 161, 4 }, + .{ 64, 4 }, + .{ 209, 12 }, + .{ 159, 8 }, + .{ 115, 9 }, + .{ 72, 8 }, + .{ 133, 9 }, + .{ 78, 8 }, + .{ 96, 8 }, + .{ 65, 5 }, + .{ 195, 8 }, + .{ 84, 8 }, + .{ 102, 8 }, + .{ 67, 5 }, + .{ 120, 8 }, + .{ 73, 5 }, + .{ 91, 5 }, + .{ 64, 4 }, + .{ 209, 12 }, + .{ 209, 12 }, + .{ 174, 8 }, + .{ 148, 6 }, + .{ 139, 9 }, + .{ 80, 8 }, + .{ 98, 8 }, + .{ 66, 6 }, + .{ 198, 8 }, + .{ 86, 8 }, + .{ 61, 11 }, + .{ 14, 9 }, + .{ 122, 8 }, + .{ 22, 9 }, + .{ 38, 9 }, + .{ 3, 8 }, + .{ 209, 12 }, + .{ 157, 6 }, + .{ 110, 8 }, + .{ 70, 6 }, + .{ 128, 8 }, + .{ 26, 9 }, + .{ 42, 9 }, + .{ 5, 8 }, + .{ 193, 6 }, + .{ 82, 6 }, + .{ 50, 9 }, + .{ 9, 8 }, + .{ 118, 6 }, + .{ 17, 8 }, + .{ 33, 8 }, + .{ 0, 6 }, + .{ 209, 12 }, + .{ 209, 12 }, + .{ 209, 12 }, + .{ 209, 12 }, + .{ 189, 8 }, + .{ 152, 7 }, + .{ 164, 7 }, + .{ 145, 3 }, + .{ 201, 8 }, + .{ 88, 8 }, + .{ 106, 8 }, + .{ 69, 7 }, + .{ 124, 8 }, + .{ 75, 7 }, + .{ 93, 7 }, + .{ 64, 4 }, + .{ 209, 12 }, + .{ 158, 7 }, + .{ 112, 8 }, + .{ 71, 7 }, + .{ 130, 8 }, + .{ 28, 9 }, + .{ 44, 9 }, + .{ 6, 8 }, + .{ 194, 7 }, + .{ 83, 7 }, + .{ 52, 9 }, + .{ 10, 8 }, + .{ 119, 7 }, + .{ 18, 8 }, + .{ 34, 8 }, + .{ 1, 7 }, + .{ 209, 12 }, + .{ 209, 12 }, + .{ 173, 7 }, + .{ 148, 6 }, + .{ 136, 8 }, + .{ 79, 7 }, + .{ 97, 7 }, + .{ 66, 6 }, + .{ 197, 7 }, + .{ 85, 7 }, + .{ 56, 9 }, + .{ 12, 8 }, + .{ 121, 7 }, + .{ 20, 8 }, + .{ 36, 8 }, + .{ 2, 7 }, + .{ 209, 12 }, + .{ 157, 6 }, + .{ 109, 7 }, + .{ 70, 6 }, + .{ 127, 7 }, + .{ 24, 8 }, + .{ 40, 8 }, + .{ 4, 7 }, + .{ 193, 6 }, + .{ 82, 6 }, + .{ 48, 8 }, + .{ 8, 7 }, + .{ 118, 6 }, + .{ 16, 7 }, + .{ 32, 7 }, + .{ 0, 6 }, + .{ 209, 12 }, + .{ 209, 12 }, + .{ 209, 12 }, + .{ 209, 12 }, + .{ 209, 12 }, + .{ 209, 12 }, + .{ 209, 12 }, + .{ 145, 3 }, + .{ 209, 12 }, + .{ 209, 12 }, + .{ 209, 12 }, + .{ 146, 4 }, + .{ 209, 12 }, + .{ 149, 4 }, + .{ 161, 4 }, + .{ 64, 4 }, + .{ 209, 12 }, + .{ 209, 12 }, + .{ 209, 12 }, + .{ 147, 5 }, + .{ 209, 12 }, + .{ 150, 5 }, + .{ 162, 5 }, + .{ 65, 5 }, + .{ 209, 12 }, + .{ 153, 5 }, + .{ 165, 5 }, + .{ 67, 5 }, + .{ 177, 5 }, + .{ 73, 5 }, + .{ 91, 5 }, + .{ 64, 4 }, + .{ 209, 12 }, + .{ 209, 12 }, + .{ 176, 10 }, + .{ 148, 6 }, + .{ 188, 10 }, + .{ 151, 6 }, + .{ 163, 6 }, + .{ 66, 6 }, + .{ 200, 10 }, + .{ 154, 6 }, + .{ 166, 6 }, + .{ 68, 6 }, + .{ 178, 6 }, + .{ 74, 6 }, + .{ 92, 6 }, + .{ 64, 4 }, + .{ 209, 12 }, + .{ 157, 6 }, + .{ 169, 6 }, + .{ 70, 6 }, + .{ 181, 6 }, + .{ 76, 6 }, + .{ 94, 6 }, + .{ 65, 5 }, + .{ 193, 6 }, + .{ 82, 6 }, + .{ 100, 6 }, + .{ 67, 5 }, + .{ 118, 6 }, + .{ 73, 5 }, + .{ 91, 5 }, + .{ 0, 6 }, + .{ 209, 12 }, + .{ 209, 12 }, + .{ 209, 12 }, + .{ 209, 12 }, + .{ 191, 10 }, + .{ 152, 7 }, + .{ 164, 7 }, + .{ 145, 3 }, + .{ 203, 10 }, + .{ 90, 10 }, + .{ 108, 10 }, + .{ 69, 7 }, + .{ 126, 10 }, + .{ 75, 7 }, + .{ 93, 7 }, + .{ 64, 4 }, + .{ 209, 12 }, + .{ 158, 7 }, + .{ 114, 10 }, + .{ 71, 7 }, + .{ 132, 10 }, + .{ 77, 7 }, + .{ 95, 7 }, + .{ 65, 5 }, + .{ 194, 7 }, + .{ 83, 7 }, + .{ 101, 7 }, + .{ 67, 5 }, + .{ 119, 7 }, + .{ 73, 5 }, + .{ 91, 5 }, + .{ 1, 7 }, + .{ 209, 12 }, + .{ 209, 12 }, + .{ 173, 7 }, + .{ 148, 6 }, + .{ 138, 10 }, + .{ 79, 7 }, + .{ 97, 7 }, + .{ 66, 6 }, + .{ 197, 7 }, + .{ 85, 7 }, + .{ 103, 7 }, + .{ 68, 6 }, + .{ 121, 7 }, + .{ 74, 6 }, + .{ 92, 6 }, + .{ 2, 7 }, + .{ 209, 12 }, + .{ 157, 6 }, + .{ 109, 7 }, + .{ 70, 6 }, + .{ 127, 7 }, + .{ 76, 6 }, + .{ 94, 6 }, + .{ 4, 7 }, + .{ 193, 6 }, + .{ 82, 6 }, + .{ 100, 6 }, + .{ 8, 7 }, + .{ 118, 6 }, + .{ 16, 7 }, + .{ 32, 7 }, + .{ 0, 6 }, + .{ 209, 12 }, + .{ 209, 12 }, + .{ 209, 12 }, + .{ 209, 12 }, + .{ 209, 12 }, + .{ 209, 12 }, + .{ 209, 12 }, + .{ 145, 3 }, + .{ 206, 10 }, + .{ 156, 8 }, + .{ 168, 8 }, + .{ 146, 4 }, + .{ 180, 8 }, + .{ 149, 4 }, + .{ 161, 4 }, + .{ 64, 4 }, + .{ 209, 12 }, + .{ 159, 8 }, + .{ 116, 10 }, + .{ 72, 8 }, + .{ 134, 10 }, + .{ 78, 8 }, + .{ 96, 8 }, + .{ 65, 5 }, + .{ 195, 8 }, + .{ 84, 8 }, + .{ 102, 8 }, + .{ 67, 5 }, + .{ 120, 8 }, + .{ 73, 5 }, + .{ 91, 5 }, + .{ 64, 4 }, + .{ 209, 12 }, + .{ 209, 12 }, + .{ 174, 8 }, + .{ 148, 6 }, + .{ 140, 10 }, + .{ 80, 8 }, + .{ 98, 8 }, + .{ 66, 6 }, + .{ 198, 8 }, + .{ 86, 8 }, + .{ 62, 11 }, + .{ 15, 10 }, + .{ 122, 8 }, + .{ 23, 10 }, + .{ 39, 10 }, + .{ 3, 8 }, + .{ 209, 12 }, + .{ 157, 6 }, + .{ 110, 8 }, + .{ 70, 6 }, + .{ 128, 8 }, + .{ 27, 10 }, + .{ 43, 10 }, + .{ 5, 8 }, + .{ 193, 6 }, + .{ 82, 6 }, + .{ 51, 10 }, + .{ 9, 8 }, + .{ 118, 6 }, + .{ 17, 8 }, + .{ 33, 8 }, + .{ 0, 6 }, + .{ 209, 12 }, + .{ 209, 12 }, + .{ 209, 12 }, + .{ 209, 12 }, + .{ 189, 8 }, + .{ 152, 7 }, + .{ 164, 7 }, + .{ 145, 3 }, + .{ 201, 8 }, + .{ 88, 8 }, + .{ 106, 8 }, + .{ 69, 7 }, + .{ 124, 8 }, + .{ 75, 7 }, + .{ 93, 7 }, + .{ 64, 4 }, + .{ 209, 12 }, + .{ 158, 7 }, + .{ 112, 8 }, + .{ 71, 7 }, + .{ 130, 8 }, + .{ 29, 10 }, + .{ 45, 10 }, + .{ 6, 8 }, + .{ 194, 7 }, + .{ 83, 7 }, + .{ 53, 10 }, + .{ 10, 8 }, + .{ 119, 7 }, + .{ 18, 8 }, + .{ 34, 8 }, + .{ 1, 7 }, + .{ 209, 12 }, + .{ 209, 12 }, + .{ 173, 7 }, + .{ 148, 6 }, + .{ 136, 8 }, + .{ 79, 7 }, + .{ 97, 7 }, + .{ 66, 6 }, + .{ 197, 7 }, + .{ 85, 7 }, + .{ 57, 10 }, + .{ 12, 8 }, + .{ 121, 7 }, + .{ 20, 8 }, + .{ 36, 8 }, + .{ 2, 7 }, + .{ 209, 12 }, + .{ 157, 6 }, + .{ 109, 7 }, + .{ 70, 6 }, + .{ 127, 7 }, + .{ 24, 8 }, + .{ 40, 8 }, + .{ 4, 7 }, + .{ 193, 6 }, + .{ 82, 6 }, + .{ 48, 8 }, + .{ 8, 7 }, + .{ 118, 6 }, + .{ 16, 7 }, + .{ 32, 7 }, + .{ 0, 6 }, + .{ 209, 12 }, + .{ 209, 12 }, + .{ 209, 12 }, + .{ 209, 12 }, + .{ 209, 12 }, + .{ 209, 12 }, + .{ 209, 12 }, + .{ 145, 3 }, + .{ 209, 12 }, + .{ 209, 12 }, + .{ 209, 12 }, + .{ 146, 4 }, + .{ 209, 12 }, + .{ 149, 4 }, + .{ 161, 4 }, + .{ 64, 4 }, + .{ 209, 12 }, + .{ 160, 9 }, + .{ 172, 9 }, + .{ 147, 5 }, + .{ 184, 9 }, + .{ 150, 5 }, + .{ 162, 5 }, + .{ 65, 5 }, + .{ 196, 9 }, + .{ 153, 5 }, + .{ 165, 5 }, + .{ 67, 5 }, + .{ 177, 5 }, + .{ 73, 5 }, + .{ 91, 5 }, + .{ 64, 4 }, + .{ 209, 12 }, + .{ 209, 12 }, + .{ 175, 9 }, + .{ 148, 6 }, + .{ 142, 10 }, + .{ 81, 9 }, + .{ 99, 9 }, + .{ 66, 6 }, + .{ 199, 9 }, + .{ 87, 9 }, + .{ 105, 9 }, + .{ 68, 6 }, + .{ 123, 9 }, + .{ 74, 6 }, + .{ 92, 6 }, + .{ 64, 4 }, + .{ 209, 12 }, + .{ 157, 6 }, + .{ 111, 9 }, + .{ 70, 6 }, + .{ 129, 9 }, + .{ 76, 6 }, + .{ 94, 6 }, + .{ 65, 5 }, + .{ 193, 6 }, + .{ 82, 6 }, + .{ 100, 6 }, + .{ 67, 5 }, + .{ 118, 6 }, + .{ 73, 5 }, + .{ 91, 5 }, + .{ 0, 6 }, + .{ 209, 12 }, + .{ 209, 12 }, + .{ 209, 12 }, + .{ 209, 12 }, + .{ 190, 9 }, + .{ 152, 7 }, + .{ 164, 7 }, + .{ 145, 3 }, + .{ 202, 9 }, + .{ 89, 9 }, + .{ 107, 9 }, + .{ 69, 7 }, + .{ 125, 9 }, + .{ 75, 7 }, + .{ 93, 7 }, + .{ 64, 4 }, + .{ 209, 12 }, + .{ 158, 7 }, + .{ 113, 9 }, + .{ 71, 7 }, + .{ 131, 9 }, + .{ 30, 10 }, + .{ 46, 10 }, + .{ 7, 9 }, + .{ 194, 7 }, + .{ 83, 7 }, + .{ 54, 10 }, + .{ 11, 9 }, + .{ 119, 7 }, + .{ 19, 9 }, + .{ 35, 9 }, + .{ 1, 7 }, + .{ 209, 12 }, + .{ 209, 12 }, + .{ 173, 7 }, + .{ 148, 6 }, + .{ 137, 9 }, + .{ 79, 7 }, + .{ 97, 7 }, + .{ 66, 6 }, + .{ 197, 7 }, + .{ 85, 7 }, + .{ 58, 10 }, + .{ 13, 9 }, + .{ 121, 7 }, + .{ 21, 9 }, + .{ 37, 9 }, + .{ 2, 7 }, + .{ 209, 12 }, + .{ 157, 6 }, + .{ 109, 7 }, + .{ 70, 6 }, + .{ 127, 7 }, + .{ 25, 9 }, + .{ 41, 9 }, + .{ 4, 7 }, + .{ 193, 6 }, + .{ 82, 6 }, + .{ 49, 9 }, + .{ 8, 7 }, + .{ 118, 6 }, + .{ 16, 7 }, + .{ 32, 7 }, + .{ 0, 6 }, + .{ 209, 12 }, + .{ 209, 12 }, + .{ 209, 12 }, + .{ 209, 12 }, + .{ 209, 12 }, + .{ 209, 12 }, + .{ 209, 12 }, + .{ 145, 3 }, + .{ 205, 9 }, + .{ 156, 8 }, + .{ 168, 8 }, + .{ 146, 4 }, + .{ 180, 8 }, + .{ 149, 4 }, + .{ 161, 4 }, + .{ 64, 4 }, + .{ 209, 12 }, + .{ 159, 8 }, + .{ 115, 9 }, + .{ 72, 8 }, + .{ 133, 9 }, + .{ 78, 8 }, + .{ 96, 8 }, + .{ 65, 5 }, + .{ 195, 8 }, + .{ 84, 8 }, + .{ 102, 8 }, + .{ 67, 5 }, + .{ 120, 8 }, + .{ 73, 5 }, + .{ 91, 5 }, + .{ 64, 4 }, + .{ 209, 12 }, + .{ 209, 12 }, + .{ 174, 8 }, + .{ 148, 6 }, + .{ 139, 9 }, + .{ 80, 8 }, + .{ 98, 8 }, + .{ 66, 6 }, + .{ 198, 8 }, + .{ 86, 8 }, + .{ 60, 10 }, + .{ 14, 9 }, + .{ 122, 8 }, + .{ 22, 9 }, + .{ 38, 9 }, + .{ 3, 8 }, + .{ 209, 12 }, + .{ 157, 6 }, + .{ 110, 8 }, + .{ 70, 6 }, + .{ 128, 8 }, + .{ 26, 9 }, + .{ 42, 9 }, + .{ 5, 8 }, + .{ 193, 6 }, + .{ 82, 6 }, + .{ 50, 9 }, + .{ 9, 8 }, + .{ 118, 6 }, + .{ 17, 8 }, + .{ 33, 8 }, + .{ 0, 6 }, + .{ 209, 12 }, + .{ 209, 12 }, + .{ 209, 12 }, + .{ 209, 12 }, + .{ 189, 8 }, + .{ 152, 7 }, + .{ 164, 7 }, + .{ 145, 3 }, + .{ 201, 8 }, + .{ 88, 8 }, + .{ 106, 8 }, + .{ 69, 7 }, + .{ 124, 8 }, + .{ 75, 7 }, + .{ 93, 7 }, + .{ 64, 4 }, + .{ 209, 12 }, + .{ 158, 7 }, + .{ 112, 8 }, + .{ 71, 7 }, + .{ 130, 8 }, + .{ 28, 9 }, + .{ 44, 9 }, + .{ 6, 8 }, + .{ 194, 7 }, + .{ 83, 7 }, + .{ 52, 9 }, + .{ 10, 8 }, + .{ 119, 7 }, + .{ 18, 8 }, + .{ 34, 8 }, + .{ 1, 7 }, + .{ 209, 12 }, + .{ 209, 12 }, + .{ 173, 7 }, + .{ 148, 6 }, + .{ 136, 8 }, + .{ 79, 7 }, + .{ 97, 7 }, + .{ 66, 6 }, + .{ 197, 7 }, + .{ 85, 7 }, + .{ 56, 9 }, + .{ 12, 8 }, + .{ 121, 7 }, + .{ 20, 8 }, + .{ 36, 8 }, + .{ 2, 7 }, + .{ 209, 12 }, + .{ 157, 6 }, + .{ 109, 7 }, + .{ 70, 6 }, + .{ 127, 7 }, + .{ 24, 8 }, + .{ 40, 8 }, + .{ 4, 7 }, + .{ 193, 6 }, + .{ 82, 6 }, + .{ 48, 8 }, + .{ 8, 7 }, + .{ 118, 6 }, + .{ 16, 7 }, + .{ 32, 7 }, + .{ 0, 6 }, +};